分离的音频分析和处理的制作方法

文档序号:12368785阅读:261来源:国知局
分离的音频分析和处理的制作方法与工艺

本文中公开的示例实施例总体上涉及音频信号处理,并且更具体地,涉及用于音频信号的分离音频分析和处理的方法和系统。



背景技术:

为了获得具有良好质量的音频信号,通常需要处理音频信号。这样的音频信号处理任务涉及音频信号分析和基于分析结果进行音频信号处理,以校正和呈现音频信号(诸如,音频信号的播放)。音频信号处理典型地可以包括均衡处理、音量控制、降噪、峰值限制处理等等。

音频处理系统通常根据诸如延迟、计算复杂度或信号失真要求等因素来设计。在常规的音频处理系统中,音频信号分析和处理过程包括时域与频域之间的变换。例如,输入音频信号通常通过加窗而被划分成多个帧。这些帧然后被变换到频域中,从而可以在频率子带水平上分析音频信号的能量、功率或频谱特征。在这样的分析之后,使用分析结果来处理被变换到频域的音频信号,并且经处理的音频信号被变换回时域以供播放。可以针对分析和处理目的两者设计多个滤波器/滤波器组。

在音频处理延迟、计算复杂度和信号失真之间存在折衷。为了获得有效的信号分析,已知的方法不得不以高的计算复杂度或大的延迟来进行操作。更具体地,由于音频信号的成帧和音频信号通过的滤波器组的使用,在已知的方法中引入了较长的延迟。音频信号处理的长延迟很可能降低系统的整体性能并且对用户体验有负面影响,特别是对需要适时处理的情况,诸如即时语音通信。另一方面,为了获得音频信号的完美重构(perfect reconstruction,PR),在时频变换以及对 应的逆变换中使用的滤波器受限于额外的约束,这可能潜在地引入频带隔离和不完美线性卷积的问题。在变换中使用的大多数滤波器方法通常以临界采样的方式来处理信号(例如,子带中的信号被高度下采样(decimated)),并且这样的方法在音频信号处理期间将引入谐波失真。



技术实现要素:

本文中公开的示例实施例提出了一种用于处理音频信号的解决方案。

在一个方面,本文中公开的示例实施例提供了一种用于处理音频信号的系统。该系统包括音频分析模块,被配置为分析输入音频信号以确定针对输入音频信号的处理参数,输入音频信号被表示在时域中。该系统还包括音频处理模块,被配置为与音频分析模块并行地处理输入音频信号。该音频处理模块包括时域滤波器,被配置为在时域中对输入音频信号进行滤波,以获得输出音频信号,以及滤波器控制器,被配置为基于由音频分析模块确定的处理参数来控制时域滤波器的滤波器系数。

在另一个方面,本文中公开的示例实施例提供了一种处理音频信号的方法。该方法包括分析输入音频信号以确定针对输入音频信号的处理参数,输入音频信号被表示在时域中。该方法还包括在时域中与输入音频信号的分析并行地对输入音频信号进行滤波,以获得输出音频信号,在输入音频信号的滤波中使用的滤波器系数基于处理参数来控制。这方面的实施例还包括相应的计算机程序产品。

通过下文描述将会理解,根据本文中公开的示例实施例,音频信号分析和音频信号处理分别由例如音频分析模块和音频处理模块并行地执行。输入音频信号在时域中被滤波,而无需时频变换,因为避免了时频变换,这减少了处理延迟并且因而实现了实时信号处理。时域滤波器还支持线性卷积性能并且避免了输出音频信号中的谐波失真。另一方面,与音频信号处理并行地对音频信号进行分析。当获得 分析结果时,处理参数可以被用于协助对输入音频信号进行滤波。由于(在分析期间)产生的音频信号用于获得处理参数(而不是用于重构输出音频信号),分析模块中的滤波器或滤波器组可以以更灵活的方式来设计,以实现音频分析的良好频带隔离。音频信号还可以在频域中进行分析,而不必要将音频信号变换回时域,这可以减少系统复杂度。本文中公开的示例实施例所带来的其他益处将通过下文描述而清楚。

附图说明

通过参考附图阅读下文的详细描述,本文中公开的示例实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例而非限制性的方式示出了本文中公开的若干示例实施例,其中:

图1是根据本文中公开的一个示例实施例的用于处理音频信号的系统的框图;

