用于音频处理的多速率系统的制作方法

文档序号:13809801阅读:390来源:国知局
用于音频处理的多速率系统的制作方法

对相关申请的交叉引用

本申请根据35u.s.c.119(e)要求于2015年2月12日提交的标题为“multi-ratesystemforarbitraryaudioprocessing”的美国临时申请no.62/115,560以及于2015年8月12日提交的标题为“multi-ratesystemforaudioprocessing”的美国非临时申请no.14/824,998的优先权权益,这两个申请的全部内容通过引用被结合于此。

本发明涉及数字音频的多速率处理,更具体地,涉及用于补偿由最低频率子带中的音频处理引起的振幅和相位伪影(artifact)的技术。



背景技术:

支持高采样速率内容的音频再现硬件当前在使用中。但是,可能不需要音频处理技术来处理这样的内容的全(full)带宽。因为较高采样速率的音频处理需要较多的计算资源,因此不期望以较高的采样速率执行为较低采样速率设计的音频处理。这对于具有有限计算资源的系统尤其关键。

由于多速率处理的计算优点,因此各种音频处理技术使用多速率处理。通常,多速率子带处理包括子带分解、抽取和扩展处理。这些处理允许信号以对应于子带的带宽的、减小的采样速率被处理,同时在重构阶段保留原始内容的全带宽。

一些技术将音频处理仅应用于子带的最低频率子带,以便减少计算复杂度。但是,在最低频率子带中执行音频处理往往引起振幅和相位改变。现有技术尝试通过在较高频率子带中添加与子带的过渡带中的振幅和相位匹配的补偿滤波器来校正这些改变。现有技术或者依靠音频处理的先验知识来计算补偿滤波器,或者依靠子带的过渡带中的处理的振幅/相位特性的非实时测量。



技术实现要素:

提供本发明内容是为了以简化的形式介绍以下在具体实施方式中进一步描述的概念的选择。本发明内容不旨在识别所要求保护主题的关键特征或本质特征,也不旨在用于限制所要求保护主题的范围。

本文描述的多速率任意音频处理系统和方法的实施例是为较低采样速率设计的用于音频处理的高效的高采样速率再现系统。为了减小计算复杂度,高采样速率信号被抽取并且分割成两个子带。该处理可以在最低子带中重复以获得最大抽取的系统。该系统和方法的实施例将音频处理仅应用到最低频率子带以减小计算复杂度,同时在重构阶段保留原始内容的全带宽。音频处理可以是任意的;已知的或未知的、线性、非线性或时变的、或受制于用户对各种控制参数的改变。该系统和方法的实施例尤其非常适于音频处理,诸如产生时变或未确定的振幅和相位改变的用户设置控制参数或非线性处理。该系统和方法的实施例非常适于任意线性音频处理,因为实施例可以被普遍应用,而不必为每个音频处理重新设计滤波器。

为了克服由低频带中的音频处理引起的振幅和相位改变,多速率任意音频处理系统和方法的实施例使用用于任意音频处理的实时振幅和相位测量和补偿方法来提高准确度。特别地,在最低频率子带的过渡带中执行振幅和相位测量,并且对其余的子带执行补偿以减少当子带被重新组合时可能引起的混叠噪声和振幅失真。音频处理的实施例处理音频采样块(blocksofaudiosamples)。该测量和补偿方法适当地处理相同的音频采样块,以更新每个块的振幅和相位补偿。子带被上采样并重新组合。

该系统和方法的实施例通过确定在最低频率子带的过渡带中是否存在充分的信号振幅和音调内容以可靠地计算由音频处理引起的振幅和相位的改变来提供实时测量和补偿。如果是,则振幅和相位补偿被计算并被应用于其余的带。否则,或者将最后计算出的振幅和相位补偿应用于其余的子带,或者禁用补偿,直到过渡带中存在充分的振幅和音调内容。

该系统和方法的实施例通过确定在最低子带的过渡带中是否存在充分的信号振幅和音调内容以可靠地计算振幅和相位的改变来提供实时测量和补偿。如果是,则振幅和相位补偿被计算并被应用于其余的子带。如果不是,则定位于过渡带中的一个或多个音调信号在音频处理之前被添加(注入)到最低子带,并在音频处理之后被从最低子带中减去(移除)。该一个或多个音调信号提供可靠地计算振幅和相位补偿所需要的音调内容和振幅。实施例测量最低子带中的信号振幅和相位、确定(一个或多个)音调信号的振幅高于过渡带中的噪声信号但是足够低以对最低子带中的信号振幅做出最小的改变,并且选择(一个或多个)音调信号的相位和频率以避免过渡带中信号的消除。实施例可以在音频处理之前移除过渡带中的信号,并在音频处理之后将信号注入回,以仅基于对该一个或多个音调信号进行音频处理的影响提供清晰的测量和计算。

该系统和方法的实施例注入在过渡带中的不同频率处间隔开的多个音调信号。实施例计算多个音调信号的测量结果的加权平均值,以产生单个振幅补偿值和单个延迟补偿值。实施例计算其振幅和相位特性与过渡带中的音频处理的振幅和相位特性近似地匹配的一个或多个补偿滤波器。振幅/延迟补偿在计算上更高效,而补偿滤波器提供更精确的振幅和相位补偿。补偿滤波器可以针对每个经音频处理采样块被重新计算,或者以定义的间隔较不频繁地重新计算。

该系统和方法的实施例比较全最低频率子带测量(例如rms)和过渡带测量的振幅,以实现保留音频处理的全频带信号水平或预期增益(全子带测量)与完美重构特性(过渡带测量)之间的平衡。

