一种信号处理方法和处理装置的制作方法

文档序号:7664032阅读:91来源:国知局
专利名称:一种信号处理方法和处理装置的制作方法
技术领域
本发明涉及信号处理领域,尤其涉及一种信号处理方法和处理装置。

背景技术
在实时语音通信系统中,对语音数据的传输要求实时可靠,例如VoIP(Voice over IP,基于IP的语音)系统。但由于网络系统自身的不可靠特性,数据包在从发送端到接收端传输过程中有可能会被丢弃或者不能及时的达到目的地,而这两种情况都被接收端认为是网络丢包。而发生网络丢包是不可避免的,同时也是影响语音通话质量最主要因素之一,因此在实时通信系统中需要健壮的丢包隐藏方法来恢复丢失的数据包,使得在发生网络丢包的情况下仍获得良好的通话质量。
G.722是ITU-T制定的应用于语音通信的语音编码算法。G.722编码器的原理示意图如图1所示在发送端,G.722编码器把宽带语音分成高低两个子带,并使用ADPCM(Adaptive Differential Pulse Code Modulation,自适应差分脉冲编码调制)分别对两个子带进行编码并通过网络一起发送给接收端。在接收端,使用ADPCM解码器对两个子带分别解码,然后使用QMF(QuadratureMirror Filter,正交镜像滤波)合成滤波器合成最终的信号。
在现有技术中给出了适用于G..722的PLC(Packet Loss Concealment,丢包隐藏)算法,对于两个不同的子带采用了不同的PLC算法,低带部分的PLC算法,即图1中的虚线框中①的部分,而对于高带的PLC算法,对应图1中的虚线框②。对于低带信号,xl(n),n=0,...,L-1对应当前收到的数据帧解码后对应的信号、而yl(n),n=0,...,L-1对应当有丢包时利用zl(n),n=-289,...,-1合成的信号,zl(n),n=0,...,L-1对应进行完CROSS-FADING(交叉衰减)后最终输出的低带信号;对于高带信号,zh(n)为最终输出的高带信号。得到低带信号zl(n)和高带信号zh(n)后,对低带信号zl(n)和高带信号zh(n)作QMF,合成最终要输出的宽带信号y(n)。
下面对低带信号做详细介绍 在没有丢包的情况下,zl(n)=xl(n),即CROSS-FADING时不改变重构信号。
在有丢包情况下,对于第一个丢失的数据帧,使用短时预测器和长时预测器对历史信号zl(n),n<0进行分析,并提取出语音类别信息;接着使用上述预测器和类别信息,使用线性预测基音周期重复的方法生成信号yl(n);然后重构丢失帧的信号zl(n)=yl(n),n=0,…,L-1。另外,ADPCM的状态也要随之同步更新,直到遇到一个好帧。另外,不仅要生成丢失的帧所对应信号,也需要生成用于CROSS-FADING的10ms信号yl(n),n=L,…,L+79,那么一旦收到一个好帧,就对收到的好帧信号xl(n),n=L,…,L+79和yl(n),n=L,…,L+79做CROSS-FADING处理。注意到此类CROSS-FADING仅在发生丢帧后,接收端收到第一个好帧数据时才进行。
图2为现有技术中给出的低带部分基于基音周期重复部分的LPC模块的更详细的框架。
当数据帧是好帧时,zl(n)被存储到一个缓冲区里面以备后用。
当遇到第一个坏帧时,则需要分两步来合成最终的信号yl(n)。首先对历史信号zl(n),n=-297,…,-1进行分析,然后结合分析的结果合成信号yl(n),n=0,…,L-1,其中L是数据帧的帧长。
该基于基音周期重复部分的LPC模块具体包括以下部分 (1)LP分析(Linear Prediction,线性预测) 短时分析滤波器A(z)和合成滤波器和1/A(z)均为基于8阶LP的滤波器。LP分析滤波定义为 A(z)=1+a1z-1+a2z-2+…+a8z-8 历史信号zl(n)通过滤波器A(z)的LP分析之后,得到残差信号e(n),n=-289,…,-1 (2)历史数据分析 G.722中使用基音周期重复方法对丢失的数据进行补偿。因此,首先需要估计出基音周期T0,首先对zl(n)进行预处理,去除在LTP(Long TermPrediction,长时预测)分析中不需要的低频成分,然后通过LTP分析可以得到历史信号的基音周期T0,并结合信号分类模块得到语音的类别。
在G.722中把语音分成了如下几类,如下表1所示 表1G.722中的语音分类 (3)基音周期重复 基音周期重复模块用于估计丢失帧的LP残差信号e(n),n=0,…,L-1。在进行基音周期重复之前,如果语音的类别不是VOICED,则采用下面的公式来限制采样点的幅度 其中, 如果语音的类别是VOICED,则丢失信号所对应的残差e(n),n=0,…,L-1采用重复历史数据对应的最后一个基音周期的残差数据获得,即 e(n)=e(n-T0) 而对于其它类型的语音,为了避免生成的数据周期性太强(对于非语音的数据,如果周期性太强,听起来就会有音乐噪声等不舒服噪声),则使用下面的公式生成丢失信号所对应的残差信号e(n),n=0,…,L-1 e(n)=e(n-T0+(-1)n)。
除了生成丢失帧对应的信号外,为了保证丢失帧和丢失帧之后的第一个好帧之间的平滑拼接,还要继续生成额外80个样点的数据e(n),n=L,…,L+79,以生成用于CROSS-FADING的信号。
(4)LP合成 在生成丢失帧和CROSS-FADING对应的残差信号e(n)后,接着用下面的公式得到重构的丢失帧信号ylpre(n),n=0,…,L-1 其中,残差信号e(n),n=0,…,L-1,是在上述基音周期重复中得到的残差。
除此之外,还要继续使用上述公式生成用于CROSS-FADING的80个样点ylpre(n),n=L,…,L+79。
(5)Adaptive muting 为了实现平滑的能量过渡,在与高带信号进行QMF之前,还需要对低带信号进行CROSS-FADING处理,规则如下表2所示 表2交叉处理CROSS-FADING原则
在表2中,zl(n)为对应最终输出的当前帧对应的信号; xl(n)当前帧对应的好帧的信号;yl(n)对应当前帧同一时刻合成的信号,其中L为帧长,80为进行CROSS-FADING样点的个数。
G.722中还考虑到针对不同的语音类型,在进行CROSS-FADING之前对ylpre(n)中的信号的能量进行控制。即 yl(n)=g_mute_lb×ylpre(n)n=0,…,L+79 其中,g_mute_lb对应每个样点所对应的衰减因子。它的取值根据语音类型的不同以及丢包情况而变化,如图3所示。其中开始80个样点对应当前丢失帧的g_mute_lb。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题理想的所合成的丢失帧对应的信号应该是越接近历史信号zl(n),n<0,信号特征应越接近于历史信号zl(n),n<0的特征;反之,越接近收到的完好数据帧对应的信号xl(n),n=0,...,L-1,信号特征应越接近于收到的完好数据帧历史信号xl(n),n=0,...,L-1的特征。
但在现有技术中,ylpre(n),n=0,...,L+79信号都是采用历史信号zl(n),n<0合成的数据,即使是在合成的信号的末尾,从波形和能量上看也更接近于历史缓冲区中的数据,而不是最新解码出的信号,且使用的是固定衰减系数。这会造成合成的信号在丢失帧与丢失帧之后的第一帧的拼接处发生波形或能量突变,该突变如图4所示。
图中4所示包含三帧信号,被两个竖直线分割开来,其中帧N是丢失帧,其余两帧是完好帧;上面的信号对应原始的信号,三个数据帧在传输中都没有丢失;中间的短划线信号对应使用帧N之前的帧N-1、N-2等合成的信号,最下面一行信号对应使用G..722合成的信号。从图4中可以看到,最终输出的信号帧N与帧N+1过渡时存在能量突变,且如果是在语音末尾的情况下且帧长较长的情况下,太长的同幅度浊音会引起音乐性的噪声。