图2是根据本文中公开的另一个示例实施例的用于处理音频信号的系统的框图;

图3是根据本文中公开的又一个示例实施例的用于处理音频信号的系统的框图;

图4是根据本文中公开的再一个示例实施例的用于处理音频信号的系统的框图;

图5是根据本文中公开的再一个示例实施例的用于处理音频信号的系统的框图;

图6是根据本文中公开的一个示例实施例的时域滤波器的框图;

图7是根据本文中公开的又一个示例实施例的时域滤波器的框图;

图8是根据本文中公开的再一个示例实施例的用于处理音频信号的系统的框图;

图9是根据本文中公开的一个示例实施例的处理音频信号的方法的流程图;以及

图10是适于实现本文中公开的示例实施例的示例计算机系统的框图。

在各个附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考附图中示出的若干示例实施例来描述本文中所公开的示例实施例的原理。应当理解,描述这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本文中所公开的示例实施例,而并非以任何方式限制本文中所公开的主题的范围。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。

总体而言,根据本文中公开的实施例,音频信号分析和音频信号处理分别由例如音频分析模块和音频处理模块并行地执行。输入音频信号在时域中被滤波,而无需时频变换,因为避免了时频变换,这减少了处理延迟并且因而实现了实时信号处理。时域滤波器还支持线性卷积性能并且避免了输出音频信号中的谐波失真。另一方面,与音频信号处理并行地对音频信号进行分析。当获得分析结果时,处理参数可以被用于协助对输入音频信号进行滤波。由于(在分析期间)产生的音频信号用于获得处理参数(而不是用于重构输出音频信号),分析模块中的滤波器或滤波器组可以以更灵活的方式来设计,以实现音频分析的良好频带隔离。音频信号还可以在频域中进行分析,而不必要将音频信号变换回时域,这可以减少系统复杂度。

图1是根据本文中公开的一个示例实施例的用于处理音频信号的系统100的框图。如所示出的,系统100包括音频处理模块11和音频分析模块12。音频处理模块11和音频分析模块12并行地进行操作以分别执行音频信号处理和分析任务。

根据本文中公开的一个示例实施例,音频分析模块12被配置为分析输入音频信号以确定针对输入音频信号的处理参数。在一个示例实施例中,输入音频信号可以被表示在时域中。在一个示例实施例中,输入音频信号可以具有多声道格式。当然,任何其他适当格式的信号、诸如单声道信号也同样适用。输入音频信号在模块12中被分析,以获得信号的一些频谱、时间和/或空间属性,从而确定用于协助音频信号处理的处理参数。在一些实施例中,模块12中的音频信号分析可以包括能量、功率、响度(loudness)或频谱特性分析。当然,将理解的是,可以出于任何其他目的来分析音频信号,并且本文中公开的主题的范围在此方面不受限制。

所确定的处理参数可以被用于指示分析结果。例如,处理参数可以指示均衡水平、音量水平、降噪水平、或者用于处理输入音频信号的其他处理参数。在本文中公开的一些实施例中,可以确定多个处理参数以控制信号处理的不同方面。处理参数可以是标量值、向量、或者指示若干个预定义的水平中的处理水平的索引。本文中公开的主题的范围在此方面不受限制。处理参数被传递至音频处理模块11中以供使用。

根据本文中公开的一个示例实施例,音频处理模块11被配置为与音频分析模块12并行地处理输入音频信号。如本文中所使用的,“并行地”指的是两个模块中的每个模块以它自己的方式进行操作(例如,最优的分析方式或最优的处理方式)而不需考虑另一个模块的处理进度。通过这样的方式,音频分析模块12可以专用于音频信号分析而没有音频信号重构的约束,因为信号重构是音频处理模块11中的任务。音频处理模块11可以专用于音频处理,具有较低的延迟和良好的线性卷积。在本文中公开的示例实施例中,可以在音频处理模块11中采用时域滤波。由于输入音频信号通常被表示在时域中,在避免了时频变换时就不存在输入音频信号的成帧延迟。时域滤波还可以实现完美线性卷积的目标并且避免了非线性失真,例如谐波失真。

在一些实施例中,音频信号处理可以包括均衡处理、音量控制、降噪或峰值限制处理。当然,将理解的是,还可以出于任何其他目的来处理音频信号,并且本文中公开的主题的范围在此方面不受限制。