与全高采样速率音频处理的成本相比,或与具有相位补偿滤波的qmf系统的成本相比,这些特征允许本系统和方法的实施例以低的计算成本操作。此外,使用新颖的过渡带加/减方法使重构信号中的振幅失真和混叠噪声减少显著的量。

应当注意的是,依赖于特定实施例,替代实施例是可能的,并且本文所讨论的步骤和元素可以被改变、添加或删除。在不脱离本发明的范围的情况下,这些替代实施例包括可以被使用的替代步骤和替代元素,以及可以做出的结构改变。

附图说明

现在参考附图,其中相同的附图标记贯穿全文表示对应的部分:

图1是被配置用于实时测量和补偿由最低频率子带中的音频处理引起的振幅和相位改变的、具有抽取/扩展比m的m-通道正交镜像滤波器(quadraturemirrorfilter,qmf)组音频处理结构的实施例的框图。

图2是其中实时测量和补偿通过在音频处理之前和之后将多音调信号添加到最低频率子带中并且然后减去多音调信号而被实现的2-通道qmf组音频处理结构的实施例的框图。

图3是示出2-通道结构中的较低频率子带和较高频率子带的频率响应以及在分离较低子带和较高子带的过渡带中注入多音调信号的图。

图4是示出2-通道qmf组的多相表示中的分析滤波器组(bank)的框图。

图5是示出2-通道qmf组的多相表示中的合成滤波器组的框图。

图6是示出基于过渡带中和跨全最低频率子带的振幅测量的比较的实时振幅补偿的图;

图7是示出用于将音调信号注入到过渡带中的判定处理和音调信号的振幅/相位的计算的流程图。

图8是其中实时测量用于更新用于较高频率子带的(一个或多个)补偿滤波器的2-通道qmf组音频处理结构的实施例的框图。

具体实施方式

在以下对多速率任意音频处理系统和方法的实施例的描述中,参考了附图。这些附图通过示例的方式示出了多速率任意音频处理系统和方法的实施例可以怎样被实践的具体示例。应当理解的是,在不脱离所要求保护的主题的范围的情况下,可以利用其它实施例并且可以做出结构的改变。

用于离线设计用于(一个或多个)高频子带的补偿滤波器以校正由最低频率子带中的音频处理引起的振幅/相位改变的现有技术不适于与任意音频处理一起使用的独立系统。补偿滤波器或者基于音频处理的先验知识或者基于对每个音频处理实例的引发的振幅/相位改变的离线测量而被设计和固定。音频处理(诸如非线性处理、线性时变处理或具有用户设置控制参数的线性或非线性处理)产生时变或未确定的振幅和相位改变。现有技术没有充分解决这样的状况。此外,即使在其中振幅和相位补偿应该是固定的真正的线性音频处理的情况下,现有技术也需要针对每个音频处理技术的特定滤波器设计。

提供对由音频处理引起的低子带的过渡带中的振幅/相位改变的实时测量和对(一个或多个)较高子带应用振幅/相位补偿的现有技术非常适于与任意音频处理一起使用的独立系统。实时测量和补偿适应于时变的振幅/相位改变而与改变的来源(例如非线性、时变线性或用户控制参数)无关,并为任何线性音频处理提供普遍适用性。

现在将讨论多速率任意音频处理系统和方法的实施例的部件的系统细节。应该注意的是,下面仅详细描述了部件、模块和系统可以被实现的少数几种方式。根据所示出的,可以进行许多改变。例如,在一些配置中,子带中的每个的子带信号被下采样/上采样。在其它配置中,最低子带中的子带信号被下采样到音频处理的采样速率,并且然后被上采样,但是在高子带或较高子带中的子带信号可以或可以不被下采样/采样。任何一种方法都可以在qmf组中实现,但是qmf的多相形式要求子带中的全部要被下采样。

现在参考图1,音频再现系统10的实施例包括将声音14(压力波)转换为模拟信号的麦克风12和对模拟信号进行采样以产生高采样速率数字音频信号x(n)17(单通道、立体声或多通道)的模拟数字(a/d)转换器16。采样速率88.2khz、96khz、176.4khz和192kh是示例性的。可替代地,数字音频信号可以被预先录制并存储为数字音频文件18。高采样速率数字音频信号被输入到实现子带分解、抽取、扩展和合成处理的多速率音频处理系统20。音频处理仅在最低子带中被应用到下采样音频信号。典型采样速率为44.1khz和48khz。由音频处理引起的振幅/相位改变被实时测量,并且对这些改变的补偿以独立于所执行的特定音频处理(即非线性、线性时变、控制参数或特定的线性设计)的方式被实时地应用到较高子带。多速率音频处理系统20可以用一个或多个ic芯片22来实现,每个ic芯片22被配置为具有一个或多个数字处理器24和存储器26。重构的数字音频信号x'(n)通过数字模拟(d/a)转换器28,以产生驱动扬声器30产生声音32(压力波)的模拟信号。可替代地,数字音频信号x'(n)可以被存储为数字音频文件33。

多速率音频处理系统20被实现为具有抽取/扩展比m的m通道正交镜像滤波器(qmf)组音频处理结构34,其中m是整数值。分析滤波器h0(z)、h1(z)...hm-1(z)36a、36b...36m-1将输入数字音频信号x(n)分解成在过渡带中重叠的m个频率子带,以生成m个子带信号。抽取器38a、38b...38m-1抽取相应的子带信号以生成m个下采样子带信号。

