专利名称:使用可变长度合成和简化互相关计算的音频信号时间缩放比例修改方法
技术领域:
本发明涉及一种用于音频信号的时间缩放比例修改(“TSM”)的技术,特别涉及这样的方法,其允许在时域中实时修改采样率高的原始音频信号,并最小化原始输入音频信号的音调(pitch)信息失真。
背景技术:
为了以比正常回放速度慢或快的非正常回放速度再现音频信号如语音、音乐或者若干种声音的混合,有必要修改音频信号的时间缩放比例。音频信号时间缩放比例修改方法可粗略地分类为频域处理方法和时域处理方法。由于频域处理方法使用快速傅立叶变换(“FFT”)并且需要大量计算,因此该方法在其实施方面存在很多困难,并且一般被认为不适于需要实时处理的应用领域。与频域处理方法相比,时域处理方法需要相对少量的计算来提供良好质量的声音,从而被认为适于这样的实时应用领域。
时域处理方法的基本构思是以重叠相加(“OLA”,overlap-add)方法的名义引入的。根据OLA方法,输入音频信号被分段为多个部分重叠的帧,并且根据所希望的时间缩放比例修改相邻帧之间的间隔(即,时间),其中,将每个时间缩放比例修改后的输入帧依次加到输出音频信号上。当添加要加到输出音频信号上的帧时,通过将加权函数施加到将要添加的帧的重叠部分和输出音频信号来将二者相加,并且按原样添加帧的非重叠部分。自从引入OLA方法,已经引入了各种改进方法,例如同步重叠相加(“SOLA”)方法和基于波形相似性的重叠相加(“WSOLA”)方法,其致力于减少计算量,并使TM处理后的音频信号的声音质量与输入音频信号的声音质量更相似。
SOLA方法通过被称为分析和合成的两个步骤来修改输入信号的时间缩放比例。与OLA方法类似,分析步骤进行将输入信号分段为多个部分重叠的窗的过程,每个窗具有固定长度N,并被隔开固定的分析位移Sa。合成步骤进行利用合成位移Ss将在分析步骤获得的窗重新对准的过程。此时,每个窗与通过合成先前的窗所形成的输出信号部分重叠。当与输出信号重叠时,每个这样的窗在与输出信号的相似性即互相关最大的位置对准,以便减小由分析位移Sa和合成位移Ss之间的差异所导致的信号不连续。通过上述对准进行的这种重叠被称为合成重叠。施加到重叠部分的合成和非重叠部分的简单添加的后续过程与OLA方法几乎相同。因为SOLA方法以最大程度保持原始音调信息的方式来修改时间缩放比例,因此它比OLA方法更多地改善了时间缩放比例修改后的输出信号的声音质量。然而,SOLA方法具有这样的问题在搜索最大相似性位置期间,对准位置Km不断改变,从而重叠部分也发生变化,使得应当计算新的互相关,并且这一复杂计算导致需要大量计算。因此,SOLA方法不适于需要实时处理的应用。此外,它未能提供这样的方式,即输入信号和时间缩放比例修改后的输出信号之间的信号长度比变为与所希望的时间缩放比例值精确相等。
WSOLA方法是这样的方法其基于相邻帧的波形相似性查找最大互相关位置,以充分确保波形段边界处的信号连续性,并且,具体地说,使相关样本索引(index)的所有相邻样本中时间缩放比例已被修改的合成信号具有与原始信号的最大局部相似性。尽管与SOLA方法相比,WSOLA方法产生更少的频率失真并需要更少量的计算,但是减少计算量受到应当采用短时间傅立叶变换(“STFT”)来查找波形相似性的限制。因此,WSOLA方法不能容易地用于应当以实时处理的方式来处理时间缩放比例修改的应用领域。
对于音频信号的时间缩放比例修改,应当考虑的最重要因素之一是减小计算量。如果计算量大,则因为TSM的实时处理是不可能的,所以应用领域受到极大限制。当重叠相加输入信号的特定窗(或帧)与输出信号时,TSM时域处理方法如SOLA、WSOLA以及它们的其它改进方法查找提供所述窗与时间缩放比例修改后的信号(以下称为“输出信号”)之间的互相关最大值的位置,并在该位置合成所述窗与输出信号,以便使输出信号对于音频信号的谱特性或音调周期最大程度地与原始信号(以下称为“输入信号”)相同。然而,查找提供互相关最大值的位置导致大量计算。当根据现有方法处理TSM时,施加到处理器(或CPU)上的负荷中超过大约95%在查找互相关最大值位置的过程中产生。
此外,随着用于TSM处理的输入信号的采样率变高,与互相关有关的计算量以几何级数增大。原因在于计算最大互相关值需要双重循环计算,并且每个循环的计算量与输入信号的采样率成比例。也就是说,该双重循环具有第一循环,以1∶1的方式将属于输入信号分析窗的特定部分(重叠部分)的所有样本和输出信号特定部分(重叠部分)的所有样本相乘;以及第二循环,在将所述分析窗相对于搜索范围移动一个样本的同时,递归地进行所述第一循环的相乘计算。每个循环的计算量几乎与输入信号的采样率成比例。因为这两个循环以双重循环的方式执行,所以计算量的增长模式为与输入信号的采样率成指数比例。因此,即使是以需要比SOLA和其它方法更少量的计算著称的WSOLA也需要大量计算,使得其可应用于配有性能良好的CPU的个人计算机上,但不能应用于配有性能相对差的嵌入式处理器的系统上。
对于以8KHz采样的音频信号的20ms分组(段),根据上述双重循环计算方式的现有技术TSM方法要进行24000次乘法和超过24000次加法。对于8KHz采样率的音频信号的20ms分组,利用733MHz的Intel Pentium III芯片,花费大约0.35ms来进行TSM计算。在44.1KHz采样率的音频信号的情况下,对于20ms分组,利用733MHz的Intel Pentium III芯片,TSM计算需要大约10.64ms。因此,这样的TSM计算需要389MHz以上的CPU能力,其意味着至少应当将389MHz的CPU的全部处理能力分配给TSM计算。另一方面,即使是733MHz的Intel Pentium III处理器也不可能对96KHz采样率的DVD音频信号实时地进行TSM计算,这是因为对于每个20ms分组(段),对此信号的TSM计算大约花费50.4ms。为了利用通常的SOLA或WSOLA方法对以44.1KHz采样的音频信号进行TSM,应当将至少389MHz的嵌入式处理器的全部处理能力分配给TSM计算。在16KHz采样率的音频信号的情况下,应当将至少51MHz的处理能力分配给TSM计算。考虑到以下方面商业化的嵌入式处理器的最佳性能尚不能超过200MHz,并且在采用嵌入式处理器的系统中,施加到嵌入式处理器上的负荷不仅用于TSM处理,还用于其它业务处理,实际上几乎不可能通过使用安装了根据现有技术TSM方法的程序的嵌入式处理器,来对具有高于8KHz采样率的音频信号实时处理TSM。
具体地说,反映消费者对高质量声音的需求的最新趋势是音频信号的采样率逐渐变得更高。近年来,通常在个人计算机中使用的WAV格式以及MPEG单型(monotype)主要使用44.1KHz的采样频率。此外,96KHz或几乎为96KHz两倍的192KHz的采样率被用于DVD。为了对高采样率的音频信号实时处理TSM,有必要在处理器可以分配的处理能力范围内减小计算量。已知的TSM方法不能对上述需要提出任何解决方案。
只要可以显著减小TSM的计算量,就可以转移从这一减小获得的处理器的部分过剩能力,以提高声音质量,从而获得比以前质量更好的声音。因为语音不具有宽频率带宽,因此基于互相关最大值合成语音信号的传统TSM方法不会使原始语音的音调信息显著失真。然而,在具有相对宽的频率带宽的音乐的情况下,利用传统TSM方法处理的输出信号具有相对大程度的音调信息失真和噪声。因此,音乐信号需要额外的处理,以改善时间缩放比例修改后的输出信号的声音质量。
发明内容
关于时域处理中音频信号的时间缩放比例修改,本发明的第一目的是提供这样的方法,其能够显著减小搜索互相关最大值的计算量,并且能够对高采样率的音频信号实时地进行TSM处理。
本发明的第二目的是提供这样的方法,其用于通过在把输入信号中所确定的分析窗重叠相加到输出信号上时,除互相关外还考虑评价指标、相关系数,而确定分析窗的重叠位置以及分析窗与输出信号之间的重叠相加区域的大小,来使输出信号的音调信息更接近输入信号的音调信息。
根据本发明,提供了一种音频信号时间缩放比例修改方法,利用该方法,将由音频样本输入流组成的输入信号转换为以所希望的时间缩放比例修改的输出信号,该方法包括以下步骤在所述输入流中确定由第一预定数目的音频样本组成的分析窗;无论何时在预定搜索范围内移动所述分析窗,都重复所述分析窗的Nov个第一音频样本和所述输出信号的Nov个第二音频样本之间的相似性计算,其中,使用分别由以预定比率从所述第一和第二音频样本向下选择(down select)的音频样本组成的第三和第四音频样本块来计算所述相似性;以及当提供了所计算的相似性的最大值时,获得所述分析窗的移动值Km。
优选的是,上述音频信号时间缩放比例修改方法还包括以下步骤在所述分析窗和所述输出信号之间的相关系数大于预定阈值或提供了最大值时,基于移动值Km和最佳重叠长度Nm确定N+Nm-Nov个音频样本作为添加帧,所述N是从所述第一预定数目减去所述分析窗与所述输出信号之间的相似性搜索范围Kmax的值。
更特别优选的是,上述音频信号时间缩放比例修改方法还包括以下步骤通过利用加权函数将所述添加帧开头的Nm个音频样本和所述输出信号末尾的Nm个音频样本加权,来形成重叠相加块;以及用所述重叠相加块代替所述输出信号末尾的所述Nm个音频样本,并将所述添加帧的其余音频样本按原样添加到所述重叠相加块的末端。
为了达到本发明的第二目的,提供了一种音频信号时间缩放比例修改方法,利用该方法,将由音频样本输入流组成的输入信号转换为以所希望的时间缩放比例修改后的输出信号,该方法包括以下步骤在所述输入流中确定由N+Kmax个音频样本组成的分析窗,其中,所述N和所述Kmax为常数;当在预定搜索范围内移动所述分析窗时,通过将所述值Nov改变为各种值,计算所述分析窗的Nov个音频样本和所述输出信号末尾的Nov个音频样本之间的相似性最大值、以及它们之间的相关系数值;确定从所述分析窗开头的第Km+Nov-Nm个音频样本起N+Nm-Nov个音频样本作为添加帧,其中,所述Km为提供所述相似性的所述最大值时所述分析窗的移动值,所述Nm为所述分析窗与所述输出信号之间的相关系数大于预定阈值或提供了最大值时的最佳重叠长度,而所述N为当从N+Kmax减去所述分析窗和所述输出信号之间的相似性搜索范围Kmax时获得的值;通过利用加权函数将所述添加帧开头的所述最佳重叠长度的Nm个音频样本和所述输出信号末尾的所述最佳重叠长度的Nm个音频样本加权,来形成重叠相加块;以及用所述重叠相加块代替所述输出信号末尾的所述最佳重叠长度的所述Nm个音频样本,并简单地将所述添加帧的其余音频样本添加到所述重叠相加块的末端。
在所提供的用于达到第一或第二目的的本发明的方法中,由所述第三和第四音频样本块组成的所述音频样本的样本索引相差M1,其中,M1为大于2的自然数。此外,所述第一预定数目的值为N+Kmax,其中N和Kmax为常数,并且,所述搜索范围由Kmax个音频样本组成。对于一次移动,将所述分析窗移动M2个音频样本,其中M2为大于2的自然数。优选的是,通过计算互相关来确定所述相似性。
图1A是用于示出根据本发明的TSM方法,在移动其后的分析窗时确定输出信号和输入信号的分析窗之间的最大互相关位置的方法的视图,其中,所述TSM方法在这里被称为基于简化计算和可变合成的TSM(“RCVS-TSM”)。
图1B是用于示出根据本发明的RCVS-TSM方法,确定并合成输入信号的分析窗和输出信号之间的重叠部分的方法的视图。
图2是用于示出根据本发明的RCVS-TSM方法,对输入信号的分析窗与输出信号之间的重叠部分计算互相关的方法的视图。
图3A示出确定输入信号中的分析窗的方法,其中,所希望的时间缩放比例为2(α=2)。
图3B示出基于所确定的最大互相关和重叠长度,通过将图3A中确定的分析窗重叠-相加到现有的输出信号上来合成输出信号的方法。
图4A示出确定输入信号中的分析窗的方法,其中,所希望的时间缩放比例为0.5(α=0.5)。
图4B示出基于所确定的最大互相关和重叠长度,通过将图4A中确定的分析窗重叠-相加到现有的输出信号上来合成输出信号的方法。
图5是示出进行根据本发明的RCVS-TSM方法的全部过程的流程图。
图6是用于示出图5所示的流程图的步骤S18(确定互相关最大值和该时刻分析窗的移动值的步骤)详细过程的流程图。
图7是用于示出图5所示的流程图的步骤S20(基于分析窗和输出信号之间的相关系数确定重叠长度的步骤)的详细过程的流程图。
图8是配备有用于进行本发明的方法的必要资源的设备的方框图。
具体实施例方式
在下文中,将参考附图详细说明本发明的优选实施例。
输入信号意指作为TSM处理对象的原始音频信号,而输出信号意指从TSM处理获得的音频信号。输入信号作为通过对模拟音频信号进行采样和量化获得的样本信号流而形成。
下面说明的各种处理以这样的方式进行基于RCVS-TSM算法产生引擎程序,然后由处理器执行该引擎程序。相应地,图8所示的用于实施本发明的设备主要需要非易失性存储器84,例如用于存储引擎程序的ROM装置;处理器80,用于通过读取引擎程序以依次执行每个指令字,来对输入信号执行TSM处理;以及存储器资源82,用于提供存储器80的数据处理空间,例如用来临时存储TSM处理前的输入信号的输入缓冲存储器82a、和用于临时存储TSM处理后的输出信号的输出缓冲存储器82b。此外,为了接收用户指定的时间缩放比例值,并根据指定的值执行TSM处理,需要像用户输入部件86(例如,输入小键盘或遥控器)这样的部件,用于允许用户指定时间缩放比例值,即所希望的音频信号回放速度,并且用于读入所指定的时间缩放比例值以反映在由处理器80在读取之后进行的TSM处理中。此外,该设备有必要具有输入信号提供器88,用于将作为TSM处理对象的输入信号提供给输入缓冲器82a以供TSM处理;以及音频再现器90,用于对来自输出缓冲器82b的作为TSM处理结果获得的输出信号执行音频再现所必需的信号处理。
如在个人计算机的情况中一样,这些资源的每一个都可以作为独立芯片存在,或者可以被集成到一个或几个芯片中。因此,除非具体说明,否则可以理解的是,上述资源在通常的RCVS-TSM处理中如下面所说明的一样发挥作用和工作(perform)。可以由例如数字信号处理器(DSP)、微计算机或中央处理单元(CPU),或者由为特定目的制作的芯片如音频芯片、音频/视频芯片、MPEG芯片、DVD芯片等来实现处理器80。
本发明的RCVS-TSM方法主要由分析处理和合成处理组成。参考图3A或4A,利用连续的分析窗Wm(m=1,2,3…)将输入信号分段,并且由N+Kmax个样本组成的每个分析窗是RCVS-TSM的分析单元。每个分析窗Wm的起始位置变为来自输入信号的第mSa个样本。因此,Sa意指连续分析窗的起始位置间隔(以下称为“分析间隔”)。在这里,m表示帧索引,而N表示一个基准帧F0的样本数目。为了找到提供分析窗与输出信号(或时间缩放比例修改后的信号)之间的最大互相关的点,在每个移动周期,分析窗Wm沿时间缩放比例修改后的信号反向移动恒定的采样间隔M2。分析窗Wm的移动在Kmax个样本的范围内进行。Kmax表示移动分析窗的样本数目的最大值,即用于分析提供互相关最大值的位置的搜索范围。分析窗Wm的最佳位移Km表示分析窗Wm移动到提供互相关最大值的位置所经过的距离,即移动样本的数目。Km的值不能超过Kmax。
参考图1A和1B,当分析窗Wm被合成到作为输出信号的时间缩放比例修改后(TSM)的信号中时,合成间隔Ss成为基准。合成间隔Ss与分析间隔Sa具有“Ss=αSa”的关系。合成间隔Ss为固定值。因此,当给出所希望的时间缩放比例值α时,利用上面的等式来确定分析间隔Sa的值。合成间隔Ss变为用于搜索分析窗与时间缩放比例修改后的信号之间的互相关最大值的移动的起始位置。也就是说,通过将分析窗Wm的开头定位于输出信号的第mSs个样本位置处,来开始用于获得互相关最大值的计算。合成通过与分析步骤中找到的最大互相关位置处的输出信号部分重叠,来添加每个分析窗Wm。此时,重叠间隔的值变为分析窗Wm和时间缩放比例修改后的信号之间的互相关时的若干值,并且,对应于满足预定条件的情况的重叠间隔被确定为要实际应用的重叠间隔Nm。为了容易地实施程序,优选的是以这样的方式改变重叠间隔的值,即从Nov的最大值起,以恒定速率或间隔减小该值。当确定了重叠间隔Nm时,确定分析窗Wm中的添加帧20。随后,通过应用加权函数将输出信号末尾的Nm个样本45和添加帧20开头的Nm个样本35相加而产生新合成块40。将新合成块40转换为输出信号,作为对该输出信号的现有样本45的替代品,并且将添加帧20的其余样本简单地添加在新合成块40之后,作为输出信号。
图5的流程图粗略地图示了基于此基本构思的本发明的RCVS-TSM算法的全部实现过程。RCVS-TSM算法开始于参照输入信号报头中记录的信息查找再现必需的信息,并进行RCVS-TSM处理所必需的各种初始化(步骤S10)。因为关于音频输入信号的基本信息如采样率和采样大小被记录在该输入信号的报头中,所以可以使用采样率信息来减小查找最大互相关点的计算量。对此的更详细说明将稍后提供。在初始化步骤中,以下各种参数被初始化。首先,将合适的值赋给参数N、Nov、Ss、Kmax等。具体地说,如果Kmax的值大,则TSM处理后的信号的声音质量变得更好。然而,随着Kmax的值增大,声音质量变好的程度饱和,而计算量逐渐增大。因此,优选的是,将Kmax的值适当地选择在声音质量改善程度变慢的点周围。如果给出了所希望的时间缩放比例值α,则在初始化步骤需要通过使用等式Sa=Ss/α来确定Sa的值。
在初始化之后,要做的第一事情是将输入信号的第一组N个样本原样复制作为输出信号。所述N个复制样本由输出信号的第一帧F0组成(步骤S12)。当完成了对一个帧的处理时,将帧索引值设置为1(步骤S14)。
通过重复执行由步骤S16~S28组成的循环直到到达输入信号末尾为止,并且将帧索引值m增大1,来进行对输入信号的TSM处理。只要此循环被运行,输出信号就增加该帧。就此而言,可以将该循环称为帧循环。帧循环的前面3个步骤S16、S18和S20与上述“分析”步骤相关,而接下来的3个步骤S22、S24和S26与“合成”步骤相关。对此更详细地说明如下。
首先,如上述“分析步骤”的第一过程,从输入信号确定由分析窗Wm组成的样本(步骤S16)。利用多个连续的分析窗将由音频信号的样本流组成的输入信号分段。第m个分析窗Wm由从第mSa个样本起的N+Kmax个样本组成,并且将其作为一个分析单元对待。当给定的时间缩放比例α的值大于1时(如回放速度比正常回放速度慢的情况,图3A落在此情况中),或者当给定的时间缩放比例α的值小于1时(如回放速度比正常回放速度快的情况,图4A落在此情况中),分析窗Wm总是由相同数目即N+Kmax个样本组成。
“分析”步骤的第二过程是产生分析窗Wm与输出信号的Nov个段之间的互相关最大值、以及提供该互相关最大值时分析窗Wm的移动值Km,同时在Kmax个样本的范围内沿输出信号移动分析窗Wm(步骤S18)。
本发明的RCVS-TSM算法引入了此步骤中显著减小计算量的方式。用于减小计算量的第一方法是减小参与计算互相关最大值的样本数目。用于减小计算量的第二方法是延长分析窗Wm的移动间隔M2。可以应用这两种方法的全部或任意一个。当然,当两种方法都使用时,计算量的减小效果变为最大。
对分析窗Wm的重叠部分17的样本和输出信号的重叠部分17的样本进行互相关计算,其中,重叠部分17具有能够包括Nov个样本的宽度。因为输出信号固定并且仅分析窗Wm沿输出信号移动,所以输出信号中参与互相关计算的部分一直恒定为Nov个样本,而分析窗Wm中由Nov个样本组成的参与互相关计算的部分随着它在每次移动时向右方移动多达M2个样本而改变。也就是说,首先,在由分析窗Wm的第一组Nov个样本组成的样本段10和由输出信号的最后Nov个样本组成的样本段15之间进行互相关计算(参考图1A)。然后,将分析窗Wm沿输出信号向左方移动M2个样本,并且,此时,再次在分析窗Wm的不同Nov个样本的新样本段10和由输出信号的Nov个样本组成的现有样本段15之间进行互相关计算,其中,两个样本段均在重叠部分17上。重复进行这一过程,直到分析窗Wm的总移动值超出搜索范围Kmax为止。
在计算互相关时,本发明采用这样的特定方式,即仅对从重叠部分17中包括的分析窗Wm和输出信号二者的部分而不是全部样本中选择的样本来计算互相关。图2作为示例示出了这样的情况,即当重叠部分17由10个样本组成时,对间隔(skipped by)三个样本的样本,即在从分析窗Wm 50选择的3个样本(xm0,xm4,xm8)和从输出信号55选择的3个样本(ym0,ym4,ym8)进行互相关计算。考虑到应用本发明的RCVS-TSM引擎的处理器的性能和输入信号的采样率,可以适当地确定关于用哪个比率将减少多少计算量的问题。与对属于重叠部分Nov的所有样本计算互相关的传统方法相比,上述减少参与计算互相关的样本数目的选择计算方法在给出分析窗Wm 50和输出信号55之间的最佳互相关的位置方面提供较低的正确性,而这是可以忽略的。
因为对每个值为2或更大的恒定样本间隔M1使用逐个选择的样本来计算互相关,所以不仅输入信号的实际波形模式保持几乎相同,而且可能的最大互相关位置的最大误差范围不超过M1/2个样本。按照人类的听觉能力,由这一程度的误差引起的噪声不会被察觉到,并且可以被忽略。
与此同时,当用大于自然数2的某个数目作为分析窗Wm的移动值M2时,也可以减小计算量的效果。没有必要确定选择间隔M1和移动值M2相同。
尽管在编写RCVS-TSM引擎程序时可以将选择间隔M1和移动值M2分别设置为预定值,但是也可以用以下方式之一来确定它们。一种方法是从作为与通过将输入信号的真实采样率除以预定基准采样率而获得的值最接近的值的两个整数值中选择一个,并使用所选择的值作为选择间隔M1和/或移动值M2。在基准采样率满足其可适当传递音频信号信息的条件的前提下,优选的是尽可能低地确定基准采样率的值。将其设置为高值违背减小处理器计算负荷的目的。考虑到商业化提供的处理器的功能,认为例如将基准采样率的值确定为8KHz以供使用不会有问题。然而,将来提升处理器性能时,基准采样率的大小将有可能被提升。根据此方法,可以在不考虑输入信号采样率的情况下将处理器调整为它可承受的最佳计算量。另一方法是对实际使用的音频信号的每个现有的各种采样率,预先确定对应的值为选择间隔M1和/或移动值M2,并应用与从输入信号的报头信息得知的采样率对应的映射值,作为选择间隔M1和/或移动值M2。
上述减小计算量的方法可广泛应用于基于互相关搜索分析窗的最佳重叠长度的TSM方法,例如SOLA、WSOLA和其它改进的TSM方法,其中,所述其它改进的TSM方法的基本构思与SOLA和WSOLA是共同的,并且,为了质量更好的声音或减小计算量而对它们进行修改和改进。
图6的流程图是比步骤S18的过程更为具体化的应用减少参与计算互相关的样本数目、同时扩大分析窗Wm的移动间隔的上述方法的程序的流程图。为了计算作为分析窗Wm和输出信号之间的互相关最大值、并且可以将分析窗Wm以最佳连续性重叠相加到输出信号上的最佳位移Km,将表示移动分析窗Wm的量的参数K和表示互相关最大量的参数C(m,Km)初始化为0(步骤S40)。同样,将表示互相关的参数Corr、表示用于使互相关大小标准化(standardizing)的分母的参数Denom、以及表示重叠部分17中的样本索引的参数j分别设置为0(步骤S42、S44)。
然后,通过使用以下等式来计算Corr和Denom(步骤S46),同时在每个循环将样本索引j增加选择间隔M1(而M1为大于2的自然数)(步骤48),直到该值超过Nov-1为止(步骤S50)。
Corr=Corr+x(mSa+j)·y(mSs+K+j)(1)Denom=Denom+x(mSa+j)·x(mSa+j)(2)当在整个重叠部分17上对这两个等式的计算完成之后,通过将Corr的值除以Denom的值来获得标准化的互相关c(m,K)。将所获得的c(m,k)与到目前为止产生的互相关值中的最大值c(m,Km)相比较,并且,由此将所获得的c(m,K)与最大值c(m,Km)之中较大的值确定为当时(then)的最大互相关c(m,Km)(步骤S52)。递归地执行以上步骤(步骤S42~S52),同时将参数K的值增加移动间隔M2,直到参数K的值不超过Kmax-1为止,其中,移动间隔M2为大于2的自然数。当参数K的值变为大于Kmax-1时,即,当完成了分析窗Wm在整个搜索范围Kmax上的移动时,提供当时的最大互相关c(m,Km)的值Km就是在步骤S18所寻求的结果、以及要在对输出信号进行“合成”时应用的分析窗Wm的移动值。
参考图6的流程图,可以理解进行了双重循环。如果不应用上述减小计算量的方法,则可以容易地猜想到对于双重循环,将要进行大量计算。
另一方面,在如上获得提供分析窗Wm和输出信号之间的互相关最大值的分析窗Wm的移动值Km之后,本发明的RCVS-TSM方法进行确定最佳重叠长度Nm的过程,其中,可以在不使输入信号的音调信息失真的情况下获得最佳的声音(步骤S20)。
当寻找到分析窗Wm的最佳移动值Km时,以恒定长度Nov来施加分析窗Wm和输出信号之间的重叠部分17。然而,在重叠部分为Nov的情况下,不能说分析窗Wm总是能实现与输出信号的最佳对准。因为最佳移动值Km只是对“特定尺寸Nov”的重叠部分而言相对最佳的值,所以不能说即使在重叠部分长度不同的情况中它也是“绝对”最佳的值。对于各种声音源,可以通过实验来确定它。
以正常模式再现速度的两倍慢速度再现的摇滚乐(相关系数阈值70%)
对于具有频率带宽相对宽的特性的摇滚乐数据的特定段(23个分析窗),表1总结了在以各种值,即5毫秒、4毫秒、3毫秒、2毫秒、1毫秒,等修改重叠部分长度时,对每个重叠部分计算分析窗Wm的样本x和输出信号的样本y之间的相关系数Rxy的结果。
相关系数Rxy通过使用下式获得Rxy=[(∑xy)/(nσxσy)]·100%(3)其中,n表示参与计算相关系数的参数x和y每一个的样本数目,而σx和σy分别表示参数x和y的每个离差值。
相关系数可以在-100[%]到+100[%]的范围内变化。通常,当两个参数x和y之间的相关系数具有负值时,存在所谓负关系,即当一个参数y的值减小(或增大)时,另一参数x的值增大(或减小)。同样,当两个参数x和y之间的相关系数具有正值时,存在参数向相同方向改变的所谓正关系。当相关系数的值在0%至30%的范围内时,认为这两个参数x和y之间的相关较弱。当所述值在30%至70%的范围内时,认为这两个参数x和y之间的相关为中等。当所述值在70%至100%的范围内时,认为这两个参数x和y之间的相关较高。因此,如果通过应用不能提供分析窗和输出信号之间70%以上的相关系数Rxy的重叠部分的值来将分析窗重叠相加到输出信号上,则再现声音的音调信息将失真,并且其质量变差。
如可从表1确定的,当重叠部分的长度为5毫秒时,相关系数不总是成为最大。例如,在重叠部分的值为2毫秒的第二分析窗的情况下,提供了相关系数的最大值84.25。因此,当把长度为2毫秒的重叠部分重叠相加到输出信号上时,第二分析窗可以通过具有最佳对准和信号连续性而使音调信息失真最小化。
基于以上概念,图7图示了步骤S20的详细过程,其中,对每个分析窗确定最佳重叠长度Nm的值。假设重叠部分长度分为5种,即5毫秒、4毫秒、3毫秒、2毫秒、1毫秒,并通过将重叠部分长度从1毫秒改变到5毫秒来进行相关系数的计算。当从0到4把候选重叠部分Nov(i)的索引值i增加1时(步骤S60、S66、S68),使用上面的等式(3)来计算对于每个重叠部分长度的相关系数Rxy_m(i)(步骤S62)。然后,检查所计算的相关系数Rxy_m(i)的大小是否超过阈值Ref(步骤S64)。
尽管优选阈值为70%,但是也可以将它设置为更高的值(例如80%)以改善声音质量,或者设置为更低的值(例如60%),以限制计算量的任何增长。假设这样的情况,即如表1中将相关系数的阈值Ref设置为70%。当所计算的相关系数Rxy_m(i)具有大于70%的值时,采用当时的重叠部分Nov(i)的值作为要在把分析窗Wm实际重叠相加到输出信号上时应用的最佳重叠长度Nm(步骤S72)。如果所计算的相关系数Rxy_m(i)不超过70%,则将i的值增大1(步骤66),然后,通过对下一个重叠部分Nov(i)再次计算相关系数Rxy_m(i),检查所述值是否超过70%。
在表1中,在重叠部分为5毫秒的情况下,关于第2、5、7、9、10、12、13和23个分析窗的相关系数Rxy_2(0)、Rxy_5(0)、Rxy_7(0)、…低于阈值70%。对于这些分析窗中的每一个,重新计算重叠部分为4毫秒时的相关系数Rxy_m(1),其中,m为2、5、7、9、10、12、13、23。在所计算的相关系数值大于70%的情况下,关于分析窗的最佳重叠长度Nm可以确定为4毫秒。在所计算的相关系数值仍然小于70%的情况下,重新计算重叠部分Nov(2)为3毫秒时的相关系数Rxy_m(2)。以上述方式计算关于其余重叠部分的值的相关系数。在相关系数在其计算继续到重叠部分为1毫秒的点之前相关系数不会超过70%的情况下,确定提供所计算的直到该点的相关系数Rxy_m(i)(m为0、1…4)中的最大值的重叠部分为实际应用的重叠部分Nm,即最佳重叠长度Nm。在表1中,例如,将关于第5分析窗的最佳重叠长度N4确定为1毫秒。
本发明的RCVS-TSM方法如上所述可变地确定最佳重叠长度Nm。在该方法中,尽管出现了用于搜索最佳重叠长度Nm的计算量增长,但是如果将上面说明的减小计算量的方法也应用于相关系数的计算上,那么这不会是大问题。在具有窄频率带宽的语音的情况下,最佳重叠长度Nm的概念与不应用此概念的情况相比,具有较小的改善声音质量的效果。然而,在将最佳重叠长度Nm的概念应用于具有宽频率带宽的音乐的情况下,可以比不应用它的情况更能获得改善声音质量的效果。
返回图5的流程图,当确定了最佳重叠长度Nm的值时,使用在S18确定的最佳移动值Km来确定对应的分析窗Wm中要重叠相加到输出信号上的添加帧Fm 20(步骤S22)。在分析窗Wm中,区域Km~(Km+N+Nm-Nov)的样本成为添加帧Fm 20。
一旦确定了添加帧Fm 20,就将其重叠相加到输出信号上(步骤S24)。添加帧Fm 20开头的Nm个样本和输出信号末尾的Nm个样本被重叠相加。在重叠相加添加帧20和输出信号时,通过应用加权函数来合成它们的重叠部分35和45的两组Nm个样本,成为重叠相加块40(步骤S24)。将加权函数应用到合成中的原因是要通过从输出信号的末尾部分自然地连接到添加帧Fm 20开头部分来使重叠部分中时间缩放比例修改后的信号的不连续性最小化。加权函数的典型示例可以是下面的线性灯型(lamp)函数g(j)。可替换地,指数函数或任意其它适当的函数也可用。
g(j)=0, j<0;(4-1)g(j)=j/Nm, 0≤j≤Nm;(4-2)g(j)=1, j>Nm; (4-3)将输出信号末尾的Nm个样本45替换为新合成的重叠相加块40。添加帧Fm 20除了开头Nm个样本35以外的样本被简单地原样添加到重叠相加块40的末端(步骤S26)。分析窗Wm的其余样本,即前面部分的Km+Nov-Nm个样本30和后面部分的Kmax-Km个样本25被抛弃。图3B示出了当时间缩放比例α的值为2时将输入信号的长度延长为两倍的情况,其中,通过使用如图3A中分段的分析窗Wm来以上述方式重叠相加输入信号。每个帧周期的最佳重叠长度Nm(m=1、2、3…)60a、60b、60c、…,以及要添加到输出信号上的帧Fm(m=0、1、2、3…)的长度可变。然而,每个帧周期获得的输出信号的整个长度与所指定的时间缩放比例的值精确成比例地增大。
以上特性与缩短输入信号长度的情况相同。图4A示出了这样的示例,其中,时间缩放比例α的值为0.5,输入信号根据上面说明的分析窗分段方法而被分段为多个连续的分析窗Wm(m=1、2、3…)。图4B图示了通过应用由上述“分析”和“合成”处理确定的最佳位移Km和最佳重叠长度Nm而重叠相加图4A中确定的分析窗来合成输出信号。在缩短输入信号长度的情况下,在每个帧周期添加的帧Fm(m=0、1、2、3…)的长度以及最佳重叠长度Nm(m=1、2、3…)65a、65b、65c、…是可变的。然而,每个帧周期获得的输出信号的整个长度与所指定的时间缩放比例值精确成比例地缩短。
因此,与所指定的时间缩放比例值精确成比例地延长或缩短每个帧周期获得的输出信号长度的特性确保在将本发明的RCVS-TSM方法应用于多媒体再现时,可以以任意时间缩放比例极好地获得音频信号和视频信号之间的同步。例如,在再现速度被改变为慢模式或快模式的DVD再现的情况下,可以与对视频再现速度的修改精确相同地修改音频再现速度。因此,无论它是加速再现还是减速再现,始终有可能音频和视频的同步再现。
一旦如上所述对一个分析窗进行了“分析”和“合成”处理,就将一个TSM处理后的帧添加到输入信号中。此时,为了通过对下一个分析窗的“分析”和“合成”处理而将另一TSM处理后的帧添加到输出信号中,将帧索引值增加1(步骤S28)。然后,为了检查是否还存在要处理的输入信号,检查是否到达输入信号的末尾(步骤S30)。如果尚未到达输入信号的末尾,则对下一个分析窗再次进行“分析”和“合成”处理。可以通过重复执行如上所述的帧循环直到输入信号末尾为止,来获得以所希望的时间缩放比例进行了TSM处理的输出信号。
通过由处理器80根据上面说明的RCVS-TSM方法进行处理,从输入信号提供器88传输给输入缓冲器82a的输入信号被时间缩放比例修改为输出信号。来自处理器80的输出信号被以预定的单位连续写入输出缓冲器82b中,然后,其被传输给音频再现器90,并根据一定的输出时间表实时地再现。
工业实用性本发明的RCVS-TSM方法是一种新的TSM方法,与现有技术TSM方法相比,其能够显著减小计算量,并且还保持与原始音频信号相同的声音质量。当通过使用通常的SOLA或WSOLA算法对具有192KHz采样率的音频信号进行TSM处理时,需要处理器的能力达到约7366MHz的级别。因此,在令人满意的该级别的CPU,具体地说嵌入式处理器,作为商业产品实现之前,将花费很长时间,并且,不可能如上所述实时地对高采样率的音频信号进行TSM处理。然而,本发明的RCVS-TSM方法需要约28Mips(近似为28KHz)的能力来实时地对采样率为192KHz的音频信号进行TSM处理,使得即使在目前的商业CPU,具体地说这样的嵌入式处理器中,也可以实时地对上述高采样率的音频信号进行TSM处理。
在改善声音质量时,与现有技术TSM方法相比,本发明提供更好的结果。当如本发明的方法一样,输入信号的分析窗与输出信号之间的重叠长度可变为最佳长度时,确保了比将其固定在一定长度时更高的相关系数。因此,本发明可以使信号的不连续性以及由于时间缩放比例修改而导致的音调信息的失真最小化。
本发明的RCVS-TSM方法可以通过作为程序实现而被合并在用于个人计算机的多媒体播放器的功能中,或者可以通过被嵌入在用于诸如DVD播放器、数字VTR、MP3播放器和机顶盒的再现设备的芯片中来应用,以增强其再现数字音频信号的功能。
尽管参考本发明的具体实施例具体示出和描述了本发明,但是本领域技术人员应当明白,可以在如所附权利要求限定的本发明的范围内进行各种改变和修改。因此,含义或范围等同于本发明的权利要求的范围的所有改变和修改属于本发明的权利要求的范围。
权利要求
1.一种音频信号时间缩放比例修改方法,利用该方法,将由音频样本输入流组成的输入信号转换为以所希望的时间缩放比例修改后的输出信号,该方法包括以下步骤在所述输入流中确定由第一预定数目的音频样本组成的分析窗;无论何时在预定搜索范围内移动所述分析窗,都重复所述分析窗的Nov个第一音频样本和所述输出信号的Nov个第二音频样本之间的相似性计算,其中,使用由以预定比率分别从所述第一和第二音频样本向下选择的音频样本组成的第三和第四音频样本块,来计算所述相似性;以及当提供了所计算的相似性的最大值时,获得所述分析窗的移动值Km。
2.如权利要求1所述的音频信号时间缩放比例修改方法,还包括以下步骤在所述分析窗和所述输出信号之间的相关系数大于预定阈值或提供了最大值时,基于移动值Km和最佳重叠长度Nm确定N+Nm-Nov个音频样本作为添加帧,所述N是从所述第一预定数目减去所述分析窗与所述输出信号之间的相似性搜索范围Kmax的值。
3.如权利要求2所述的音频信号时间缩放比例修改方法,还包括以下步骤通过利用加权函数将所述添加帧开头的Nm个音频样本和所述输出信号末尾的Nm个音频样本加权,来形成重叠相加块;以及用所述重叠相加块代替所述输出信号末尾的所述Nm个音频样本,并将所述添加帧的其余音频样本按原样添加到所述重叠相加块的末端。
4.如权利要求1所述的音频信号时间缩放比例修改方法,其中,由所述第三和第四音频样本块组成的所述音频样本的样本索引相差M1,其中,M1为大于2的自然数。
5.如权利要求1所述的音频信号时间缩放比例修改方法,其中,所述第一预定数目为N+Kmax,其中N和Kmax是常数,所述搜索范围是Kmax个音频样本的范围,并且,每次移动都将所述分析窗有规律地移动M2个音频样本,其中,M2是大于2的自然数。
6.如权利要求1所述的音频信号时间缩放比例修改方法,其中,由所述第三和第四音频样本块组成的所述音频样本的样本索引相差M1,其中M1为大于2的自然数,所述第一预定数目为N+Kmax,其中N和Kmax为常数),所述搜索范围为Kmax个音频样本的范围,并且每次移动都将所述分析窗有规律地移动M2个音频样本,其中M2是大于2的自然数。
7.如权利要求4至6中任何一项所述的音频信号时间缩放比例修改方法,其中,作为由所述第三和第四音频样本块组成的音频样本的样本索引间隔(即,选择间隔)的所述M1和/或作为所述分析窗的移动间隔的所述M2具有与通过将所述输入信号的实际采样率除以预定大小的基准采样率而获得的值最接近的两个整数之一的值。
8.如权利要求4至6中任何一项所述的音频信号时间缩放比例修改方法,还包括以下步骤准备每个都被预先映射到音频信号的各种采样率的每一个的对应值;以及应用从所述输入信号的报头信息得知的采样率映射的对应值,作为所述M1和/或所述M2的指定值,其中,所述M1为由所述第三和第四音频样本块组成的音频样本的样本索引间隔(即,选择间隔),所述M2为所述分析窗的移动间隔。
9.如权利要求1所述的音频信号时间缩放比例修改方法,还包括以下步骤通过输入部件接收由用户指定的值α作为所述所希望的时间缩放比例,其中,所述输出信号与所述输入信号的长度比等于所述值α。
10.如权利要求7所述的音频信号时间缩放比例修改方法,其中,第m个分析窗的第一音频样本是所述输入流开头的第mSa个音频样本,并且通过将N-Ss设置为所述值Nov的最大值来以预定速率减小所述值Nov,其中所述Ss是固定值,并且所述Sa是利用Ss=αSa的关系确定的。
11.如权利要求1所述的音频信号时间缩放比例修改方法,其中,通过计算互相关来确定所述相似性。
12.一种音频信号时间缩放比例修改方法,利用该方法,将由音频样本输入流组成的输入信号转换为以所希望的时间缩放比例修改后的输出信号,该方法包括以下步骤在所述输入流中确定由N+Kmax个音频样本组成的分析窗,其中,所述N和所述Kmax为常数;当在预定搜索范围内移动所述分析窗时,通过将所述值Nov改变为各种值,来计算所述分析窗的Nov个音频样本和所述输出信号末尾的Nov个音频样本之间的相似性最大值、以及它们之间的相关系数值;确定从所述分析窗开头的第Km+Nov-Nm个音频样本起的N+Nm-Nov个音频样本作为添加帧,其中,所述Km为提供所述相似性的所述最大值时所述分析窗的移动值,所述Nm为所述分析窗和所述输出信号之间的相关系数大于预定阈值或提供了最大值时的最佳重叠长度,而所述N为当N+Kmax减去所述分析窗和所述输出信号之间的相似性搜索范围Kmax时获得的值;通过利用加权函数将所述添加帧开头的所述最佳重叠长度的Nm个音频样本和所述输出信号末尾的所述最佳重叠长度的Nm个音频样本加权,来形成重叠相加块;以及用所述重叠相加块代替所述输出信号末尾的所述最佳重叠长度的所述Nm个音频样本,并简单地将所述添加帧的其余音频样本添加到所述重叠相加块的末端。
13.如权利要求12所述的音频信号时间缩放比例修改方法,还包括以下步骤通过输入部件接收由用户指定的值α作为所述所希望的时间缩放比例,其中,所述输出信号与所述输入信号的长度比等于所述值α。
14.如权利要求12所述的音频信号时间缩放比例修改方法,其中,第m个分析窗的第一音频样本是所述输入流开头的第mSa个音频样本,并且通过将N-Ss设置为所述值Nov的最大值来以预定速率减小所述值Nov,其中所述Ss是固定值,并且所述Sa是利用Ss=αSa的关系确定的。
15.如权利要求12所述的音频信号时间缩放比例修改方法,其中,关于所述相关系数的所述阈值大于0.7。
16.如权利要求12所述的音频信号时间缩放比例修改方法,其中,在属于所述分析窗和所述输出信号各自的Nov个音频样本的信号中选择参与计算所述相似性和所述相关系数的音频样本,并且,所述参与的音频样本的相邻音频样本的样本索引相差M1,其中,M1为大于2的自然数。
17.如权利要求12所述的音频信号时间缩放比例修改方法,其中,按照每次移动都将所述分析窗有规律地移动M2个音频样本的方式来进行所述分析窗的所述移动,其中,M2为大于2的自然数,并且,总共移动的音频样本的数目不大于搜索范围的Kmax个音频样本。
18.如权利要求12所述的音频信号时间缩放比例修改方法,其中,在属于所述分析窗和所述输出信号各自的Nov个音频样本的信号中选择参与计算所述相似性和所述相关系数的音频样本,所述参与的音频样本的相邻音频样本的样本索引相差M1,其中,M1为大于2的自然数,按照每次移动都将所述分析窗有规律地移动M2个音频样本的方式来进行所述分析窗的所述移动,其中,M2为大于2的自然数,并且,总共移动的音频样本的数目不大于搜索范围的Kmax个音频样本。
19.如权利要求12所述的音频信号时间缩放比例修改方法,其中,所述参数M1和/或所述参数M2具有与通过将所述输入信号的实际采样率除以预定大小的基准采样率而获得的值最接近的两个整数之一的值。
20.权利要求12所述的音频信号时间缩放比例修改方法,其中,通过使用互相关或所述相关系数来确定所述分析窗的Nov个音频样本和所述输出信号的Nov个音频样本之间的所述相似性。
全文摘要
公开了一种音频信号时间缩放比例修改方法,其使用改善输出音频质量的可变长度合成和减小处理器计算负荷的简化互相关计算。从音频样本输入流中选择由N+Kmax个音频样本组成的分析窗,并沿输出流将其移动预定间隔,以查找最佳位移Km,其确保分析窗的Nov个音频样本和输出流的最后Nov个音频样本之间的最佳互相关;以及特定值Nov_f,在该值处,它们之间的相关系数大于基准值,或者是通过改变Nov的值而计算的多个相关系数中最大的一个。以预定的比率分别从分析窗的Nov个音频样本和输出流的最后Nov个音频样本中向下选择参与计算互相关的音频样本。也可以每一次移动都将分析窗移动多个音频样本。将分析窗中处于第km个~第N+Km+Nm-Nov个范围内的音频样本确定为添加帧。利用通过加权相加重叠部分,即添加帧的第一组Nov_f个音频样本和输出流的最后Nov_f个音频样本而获得的新的Nov_f个音频样本,来代替现有的输出流的最后Nov_f个音频样本,同时将添加帧的剩余部分简单地附加到输出流中新的Nov_f个音频样本的尾部。
文档编号G10L21/00GK1669070SQ02829672
公开日2005年9月14日 申请日期2002年8月8日 优先权日2002年8月8日
发明者崔元龙 申请人:科斯莫坦股份有限公司