发明内容
本发明的实施例提供一种信号的处理方法,用于丢包隐藏中的合成信号处理中,使得合成的信号在丢失帧与丢失帧之后的第一帧的拼接处的波形平滑过渡。
为达到上述目的,本发明的实施例提供一种信号处理方法,用于丢包隐藏中的合成信号的处理,包括以下步骤 接收到丢失帧后相邻的下一好帧,获取所述好帧的信号以及同一时刻合成信号的能量比值; 根据所述能量比值调整所述合成信号。
本发明的实施例还提供一种信号处理装置,用于丢包隐藏中的合成信号的处理,包括 检测模块,用于检测到丢失帧后相邻的帧为好帧时,通知能量获取模块; 能量获取模块,用于接收到所述检测模块的通知时,获取所述好帧的信号以及同一时刻合成信号的能量比值; 合成信号调整模块,用于根据所述能量获取模块获取的能量比值调整所述合成信号。
与现有技术相比,本发明的实施例具有以下优点 根据丢失帧之后的第一个好帧与合成信号的能量比值对合成信号进行调整,保证合成信号在丢失帧与丢失帧之后的第一帧的拼接处不发生波形或能量突变,实现了波形平滑过渡,避免出现音乐性噪声。



图1是现有技术中G.722编码器的原理示意图; 图2是现有技术中低带部分基于基音周期重复部分的LPC模块示意图; 图3是现有技术中静音因子的取值与语音类型以及丢包情况的关系示意图; 图4是现有技术中信号在丢失帧与丢失帧之后的第一帧的拼接处发生波形或能量突变的示意图; 图5是本发明的实施例一中一种信号处理方法的流程图; 图6是本发明的实施例一中一种信号的处理方法的原理示意图; 图7是本发明的实施例一中不同信号的示意图; 图8是本发明的实施例二中涉及的基于基音周期的方法来合成信号时出现的相位不连续的情况的示意图; 图9是本发明的实施例二中一种信号的处理方法的原理示意图; 图10是本发明的实施例三中一种信号的处理装置的结构图; 图11是本发明的实施例三中的处理装置的应用场景示意图。