音频处理器40对最低子带中的下采样子带信号执行音频处理,以生成第一经处理信号。通常,子带信号被分段成音频采样块(例如,256、512、1024个采样),并且每个块被处理。音频处理可以包括可以是固定的或时变的线性处理(诸如线性滤波—低通、高通和带通滤波)、非线性处理(诸如动态范围压缩、限制器和调制)、或用户控制参数(诸如图形均衡器增益、处理启用/禁用和滤波器截止频率)。音频处理对过渡带中的下采样音频信号产生振幅和相位改变。音频处理也对全最低频率子带的信号赋予预期的增益。

补偿单元42实时测量下采样子带信号的过渡频带中的振幅和相位(在音频处理之前和之后)、对该测量结果进行处理以计算过渡频带中的振幅和相位的改变、以及计算对剩余较高频率子带的振幅补偿和相位补偿两者,以近似地匹配所测量的最低频率子带中的振幅和相位的改变。振幅补偿可以仅基于过渡带中的振幅的改变来计算,在这种情况下,补偿提供了输出音频信号的完美重构。可替代地,振幅补偿可以基于过渡带和整个最低频率子带两者中的振幅的改变来计算,以平衡输出音频信号的完美重构和音频处理的预期增益或信号水平的保留。测量和计算仅适于在过渡频带中执行,以提高计算效率。

振幅和相位补偿被应用到较高频率子带中的下采样子带信号中的每个以生成经处理子带信号。在实施例中,以一个或多个补偿滤波器44的形式提供补偿。在另一实施例中,以单值增益46(振幅补偿)和单值延迟48(相位补偿)的形式提供补偿。在滤波器配置中,提供附加的延迟以补偿音频处理的处理时延(latency)。在增益/延迟配置中,延迟48包括组延迟(groupdelay)和处理时延两者。在m通道实现中,每个较高子带中的延迟是滤波器组的组延迟加上计算出的组延迟的整数倍。振幅/延迟补偿在计算上更高效,而补偿滤波器提供更精确的振幅和相位补偿。

对于经处理音频采样的每个块,补偿单元42优选地确定在最低子带的过渡带中是否存在充分的下采样子带信号的振幅和音调内容,以可靠地计算振幅/相位的改变,因此进行振幅/相位补偿。如果信号太小或太嘈杂,那么计算无效。如果是这种情况,那么补偿单元42可以被配置为实现各种选项。在一个选项中,补偿单元42简单地禁用振幅/相位补偿的计算和应用,直到在过渡带中检测到强音调信号为止。在另一个选项中,补偿单元42禁用新振幅/相位补偿的计算,并且应用最后计算出的振幅/相位补偿,直到检测到强音调信号。在又一个选项中,为了测量的目的,补偿单元可以将一个或多个音调信号插入到用于最低子带的下采样子带信号的过渡带中以创建强音调信号。然后在音频处理之后从下采样子带信号中移除该一个或多个音调信号。音调信号被适当地选择,以对最低频率子带中的信号振幅做出最小的改变,并且避免消除过渡带中的现有信号。为了提供清晰的音调信号用于测量和处理,补偿单元可以在音频处理前移除过渡带中的音频信号,并且在音频处理之后重新插入信号。在实施例中,这可以通过对采样块(blockofsamples)执行全fft、移除过渡带中的信号并执行逆fft来实现。

在处理之后,扩展器50a、50b、...50m-1使m个通道中的经处理子带信号扩展因子m。合成滤波器f0(z)、f1(z)...fm-1(z)处理相应的子带信号,这些子带信号被重新组合54以生成数字音频输出信号x'(n),该数字音频输出信号或者被保存为数字音频文件或者被转换成声音。

现在参考图2,多速率音频处理系统98的实施例被实现为具有抽取/扩展比为2的双通道正交镜像滤波器组音频处理结构100。在两个分析滤波器h0(z)110和h1(z)115之后,输入信号x(n)120以因子2被抽取130、135。如果系统被最大程度地抽取,那么子带的采样速率将变得与音频处理140的采样速率相同并且音频处理140可以仅在低频带中执行。在高频带中需要增益、相位和时延补偿,因为低频带中的音频处理140可以引入振幅/相位改变以及延迟。在本实施例中,增益补偿145和延迟补偿150(相位(组延迟)和时延)被应用到高子带。经处理子带信号以因子2被扩展160、165,利用合成滤波器f0(z)170和f1(z)175进行处理、并且被重新组合180以生成数字音频信号x'(n)185。

如图3中所示,分析滤波器h0(z)110和h1(z)115以及合成滤波器f0(z)170和f1(z)175分别是具有π/2的交叉频率的低通和高通滤波器。低通滤波器具有通带187、以交叉频率为中心的过渡带188和阻带189。高通滤波器具有阻带190、以交叉频率为中心的过渡带191和通带192。

在数学上,分析滤波器h0(z)110和h1(z)115之间的关系可以被描述为,

h1(z)=h0(-z)(1)。

为了消除混叠,合成滤波器f0(z)170和f1(z)175需要满足以下条件:

f0(z)=h1(-z),f1(z)=-h0(-z)(2)。

等式(1)和(2)指示可以从单个滤波器h0(z)110设计无混叠分析和合成滤波器。

以多相形式表示正交镜像滤波器(qmf)组提供了计算的益处。多相表示是将滤波器系数分成多个小组的方法。对于比率2,偶数滤波器系数与奇数滤波器系数分离。使用多相表示,分析滤波器h0(z)110可以写为,

h0(z)=e0(z2)+z-1e1(z2)(3)。

