智能循环音频缓冲器的制造方法

文档序号:10663474阅读:313来源:国知局
智能循环音频缓冲器的制造方法
【专利摘要】一种音频缓冲器被用来在预期用户命令捕获音频的情况下捕获音频。可以监测传感器和处理器活动,从而寻找表明所述用户命令可能即将来临的标记。在检测到这样的标记之后,激活循环缓冲器。音频修正可被应用至存储在所述循环缓冲器中的所述音频。在接收到指导所述设备处理或记录音频的所述用户命令之后,在所述命令之前被存储在所述缓冲器中的所述音频的至少一部分与在所述命令之后所接收的音频组合。所述组合音频可随后被处理、传送或存储。
【专利说明】
智能循环音频缓冲器
【背景技术】
[0001 ]许多电子设备可以存储并且处理音频。一些具有按钮和可以用来指示所述设备应该何时存储或处理音频的触敏显示屏。通常为语音识别和数字信号处理提供硬件和软件支持。
【附图说明】
[0002]为了更完整地理解本公开,现在结合附图参考以下描述。
[0003]图1示出包括智能缓冲器的设备的操作。
[0004]图2为概念性地示出包括智能缓冲器的设备的框图。
[0005]图3示出用于包括智能缓冲器的设备的操作的算法的实例。
[0006]图4示出可以用来确定是否应该激活智能缓冲器的过程。
[0007]图5示出包括存储在缓冲器中的音频和在用户命令存储或处理音频后被接收的音频两者的音频波形。
[0008]图6为概念性地示出包括智能缓冲器的设备的另一框图。
[0009]图7示出用于包括智能缓冲器的设备的操作的另一算法。
[0010]图8示出与智能缓冲器一起使用的计算机网络的实例。
【具体实施方式】
[0011]在电子设备上处理和记录音频需要不同程度的功率消耗。为了最小化由电池供电的设备的消耗,在没有用户命令这样做的情况下,处理或记录可被最小化。遗憾的是,尤其是当音频是语音时,用户开始说话与遵循用户命令开始处理或记录之间可能存在时间偏差,此时间偏差可能导致剪切音频的开头。形成剪切的延时偏差可能是由于用户实际发出信号开始处理或记录的时间,以及由于硬件延迟。此外,人们通常在实际完成命令稍前开始讲话,诸如在他们在完全按下按钮开始记录之前开始讲话的情况。
[0012]向设备增添智能音频缓冲器可以通过预期用户命令选择性地捕获音频来消除此剪切。可以监测传感器和处理器活动,从而寻找表明用户命令可能即将来临的标记。在检测这样的标记之后,激活循环缓冲器。可以诸如通过抽取来对存储在循环缓冲器中的音频降低采样,以便降低功率消耗。在接收指导设备处理或记录音频的用户命令之后,音频的在命令之前被存储在缓冲器中的至少一部分与在命令之后所接收的音频组合。随后可处理或存储组合音频,而不剪切用户期望记录的音频的开头。
[0013]此外,如果音频被用来流传送语音识别,那么可以通过包括在用户命令之前的短时间音频以便允许信道和/或环境补偿来提高准确度。语音开始之前的短时间静默使音频信道能够被标准化,从而改善语音识别系统从背景和环境噪声中区分出所说的词语的能力。与在整个流被接收之后批量处理音频相比,在音频被接收时对流式音频执行语音识别时这是尤其有优势的,因为批量处理可以采样该批的所有(或大部分)以便在处理之前标准化音频,然而当处理实时流时可能不存在从其来标准化的先前存在的样本。用户语音之前的音频还可用来执行可被应用至用户语音的其他信道/环境适应,诸如调节增益。
[0014]通过向音频捕获系统增添循环音频缓冲器,在用户命令的接收之前发生的语音和其他声音可被存储,使得当用户命令信号被接收时,先前音频的样本可被预加到在用户命令的接收之后接收的音频(与其连接在一起)。开始音频处理(以及预加所缓冲的音频)的信号可包括按下按钮,以其他方式与设备物理地交互(例如,通过摇晃所述设备),对设备做手势,向设备发出开始记录/处理音频的口头命令,或通过某个其他命令。信号还可包括不那么明确的指示,诸如用户在没有明确命令设备开始记录/处理的情况下开始说话。
[0015]尽管缓冲器可以总是运行,仅在存在用户命令可能被接收的相对高的几率时激活所述缓冲器可能存在功率消耗优势。例如,当首次打开与捕获以及记录或处理音频或语音有关的应用时,或者当设备被拾取时,或者当设备前面存在光强度变化时(指示设备的移动或者设备附近的移动,将其放置在潜在用户附近),用户命令可能即将来临。
[0016]常规地,当音频被数字化以用于存储或流传送时,其以至少两倍于可被复制的最高频率的速率“被采样”(根据Nyquist/Shannon定理)。所以,例如,如果你想要以高达20,000周期每秒(人类听觉的正常限制)的频率复制声音,那么可以以至少40,000次每秒取得音频信号的振幅的数字“样本”。每个“样本”是在样本被取得的瞬间的音频波形的振幅大小的数字表示。数字样本可随后用于重新构建原始音频波形的表示。作为参考,用于压缩光盘的音频通常以每秒音频44,100个样本被采样。使用诸如MP3(运动图像专家组MPEG-1音频层III)的格式的所存储音频和流可使用类似的采样速率(增添“有损”压缩技术以便减少数据的总量)。由于重点在捕获人类语音(其通常具有3400周期每秒的上限),电话系统可使用诸如8000个样本每秒的较低采样速率。诸如增量调制的编码技术需要高得多的采样速率(例如,3200万个样本每秒),因为每个样本仅被存储为单个“O”或“I”以表示振幅相对于先前的样本(而不是在样本被取得瞬间时的瞬间振幅的数字表示)是否已增加或减少。然而,还应用降低采样速率降低了可如实地重新产生的最高频率的原理。
[0017]为了节约电池功率,在按钮按下之前由缓冲器记录的音频可以以低于随后语音的速率被采样,或者使用诸如抽取的技术被降低采样。抽取仅存储原始音频流的每第N个样本(例如,每10个样本中的I个被存储)。
[0018]若干方法可被用来确定所缓冲的音频的多少应该被连接到在用户命令之后接收的音频上。例如,可使用缓冲器音频的设置量的时间,诸如半秒。作为另一实例,可基于确定在较长的时间段(例如,一秒)内发生的“静默”的时段适应性地选择时间量,诸如寻找所缓冲的音频的最近秒内的词语的开始。语音开始之前的环境背景噪声的开启时段也可包括在预加的音频中以便于语音处理。
[0019]图1示出用于在预期用户指导设备100捕获音频的情况下智能地缓冲音频的系统。设备100针对表明即将发生的音频捕获活动的标记监测(122)传感器和处理器操作。可被监测的标记的类型的实例包括:记录或处理音频的应用的激活,设备上的入射光强度的变化,运动的视觉检测,接近设备的用户的视觉检测,面部的视觉识别,接近触敏显示屏的手指的检测,设备取向的变化(诸如设备取向相对于特定取向的变化),设备的移动,环境声音的检测,语音的检测,以及特定说话者的检测。除了这样的标记之外,所述设备还可考虑与所捕获音频的利用有关的过去的使用模式,诸如用户的存储历史是否显示在一天的某些时间期间或在某些物理位置使用语音-至-文本口授的模式(例如基于设备可用于确定位置的全球定位和导航服务)。
[0020]如果作出捕获音频的命令可能即将来临的确定,那么激活循环缓冲器(124)。循环缓冲器是不断覆写它们自己的内容的先进先出(FIFO)缓冲器。所述缓冲器可以是任意大小,例如像两秒或三秒。
[0021]在接收传递用户命令以便处理或记录音频的信号(126)之后,在用户命令之前存储在缓冲器中的最近音频的一部分被预加到在用户命令之后所接收的音频。随后取决于什么类型的应用利用所捕获的音频处理或记录组合音频(128)。
[0022]智能缓冲器的控制和操作可被集成到捕获音频的软件应用中,或者可通过诸如操作系统级别库调用的应用编程接口(API)可由应用访问。然而,智能缓冲技术还可被实现为设备而不是应用的功能,其中音频编码器解码器(编解码器)或音频驱动器与缓冲器无缝地交互,使得利用所捕获音频流的应用可能不能被通知所缓冲音频已经被预加到所接收的流上。
[0023]图2为概念性地示出有关设备100的操作的某些部件的框图。如所示,设备100包括通信地连接各种部件的数据总线224。除了(或者替代)通过总线224被连接,部件还可被直接连接。设备100内的模块可被实现为硬件、软件或其组合,如下文将进一步论述的。
[0024]设备100可包括:控制器/处理器204,其可包括用于处理数据和计算机可读指令的一个或多个中央处理单元(CPU);和存储器206,其用于存储数据和指令。存储器206可包括易失性随机存取存储器(RAM)、非易失性只读存储器(ROM)和/或其他类型的存储器。设备100还可包括用于存储数据和指令的非易失性数据存储部件208。数据存储部件208可包括一个或多个存储类型,诸如磁存储、光存储、固态存储等。设备100还可通过输入/输出设备接口 202连接至可移动或外部存储器和/或存储装置(诸如可移动存储卡、存储键驱动器、网络存储装置等)。用于操作设备100及其各种部件的计算机指令可由控制器/处理器204执行并且存储在存储器206、存储装置208、外部设备中或者被存储在包括在下文论述的活动监测模块240中的存储装置248中。可替代地,除了(或替代)软件,可执行指令的一些或所有可被减少到专用硬件或嵌入在固件中。因此,本文公开的系统、过程和算法可在软件、固件和/或硬件的各种组合中实现。
[0025]设备100包括输入/输出设备接口202。各种内部和外部输入/输出接口可被包括在设备100中。示例性输入设备包括相机212、按钮214、触摸界面216、麦克风218、无线耳机806以及全球定位(例如,GPS、GL0NASS)接收器。除了本地输入设备,其他输入设备可通过数据网络802连接。输出设备包括显示器210和扬声器(未示出),以及通过数据网络802连接的设备。
[0026]输入/输出设备接口 202还可包括诸如通用串行总线(USB)、火线、Thunderbolt和以太网的外部外围和网络接口,以及诸如射频(RF)和红外收发器、蓝牙、无线局域网(WLAN)(诸如WiFi)的无线接口,以及蜂窝式通信收发器支持协议(诸如长期演进(LTE)、WiMAX、GSM、CDMA等)。网络802可以是互联网和/或私人网络,并且可包括分布式计算环境(下文参考图8进一步论述)。
[0027]惯性传感器266中的加速度计可测量设备100沿着轴的加速度。3轴加速度计传感器(常见于许多当前消费者电子设备中)提供沿着相对于设备100的x、y、z轴的加速度。沿着设备的x、y、z轴的加速度取决于所述设备的取向。换句话说,如果设备屏幕面朝上地平坦地置于桌子上,那么从左侧推动所述设备使得它向右移动将产生沿着X-轴的加速度。然而,如果设备被逆时针旋转90度,那么从左至右推动所述设备将产生沿着y-轴的负加速度。惯性传感器266还可包括陀螺仪,所述陀螺仪测量随时间围绕设备的x、y、z轴的旋转的变化。其他传感器也可被利用,诸如用于确定上下的专用重力传感器,以及用来确定相对于行星磁场的取向(例如,罗盘航向)的磁力计。这些传感器可被用来检测设备的移动,所述设备的移动可被用作如下文所描述的即将发生的设备活动的标记。
[0028]设备100还可包括用于存储音频数据的循环缓冲器232。如上文在图1的论述中所提及的,缓冲器可以是任意大小,诸如两秒或三秒。循环缓冲器是不断覆写它们自己的内容的先进先出(FIFO)缓冲器。实际上,循环缓冲器可以是存储器206、存储装置208、存储装置248或其他存储器的一部分。由于缓冲器被用于短期存储,可使用诸如RAM的易失性存储器。在一些系统中,就缓冲期间会发生的频繁“写入”而言,与非易失性存储器相比,易失性存储器还可具有较低功率消耗的益处(例如,写入动态RAM比写入闪存存储装置使用的能量更少)。由处理器204执行的软件或固件或专用硬件可循环通过分配到缓冲器的存储器位置,随后以圆形循环写入缓冲器。
[0029]设备100还包括活动监测模块240。模块240可包括活动监测器242。返回参考图1,活动监测器242针对即将发生的设备活动的标记监测传感器和处理器204(122)并且激活循环缓冲器(124)。直接或通过中间引擎被监测的传感器包括诸如相机212、按钮214、触摸界面216、麦克风218、外部部件(诸如无线耳机806(其还可包括它自己的“按钮”))、通过网络802连接的远程设备以及惯性传感器266的部件。活动监测器可被实现为,例如,在处理器(例如,处理器204)上实现的软件或固件,或者被实现为诸如在时序逻辑电路中实现的有限状态机器的硬件。将在下文进一步论述活动监测器242的操作。
[0030]支持活动监测器242的中间引擎将来自传感器的复杂数据转换成更简单的形式。这些中间引擎的实例可包括语音识别引擎244、说话者识别引擎246以及图像处理引擎250。这些引擎可通过由处理器204执行的代码来实现,或者可通过分布式计算环境中的网络802在远程处理器上实现。
[0031]语音识别引擎244可将语音转换成文本,提供诸如“命令”词语的某些词语何时被识别的标记,和/或指示所接收音频包括语音分量。说话者识别引擎246将所接收的音频信号与所存储的声学指纹相比较以便识别何时特定的用户在说话。
[0032]语音识别引擎244和说话者识别引擎246可被实现为,例如,被配置来执行语音识别和声学指纹处理两者的分类器系统的一部分。这样的分类器系统可以是,例如,支持向量机(SVM),尽管学习技术的其他机器可用来代替或增强SVM。分类器系统可以利用隐马尔可夫模型(HMM)、高斯混合模型(GMM)、美尔频率倒谱系数(MFCC)等。由语音识别引擎244使用的语音识别技术以及由说话者识别引擎246使用的声学指纹或模型可利用相同或类似的模式识别系统但是利用不同的模型(例如,语音识别可使用音素模型而说话者识别可使用声纹模型),或者可使用完全不同的技术。
[0033]如果语音识别引擎244被配置来收听特定的“命令”词语,并且说话者识别引擎246被配置来收听特定的声音,当发现匹配时,分类器系统可向活动监测器242发出信号。此信号可以是,例如,发送至状态机器的信号,可以是通过设备100的操作系统或者通过在控制器/处理器204上运行的应用的API发送至应用编程接口(API)的高级命令,或者可以是通过由输入/输出设备接口 202提供的网络连接发送的消息。所述信号可触发控制器/处理器204的预定义的中断。类似地,在控制器/处理器204上执行的代码可周期性地轮询分类器系统以便确定是否已经发现匹配。
[0034]图像处理引擎250也可被实现为分类器系统,访问相机212并且执行运动分析和面部检测(或者面部识别)。
[0035]由这些引擎使用的模型可被存储在存储装置248中,所述存储装置248可以是专用存储装置或其他存储装置(诸如存储装置208)的一部分。例如,语音识别引擎244可将所接收的音频与存储在存储装置248中的声学、语言以及其他数据模型和信息相比较。存储用于语音识别的模型还可包括将音素的发音与特定的词语和字典或词典匹配的数据,以及描述在特定的上下文中可能一起使用的词语的数据。
[0036]说话者识别引擎246可将音频数据与存储在存储装置248中的一个或多个文本独立声纹签名或模型相比较,以便确定说话者是否表示已知的声音。存储在存储装置248中的所识别声音签名可使用训练会话来生成,或者可在用户使用所述设备用于与语音相关的任务时被米用。
[0037]由图像处理引擎250执行的面部检测可以是用户专用或者非用户专用的。提供相机功能的设备中越来越多地包括这样的面部检测,并且此功能可以与驻留在设备100上的其他程序共享(对于其他引擎也是成立的)。如果面部识别被用来识别特定的面部,那么面部模型可被生成为设备训练会话的一部分,或者可在例如用户拍摄他们自己的照片时被采用。
[0038]此外,活动监测模块240可包括模式识别引擎252,所述模式识别引擎252应用一组动态模型(例如,Bayesian)和滤波器以便识别与音频和语音的记录和处理相关的设备利用的模式。例如,与一天的时间和/或用户利用用于音频和语音的记录和处理的应用的设备位置相关的模式。当由传感器数据和/或其他引擎提供的标记表明即将发生的活动时,模式识别引擎可提供标记基于存储在存储装置248中的过去使用模式预示用户利用设备来记录或处理音频的概率。如果所述概率超过阈值(对于不同的标记此阈值可不同),提供足够的共同性,那么活动监测器242可激活循环缓冲器232。然而,如果所述概率低于阈值,那么活动监测器242可放弃激活。如果所述概率低于阈值但是用户确实激活开始音频的记录或处理,那么模式识别引擎可修改对应存储的模式和/或所述阈值可基于未来的标记被调整成有利于缓冲器激活。
[0039]图3示出用于设备100的操作的算法的实例。过程开始于300并且在320监测音频活动。在监测期间,音频数据流310被接收。音频流可以是从(除了其他事物之外例如)麦克风218、耳机806或者通过网络802连接的音频捕获设备捕获的音频。
[0040]活动监测器242针对记录或处理音频的用户命令可能即将来临的标记监测活动320。此监测可在连续的循环中执行(322“否”)直到标记被检测为止(322“是”)。
[0041]图4为监测活动320的更详细的实例。针对其存在可激活缓冲器的各种标记监测检查。尽管图4示出监测活动320为一系列顺序步骤,所述步骤可以以任意方式布置并且标记(或其他标记)中的任意一个,单独或者与其他标记组合,可导致缓冲器的激活。一个标记是音频捕获或处理应用是否在处理器204上启动(490)。由于应用自身可能或者可能不被配置来与智能缓冲器一起操作,这可包括使后台处理在处理器204上运行,从而监视某些应用的激活和/或监视应用开启通过总线224到达通过I/O设备接口 202连接的音频输入设备的通
In In沮。
[0042]另一标记是监视光强度中的变化(491)。此功能通常被内置在电子设备中,所述电子设备具有使用背光的液晶显示器或者使用前光的电子纸显示器,以便调整光的强度。可如何测量环境光强度的实例包括内置在显示器210中的一个或多个光电元件的使用,或者相机212的使用。光强度的变化单独或者与其他标记组合可被用作即将发生的活动的标记。光强度的变化还可被用来激活具有较高水平的功率消耗的其他过程,诸如监测运动或用户的存在(492)或者面部识别(493)。光强度的突然变化本身可被用作标记,因为它可指示用户触及设备,其中所述用户的手导致强度的变化。
[0043]另一标记是使用诸如相机212的相机监测运动或用户的存在(492)。图像处理引擎250比较通过相机获取的一系列图像以便确定在所述相机的视野内是否发生运动。这可被执行为独立的过程,或者可响应于光强度的变化(491)被调用以便最小化功率消耗。
[0044]另一标记是搜索面部或者头部的所获取的图像(493)。面部识别通常被包括在移动设备(其可用于照相)中,并且图像处理引擎250和面部识别过程(493)可以是由照相软件部件利用的所共享过程。面部识别过程可以是独立的过程,或者可响应于光强度的变化(491)和/或运动的检测(492)被调用以便最小化功率消耗。面部和头部检测可被用于(除了其他事物之外)确定用户靠近他们的头部(例如,他们的头部旁边或者接近他们的嘴部)放置所述设备以便说话。
[0045]另一标志是手指何时被检测在显示屏210的界面216的上方(494)。利用电容触摸面板和基于手势的显示界面,可在接触之前检测手指对屏幕的接近度。
[0046]另一标记是监测环境声音(495)。环境声音可以是超过除背景噪声之外的音频的阈值量的音频,其从例如麦克风218、耳机806或者通过I/O设备接口 202连接的另一音频输入设备接收。环境声音(495)的检测可单独或者与其他标记组合被用作标记,和/或可激活消耗较大功率的其他音频分析过程,诸如处理音频以便检测语音(496)和/或处理音频以便检测特定的说话者(497)。
[0047]另一标记是检测语音(496)。此过程可由语音识别引擎244执行,并且所述过程和所述引擎两者可与由所述设备提供的诸如语音-至-文本过程的其他过程共享。如由活动监测模块240执行,为了降低功率消耗,语音的检测(496)可使用语音识别工具的子集,诸如检测一系列音素被检测而不是音素完全转换成词语和句子。此过程(496)可以是独立的,或者响应于环境声音(495)的检测被调用以便最小化功率消耗。
[0048]另一标记是特定的说话者是否被识别(497)。声音识别引擎246可将所接收的音频与诸如设备的拥有者的声音签名的所存储的声音签名相比较。此过程(497)可以是独立的,或者可响应于环境声音(495)的检测和/或语音检测(496)被调用以便最小化功率消耗。
[0049]另一标记是使用惯性传感器266检测的所述设备的移动(498)。标记可以基于设备运动的任意变化(诸如用户拿起所述设备)或者可以基于处于特定取向(诸如竖直放置)的设备。
[0050]如果标记被检测,那么模式识别引擎252可将一个或多个标记的发生和现有情况(例如,时间、位置)以及所述标记的出现之前的活动与音频记录和/或处理之前的用户活动的过去模式相比较。如果模式是类似的(424“是”),超出共同性的阈值,那么所述过程继续。
[0051]返回到图3,如果标记被检测,那么循环缓冲器232被激活(340)。紧接着缓冲器的激活,可做出检查以便查看来自用户用来记录或处理音频的命令信号是否已被接收(330)。尽管被示出与用于监测活动(320)的过程串联,活动的监测(320)以及监测是否已经存在用户命令信号连续进行(330);可并行或者以不同的顺序操作。
[0052]监测指导设备处理或记录音频的用户命令信号(330)的实例包括物理按钮(例如,按钮214)的按压,通过设备的图形用户界面提供的虚拟按钮的按压,说出的命令词语或者命令手势。
[0053]如果信号还没有被接收(330“否”),那么继续缓冲直到用户信号被接收(330“是”)。所缓冲音频的至少一部分随后从缓冲器(350)检索并且预加(360)到在用户命令之后接收的音频上。所组合的音频流随后被记录和/或处理(370),诸如将语音处理成文本。当音频流结束(例如,人停止说话)或者发出它们已经完成的信号(例如,释放按钮214),所述过程重新开始(380“否”)。
[0054]图5示出时域音频信号502。线504表示记录或处理的信号被接收(S卩,330)时的时间点,其中线504的右边的音频样本516为在所述命令之后接收的音频,并且线504左边的音频为被缓冲的音频。最近缓冲的音频的固定部分可被预加(360)(例如,最近的半秒),或者所使用的部分514可通过检测语音或者最近的词语何处开始得以确定。相对于背景环境噪声包络线510确定“静默”。所缓冲的静默的一部分512可以与样本514—起被包括以便于处理(370),这可有益于诸如语音识别的处理的准确性。作为标记的声音的检测(图4中的495)也可相对于此环境包络线510。
[0055]图6为示出可包括在设备100中的附加部件的框图。循环缓冲器232被包括在缓冲器模块630中。缓冲器模块630还包括标准化和/或噪声补偿模块634、上/下音频采样器636和抗混淆滤波器638。图7为补充图3示出图6中的附加部件的使用的流程图。
[0056]图7中的第一附加特征是计时器,如果指定的时间段耗尽而没有从用户接收到记录或处理所接收音频的指示(330),所述计时器被用来中断循环缓冲器232。当处理开始,缓冲器被初始化(704),并且在表明即将发生的用户命令的标记被接收之后,开始计时728。在达到指定量的时间(744“否”)之前,音频的缓冲继续。如果指定量的时间已经耗尽(744“是”),那么所述过程重新开始。此外,如果设备100上的功率电平较低,那么监测标记320的过程和循环缓冲器的使用可被暂停以便节约功率。
[0057]另一附加特征是对所接收的音频的标准化和/或应用噪声补偿(通过634)。当所述过程开始,水平被初始化(704)。修正被应用(732)至所缓冲的音频,并且修正可随时间被持续计算(742)以便进一步调整所述修正,使用比被预加到用户命令后流的更大的所缓冲音频的部分(例如,整个缓冲器)。除了信道标准化和噪声降低之外,被应用至所接收音频的增益可被调整(例如,以便防止音频“剪切”)。信道标准化可包括计算倒频谱(cepstra)(这是用于音频帧的语音识别特征),取随时间段的倒频谱向量的平均值以及确定随时间的倒频谱方差。倒频谱方差和平均值可被用来降低背景噪声的影响以便标准化音频信道。也可应用其他的噪声补偿技术。
[0058]在一个方面,设备或音频处理系统可包含超过一个的循环缓冲器。所述缓冲器可具有不同的长度并且用于不同的目的。例如,长的缓冲器可被用来取得由所述设备经受的音频条件的更为延伸的样本,由此导致音频修正(诸如信道标准化等),所述音频修正是基于更长的条件样本。较短的缓冲器可被用来实际存储将被预加到用户语音以用于语音识别处理的音频。在一个方面,较长范围的缓冲器可存储与在对应于较长范围缓冲器的时间帧上的音频性能相关的统计数据。此外,较长范围的缓冲器可执行帧/时基-抽取(其中麦克风在某些间隔期间被关闭/打开但是音频以正常的速率被采样)和/或采样速率抽取。
[0059]这个与常规音频水平调整之间的区别是,在用户命令记录或处理音频之前被计算的修正可被应用至在所述命令之后接收的音频,提供所缓冲与现场音频之间的音频质量的连续性,并且从所述流的开始提供修正的水平。
[0060]另一附加特征是在缓冲音频时使用抽取。这可通过使用抽取单元636来存储循环缓冲器232中的音频样本中的仅一些来实现。例如,抽取单元636可仅存储缓冲器中的仅每N个音频样本(例如,10个中的I个)。
[0061]尽管上文论述的智能缓冲器系统的部件大部分驻留在设备100内,所述部件还可被布置在分布式计算环境中。例如,缓冲器模块630和/或活动监测模块240可被驻留在通过网络802连接的另一设备中。此外,处理(360)的一些或所有可对通过网络802连接至设备100的处理器执行。例如,如在图8中所示,无线设备804、无线耳机806、膝上型计算机808、平板计算机810、终端812、有线耳机814和/或计算机816可获取音频流,包括用户界面,并且包含惯性传感器266,而通过网络802连接的服务器818可执行缓冲器模块630、活动监测模块240和/或数据记录和处理(360)的计算方面。这样的分布式环境允许具有有限计算和存储能力的联网设备从智能缓冲器的优势受益。
[0062]图2和图6中的系统可包括用于实现在图1、图3、图4和图7中示出的过程的计算机可读和计算机可执行指令。这样的指令可存储在非易失性计算机可读存储装置208和/或248 中。
[0063]尽管系统100中可包括图2和图6中的部件,也可包括其他未示出部件。此外,所示出的部件的一些可能不存在于能够采用智能缓冲器系统的总体概念的每个设备中。此外,作为单一部件在设备100中示出的一些部件可在单一设备中多次出现。例如,设备100可包括多个输入/输出设备接口 202或多个控制器/处理器204。
[0064]可在实现图1、图3、图4和图7中示出的过程的系统中采用多个循环缓冲器232、主动监测模块240以及缓冲器模块630。在这样的多个设备系统中,设备100可包括用于执行这些过程的不同方面的不同部件。多个设备可包括重叠部件。如在图1、图2和图6中示出的设备100是示例性的,并且可以是独立设备或者可以整体或者部分地包括作为更大设备或系统的部件。
[0065]本文所公开的概念可被应用在多个不同的设备和计算机系统内,包括例如,数字相机、蜂窝电话、个人数字助理(PDA)、平板计算机、带有头戴式相机和显示器的佩戴式计算机、其他移动设备等。设备100的部件还可以是可提供智能缓冲器能力的其他设备或系统的部件,包括通用计算系统、服务器-客户端计算系统、主机计算系统、电话计算系统、膝上型计算机等。
[0066]各种部件可整体或者部分地与设备100—起使用。例如,相机212可包括用于捕获图像的电荷耦合器件(CCD)图像传感器或有源像素传感器(APS)。任意适合的技术的显示器210,诸如液晶显示器、有机发光二极管显示器、电子纸、电致变色显示器、阴极射线管显示器、场致发射显示器、微型投影机或者用于显示图像和/或视频的其他适合的部件。设备210至218可各自被集成在设备100中或者可以是分开的。
[0067]本公开的上述方面意为说明性的。它们被选中来解释本公开的原理和应用并且不意图是详尽性的或限制本公开。对所公开方面的许多修改和变化对本领域技术人员可以是明显的。具有计算机、数字成像和/或内容转换领域普通技术的人应该认识到,本文所描述的部件和过程步骤可与其他部件或步骤或者部件或步骤的组合互换,并且仍然实现本公开的益处和优势。此外,本领域的技术人员应明白,可在没有本文所公开的特定细节和步骤的一些或所有的情况下实践本公开。
[0068]本公开的方面可被实现为计算机方法、系统,或者被实现为诸如存储器设备或非暂时计算机可读存储介质的制造制品。计算机可读存储介质可通过计算机读取并且可包括用于致使计算机或其他设备执行本公开中描述的过程的指令。计算机可读存储介质可通过易失性计算机存储器、非易失性计算机存储器、硬盘驱动器、固态存储器、闪存驱动器、可移动磁盘和/或其他介质来实现。
[0069]如在本公开中所使用的,除非另有明确说明,否则术语“一个(a)”或“一个(one)”可包括一个或多个物品。此外,除非另有明确说明,否则词语“基于”是意指“至少部分地基于”。
[0070]条款:
[0071 ] 1.一种在电子设备上缓冲音频的方法,其包括:
[0072]检测即将发生的设备活动的标记,所述标记包括记录或处理音频的应用的激活、入射光强度的变化、运动的视觉检测、接近所述设备的用户的视觉检测、面部的视觉识别、接近触敏显示屏的手指的检测、所述设备的移动、环境声音的检测、语音的检测或者特定说话者的检测中的一个或多个;
[0073]响应于检测到所述标记,激活循环缓冲器;
[0074]将所接收音频存储在所述循环缓冲器中;
[0075]接收处理或记录音频的指示;
[0076]响应于所述指示,将在所述指示之前存储在所述缓冲器中的所述音频的至少一部分与在所述指示之后接收的音频组合;以及
[0077]传送或处理所述组合音频。
[0078]2.根据条款I所述的方法,其中所述接收的指示是物理按钮的按压、通过图形用户界面提供的虚拟按钮的按压或者命令手势。
[0079]3.根据条款I所述的方法,其还包括:
[0080]响应于检测到所述标记并且在接收所述指示之前,计算将被应用至所述接收的音频的音频修正;以及
[0081 ]将所述音频修正应用至在所述指示之后接收的音频。
[0082]4.根据条款3所述的方法,其中所述音频修正包括信道标准化或噪声降低中的一个或多个。
[0083]5.—种计算设备,其包括:
[0084]至少一个处理器;
[0085]存储器设备,其包括可操作来由所述至少一个处理器执行以执行一组动作、配置所述至少一个处理器来进行以下操作的指令:
[0086]检测即将发生的设备活动的标记;
[0087]至少部分地基于检测到所述即将发生的设备活动的标记,激活循环缓冲器;
[0088]将所接收音频存储在所述循环缓冲器中;
[0089]接收处理或记录音频的信号;
[0090]将在所述信号的接收之前存储在所述循环缓冲器中的所述音频的至少一部分与在所述信号之后接收的音频组合;以及
[0091]传送或处理所述组合音频。
[0092]6.根据条款5所述的计算设备,其中所述即将发生的设备活动的标记的所述检测至少部分地基于监测耦接至所述至少一个处理器的传感器。
[0093]7.根据条款6所述的计算设备,其中所述标记包括记录或处理音频的应用的激活、入射光强度的变化、运动的视觉检测、接近所述设备的用户的视觉检测、面部的视觉识别、接近触敏显示屏的手指的检测、所述设备的移动、环境声音的检测、语音的检测或者特定说话者的检测中的一个或多个。
[0094]8.根据条款5所述的计算设备,其中响应于物理按钮的按压、通过所述设备的图形用户界面提供的虚拟按钮的按压或者手势来生成处理或记录音频的所述信号。
[0095]9.根据条款5所述的计算设备,其还包括指令,所述指令配置所述至少一个处理器来:
[0096]在处理或记录音频的所述信号的接收之前计算音频修正;以及
[0097]将所述音频修正应用至在所述信号之后接收的音频。
[0098]10.根据条款9所述的计算设备,其中所述至少一个处理器被配置来:
[0099]至少部分地基于存储在第一循环缓冲器中的音频计算所述音频修正;
[0100]将所述音频修正应用至存储在第二循环缓冲器中的音频;以及
[0101]将存储在所述第二循环缓冲器中的所述音频的一部分与在所述信号之后接收的音频组合。
[0102]11.根据条款9所述的计算设备,其中所述音频修正包括信道标准化或噪声降低中的一个或多个。
[0103]12.根据条款5所述的计算设备,其还包括指令,所述指令配置所述至少一个处理器来:
[0104]至少部分地基于用户历史识别与捕获的音频的利用相关的设备活动的模式;以及
[0105]将至少即将发生的设备活动的所检测标记和与所述标记的发生相关的其他数据与所述识别的模式相比较,
[0106]其中激活所述循环缓冲器还至少部分地基于所述比较。
[0107]13.—种存储用于控制计算设备的处理器可执行指令的非暂时计算机可读存储介质,其包括:
[0108]用以检测即将发生的设备活动的标记的程序代码;
[0109]用以至少部分地基于检测到所述即将发生的设备活动的标记来激活循环缓冲器的程序代码;
[0110]用以将所接收音频存储在所述循环缓冲器中的程序代码;
[0111]用以接收处理或记录音频的信号的程序代码;
[0112]用以将在所述信号的接收之前存储在所述循环缓冲器中的所述音频的至少一部分与在所述信号之后接收的音频组合的程序代码;以及
[0113]用以传送或处理所述组合音频的程序代码。
[0114]14.根据条款13所述的非暂时计算机可读存储介质,其中用以检测所述即将发生的设备活动的标记的所述程序代码至少部分地基于监测所述计算设备的传感器。
[0115]15.根据条款14所述的非暂时计算机可读存储介质,其中所述标记包括记录或处理音频的应用的激活、入射光强度的变化、运动的视觉检测、接近所述设备的用户的视觉检测、面部的视觉识别、接近触敏显示屏的手指的检测、所述设备的移动、环境声音的检测、语音的检测或者特定说话者的检测中的一个或多个。
[0116]16.根据条款13所述的非暂时计算机可读存储介质,其中响应于物理按钮的按压、通过所述计算设备的图形用户界面提供的虚拟按钮的按压或者手势来生成处理或记录音频的所述信号。
[0117]17.根据条款13所述的非暂时计算机可读存储介质,其还包括:
[0118]用以在处理或记录音频的所述信号的接收之前计算音频修正的程序代码;以及
[0119]用以将所述音频修正应用至在所述信号之后接收的音频的程序代码。
[0120]18.根据条款17所述的非暂时计算机可读存储介质,其中:
[0121]用以计算所述音频修正的所述程序代码至少部分地基于存储在第一循环缓冲器中的音频;
[0122]用以应用所述音频修正的所述程序代码包括用以将所述音频修正应用至存储在第二循环缓冲器中的音频的程序代码;以及
[0123]用以组合所述音频的一部分的所述程序代码包括用以将存储在所述第二循环缓冲器中的所述音频的一部分与在所述信号之后接收的音频组合的程序代码。
[0124]19.根据条款17所述的非暂时计算机可读存储介质,其中所述音频修正包括信道标准化或噪声降低中的一个或多个。
[0125]20.根据条款13所述的非暂时计算机可读存储介质,其还包括:
[0126]用以至少部分地基于用户历史识别与所捕获的音频的利用相关的设备活动的模式的程序代码;以及
[0127]用以将至少即将发生的设备活动的所检测标记和与所述标记的发生相关的其他数据与所述识别的模式相比较的程序代码,
[0128]其中用以激活所述循环缓冲器的所述程序代码还至少部分地基于所述比较。
【主权项】
1.一种在电子设备上缓冲音频的方法,其包括: 检测即将发生的设备活动的标记,所述标记包括记录或处理音频的应用的激活、入射光强度的变化、运动的视觉检测、接近所述设备的用户的视觉检测、面部的视觉识别、接近触敏显示屏的手指的检测、所述设备的移动、环境声音的检测、语音的检测或者特定说话者的检测中的一个或多个; 响应于检测到所述标记,激活循环缓冲器; 将所接收音频存储在所述循环缓冲器中; 接收处理或记录音频的指示; 响应于所述指示,将在所述指示之前存储在所述缓冲器中的所述音频的至少一部分与在所述指示之后接收的音频组合;以及传送或处理所述组合音频。2.根据权利要求1所述的方法,其中所述接收的指示是物理按钮的按压、通过图形用户界面提供的虚拟按钮的按压或者命令手势。3.根据权利要求1所述的方法,其还包括: 响应于检测到所述标记并且在接收所述指示之前,计算将被应用至所述接收的音频的音频修正;以及 将所述音频修正应用至在所述指示之后接收的音频。4.根据权利要求3所述的方法,其中所述音频修正包括信道标准化或噪声降低中的一个或多个。5.—种计算设备,其包括: 至少一个处理器; 存储器设备,其包括可操作来由所述至少一个处理器执行以执行一组动作、配置所述至少一个处理器来进行以下操作的指令: 检测即将发生的设备活动的标记; 至少部分地基于检测到所述即将发生的设备活动的标记,激活循环缓冲器; 将所接收音频存储在所述循环缓冲器中; 接收处理或记录音频的信号; 将在所述信号的接收之前存储在所述循环缓冲器中的所述音频的至少一部分与在所述信号之后接收的音频组合;以及传送或处理所述组合音频。6.根据权利要求5所述的计算设备,其中所述即将发生的设备活动的标记的所述检测至少部分地基于监测耦接至所述至少一个处理器的传感器。7.根据权利要求5所述的计算设备,其还包括指令,所述指令配置所述至少一个处理器来: 在处理或记录音频的所述信号的接收之前计算音频修正;以及 将所述音频修正应用至在所述信号之后接收的音频。8.根据权利要求7所述的计算设备,其中所述至少一个处理器被配置来: 至少部分地基于存储在第一循环缓冲器中的音频计算所述音频修正; 将所述音频修正应用至存储在第二循环缓冲器中的音频;以及将存储在所述第二循环缓冲器中的所述音频的一部分与在所述信号之后接收的音频组合。9.根据权利要求7所述的计算设备,其中所述音频修正包括信道标准化或噪声降低中的一个或多个。10.—种用于控制计算设备的系统,其包括: 电子数据存储区,其被配置来存储计算机可执行指令;以及 一个或多个处理器,其与所述电子数据存储区通信,所述一个或多个处理器被配置来至少: 检测即将发生的设备活动的标记; 至少部分地基于检测到所述即将发生的设备活动的标记,激活循环缓冲器; 将所接收音频存储在所述循环缓冲器中; 接收处理或记录音频的信号; 将在所述信号的接收之前存储在所述循环缓冲器中的所述音频的至少一部分与在所述信号之后接收的音频组合;以及传送或处理所述组合音频。11.根据权利要求10所述的系统,其中所述标记包括记录或处理音频的应用的激活、入射光强度的变化、运动的视觉检测、接近所述设备的用户的视觉检测、面部的视觉识别、接近触敏显示屏的手指的检测、所述设备的移动、环境声音的检测、语音的检测或者特定说话者的检测中的一个或多个。12.根据权利要求10所述的系统,其中响应于物理按钮的按压、通过所述计算设备的图形用户界面提供的虚拟按钮的按压或者手势来生成处理或记录音频的所述信号。13.根据权利要求10所述的系统,其中所述一个或多个处理器还被配置来: 在处理或记录音频的所述信号的接收之前计算音频修正;以及 将所述音频修正应用至在所述信号之后接收的音频。14.根据权利要求13所述的系统,其中所述一个或多个处理器还被配置来: 至少部分地基于存储在第一循环缓冲器中的音频计算所述音频修正; 将所述音频修正应用至存储在第二循环缓冲器中的音频;以及将存储在所述第二循环缓冲器中的所述音频的一部分与在所述信号之后接收的音频组合。15.根据权利要求10所述的系统,其中所述一个或多个处理器还被配置来: 至少部分地基于用户历史识别与捕获的音频的利用相关的设备活动的模式;以及 将至少即将发生的设备活动的所检测标记和与所述标记的发生相关的其他数据与所述识别的模式相比较, 至少部分地基于所述比较激活所述循环缓冲器。
【文档编号】G06F5/10GK106030440SQ201480048338
【公开日】2016年10月12日
【申请日】2014年8月27日
【发明人】斯坦·韦德纳·萨尔瓦多, 托马斯·沙夫
【申请人】亚马逊技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1