如图1所示的,音频处理模块11包括时域滤波器110和滤波器控制器112。根据本文中公开的一个示例实施例,时域滤波器110被配置为在时域中对输入音频信号进行滤波以获得输出音频信号。时域滤波器110可以出于任何预定义的目的而在时域中处理输入音频信号。由于输入音频信号通常处于时域表示,在音频处理模块11中避免了时频变换,这可以显著地降低处理延迟。时域滤波器的使用还可以提高线性卷积性能,从而降低信号失真并且实现音频信号的完美重构。另一方面,因为时域滤波通常涉及诸如乘法和加法之类的运算,因此可以潜在地降低计算复杂度。这还使得音频处理模块适于例如由现代数字信号处理器(DSP)来实施,因为乘法和加法的运算可以使用DSP来有效地实现。将理解的是,还可以采用任何其他类型的处理器,诸如举例而言如以下参照图10描述的通用处理器等。本文中公开的主题的范围在此方面不受限制。

在本文中公开的一些实施例中,时域滤波器110可以基于处理类型来设计。例如,时域滤波器110可以是时域均衡滤波器,用于执行输入音频信号的均衡,或者是时域音量调级滤波器,用于控制信号的音量。时域滤波器110可以根据处理需要而包括一个滤波器、一个滤波器组或者多个滤波器。在本文中公开的一些实施例中,多个不同的时域滤波器110可以被包括在音频处理模块11中以实现不同的处理意图。时域滤波器110可以被设计为低通滤波器、高通滤波器、带通滤波器、带阻滤波器或者限波滤波器。将理解的是,根据需要还可以采用任何其他类型的滤波器。本文中公开的主题的范围在此方面不受限制。

根据本文中公开的一个示例实施例,包括在音频处理模块11中的滤波器控制器112被配置为基于由音频分析模块12确定的处理参数来控制时域滤波器110的滤波器系数。在这种情况下,时域滤波器 110可以是可变的滤波器,其滤波器系数(或者频率响应)受到处理参数的控制。在一些实施例中,时域滤波器可以具有要控制的多个滤波器系数。这些滤波器系数中的一个、一些或者全部系数可以基于处理参数来确定。

如以上所提及的,音频处理模块11和音频分析模块12彼此并行地进行操作。在一些使用情况中,音频处理模块11可以旨在于实时处理。相反,音频分析模块12专用于音频分析,这可能引入相较于音频处理模块11而言更长的延迟。在一些实施例中,滤波器控制器112可以不必要实时地控制时域滤波器110的滤波器系数。无论处理参数何时从音频分析模块12中被提供,滤波器系数都据此更新。

根据本文中公开的实施例,系统100可以具有各种实施方式或变形,以实现最优的处理或分析性能和/或满足不同的使用情况。为了实现灵活和有效的音频分析,在一些实施例中,输入音频信号在音频分析模块12中可以被变换到频域,以供子带水平的分析。图2示出了这样的系统200的框图,其可以被认为是以上描述的系统100的一种实施方式。

如所示出的,在系统200中,音频分析模块12包括信号变换器210。信号变换器210被配置为将输入音频信号从时域变换到频域。例如,可以通过使用窗口来将输入音频信号划分成帧。这些帧然后被变换到频域,以获得针对多个定义的频率子带的多个频率子带系数。因此,可以在频率子带水平上分析音频信号的能量、功率、响度或频谱特性。经变换的音频信号可以在频域中被分析,这允许更可靠的分析结果。

在本文中公开的一些示例实施例中,可以确定针对输入音频信号的多个频率子带的多个处理参数,从而模块11可以对相应的频率子带执行更精细的音频处理。例如,可以确定指示不同频率子带的多个均衡水平的多个处理参数。音频处理模块11可以基于相应的均衡水平对不同的频率子带执行均衡。

在本文中公开的一些示例实施例中,可以设计一个滤波器、一个 滤波器组、或者多个滤波器用于执行时频变换和音频分析。变换可以包括但不限于复杂正交镜像滤波器组(CQMF)、快速傅里叶变换(FFT)或者离散傅里叶变换(DFT)。本文中公开的主题的范围在此方面不受限制。

