回音消除的配置的制作方法

文档序号:7640917阅读:245来源:国知局
专利名称:回音消除的配置的制作方法
回音消除的配置 背景采用连网的计算设备进行实时通信正变得越来越流行。这可采取例如互联网语音传输协议(VOIP)电话、启用音频的聊天程序、以及音频和视频流等形式。提供最高质量的音频和/或视频体验会是提供实时通信音频客户端的许多 公司之间的区分要素。对音频组件的通信体验质量的一个起作用的因素是回音消除的可获得性 和有效性。被设计用于联网的计算机系统之间的音频通信的许多软件应用程序 提供回音消除特征。然而,这些回音消除特征一般必须由用户手动启用。此外, 在回音消除算法将有效减少或去除来自通信会话中的声音输出的回音之前,一 般存在一段滞后时间。当从扬声器输出并且在扩音器处被捕获的声音与输入至 扩音器的音频信号作比较时,这段滞后时间长达半分钟或更久,接着任何回音 被消除。因此,即使当回音消除被启用,用户在通信会话的最初期间仍有一个 不佳的体验。本说明书中的此背景一节所包括的信息出于技术参考的目的而被包括于 此,并且不应被视为限定本发明的范围的主题。概述此处所描述和请求保护的技术是针对在实时通信会话或其它音频通信之 前检测对特定音频设备配置是否需要回音消除。如果确定需要回音消除,则在 发起通信会话时,回音消除算法使用对应于音频设备配置的一组存储的参数, 直至该算法接收到足以作出任何必要的进行中调整的音频信息。当配置用于与 计算机系统进行实时音频通信或其它音频通信的设备时,存储于计算机系统的 存储器中的模范样本音频文件通过与计算机系统相连的扬声器输出设备被播 放。由此产生的声音被与计算机系统相连的扩音器输入设备捕获并转换以生成 一个捕获的音频信号,该捕获的音频信号被数字化以供输入设备或计算机系统处理。该捕获的音频信号与样本音频信号进行相关,以确定该捕获的音频信号 中任何回音效应的存在。该捕获的音频信号中的任何回音的特性,例如,频率、 延迟和增益,被参数化,并存储为供回音消除算法使用的初始值。提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本概述并非意在确定所请求保护的主题的关键特征或必要特征,也并 非意在用来限制所请求保护的主题的范围。在某些实现中,制品被提供为计算机程序产品。计算机程序产品的一个实 现提供对计算机系统可读的计算机程序进行编码的计算机程序存储介质。计算 机程序产品的另一个实现还可以以计算机数据信号被提供,该计算机数据信号 通过计算机系统体现在载波中并对计算机程序进行编程。所请求保护的主题的 其它特征、细节、用途以及优点,随着各种实施例和实现进一步在附图中示出 并在所附权利要求中被定义,将从下面的各种实施例和实现的更具体的书面详 细描述中变得显而易见。附图简述