使用等式(1)、(2)和(3),等式(4)和(5)被获得如下:

如果抽取/扩展比为2,那么等式(4)和(5)中的e0(z2)和e1(z2)可以使用抽取和插值noble恒等式(nobleidentities)进行移置(transpose)。然后它们变为e0(z)和e1(z)。这导致对应的滤波器以较低的速率操作。图4是示出qmf组的多相表示中的分析滤波器组110、115的框图。图5是示出qmf组的多相表示中的合成滤波器组170、175的框图。

qmf的多相表示可以被扩展为多分辨率结构以实现最大抽取的系统。信号被抽取并划分成两个子带,并且相同的处理被应用到低频带信号。由于仅在最低频带中执行音频处理,因此第一子带的高频带不需要子带处理。给定上述功率对称的滤波器设计,图4和图5中的项e0(z)和e1(z)用全通滤波器a0(z)和a1(z)代替。项a0(z)/a1(z)和a'0(z)/a'1(z)可能不是受制于系统设计要求的相同滤波器。

除了混叠消除之外,还期望在重构信号时防止振幅失真。如果图4和图5中的e0(z)200和e1(z)205是无限脉冲响应(iir)全通滤波器,那么振幅失真的这种来源被删除。用于e0(z)200和e1(z)205的两个全通滤波器通过将分析滤波器h0(z)110设计为功率对称滤波器并将其分解成两个全通滤波器而被获得。

功率对称iir半带滤波器满足以下两个条件:

ωp+ωs=π(6)

利用截止频率ωc=0.5π设计的巴特沃斯(butterworth)滤波器满足功率对称条件。椭圆滤波器也可以满足等式(6)和等式(7)中给出的条件,但是它们的参数需要被调整。功率对称椭圆滤波器设计过程在2009年纽约的信息科学参考(informationsciencereference)的ljiljanamilic的书“multiratefilteringfordigitalsignalprocessingmatlabapplications”的第7章(“lth-banddigitalfilters”)第206-237页中详细描述。由于功率对称椭圆滤波器的极点位于复平面的虚轴上,因此用于e0(z)200和e1(z)205的全通滤波器使用极交错属性(poleinterlacingproperty)被获得,这在1993年新泽西的ptr普伦蒂斯霍尔公司(ptrprentice-hall,inc.)的p.p.vaidyanathan的书“multiratesystemsandfilterbanks”的第5章(“maximallydecimatedfilterbanks”)第188-256页中被描述。

多速率任意音频处理系统和方法的实施例没有混叠噪声和振幅失真,部分原因在于它们包括具有功率对称滤波器的qmf系统设计。但是,作为对低子带应用音频处理的结果,可能引入混叠噪声和振幅失真。即使对较高子带做出振幅和相位补偿来补偿由低频带处理引起的改变,也可能不能完全删除振幅失真和混叠噪声。因此,期望具有窄的过渡带,该过渡带具有高阻带衰减,以便使包含振幅失真和混叠噪声的区域最小化。

在多速率任意音频处理系统和方法的一些实施例中,对在2:1比率抽取/扩展系统中的分析滤波器h0(z)110的设计标准是:(a)96db或更高的阻带衰减;以及(b)0.4167π至0.5833π的过渡带宽。

在48khz采样速率下,通带边缘频率0.4167π等同于20khz。因此,如果存在混叠噪声和振幅失真,那么它们变得存在于高于人类听觉的频率范围内。由于分析滤波器h0(z)110和h1(z)115是彼此的镜像,因此振幅失真和混叠噪声将小于-96dbf,而阻带衰减标准被设置在其上(above)。多速率任意音频处理系统和方法的实施例包括满足滤波器设计标准的最优功率对称滤波器。

在不同的实施例中,13阶半带巴特沃斯和椭圆滤波器具有在0.4167π处的通带边缘。由于巴特沃斯滤波器在阻带中的单调性,巴特沃斯滤波器衰减在0.78π以上高于椭圆滤波器衰减。但是,巴特沃斯滤波器涉及滤波器阶数增加以便减少过渡带宽。因此,给定它们的对上述过渡带宽标准的较低滤波器阶数要求,椭圆滤波器更适合多速率任意音频处理系统和方法的实施例并在其中使用。

给定椭圆滤波器设计的选择,需要考虑一些权衡。它们分别是过渡带宽和阻带衰减之间的权衡,以及滤波器阶数和纹波大小之间的权衡。较小的过渡带导致较低的阻带衰减。增加滤波器阶数可以产生较高的阻带衰减,但是它将增加纹波大小以及还有计算成本。用于给定滤波器设计标准的最优设计是具有通带边缘0.42π的13阶椭圆滤波器。使用上述全通分解,图4和图5中的e0(z)和e1(z)是用于13阶椭圆滤波器的3阶全通滤波器。

再次参考图2,为了对较高子带补偿由最低子带中的音频处理引起的振幅、相位和延迟,必须进行和处理最低频率子带中的信号的振幅和相位的实时测量,以确定音频信号本身是否在过渡带中具有充分的音调内容和信号强度,以可靠地确定补偿,并且如果不要注入音调信号,那么计算由音频处理引起的振幅相位的改变,并且或者以(一个或多个)补偿滤波器加上延迟(处理时延)的形式或者以单个增益值和单个延迟值(组延迟加上处理时延)的形式计算对较高子带的振幅和相位补偿。振幅和相位补偿不是在信号的全带宽中都需要,而仅仅是在过渡带中需要。(一个或多个)补偿处理器300被配置为实现测量、控制和计算技术,以实时提供增益和相位补偿。在实施例中,处理器300处理每个采样块(通过音频处理进行处理)以便为每个块提供更新的增益和相位补偿。

