法律状态公告日
法律状态信息
法律状态
2017-04-19
未缴年费专利权终止 IPC(主分类):G10L19/08 授权公告日:20110413 终止日期:20160302 申请日:20070302
专利权的终止
2011-04-13
授权
授权
2008-10-29
实质审查的生效
实质审查的生效
2008-09-03
公开
公开
技术领域
本发明涉及用于嵌入式语音编码的帧擦除隐藏方法及系统。
背景技术
对于语音的网络传输,在无线通信网络和分组交换网络中,当发生网络拥塞时,会出现大量的IP帧丢失和较长时间的延迟,这种情况将严重影响接收端合成语音的质量。
承载语音帧的包丢失或者没有及时到达接收端就叫做帧擦除,当帧擦除发生时,解码器利用已经收到的正常帧,用一类似的结构来代替擦除的语音,这种方法就叫做帧擦除隐藏。
嵌入式语音编码是针对语音的网络传输而提出的一种新的编码方案。它可以生成一种具有层结构的嵌入式码流,该码流的核心层加载的是语音的基本信息,其它增强层则逐层加载对基本信息的补充,用以提高语音的合成质量。该编码器生成的全码流在网络中传输,当网络质量下降时,则保留核心层而丢弃若干增强层,从而最大程度的保证了接收端合成语音的质量。
嵌入式语音编码的帧擦除包括两种情况:第一种,保留核心层而丢弃若干增强层,它相当于对码流的截断;第二种,整帧信息都丢失。
传统的基于CELP模型的编码器,例如G.729、G.722.2等,帧擦除的隐藏方法仅仅简单的用前几帧的语音信号内插得到丢失帧的各个参数,包括线谱频率参数、自适应码书及其增益和固定码书及其增益。上述隐藏传统的帧擦除掩蔽方法简单,复杂度低,但是恢复效果较差。
发明内容
本发明实施例提供用于嵌入式语音编码的帧擦除的隐藏方法及系统。
一种嵌入式语音编码的帧擦除隐藏方法,根据采用丢失帧之前接收到的帧的语音信号内插得到的所述丢失帧的线谱频率参数和激励,恢复得到所述丢失帧的合成语音,得到所述激励中的自适应码书的步骤为:
根据所述丢失帧的前一非丢失帧的速率,选择不同的激励内插得到所述丢失帧的自适应码书。
一种用于嵌入式语音编码的帧擦除的隐藏系统,包括存储单元、内插单元、合成单元和控制单元,其中,
所述存储单元,用于存储接收到的帧的语音信号的各参数;
所述内插单元,用于将所述控制单元从所述存储单元中调用的所述语音信号参数中的激励信号进行内插后,得到的丢失帧的各参数发送给控制单元;
所述控制单元,用于将接收到的所述丢失帧的各参数发送给所述合成单元恢复得到所述丢失帧的合成语音;
所述控制单元还用于根据所述丢失帧的前一非丢失帧的速率,选择不同的激励发送给所述内插单元,得到所述丢失帧的自适应码书。
上述方法或系统,在帧擦除隐藏时,对于恢复丢失帧的自适应码书所使用的内插激励根据前一非丢失帧的速率进行选择,这样得到的自适应码书更接近丢失帧的原始编码信号,从而提高了帧擦除隐藏的质量。
附图说明
图1是本发明实施例中宽带嵌入式编码码流帧擦除的示意图;
图2是本发明实施例中宽带嵌入式解码端帧擦除的隐藏方法的原理框图;
图3是本发明实施例中语音类型判断的流程图;
图4是本发明实施例中丢失帧自适应码书恢复的原理框图;
图5是本发明一实施例中于嵌入式语音编码的帧擦除的隐藏系统的结构示意图。
具体实施方式
图1示出了宽带嵌入式编码码流发生帧擦除的情况。嵌入式语音编码器码流的帧擦除情况不同于传统固定速率编码器的码流帧擦除。传统编码器生成的码流在发生帧擦除时,是将整帧信息全部丢弃;而嵌入式语音编码器生成的码流发生帧擦除的情况比较复杂,包括丢失增强四层、丢失增强三四层、丢失增强二三四层、丢失增强一二三四层和将整帧全部丢失这五种情况。
对于这五种情况,嵌入式语音解码器对帧头进行检测,得到帧的长度信息。除了“整帧全部丢失”这种情况的帧长为0,前四种帧擦除的帧长分别为480bits、320bits、24bits、160bits。对于这四种情况,解码器仅根据接收到的码流解码,从而得到合成语音。而对于“整帧全部丢失”这种情况的帧擦除,则恢复CELP模型的各个参数,包括谱包络、自适应码书及其增益、固定码书及其增益。本发明实施例帧擦除的隐藏方法针对的是“整帧全部丢失”的帧擦除情况,具体方法如下。
图2示出了解码端帧擦除的隐藏方法的原理框图。
方框201至206为丢失帧的语音类型估计。
本实施例中,对所有接收的帧都进行语音类型估计,如果当前帧为丢失帧则设当前丢失帧的语音类型与前一非丢失帧的语音类型相同。
语音类型分为为静音、浊音、清音、清音向浊音的过渡、浊音向清音的过渡五种。语音类型分类用到的参数包括方框202中的平均能量Ex、方框203中的归一化自相关rx、方框204中的过零率ox、方框205中的谱倾斜ex。
根据式(1)计算当前帧的平均能量Ex,其中为合成语音
根据式(2)计算自相关,其中为合成语音,T为第四子帧的整数基音延迟,t=256-T,其中256为采样的样点数。如果T>96,则T设为第三子帧和第四子帧的平均值。如果基音延迟小于子帧的长度(T<64),则归一化自相关要再计算一次,此时t设为t=t-T,且T为第三子帧和第四子帧的平均值,这时的归一化自相关为两次计算的自相关的平均值。
过零率ox则为当前帧合成语音的波形穿过零值的次数。
谱倾斜ex由归一化自相关近似估计,计算公式如下,这里为合成语音。
方框201表示根据以上计算的四个参数来判断当前帧的语音类型。本发明根据语音的特性,逐级分类。具体的判断流程参见图3,其中四个判断条件由经验得到,具体如下:
条件1:Ex≤35,如果满足条件1则当前帧为静音帧,否则转入条件2;
条件2:rx>0.77且ex>0.885;或者ex>0.96且ox<25,如果满足条件2的情况之一则为当前帧浊音帧,否则转入条件3;
条件3:ox≥53且ex<0.75,如果满足条件3则当前帧为清音帧,否则转入条件4;
条件4:当前帧的前一帧的类型为静音帧或者为浊音向清音的过渡帧,如果满足条件4则当前帧为清音向浊音过渡帧,否则当前帧为浊音向清音过渡帧。
方框207为谱包络的恢复。设该丢失帧的ISF参数和前一非丢失帧的ISF参数相同。
方框20为激励的恢复,包括自适应码书及其增益的恢复,和固定码书及其增益的恢复。
方框208为自适应码书的恢复。根据语音的短时平稳特性,通常情况下将丢失帧的基音周期用过去一帧第四子帧的基音周期代替。但是对于宽带语音,其基音的动态范围较大。如果仅用过去一子帧的基音周期代替,恢复的效果并不好。本发明采用G.722.2标准中对丢失帧基音周期估计的技术:对过去一子帧基音周期的可用性进行判断,如果浊音性和稳定性强,说明该丢失帧和过去帧比较变化不大,该丢失帧的基音周期可以用过去一子帧的代替;否则,则该丢失帧的基音周期值在一定范围内随机产生。另外,通过实验证明:如果过去一子帧的基音周期可用,则将此基音周期值加1的效果比直接使用该值的效果好。所以,本发明对所采用的G.722.2标准中对丢失帧基音周期估计的技术稍加改动:如果过去一子帧的基音周期可用,则将此基音周期值加1。将此值作为丢失帧的整数基音周期。
以上过程得到了丢失帧的整数基音周期,分数基音周期设为0。然后内插前一非丢失帧的激励从而得到自适应码书。传统的基于CELP模型的编码器中仅存在唯一的激励缓冲区,而由于本编码器嵌入式结构的特殊性,在CELP模块,解码端除了生成核心层的激励,还会生成包含增强层信息的激励。如图4,对丢失帧,通过对前一非丢失帧帧速率的判断选择对应的激励内插:如果前一非丢失帧的速率为8kb/s,则选用前一非丢失帧的核心层的激励内插;如果前一非丢失帧的速率为12kb/s,则选用前一非丢失帧的增强一层与核心层的激励之和内插;如果前一帧的速率大于等于16kb/s,则选用前一非丢失帧的增强二层、增强一层与核心层的激励总和内插。
方框209为固定码书的恢复。丢失帧的固定码书由随机产生的序列代替。
方框211、212为自适应码书和固定码书增益的恢复。丢失帧的自适应码书增益gp和固定码书增益gc由过去五子帧的中值得到。
方框213用能量外推法对丢失帧的自适应码书增益进行调整,该方法可理解为用丢失帧前两子帧激励的平均能量比来估计丢失帧自适应码书的增益。
这里,E为丢失帧的前两子帧激励平均能量比。
得到的E1为丢失帧自适应码书的增益的调整值,但在以下两种情况下E不能代替原来计算的自适应码书增益:
方框214为生成激励和。但是,对于丢失帧,其固定码书由随机序列代替。实验表明,如果该丢失帧为浊音,包含此固定码书的合成语音会有明显的噪声。同时,该固定码书会破坏浊音激励信号的波形,影响了丢失帧后的正常帧的语音合成。所以本发明采用“固定码书的能量限制技术”,即对不同类型的丢失帧的固定码书的能量进行限制,具体如下:
1)如果当前为浊音帧,固定码书各样点衰减0.5;
2)如果当前帧为“清音向浊音过渡”,则第3、4子帧固定码书各样点逐点衰减,衰减系数由1渐变到0.5;
3)如果当前帧为“浊音向清音过渡”,则第1、2子帧固定码书各样点逐点衰减,衰减系数为0.5渐变到1。
其中0.5为实验得到的经验值。
固定码书调整后,得到激励和,最后通过合成滤波器215生成恢复的丢失帧语音。
为了进一步提高帧擦除隐藏的质量,在编码端进行了一项特殊的处理:控制自适应码书的贡献。目的是限制自适应码书在合成语音中的贡献,从而减少帧间的相关性。这样,就能加快丢失帧后正常帧恢复的速度。而对自适应码书贡献的限制,可以作用于自适应码书的增益。式(7)为原始的自适应码书增益gp的计算公式,其中x(n)为目标矢量,y(n)为自适应码书与感知加权滤波器的卷积。
本处理对自适应码书在合成语音中的贡献比R进行限制,式(8)为自适应码书在合成语音中贡献
这里,Ep为自适应码书贡献的能量,Ex为目标矢量的能量。对自适应码书贡献的控制方法为:如果R<Rth,则自适应码书的增益gp不变,即仍用式(7)计算得到的gp;否则,gp按下式调整,其中Rth为预先设定的自适应码书贡献的门限值
在具体实现时,参见图5,相应的提出用于嵌入式语音编码的帧擦除的隐藏系统,包括存储单元1、内插单元2、合成单元3和控制单元4,其中,存储单元1,存储接收到的帧的语音信号的各参数;内插单元2,将控制单元从存储单元中调用的语音信号参数中的激励信号进行内插后,得到的丢失帧的各参数发送给控制单元;控制单元4,将接收到的所述丢失帧的各参数发送给合成单元3恢复得到丢失帧的合成语音;控制单元4还根据丢失帧的前一非丢失帧的速率,选择不同的激励发送给内插单元,得到丢失帧的自适应码书。
控制单元采用速率比较器和加法器实现对前一非丢失帧的速率进行判断和选择不同的激励的目的,其中,所述速率比较器根据所述前一非丢失帧的速率,选择所述前一非丢失帧的各层的激励或核心层的激励发送给所述加法器;所述加法器将所述前一非丢失帧的各层的激励求和后发送给所述内插单元;或直接将所述核心层的激励发送给所述内插单元。
还包括分类单元5,分类单元对接收到的帧的语音类型进行分类后,发送给存储单元存储。
分类单元采用参数运算器和参数比较器实现语音类型的分类,其中,参数运算器计算接收到的帧的平均能量Ex、归一化自相关rx、过零率ox和谱倾斜ex,并发送给参数比较器;参数比较器将平均能量Ex、归一化自相关rx、过零率ox和谱倾斜ex与分别与相关的预定值比较后,向存储单元输出接收到的帧的语音类型。
还包括能量调整单元6,用于对所述控制单元发送的所述丢失帧的各参数中的固定码书的能量进行调整后发送给所述合成单元。在本实施例中,所述能量调整单元为衰减器。
还包括增益调整单元7,用于对所述控制单元发送的所述丢失帧的自适应码书的增益进行调整后发送给所述合成单元。
还包括基音周期单元8,所述控制单元调用的语音信号中的前一非丢失帧的基音周期可用时,将所述前一非丢失帧的基音周期加一后发送给所述内插单元处理。
还包括相关单元9,如果编码端的嵌入式编码信号中自适应码书的贡献大于或等于预定门限时,用于对所述自适应码书的贡献进行限制。
测试表明,采用本发明实施例进行帧擦除的隐藏,速率为8kb/s(R1)帧擦除率(FER)为3%的合成语音,优于G.722.28.85kb/s FER为3%合成语音质量;本编码器速率为24kb/s(R3)FER为6%的合成语音,与G.722.28.85kb/s无错误率情况下的质量基本相当;本编码器速率为32kb/s(R5)FER为3%的合成语音,以及本编码器各层发生擦除的情况(R1,L2,L3,L4,L5)FER分别为0,2,4,6,10%的合成语音,与G.722.212.65kb/s无错误率情况下的质量基本相当,帧擦除隐藏的质量符合ITU-T G.VBR提案的要求。
机译: 基于语音波形外推的用于预测语音编码的帧擦除隐藏方法和系统
机译: 基于语音波形外推的用于预测语音编码的帧擦除隐藏方法和系统
机译: 基于语音波形外推的用于预测语音编码的帧擦除隐藏方法和系统