集成的本地和基于云的语音识别的制作方法

文档序号:7859442阅读:191来源:国知局
专利名称:集成的本地和基于云的语音识别的制作方法
技术领域
本发明涉及语音识别,尤其涉及本地和基于云的语音识别的集成。
背景技术
语音识别技术可用于将说出的单词或词组转换成文本。基于统计数据的语音识别技术通常利用声学建模和/或语言建模。声学模型可通过以下操作来创建取得各种语言音频记录(例如,各种单词或词组),将各种音频记录与文本转录相关联,然后创建构成各种单词或词组中的每一个的声音的统计表示。语言模型尝试捕捉特定语言的特性并预测语音序列中的下一个单词或词组。语音模型可包括特定语言中的单词频率和/或单词序列的概率
发明内容
描述了用于将本地语音识别与基于云的语音识别集成以提供高效的自然用户界面的技术。在一些实施例中,计算设备确定与环境中的特定人相关联的方向并生成与该方向相关联的音频记录,其中源自该方向的声音被放大,而源自其他方向的声音被抑制。该计算设备然后对该音频记录执行本地语音识别以检测该特定人说出的第一话语并检测该第一话语中的一个或多个关键字。该第一话语可通过对音频记录应用话音活动检测技术来检测。该第一话语以及一个或多个关键字随后被传送至服务器,该服务器可标识第一话语中与该一个或多个关键字相关联的语音,并基于所标识的语音来使一种或多种语音识别技术进行适应。一个实施例包括从与第一环境相关联的多个话筒获取一个或多个声音,确定该第一环境中与一个或多个人相关联的一个或多个方向,以及基于该一个或多个声音来生成一个或多个音频记录,其中该一个或多个音频记录中的每一个都与该一个或多个方向中的不同方向相关联。该方法还包括对该一个或多个音频记录中的每一个执行本地语音识别,包括检测第一话语和检测该第一话语中的一个或多个关键字。该方法还包括将该第一话语以及该一个或多个关键字传送到第二计算设备以及从该第二计算设备接收基于该第一话语的第一响应。一个实施例包括捕捉设备以及一个或多个处理器。该捕捉设备包括多个话筒。该捕捉设备从与第一环境相关联的多个话筒获取一个或多个声音。该一个或多个处理器确定该第一环境中与一个或多个人相关联的一个或多个方向。该一个或多个处理器基于该一个或多个声音来生成一个或多个音频记录,其中该一个或多个音频记录中的每一个都与该一个或多个方向中的不同方向相关联。该一个或多个处理器检测该一个或多个音频记录中的第一音频记录中的第一话语,并检测该第一话语中的一个或多个关键字。该一个或多个处理器将该第一话语以及该一个或多个关键字传送到第二计算设备,该第二计算设备基于该一个或多个关键字来检测该第一话语中的一个或多个单词。该一个或多个处理器从该第二计算设备接收基于该第一话语的第一响应。
提供本发明内容以便以简化形式介绍将在以下具体实施例中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。附图
简述图I是可在其中实现所公开的技术的联网计算环境的一个实施例的框图。图2描绘了目标检测和跟踪系统的一个实施例,用户正在玩拳击游戏。图3描绘了目标检测和跟踪系统以及与该目标检测和跟踪系统相关联的捕捉设备的视野内的环境的一个实施例。 图4示出了包括捕捉设备和计算环境的计算系统的一个实施例。图5A是描述集成本地和基于云的语音识别的过程的一个实施例的流程图。图5B是描述获取一个或多个音频记录的过程的一个实施例的流程图。图5C是描述获取一个或多个音频记录的过程的一个实施例的流程图。图是描述获取一个或多个音频记录的过程的一个实施例的流程图。图5E是描述生成一个或多个音频记录的过程的一个实施例的流程图。图6是描述执行基于云的语音识别的过程的一个实施例的流程图。图7是描述执行本地语音识别的过程的一个实施例的流程图。图8是游戏和媒体系统的实施例的框图。图9是计算系统环境的实施例的框图。
具体实施例描述了用于将本地语音识别与基于云的语音识别集成以提供高效的自然用户界面的技术。在一些实施例中,计算设备确定与环境中的特定人相关联的方向并生成与该方向相关联的音频记录,其中源自该方向的声音被放大,而源自其他方向的声音被抑制。该计算设备然后对该音频记录执行本地语音识别以检测该特定人说出的第一话语并检测该第一话语中的一个或多个关键字。该第一话语可通过对音频记录应用语音活动检测技术来检测。该第一话语以及一个或多个关键字随后被传送至服务器,该服务器可标识第一话语中与该一个或多个关键字相关联的语音,并基于所标识的语音来使一种或多种语音识别技术进行适应。将本地语音识别与基于云的语音识别集成有若干好处。一个好处是利用云计算的更强大的处理能力和存储容量。例如,与通常受限于能力和/或形状因子约束的本地语音识别相比,基于云的语音识别可利用大规模机器学习和更大的声学模型。在基于云的语音识别之前执行本地语音识别还节省网络带宽,因为本地语音识别器可过滤发送到云以供处理的不必要或非预期请求。例如,本地语音识别器可以只在检测到包括在本地关键字文件(即,预先确定的词典)中的一个或多个关键字时才启动基于云的语音识别器。基于云的语音识别的另一个好处是能够利用具有最新语法(例如,与特定电视节目的最新一集相关联的已更新的关键字)的大型动态目录。图I是可在其中实现所公开的技术的联网计算环境100的一个实施例的框图。联网计算环境100包括多个计算设备,所述计算设备通过一个或多个网络180互连。所述一个或多个网络180允许特定计算设备连接到另一计算设备以及与其通信。所描绘的计算设备包括计算环境12、移动设备11、计算机13和应用服务器150。在一些实施例中,所述多个计算设备可以包括未示出的其他计算设备。在一些实施例中,所述多个计算设备可以包括比图I所示计算设备的数目更多或更少的计算设备。所述一个或多个网络180可以包括诸如企业专用网络之类的安全网络、诸如无线开放式网络之类的不安全网络、局域网(LAN)、广域网(WAN)、以及因特网。所述一个或多个网络180中的每个网络都可以包括集线器、网桥、路由器、交换机、以及有线传输介质,比如有线网络或直接有线连接。诸如应用服务器150之类的服务器可以允许客户机从该服务器下载信息(例如,文本、音频、图像和视频文件)或者执行与存储在该服务器上的特定信息相关的搜索查询。一般而言,“服务器”可以包括在客户机-服务器关系中充当主机的硬件设备、或者与一个或多个客户机共享资源或为所述客户机执行工作的软件进程。客户机-服务器关系下的计算设备之间的通信可以由客户机通过向服务器发送要求访问特定资源或执行特定工作的请求来发起。服务器随后可以执行所请求的动作并且将响应发送回客户机。计算环境12的一个实施例包括网络接口 145、处理器146、以及存储器147,所有这些都彼此通信。网络接口 145允许计算环境12连接到一个或多个网络180。网络接口 145可以包括无线网络接口、调制解调器、和/或有线网络接口。处理器146允许计算环境12执行存储在存储器147中的计算机可读指令以执行在此讨论的过程。在一个示例中,计算环境12可包括游戏控制台。联网计算环境100可以为一个或多个计算设备提供云计算环境。云计算是指基于因特网的计算,其中共享的资源、软件和/或信息通过因特网(或其他全局网络)被按需提供给一个或多个计算设备。基于在计算机网络图中使用云图来将因特网描绘成对其所表示的底层基础设施的抽象,术语“云”被用作对因特网的比喻。在一个实施例中,应用服务器150可以从计算环境12接收音频文件以及一个或多个关键字。应用服务器150可标识音频文件中与该一个或多个关键字相关联的一个或多个语音。随后,应用服务器150可基于该一个或多个语音来使基于云的语音识别技术进行适应,对音频文件执行基于云的语音识别技术,并将音频文件中所标识的一个或多个关键字传送到计算环境12。图2描绘了包括计算环境12和捕捉设备20的目标检测和跟踪系统10的一个实施例。目标检测和跟踪系统10可用于检测、识别、分析、和/或跟踪人类目标(诸如用户18)和/或非人类目标(诸如用户18拿着的道具(未示出))。目标检测和跟踪系统10可包括用于生成用户18存在于其中的位置空间环境的深度图的深度检测系统。如图所示,目标检测和跟踪系统10可包括计算环境12。计算环境12可包括计算机、游戏系统或控制台等等。在一个实施例中,计算环境12可包括硬件组件和/或软件组件,使得计算环境12可用于执行操作系统和诸如游戏应用、非游戏应用等的应用。在一个实施例中,计算环境12可包括诸如标准化处理器、专用处理器、微处理器之类的处理器,该处理器可执行存储在处理器可读的存储设备上的用于执行此处所描述的过程的指令。目标检测和跟踪系统10还可包括捕捉设备20。捕捉设备20可包括用于捕捉或记录声音的一个或多个话筒以及用于捕捉或记录图像的一个或多个相机。在一个实施例中,捕捉设备20可包括可用于在视觉上监视包括诸如用户18等一个或多个用户的一个或多个目标。由一个或多个用户执行的姿势(包括姿态)可被捕捉、分析、和跟踪,以便执行对操作系统或应用的用户界面的一个或多个控制或动作。在一些实施例中,捕捉设备20可包括深度传感相机。用户可通过移动他或她的身体来创建姿势。姿势可 包括用户的运动或姿态,其可被捕捉为图像数据并解析其意义。姿势可以是动态的,包括运动,如模仿投球。姿势可以是静态姿势,诸如保持其前臂交叉。姿势也可结合道具,如挥动仿制的剑。捕捉设备20可捕捉与一个或多个用户和/或物体相关的图像和音频数据。例如,捕捉设备20可用于捕捉与一个或多个用户的部分或全部身体移动、姿势和语音相关的信息。由捕捉设备20捕捉的信息可通过计算环境12和/或捕捉设备20内的处理元件来接收,并用于对游戏或其他应用的各方面进行呈现、交互和控制。在一个示例中,捕捉设备20捕捉与特定用户有关的图像和音频数据,并且计算环境12处理所捕捉的信息以便通过执行面部和语音识别软件来标识该特定用户。在一些实施例中,目标检测和跟踪系统10可生成并利用深度图来检测和/或跟踪环境中的物体。深度图可包括环境中的包括与该环境相关联的深度信息的图像或帧。在一个示例中,深度图像可包括多个观测到的像素,其中每一观测到的像素具有相关联的深度值。例如,每一个像素都可包括深度值,诸如从捕捉设备的观点到环境中的物体的长度或距离。目标检测和跟踪系统10可被连接到向诸如用户18等用户提供游戏或应用视觉和/或音频的视听设备16,如电视机、监视器、高清电视机(HDTV)。例如,计算环境12可包括诸如图形卡等视频适配器和/或诸如声卡等音频适配器,这些适配器可提供与游戏应用、非游戏应用等相关联的视听信号。视听设备16可从计算环境12接收视听信号,然后可向用户18输出与视听信号相关联的游戏或应用视觉和/或音频。视听设备16可经由例如,S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆等连接到计算环境12。如图2所示,在计算环境12上执行的应用可以是用户18可能正在玩的拳击游戏。计算环境12可使用视听设备16来向用户18提供拳击对手22的视觉表示。计算环境12还可使用视听设备16来提供用户18可通过他的或她的移动来控制的玩家化身24的视觉表示。例如,用户18可在物理空间中挥拳猛击,这使得玩家化身24在游戏空间中挥拳猛击。在一个实施例中,目标检测和跟踪系统10的计算机环境12和捕捉设备20可用于识别和分析用户18在物理空间中的重拳,从而使得该重拳可被解释为对游戏空间中的玩家化身24的游戏控制。在一个实施例中,用户移动可被解释为可对应于除控制玩家化身24之外的动作的控制。例如,用户18可以使用特定移动来结束游戏、暂停游戏、保存游戏、选择级别、查看高分、或与朋友交流。在另一实施例中,目标检测和跟踪系统10将目标的移动解释为游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用程序的任何可控方面都可由诸如用户18等目标的移动来控制。在另一实施例中,用户18可使用移动来从主用户界面选择游戏或其他应用。由此,用户18的全范围运动可以用任何合适的方式来获得、使用并分析以与应用或操作系统进行交互。目标检测和跟踪系统10及其组件的合适的示例在以下共同待审的专利申请中找至|J,所有这些专利申请的全部内容都通过引用结合于此于2009年5月29日提交的名称为“Environment And/Or Target Segmentation (环境和/或目标分割)”的美国专利申请序列号 No. 12/475,094 ;于 2009 年 7 月 29 日提交的名称为 “Auto Generating a VisualRepresentation(自动生成视觉表示)”的美国专利申请序列号No. 12/511, 850 ;于2009年5月29日提交的名称为“Gesture Tool(姿势工具)”的美国专利申请序列号No. 12/474, 655 ;于2009年10月21日提交的名称为“Pose Tracking Pipeline (姿态跟踪流水线)”的美国专利申请序列号No. 12/603, 437 ;于2009年5月29日提交的名称为“Device forIdentifying and Tracking Multiple Humans Over Time (用于随时间标识和跟踪多个人类的设备)”的美国专利申请序列号No. 12/475,308 ;于2009年10月7日提交的名称为“Human Tracking System(人类跟踪系统)”的美国专利申请序列号No. 12/575, 388 ;于2009年4月13日提交的名称为“Gesture Recognizer System Architecture(姿势识别器系统架构)”的美国专利申请序列号No. 12/422,661 ;于2009年2月23日提交的名称为“StandardGestures (标准姿势)”的美国专利申请序列号No. 12/391,150 ;以及于2009年5月29日提交的名称为“Gesture Tool (姿势工具)”的美国专利申请序列号No. 12/474,655。图3描绘了目标检测和跟踪系统10和捕捉设备20的视野内的环境300的一个实施例。环境300包括人28和29以及非人类物体(椅子16)。如图所示,人28比人29更靠 近捕捉设备20。从捕捉设备20的观点来看,人28还与不同于人29的方向(或角度)相关联。在一些实施例中,目标检测和跟踪系统10确定环境300中与人28相关联的第一方向(例如,经由声源定位)以及环境300中与人29相关联的第二方向。第一方向和第二方向各自可由相对于同捕捉设备20相关联的基准坐标的特定方向(或角度)来标识。特定方向还可由与环境300中的特定方向相关联的一组坐标来标识。—旦第一方向和第二方向被确定,目标检测和跟踪系统10就可生成与第一方向相关联的第一音频记录以及与第二方向相关联的第二音频记录。第一音频记录和第二音频记录各自可使用波束形成(beamforming)技术来生成。波束形成技术可应用于同多个话筒相关联的声音,以使得该多个话筒充当单个高度方向性话筒(即,源自特定方向范围内的声音被放大,而源自特定方向范围外的声音被削弱)。这些技术允许聚焦于源自人28的声音,同时抑制源自人29的声音。波束形成技术可以用硬件或软件来实现,并且可以并行执行(即,可执行对第一音频记录和第二音频记录两者的并行处理)。一旦生成特定音频记录(例如,第一音频记录),目标检测和跟踪系统10就可对特定音频记录执行本地语音识别。本地语音识别可包括检测特定人(例如,人28)说出的第一话语以及检测该第一话语中的一个或多个关键字。该第一话语可包括与特定人相关联的完整语音单元。例如,第一话语可包括说出的句子。在一个实施例中,第一话语的开始可通过检测人28说出的一个或多个关键字来标识。在标识出第一话语以及一个或多个关键字后,目标检测和跟踪系统10可经由因特网或其他全球网络将第一话语以及该一个或多个关键字传送到一个或多个服务器以便进行语音识别处理。第一话语可作为音频文件来传送。该一个或多个服务器可以用人28作出的第一话语中检测到的一个或多个单词来响应。在一个实施例中,该一个或多个服务器可返回与该一个或多个单词相关联的文本。在另一实施例中,该一个或多个服务器可基于该一个或多个单词来执行因特网搜索并返回结果。在一些实施例中,基于云的语音识别引擎可基于同如在第一话语中发音的一个或多个关键字相关联的语音来适应该基于云的语音识别引擎执行的语音识别技术。
图4示出了包括捕捉设备20和计算环境12的目标检测和跟踪系统10的一个实施例。在一些实施例中,捕捉设备20和计算环境12可以集成在单个计算设备中。该单个计算设备可以是移动设备,诸如图I中的移动设备U。在一个实施例中,捕捉设备20可以包括用于捕捉图像和视频的一个或多个图像传感器。图像传感器可以包括C⑶传感器或CMOS传感器。在一些实施例中,捕捉设备20可包括IR CMOS图像传感器。捕捉设备20还可以包括深度相机(或深度感测相机),该相机被配置为经由包括例如飞行时间、结构化光、立体图像等在内的任何合适的技术来捕捉包括深度图像的带有深度信息的视频,该深度图像可包括深度值。捕捉设备20可包括图像相机组件32。在一个实施例中,图像相机组件32可以包括可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可以表示深度值,比如所捕捉的场景中的物体与图像相机组件32相距的例如以厘米、毫米等为单位的距离。·
图像相机组件32可包括可用来捕捉捕捉区域的深度图像的IR光组件34、三维(3-D)相机36、以及RGB相机38。例如,在飞行时间分析中,捕捉设备20的IR光组件34可以将红外光发射到捕捉区域上,然后可以使用传感器,用例如3-D相机36和/或RGB相机38来检测从捕捉区域中的一个或多个物体的表面反向散射的光。在某些实施例中,可以使用脉冲式红外光从而可以测量出射光脉冲和相应的入射光脉冲之间的时间差并将其用于确定从捕捉设备20到捕捉区域中的一个或多个物体上的特定位置的物理距离。此外,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到与一个或多个物体相关联的特定位置的物理距离。在另一示例中,捕捉设备20可使用结构化光来捕捉深度信息。在该分析中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如IR光组件34被投影到捕捉区域上。在撞击到捕捉区域中的一个或多个物体(或目标)的表面时,作为响应,图案可变形。图案的这种变形可由例如3-D相机36和/或RGB相机38来捕捉并被分析以确定从捕捉设备到一个或多个物体上的特定位置的物理距离。捕捉设备20可包括用于产生准直光的光学器件。在一些实施例中,可使用激光投影仪来创建结构化光图案。光投影仪可包括激光器、激光二极管和/或LED。在某些实施例中,可将两个或更多个相机整合到一个集成捕捉设备中。例如,深度相机和视频相机(例如RGB视频相机)可以被合并到共同的捕捉设备中。在一些实施例中,可协同使用相同或不同类型的两个或更多分开的捕捉设备。例如,可以使用深度相机和分开的视频相机,可以使用两个视频相机,可以使用两个深度相机,可以使用两个RGB相机,或者可以使用任何组合和数目的相机。在一个实施例中,捕捉设备20可包括可以从不同的角度观察捕捉区域的两个或更多个在物理上分离的相机,以获取可以被解析以生成深度信息的视觉立体数据。还可通过使用多个检测器(可以是单色、红外、RGB)或任意其它类型的检测器捕捉图像、以及执行视差计算,来确定深度。也可使用其他类型的深度图像传感器来创建深度图像。如图4所示,捕捉设备20可以包括一个或多个话筒40。该一个或多个话筒40中的每一个都可以包括可以接收声音并将其转换成电信号的换能器或传感器。该一个或多个话筒可包括话筒阵列,其中该一个或多个话筒可以按预定布局排列。
捕捉设备20可以包括可以与图像相机组件32可操作地通信的处理器42。处理器42可包括标准处理器,专用处理器、微处理器等。处理器42可以执行指令,所述指令可以包括用于存储过滤器或简档、接收和分析图像、确定是否已经发生特定情况的指令或任何其他合适的指令。应当理解,至少一些图像分析和/或目标分析和跟踪操作可以由诸如捕捉设备20之类的一个或多个捕捉设备内所包含的处理器来执行。捕捉设备20可包括存储器44,该存储器可存储可由处理器42执行的指令、由3_D相机或RGB相机捕捉的图像或图像帧、过滤器或简档、或任何其他合适的信息、图像等等。在一个示例中,存储器44可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘或任何其他合适的存储组件。如图所示,存储器44可以是与图像捕捉组件32和处理器42进行通信的单独的组件。在另一实施例中,存储器44可被集成到处理器42和/或图像捕捉组件32中。在其他实施例中,图4所示的捕捉设备20的组件32、34、36、38、40、42和44中的部分或全部被容纳在单个外壳中。捕捉设备20可以经由通信链路46与计算环境12进行通信。通信链路46可以是包 括例如USB连接、火线连接、以太网电缆连接等有线连接和/或诸如无线802. Ilb,802. llg、802. Ila或802. Iln连接等无线连接。计算环境12可以向捕捉设备20提供时钟,可以使用该时钟来通过通信链路46确定何时捕捉例如场景。在一个实施例中,捕捉设备20可将由例如3D相机36和/或RGB相机38捕捉的图像经由通信链路46提供给计算环境12。如图4中所示,计算环境12包括与操作系统196通信的图像和音频处理引擎194。图像和音频处理引擎194包括专用音频处理单元197、物体和姿势识别引擎190、结构数据198、处理单元191和存储器单元192,所有这些都彼此通信。图像和音频处理引擎194处理从捕捉设备20接收的视频、图像和音频数据。为了辅助物体的检测和/或跟踪,图像和音频处理引擎194可以利用结构数据198以及物体和姿势识别引擎190。专用音频处理单元197处理捕捉设备20获取的音频信号。音频信号处理技术可包括声学回声抵消、音源定位和波束形成技术。处理单元191可以包括用于执行物体、面部和语音识别算法的一个或多个处理器。在一个实施例中,图像和音频处理引擎194可以将物体识别和面部识别技术应用于图像或视频数据。例如,物体识别可以用于检测特定物体(例如足球、汽车或陆标),并且面部识别可以用于检测特定人的面部。图像和音频处理引擎194可以将音频和语音识别技术应用于音频数据。例如,音频识别可以用于检测特定声音。要检测的特定面部、语音、声音和物体可以存储在存储器单元192中所包含的一个或多个存储器中。处理单元191可执行存储在存储器单元192中的计算机可读指令以执行此处讨论的过程。在一些实施例中,可以用诸如IR回射标记之类的一个或多个标记来扩充所跟踪的一个或多个物体,以便改进物体检测和/或跟踪。也可以使用平面基准图像、已编码AR标记、QR码和/或条形码来改进物体检测和/或跟踪。在检测到一个或多个物体以后,图像和音频处理引擎194可以向操作系统196报告所检测的每个物体的标识以及相应的位置和/或定向。图像和音频处理引擎194可以在执行物体识别时利用结构数据198。结构数据198可以包括关于要跟踪的目标和/或物体的结构信息。例如,可以存储人类的骨架模型以帮助识别身体部位。在另一示例中,结构数据198可以包括关于一个或多个无生命物体的结构信息以便帮助识别所述一个或多个无生命物体。图像和音频处理引擎194还可以在执行物体识别时利用物体和姿势识别引擎190。在一个示例中,物体和姿势识别引擎190可以包括姿势过滤器的集合,每个姿势过滤器都包括关于骨架模型可执行的姿势的信息。物体和姿势识别引擎190可将由捕捉设备20所捕捉的数据(其形式为骨架模型以及与其相关联的移动)与姿势库中的姿势过滤器进行比较来标识用户(其由骨架模型来表示)何时执行了一个或多个姿势。在一个示例中,图像和音频处理引擎194可以使用物体和姿势识别引擎190来帮助解释骨架模型的移动以及检测特定姿势的执行。关于物体检测和跟踪的更多信息可在2009年12月18日提交的美国专利申请12/641,788 “Motion Detection Using Depth Images (使用深度图像的运动检测)”,以及美国专利申请 12/475,308 “Device for Identifying and Tracking Multiple Humansover Time (用于随时间标识和跟踪多个人类的设备)”中找到,这两个申请的全部内容通过引用并入本申请。关于物体和姿势识别引擎190的更多信息参见2009年4月13日提交的 美国专利申请 12/422,661 “Gesture Recognition System Architecture (姿势识别系统架构)”,该申请通过整体引用合并于此。关于识别姿势的更多信息可在2009年2月23日提交的美国专利申请12/391,150 “Standard Gestures (标准姿势)”;以及2009年5月29日提交的美国专利申请12/474,655 “Gesture Tool (姿势工具)”中找到,这两个申请的全部内容通过引用并入本申请。图5A是描述集成本地和基于云的语音识别的过程的一个实施例的流程图。图5A的过程可由一个或多个计算设备来连续执行。图5A的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图5A的过程可由诸如图2 3中的目标检测和跟踪系统10之类的目标检测和跟踪系统来执行。在步骤510,获取一个或多个音频记录。该一个或多个音频记录中的每一个都可与游戏空间或其他环境中的不同收听方向相关联。在一个实施例中,一个或多个音频记录中的特定音频记录只包括源自特定方向的声音。在步骤512,对一个或多个音频记录中的每一个执行本地语音识别。本地语音识别可包括检测第一话语以及检测该第一话语中的一个或多个关键字。话语可包括与特定人相关联的完整语音单元,并且通常但并非始终可以通过持续预定时长的静音来划界。例如,话语可包括说出的词组,其中该说出的词组之前和之后存在一秒钟的静音。在一个实施例中,本地语音识别可由移动设备来执行,并且可检测与特定人的语音相关联的第一话语。本地语音识别还可包括确定标识第一话语中的一个或多个关键字的位置的一个或多个位置指针。在一些实施例中,步骤512中检测到的一个或多个关键字可用于发起计算设备上的本地动作。例如,如果电影应用正在特定计算设备上运行并且检测到关键字“pause (暂停)”,则该电影应用可以在该特定计算设备上暂停。在另一实施例中,步骤512中检测到的一个或多个关键字可用于基于该一个或多个关键字来发起非本地动作,诸如基于云的语音识别。在步骤513,确定是否已经在步骤512中的第一话语中检测到一个或多个关键字。如果尚未检测到一个或多个关键字,则执行步骤510。在这种情况下,如果没有在话语中检测到关键字,则不执行后续基于云的语音处理。否则,如果检测到一个或多个关键字,则执行步骤514。在步骤514,确定上下文信息。在一个实施例中,上下文信息可以与特定计算设备相关联。例如,特定计算设备可包括执行本地语音识别的移动或非移动计算设备。与特定计算设备相关联的上下文信息可包括在特定计算设备上运行的特定应用的标识。在一个示例中,特定应用可包括游戏应用或在线市场应用。与特定计算设备相关联的上下文信息还可包括与特定计算设备相关联的地理位置信息(例如,GPS坐标)。在另一实施例中,上下文信息可以与第一环境中的特定人相关联。例如,上下文信息可包括与特定人相关联的简档信息。简档信息可包括特定人的兴趣、特定人的朋友或联系人以及其他个人信息。上下文信息还可包括与特定人相关联的日历信息。在步骤516,将第一话语以及一个或多个关键字传送到第二计算设备。图5A的步骤514中确定的上下文信息以及图5A的步骤512中确定的一个或多个位置指针也可被传送到第二计算设备。在一个实施例中,第二计算设备可包括基于云的语音识别引擎或应用 服务器,诸如图I中的应用服务器150。第一话语可经由与该第一话语相关联的音频文件(例如,WAV文件或MP3文件)来传送。音频文件可使用音频编解码器来创建,音频编解码器将接收到的模拟音频信号转换成压缩或不压缩的数字表示。一个或多个关键字可经由文本消息来传送。在步骤518,接收基于第一话语的第一响应。在一个示例中,第一响应可包括与第一话语中由第二计算设备检测到的一个或多个单词相关联的文本消息。在另一示例中,第一响应可包括基于第一话语的因特网搜索结果。第一响应还可取决于传送到第二计算设备的上下文信息。图5B是描述获取一个或多个音频记录的过程的一个实施例的流程图。图5B中描述的过程是用于实现图5A中的步骤510的过程的一个示例。图5B的过程可由一个或多个计算设备来连续执行。图5B的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图5B的过程可由诸如图2 3中的目标检测和跟踪系统10之类的目标检测和跟踪系统来执行。在步骤502,获取来自第一环境的一个或多个声音。该一个或多个声音可使用一个或多个话筒或话筒阵列来获取。一个或多个话筒可以按预定布局来排列,并且用于捕捉来自各个方向和/或源自环境中的不同点的声音(例如,与房间中的活动说话者相关联的语音)。一个或多个声音可作为模拟信号来捕捉并且通过使用模数转换器来数字化。在步骤504,获取第一环境中的一个或多个图像。该一个或多个图像可包括一个或多个深度图像。在步骤506,可执行对该一个或多个声音的回声抵消。在一个实施例中,声学回声抵消用于移除源自一个或多个音频说话者的声音。回声抵消可用于抑制源自第一环境之外的、通过一个或多个音频说话者投影到第一环境中的语音和/或其他声音。噪声抑制技术还可应用于一个或多个声音以移除背景噪声。在一个不例中,可以对一个或多个声音应用带通滤波器以移除背景噪声。在步骤507,确定一个或多个方向。该一个或多个方向中的每一个都与特定声源相关联。在一个实施例中,该一个或多个方向中的每一个都与第一环境中的一个或多个人中的不同人相关联。该一个或多个方向中的每一个可由特定方向(或角度)和关于特定声源的置信度来标识。在一个实施例中,该一个或多个方向可使用声源定位来确定。声源定位技术可用于通过检测不同声音的到达时间的时差(因为多个话筒捕捉到的声音的速度)来定位声音的方向。声源定位技术还可包括对多个话筒中的每一个接收到的每一个音频信号执行模式匹配。一个或多个方向可由以下各项来表示一维定位(例如,表示特定声源位于其中的平面的角度)、二维定位(例如,表示角度和仰角的向量)、或三维定位(例如,在三维空间中定位与特定声源相关联的点)。在一些实施例中,通过利用步骤504中获取的一个或多个图像来执行骨架跟踪,可确定一个或多个方向。例如,骨架跟踪可用于检测第一环境中的一个或多个活动骨架。该一个或多个方向中的每一个都可与一个或多个活动骨架中的不同骨架相关联。该一个或多个方向还可通过对一个或多个声音应用话音识别技术以标识特定人的话音来确定。在一个实施例中,与特定人相关联的方向可通过应用骨架跟踪和话音识别两者来实时跟踪。关 于骨架跟踪的更多信息可以在美国专利申请12/475,308, “Device for Identifying andTracking Multiple Humans over Time (用于随时间标识和跟踪多个人的设备)”中找到,该申请通过引用整体结合于此。在步骤508,生成基于一个或多个声音的一个或多个音频记录。该一个或多个音频记录中的每一个都可与一个或多个方向中的不同方向相关联。在一个实施例中,该一个或多个音频记录中的每一个都包括与第一环境中的不同人相关联的音频信息。在一些实施例中,可执行波束形成技术以放大源自特定方向(或位置)的声音和抑制源自其他方向的声音。波束形成允许多个话筒(例如,包括话筒阵列)用作可操纵的方向性话筒。在某些情况下,波束形成技术可包括对与多个话筒相关联的音频信号进行时移和组合(例如,延迟和求和波束形成)。时移度可基于同特定声源相关联的特定方向(或位置)。当不止一个人在环境中同时说话时,声音聚焦技术是特别有用的。在一个实施例中,音频记录将仅在特定人被确定为在特定方向说话(例如,朝着捕捉设备说话)的情况下生成。特定人的头部的方向可经由对在步骤504中获取的一个或多个图像进行图像处理来检测。在步骤509,输出步骤508中生成的一个或多个音频记录。在一个实施例中,该一个或多个音频记录被输出到本地语音识别引擎以便进行语音到文本处理。图5C是描述获取一个或多个音频记录的过程的一个实施例的流程图。图5C中描述的过程是用于实现图5A中的步骤510的过程的另一个示例。图5C的过程可由一个或多个计算设备来连续执行。图5C的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图5C的过程可由诸如图2 3中的目标检测和跟踪系统10之类的目标检测和跟足示系统来执打。在步骤540,获取来自第一环境的一个或多个声音。该一个或多个声音可使用一个或多个话筒或话筒阵列来获取。在步骤542,获取第一环境中的一个或多个图像。该一个或多个图像可以从诸如图2 3中的捕捉设备20之类的捕捉设备获取。该一个或多个图像可包括一个或多个彩色和/或深度图像。
在步骤550,检测第一环境中的特定人。该特定人可通过对步骤542中获取的一个或多个图像应用物体识别技术来检测。在一些实施例中,特定人可通过对步骤542中获取的一个或多个图像应用面部识别技术并且对步骤540中获取的一个或多个声音应用话音识别技术来检测(或标识)。在步骤552,确定第一环境中与特定人相关联的位置。该位置可由特定人存在于第一环境中的空间中的单个点来表示。在一个实施例中,可使用来自与特定人相关联的一个或多个图像的各部分的深度信息来确定与特定人相关联的位置。
在步骤554,确定特定人是否面向特定方向。特定人的面部或身体的方向可经由对在步骤542中获取的一个或多个图像进行图像处理来检测。在一个示例中,步骤550中检测到的特定人面向捕捉设备,诸如图2 3中的捕捉设备20。如果特定人未面向特定方向,则执行步骤540并且不生成音频记录。否则,如果特定人面向特定方向,则执行步骤556。在步骤556,生成包括源自步骤552中确定的位置的声音的音频记录。该音频记录可包括步骤540中获取的一个或多个声音的子集。在一个实施例中,使用波束形成技术来生成聚焦于源自特定人所存在的特定方向的声音的音频记录。音频记录还可使用参考图5B的步骤508描述的过程来生成。在步骤558,输出步骤556中生成的音频记录。在一个实施例中,音频记录被输出到本地语音识别引擎,以便在被传送到基于云的语音识别引擎之前进行语音到文本预处理。图是描述获取一个或多个音频记录的过程的一个实施例的流程图。图5C中描述的过程是用于实现图5A中的步骤510的过程的另一个示例。图的过程可由一个或多个计算设备来连续执行。图的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图的过程可由诸如图2 3中的目标检测和跟踪系统10之类的目标检测和跟足示系统来执打。在步骤572,获取来自第一环境的一个或多个声音。该一个或多个声音可使用一个或多个话筒或话筒阵列来获取。一个或多个话筒可以按预定布局来排列,并且用于捕捉来自各个方向和/或源自环境中的不同点的声音(例如,与房间中的活动说话者相关联的语音)。一个或多个声音可作为模拟信号来捕捉并且通过使用模数转换器来数字化。在步骤576,过滤一个或多个声音。在一个实施例中,声学回声抵消用于移除源自一个或多个音频说话者的声音。回声抵消可用于抑制源自第一环境之外的、通过一个或多个音频说话者投影到第一环境中的语音和/或其他声音。噪声抑制技术还可被应用于一个或多个声音以移除背景噪声。在一个示例中,可以对一个或多个声音应用带通滤波器以移除背景噪声。在步骤577,确定一个或多个方向。该一个或多个方向中的每一个都与特定声源相关联。在一个实施例中,该一个或多个方向中的每一个都与第一环境中的一个或多个人中的不同人相关联。该一个或多个方向中的每一个可由特定方向(或角度)和关于特定声源的置信度来标识。在一个实施例中,该一个或多个方向可使用声源定位来确定。声源定位技术可用于通过检测不同声音的到达时间的时差(因为多个话筒捕捉到的声音的速度)来定位声音的方向。声音定位技术还可包括对多个话筒中的每一个接收到的每一个音频信号执行模式匹配。一个或多个方向可由以下各项来表示一维定位(例如,表示特定声源位于其中的平面的角度)、二维定位(例如,表示角度和仰角的向量)、或三维定位(例如,三维空间中与特定声源相关联的点)。在步骤578,生成基于一个或多个声音的一个或多个音频记录。该一个或多个音频记录中的每一个都可与一个或多个方向中的不同方向相关联。在一个实施例中,该一个或多个音频记录中的每一个都包括与第一环境中的不同人相关联的音频信息。在一些实施例中,可执行波束形成技术以放大源自特定方向(或位置)的声音和抑制源自其他方向的声音。波束形成允许多个话筒(例如,包括话筒阵列)用作可操纵的方向性话筒。在某些情况下,波束形成技术可包括对与多个话筒相关联的音频信号进行时移和组合。时移度可基于同特定声源相关联的特定位置。当不止一个人在环境中同时说话时,声音聚焦技术是特别有用的。在步骤579,输出步骤578中生成的一个或多个音频记录。在一个实施例中,该一个或多个音频记录被输出到本地语音识别引擎以便进行语音到文本处理。图5E是描述获取一个或多个音频记录的过程的一个实施例的流程图。图5E中描述的过程是用于实现图5B中的步骤508、用于实现图5C中的步骤556或用于实现图中的步骤578的过程的一个示例。图5E的过程可由一个或多个计算设备来连续执行。图5E的过程中每一步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每一步骤不必由单个计算设备来执行。在一个实施例中,图5E的过程可由诸如 图2 3中的目标检测和跟踪系统10之类的目标检测和跟踪系统来执行。在步骤592中,接收特定方向。在步骤596,接收多个音频信号。该多个音频信号中的每一个都可以与多个话筒中的不同话筒相关联。在步骤597,确定基于步骤592中接收到的特定方向的一组时延和一组加权因子。这组时延和这组加权因子可基于多个话筒的空间排列以及源自特定方向的声音到多个话筒中的每一个的到达时差来确定。在步骤598,通过对多个音频信号应用该组时延和该组加权因子来生成新音频信号。在一些实施例中,通过对步骤596中接收到的多个音频信号应用音频信号处理技术以使得源自步骤592中接收到的特定方向的声音被放大(例如,经由相长干涉)而源自另一方向的其他声音被削弱(例如,经由相消干涉),生成新音频信号。音频信号处理技术可组合多个音频信号中的每一个的时移版本以便将源自特定方向的声音与环境中的其他声音隔开。在一个示例中,新音频信号可通过应用延迟和求和波束形成技术来生成,通过该技术多个音频信号中的每一个都可以在执行对多个音频信号的加权求和之前相对于彼此延迟。延迟量可确定波束形成器“收听”的波束角。在步骤599,输出新音频信号。该新音频信号可作为新音频记录来存储和输出。在一个实施例中,生成多个新音频信号并将其作为多个音频记录来并行输出。图6是描述执行基于云的语音识别的过程的一个实施例的流程图。图6的过程可由一个或多个计算设备来连续执行。图6的过程中的每个步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每个步骤不必由单个计算设备来执行。在一个实施例中,图6的过程由诸如图I中的应用服务器150之类的可访问因特网的应用服务器来执行。在步骤602,接收第一话语以及一个或多个关键字。步骤602中接收到的一个或多个关键字可包括诸如“Xbox Bing”或“search the Internet for (在因特网中搜索)”等词组。图5A的步骤514中确定的上下文信息以及图5A的步骤512中确定的一个或多个位置指针也可被接收。在步骤604,标识与如在第一话语中发音的一个或多个关键字相关联的一个或多个语音。在一个示例中,对特定人唯一且与一个或多个关键字相关联的语音可通过对第一话语应用传统的语音到文本处理技术并然后将检测到的单词与该一个或多个关键字进行比较来在第一话语中标识。在一些实施例中,与一个或多个关键字相关联的位置信息可用于帮助在第一话语中定位一个或多个关键字。在一个示例中,可接收一个或多个位置指针并使用该一个或多个位置指针来帮助标识一个或多个关键字在第一话语中的位置。该一个或多个位置指针可包括以第一话语的开头为基准的时间偏移量。在步骤606,基于步骤604中标识的一个或多个语音来配置基于云的语音识别引擎。在一个实施例中,基于云的语音识别引擎可以在执行步骤608中的基于云的语音识别步骤之前针对与第一话语中的一个或多个关键字的发音相关联的话音模式进行适应。在某 些情况下,基于云的语音识别引擎可以在执行步骤608之前通过更新一个或多个声学模型来对与特定说话者相关联的声音进行适应。在步骤608,对第一话语执行基于云的语音识另O。在一个示例中,可生成在第一话语中检测到的一个或多个单词的列表。在步骤609,执行基于步骤608中检测到的一个或多个单词的第一任务。该第一任务可包括基于在第一话语中检测到的一个或多个单词来执行因特网搜索。在步骤610,输出基于第一话语的第一响应。第一响应可包括第一话语中检测到的一个或多个单词或与该一个或多个单词相关联的搜索结果。在一些实施例中,从第一话语中检测到的一个或多个单词中生成的搜索结果可基于步骤602中接收到的上下文信息来细化。例如,特定人可通过说出话语“search theInternet for Harry Potter (在因特网中搜索哈里波特)”来请求使用术语“Harry Potter(哈里波特)”来执行因特网搜索。如果一普通应用正在运行本地语音识别器(或引擎)的计算设备上执行,则可以只使用术语“Harry Potter”来执行普通因特网搜索。然而,如果一特殊应用(例如,游戏市场应用)正在运行本地语音识别器的计算设备上执行,则可例如通过使用术语“Harry Potter games (哈里波特游戏)”执行因特网搜索来执行经修改的搜索。在某些情况下,普通搜索结果可使用步骤602中接收到的上下文信息来过滤或加权。图7是描述执行本地语音识别的过程的一个实施例的流程图。图7中描述的过程是用于实现图5A中的步骤512的过程的一个示例。图7的过程可由一个或多个计算设备来连续执行。图7的过程中的每个步骤都可由与在其他步骤中所使用的那些计算设备相同或不同的计算设备来执行,且每个步骤不必由单个计算设备来执行。在一个实施例中,图7的过程可由诸如图2 3中的目标检测和跟踪系统10之类的目标检测和跟踪系统来执行。在步骤702,获取关键字的列表。该关键字的列表可包括一个或多个关键字或词组,诸如 “call (呼叫)”、“purchase (购买),,、“search the Internet for (在因特网中搜索)”或“search my email for (在我的电子邮件中搜索)”。该关键字的列表可被包括在本地语法文件(或关键字约束文件)中并且可以与特定应用相关联。例如,第一关键字列表可以在第一应用活动时激活并在第一应用暂停或关闭时停用。在步骤704,接收音频记录。在某些情况下,该音频记录可通过利用图5A中的步骤510来获取。
在步骤706,从音频记录中检测第一话语。可经由衰减的波束形成置信度(例如通过检测音频记录中包括的语音信号的置信水平的阈值改变以确定一个人何时停止说话),或经由对其间音频记录中包括的语音信号被认为是静音的时间段的检测(例如,通过检测说出的词组之前和之后的持续长于预定时长的静音)来检测(或标识)第一话语。还可对音频记录应用其他语音检测技术以确定第一话语的起始点和停止点。在一个实施例中,使用话音活动检测器(VAD)通过处理与特定收听方向相关联的音频记录来检测第一话语。在这种情况下,由于源自其他方向的声音被抑制,因此只对源自特定收听方向的声音应用语音检测技术。这与其中对源自游戏空间中的任何地方的声音执行语音处理的典型VAD形成对比。对与特定收听方向相关联的音频记录应用语音检测技术的一个优点是即使多个人在游戏空间中同时说话,也可检测第一话语。例如,如果游戏空间包括同时说话的第一游戏玩家和第二游戏玩家,则可生成与第一游戏玩家的第一方向相关联的第一音频记录,并且可生成与第二玩家的第二方向相关联的第二音频记录。通过对第一音频记录应用语音检测技术,即使第二游戏玩家与第一游戏玩家同时说话,也可检测到与第一游戏玩家相关联的第一话语。类似地,通过对第二音频记录应用语音检测技术,即使 第一游戏玩家与第二游戏玩家同时说话,也可检测到与第二游戏玩家相关联的第二话语。在步骤708,在第一话语中检测来自步骤702中获取的关键字列表的一个或多个关键字。该一个或多个关键字可通过对第一话语应用传统的语音到文本处理技术并然后将检测到的单词与该一个或多个关键字进行比较来在第一话语中检测到。该一个或多个关键字还可通过对与第一话语以及该一个或多个关键字相关联的音频信号应用模式匹配技术来在第一话语中检测到。在步骤710,可确定与第一话语中的一个或多个关键字中的每一个的位置相关联的一个或多个位置指针。该一个或多个位置指针中的每一个都由从第一话语的开头开始的时间偏移量来表示。在某些情况下,该一个或多个位置指针可指向在第一话语中间的位置(即,感兴趣的关键字可能在第一话语的中间)。在步骤712,输出步骤706中确定的第一话语以及步骤708中检测到的一个或多个关键字。还可输出步骤710中确定的一个或多个位置指针。在一个示例中,第一话语、一个或多个关键字以及一个或多个位置指针可被传送到第二计算设备。所公开的技术可以与各种计算系统一起使用。图8-9提供了可用于实现所公开的技术的实施例的各种计算系统的示例。图8是作为图3中的计算环境12的一个示例的游戏和媒体系统7201的一个实施例的框图。控制台7203具有中央处理单元(CPU)7200以及便于处理器访问各种存储器的存储器控制器7202,这些存储器包括闪速只读存储器(ROM) 7204、随机存取存储器(RAM) 7206、硬盘驱动器7208,以及便携式媒体驱动器7107。在一种实现中,CPU 7200包括I级高速缓存7210和2级高速缓存7212,这些高速缓存用于临时存储数据并因此减少对硬盘驱动器7208进行的存储器访问周期的数量,从而提高了处理速度和吞吐量。CPU 7200、存储器控制器7202、以及各种存储器设备经由一个或多个总线(未示出)互连在一起。所述一个或多个总线可以包括下列各项中一个或多个串行和并行总线、存储器总线、外围总线、使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例,这样的体系结构可以包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子标准协会(VESA)局部总线、以及外围部件互连(PCI)总线。在一个实施方式中,CPU 7200、存储器控制器7202、R0M 7204、以及RAM 7206被集成到公用模块7214上。在此实施方式中,ROM 7204被配置为通过PCI总线和ROM总线(两者都没有示出)连接到存储器控制器7202的闪速ROM。RAM 7206被配置为多个双倍数据速率同步动态RAM (DDR SDRAM)模块,它们被存储器控制器7202通过分开的总线(未示出)独立地进行控制。硬盘驱动器7208和便携式媒体驱动器7107被示为通过PCI总线和AT附加(ATA)总线7216连接到存储器控制器7202。然而,在其他实施方式中,也可以在替代方案中应用不同类型的专用数据总线结构。三维图形处理单元7220和视频编码器7222构成了视频处理流水线,用于进行高速度和高分辨率(例如,高清晰度)图形处理。数据通过数字视频总线(未示出)从图形处理单元7220传输到视频编码器7222。音频处理单元7224和音频编解码器(编码器/解码器)7226构成了对应的音频处理流水线,用于对各种数字音频格式进行多通道音频处理。通过通信链路(未示出)在音频处理单元7224和音频编解码器7226之间传输音频数据。视频和音频处理流水线向A/V (音频/视频)端口 7228输出数据,以便传输到电视机或其他显示 器。在所示出的实现中,视频和音频处理组件7220-7228安装在模块7214上。图8示出了包括USB主控制器7230和网络接口 7232的模块7214。USB主控制器7230通过总线(未示出)与CPU 7200和存储器控制器7202通信,并用作外围控制器7205(1)-7205(4)的主机。网络接口 7232提供对网络(例如,因特网、家庭网络等等)的访问,并可以是各种有线或无线接口组件中的任何一种,包括以太网网卡、调制解调器、无线接入卡、蓝牙模块、电缆调制解调器等等。在图8中描述的实现中,控制台7203包括用于支持四个控制器7205(1)-7205(4)的控制器支持子部件7240。控制器支持子部件7240包括支持与诸如,例如,媒体和游戏控制器之类的外部控制设备的有线和无线操作所需的任何硬件和软件组件。前面板I/O子部件7242支持电源按钮7213、弹出按钮7215,以及任何LED (发光二极管)或暴露在控制台7203的外表面上的其他指示器等多个功能。子部件7240和7242通过一个或多个电缆部件7244与模块7214进行通信。在其他实现中,控制台7203可以包括另外的控制器子部件。所示出的实施方式还示出了被配置为发送和接收可传递给模块7214的信号(例如从遥控器7290)的光学I/O接口 7235。MU 7241(1)和7241⑵被示为可以分别连接到MU端口 “A”7231 (l)和“B,,7231⑵。附加MU (例如,MU 7241 (3)-7241 (6))被示为可连接到控制器7205 (I)和7205 (3),即每一个控制器两个MU。控制器7205 (2)和7205 (4)也可以被配置成接纳MU(未示出)。每一个MU 7241都提供附加存储,在其上面可以存储游戏、游戏参数、及其他数据。诸如便携式USB设备之类的附加存储器设备可用来代替MU。在一些实现中,其他数据可以包括数字游戏组件、可执行的游戏应用,用于扩展游戏应用的指令集、以及媒体文件中的任何一种。当被插入到控制台7203或控制器中时,MU 7241可以被存储器控制器7202访问。系统供电模块7250向游戏系统7201的组件供电。风扇7252冷却控制台7203内的电路。包括机器指令的应用7260被存储在硬盘驱动器7208上。当控制台7203被上电时,应用7260的各个部分被加载到RAM 7206和/或缓存7210和7212中以供在CPU 7200上执行。其他应用也可以存储在硬盘驱动器7208上以供在CPU 7200上执行。
可以通过简单地将系统连接到监视器、电视机、视频投影仪、或其他显示设备来将游戏和媒体系统7201用作独立系统。在此独立模式下,游戏和媒体系统7201允许一个或多个玩家玩游戏或欣赏数字媒体(例如观看电影或欣赏音乐)。然而,随着宽带连接的集成通过网络接口 7232而成为可能,游戏和媒体系统7201还可以作为较大的网络游戏社区的参与者来操作。图9是作为图3中的计算环境12的一个示例的计算系统环境2200的一个实施例的框图。计算系统环境2200包括计算机2210形式的通用计算设备。计算机2210的组件可以包括、但不限于处理单元2220、系统存储器2230、以及将包括系统存储器2230在内的各种系统组件耦合到处理单元2220的系统总线2221。系统总线2221可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线、外围总线、以及局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。计算机2210通常包括各种计算机可读介质。计算机可读介质可以是能被计算机 2210访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术,CD-ROM、数字多功能盘(DVD)或其他光盘存储设备,磁带盒、磁带、磁盘存储设备或其他磁存储设备,或者能用于存储所需信息且可以由计算机2210访问的任何其他介质。上述中任一组合也应包括在计算机可读介质的范围之内。系统存储器2230包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 2231和随机存取存储器(RAM) 2232。包含诸如在启动期间帮助在计算机2210内的元件之间传输信息的基本例程的基本输入/输出系统2233 (BIOS)通常储存储在ROM 2231中。RAM 2232通常包含处理单元2220可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图9示出了操作系统2234、应用程序2235、其它程序模块2236和程序数据2237。计算机2210也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图9示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器2241,从可移动、非易失性磁盘2251中读取或向其写入的磁盘驱动器2252,以及从诸如⑶ROM或其它光学介质等可移动、非易失性光盘2255中读取或向其写入的光盘驱动器2256。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器2241通常由例如接口 2240等不可移动存储器接口连接至系统总线2221,而磁盘驱动器2251和光盘驱动器2255通常由例如接口 2250等可移动存储器接口连接至系统总线2221。上文讨论并在图9中示出的驱动器及其相关联的计算机存储介质为计算机2210提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图9中,硬盘驱动器2241被示为存储操作系统2244、应用程序2245、其它程序模块2246和程序数据2247。注意,这些组件可与操作系统2234、应用程序2235、其他程序模块2236和程序数据2237相同,也可与它们不同。在此操作系统2244、应用程序2245、其他程序模块2246以及程序数据2247被给予了不同的编号,以说明至少它们是不同的副本。用户可以通过输入设备如键盘2262和定点设备2261 (通常指鼠标、跟踪球或触摸垫)向计算机2210输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口 2260连接到处理单元2220,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。监视器2291或其他类型的显示设备也通过诸如视频接口 2290之类的接口连接至系统总线2221。除了监视器以外,计算机还可包括诸如扬声器2297和打印机2296之类的其他外围输出设备,它们可通过输出外围接口 2295来连接。计算机2210可使用到一个或多个远程计算机(诸如,远程计算机2280)的逻辑连接而在联网环境中操作。远程计算机2280可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机2210描述的许多或所有元件, 但在图9中只示出存储器存储设备2281。图9中所示的逻辑连接包括局域网(LAN)2271和广域网(WAN)2273,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机2210通过网络接口或适配器2270连接到LAN2271。当在WAN联网环境中使用时,计算机2210通常包括调制解调器2272或用于通过诸如因特网等WAN 2273建立通信的其他手段。调制解调器2272可以是内置的或外置的,可经由用户输入接口 2260或其他适当的机制连接到系统总线2221。在联网环境中,相对于计算机2210所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图9示出了远程应用程序2285驻留在存储器设备2281上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。所公开的技术可用各种其它通用或专用计算系统环境或配置来操作。适合在该技术中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。所公开的技术可在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,如此处所述的软件和程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构和其他类型的结构。硬件或硬件和软件的组合可代替如此处所述的软件模块。所公开的技术也可以在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。出于本文的目的,说明书中引述的“ 一实施例”、“ 一个实施例”、“某些实施例”或“另一实施例”用于描述不同的实施例并且不必然指的是同一实施例。出于本文的目的,连接可以是直接连接或间接连接(例如,经由另一方)。出于本文的目的,术语对象的“集合”指的是一个或多个对象的“集合”。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开 的。
权利要求
1.一种用于执行语音识别的方法,包括 从多个话筒获取(502)多个音频信号,所述多个音频信号中的每一个都与所述多个话筒中的不同话筒相关联,所述多个音频信号与第一环境相关联; 确定(507 )所述第一环境中的一个或多个方向,所述第一环境包括一个或多个人,所述一个或多个方向中的每一个都与所述一个或多个人中的不同人相关联; 基于所述多个音频信号来生成(508)—个或多个音频记录,所述一个或多个音频记录中的第一音频记录通过以下操作生成对所述多个音频信号应用音频信号处理技术以使得源自所述一个或多个方向中的第一方向的声音被放大,同时源自一个或多个其他方向的其他声音被削弱; 对所述多个音频记录中的每一个执行(512)本地语音识别,所述执行本地语音识别包括检测第一话语以及检测所述第一话语中的一个或多个关键字,所述第一话语通过对所述一个或多个音频记录中的第一音频记录应用一种或多种语音检测技术来检测; 将所述第一话语以及所述一个或多个关键字传送(516)到第二计算设备,所述第二计算设备对所述第一话语执行语音识别技术,所述语音识别技术检测所述第一话语中的一个或多个单词;以及 从所述第二计算设备接收(518)基于所述第一话语的第一响应。
2.如权利要求I所述的方法,其特征在于 所述第二计算设备标识与如在所述第一话语中发音的一个或多个关键字相关联的一个或多个语音,所述第二计算设备基于所述一个或多个语音来使所述语音识别技术进行适应;以及 所述第一响应包括与所述第一话语中由所述第二计算设备检测到的一个或多个单词相关联的文本消息。
3.如权利要求1-2中的任一项所述的方法,其特征在于 所述传送所述第一话语以及所述一个或多个关键字包括传送与所述第一话语相关联的音频文件以及将与所述一个或多个关键字相关联的文本信息传送到所述第二计算设备;以及 所述第一话语通过对所述第一音频记录应用一个或多个话音活动检测技术来检测。
4.如权利要求1-3中任一项所述的方法,其特征在于,还包括 将与所述一个或多个关键字相关联的一个或多个位置指针传送到所述第二计算设备,所述检测所述第一话语中的一个或多个关键字包括确定所述第一话语中的所述一个或多个位置指针。
5.如权利要求1-4中任一项所述的方法,其特征在于,还包括 在所述确定一个或多个方向之前执行对所述多个音频信号的回声抵消。
6.如权利要求1-5中的任一项所述的方法,其特征在于 所述确定一个或多个方向包括执行声源定位,所述执行声源定位包括确定与所述一个或多个人中的每一个相关联的角度和置信度。
7.如权利要求1-6中任一项所述的方法,其特征在于,还包括 获取所述第一环境中的一个或多个图像,所述多个音频信号在第一时间段期间与所述第一环境相关联,所述一个或多个图像在所述第一时间段期间与所述第一环境相关联,所述一个或多个图像包括一个或多个深度图像,所述确定一个或多个方向包括基于所述一个或多个人中的每一个的一个或多个图像来执行骨架跟踪。
8.一种用于集成本地和基于云的语音识别的电子设备,包括 包括多个话筒的捕捉设备(20),所述捕捉设备从所述多个话筒获取一个或多个声音,所述一个或多个声音与第一环境相关联;以及 一个或多个处理器(42),所述一个或多个处理器确定所述第一环境中的一个或多个方向,所述第一环境包括一个或多个人,所述一个或多个方向中的每一个都与所述一个或多个人中的不同人相关联,所述一个或多个处理器基于所述一个或多个声音来生成一个或多个音频记录,所述一个或多个音频记录中的每一个都与所述一个或多个方向中的不同方向相关联,所述一个或多个处理器通过对所述第一音频记录应用一种或多种语音检测技术来检测所述一个或多个音频记录中的第一音频记录中的第一话语,所述一个或多个处理器检测所述第一话语中的一个或多个关键字,所述一个或多个处理器将所述第一话语以及所述一个或多个关键字传送到第二计算设备,所述第二计算设备基于所述一个或多个关键字来对所述第一话语执行语音识别技术,所述语音识别技术检测所述第一话语中的一个或多个单词,所述一个或多个处理器从所述第二计算设备接收基于所述第一话语的第一响应。
9.如权利要求8所述的电子设备,其特征在于 所述第二计算设备标识与如在所述第一话语中发音的一个或多个关键字相关联的一个或多个语音,所述第二计算设备基于所述一个或多个语音来使所述语音识别技术进行适应。
10.如权利要求8-9中的任一项所述的电子设备,其特征在于 所述一个或多个处理器标识正在所述电子设备上执行的特定应用,所述一个或多个处理器将与所述特定应用相关联的标识信息传送到所述第二计算设备,所述第二计算设备基于所述标识信息以及在所述第一话语中检测到的所述一个或多个单词来执行因特网搜索;以及 所述第一响应包括基于所述标识信息和所述第一话语的因特网搜索结果。
全文摘要
本发明描述了集成的本地和基于云的语音识别。描述了一种用于将本地语音识别与基于云的语音识别集成以提供高效的自然用户界面的系统。在一些实施例中,计算设备确定与环境中的特定人相关联的方向,并生成与该方向相关联的音频记录。该计算设备然后对该音频记录执行本地语音识别以检测该特定人说出的第一话语并检测该第一话语中的一个或多个关键字。该第一话语可通过对音频记录应用话音活动检测技术来检测。该第一话语以及一个或多个关键字随后被传送至服务器,该服务器可标识第一话语中与该一个或多个关键字相关联的语音,并基于所标识的语音来使一种或多种语音识别技术进行适应。
文档编号H04L29/08GK102903362SQ201210320230
公开日2013年1月30日 申请日期2012年8月31日 优先权日2011年9月2日
发明者T·M·苏摩, L·宋, M·H·金, C·R·海涅曼, D·H·霍金斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1