(一个或多个)补偿处理器300被适当地配置为在音调信号的注入之前302和之后304以及在音频处理之后306对最低频率子带(全频带和过渡带)中的信号的振幅和相位做出实时测量。全频带振幅可以被计算为每个经处理采样块的最低频率子带中的音频信号采样x(n)的均方根(rms)。过渡带振幅可以被计算为过渡带上的离散傅立叶变换系数的平均值。为了提高计算效率,可以使用goertzel算法来计算dft系数。gerertzel算法具有提供给定频率的dft值的数字滤波器的形式。信号的相位可以通过求取dft项的虚部除以实部的反正切来计算。

(一个或多个)补偿处理器300被配置为处理全频带和过渡带振幅和相位测量,以确定是否将一个或多个音调信号注入到最低频率子带中的音频信号的过渡带中,如果是,那么确定音调信号308的合适的振幅、相位和频率。如果信号在过渡带中具有充分的振幅和音调内容,那么不需要注入音调信号。如果要注入音调信号,那么处理器300将一个或多个音调信号的振幅设置为高于过渡带中的噪声信号,

但是足够低以对全第一频率子带中的振幅做出最小的改变,并且设置该一个或多个音调信号的相位和频率,以避免在过渡带中消除第一下采样子带信号。(一个或多个)处理器被配置为实现多音调信号发生器310,该多音调信号发生器310在求和节点312处注入一个或多个音调信号以将音调信号添加到最低频率子带中的音频信号。

这些音调信号是适当的单频率离散正弦波。在数学上,信号在处理之前被添加到低频带,并且旨在用于减去所添加的信号的消除信号通过以下给出

其中,ρ被设置为n/2-1,因为实时振幅和相位补偿实现仅涉及在奈奎斯特(nyquist)频率处的组延迟测量。但是,为了利用全过渡带振幅/相位信息,ρ可以被设置为低频带滤波器h0(z)的通带边缘频率的dft点。在音频处理140之前,信号振幅β通过低频带信号的第一测量而被确定。项δmag(k)和δphase(k)是在音频处理之前和之后根据测量而计算出的幅度和相位差。如图2中所描绘的,增益314和延迟316被施加到音调信号,该音调信号在求和节点318处从最低频率子带中的音频信号中被移除。为了测量而添加的信号可能不会被抵消,因为可能存在由系统引入的振幅/相位测量误差和舍入误差。

(一个或多个)补偿处理器300被配置为计算由音频处理320引起的全频带和过渡带两者中的振幅和相位的改变。振幅的改变可以表示为处理后的振幅与处理前的振幅之比。相位的改变可以表示为处理后的相位测量和处理前的相位测量之间的差。振幅和相位的改变针对每个音调信号或在跨过渡带的一个或多个频率处(如果音调未被注入)被计算。

(一个或多个)补偿处理器300被配置为计算用于较高子带的振幅和相位补偿,以近似地匹配所测量的振幅和相位的改变322。如图所示,(一个或多个)处理器计算用于设置增益145的单个增益值和用于设置延迟150的单个延迟值(组延迟和处理时延两者),以便将补偿应用到较高频率子带中的信号。可替代地,处理器可以计算其频率响应与音频处理的过渡带中的频率响应近似地匹配的(一个或多个)全补偿滤波器。

将低频带信号的均方根(rms)值改变应用到高频带信号就维持恒定全频带信号水平而言可以满足振幅补偿要求,但是它可能不能在多速率任意音频处理系统和方法的实施例的qmf系统中实现信号的完美重构。由于qmf系统的过渡带中的信号的振幅信息从goertzel算法获得,因此它可以用于计算低频带信号的过渡带中的振幅改变。

下面的等式(10)和(11)在数学上示出了rms值改变和过渡带水平改变的比较,以便在保留全频带信号水平和完美重构特性之间实现合理的平衡。

yh(n)=mcoefxh(n)(10)

dδrms_tr=mδrms(db)-mδtr(db),

其中mcoef是应用到qmf系统的高频带的实际振幅补偿值。f(mδtr,mδrms)是基于过渡带振幅改变(mδtr)和最低频率子带改变(mδrms)来计算振幅补偿值的函数。该函数f()可以被解释为获取振幅改变差dδrms_tr和目标阈值的输入以确定过渡带和第一频率子带之间的平衡的函数g()。函数g()可以以多种方式来设计,以解决给定应用的特定关注点。

等式(12)是函数g()的示例

在这个示例中,阈值τ是一组两个阈值τ1和τ2。除了阈值设置之外,平滑算法在实时实现中也被应用到mcoef,以便确保随时间的平滑振幅过渡。

现在参考图6,输入信号400分别被分割成较低频率子带和较高频率子带402和404。对较低频率子带中的信号执行音频处理以产生经处理子带信号406。在该示例中,补偿通过滤波器来提供,因此可以跨过渡带而变化。振幅补偿以三种方式中的一种被应用到较高频率子带中的信号404。首先,振幅补偿408仅基于过渡带中的振幅改变而被计算,并且被应用到信号404以产生补偿信号409。如在对应的合成输出信号410中所示,这种方法提供如420中所示的完美重构,但是不维持406中所示的全频带信号水平(音频处理的增益)。第二,振幅补偿412仅基于用于全频带的并被应用到信号404的rms值来计算,以产生补偿信号413。如在对应的合成输出信号414中所示,这种方法维持如406中所示的全频带信号水平(音频处理的增益),但不提供完美重构。最后,振幅补偿416使用等式11而被计算,以平衡完美重构和全频带信号水平,并且被应用到信号404以产生补偿信号417。如在合成输出信号418中所示的那样,这种平衡被实现。