将理解的是,在音频分析模块12或者甚至在系统200中避免了逆变换、诸如频时变换,因为输入音频信号被变换到频域仅供分析。在音频处理的分支中(例如,在音频处理模块11中),输入音频信号总是在时域中被处理。通过这种方式,系统复杂度可以被降低。另一方面,由于音频分析模块12仅专用于音频分析,而不是用于重构输出音频信号,在设计用于音频分析模块12中的变换或者分析的滤波器/滤波器组时,对于音频信号的完美重构的约束可以被放宽。通过消除完美重构约束,可以期望得到更好的变换属性,诸如频带隔离,这可以进一步改进分析结果。

一般而言,时频变换可能引入与帧大小成比例的较长延迟。如果音频分析模块12专用于准确的分析以获得更可靠的结果,该延迟也可能被增加。相反,音频信号在音频处理模块11中可以以较低的延迟被处理。因此,在音频分析模块12与音频处理模块11之间可能存在延迟差异。在这种情况下,处理参数可能不会被实时地准备好用于音频处理。

对于一些需要实时音频处理和输出的应用,诸如即时语音通信,在一些示例实施例中,模块11中的时域滤波器110可以对输入音频信号的一部分(在下文中也可以被称为“第一部分”,其可以是音频信号的开始部分)进行滤波,而不等待处理参数。在这种情况下,在滤波第一部分时使用的时域滤波器110的滤波器系数可以具有一组默认的系数。备选地,可以使用在先前操作中确定的滤波器系数。在一段时间之后,音频分析模块12可以确定并且向模块11中的滤波器控制器112提供新的处理参数。滤波器控制器112可以基于所确定的处理参数来更新滤波器系数,以获得经更新的滤波器系数。然后,时域滤波器110可以能够使用经更新的滤波器系数来对输入音频信号的后 续部分(在下文中也可以被称为“第二部分”)进行滤波。

由于音频属性在某段时间内通常保持不变,基于音频信号的先前部分确定的处理参数也适于协助音频信号的后续部分的处理。例如,在语音处理系统中,假设音频分析模块12以20ms的帧大小将语音信号变换到频域,并且音频处理模块11实时地处理该语音信号。如果忽略其他分析或处理延迟,两个模块之间可能存在20ms的延迟差异。音频处理模块11中的时域滤波器110可以在没有来自模块12的任何处理参数的情况下,在第一个20ms的时段内对音频信号的第一部分进行滤波。在第一个时段之后,处理参数可以被提供并且使用滤波器110的滤波器系数可以基于这个参数进行控制。时域滤波器110然后可以使用经更新的滤波器系数,在第二个20ms的时段内对音频信号的第二部分进行滤波。

注意到,处理参数的提供还可能被推延一个固定延迟(分析和处理模块之间的延迟的差异)。然而,在实践中这个固定延迟通常较小,并且它对音频分析过程和音频处理过程的影响通常可忽略不计。

尽管参照在时域表示中的输入音频信号来描述示例实施例,将理解的是,还可以通过添加/省略系统中的一个或多个功能块来分析和处理被表示在频域中的原始音频信号。在其中输入音频信号在频域中被提供的一些实施例中,音频分析模块12中的信号变换器210可以被省略并且音频信号可以直接在频域中进行分析。此外,为了执行时域滤波,可以在音频处理模块11中另外地包括信号变换器。这个信号变换器可以被配置为将音频信号从频域变换到时域,从而时域滤波器110可以对经变换后的信号进行滤波。

图3示出了根据本文中公开的又一个示例实施例的用于处理音频信号的系统的框图。如所示出的,系统300另外地包括用户接口13。用户接口13被配置为从用户接收用户输入,以便控制输入音频信号的处理。因此,用户可以参与到音频分析和处理过程,这可以提升用户体验。例如,用户可能期望增加或降低音频信号的音量。用户接口13然后可以从用户接收对应的用户输入,该用户输入指示所期望的音 频信号的音量水平。将理解的是,所接收的用户输入可以指示音频处理的任何方面(如果适当的话)。

用户输入被传递至音频处理模块11。在本文中公开的一些实施例中,滤波器控制器112被配置为基于接收到的用户输入,控制对应的时域滤波器的滤波器系数。例如,如果用户输入指示用户期望的音量水平,时域音量调级滤波器110的滤波器系数可以相应地调整。在其中模块11与模块12之间存在延迟差异的实施例中,用户输入可以被用于确定在没有由模块12确定的处理参数时的滤波器系数。