图1绘出具有多个附连的音频设备的示例性个人计算机系统。图2示出计算机系统中用于检测回音效应以及定义回音消除参数的示例性 模块。图3示出捕获的音频信号中的回音效应。图4示出由图1的模块执行的用于检测设备配置的一系列示例性操作。 图5示出计算机系统中用于采用存储的参数来启动回音消除模块的示例性 模块。图6示出由图3的模块执行的用于启动回音消除模块的另一系列示例性操作。图7示出用于进行实时通信会话和其它音频输入和输出功能的示例性计算 机系统。详细描述此处描述的技术的一种实现提供对在计算机系统上运行的软件应用程序中的回音消除的自动启用和配置。该技术帮助进行音频通信会话的计算机系统 的用户方便得地识别并更快减轻由用于进行这种会话的音频设备引起的声音 输出中的回音效应。当进行音频会议(例如使用个人计算机系统的VOIP电话呼叫)时,必须 要有音频输入设备(例如扩音器)和音频呈现设备(例如一个或多个扬声器)两者才能进行通信会话。如图1所示,个人计算机系统100可配备包括音频功 能的各种外围设备。典型的个人计算机系统100可包括计算机102和与计算机 相连接的视频监视器104、键盘106和鼠标108。计算机102可具有内置扬声 器118用于产生声音。视频监视器104还可配备有一对扬声器110。此外,个 人计算机系统100的用户还可附连一组外置于计算机102的扬声器112。个人 计算机系统IOO还可包括用来进行网络视频会议的视频摄像机和扩音器114的 组合。用户还可附连组合了耳机扬声器和扩音器的头戴式耳机用于参加VOIP 或网络视频会议。来自扬声器的声音输出通常被扩音器捕获。包括该声音输出的来自扩音器 的输入信号对于对应于该声音输出的原始音频信号稍有延迟。因此,传输至原 始音频信号的源并在该源位置处的扬声器上输出的来自扩音器的捕获的声音 会产生令位于该源位置的一方恼人的回音效应。由此,提供回音消除算法,以 在输出捕获的信号之前去除捕获的信号中的原始音频信号的残留。此处所描述 的系统和方法自动帮助计算机系统的用户确定是否需要回音消除、在必要时启 用回音消除、以及在例示回音消除算法时提供初始参数。在一个示例性实例中,测试具有相连接的扩音器和扬声器的计算机系统来 确定是否需要与实现实时通信会话的音频-客户端结合的回音消除算法。如果 是,则实现回音消除算法的自动启用。为了确定回音消除对于特定音频配置是 否必须,存储于与计算机系统相关联的存储器中的样本音频文件可通过与计算 机系统相连接的扬声器输出。该样本音频文件被转换成模拟信号并传输至扬声 器。扬声器将模拟音频信号转换成声学能量以便在空气中产生声波。任何声波,包括对应于样本音频文件的声音,被扩音器拾取并被转换成模 拟音频信号。在扬声器播放样本音频文件的同一时间段内记录扩音器所接收的 声音。该模拟音频信号被扩音器或计算机系统转化成数字数据格式。在一个实现中,如果需要的话,来自扩音器的捕获的音频数据和样本音频文件被转换成 一个共同的数据格式。来自捕获的声音的音频数据与来自已知样本音频文件的 音频数据作比较,以确定音频数据之间是否存在指示回音信号存在的相关。如果存在回音相关,则激活回音消除算法以将捕获的音频数据与样本音频 数据作比较并计算一组初始参数以供今后例示音频-客户端时使用。当一个通 信会话开始时,回音消除算法使用存储的初始参数来处理捕获的音频信号。如 果是不明显的相关,则计算机系统可确定对特定音频设备配置使用回音消除算 法是没有必要的,并且是处理资源的低效使用。在这种情况下,可禁用回音消 除算法。图2示出具有用于实现回音消除激活技术的组件和模块的示例性计算机系 统200。两个示例性外围设备,扩音器202和扩音器204,与计算机系统200 相连。扩音器202可以是内置于计算机系统200的硬件设备,或者是通过有线 或无线连接与计算机系统200相连的外部设备。类似地,扬声器204可以是内 置于计算机系统200的硬件设备,或者是通过有线或无线连接与计算机系统 200相连的外部设备。扬声器204可以是单个喇叭、 一对喇叭、或是多个喇叭 的系统,例如在"环绕"配置中。或者,扩音器202和扬声器204可被组合于 一单个设备,例如电话手持听筒或头戴式耳机中。扩音器202作为音频捕获模 块206的输入设备与计算机系统200相连。扬声器204作为音频呈现模块208 的输出设备与计算机系统200相连。如从扩音器204到扩音器202的箭头所示,扬声器204发射的声音可被扩 音器202拾取。这是回音效应的源头。如图2所示,自动回音消除确定功能可利用由虚线210示出的计算机系统 200的内核和用户模式两者内的资源来实现。在其它操作系统和计算环境中, 这种组件和模块可在软件体系结构的其它层上被控制。在此示例性实施例中, 内核管理包括处理器和存储器以及低层硬件接口的机器硬件资源,并通过例如 设备驱动程序、存储器管理例程、调度器和系统调用来控制例如用户模式组件 等其它软件组件访问这些资源的方式。音频捕获模块206和和音频呈现模块208两者均驻留在内核中。音频捕获 模块206将扩音器202产生的模拟音频信号从声波转换成数字数据信号,例如脉冲编码调制(PCM)数据、压縮盘原始(CDR)数据或其它常见的数据格式, 以供计算机系统200的进一步处理。PCM数据可具有各种质量,例如,PCM 16、 PCM 32或PCM 48。音频呈现模块208将例如波形音频(WAV)格式、MPEG1、 数字声音模块(DSM)音频格式或其它常见的数据格式等数字音频文件转换成 模拟音频信号,以供扬声器204进行声学呈现。在其它形式中,扬声器014和 扩音器202的每一个或两者可以是数字扬声器或数字扩音器,其中数模转换的 音频呈现功能和模数转换的音频捕获功能分别发生在扬声器和扩音器它们自 身中。因此,在这种形式中,音频呈现模块208和音频捕获模块206不需要驻 留在内核中。
其它功能在用户模式中被实现,例如,被实现为在被扩音器202和音频捕 获模块206接收的音频数据以及其它数据上操作的软件处理例程。回音参数化 模块212包括样本音频文件214、信号处理器216、信号检测模块218和回音 消除模块220。样本音频文件214可被回音参数化模块212执行的操作访问并 且可传输至音频呈现模块208和信号处理器216之一或两者。样本音频文件214 作为己知的音频样本被传输至音频呈现模块208以供输出至扬声器204,以便 测试扬声器204和扩音器202的配置以确定是否产生回音效应。
样本音频文件214可以是一个数字音频文件,例如WAV文件或其它文件 格式,它被选作为所产生的声音的特征。例如,样本音频文件214可产生包括 通过扩音器202能容易检测到的特定频率范围的声音。样本音频文件214可另 外被选择用来产生对用户悦耳的声音(例如,音乐序列),或提供对用户有价 值的信息(例如,配置指令或广告)。或者,计算机系统可生成在扩音器处输 出的一组音调,以便进行回音效应的测试,而不使用样本音频文件214。在另 一个实例中,可向计算机系统200提供来自通过网络与计算机系统200相连的 另一个源处的样本音频文件。在任何情况下,构成由扬声器204输出的样本音 频信号的音频数据应该可用于通过信号处理器216输入到信号检测模块218和 回音消除模块220中,以供与捕获的音频信号作比较。
从扩音器202接收的音频信号还可从音频捕获模块206被传输至信号处理 器216。信号处理器216可处理来自音频捕获模块206和样本音频文件214的 音频信号之一或两者,以便将音频信号转换成共同数据格式,以供音频信号的比较为目的。例如,如果来自音频捕获模块206的音频信号是PCM格式,而 音频样本文件214是WAV格式,则信号处理器216可将音频样本文件214转 换成PCM格式。或者,信号处理器可将来自音频捕获模块206的音频信号转 换成WAV格式。在又一个实例中,当第三种格式,例如音频互换文件格式 (AIFF)或某些其它数据格式,能帮助设备检测模块212进行进一步处理时, 来自音频捕获模块206的音频信号和音频样本文件214两者均可被信号处理器 216转换成这种格式。再一次,可采用用于音频数据的任何期望的文件格式。
一旦信号处理器216处理了来自音频捕获模块206的音频信号和样本音频 文件214之一或两者,信号检测模块218将捕获的音频信号与样本音频文件214 作比较。通过直接访问样本音频文件214对由信号处理器216所处理的信号的 检测需要达到一定水平来确认该样本音频文件214仍然存储于回音参数化模块 212内并能被回音参数化模块212访问,并且没有被损坏、删除、移除或者重 新定位。如果样本音频文件214不可访问,则扬声器204不会产生测试音频声 音用来在扩音器202处检测。因此,在一开始,对直接来自样本音频文件214 的数据的检测可用来检查设备检测模块212的完整性及其将捕获音频信号与己 知样本音频信号作比较的能力。
将来自音频捕获模块206的音频信号与音频样本文件214的比较还可被用 来确认扬声器204实际上在工作并且实际上使用样本音频文件214执行了测 试。例如,如果某些环境声音一般由扩音器202拾取,但是样本音频文件214 没有在扬声器204处输出,则回音消除模块218可能错误得出结论,即不存在 回音效应并且不需要启动回音消除算法。在样本音频文件214应该由扬声器 204播放的那段时间内的特定时间窗口内捕获和记录来自扩音器202的音频信 号能帮助辨别经扩音器202转换的声音是否源自扬声器204的能力。由此,信 号检测模块218将对应于来自音频捕获模块206的数据的例如频率、强度和时 序等特性与来自音频样本文件214的数据进行比较,以确定是否存在数据的匹 配。如果数据确实相关,则信号检测模块218确认样本音频文件确实被扩音器 捕获过,并成为回音消除模块220执行的回音效应测试的基础。
除了信号检测模块218,信号处理器216还将捕获的音频信号和样本音频 信号传送至回音消除模块220。在测试期间,回音消除模块220比较并分析捕获的音频信号和样本音频信号,以确定是否存在显著的回音效应。在某些实例 中,可能没有回音效应,并且因此不需要通过回音消除算法来对捕获的音频信 号进行滤波。如果没有回音效应,则这样的滤波将会是对处理资源的使用不佳。 例如,某些头戴式耳机、电话手持听筒和扬声器电话已经包括回音消除软件和
硬件,这样通过计算机系统200的回音消除模块220的滤波将是多余的。在其 它实例中,音频设备的环境和配置是那种不产生可察觉的回音效应的环境和配 置。
回音效应的明显度一般由捕获的音频信号内的回音信号的强度确定。图3 示出回音效应的一个示例性的示意图。图300绘出了原始音频信号302的单一 频率波形,即在当前的测试情景中,作为直线的样本音频信号和作为虚线的捕 获的音频信号内的回音信号304。回音信号304稍被延迟并且跟随着原始音频 信号302。回音信号304的幅值一般小于原始音频信号302的幅值,由此表示 能量较小的信号。然而,回音信号304的强度可足够超过被确定为明显影响用 户的通信会话质量的阈值并且由此适用回音消除。然后, 一般通过引入具有对 应的频率但幅值相反的干扰信号抵消回音信号的效应来执行回音信号304的消 除。
除了仅确定捕获的音频信号中是否存在回音效应之外,回音消除模块220 还使用来自捕获的音频信号和样本音频信号的比较的数据以便计算实际的、实 时的通信会话开始时回音消除模块220将使用的一组初始化参数。回音消除模 块220可在回音消除算法的特定实现中使用若干不同参数,例如,估计的扬声 器对扩音器的增益统计数值、估计的扬声器到扩音器的延迟统计数据、以及捕 获的音频的频率特性。频率特性可通过公知的傅里叶变换函数或通过其它常见 方法来比较。
这些参数被用来同步回音消除模块220中的通过扬声器播放的样本音频信 号与由扩音器捕获的音频之间的"滑动窗口"。滑动窗口可被理解为不断更新 的时间段以及在那段特定时间段期间被播放或捕获的对应的声音。回音消除模 块220使用输出样本音频信号的滑动窗口来确定在对应于捕获的音频信号的滑 动窗口中消除什么,并使用捕获的音频信号的滑动窗口来限制搜索。这些滑动 窗口需要基于延迟和反射路径在时间上同步。滑动窗口的大小也基于回音的数目和延迟及反射路经中的变化被参数化以搜索尽可能少的捕获的音频信号流, 以便减少回音消除模块所花费的处理周期数。
一旦基于样本音频信号测试计算了初始化参数,该初始化参数即被保存在
数据存储模块222。如以下进一步描述的,该初始化参数在实际的、实时的通 信会话的一开始被重新调用。
如图2所示,计算机系统200还包括在用户模式内运行的音频应用程序 226。音频应用程序226可以是被用户例示的将控制被配置为进行通信会话的 例如扩音器202和扬声器204等输入和输出设备的软件程序。示例性音频应用 程序可以是VOIP客户端和启用音频的聊天程序。
"回音消除选择"224应用程序接口 (API)作为回音参数化模块212与 音频应用程序226之间的接口来传输基于回音消除模块220利用样本音频文件 214作出的测试的结果指示音频应用程序226在通信会话期间是应该启用还是 禁用回音消除的数据。或者,音频应用程序226可通过图形用户界面(GUI) 中的消息向用户提供警示(例如,可在显示监视器上展示"弹出"窗口)以在 音频应用程序226中手动启用或禁用回音消除。
第二API,即音频设备选择API 228,也与音频应用程序226接口,并且还 与扩音器202和扬声器204通过其与计算机系统200连接的输入和输出端口接 口。(尽管没有在图2中示出,但音频应用程序226可另外与带有单独API 的音频呈现模块208接口 ,以便产生来自由音频应用程序226进行的通信会话 (例如,VOIP电话呼叫)的声音)。
音频设备选择API 228激活与期望与音频应用程序226 —起使用的音频设 备相连接的输入端口或输出端口。例如,用户的计算机系统200可具有多个扩 音器202,例如,集成于显示监视器的第一扩音器和集成于web摄像头的第二 扩音器,以及具有多个扬声器204,例如,与计算机系统200线连的第一组扬 声器和集成于显示监视器的第二组扬声器。音频应用程序226可询问用户喜欢 用哪个扩音器或哪组扬声器以用于音频通信目的。音频应用程序226可通过音 频设备选择API 228打开和关闭适当的数据端口来激活期望的扩音器202和扬 声器204的组合。
图4示出由计算机系统执行的执行自动回音消除确定的一系列示例性操作。在图2的计算机系统的示例性配置的上下文中,回音参数化模块被配置成 检测对应于样本音频文件的回音效应的存在,确定特定计算机系统环境和外围 音频设备配置是否需要回音消除例程,以及计算用于回音消除算法的初始化参 数。尽管在图2的计算机系统的上下文中描述,但应该理解的是,此处所描述 的这些和其它操作可在除图2的计算机系统之外的系统上执行。此外,该操作 中的任何一个操作或全部操作可由硬件、软件、固件或任何其组合来执行。
一开始,在选择操作402中,音频应用程序或者提示用户选择和配置,或 者自动选择用于音频通信会话的音频设备配置。 一旦确定了音频设备配置,启 动播放操作408。在播放操作408中,样本音频文件被传输至音频呈现设备以 便通过所选扬声器回放。这样的提示或者要求可通过显示监视器上的GUI消息 来展示。然后,捕获操作406记录被扩音器拾取的声波,这包括由扬声器产生 的与样本音频文件相关的声音。声波被扬声器转换为模拟信号,该模拟信号被 音频捕获模块进一步转换为数字音频格式。
在转换操作408中,该样本音频文件还可被信号处理器访问并被转换成能 容易与捕获的音频数据的格式作比较的数据格式。例如,如果捕获的音频数据 是PMC格式的,而样本音频文件是WAV格式的,则可将样本音频文件从WAV 转换成PMC。在替换操作中(图4中未示出),信号处理器可将捕获的音频 数据转换成样本音频文件的格式。在又一个替换操作中(图4中未示出),捕 获的音频数据和样本音频文件两者的数据格式可被转换成第三个共同格式。
一旦样本音频文件和捕获的音频数据都是一个共同格式,则第一分析操作 410分析对应于转换的样本音频文件的样本音频信号的频率范围、时间特征、 能级以及任何其它期望的特性。第二分析操作412类似地分析对应于捕获的音 频数据的捕获的音频信号的频率范围、时间特征、能级以及任何其它期望的特 性。
然后,确定操作414将捕获的音频信号的特性与样本音频信号作比较,以 确保样本音频文件成为在捕获的音频信号内发现的任何回音效应的基础。确定
操作414可对捕获的音频数据的窗口或快照进行连续地分析,以帮助捕获的音 频数据与样本音频信号进行相关。确定操作414可通过从对应于扬声器播放样 本音频文件的那个时间段的特定时间段内选择窗口来縮小用来査看相关的捕获的音频信号的窗口。由此,在捕获的音频信号的每一个窗口内的频率范围和 能级与样本音频信号的频率范围和能级之间进行合理相关。这被视为一个质量 控制功能,用于进一步确保由回音消除模块所计算的任何初始化参数是基于样 本音频文件的分析而不是被扩音器拾取的环境背景噪音。音频信号不需要完全 一致,但只需合理地接近即可。被认为是合理接近的差值的阈值或范围可以是 预先确定或是用户可设置的。
当确定操作414将捕获的音频信号与样本音频信号作比较以进行内容相关 时,处理操作416通过回音消除算法处理捕获的音频信号和样本音频信号。回 音消除算法是公知的,并且任何示例性回音消除算法可在该操作中被采用。例 如,计算机系统所使用的最新的音频通信程序,例如,MSN Messenger , AOL Instant Messenger、 Skype 、 Google Talk及其它采用可由用户手动启用的回 音消除算法。回音消除算法一般是动态并且不断调整或"收敛"以消除会随变 化的环境(例如,不同用户的嗓音或物理位置)而变化的回音效应。处理操作 416—开始对回音效应(如果存在的话)是否处于明显足以需要进行消除的水 平作出阈值确定。如果是,则处理操作416通过回音消除算法进一步处理捕获 的音频信号和样本音频信号以减少或消除回音效应。
计算操作418确定回音消除算法所采用的用来消除对应于样本音频文件的 回音效应的一组参数。样本音频文件被选择用来生成具有足够供回音消除算法 计算一组参数的时间长度的样本音频信号,该组参数将消除由计算机系统的环 境和所附外围音频设备的配置所导致的任何回音效应。在保存操作420中,由 计算操作418计算的该组参数被保存到数据存储模块中。保存的参数被作为当 例示回音消除算法以对计算机系统所主持的实时通信会话进行滤波时的初始 化参数使用。
图5示出被配置成通过网络518参与实时通信会话的计算机系统500。在 通信会话开始之前,回音消除模块520访问来自数据存储模块522的初始化参 数。这些初始化参数是通过图4的示例性操作根据样本音频文件所计算出的参 数。因此,当启动了实时通信会话,来自另一个参与者524的音频信号通过与 计算机系统500相连的网络518到达该用户的计算机系统500,该回音消除模 块520能够立即并有效地消除任何回音效应,而没有任何用户可察觉的滞后时间。
在典型的、实时通信会话期间,来自另一个参与者524的音频信号可通过 网络518传输至计算机系统500。解码器514处理进入的音频信号以对进入的 音频信号进行解调或以其它方式对进入的音频信号进行解码。然后,进入的音 频信号被传输至回音消除模块520和音频呈现模块508两者。音频呈现模块508 将进入的音频信号从数字数据转换成模拟信号,以供扬声器504输出。如从扬 声器504到扩音器502的箭头所指示的,扩音器502拾取对应于由扬声器504 产生的进入的音频信号的声波。
除了由用户产生的任何声音(例如,讲话)和任何环境噪音之外,扩音器 502还捕获进入的音频声音。捕获的音频被转换成模拟信号,音频捕获模块506 将该模拟信号转换成数字捕获音频信号。捕获的音频信号在被传送至回音消除 模块520之前作为进入的音频信号被传输至信号处理器516以用于将其转换成 共同数字数据格式。或者,进入的音频信号可从解码器514传输至信号处理器 516,而捕获的音频信号能从音频捕获模块506直接传输至回音消除模块520。 此外,进入的音频信号和捕获的音频信号两者均可被信号处理器516处理成共 同的数据形式,以供回音消除模块520的进一步处理。
使用来自数据存储模块522的初始化参数,回音消除模块520对捕获的音 频信号进行滤波以去除对应于进入的音频信号的任何回音效应。如前所述,采 用的回音消除算法是动态的,并且不断监视捕获的音频信号中由于环境的变化 会移动和改变的回音效应。因此,进入的音频信号作为用于与捕获的音频信号 进行比较的数据被输入至回音消除模块520,以适应回音效应中的移动并确保 连续的收敛。由此,进入的音频信号按样本音频数据被用来生成初始化参数的 同样方法在通信会话的过程中被回音消除模块520用来形成经更新的参数值。 然而,通过对初始化参数的使用,有效的回音消除在通信会话开始时提供,而 不存在任何否则其间会存在回音效应的滞后时间段。
一旦捕获的音频信号被滤波,它就被传输至编码器模块512以进行调制和 其它需要的数据转换,以便在网络518上传输至通信会话的其它一个或多个参 与者。该过程在通信会话的持续期间内继续。因此,当启动每个新的通信会话 时,在对样本音频文件的测试过程中构造的初始化参数可被回音消除模块访问以提供有效、立即的回音消除。初始化参数对于不改变配置或环境的计算机系 统来说是最有效的。在计算机系统常常被重新定位到各种环境中的情况下,例 如,经常旅行的膝上型计算机用户或者具有被用户轮流选择的多个外围音频设 备选项的计算机系统,用户会在启动通信会话之前在新的环境中运行测试程序 以建立专门针对该环境的新的初始化参数以便利用及时回音消除的好处。
图6示出在启动通信会话时由计算机系统执行的一系列操作,其中用于回 音消除程序的初始化参数已在先前被计算并保持。在例示操作602中,激活音 频应用程序以在计算机系统上进行实时音频通信会话。在加载操作604中,从 数据存储位置中检索先前保存的回音消除参数并将其输入至回音消除模块中。 在应用操作606中,音频应用程序启用采用初始化参数的回音消除并立即将其 应用于捕获的音频信号。随着通信会话的进行,调整操作608在会议过程期间 必要时调整回音消除参数以应对进入的音频信号的变化和可能影响捕获的音 频信号的环境中的变化,以便最大化回音消除算法的有效性。
图7示出可被用来在网络上进行实时通信会话的并且此处所描述的检测技 术可在其中运行的示例性计算系统700。尽管例如视频游戏控制台、机顶盒、 便携式游戏系统、个人数字助理和移动电话等其它实施例可将所描述的技术纳 入其中,但在一个实现中,计算机系统700可由台式或膝上型计算机来实施。 计算机系统700通常包括至少一个处理单元702和存储器704。取决于计算机 系统700的确切配置及类型,存储器704可以是易失性的(例如,RAM)、非 易失性的(例如,ROM和闪存)或两者的某一组合。如虚线706所示出的, 计算机系统700的最基本配置仅需包括处理单元702和存储器704。
计算机系统700还可包括用于存储器存储或检索的其它设备。这些设备可 以是可移动存储设备708或不可移动存储设备710,例如用于在磁或光介质上 的存储器存储和检索的磁盘驱动器、磁带驱动器和光驱动器。存储介质可包括 易失性和非易失性介质,可移动和不可移动两者,并且可用多种配置中的任何 一种来提供,例如,可被用来存储数据并能被处理单元702访问的RAM、ROM、 EEPROM、闪存、CD-ROM、 DVD或其它光存储介质、磁带盒、磁带、磁盘 或其它磁存储设备或任何其它存储器技术或介质。信息可被存储于采用存储例 如计算机可读指令、数据结构和程序模块等数据的任何方法或技术的存储介质上。
计算机系统700还可具有允许系统700与其它设备通信的一个或多个通信 接口712。通信接口可与局域网(LAN)、广域网(WAN)、电话网络、电缆 网络、因特网、直接线连接、例如射频、红外、微波、或声学等无线网络、或 允许设备间的数据传输的其它网络相连。数据一般通过例如载波或其它传输介 质等已调制数据信号通过网络发送至通信介质712或从通信介质712发送。已 调制数据信号是一种以在该信号中编码数据的方式设置或改变特性的电磁信 号。
计算机系统700还可具有各种数据设备714和输出设备716。示例性输入 设备714可包括键盘、鼠标、手写板、触摸屏设备、扫描仪、视觉输入设备和 扩音器或其它声音输入设备。示例性输出设备716可包括显示监视器、打印机 和扬声器。这样的输入设备714和输出设备716可与计算机系统700集成,或 者它们可以通过有线或无线(例如,通过蓝牙协议)与计算机系统700连接。 这些集成的或外围输入和输出设备一般是公知的,并且不在此处做进一步讨 论。在一种实现中,实现用于配置回音消除(包括例如样本音频文件)的方法 或模块的程序指令被包含于存储器704中和存储设备708和710中,并被处理 单元702执行。例如音频呈现模块和音频捕获模块执行的其它功能可被计算机 系统700的非易失性存储器704中的操作系统执行。
此处描述的技术被实现为一个或多个系统中的逻辑操作和/或模块。逻辑操 作可被实现为在一个或多个计算机系统中执行的由处理器实现的步骤序列,以 及被实现为在一个或多个计算机系统内的互连机器或电路模块。同样,关于由 模块执行或实现的操作,提供各种组件模块的描述。所得的实现是选择的问题, 并取决于实现所述技术的底层系统的性能要求。因此,组成此处所描述的技术 的实施例的逻辑操作以不同的方式称为操作、步骤、对象或模块。此外,应该 理解,逻辑操作可按任何顺序执行,除非明确申明或者权利要求语言固有地需 要的特定顺序。
以上说明书、示例和数据提供对本发明的示例性实施例的结构和使用的描 述。尽管以上以一定的具体程度描述了本发明的各种实施例或者参考了一个或 多个单独实施例,但本领域的技术人员可在不脱离本发明的精神和范围的情况下枚举出所公开的实施例的各种更改。特别是,应该理解,所描述的技术可独 立于个人计算机被采用。由此,可预期到其它实施例。希望的是,在以上描述 中所包含的以及在附图中所显示的所有内容应该被解释为仅是说明具体实施 例的,而不是限制。在不脱离所附权利要求中所定义的本发明的基本要素的情 况下可在细节或结构上作出改变。
权利要求
1. 一种用于确定是否在计算机系统(200)内应用回音消除的方法,所述 计算机系统(200)与扩音器(202)和扬声器(204)相连接,所述方法包括:通过所述扬声器(204)输出从样本音频信号产生的样本声音(404); 通过所述扩音器(202)捕获所述样本声音来生成捕获的音频信号(406);以及分析所述捕获的音频信号和所述样本音频信号(410, 412)来确定所述捕 获的音频信号是否包括与所述样本音频信号相关联的回音效应(414)。
2. 如权利要求0所述的方法,其特征在于,所述方法还包括当确定了与所 述样本音频信号相关联的所述回音效应时,自动配置所述计算机系统(200)来启用回音消除算法。
3. 如权利要求0所述的方法,其特征在于,所述方法还包括计算用于回音 消除算法的一个或多个初始化参数以消除所述捕获的音频信号中的所述回音 效应(418)。
4. 如权利要求3所述的方法,其特征在于,所述方法还包括将所述初始化 参数保存在所述计算机系统的存储器中(420)。
5.如权利要求5所述的方法,其特征在于,所述方法还包括: 访问所述存储器中的所述初始化参数(604); 利用所述初始化参数来启动所述回音消除算法(606);以及 通过所述回音消除算法对音频信号进行滤波。
6.如权利要求5所述的方法,其特征在于,所述方法还包括 将在所述滤波操作期间的所述回音消除算法中的所述初始化参数替换为 由所述回音消除算法动态形成的另外参数(608)。
7. 如权利要求0所述的方法,其特征在于,所述方法还包括处理所述样本 音频信号和所述捕获的音频信号中的至少一个,以将所述样本音频信号、所述 捕获的音频信号或两者转换为共同格式(408)。
8. —种具有用于执行实现如权利要求0所述的方法的计算机过程的计算 机可执行指令的计算机可读介质。
9. 一种用于配置计算机系统(200)中的回音消除算法的方法,所述计算 机系统(200)与扩音器(202)和扬声器(204)相连接,所述方法包括通过所述扬声器(204)输出从样本音频信号产生的样本声音(404); 通过所述扩音器(202)捕获所述样本声音来生成捕获的音频信号(406);以及计算用于所述回音消除算法的一个或多个初始化参数,所述回音消除算法 消除在所述捕获音频信号中检测到的并与所述样本音频信号相关联的回音效 应(418)。
10. 如权利要求9所述的方法,其特征在于,所述方法还包括自动配置所 述计算机系统(200)以便在检测到所述回音效应时启用所述回音消除算法。
11. 如权利要求9所述的方法,其特征在于,所述方法还包括处理所述样 本音频信号和所述捕获的音频信号中的至少一个,以将所述样本音频信号、所 述捕获的音频信号或两者转换为共同格式(408)。
12. 如权利要求9所述的方法,其特征在于,所述方法还包括 利用所述初始化参数启动所述回音消除算法(604);以及 通过所述回音消除算法对额外的捕获的音频信号进行滤波(606)。
13. 如权利要求9所述的方法,其特征在于,所述方法还包括将所述初始化参数保存在所述计算机系统的存储器中(420)。
14. 如权利要求13所述的方法,其特征在于,所述方法还包括 访问所述存储器中的所述初始化参数(604); 利用所述初始化参数启动所述回音消除算法(604);以及 通过所述回音消除算法对额外的捕获的音频信号进行滤波(606)。
15. 如权利要求14所述的方法,其特征在于,所述方法还包括 将在所述滤波操作期间的所述回音消除算法中的所述初始化参数替换为由所述回音消除算法动态形成的另外参数(608)。
16. —种具有用于执行实现如权利要求9所述的方法的计算机过程的计算 机可执行指令的计算机可读介质。
17. —种配置回音消除算法的计算机系统(700),所述计算机系统(700) 包括处理器(702);可被所述处理器访问并且具有包含样本音频信号的样本音频文件(214) 的存储器(704);受所述处理器(702)控制并能够输出对应于所述样本音频信号的样本声 音的扬声器(204, 716);受所述处理器(702)控制并能够接收包括所述样本声音的捕获的声音并 生成对应的捕获的音频信号的扩音器(202, 714);以及回音消除模块(220),所述回音消除模块计算用于所述回音消除算法的 一个或多个初始化参数,所述回音消除算法消除在所述捕获的音频信号中找到 的并与所述样本音频信号相关联的回音效应。
18. 如权利要求17所述的计算机系统,其特征在于,所述计算机系统还包 括受所述处理器(702)控制的信号检测模块(218),所述信号检测模块接收所述样本音频信号和所述捕获的音频信号两者,并适用于比较所述样本音频信 号与所述捕获的信号以确定所述捕获的音频信号是否包括与所述样本音频信 号相关联的回音效应。
19. 如权利要求17所述的计算机系统,其特征在于,所述存储器(704) 还存储所述初始化参数。
20. 如权利要求19所述的计算机系统,其特征在于,所述处理器(702)还访问所述存储器(704)中的所述初始化参数; 利用所述初始化参数启动所述回音消除算法;以及 通过所述回音消除算法对额外的捕获的音频信号进行滤波。
全文摘要
在实时通信会话之前确定是否启用回音消除。存储于计算机系统(200)上的存储器中的模范样本音频文件通过与计算机系统(200)连接的扬声器(204)被播放。由扬声器(204)产生的声音被与计算机系统(200)相连接的扩音器(202)捕获以生成捕获的音频信号。将该捕获的音频信号与样本音频信号相关以确定该捕获的音频信号中的任何回音效应的存在。该捕获的音频信号中的任何回音的特性,例如,频率、延迟和增益,被参数化(418)并作为初始值(420)存储以供回音消除算法使用。存储的参数在启动通信会话时被回音消除算法使用直至该算法接收到能作出任何必需的实时调整(608)的足够多的实时信息。
文档编号H04B3/23GK101313483SQ200680043244
公开日2008年11月26日 申请日期2006年10月30日 优先权日2005年11月17日
发明者A·W·卡兰茨, W·L·隆尼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1