由于用于补偿的过渡带的幅度和相位响应通过测量和计算是已知的,因此给定幅度和相位响应,可以设计一个或多个滤波器。可替代地,可以设计单独的滤波器用于幅度匹配和相位匹配。添加到过渡带的音调数量确定了过渡带的频率分辨率。当设计(一个或多个)补偿滤波器时,如果频率分辨率低于滤波器设计所需要的,那么幅度和相位响应可能需要插值。通常,术语相位补偿被认为与组延迟补偿相同。但是,组延迟不仅可以使用相邻频率区间(bin)来测量,而且可以使用具有更大间隔的频率区间来测量。因此,给定频率分辨率,组延迟可以是相位改变的近似。

虽然存在可用于离散时间信号的组延迟测量的各种方法,但是多速率任意音频处理系统和方法的实施例使用直接微分(differentiation)方法。直接微分方法计算信号的展开(unwrapped)相位的导数。数学上这可以写为:

由qmf的低频带中的任意音频处理引起的相位改变使用goertzel算法来测量。然后奈奎斯特频率处的组延迟被计算,并且由于其在qmf系统中的低频带和高频带之间较大量的平方幅度重叠而被舍入到最接近的整数值。如果qmf系统的最低子带中的任意音频处理引入了时延,那么较高子带中的信号也必须被延迟以与最低子带中引入的时延匹配。由于延迟块需要在那里用于时延补偿,因此整数组延迟补偿方法并不增加额外的计算,而只是增加少量的存储器。

在一个纯正弦波音调的情况下,我们不能进行组延迟匹配,因为它需要两个dft分量来计算组延迟。但是在一个音调的情况下,我们可以在奈奎斯特频率处进行相位匹配,因为奈奎斯特频率相位改变将总是显现为0度或180度。=>0度:无补偿,180度:1-采样延迟以使其为0度。

考虑到奈奎斯特频率处的1-采样延迟等同于离散时间信号的180度相移,奇数组延迟将引起qmf系统的高频带中奈奎斯特频率处的180度相移。由于在奈奎斯特频率处功率对称椭圆滤波器在低频带和高频带之间具有90度的相位差,因此添加奇数组延迟不会抵消奈奎斯特处的信号,而是改变重构相位中的信号的极性。

但是,低频带中的qmf系统的混叠噪声和高频带中的qmf系统的混叠噪声之间的相位差为180度。因此,混叠噪声在重构相位中被抵消。因此,在高频带中添加奇数组延迟实际上可以增加混叠噪声和振幅失真。因此,检查奈奎斯特处的相位响应改变是重要的。

例如,对于在奈奎斯特频率处的0度相移和奇数组延迟,如果奈奎斯特频率具有0度相移和奇数组延迟,那么组延迟值应该被舍入到最接近的偶数整数值而不是最接近的整数。

现在参考图7,图2中步骤308的音调注入确定的实施例首先确定是否在最低频率子带的过渡带中注入音调信号,并且如果是,那么确定注入音调的振幅和相位。补偿处理器被配置为确定最低频率子带的过渡带中的下采样信号是否具有充分的振幅和充分的音调内容两者来计算振幅补偿和相位补偿。如果没有,那么补偿处理器被配置为确定音调信号的振幅高于过渡带中的噪声信号,但是足够低以对全最低频率子带中的振幅做出最小的改变。补偿处理器被配置为选择音调信号的相位和频率,以避免消除过渡带中的下采样信号。

在实施例中,补偿处理器被配置为实现三个处理:处理a,处理b和处理c,以确定是否注入音调信号,并且如果是,那么确定音调信号的振幅和相位。补偿处理器被配置为接收当前经处理采样块的过渡带振幅(amp[])500和过渡带相位(phs[])502。

补偿处理器被配置为处理过渡带振幅以确定过渡带中的振幅是否大于最小值504(处理a)。处理a的示例计算:最小振幅(a)>(-6*bsys)(db)+ernd(db),其中bsys=系统位分辨率(例如(ex-)32位、24位、16位等)并且ernd=来自计算的舍入误差,并且最小振幅(a)是过渡带中的最小振幅。在该示例中,计算振幅/相位补偿所需的最小振幅是以db为单位的系统位分辨率的最小信号值与来自振幅/相位计算的预期舍入误差之和。

补偿处理器被配置为处理过渡带振幅以确定过渡带是否是音调506(处理b)。处理b的示例计算过渡带的谱平坦度(spectralflatness),以确定幅度谱是否可能包含音调分量。该处理测量过渡带中的每个频率的相位变化,以测量可以将噪声信号与音调信号区分的相位连续性。通过组合谱平坦度和相位变化,可以确定信号是否在过渡带内的给定频率区间处包含音调信号。例如,

tonal(k)=真,delta_p(k)<treshold_p&spectralflatness(k)>trehosld_sf

=假,delta_p(k)&gt;treshold_p||spectralflatness(k)&lt;trehosld_sf

treshold_p=相位变化阈值

treshold_s=谱平坦度阈值

spectralflatness(k)=pl(k)/avr,其中k=1..m,m=使用amp[]计算的峰的数量

p1(1,2,...m)=过渡带中的谱峰的水平,(m&lt;n,m=过渡带中的峰的数量,n=过渡带频率区间的数量)

avr=过渡带振幅的平均水平。