在本文中公开的一些其他实施例中,由用户接口13接收的用户输入可以备选地被提供至音频分析模块12,从而模块12可以基于它的分析结果以及用户输入两者来确定处理参数。

将理解的是,系统200和300可以结合在一起来使用。更具体地,如图3所示,在一个示例实施例中,系统300可以包括参照图2讨论的信号变换器210。

如以上所提及的,音频分析模块12可以被配置为针对诸如能量、功率、响度或频谱特性之类的不同目的来执行音频分析,以便确定针对输入音频信号的处理参数。在其中期望对输入音频信号进行均衡的情况中,音频分析模块12可以分析输入音频信号以获得指示均衡水平的处理参数。在其中期望调整输入音频信号的音量的情况中,可以获得指示音量水平的处理参数。音频分析模块12还可以确定控制音频信号处理的任何其他方面、诸如降噪或峰值限制处理等方面的处理参数。

图4是根据其中期望对输入音频信号进行均衡的示例实施例的用于处理音频信号的系统400的框图。可以应用信号均衡以实现音频信号的一些频率或子带的所期望的提高或衰减。

在本文中公开的一些示例实施例中,音频分析模块12基于不同类型的音频可能需要不同均衡的现象来执行信号分析。如所示出的,在系统400中,音频分析模块12包括内容分类器410和均衡分析器412。内容分类器410被配置为通过例如在频域或时域中分析频谱或 时间特性来确定输入音频信号的内容类型。音频信号的内容类型可以包括音乐、对话、电影、背景噪声等。在本文中公开的一些实施例中,可以允许音频分析模块12中的更长延迟以获得更可靠的分类结果。

均衡分析器412被配置为基于内容类型来确定指示输入音频信号的均衡水平的处理参数。在一些实施例中,音频信号的每个类型可以对应于不同的均衡水平。

指示均衡水平的处理参数可以被传递至系统400中的音频处理模块11。包括在模块11中的滤波器控制器112可以被配置为基于由处理参数指示的均衡水平来控制时域滤波器110的滤波器系数。时域滤波器110可以被配置为在时域中对输入音频信号执行均衡。利用经更新的滤波器系数,时域滤波器110的频率响应可以被设计为确保输出音频信号被调整至该均衡水平。

在本文中公开的一些实施例中,系统200、300和/或400可以结合在一起来使用。更具体地,如图4所示,在一个示例实施例中,音频分析模块12可以包括参照图2讨论的信号变换器210。在这种情况下,输入音频信号可以首先由信号变换器210变换到频域并且可以在频率子带水平上执行内容分类。例如,可以由模块12分析不同子带的频谱特性以确定音频信号的内容类型。然后可以基于内容类型来确定整体均衡水平或者针对不同子带的多个均衡水平。在另一个示例实施例中,系统400还可以包括参照图3讨论的用户接口13。

将理解的是,音频分析模块12可以被配置为通过许多其他方式来确定用于均衡处理的处理参数。例如,音频分析模块12可以分析不同频率子带中的能量,以为音频处理模块11确定均衡水平。本文中公开的主题的范围在此方面不受限制。

图5是根据其中期望调整输入音频信号的音量的示例实施例的用于处理音频信号的系统500的框图。

在本文中公开的一些示例实施例中,输入音频信号的音量调级可以用于提供贯穿不同内容的一致的感知响度。如图5所示,音频分析模块12包括能量计算器510和音量分析器512。模块12被设计为追 踪输入音频信号的能量/功率,以便为该信号确定适当的音量水平。

能量计算器510被配置为确定输入音频信号的能量或功率。为了更好的感知体验,较高的功率意味着音量需要被降低,并且较低的功率意味着音频信号的音量可以被提高。在本文中公开的一些示例实施例中,系统500中的音频分析模块12可以包括参照图2讨论的信号变换器210。在这种情况下,输入音频信号可以首先由信号变换器210变换到频域中,并且可以在子带水平上执行能量追踪。

音量分析器512被配置为基于输入音频信号的能量或功率,确定指示输入音频信号的音量水平的处理参数。例如,基于所计算的能量或功率,音量水平可以是-20dB与+20dB之间的连续值。