具体实施例方式 以下结合附图和实施例,对本发明的实施方式做进一步说明。
本发明的实施例一中提供了一种信号的处理方法,用于丢包隐藏中的合成信号的处理,如图5所示,包括以下步骤 步骤s101、检测到丢失帧后相邻的下一帧为好帧。
步骤s102、获取该好帧的信号以及同一时刻合成信号的能量比值。
步骤s103、根据该能量比值调整该合成信号。
以下结合具体的应用场景,描述本发明的实施例中一种信号的处理方法。
本发明的实施例一中,提供了一种信号的处理方法,用于丢包隐藏中的合成信号的处理,其原理示意图如图6所示,与现有技术中图1所示的低带PLC部分①的区别在于引入了能量缩放部分,用于对基于基音周期重复的线性预测生成的合成信号进行能量调整,使其与新解码得到的信号在能量上能够匹配。
具体的,如图6所示,设在丢失一个帧后,低带ADPCM解码器新解码最新接收到的好帧的信号为xl(n),n=L,..,L+M-1;其中L为帧长,M为计算能量时所包括信号的采样点数目。基于基音周期重复的线性预测生成的与xl(n),n=L,..,L+M-1同时刻的合成信号为yl′(n),n=L,...L+M-1,则根据xl(n),n=L,..,L+M-1对yl′(n),n=0,...L+M-1的能量进行调整,具体的调整方法包括以下步骤 步骤s201、分别计算合成信号yl′(n),n=L,...L+M-1对应的能量E1与信号xl(n),n=L,..,L+M-1对应的能量E2。
具体的, 其中,M为计算能量时所包括信号的采样点数目。M可以根据实际情况灵活设置。例如在较短帧长的情况下,如帧长L小于5ms,推荐M=L;而在帧长较长及基音周期小于一个帧长的情况下,可以令M为一个基音周期信号对应长度。
步骤s202、计算E1与E2的能量比R。
具体的, 其中sign()函数为符号函数,定义如下 步骤s203、根据能量比R对信号yl′(n),n=0,...L+N-1的幅值线性调整。具体的, 其中N为当前帧用于CROSS_FADING的长度,N的值可以根据需要灵活设置。例如在G.722附录4中对应10ms,即80个采样点的数据;而在帧长较短的情况下,可令N为一帧的长度,即N=L。
特殊的,对于连续丢包的情况为最简单的情况,可以令 yl(n)=yl′(n)n=0,...,L-1 为避免当E1<E2时,应用上述方法出现能量幅值溢出(超过所允许的采样点对应幅值得最大值)的情况,仅在E1>E2时才应用上述公式对信号yl′(n),n=0,...L+N-1进行衰减。
步骤s204、根据得到的yl(n)=yl′(n),n=0,..,L+N-1和xl(n),n=L,...,L+N-1,进行交叉衰减后输出。
在对合成信号yl′(n),n=0,...L+N-1能量调整完毕生成yl(n),n=0,...L+N-1后,需要进行交叉衰减。具体的交叉衰减方法可以按照上述表2中交叉衰减CROSS-FADING原则进行处理。例如,对于n=0,..,L-1,可以使用表2中对应的当前帧为坏帧、上一帧为好帧时的处理方法;对于n=L,..,L+N-1可以使用表2中对应的当前帧为好帧、上一帧为坏帧时的处理方法。
上述过程的示意图如图7所示,其中 第一行为原始的信号;第二行为合成的信号,用短划线表示;最下面一行为输出信号,用点划线表示,为进行过能量调整后的信号。其中帧N是丢失帧,帧N-1和帧N+1都是完好的帧。首先计算帧N+1的收到的信号和帧N+1对应合成信号的能量比值,然后根据能量比值对合成的信号进行衰减得到最下面一行的输出信号,衰减的方法参考上述步骤s203。最后进行交叉衰减处理,对于帧N,将帧N衰减后的输出信号作为帧N的输出(这里假设信号的输出允许有至少一帧的延时,即可以在输入帧N+1后输出帧N);对于帧N+1,按照交叉衰减原则,将帧N+1衰减后的输出信号乘上一个下降窗,将帧N+1对应的收到的原始信号乘上一个上升窗并进行叠加,用叠加得到的信号作为帧N+1的输出。
本发明的实施例二中,提供了一种信号的处理方法,用于丢包隐藏中的合成信号的处理。与实施例一中的处理方法的区别在于,在上述实施例一中基于基音周期的方法来合成信号yl′(n)时,可能会出现相位不连续的情况。如图8所示。
在图8中,每两个竖实线之间的信号对应一帧信号,由于人类语音的丰富多样性,语音所对应的基音周期不可能保持不变,都是在不断变化的,因此如果重复使用历史信号的最后一个基音周期来合成丢失帧的信号时,会出现合成信号的末尾和当前帧的起始波形不连续的情况,波形上出现了突变,也就是所说的相位不匹配的情况。从图8中可以看到,当前帧的起始点距离合成的信号左边和右边最小间隔匹配点的距离为de和dc,在现有技术中给出一种通过对合成信号进行插值实现相位匹配的方法。例如帧长为L,对应的相位差d为-de(如果最佳匹配点在最左边,且距离当前帧起始点的距离为de,则d=-de;如果最佳匹配点在当前帧起始点的右边,且距离当前帧起始点的距离为dc,则d=dc)。然后使用插值的方法将L+d个采样点的信号插值成生N个采样点的信号。
因此,由于G.722也是一种基于基音周期重复来合成信号,因此也不可避免得出现在图8提及的相位不匹配的情况。为避免此现象,可以在对信号yl′(n),n=0,...,L+79进行能量衰减之前,对之进行相位匹配,例如可以采用上述插值方法,对yl′(n),n=0,...,L+79进行插值来获得插值后的信号yl″(n),n=0,...,L+79,然后结合信号xl(n)和信号yl″(n)对yl″(n)进行能量衰减以获得信号yl(n)。最后,进行交叉衰减的步骤同实施例一。
该方法的原理示意图如图9所示,与实施例一的区别在于,将基于基音周期重复的线性预测信号进行相位同步后,再进行到能量缩放处理。
通过使用本发明的上述实施例提供的信号处理方法,根据丢失帧之后的第一个好帧与合成信号的能量比值对合成信号进行调整,保证合成信号在丢失帧与丢失帧之后的第一帧的拼接处不发生波形或能量突变,实现了波形平滑过渡,避免出现音乐性噪声。
本发明的实施例三还提供了一种信号处理装置,用于丢包隐藏中的合成信号的处理,其结构示意图如图10所示,包括 检测模块10,用于检测到丢失帧后相邻的下一帧为好帧时,通知能量获取模块20。
能量获取模块20,用于接收到检测模块10的通知时,获取该好帧的信号以及同一时刻合成信号的能量比值。
合成信号调整模块30,用于根据能量获取模块20获取的能量比值调整该合成信号。
具体的,该能量获取模块20进一步包括 好帧信号能量获取子模块21,用于获取输入的好帧信号能量。
合成信号能量获取子模块22,用于获取输入的合成信号能量。
能量比值获取子模块23,用于获取好帧的信号以及同一时刻合成信号的能量比值。
另外,该信号处理装置还包括 相位匹配模块,用于对输入的合成信号进行相位匹配后发送到合成信号调整模块30。
本发明的实施例三中的处理装置的一具体应用场景如图11所示,其中假设最新接收到的好帧信号为yl(n),n=0,...2L-1。基于基音周期重复的线性预测生成的与xl(n),n=L,..,2L-1同时刻的信号为yl′(n),n=L,...2L-1,则根据xl(n),n=L,..,2L-1对yl′(n),n=0,...2L-1的能量进行调整,得到yl(n),n=0,...2L-1。并将yl(n),n=L,...2L-1与xl(n),n=L,..,2L-1进行交叉衰减得到输出信号。
通过使用本发明的上述实施例提供的信号处理设备,根据丢失帧之后的第一个好帧与合成信号的能量比值对合成信号进行调整,保证合成信号在丢失帧与丢失帧之后的第一帧的拼接处不发生波形或能量突变,实现了波形平滑过渡,避免出现音乐性噪声。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种信号处理方法,用于丢包隐藏中的合成信号的处理,其特征在于,包括以下步骤
接收到丢失帧后相邻的下一好帧,获取所述好帧的信号以及同一时刻合成信号的能量比值;
根据所述能量比值调整所述合成信号。
2.如权利要求1所述信号处理方法,其特征在于,所述合成信号为基于基音周期重复的线性检测生成的合成信号。
3.如权利要求1所述信号处理方法,其特征在于,所述获取所述好帧的信号以及同一时刻合成信号的能量比值后,还包括
判断好帧的信号是否小于同一时刻合成信号的能量,小于则继续,否则结束所述信号处理。
4.如权利要求1或2所述信号处理方法,其特征在于,
所述好帧的信号以及同一时刻合成信号的能量比值R为
其中,sign()为符号函数,E1为所述同一时刻合成信号的能量,E2为所述好帧信号的能量。
5.如权利要求4所述信号处理方法,其特征在于,所述根据所述能量比值调整所述合成信号具体为
其中L为帧长,N为需要做交叉衰减信号的长度,yl′(n)为调整前的合成信号,yl(n)为调整后的合成信号。
6.如权利要求1所述信号处理方法,其特征在于,所述获取所述好帧的信号以及同一时刻合成信号的能量比值的步骤之前还包括
对所述合成信号进行相位匹配。
7.如权利要求1所述信号处理方法,其特征在于,所述根据所述能量比值调整所述合成信号的步骤后还包括
将所述好帧的信号与所述调整后的同一时刻合成信号进行交叉衰减,获取输出信号。
8.一种信号处理装置,用于丢包隐藏中的合成信号的处理,其特征在于,包括
检测模块,用于检测到丢失帧后相邻的帧为好帧时,通知能量获取模块;
能量获取模块,用于接收到所述检测模块的通知时,获取所述好帧的信号以及同一时刻合成信号的能量比值;
合成信号调整模块,用于根据所述能量获取模块获取的能量比值调整所述合成信号。
9.如权利要求8所述信号处理装置,其特征在于,所述能量获取模块进一步包括
好帧信号能量获取子模块,用于获取输入的好帧信号能量;
合成信号能量获取子模块,用于获取输入的合成信号能量;
能量比值获取子模块,用于获取所述好帧的信号以及同一时刻合成信号的能量比值。
10.如权利要求8所述信号处理装置,其特征在于,还包括
相位匹配模块,用于对合成信号进行相位匹配后发送到所述能量获取模块。
全文摘要
本发明公开了一种信号处理方法和处理装置。该信号处理方法用于丢包隐藏中的合成信号的处理,包括以下步骤接收到丢失帧后相邻的下一好帧,获取所述好帧的信号以及同一时刻合成信号的能量比值;根据所述能量比值调整所述合成信号。通过使用本发明提供的方法,根据丢失帧之后的第一个好帧与合成信号的能量比值对合成信号进行调整,保证合成信号在丢失帧与丢失帧之后的第一帧的拼接处不发生波形或能量突变,实现了波形平滑过渡,避免出现音乐性噪声。
文档编号H04L1/00GK101207459SQ20071016961
公开日2008年6月25日 申请日期2007年11月5日 优先权日2007年11月5日
发明者詹五洲, 王东琦, 涂永峰, 静 王, 清 张, 磊 苗, 许剑峰, 晨 胡, 毅 杨, 杜正中, 齐峰岩 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1