delta_p(k)=delta_p1(k)-delta_p0(k),:使用phs[]计算的相位变化(k=1,2,...m),

delta_p0(k)=abs(phs[k]-phs[k-1]),并且

delta_p1(k)=abs(phs[k+1]-phs[k])。

如果过渡带信号具有充分的振幅和音调内容两者(即,处理a和处理b两者为“真”)508,那么补偿处理器不注入音调信号510,并且处理过渡带信号以确定振幅和相位补偿。如果过渡带信号缺少或者充分的振幅或者充分的音调内容(即,处理a或处理b为“假”)508,那么补偿处理器被配置为处理过渡带振幅、过渡带相位和全最低频率子带振幅510以计算要注入的音调的振幅/相位512,并将音调注入到过渡带514中。

在示例中,补偿处理器被配置为设置信号水平的最小改变,并且使用输入信号的全频带振幅来计算(一个或多个)音调的最小水平。

例如

找到满足以下要求的最小xrms:20log10(inrms+xrms/inrms)&lt;τ(db)

其中inrms=最低频率子带振幅的测量值并且xrms=要被注入的音调的水平。

情况1(a=真,b=假):振幅较大但是噪声

τ=tone_noise_ratio:音调信号噪声比

情况2(a=假,b=真):振幅较小但是音调

τ=min_level:情况2中的最小水平改变阈值

情况3(a=假,b=假):振幅较小并且是噪声

对于τ=‘min_level’和τ=‘tone_noise_ratio’两者,计算xrms,并且

xrms=xrms(min_level),如果xrms(min_level)&gt;xrms(tone_noise_ratio)

=xrms(tone_noise_ratio),如果xrms(min_level)&lt;xrms(tone_noise_ratio)。

现在参考图8,多速率音频处理系统600的实施例被实现为具有抽取/扩展比为2的双通道正交镜像滤波器组音频处理结构。在该实施例中,较高频率子带中的振幅/相位补偿使用一个或多个补偿滤波器而被执行。补偿滤波器以附加的计算为代价提供由音频处理在过渡带中引发的振幅和相位改变的更好匹配。

在两个分析滤波器h0(z)606和h1(z)608之后,输入信号x(n)610以因子2被抽取612和614。对下采样的输入信号x(n)的采样块执行音频处理616。下采样的信号x(n)的振幅/相位在音频处理之前和之后被测量和处理618以计算由音频处理引起的过渡带中的信号的振幅和相位的改变,以提供全过渡带频率/相位响应信息。从该信息设计620一个或多个补偿滤波器以提供与过渡带中的频率/相位响应近似匹配的滤波器响应。给定幅度(振幅)和相位特性,fir或iir滤波器可以用于设计滤波器。它可以是与振幅和相位响应近似匹配的相同滤波器集,或用于振幅匹配和相位匹配的单独的滤波器集。这些设计用于更新滤波器622。数据平滑/插值624被应用于更新的滤波器以防止可能由更新滤波器或滤波器系数引起的任何伪像。这些插值/平滑的滤波器被应用到最高频率子带中的滤波处理的状态变量,以提供振幅和相位补偿626。延迟628为音频处理的处理时延提供补偿。经处理子带信号以因子2被扩展630和632,利用合成滤波器f0(z)634和f1(z)636而被处理、并且被重新组合638以生成数字音频信号x'(n)640。

除本文所述的那些之外的许多其它变体将根据本文档而清楚。例如,依赖于实施例,本文所述的方法和算法中任何一个的某些动作、事件或功能可以以不同的顺序来执行,可以被添加、合并,或完全省去(使得不是所有描述的动作或事件对方法和算法的实践是必须的)。而且,在某些实施例中,动作或事件可以同时执行(诸如通过多线程处理、中断处理或者多个处理器或处理器核心或者在其它并行体系架构上)而不是顺序地执行。此外,不同的任务或处理可以由可以一起发挥作用的不同机器和计算系统来执行。

结合本文公开的实施例而描述的各种说明性逻辑块、模块、方法和算法过程和序列可以被实现为电子硬件、计算机软件,或两者的组合。为了清楚地示出硬件和软件的这种可互换性,各种说明性部件、块、模块和处理动作已经在上面就其功能而言一般地进行了描述。这种功能被实现为硬件还是软件依赖于强加到整个系统上的特定应用和设计限制。所描述的功能可以对每个特定的应用以不同的方式来实现,但是这种实现决定不应当被解释为引起从本文档的范围的偏离。

结合本文公开的实施例描述的各种说明性逻辑块和模块可以由机器实现或执行,诸如被设计为执行本文描述的功能的通用处理器、处理设备、具有一个或多个处理设备的计算设备、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件,或者其任意组合。通用处理器和处理设备可以是微处理器,但在替代方案中,处理器可以是控制器、微控制器或状态机,它们的组合,等等。处理器也可以被实现为计算设备的组合(诸如dsp和微处理器的组合、多个微处理器,一个或多个微处理器与dsp核心结合)或者任何其它此类配置。

本文描述的多速率任意音频处理系统和方法的实施例可以在多种类型的通用或专用计算系统环境或配置中操作。一般而言,计算环境可以包括任何类型的计算机系统,包括但不限于基于一个或多个微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算设备、个人记事本、设备控制器、器具中的计算引擎、移动电话、台式计算机、移动计算机、平板计算机、智能电话,以及具有嵌入式计算机的器具,这仅仅举了几个例子。