指示音量水平的处理参数可以被传递至音频处理模块11。包括在模块11中的滤波器控制器112可以被配置为基于由处理参数指示的音量水平,来控制时域滤波器110的滤波器系数。利用经过调整的滤波器系数,时域滤波器110可以被配置为在时域中将输入音频信号的音量控制到所确定的音量水平。在本文中公开的一些实施例中,在模块11中,可以在响度域中处理输入音频信号。在一些示例中,音频信号的响度可能与音频水平不是线性关系。在输入音频信号的不同感知子带上的响度水平可以是不同的并且可以基于音量水平来确定。

在本文中公开的一些其他实施例中,音频分析模块12还可以包括噪声分析器514。噪声分析器514被配置为确定输入音频信号的噪声水平。噪声水平可以指示在输入音频信号中包含的噪声量。噪声水平可以被传递至音量分析器512。音量分析器512然后可以基于输入音频信号的功率和噪声水平两者来确定指示音量水平的处理参数,这可以提高系统的鲁棒性。如果噪声分析器514确定输入音频信号大部分是噪声(例如,噪声水平高于阈值),信号的音量可能不必要被提高或者甚至可以被降低。这样,出现在输入音频信号中的噪声可以不被放大。

在本文中公开的一些实施例中,系统200、300、400和/或500可以结合在一起来使用。更具体地,如以上所提及的,在一个示例实 施例中,系统500中的音频分析模块12可以包括参照图2讨论的信号变换器。在另一个示例实施例中,系统500还可以包括参照图3讨论的用户接口13。在其中对输入音频信号执行均衡和音量调级两者的实施例中,系统500中的音频分析模块12还可以包括参照图4讨论的内容分类器410和均衡分析器412。

将理解的是,系统500中包括的一个或多个功能块可以省略。例如,在一些使用情况中,例如在处理具有较低的可能性包含有噪声的音频信号(诸如音乐或电影)的这些情况中,可以省略噪声分析器514。

还将理解的是,仅出于解释说明的目的来讨论系统400和500中的均衡和音量调级,而不是给出对本文中公开的主题的范围的任何限制。输入音频信号还可以被处以以实现任何其他意图,诸如噪声抑制或峰值限制处理。处理参数可以被确定以向音频处理模块11指示任何其他处理水平。音频分析模块12和音频处理模块11可以被配置为实现这些处理意图。

如以上所讨论的,处理参数可以指示均衡水平、音量水平等。处理参数因而可以是连续的标量值或向量。例如,处理参数可以被确定为指示输入音频信号的目标音量。在另一个示例中,处理参数可以是具有多个元素的向量,每个指示音频信号的相应频率子带的均衡水平或音量水平。

音频处理模块11,诸如模块11中的滤波器控制器112可以使用映射函数来以线性或非线性的方式将(多个)处理参数映射至时域滤波器110的滤波器系数。在其中时域滤波器11是滤波器组的实施例中,(多个)处理参数可以被映射至一组滤波器系数。可以通过考虑时域滤波器110的过渡行为、复杂度、收敛速度和/或最优化准则来确定映射函数。

图6示出了根据本文中公开的一个示例实施例的时域滤波器110的框图。如所示出的,时域滤波器110是包括N+1个基础滤波器、即滤波器0到滤波器N(610至61N)的滤波器组。N+1个基础滤波器也是时域滤波器,并且N大于或等于0。相应的基础滤波器的输出由 加法器620至62(N-1)相加,以获得输出音频信号。基于音频处理模块11的处理意图以及从音频分析模块12接收的(多个)处理参数,滤波器0至N的滤波器系数可以由滤波器控制器112相应地调整。(多个)处理参数与滤波器系数之间的线性或非线性映射可以由滤波器控制器112确定并且被应用至相应的滤波器,以改变它们的频率响应。

将理解的是,可以以许多方法来确定映射函数,并且本文中公开的主题的范围在此方面不受限制。

在另一个示例实施例中,还可以使用多项式插值的方法来设计可变的时域滤波器以获得可变性。图7示出了在这样的实施例中的时域滤波器110的框图。在这个实施例中,处理参数通常可以是单个标量值。例如,处理参数可以是指示音频信号的目标音量的具体标量值。

如图7所示,时域滤波器110是包括N+1个基础滤波器、即滤波器0到滤波器N(710至71N)的滤波器组。N+1个基础滤波器也是时域滤波器,并且N大于或等于0。由乘法器721至72N将相应的基础滤波器的输出与处理参数g及其幂形式(例如,g2、……gN-1、gN)相乘。乘法器的输出然后由加法器730至73(N-1)加和在一起形成输出音频信号。基础滤波器710至71N的滤波器系数可以根据所需要的频率响应(例如,当时域滤波器110用于音量调级时是响度曲线)的范围提前确定。音频信号可以被处理以实现例如音量控制。

