具有经改进频率分辨率的低延迟音频滤波器组
1.相关申请案的交叉引用
2.本技术案主张2020年5月22日申请的第63/028,966号美国临时专利申请案及2019年6月26日申请的第62/866,823号美国临时专利申请案的优先权的权益,所述申请案中的每一者的全部内容特此以引用的方式并入本文中。
技术领域
3.本发明涉及音频处理,且特定来说,涉及动态音频滤波器。
背景技术:4.除非本文中另有指示,否则本章节中所描述的方法并非本技术案中的权利要求书的现有技术且不因包含在本章节中而被承认是现有技术。
5.当处理输入音频信号时,通常期望使用滤波器组来更改音频信号使得通过一组动态系数指定在各种频率下的增益。可通过利用若干预先计算的带通滤波器来实施动态音频滤波器,其中音频滤波器响应由带通滤波器响应的加权和形成。权重可动态地变化。
6.一般来说,频带不具有相同带宽,而是较低频率滤波器比较高频率滤波器窄(且更紧密间隔)。因此,较高频率滤波器的脉冲响应将比较低频率滤波器的脉冲响应(其能量散布在较大量样本内)更紧凑(其能量散布在较少量样本内)。
技术实现要素:7.现有滤波器组的一个问题是延迟。针对较低频率滤波器,为了准确地表示脉冲响应,必须使用定义数目个样本,这与滤波器的延迟对应。较高频率滤波器不需要使用与较低频率滤波器一样多的样本,且因此具有较低延迟。然而,在含有低频滤波器及高频滤波器两者的滤波器组中,为了重组经滤波频带,需要使高频滤波器延时以匹配低频滤波器的延迟。因此,低频滤波器的延迟约束滤波器组的总延迟。
8.鉴于上文,需要在保留滤波器的脉冲响应的同时减少在低频下的延迟。本文中描述与低延迟滤波器设计相关的技术。
9.根据一实施例,一种音频处理方法包含从多个理想脉冲响应生成多个经修改脉冲响应,其中所述多个理想脉冲响应分别与多个频率对应,其中生成所述多个经修改脉冲响应包含:对所述多个理想脉冲响应中的至少一者执行衰落操作(fade operation)及逆时操作。所述方法进一步包含运用所述多个经修改脉冲响应对输入信号进行滤波以生成输出信号。
10.生成所述多个经修改脉冲响应可包含:基于第一理想脉冲响应生成前涟波响应;基于所述前涟波响应生成后涟波响应;及加上所述第一理想脉冲响应,减去所述前涟波响应,且加上所述后涟波响应以生成第一经修改脉冲响应。
11.生成所述多个经修改脉冲响应可包含:基于第一理想脉冲响应生成第一滤波器响应;基于所述第一滤波器响应生成前涟波响应;基于所述前涟波响应生成中间响应;基于所
述中间响应生成第二滤波器响应;基于所述第二滤波器响应生成后涟波响应;及加上所述第一滤波器响应,加上所述后涟波响应,且减去所述前涟波响应以生成第一经修改脉冲响应。
12.根据另一实施例,一种设备包含处理器及存储器。所述处理器经配置以控制所述设备以从多个理想脉冲响应生成多个经修改脉冲响应,其中所述多个理想脉冲响应分别与多个频率对应,其中生成所述多个经修改脉冲响应包含:对所述多个理想脉冲响应中的至少一者执行衰落操作及逆时操作。所述处理器进一步经配置以控制所述设备以运用所述多个经修改脉冲响应对输入信号进行滤波而生成输出信号。所述设备可额外地包含与本文中所描述的方法的一或多者的细节类似的细节。
13.根据另一实施例,一种非暂时性计算机可读媒体存储计算机程序,所述计算机程序在由处理器执行时控制设备以执行包含本文中所描述的方法的一或多者的处理。
14.以下具体实施方式及附图提供对各种实施方案的性质及优点的进一步理解。
附图说明
15.图1是滤波器组100的框图。
16.图2是展示一组滤波器组频率响应的曲线图200。
17.图3是展示示范性组合滤波器响应302的曲线图300。
18.图4是滤波器组400的框图。
19.图5是滤波器组500的框图。
20.图6是脉冲响应600的曲线图。
21.图7是滤波器阵列700的框图。
22.图8是展示一组示范性时域滤波器组脉冲响应的曲线图800。
23.图9是展示修改脉冲响应的改进方法的信号的曲线图900。
24.图10是生成滤波器响应的方法1000的框图。
25.图11是展示与图10相关的各种信号的曲线图1100。
26.图12是展示相位失真1202及群延时1204的一组曲线图。
27.图13是展示各种脉冲响应的曲线图1300。
28.图14是生成滤波器响应的方法1400的框图。
29.图15是展示与图14相关的各种信号的曲线图1500。
30.图16是音频处理的方法1600的流程图。
31.图17是音频处理的方法1700的流程图。
32.图18是音频处理的方法1800的流程图。
具体实施方式
33.本文中描述与音频滤波器相关的技术。在以下描述中,出于说明的目的,阐述许多实例及特定细节以提供对本发明的透彻理解。然而,对于所属领域的技术人员来说将显而易见的是,如由权利要求书定义的本发明可单独地或与下文描述的其它特征组合地包含这些实例中的一些或所有特征,且可进一步包含本文中所描述的特征及概念的修改及等效物。
34.在以下描述中,详述各种方法、处理过程及过程。尽管可以特定顺序描述特定步骤,但这顺序主要是为了方便及清楚。特定步骤可重复一次以上,可在其它步骤之前或之后发生(即使原本以另一顺序描述所述步骤),且可与其它步骤并行发生。仅在必须在第二步骤开始之前完成第一步骤时,才要求第二步骤跟随第一步骤。当从上下文不清楚时,将明确指出此情形。
35.在本文献中,使用术语“及”、“或”及“及/或”。此类术语应被理解为具有包含性含义。例如,“a及b”可至少意味着以下每一者:“a及b两者”、“至少a及b两者”。作为另一实例,“a或b”可至少意味着以下每一者:“至少a”、“至少b”、“a及b两者”、“至少a及b两者”。作为另一实例,“a及/或b”可至少意味着以下每一者:“a及b”、“a或b”。当旨在排他性或时,这将被明确指出(例如,“a或b中的任一者”、“至多a及b中的一者”)。
36.本文献描述与例如块、元件、组件、电路等的结构相关联的各种处理功能。一般来说,这些结构可由受一或多个计算机程序控制的处理器实施。
37.图1是滤波器组100的框图。滤波器组100包含未个别地展示的若干滤波器。滤波器组100经配置具有若干权重102(也称为加权系数),其中权重102中的每一者与特定频带的增益对应。滤波器组100接收输入信号104,将权重102应用到输入信号104,且生成输出信号106。权重102可随时间变化。
38.输入信号104(及输出信号106)可为单通道信号,在所述情况中,滤波器组100包含若干滤波器,其中每一滤波器与权重102中的一者及特定频带对应。输入信号104(及输出信号106)可为多通道信号,在所述情况中,滤波器组100包含若干滤波器阵列,其中每一滤波器阵列与所述通道中的一者对应,且给定阵列中的每一滤波器与权重102中的一者及特定频带对应。输入信号104及输出信号106可为具有不同数目个通道的多通道信号,其中每一滤波器阵列与输入通道中的一者及输出通道中的一者对应。
39.一般来说,本文中所描述的滤波技术可应用到滤波器阵列100中的每一个别滤波器。
40.图2是展示一组滤波器组频率响应的曲线图200。在曲线图200中,x轴为频率且y轴为增益。例如,可预先计算一组b个带通脉冲响应h1(n)、h2(n)、...、hb(n),其具有带通中心频率fc1、fc2、...、fcb。理想地,滤波器hb(n)将具有频率响应hb(f),其(近似)满足:
41.等式(1):
[0042][0043]
滤波器h2(f)的频率响应202被展示为在f=fc2下具有增益1,且在所有其它值f=fcb,b≠2下具有增益0。其它滤波器hb(f)在其它频率fcb下具有增益1。频率fs/2为采样率(奈奎斯速率(nyquist rate))的一半的频率。
[0044]
接着,可使用一组加权系数w1、w2、...、wb来形成组合滤波器响应。等式的时域及频域版本如下:
[0045]
等式(2):
[0046]
时域:
[0047]
等式(3):
[0048]
频域:
[0049]
图3是展示示范性组合滤波器响应302的曲线图300。x轴为频率(展示五个频率值)且y轴为增益(展示五个对应权重)。作为实例,在f=fc2下的增益304等于w2。其它频率fcb具有与其相应权重wb对应的增益。在实际应用中,此组合滤波器响应可以多种方式实施,如图4到5中展示。
[0050]
图4是滤波器组400的框图。滤波器组400包含若干卷积块402、若干乘法块404及加法块406。滤波器组400接收输入信号410(被展示为x且也称为x(n),其参考给定样本n的输入信号),且生成输出信号412(被展示为y且也称为y(n))。
[0051]
卷积块402中的每一者大体上与与脉冲响应420(被展示为hb)相关联的给定频率、频带或频率范围对应。给定卷积块402将输入信号410(例如,x(n))与脉冲响应420(例如,hb(n))进行卷积以生成经滤波信号422(例如,xb(n))。
[0052]
乘法块404中的每一者与权重430(被展示为wb)相关联且与卷积块402中的一者相关联(因此同样与频带相关联)。给定乘法块404将经滤波信号422(例如,xb(n))与权重430(例如,wb)相乘以生成经加权信号432。
[0053]
加法块406将来自乘法块404中的每一者的经加权信号432相加以生成输出信号412。
[0054]
表示这些运算的等式如下:
[0055]
等式(4):
[0056]
经滤波子带信号:
[0057]
等式(5):
[0058][0059]
等式(6):
[0060]
经滤波输出:
[0061]
等式(4)中所使用的运算符指示h(n)与x(n)的卷积。
[0062]
等式(5)展示卷积运算导致生成子带信号x1(n)、x2(n)、...、xb(n)的细节。接着,将输出信号412(例如,y(n))形成为这些子带信号乘以其相应权重的总和,如等式(6)中所展示。
[0063]
根据此方法,权重可为时变的,因此在等式(6)中,wb也可由wb(n)取代。
[0064]
图5是滤波器组500的框图。滤波器组500包含若干乘法块502、加法块504,及卷积块506。滤波器组500接收输入信号510(被展示为x且也称为x(n),其参考给定样本n的输入信号),且生成输出信号512(被展示为y且也称为y(n))。
[0065]
乘法块502中的每一者大体上对应于与脉冲响应520(被展示为hb)相关联的给定
频率、频带或频率范围,且也与权重530(被展示为wb)相关联。给定乘法块502将脉冲响应520(例如,hb(n))及加权系数530(例如,wb(n))相乘以生成经加权响应532中的一者。
[0066]
加法块504将来自乘法块502中的每一者的经加权响应532相加以生成组合滤波器响应540。
[0067]
卷积块506将输入信号510(例如,x(n))与组合滤波器响应540进行卷积以生成输出信号512(例如,y(n))。
[0068]
一般来说,滤波器组500实施动态滤波器,所述动态滤波器执行滤波器响应的周期性计算。例如,可在(重叠)音频块中处理输入音频,且在块#k的时间处,可根据等式(3)来运算(频域中的)滤波器响应。
[0069]
在一个实施例中,我们可使用在音频块之间具有平滑交叉衰落的重叠音频块来在频域中实施实际卷积运算,这可允许逐块地改变滤波器响应。
[0070]
在一个常见应用中,滤波器组响应是因果滤波器,其中滤波器输出仅取决干过去的及现在的输入(使得针对每一b∈{1,2,...,b},脉冲响应hb(n)=0,)。如果所有滤波器组响应皆为因果关系,那么组合响应(h(n),根据等式(2))也将为因果关系。
[0071]
图6是脉冲响应600的曲线图。脉冲响应600起因于应用滤波器使得针对每一b∈{1,2,...,b},脉冲响应hb(n)=0,其中l为正整数。实际上,可通过在滤波器实施方案中添加l个样本的额外延时而实施具有此性质的滤波器(使得将脉冲响应在时间上偏移达l个样本以允许将其实施为因果滤波器)。
[0072]
图7是滤波器阵列700的框图。滤波器阵列700包含若干滤波器702(被展示为filter
ny,nx
)及若干加法块704。滤波器阵列700接收若干输入信号710(被展示为x1到x
nx
)且生成若干输出信号712(被展示为y1到y
ny
)。一般来说,滤波器阵列700说明多通道输入、多通道输出系统的操作,其中滤波器将每一输入连接到每一输出。滤波器700还可被概念化为多通道滤波器组,其中针对每一频带,存在定义输入的混合以形成输出的[ny乘nx]二维阵列。
[0073]
滤波器702布置成组,其中每一滤波器组与输入信号710中的一者(例如,通道)相关联。滤波器702中的每一者一般与频带、滤波器响应及权重相关联,这与本文中所论述的其它滤波器类似。例如,滤波器702中的每一者可为例如滤波器组400(参见图4)、滤波器组500(参见图5)等的滤波器。
[0074]
就频域滤波器响应来说,我们可依据以下等式描述滤波器阵列700的处理:
[0075]
等式(7):
[0076][0077]
本文中所描述的实施例涉及用于实施滤波器702中的一或多者的方法。将明白,实施例同样适用于如图7中所展示的滤波器阵列。
[0078]
返回参考图3,展示示范性滤波器的所要频率响应,其中根据一组预定义预定义频率fc1、fc2、
…
、及对应增益值w1、w2、
…
定义依据频率而变化的滤波器响应302的增益。
[0079]
在图3的实例中,滤波器在频率fc2下的增益由w2设置,如被展示为增益204。
[0080]
在实施例中,通过对若干预定义滤波器组响应进行加权求和而实现图3的频率响应。示范性响应在图2中展示,其中展示频带2的频率响应202。
[0081]
我们将这些预定义滤波器组响应中的每一者的响应称为hb(f)(在频域中)或替代地称为hb(n)(在时域中)。
[0082]
所要滤波器响应(例如图3中的302)可由预定义滤波器组响应的加权和形成。这可被表达为时域或频域求和:
[0083]
等式(8):
[0084]
时域:
[0085]
等式(9):
[0086]
频域:
[0087]
我们可选择坚持认为预定义滤波器组响应中的每一者应表示因果滤波器(使得h(n)=0,)。然而,为了方便起见,我们代替性地坚持认为h(n)=0,且因此我们将被要求将l个延迟样本添加到我们的滤波器的实施方案,使得最终(可实现)滤波器输出y
′
(n)将根据以下计算为理想响应y(n)的延时版本:
[0088]
等式(10):
[0089][0090]
等式(11):
[0091]y′
(n)=y(n-l)
[0092]
等式(12):
[0093][0094]
应注意,理想信号y(n)的输出样本n的计算使用至多x(n+l)的输入样本(包含l个未来输入样本)来运算。相比之下,经延时信号y
′
(n)的输出样本n的计算仅使用至多x(n)的输入样本来运算。
[0095]
在图6中展示具有性质h(n)=0,的示范性脉冲响应。
[0096]
在实施例中,滤波器组的频率分辨率(相邻滤波器组中心频率之间的间隔,例如fc
b+1-fcb)较小,而延迟l也较小。
[0097]
在一个特定实施例中,低延迟滤波器组用于提供低延迟l及高分辨率。在另一实施例中,全通低延迟滤波器组用于提供低感知延迟l及高分辨率。
[0098]
理想滤波器组响应
[0099]
可通过多种手段来建构滤波器组,包含其中如图2中所展示般生成理想频率响应且接着将其转换成线性相位的理想时域脉冲响应的方法。
[0100]
图8是展示一组示范性时域滤波器组脉冲响应的曲线图800。在曲线图800中,x轴为时间(以样本为单位)且y轴为频率。在曲线图800中展示许多滤波器响应,其中每一滤波
器响应与如通过名称f1、f2、...、fb指示的给定频率对应,其中滤波器组中的滤波器的数目在此实例中为b=10。最高数目(例如,10)与最高频率对应且最低数目(例如,1)与最低频率对应。滤波器fb的理想脉冲响应为h
′b(n)(针对b∈{1,2,...,b})。为了进行下文的进一步论述而指示两个滤波器响应802及804;滤波器响应802与第三滤波器(h
′3(n))对应且滤波器响应804与最低频率滤波器响应(h
′1(n))对应。
[0101]
根据常见实践,理想滤波器组响应展现完美求和性质,如下:
[0102]
等式(13):
[0103][0104]
等式(14):
[0105]
其中
[0106]
优选地,我们可利用其中较低频率滤波器比较高频率滤波器窄(且更紧密间隔)的滤波器组,如图2中所说明,例如,其中fc1与fc2之间的间隔小于fc4与fc5之间的间隔。因此,较高频率滤波器的脉冲响应将比较低频率滤波器的脉冲响应更紧凑(其能量散布在较少量样本内),如图8中可观察到。
[0107]
理论上,理想滤波器组的脉冲响应的长度可为无限的,且特定来说在图8中可见,滤波器f3的脉冲响应802不满足所要低延迟性质:h
′3(n)=0,因此,图8中所展示的滤波器不适于实施低延迟滤波器组。
[0108]
用于低延迟滤波器响应的技术
[0109]
根据一种方法,可通过简单地截断理想脉冲响应而生成低延迟滤波器组(具有延迟l),如下:
[0110]
等式(15):
[0111][0112]
然而,此截断将影响在低频下的所得响应,且在真实世界系统中使用的情况下可导致听觉伪差(auditory artifact)。
[0113]
图9是展示修改脉冲响应的改进方法的信号的曲线图900。在曲线图900中,x轴为时间(以样本为单位)。y轴为量值;应注意,每一信号在y轴上彼此独立(例如,y轴独立地展示每一信号的量值范围,而非信号之间的任何种类的相对量值或比较)。信号802与滤波器f3的理想脉冲响应(例如,h
′3(n))对应,也如图8中所展示。信号904与衰落函数对应。信号906与信号802乘以信号904对应以生成低延迟滤波器响应,如下:
[0114]
等式(16):
[0115]
hb(n)=h
′b(n)q(n)
[0116]
等式(17):
[0117]
其中:
[0118]
所属领域的技术人员将明白,根据两种技术(等式(15)及等式(16)),所得脉冲响应hb(n)具有期望性质hb(0)=h
′b(0),且这保证将满足完美重建准则(等式(13))。
[0119]
然而,这些滤波器的频率响应(如由等式(15)或等式(16)产生)将不一定匹配原始(理想)响应h
′b(n)且可运用改进技术来实现,如下文所论述。
[0120]
用于低延迟滤波器响应的改进方法
[0121]
图10是生成滤波器响应的方法1000的框图。方法1000可用于生成对本文中所论述的滤波器组(例如,图4的滤波器组400、图5的滤波器组500、图7的滤波器阵列700中的滤波器702等)中的任一者中的滤波器中的一或多者的滤波器响应。方法1000包含衰落块1002、逆时块1004及求和块1006。方法1000的块可以各种方式来实施,例如由电路元件、由执行一或多个计算机程序的处理器等。
[0122]
衰落块1002接收理想脉冲响应1010,应用衰落函数,且生成前涟波响应1012。理想脉冲响应1010可与上文所论述的理想脉冲响应中的一或多者(例如,如图8或9中所论述的h
′b(n)对应,例如信号802)。在图11中展示衰落函数的实例。
[0123]
逆时块1004对前涟波响应1012执行逆时操作以生成后涟波响应1014。逆时操作大体上与围绕信号的零样本镜像前涟波响应1012对应。在图11中展示逆时操作的实例。
[0124]
求和块1006加上理想脉冲响应1010,减去前涟波响应1012,且加上后涟波响应1014,以生成滤波器响应1016。
[0125]
图11是展示与图10相关的各种信号的曲线图1100。在曲线图1100中,x轴为时间(以样本为单位)且y轴为量值;正如图9,应注意,每一信号的量值与每一其它信号无关。信号802与滤波器f3的理想脉冲响应(例如,h
′3(n))对应,也如图8到9中所展示。也参见图10中的理想脉冲响应1010。
[0126]
信号1102与衰落函数对应。也参见图9中的信号904。信号1104与信号802乘以信号1102对应以生成前涟波响应。也参见图10中的前涟波响应1012。
[0127]
信号1106与信号1104的逆时对应,称为后涟波响应。也参见图10中的后涟波响应1014。
[0128]
信号1108与滤波器组响应对应,且是通过加上信号802(理想脉冲响应1010),减去信号1104(前涟波响应1012)且加上信号1106(后涟波响应1014)而生成。也参见图10中的滤波器响应1016。
[0129]
以下等式展示此处理过程:
[0130]
等式(18):
[0131]
前涟波:
[0132]
等式(19):
[0133]
衰落函数:
[0134]
等式(20):
[0135]
后涟波:
[0136]
等式(21):
[0137]
低延迟响应:
[0138]
应注意,根据等式(20),且因此,低延迟脉冲响应hb(n)(根据等式(21)将具有期望性质hb(0)=h
′b(0),且这保证将满足完美重建准则(等式(13))。
[0139]
低延迟全通滤波器响应
[0140]
可在收听者未感知到滤波的群延时的情况下使用各种类型的音频滤波来修改音频信号。作为实例,典型高通滤波器(例如用于从录制声音移除不想要的低频噪声的滤波器)将在低频下引入将不被收听者认为有害的相位失真。收听者将无法感知的另一常见类型的滤波为全通滤波器。
[0141]
图12是展示相位失真1202及群延时1204的一组曲线图。相位失真1202及群延时1204起因于使用如等式(22)中所展示的传递函数处理以48khz取样的音频信号。
[0142]
等式(22):
[0143][0144]
针对以每秒48000个样本的采样率操作的滤波器,等式(22)中的常数0.994986与大约37hz的过渡频率的典型值(其中一阶全通滤波器的相移为90度)对应。可选择此常数的替代值,且针对以每秒48000个样本操作的滤波器,常数可在0.9490与0.9993之间变化,所述值分别与400hz及5hz的过渡频率对应。
[0145]
假定此相位失真1202在输出音频信号中产生收听者可接受的伪差,那么因此可接受将相同相位失真应用到理想脉冲响应以产生一组新的全通滤波器响应,如图13中所展示。
[0146]
图13是展示各种脉冲响应的曲线图1300。在曲线图1300中,x轴为时间(以样本为单位)且y轴在各种频率fn下布置脉冲响应。滤波器f3的脉冲响应1302看起来与图8中的滤波器f3的原始(理想)响应802类似。相比之下,滤波器f1的脉冲响应1304看起来与图8中的滤波器f1的原始(理想)响应804不同。这差异归因于全通滤波器的效应,其影响较低频率滤波器而对较高频率滤波器的影响可被忽略不计。下文更详细地论述全通滤波器。
[0147]
可见,与区域1308(在时间零之后的100个样本以上)相比,滤波器f1的脉冲响应1304在区域1306(在时间零之前的100个样本以上)中具有更低振幅。脉冲响应的能量向脉冲响应中的较晚时间偏移为全通滤波器的理想属性,因为其产生更紧密地接近延迟约束(其中在图13的实例中,l=100)的滤波器组。
[0148]
图14是生成滤波器响应的方法1400的框图。方法1400可用于生成对本文中所论述的滤波器组(例如,图4的滤波器组400、图5的滤波器组500、图7的滤波器阵列700中的滤波
器702等)中的任一者中的滤波器中的一或多者的滤波器响应。方法1400包含全通滤波器1402、衰落块1404、逆时块1406、全通滤波器1408、全通滤波器1410及求和块1412。方法1400的块可以各种方式来实施,例如由电路元件、由执行一或多个计算机程序的处理器等。
[0149]
全通滤波器1402接收理想脉冲响应1420,执行全通滤波,且生成滤波器响应1422。理想脉冲响应1420可与上文所论述的理想脉冲响应中的一或多者(例如,如图8或9中所论述的h
′b(n),例如信号802)对应。在下文等式中更详细地论述全通滤波器的脉冲响应。
[0150]
衰落块1404将衰落函数应用到滤波器响应1422以生成前涟波响应1424。在图15中展示衰落函数的实例。
[0151]
逆时块1406对前涟波响应1424执行逆时操作以生成中间响应1426。在图15中展示逆时操作的实例。
[0152]
全通滤波器1408对中间响应1426执行全通滤波以生成滤波器响应1428。
[0153]
全通滤波器1410对滤波器响应1428执行全通滤波以生成后涟波响应1430。
[0154]
求和块1412加上滤波器响应1422,加上后涟波响应1430,且减去前涟波响应1424,以生成滤波器响应1432。
[0155]
在实施例中,为了正确地满足延迟约束,我们在调适计算的情况下应用等式(21)的处理过程,以允许引入全通滤波器。在以下等式中,标记法用于指示脉冲响应a(n)及b(n)的卷积。低延迟全通滤波器响应的生成如下实行:
[0156]
等式(23):
[0157]
全通:
[0158]
等式(24):
[0159]
前涟波:
[0160]
等式(25):
[0161]
衰减函数:
[0162]
等式(26):
[0163]
后涟波:
[0164]
等式(27):
[0165]
低延迟响应:
[0166]
在上文等式中,g(n)为全通滤波器的脉冲响应(也参见等式(22))。
[0167]
在实施例中,全通滤波器是在10hz与200hz之间的频率下具有单个实极点的一阶滤波器。针对对以每秒fs个样本的速率取样的音频操作的具有延迟l的滤波器组,全通极点的频率可被近似设置为:
[0168]
等式(28):
[0169]
全通极点频率:
[0170]
如等式(28)中所展示的极点频率的计算为实例。将明白,其它极点频率也将在滤波器组的设计中提供改进延迟/准确度折衷的优点。
[0171]
当将低延迟全通滤波器组中的b个滤波器的组的脉冲响应加总在一起时,最终结果(重建脉冲响应)近似等于全通响应:
[0172]
等式(29):
[0173][0174]
等式(30):
[0175]
≈g(n)
[0176]
图14的过程可应用到滤波器组中的每一滤波器,因此例如针对b∈{1,2,...,b},可根据图14处理理想脉冲响应h
′b(n)以产生低延迟全通滤波器hb(n)。
[0177]
图15是展示与图14相关的各种信号的曲线图1500。在曲线图1500中,x轴为时间(以样本为单位)且y轴为量值;正如图9及11,应注意,每一信号的量值与每一其它信号无关。信号1304与滤波器f1的全通滤波脉冲响应(例如,h
′1(n))对应,也如图13中所展示。也参见图14中的滤波器响应1422及等式(23)。
[0178]
信号1502与衰落函数对应。也参见图9中的信号904及图11中的信号1102及等式(25)。信号1504与信号1304乘以信号1502以生成前涟波响应对应。也参见图14中的前涟波响应1424及等式(24)。
[0179]
信号1506与信号1504的逆时对应,称为中间响应。也参见图14中的中间响应1426。信号1508与将全通滤波器应用到信号1506两次对应,称为后涟波响应。也参见图14的后涟波响应1430及等式(26)。
[0180]
信号1510与滤波器组响应对应,且通过加上信号1304(滤波器响应1422),加上信号1508(后涟波响应1430),且减去信号1504(前涟波响应1424)来生成。也参见等式(27)。
[0181]
图10的方法1000与图14的方法1400之间的区别在于可如下那样概念化。首先,应注意,方法1000对滤波器响应h
′b(n)进行操作,且方法1400对全通滤波版本进行操作。方法1000的处理过程依赖于以下事实:前涟波分量及后涟波分量是通过围绕t=0进行镜像且结合我们已知理想脉冲响应1010关于时间零对称而得到。
[0182]
将此知识扩展到方法1400,想象我们可得到新滤波器分量:将此知识扩展到方法1400,想象我们可得到新滤波器分量:这意味着着我们采用原始pre_ripple(例如,中间响应1426或信号1506),且应用全通函数g的逆函数。
[0183]
接着,我们得到另一新滤波器分量:posta(t)=prea(-t)。这简单为prea的镜像版本。
[0184]
现在,我们可得到另一滤波器分量:finala=h
′b(n)+posta-prea。此步骤非常像图10中所使用的处理过程,且最重要的是,此步骤遵循我们的口诀(mantra):前涟波分量及后涟波分量是通过围绕t=0进行镜像且结合我们已知原始滤波器关于时间零对称而得到。
[0185]
接着,我们可建立最终滤波器:
[0186]
现在,我们知道:现在,我们知道:(这是因为全通滤波器的时间镜像与全通滤波器的逆滤波器相同而成立。)
[0187]
因此,我们得出:因此,我们得出:
[0188]
图16是音频处理的方法1600的流程图。方法1600可由例如根据一或多个计算机程序执行指令的处理器来实施。
[0189]
在1602,从理想脉冲响应生成经修改脉冲响应。理想脉冲响应分别与若干频率对应。生成经修改脉冲响应包含对理想脉冲响应中的至少一者执行衰落操作及逆时操作。例如,方法1000(参见图10)可对理想脉冲响应1010使用衰落块1002执行衰落操作且使用逆时块1004执行逆时操作。作为另一实例,方法1400(参见图14)可对理想脉冲响应1420使用衰落块1404执行衰落操作且使用逆时块1406执行逆时操作。
[0190]
在1604,运用经修改脉冲响应(参见1602)对输入信号进行滤波以生成输出信号。例如,滤波器组100(参见图1)可包含具有在1602生成的经修改脉冲响应的若干滤波器,且可从输入信号104生成输出信号106。
[0191]
在图17到18中进一步详述方法1600的一般步骤。
[0192]
图17是音频处理的方法1700的流程图。方法1700可由例如根据一或多个计算机程序执行指令的处理器来实施。方法1700与方法1600(参见图16)类似,其具有特定于方法1000(参见图10)的操作的更多细节。
[0193]
在1702,从理想脉冲响应生成经修改脉冲响应。这包含子步骤1704到1708。
[0194]
在1704,基于第一理想脉冲响应生成前涟波响应。例如,衰落块1002(参见图10)可对理想脉冲响应1010执行衰落操作以生成前涟波响应1012。也参见等式(18)。
[0195]
在1706,基于前涟波响应生成后涟波响应。例如,逆时块1004(参见图10)可对前涟波响应1012执行逆时操作以生成后涟波响应1014。也参见等式(20)。
[0196]
在1708,通过加上第一理想脉冲响应,减去前涟波响应且加上后涟波响应而生成第一经修改脉冲响应。例如,求和块1006(参见图10)可加上理想脉冲响应1010,减去前涟波响应1012,且加上后涟波响应1014而生成滤波器响应1016。也参见等式(21)。
[0197]
在1710,运用经修改脉冲响应(参见1702到1708)对输入信号进行滤波以生成输出信号。例如,滤波器组100(参见图1)可包含具有在1702生成的经修改脉冲响应的若干滤波器,且可从输入信号104生成输出信号106。
[0198]
图18是音频处理的方法1800的流程图。方法1800可通过例如根据一或多个计算机程序执行指令的处理器来实施。方法1800与方法1600(参见图16)类似,其具有特定于方法1400(参见图14)的操作的更多细节。
[0199]
在1802,从理想脉冲响应生成经修改脉冲响应。这包含子步骤1804到1814。
[0200]
在1804,基于第一理想脉冲响应生成第一滤波器响应。例如,全通滤波器1402(参
见图14)可对理想脉冲响应1420执行全通滤波操作以生成滤波器响应1422。也参见等式(23)。
[0201]
在1806,基于第一滤波器响应生成前涟波响应。例如,衰落块1404(参见图14)可对滤波器响应1422执行衰落操作以生成前涟波响应1424。也参见等式(24)。
[0202]
在1808,基于前涟波响应生成中间响应。例如,逆时块1406(参见图14)可对前涟波响应1424执行逆时操作以生成中间响应1426。也参见等式(26)。
[0203]
在1810,基于中间响应生成第二滤波器响应。例如,全通滤波器1408(参见图14)可对中间响应1426执行全通滤波操作以生成滤波器响应1428。也参见等式(27)。
[0204]
在1812,基于第二滤波器响应生成后涟波响应。例如,全通滤波器1410(参见图14)可对滤波器响应1428执行全通滤波操作以生成后涟波响应1430。也参见等式(27)。
[0205]
在1814,通过加上第一滤波器响应,加上后涟波响应且减去前涟波响应而生成第一经修改脉冲响应。例如,求和块1412(参见图14)可加上滤波器响应1422,加上后涟波响应1430,且减去前涟波响应1424以生成滤波器响应1432。也参见等式(27)。
[0206]
在1816,运用经修改脉冲响应(参见1802到1814)对输入信号进行滤波以生成输出信号。例如,滤波器组100(参见图1)可包含具有在1802生成的经修改脉冲响应的若干滤波器,且可从输入信号104生成输出信号106。
[0207]
在实施例中,可处理输入音频信号以产生输出音频信号,其中在若干预定频率下处理的增益近似等于一组对应增益系数。处理可根据滤波器响应实施,所述滤波器响应是对应数目个低延迟全通滤波器响应的加权和,其中权重是通过对应增益系数确定。低延迟全通滤波器响应已根据图18的方法确定。
[0208]
在替代实施例中,处理输入音频信号以产生输出音频信号,其中所述输出音频信号是通过以总脉冲响应对所述输入音频信号进行滤波而形成,所述总脉冲响应是一组滤波器组脉冲响应的加权和。所述滤波器组脉冲响应的总和是全通滤波器。全通滤波器可在近似500hz的频率以上具有近似恒定的相位响应,及在较低频率下上升的群延时。
[0209]
在替代实施例中,处理输入音频信号以产生输出音频信号,其中所述输出音频信号是通过以总脉冲响应对所述输入音频信号进行滤波而形成,所述总脉冲响应是一组滤波器组脉冲响应的加权和。重建脉冲响应可由滤波器组脉冲响应的总和形成,使得重建脉冲响应的群延时在高于500hz的频率范围内近似恒定且在低于500hz时增加。例如,群延时在高于500hz时可在感知上恒定(变化不超过0.1ms),且在较低频率(例如,小于500hz)下可变化不超过0.5/f秒。来自所述组滤波器组脉冲响应的一或多个脉冲响应的带宽可根据重建脉冲响应的增加的群延时而更窄。
[0210]
实施方案细节
[0211]
实施例可以硬件、存储在计算机可读媒体上的可执行模块或两者的组合(例如,可编程逻辑阵列)来实施。除非另有指定,否则由实施例执行的步骤不需要固有地与任何特定计算机或其它设备相关,尽管它们可在特定实施例中。特定来说,各种通用机器可与根据本文中的教示写入的程序一起使用,或可方便地建构更专用设备(例如,集成电路)以执行所需方法步骤。因此,实施例可以在相应包括至少一个处理器、至少一个数据存储系统(包含易失性及非易失性存储器及/或存储元件)、至少一个输入设备或端口及至少一个输出装置或端口的一或多个可编程计算机系统上执行的一或多个计算机程序来实施。将程序代码应
用到输入数据以执行本文中所描述的功能且生成输出信息。将输出信息以已知方式应用到一或多个输出装置。
[0212]
每一此计算机程序优选地存储在通用或专用可编程计算机可读的存储媒体或装置(例如,固态存储器或媒体,或磁性或光学媒体)上或下载到所述存储媒体或装置,以在计算机系统读取所述存储媒体或装置时配置及操作计算机以执行本文中所描述的程序。本发明系统也可被视为实施为配置有计算机程序的计算机可读存储媒体,其中如此配置的存储媒体引起计算机系统以特定且预定的方式操作以执行本文中所描述的功能。(软件本身及无形或暂时性信号在其为不能取得专利的标的物的情况下被排除在外。)
[0213]
上文描述说明本发明的各个实施例以及可如何实施本发明的方面的实例。上文实例及实施例不应被视为仅有实施例,而是为了说明如以下权利要求书定义的本发明的灵活性及优点而呈现。基于上文公开内容及以下权利要求书,其它布置、实施例、实施方案及等效物对于所属领域的技术人员来说将为显而易见的且可在不脱离如由权利要求书定义的本发明的精神及范围的情况下采用。