这种计算设备通常可以在具有至少一些最小计算能力的设备中找到,包括但不限于个人计算机、服务器计算机、手持式计算设备、膝上型或移动计算机、诸如手机和pda的通信设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机、大型计算机、音频或视频媒体播放器,等等。在一些实施例中,计算设备将包括一个或多个处理器。每个处理器可以是专用微处理器,诸如数字信号处理器(dsp)、超长指令字(vliw)或其它微控制器,或者可以是具有一个或多个处理核心(包括多核cpu中基于专用图形处理单元(gpu)的核心)的常规中央处理单元(cpu)。

结合本文而描述的实施例描述的方法、处理或算法的处理动作可以直接体现在硬件中、在由处理器执行的软件模块中,或者在这两者的任何组合中。软件模块可以被包含在能够由计算设备访问的计算机可读介质中。计算机可读介质包括易失性和非易失性介质两者,该易失性和非易失性介质或者是可移动的、或者是不可移动的,或者是其某种组合。计算机可读介质用于存储信息,诸如计算机可读或计算机可执行指令、数据结构、程序模块或其它数据。以示例而非限制的方式,计算机可读介质可以包括计算机存储介质和通信介质。

计算机存储介质包括,但不限于,计算机或机器可读介质或存储设备,诸如蓝光盘(bd)、数字多功能盘(dvd)、紧凑盘(cd)、软盘,带式驱动器、硬驱、光驱、固态存储器设备、ram存储器、rom存储器、eprom存储器、eeprom存储器、闪存存储器或其它存储器技术、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可以用于存储期望的信息并可以被一个或多个计算设备访问的任何其它设备。

软件模块可以驻留在ram存储器、闪存存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom,或任何其它形式的非暂时性计算机可读存储介质、介质、或本领域中已知的物理计算机储存器。示例性存储介质可以耦合到处理器,使得处理器可以从存储介质读取信息,并将信息写入到存储介质。在替代方案中,存储介质可以一体化到处理器。处理器和存储介质可以驻留在专用集成电路(asic)中。asic可以驻留在用户终端中。可替代地,处理器和存储介质可以作为分立部件驻留在用户终端中。

如在本文档中所使用的,短语“非暂时性”是指“持久或寿命长的”。短语“非暂时性计算机可读介质”包括任何和所有计算机可读介质,唯一例外是暂时性传播信号。以示例而非限制的方式,这包括非暂时性计算机可读介质,诸如寄存器存储器、处理器高速缓存和随机存取存储器(ram)。

短语“音频信号”是表示物理声音的信号。

诸如计算机可读或计算机可执行指令、数据结构、程序模块等等的信息的保持也可以通过使用各种通信介质来编码一个或多个调制的数据信号、电磁波(诸如载波)或其它传输机制或通信协议来实现,并且包括任何有线或无线信息输送机制。一般而言,这些通信介质指以下信号:该信号的特性中的一个或多个以使得在信号中编码信息或指令的方式被设置或改变。例如,通信介质包括有线介质(诸如携带一个或多个调制的数据信号的直接有线连接或有线网络)以及无线介质(诸如声学、射频(rf)、红外线、激光,以及用于发送、接收,或既发送又接收一个或多个调制的数据信号或电磁波的其它无线介质)。以上中的任何组合也应当被包括在通信介质的范围内。

另外,体现本文描述的多速率任意音频处理系统和方法的各种实施例的一些或全部的软件、程序、计算机程序产品中的一个或任意组合,或者其部分,可以以计算机可执行指令或其它数据结构的形式而从计算机或机器可读介质或存储设备以及通信介质中的任何期望的组合被存储、接收、发送或读取。

本文描述的多速率任意音频处理系统和方法的实施例可以在由计算设备执行的计算机可执行指令(诸如程序模块)的一般上下文中进一步描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构,等等。本文描述的实施例还可以在其中任务由一个或多个远程处理设备执行的分布式计算环境中,或者在通过一个或多个通信网络链接的一个或多个设备的云当中实践。在分布式计算环境中,程序模块可以位于包括介质存储设备的本地和远程计算机存储介质两者中。更进一步,上述指令可以部分或全部地被实现为硬件逻辑电路,其可以或可以不包括处理器。

除非另有具体说明或者如所使用的以其它方式在上下文中被理解,否则本文所使用的条件性语言,诸如除其它之外还有“能够”、“可能”、“可以”、“例如”等,一般意在传达某些实施例包括而其它实施例不包括某些特征、元件和/或状态。因此,这种条件语言一般不意在暗示特征、元件和/或状态以任何方式是一个或多个实施例所需的或者暗示一个或多个实施例必须包括用于在有或没有作者输入或提示的情况下决定这些特征、元件和/或状态被包括在任何特定实施例中或者要在任何特定实施例中被执行的逻辑。术语“包括”“包含”、“具有”等是同义的并且以开放的方式被包含性地使用,并且不排除附加的元件、特征、动作、操作,等等。而且,术语“或者”是在其包含的意义上(而不是在其排他的意义上)使用的,使得在用于例如连接元件的列表时,术语“或”是指列表中的元素中的一个、一些或全部。

虽然以上详细描述已经示出、描述并指出了如应用到各种实施例的新颖特征,但是应当理解,在不背离本公开的精神的情况下,可以进行所示出的设备或算法的形式和细节的各种省略、替换和改变。如将认识到的,本文描述的本发明的某些实施例可以以不提供本文阐述的特征和益处中的全部的形式体现,因为一些特征可以与其它特征分开使用或实践。

而且,虽然本主题已经在特定于结构特征和方法动作的语言中进行了描述,但是应当理解的是,在所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式被公开的。

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