将理解的是,仅出于解释说明的目的来讨论图6和7中的时域滤波器110的配置,而不是给出对本文中公开的主题的范围的任何限制。当时域滤波器110的频率响应的目标(例如,处理参数)被确定时,可以采用许多方法来配置适当的时域滤波器。还将理解的是,参照图6和7讨论的时域滤波器110可以被结合在以上讨论的系统100至500以及以下讨论的系统800中的任何系统中。

在本文中公开的进一步实施例中,除了明确地指示诸如均衡水平或音量水平之类的处理水平之外,还可以由音频分析模块12确定索引,用以指示多个预定的处理参数中的处理参数。图8示出了根据这 样的实施例的用于处理音频信号的系统800的框图。

如所示出的,系统800另外地包括存储器14。存储器14被配置为存储多个预定义的时域滤波器,每个时域滤波器被适配至不同的处理参数。在这种情况下,与不同处理参数、诸如不同的均衡水平或音量水平之类的不同处理参数相对应的时域滤波器可以被预先定义并且存储在存储器14中。在本文中公开的一些实施例中,音频处理模块11,诸如模块11中的滤波器控制器112被配置为基于处理参数来从多个预定义的时域滤波器中选择时域滤波器。

在本文中公开的一些实施例中,处理参数可以由不同的标识符索引,并且这些标识符可以在模块11和12之间共享。当音频分析模块12分析输入音频信号并且确定出某个处理参数时,与该处理参数对应的索引可以被提供至音频处理模块11。模块11,诸如模块11中的滤波器控制器112可以被配置基于该索引而从多个预定义的时域滤波器中选择时域滤波器。由于时域滤波器被预先训练以供选择,音频处理模块11中的处理延迟因此进一步降低。

将理解的是,参照图8讨论的存储器14可以被结合在以上讨论的系统100至500中的任何系统中。

要理解的是,系统200、300、400、500和800是系统100的一些示例修改或变形。仅出于解释说明的目的来讨论系统200、300、400、500和800,而不是给出对本文中公开的主题的范围的任何限制。

还要理解的是,系统100至500以及系统800中的任何系统的各部件可以是硬件模块,也可以是软件单元模块等等。例如,在某些示例实施例中,这些系统中的任何系统可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,这些系统中的任何系统可以部分或者全部基于硬件来实现,例如被实现为集成电路(IC)、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA)等。本文中公开的主题的范围在此方面不受限制。

图9示出了根据本文中公开的一个示例实施例的处理音频信号的 方法900的流程图。方法900开始于步骤910,在其中分析输入音频信号以确定针对输入音频信号的处理参数。在本文中公开的一些示例实施例中,输入音频信号可以被表示在时域中。在步骤920,在时域中与输入音频信号的分析并行地对输入音频信号进行滤波,以获得输出音频信号。在本文中公开的一些示例实施例中,在输入音频信号的滤波中使用的滤波器系数基于处理参数来控制。在方法900中,分析步骤910和处理步骤920可以并行地处理,这意味着不必要等待处理参数就可以开始处理步骤920。

本文中公开的一些示例实施例中,响应于处理参数未被确定,可以使用第一滤波器系数在时域中对输入音频信号的第一部分进行滤波,并且响应于处理参数被确定,可以使用第二滤波器系数在时域中对输入音频信号的第二部分进行滤波。在这些实施例中,第二滤波器系数可以通过基于所确定的处理参数更新第一滤波器系数而获得。

本文中公开的一些示例实施例中,输入音频信号可以从时域变换到频域。然后可以在频域中分析输入音频信号,以确定针对输入音频信号的处理参数。在这些实施例中,处理参数可以包括针对输入音频信号的多个频率子带的多个处理参数。

本文中公开的一些示例实施例中,可以接收用于控制输入音频信号的处理的用户输入。在滤波中使用的滤波器系数因而可以进一步基于所接收的用户输入来控制。

