采用针对确定信号类型的技术进行信号时标修改的制作方法

文档序号:2834411阅读:558来源:国知局
专利名称:采用针对确定信号类型的技术进行信号时标修改的制作方法
技术领域
本发明涉及信号、尤其是语音信号的时标修改(TSM),更具体地说,涉及一种为有声和无声语音的时标修改采用不同技术的系统和方法。
已知许多用于满足语音信号的高质量TSM的需要的技术,在E.Moulines和J.Laroche的“用于语音的音调标度和时标修改的非参数化技术”中描述了这些技术的例子,此文章见于SpeechCommunication(荷兰),1995年第16卷第2期的第175-205页。
TSM技术的另一潜在应用是语音编码,然而在这方面的报道较少。在这种应用中,基本意图是在编码前压缩语音信号的时标,减小需要编码的语音样本的数量,在解码后通过互反因子将其扩展,并恢复原始时标。这个概念示于

图1。由于时标压缩后的语音保留了有效的语音信号,因此它可以由任意的语音编码器来处理。例如,在6千比特/秒下编码的语音现在可以由8千比特/秒编码器来实现,在此之前为25%的时标压缩,在此之后为33%的时标扩展。
此上下文中的TSM应用在过去已被开发,采用几种TSM方法和语音编码器[1]-[3]可以得到相当好的效果。近年来,TSM和语音编码技术已作了改进,其中大多数是将这二者相互独立地研究。
如上述Moulines和Laroche的文章中详述的,一种广泛采用的TSM算法是同步交叠相加(SOLA),这是波形逼近算法的一个实例。由于它的引入[4],SOLA已经演变成广泛用于语音的TSM的算法。作为相关方法,它还适用于多个说话者所产生的语音或被背景噪声破坏的语音,在某种程度上还适用于音乐。
通过SOLA,将输入语音信号s作为N-样本长的叠加帧xi(i=0,...,m)的序列来分析,这些帧按照Sa个样本(Sa<N)的固定分析周期相继延迟。出发点在于,通过输出这些帧同时使它们按合成周期Ss连续偏移,可以对s进行压缩或扩展,选择的Ss使得Ss<Sa,或相应地Ss>Sa(Ss<N)。交叠的片段将首先由两个幅度互补函数来加权,然后相加,这是波形平均的适当方法。图2说明这种交叠相加扩展技术。上面部分表示输入信号中连续帧的位置。中间部分表示在合成期间这些帧如何再定位,在此情况中采用了汉宁窗的两半用于加权。最后,下面部分中表示所得出的时标扩展后的信号。
SOLA的实际同步机制包括在合成期间额外地使各xi偏移,从而产生交叠波形的相似性。显然,帧xi在位置iSs+ki处开始对输出信号起作用,其中求出ki,使得对于k=ki,等式1得出的归一化互相关性最大。Ri[k]=Σj=0L-1s~[iSs+k+j]·s[iSa+j](Σj=0L-1s2[iSa+j]·Σj=0L-1s~2[iSs+k+j])1/2(0≤k≤N/2)]]>(等式1)在此等式中, 表示输出信号,而L表示给定范围内与特定滞后k相对应的重叠长度[1]。在求出ki后,同步参数、交叠信号如以前一样求平均值。通过大量的帧,输出和输入信号长度之比将趋近于值Ss/Sa,由此定义比例因子α。
当SOLA压缩与互逆的SOLA扩展串联时,通常会在输出语音中引入一些人工产物,例如混响、人工音调和偶尔的瞬态恶化。
混响与有声语音有关,并可以归因于波形平均。压缩和后续的扩展都对相似的片段进行平均。然而,相似性是局部测量的,这表示扩展不一定把额外的波形插入它所“遗失”的区域中。这导致波形平滑,可能甚至引入新的局部周期性。此外,在扩展过程中的帧定位被设计成再用相同的片段,以便产生额外的波形。这把相关引入通常被视为人工“音调”的无声语音。
人工产物也发生于语音瞬态、即发声转变的区域中,这通常表现为信号能级的突变。随着比例因子的增大,‘iSa’和‘iSs’之间的距离也增大,这可阻止用于平均的瞬态的相似部分对准。因此,瞬态的交叠的不同部分导致其“拖尾效应”,这就危及了对其强度和定时的正确感觉。
在[5]、[6]中报导了通过采用在SOLA压缩过程中得到的ki可实现高质量的压扩语音信号。因此,与SOLA所完成的正好相反,在时刻iSs+ki从压缩信号 中切去N-样本长的帧 并重新定位在原始时刻iSa(同时如以前一样对交叠样本求平均)。发送/存储所有ki的最大成本由公式2给出,其中Ts是语音采样周期,而 代表向最接近的较大整数进行的舍入运算。 (公式2)还报导了从高的(即大于30%)SOLA压缩或扩展中排除瞬态产生提高的语音质量。[7]因此可以理解,现有的几种技术和方法能够成功地(例如能产生高质量)用于压缩或扩展信号时标。虽然上面具体参照语音信号来描述,但是应当理解,此描述只是一种信号类型的代表性实施例的描述,与语音信号有关的问题还适用于其它信号类型。当用于编码时,时标压缩后面接着是时标扩展(时标压扩),现有技术的性能下降得相当大。用于语音信号的最佳性能通常从时域方法中得到,在这些方法中广泛应用了SOLA,然而在采用这些方法时仍然存在问题,其中的一些在上文中已说明。因此,需要提供一种改进方法和系统,能够以针对构成该信号的分量的方式对信号作时标修改。
通过提供一种分析信号内的各个帧片段并对特定信号类型采用不同算法的方法,可以优化信号的修改。这种对特定信号类型应用特定修改算法的方法能够以适合于满足构成该信号的各个分量片段的不同要求的方式对信号进行修改。
在本发明的一个优选实施例中,对语音信号应用此方法,采用用于不同类型信号的不同扩展或压缩技术对信号的有声和无声分量进行分析。为特定类型的信号优化技术的选择。
本发明另外还提供了如权利要求9所述的扩展方法。信号的扩展是通过将信号分成各部分并在这些部分之间插入噪声来实现的。噪声最好是合成产生的噪声而不是从现有样本中产生的噪声,这就允许插入具有与信号分量相似的频谱和能量特性的噪声序列。
本发明还提供一种接收音频信号的方法,此方法采用了如权利要求1所述的时标修改方法。
本发明还提供一种适合于实现权利要求1的方法的装置。
参考附图可以更好地理解本发明的这些及其它特征。
图4是根据本发明一个实施例的基于TSM的语音编码系统的示意图,图5是表示用于LPC计算的无声语音的分段和开窗的图,图6表示按照因子b>1进行的无声语音的参数时标扩展,图7是时标压扩的无声语音的实例,其中为时标扩展的目的而采用本发明的噪声插入法,为时标压缩的目的而采用TDHS,图8是根据本发明的结合TSM的语音编码系统的示意图,图9是表示如何通过将Sa个样本长的帧左移而更新保持输入语音的缓冲器的图,图10表示压缩器中的输入(右)和输出(左)语音流,图11表示语音信号和相应的发声轮廓(有声=1),图12是在直接跟随图10所示压缩之后的扩展初始阶段中不同缓冲器的示意图,图13表示只有在过去帧和将来帧为无声时才采用参数方法对当前无声帧进行扩展的实例,以及图14说明在有声扩展期间,如何通过从2Sa个样本长的缓冲器Y中输出前Sa个样本来扩展当前Ss个样本长的帧。
附图的详细描述本发明的第一方面提供了一种信号时标修改的方法,它尤其适合于音频信号和无声语音的扩展,并被设计成克服由在所有时域方法中固有的“重复”机制所引入的人工音调的问题。本发明通过插入适当量的反映输入序列的频谱和能量特性的合成噪声来延长时标。这些特性的估计是基于LPC(线性预测编码)和方差匹配。在一个优选实施例中,模型参数从可以是已压缩信号的输入信号中得出,从而避免了传输它们的需要。虽然并不想将本发明限制于任一种理论分析,但还是认为无声序列的上述特性的有限失真是由其时标压缩所引起的。图4表示本发明的系统的示意图。上面部分表示在编码器端的处理阶段。还包括由方框“V/UV”所表示的语音分类器,用于确定无声和有声语音(帧)。采用SOLA来压缩所有语音,但被转换的有声前端除外。在本说明书中使用的术语“转换”意味着这些帧分量被从TSM中排除。同步参数和发声决策通过侧信道发送。如图的下部所示,它们被用来识别已解码的语音(帧),并选择适当的扩展方法。因此可以理解,本发明提供了不同算法对不同信号类型的应用,例如在一个优选应用中,采用SOLA来扩展有声语音,而采用参数法来扩展无声语音。
无声语音的参数建模线性预测编码是广泛用于语音处理的方法,采用从先前样本的线性组合中预测当前样本的原理。由公式3.1或等效地由其z-变换的对应式3.2来描述该方法。公式3.1中,s和分别表示原始信号及其LPC估计值,e表示预测误差。另外,M决定预测的阶数,ai为LPC系数。这些系数通过一些众所周知的算法([6],5.3)导出,这些算法通常基于最小二乘方误差(LSE)最小化、即∑ne2[n]的最小化,s(n)=s^[n]+e[n]=Σi=1Ma[i]s[n-1]+e[n]]]>(公式3.1)H(z)=S(z)E(z)=11-Σi=1Ma[i]·z-1=1A(z)]]>(公式3.2)采用LPC系数,可以通过由公式3.2描述的合成过程来逼近序列s。显然,滤波器H(z)(通常由1/A(z)来表示)由适当的信号e来激励,信号e理想上反映预测误差的特性。在无声语音的情况中,适当的激励通常是分布零平均值噪声。
最终,为了保证合成序列的适当幅度电平变化,激励噪声被乘以适当的增益G。此增益最好是根据与原始序列s的方差匹配来计算,如公式3.3所述。通常,无声声音s的平均值s可假定成等于0。但是,这不必对其任意片段而言都成立,尤其是如果s已经过一定的时域加权平均(为时标修改的目的)。G=σs2σe2≡1N·Σn=0N-1(s[n]s)21N·Σn=0N-1(e[n]e)2(s‾=1N·Σn=0N-1s[n],e‾=0)]]>(公式3.3)所述信号估算的方式只对稳定信号是精确的。因此,它只能应用于准稳定的语音帧。当涉及LPC计算时,语音分段还包括开窗,其目的为在频域中使拖尾效应最小化。这示于图5中,其特征为一个汉明窗口,其中N表示帧长(通常为15-20ms),T表示分析周期。
最后,应该指出,由于模型参数的精确估算所需的时间和频率分辨率不一定相同,因此增益和LPC计算不必以相同的速率进行。通常,LPC参数每10ms更新一次,而增益更新得更快(例如2.5ms)。用于无声语音的时间分辨率(由增益来描述)在感觉上比频率分辨率重要,因为无声语音通常具有比有声语音更高的频率。
采用上述参数建模来实现无声语音的时标修改的可行方法是在与分析不同的速率下进行合成,图6中示出采用此思想的时标扩展技术。模型参数在速率1/T(1)下导出,并在速率1/bT下用于合成(3)。合成期间使用的汉明窗口只用于表明速率变化。实际上,功率互补加权可能最合适。在分析阶段中,LPC系数和增益由输入信号导出,这里是在相同速率下。具体地说,在T个样本的各个周期后,在N个样本长度上、即对N-样本长的帧计算LPC系数a和增益G的矢量。在某种意义上,这可视为根据公式3.4定义‘时间矢量空间’V,为简单起见,将其表示为二维信号。
V=V(a(t),G(t))(a=[a1,...aM],t=nT,n=1,2,...)(公式3.4)为了按照比例因子b(b>1)得到时标扩展,此矢量空间在合成之前由同一因子进行简单的“下降抽样”。显然,在bT个样本的各个周期后,将V的元素用于新的N个样本长的帧的合成。因此,与分析帧相比,合成帧将以更小的量在时间上交叠。为证明这一点,再次采用汉明窗口对帧做标记。实际上,可以理解,通过应用功率互补加权并为此目的使用适当的窗口,可以对合成帧的重叠部分求平均值。可以理解,通过以比分析更快的速率来执行合成,可以类似方式实现时标压缩。
本领域的技术人员可以理解,应用此方法而产生的输出信号是完全的合成信号。作为用于减少通常视为增强噪声的人工产物的可能补救方法,更快的增益更新可能有用。但更有效的方法是减少输出信号中合成噪声的量。在时标扩展的情况中,这可以如下所述地完成。
不采用在一定速率下合成整个帧的方法,在本发明的一个实施例中提供了一种方法,用于加入适当的少量噪声以延长输入帧。如上所述地、即从为该帧导出的模型(LPC系数和增益)中得到用于各帧的附加噪声。尤其是当扩展压缩序列时,用于LPC计算的窗口长度通常可延伸到超过帧长。这主要意味着对感兴趣的区域赋予足够的权重。之后,假定要分析的压缩序列已经充分保留了从中得到该压缩序列的原始序列的频谱和能量特性。
首先采用来自图3的图示,输入无声序列s[n]被分段而成为帧。各L-样本长的输入帧 将被扩展成所需长度的LE个样本(LE=α·L,其中α>1为比例因子)。根据上面的说明,将在相应的长帧 上进行LPC分析,此长帧为该目的而开窗。
然后如下得到一个特定帧 (由si表示)的时标扩展形式。LE个样本长、零平均值且正态分布(σe=1)的噪声序列由滤波器1/A(z)进行整形,滤波器1/A(z)由从 导出的LPC系数定义。然后,这样整形的噪声序列被赋予与帧 相等的增益和平均值。这些参数的计算由块“G”表示。接着,帧 被分成两个半帧,即 和 附加噪声就插在它们之间。该添加噪声从先前合成的长度为LE的噪声序列的中间切去。实际上,可以理解,这些动作可通过适当地开窗和补零、赋予各序列相同长度的LE个样本、然后将它们简单地加在一起来实现。
另外,虚线所示窗口建议可以在插入噪声的区域的连接点周围进行平均(平滑转换)。而且,由于所有涉及的信号的类噪声特性,在过渡区内这种“平滑”的可能(可察觉的)好处仍有限。
在图7中,如上所述的方法通过一个实例来说明。首先,对原始的无声序列s[n]应用TDHS压缩,结果产生sc[n]。然后通过对sc[n]进行扩展来恢复原始时标。通过在两个特定帧上进行放大,使噪声插入变得明显。
可以理解,噪声插入的上述方式是根据执行LPC分析、采用汉明窗口的常规方法,由于帧的中心部分被赋予最高权重,因此在中间插入噪声似乎更合理。然而,如果输入帧标示出接近声音事件、如发声转变的区域,则以不同方式插入噪声可能更加可取。例如,如果帧由逐渐转换成更“类有声的”语音的无声语音构成,则最好将合成噪声插入更接近帧的开始处(最类噪声的语音即位于此)。然后为了LPC分析,适当地使用最大权重位于帧左部的非对称窗口。因此应当理解,可以考虑对不同类型的信号在帧的不同区域插入噪声。
图8表示结合所有上述概念的基于TSM的编码系统。此系统包括(可调)压缩器和相应的扩展器,允许在它们之间放置任意的语音编解码器。最好通过将无声语音的SOLA、参数扩展以及转换有声前端的其它概念相结合而实现时标压扩。还应理解,本发明的语音编码系统还可独立地用于无声语音的参数扩展。在下面的部分中给出了与系统设置有关的细节及其TSM阶段的实现,包括与一些标准语音编码器的比较。
信号流可如下所述。输入语音经过缓冲并分段成帧,以便适合随后的处理阶段。也就是说,通过在缓冲语音上进行发声分析(在由“V/UV”表示的块内)和在缓冲器内使连续的帧偏移,可以形成发声信息流,用于对语音部分进行分类且对它们进行相应处理。具体地说,转换有声前端,同时采用SOLA压缩所有其它的语音。然后把输出帧传到编解码器(A),或者绕过编解码器(B)直接到扩展器。同时,通过侧信道发送同步参数。它们用来选择和执行特定的扩展方法。也就是说,采用SOLA帧偏移ki来扩展有声语音。在SOLA期间,在时间iSa处从输入信号中切除N个样本长的分析帧xi,并在相应的时间ki+iSs输出。最终,通过相反的处理来恢复这样修改的时标,即在时间ki+Ss从时标修改信号中切除N个样本长的帧 并在时间iSa处将其输出。此过程可通过公式4.0来表达,其中 和分别表示原始信号s的TSM形式和重建形式。这里从m=1开始,依照k的下标,假定k0=O。 可被分配多个值,即来自时间上重叠的不同帧的样本,并且由平滑转换来进行平均。x^i(n)=s^[n+iSa]=s~[n+iSs+ki](i=0,m‾)(n=0,N-1‾)]]>(公式4.0)通过比较SOLA的连续交叠相加的阶段和上述重建过程,可以容易地看出 和xi通常是不同的。因此可以理解,这两个过程不是正好构成“1-1”转换对。然而,与仅应用采用互换Ss=Sa比的SOLA相比,这种重建的质量非常高。
无声语音最好采用上述参数方法来扩展。应当指出,采用转换的语音片段来实现扩展,而不是简单地将其复制到输出。通过对所有接收的数据进行适当的缓冲和操作,可以得到同步处理,其中原始语音的各输入帧将在输出端(初始延迟后)产生一个帧。
应当理解,有声前端可简单地作为任何从无声语音到有声语音的转换而检测到。
最后,应该指出,发声分析原则上可在压缩语音上进行,因而此过程可用于消除发送发声信息的需要。然而,这种语音对该目的来说是相当不充分的,因为通常必须分析相对较长的分析帧,以便得到可靠的发声决策。
图9表示根据本发明的输入语音缓冲器的管理。在一定时间包含于缓冲器中的语音由片段 表示。对汉明窗口之下的片段OM进行发声分析,提供与中心的V个样本相关的发声决策。窗口只用于说明,并不表示需要语音加权,可用于任何加权的技术的一个实例可见于R.J.McAulay和T.F.Quatieri的“基于正弦语音模型的音调估计和发声检测”(IEEE Int.Conf.on Acoustics Speech and SignalProcessing,1990)。所得的发声决策归因于Sa个样本长的片段 其中V≤Sa和|Sa-V|<<Sa。另外,语音分段成Sa个样本长的帧 (i=0,...,3),使得能方便地实现SOLA和缓冲器管理。具体地说, 和 将用作两个连续SOLA分析帧xi和xi+1,而缓冲器将通过帧 (i=0,1,2)的左移并将新样本放置在“空”的 位置上而得以更新。
压缩可以采用图10来容易地描述,图中示出四次初始迭代。输入和输出语音流可分别沿着图的右侧和左侧,其中SOLA的一些常见特征很明显。在输入帧中,有声语音被标记为“1”,而无声语音被标记为“0”。
最初,缓冲器包含一个零信号。然后,读取第一帧 在此情况中发出有声片段。应当指出,根据执行发声分析的上述方式,此帧的发声只是在它到达 的位置后才为人所知。因此,算法延迟总计为3Sa个样本。在左侧,连续变化的灰色帧、由此产生的合成帧代表特定时间保持输出(合成)语音的缓冲器的前面的样值(在下文中将清楚,此缓冲器的最小长度为(ki)最大值+2Sa=3Sa个样本)。根据SOLA,此帧将在由Ss(Ss<Sa)决定的速率下通过与连续的分析帧的交叠相加来更新。因此,在最初两次迭代后,由于对于分别通过分析帧 和 进行的新的更新来说,Ss个样本长的帧 和 已过时,因此它们将连续地输出。此SOLA压缩将持续进行,只要当前的发声决策没有从0变化到1,这是在步骤3中发生的。在该点,除其最后Sa个样本外,整个合成帧将被输出,在其上面添加来自当前分析帧的最后Sa个样本。这可视为合成帧的再初始化,现在变成 通过它,在步骤4中开始新的SOLA压缩循环,等等。
可以看出,在保持语音连续性的同时,由于SOLA的慢收敛性,帧 的大部分将被转换,随后的几个输入帧也被转换。这些部分正好对应于最可能包含有声前端的区域。
现在可以推断,在各次迭代后,压缩器将输出“信息三元组”,包括语音帧、SOLA k和与缓冲器中的前面帧对应的发声决策。由于在转换过程中不计算互相关,因此ki=0归因于各个已转换的帧。因此,通过用它们的长度来表示语音帧,在此情况下产生的三元组为(Ss,k0,0),(Ss,k1,0),(Sa+k1,0,0)和(Ss,k3,1)。应当指出,在无声语音的压缩过程中得到的(大多数)k的传输是多余的,因为(大多数)无声帧将采用参数法来扩展。
扩展器最好可适于始终留意同步参数,以便识别输入帧和对其进行适当的处理。
有声前端的转换的主要结果是它“干扰”了连续的时标压缩。可以理解,所有压缩帧具有Ss个样本的相同长度,而已转换的帧的长度是可变的。当在时标压缩后进行编码时,这会在保持恒定比特率方面引起困难。在此阶段,选择对得到恒定比特率的要求进行折衷,这有利于得到更好的质量。
关于质量方面,还可以认为,如果通过转换的语音片段的两侧的连接片段失真,则此语音片段会引入不连续。通过预先检测有声前端,这意味着所转换的片段将在前端之前的无声语音的一部分处开始,这就可能使这种不连续的效果减至最小。还可以理解,SOLA的慢收敛性对于中度压缩率来说,这保证了所转换的语音的终止部分将包括前端之后的一些有声语音。
可以理解,在压缩过程中,各Sa个样本长的输入帧将在输出端产生Ss或Sa+ki-1(ki≤Sa)个样本长的帧。因此,为了恢复原始的时标,来自扩展器的语音最好应包括Sa个样本长的帧,或者是具有不同长度但可产生相同总长m·Sa的帧,其中m为迭代次数。现在所讨论的是关于一种实现,它能够只逼近所需的长度并且是实用选择的结果,允许简化操作和避免引入另外的算法延迟。可以理解,对于不同应用来说,其它方法也可被视为必要的。
在下文中,假定几个单独的缓冲器具有一定的配置,所有缓冲器将通过样本的简单移位而更新。为了说明,将介绍由压缩器产生的完全“信息三元组”,包括在无声声音的压缩过程中得到的k、其中大多数实际上是废弃的。
这在图12中也表示出,其中示出初始状态。用于输入语音的缓冲器由4Sa个样本长的片段 表示。为了说明,假定此扩展直接跟随图10所示的压缩之后。两个附加缓冲器ξλ和Y分别用于为LPC分析提供输入信息和便于有声部分的扩展。另外两个缓冲器用于保持同步参数、即发声决策和k。这些参数流用作识别输入语音帧和适当对其进行处理的标准。从现在开始,分别将位置0、1和2称为过去、当前和将来。
在扩展过程中,一些典型的动作将在包含同步参数的缓冲器的特定状态所调用的“当前”帧上执行。下文中通过举例来阐明。
i.无声扩展上述参数扩展法专用于所有三个感兴趣的帧均为无声的情况下,如图13所示。这意味着d(A0a4‾)=Ss,d(a1a2‾)=Ss]]>和d(a2a3‾)=Sa]]>或Sa+k[1]。下面还将介绍和说明其它要求,说明这些帧不会形成有声偏移的立即连续(从有声到无声语音的转变)。
因此,当前帧 被延长到Sa个样本的长度并被输出,之后将缓冲器内容左移Ss个样本,使得 为新的当前帧,并更新“LPC缓冲器”ξλ的内容[通常d(ξλ≈2Ss]。
ii有声扩展图14中示出调用此扩展方法的可能发声状态。首先假定压缩信号开始于 即 v
和k
为空的。然后,Y和X正好表示时标“重建”过程中的前两帧。在此“重建”过程中,需要在位置iSs+ki处从压缩信号中切除2Sa个样本长的帧 ,在此情况下Y=x^0,X=x^i,]]>并将其“放回”原始位置iSa,同时对重叠样本进行平滑转换。在重叠过程中不使用Y的前Sa个样本,因此它们被输出。这可视为Ss个样本长的帧 的扩展,它然后通过普通的左移由其后续帧 来代替。显然,可以类似方式、即通过从缓冲器Y中输出前Sa个样本来对所有连续的Ss个样本长的帧进行扩展,而此缓冲器的剩余部分通过用为某一当前k、即k[1]得到的X来交叠相加而不断更新。明显地,X将包含来自输入缓冲器的2Sa个样本,从第Ss+k[1]个样本开始。
iii.转换如上所述,在本说明书中使用的术语“转换”意指当前帧或其一部分被原样输出或跳过、即移位但不输出的所有情况。图15表示在无声帧 已经变成当前帧的时候,其前Sa-Ss个样本将已经在先前迭代期间被输出。即,这些样本被包括在Y的前Sa个样本中,其在 的扩展期间已被输出。因此,采用参数法对过去的有声帧之后的当前无声帧进行扩展会干扰语音的连续性。因此,决定在这种有声偏移的过程中保持有声扩展。换句话说,有声扩展被延长到有声帧之后的第一个无声帧。这不会激发“音调问题”,该问题主要是当SOLA扩展的“重复”在相对较长的无声片段上延伸时产生的。
但是显然,上述问题只是被推迟了,在将来帧 中还会再出现。记住执行发声扩展的方式、即Y更新的方式,这样在总共ki(0<k<Sa)个样本到达缓冲器前端之前就已经被输出(由平滑转换来修改)。
为了首先排除这个问题,跳过在过去已被使用的各个当前的ki个样本。这就意味着迄今为止采用的原理的偏差,其中对各个输入的Ss个样本来说,输出Sa个样本。为了补偿样本的“短缺”,采用包含在由压缩器产生的转换的Sa+kj个样本长的帧中的“多余”样本。如果此帧不是直接跟随于有声偏移之后(如果有声前端不在有声偏移之后很快出现),则先前迭代中未使用其任何样本,而且此帧可整个输出。因此,在有声偏移之后的ki个样本的“短缺”将由下一有声前端之前的至多kj个“多余”样本来平衡。
由于kj和ki都是在无声语音的压缩过程中得到的,因而具有随机似的特征,对特定j和i来说它们的平衡并不准确。结果,通常在原始的和相应压扩的无声声音的持续时间之间产生轻微的失配,预期它是不可察觉的。同时,确保了语音连续性。
应当指出,即使没有引入附加延迟和处理,通过在压缩过程中为所有无声帧选择相同的k,也可以容易地处理失配的问题。由此动作引起的可能的质量降低预期是有限的,因为对于无声语音来说,根据波形相似性计算k,而波形相似性不是主要的相似性量度。
应当指出,最好一贯地更新所有的缓冲器,以便在不同动作之间切换时保证语音连续性。为了这种切换和输入帧的识别,已经基于检查发声和“k-缓冲器”的状态而建立了决策机制。可通过下表总结,其中简化了上述动作。对于样本的信号“再用”、即在过去有声偏移的发生,引入称为“偏移”的其它断言。它可以通过进一步到发声缓冲器的过去查看一个步骤来定义,如果v
=1∨v[-1]=1,则为真,在所有其它情况下为假(∨表示逻辑“或”)。应当指出,通过适当的操作,不需要任何用于v[-1]的明确存储单元。
表1扩展器的选择动作
可以理解,本发明采用了用于无声语音的时标扩展方法。无声语音采用SOLA来压缩,但通过插入具有相邻片段的频谱形状及增益的噪声来扩展。这避免了由“再用”无声片段而引起的人工相关。
如果TSM与在较低比特率下(即<8千比特/秒)工作的语音编码器相结合,与传统编码(在此情况下为AMR)相比,基于TSM的编码性能更差。如果语音编码器在较高比特率下工作,可以达到可比的性能。这可具有若干优点。通过采用较高的压缩比率,具有固定比特率的语音编码器的比特率现在可以降低到任意比特率。通过高达25%的压缩比率,TSM系统的性能可与专用语音编码器相比。由于压缩比率可随时间而变化,TSM系统的比特率也可随时间而变化。例如,在网络拥塞的情况下,比特率可以暂时性地降低。此语音编码器的比特流语法不会被TSM改变。因此,可以比特流兼容的方式来使用标准化的语音编码器。此外,在错误传输或存储的情况下,可采用TSM来进行错误隐藏。如果不正确地接收到一帧,相邻帧可被时标扩展,以便填充由错误帧引起的间隙。
已经证明,与时标压扩有关的大多数问题在出现于语音信号中的无声片段和有声前端的过程中发生。在输出信号中,无声声音呈现音调特征,而更平缓和平滑的有声前端通常发生拖尾,尤其在采用较大比例因子时更是如此。无声声音的音调性由所有时域算法中固有的“重复”机制所引起。为了克服此问题,本发明提供了用于扩展有声和无声语音的单独方法。一种方法用于扩展无声语音,它基于将适当形状的噪声序列插入压缩的无声序列中。为了避免有声前端的拖尾效应,从TSM中排除声音前端,然后进行转换。
这些概念与SOLA的结合可以实现时标压扩系统,它胜过对压缩和扩展采用类似算法的传统实现。
可以理解,在TSM各阶段之间引入语音编解码器可能引起质量下降,这与编解码器的比特率降低成比例地变得更显著。当将特定编解码器与TSM相结合而产生一定的比特率时,所得系统比在相当比特率下工作的专用语音编码器的性能更差。在较低比特率下,质量降低是不可接受的。但是,在较高比特率下,TSM在提供故障弱化上可能更有利。
虽然上面参考一个特定实现进行描述,但是应当理解,若干修改是可能的。可以采用通过噪声插入和增益计算的其它方法来对用于无声语音的所述扩展方法进行改进。
类似地,虽然本发明的描述主要针对时标扩展语音信号,但本发明还可应用于其它信号,比如但不限于音频信号。
应当指出,上述实施例是说明而不是限定本发明,在不脱离所附权利要求的范围的前提下,本领域的技术人员可以设计出许多其它实施例。在权利要求中,括号之间的任何标号不应理解为限定权利要求。术语“包括”并不排除在权利要求中所列出的要素或步骤之外的其它要素或步骤的存在。本发明可通过包括若干不同部件的硬件以及通过适当编程的计算机来实现。在列举若干装置的装置权利要求中,这些装置中的几个可以由同一项硬件来实施。在相互不同的从属权利要求中引用一定的方法的事实并不表示这些方法的组合无法带来好处。
参考文献[1]J.Makhoul,A.El-Jaroudi,“在媒体中对低速语音编码的时标修改”,Proc.of ICASSP,1986年4月7-11日,第3卷,第1705-1708页。[2]P.E.Papamichalis,“语音编码的实用方法”,Prentice Hall,Inc.,Engelwood Cliffs,New Jersey,1987。[3]F.Amano,K.Iseda,K.Okazaki,S.Unagami,“语音编解码器的8千比特/秒TC-MQ(时域压缩ADPCM-MQ)”,Proc.of ICASSP,1988年4月11-14日,第1卷,第259-262页。[4]S.Roucos,A.Wilgus,“用于语音的高质量时标修改”,Proc.ofICASSP,1985年3月26-29日,第2卷,第493-496页。[5]J.L.Wayman,D.L.Wilson,“对用于实时语音压缩和噪声过滤的时标修改方法的一些改进”,IEEE Transactions on ASSP,第36卷,第1期,第139-140页,1988。[6]E.Hardam,“采用快速同步交叠相加算法的语音信号的高质量时标修改”,Proc.of ICASSP,1990年4月3-4日,第1卷,第409-412页。[7]M.Sungjoo-Lee,Hee-Dong-Kim,Hyung-Soon-Kim,“利用瞬态信息的语音的可变时标修改”,Proc.of ICASSP,1997年4月21-24日,第1319-1322页。[8]WO96/27184A
权利要求
1.一种对信号进行时标修改的方法,所述方法包括以下步骤a)定义信号内的各个帧片段;b)分析所述各个帧片段,以便确定各个帧片段中的信号类型;以及c)对所确定的第一信号类型应用第一种算法,对所确定的第二信号类型应用第二种不同的算法。
2.如权利要求1所述的方法,其特征在于,所述第一信号类型为有声信号片段,所述第二信号类型为无声信号片段。
3.如权利要求1或2所述的方法,其特征在于,所述第一算法基于波形技术,所述第二算法基于参数技术。
4.如任何上述权利要求所述的方法,其特征在于,所述第一算法为SOLA(同步交叠相加)算法。
5.如任何上述权利要求所述的方法,其特征在于,所述第二算法包括以下步骤a)将所确定的第二信号类型的各帧分成引入和引出部分;b)产生噪声信号;以及c)在所述引入和引出部分之间插入所述噪声信号,以便实现扩展的片段。
6.如任何上述权利要求所述的方法,其特征在于,所述第一和第二算法为扩展算法,而且所述方法用于对信号进行时标扩展。
7.如权利要求1到5中任一项所述的方法,其特征在于,所述第一和第二算法为压缩算法,而且所述方法用于对信号进行时标压缩。
8.如权利要求1所述的方法,其特征在于,所述信号是时标修改后的音频信号。
9.一种对信号进行时标扩展的方法,它包括以下步骤a)将所述信号分成第一部分和第二部分;以及b)在所述第一部分和所述第二部分之间插入噪声,从而获得时标扩展的信号。
10.如任何上述权利要求所述的方法,其特征在于,所述信号是音频信号,对特别是无声片段进行了时标扩展。
11.如权利要求9所述的方法,其特征在于,所述噪声为合成噪声,具有与所述信号的第一和第二部分的频谱形状相当的频谱形状。
12.一种接收音频信号的方法,所述方法包括以下步骤a)对所述音频信号进行解码;以及b)根据如权利要求1所述的方法对所述解码的音频信号进行时标扩展。
13.一种适合于修改信号、以便实现时标修改信号的形成的时标修改装置,它包括a)用于确定所述信号的各帧内的不同信号类型的装置;以及b)用于对具有第一确定信号类型的帧应用第一修改算法和对具有第二确定信号类型的帧应用不同的第二修改算法的装置。
14.如权利要求13所述的装置,其特征在于,所述用于对第二确定信号类型应用不同的第二修改算法的装置包括a)用于将所述信号帧分成第一部分和第二部分的装置;以及b)用于在所述第一部分和所述第二部分之间插入噪声而得到时标扩展的信号的装置。
15.一种用于接收音频信号的接收器,所述接收器包括a)用于对所述音频信号进行解码的解码器;以及b)如权利要求13或14所述的用于对所述解码的音频信号进行时标扩展的装置。
全文摘要
描述了采用信号的时标修改(TSM)的技术。对信号进行分析并将其分成相似信号类型的帧。然后对这些帧应用针对该信号类型的技术,从而优化修改处理。本发明的方法能采用不同的方法来实现不同音频信号部分的TSM,还描述了用于实现所述方法的系统。
文档编号G10L25/93GK1460249SQ02801028
公开日2003年12月3日 申请日期2002年3月27日 优先权日2001年4月5日
发明者R·陶里, A·J·格里茨, D·布扎泽罗维克 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1