本文中公开的一些示例实施例中,滤波可以由时域滤波器执行。,本文中公开的一些示例实施例中,多个预定义的时域滤波器可以被预先存储,预定义的时域滤波器中的每个时域滤波器被适配至不同的处理参数。在这些实施例中,可以基于处理参数,从多个预定义的时域滤波器中选择用于滤波的时域滤波器。

在执行均衡的一些示例实施例中,可以确定输入音频信号的内容类型,并且然后可以基于内容类型,确定指示输入音频信号的均衡水平的处理参数。在这些实施例中,当对输入音频信号进行滤波时,可以在时域中对输入音频信号执行均衡。在滤波时使用的滤波器系数可 以基于由处理参数指示的均衡水平来控制。

在执行音量调级的一些示例实施例中,可以确定输入音频信号的能量,并且然后可以基于输入音频信号的能量,确定指示输入音频信号的音量水平的处理参数。在这些实施例中,当对输入音频信号进行滤波时,可以在时域中控制输入音频信号的音量。在滤波时使用的滤波器系数可以基于由处理参数指示的音量水平来控制。

在本文中公开的一些进一步的实施例中,可以确定输入音频信号的噪声水平。噪声水平可以指示在输入音频信号中包含的噪声量。在这些实施例中,可以进一步基于噪声水平来确定指示音量水平的处理参数。

图10描绘了适于用来实现本文中所公开的示例实施例的示例计算机系统1000的示意性框图。如所描绘的,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。如所需要的,在RAM 1003中,还存储有CPU 1001执行各种过程等需要的数据。CPU 1001、ROM1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。

以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

特别地,根据本文中所公开的示例实施例,上文参考图9描述的方法可以被实现为计算机软件程序。例如,本文中所公开的示例实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的 计算机程序,所述计算机程序包含用于执行方法900的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。

一般而言,本文中所公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本文中所公开的示例实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或前述的某些组合中实施。

而且,流程图中的各框可以被看作是方法步骤,和/或计算机程序代码的操作生成的操作,和/或理解为执行相关功能的多个耦合的逻辑电路元件。例如,本文中所公开的实施例包括计算机程序产品,该计算机程序产品包括有形地实现在机器可读介质上的计算机程序,该计算机程序包含被配置为实现上文描述方法的程序代码。

在公开的上下文内,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例将包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备,或前述的任意合适的组合。

用于实现本文中所公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/ 或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。程序代码可以被分布在被特定编程的设备,这些设备通常在本文中可以被称为“模块”。这些模块的软件分组部分可以以任何具体计算机语言来编写并且可以是单片集成代码库的一部分,或者可以被开发成多个离散代码部分,诸如通常以面向对象的计算机语言来开发。此外,模块可以跨多个计算机平台、服务器、终端、移动设备等来分布。给定的模块甚至可以被实施为使得所描述的功能由单个处理器和/或计算机硬件平台来执行。

如本申请中所使用的,术语“电路装置”指的是以下的所有:(a)仅硬件电路实现方式(诸如仅模拟电路装置和/或仅数字电路装置的实现方式)以及(b)与电路和软件(和/或固件)的组合,诸如(如果可用的话):(i)与处理器的组合或(ii)处理器/软件(包括数字信号处理器)、软件和存储器的部分,这些部分一起工作以使得装置(诸如移动电话或服务器)执行各种功能,以及(c)电路,诸如微处理器或微处理器的一部分,其需要软件或固件用于操作,即使软件或固件不是物理存在的。此外,本领域技术人员已知的是,通信媒介通常体现计算机可读指令、数据结构、程序模块或模块化数据信号中的其他数据,该数据信号诸如载波或其他传输机制,并且通信媒介包括任何信息传送媒介。

另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务和并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制本文中公开的主题或权利要求的范围,而应解释为对可以针对特定实施例的特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意 合适的子组合中实施。

针对本文中所公开的前述示例实施例的各种修改、改变将在连同附图查看前述描述时对相关技术领域的技术人员变得明显。任何及所有修改将仍落入非限制的和本文中所公开的示例实施例范围。此外,前述说明书和附图存在启发的益处,涉及本文中所公开的这些实施例的技术领域的技术人员将会想到此处阐明的其他实施例。

将会理解,本文中公开的主题的实施例不限于公开的特定实施例,并且修改和其他实施例都应包含于所附的权利要求范围内。尽管此处使用了特定的术语,但是它们仅在通用和描述的意义上使用,而并不用于限制目的。

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