语音频码流的解码方法及装置转让专利

申请号 : CN201310751997.X

文献号 : CN104751849B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘泽新张兴涛苗磊

申请人 : 华为技术有限公司

摘要 :

本发明涉及音频解码技术,公开了语音频码流解码方法及装置,其中语音频码流的解码方法包括:判断当前帧是否为正常解码帧或冗余解码帧;如果当前帧为正常解码帧或冗余解码帧,解析获得当前帧的解码参数;对当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数;使用当前帧的后处理的解码参数恢复语音频信号。使用本发明提供的方案,能够提高输出语音频信号的质量。

权利要求 :

1.一种语音频码流的解码方法,其特征在于,包括:

判断当前帧的类型;

如果所述当前帧为冗余解码帧,或者,如果所述当前帧为正常解码帧,且所述当前帧的前一帧为冗余解码帧时,解析获得所述当前帧的解码参数;

对所述当前帧的解码参数进行后处理,获得所述当前帧的后处理的解码参数;

使用当前帧的后处理的解码参数恢复语音频信号;

其中,所述当前帧的解码参数包括所述当前帧的频谱对参数,所述对所述当前帧的解码参数进行后处理包括:使用所述当前帧的频谱对参数和所述当前帧的前一帧的频谱对参数获得所述当前帧的后处理的频谱对参数。

2.根据权利要求1所述的方法,其特征在于,具体使用如下公式计算获得当前帧的后处理的频谱对参数:lsp[k]=α*lsp_old[k]+δ*lsp_new[k]0≤k≤M

lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重,α≥0,δ≥0,且α+δ=1。

3.根据权利要求1所述的方法,其特征在于,具体使用如下公式计算获得当前帧的后处理的频谱对参数:lsp[k]=α*lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]0≤k≤M;

lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重,β为当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重,α≥0,β≥0,δ≥0,且α+β+δ=1。

4.根据权利要求3所述的方法,其特征在于,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,β的取值为0或小于预设的门限值。

5.根据权利要求2至4任一所述的方法,其特征在于,在所述当前帧的信号类型为清音,所述当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值。

6.根据权利要求2至4任一所述的方法,其特征在于,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,δ的取值为0或小于预设的门限值。

7.根据权利要6所述的方法,其特征在于,所述谱倾斜因子可以为正值或负值,并且所述谱倾斜因子越小,所述谱倾斜因子对应的帧的信号类型越倾向于清音。

8.根据权利要求1所述的方法,其特征在于,所述当前帧的解码参数还包括当前帧的自适应码书增益。

9.根据权利要求8所述的方法,其特征在于,还包括:

在所述当前帧为冗余解码帧时,如果当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且所述当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍,则衰减所述当前帧的当前子帧的自适应码书增益。

10.根据权利要求8或9所述的方法,其特征在于,还包括:

在所述当前帧或所述当前帧的前一帧为冗余解码帧时,如果当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者所述当前帧的前一帧的信号类型为普通语音且所述当前帧的信号类型为浊音,并且所述当前帧中一个子帧的代数码书与所述一个子帧的前一子帧的代数码书相差第二数量倍或所述当前帧中一个子帧的代数码书与所述当前帧的前一帧的代数码书相差第二数量倍,则通过所述当前帧的当前子帧的代数码书与所述当前帧的当前子帧的相邻子帧的代数码书的比值,所述当前帧的当前子帧的自适应码书增益与所述当前帧的当前子帧的相邻子帧的自适应码书增益的比值以及所述当前帧的当前子帧的代数码书与所述当前帧的前一帧的代数码书的比值中的至少一个,调整所述当前帧的当前子帧的自适应码书增益。

11.一种用于解码语音频码流的解码器,其特征在于,包括:

判断单元,用于判断当前帧的类型;

解析单元,用于在所述判断单元判断所述当前帧为冗余解码帧,或者所述当前帧为正常解码帧,且所述当前帧的前一帧为冗余解码帧时,解析获得当前帧的解码参数;

后处理单元,用于对所述解析单元获得的当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数;

恢复单元,用于使用所述后处理单元获得的当前帧的后处理的解码参数恢复语音频信号;

其中,所述当前帧的解码参数包括当前帧的频谱对参数,所述后处理单元,具体用于使用当前帧的频谱对参数和当前帧的前一帧频谱对参数获得当前帧的后处理的频谱对参数。

12.根据权利要求11所述的解码器,其特征在于,所述后处理单元,具体用于使用如下公式计算获得当前帧的后处理的频谱对参数:lsp[k]=α*lsp_old[k]+δ*lsp_new[k]0≤k≤M

lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重,α≥0,δ≥0,且α+δ=1。

13.根据权利要求11所述的解码器,其特征在于,所述后处理单元,具体用于使用如下公式计算获得当前帧的后处理的频谱对参数:lsp[k]=α*st->lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]0≤k≤M;

其中,lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重,β为当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重,α≥0,β≥0,δ≥0,且α+β+δ=1。

14.根据权利要求13所述的解码器,其特征在于,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,β的取值为0或小于预设的门限值。

15.根据权利要求12至14任一所述的解码器,其特征在于,在所述当前帧的信号类型为清音,所述当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值。

16.根据权利要求12至14任一所述的解码器,其特征在于,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,δ的取值为0或小于预设的门限值。

17.根据权利要求16所述的解码器,其特征在于,所述谱倾斜因子可以为正值或负值,并且所述谱倾斜因子越小,所述谱倾斜因子对应的帧的信号类型越倾向于清音。

18.根据权利要求11所述的解码器,其特征在于,所述当前帧的解码参数还包括当前帧的自适应码书增益,所述后处理单元,还用于调整所述当前帧的自适应码书增益。

19.根据权利要求18所述的解码器,其特征在于,所述后处理单元用于在所述当前帧为冗余解码帧时,如果所述当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且所述当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍时,衰减所述当前帧的当前子帧的自适应码书增益。

20.根据权利要求18或19所述的解码器,其特征在于,所述后处理单元,具体用于在所述当前帧或所述当前帧的前一帧为冗余解码帧,所述当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者所述当前帧的前一帧的信号类型为普通语音且所述当前帧的信号类型为浊音,并且所述当前帧中一个子帧的代数码书与所述一个子帧的前一子帧的代数码书相差第二数量倍或所述当前帧中一个子帧的代数码书与所述当前帧的前一帧的代数码书相差第二数量倍时,通过所述当前帧的当前子帧的代数码书与所述当前帧的当前子帧的相邻子帧的代数码书的比值,所述当前帧的当前子帧的自适应码书增益与所述当前帧的当前子帧的相邻子帧的自适应码书增益的比值,以及所述当前帧的当前子帧的代数码书与所述当前帧的前一帧的代数码书的比值中的至少一个,调整所述当前帧的当前子帧的自适应码书增益。

说明书 :

语音频码流的解码方法及装置

技术领域

[0001] 本发明涉及音频解码技术,具体涉及语音频码流解码方法及装置。

背景技术

[0002] 在移动通信业务中,由于网络丢包以及时延抖动,不可避免的会造成丢帧,导致某些语音频信号不能通过解码的参数恢复出来,只能通过帧擦除隐藏(FEC:Frame Erasure Concealment)技术恢复。然而,对丢包率较高的情况,仅仅通过解码端的FEC技术,输出的语音频信号的质量较差,不能满足高质量通信的需求。
[0003] 为了更好的降低语音频帧丢失导致的质量下降问题,产生了冗余编码算法:在编码端,除了用一定的比特率编码当前帧的信息外,还用较低比特率编码除当前帧之外其他帧的信息,并将较低比特率的码流作为冗余码流信息和当前帧的信息的码流一起传输到解码端。在解码端,当当前帧丢失时,如果抖动缓冲器(jitter buffer)里或已收到的码流里存储了包含当前帧的冗余码流信息,则可以根据该冗余码流信息恢复当前帧,从而改善恢复出的语音频信号的质量。只有在没有当前帧的冗余码流信息时才基于FEC技术恢复当前帧。
[0004] 从上可知,在现有的冗余编码算法中,冗余码流信息是使用较低的码率编码得到的,因此可能会造成信号不稳定,从而导致输出的语音频信号的质量不高。

发明内容

[0005] 本发明实施例提供了语音频码流的音频的冗余解码方法及装置,能够提高输出语音频信号的质量。
[0006] 第一方面,提供了一种语音频码流的解码方法,包括:
[0007] 判断当前帧是否为正常解码帧或冗余解码帧;
[0008] 如果所述当前帧为正常解码帧或冗余解码帧,解析获得当前帧的解码参数;
[0009] 对所述当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数;
[0010] 使用当前帧的后处理的解码参数恢复语音频信号。
[0011] 结合第一方面,在第一方面的第一种实现方式中,所述当前帧的解码参数包括当前帧的频谱对参数,所述对所述当前帧的解码参数进行后处理包括:
[0012] 使用当前帧的频谱对参数和当前帧的前一帧频谱对参数获得当前帧的后处理的频谱对参数。
[0013] 结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,具体使用如下公式计算获得当前帧的后处理的频谱对参数:
[0014] lsp[k]=α*lsp_old[k]+δ*lsp_new[k]  0≤k≤M
[0015] lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重,α≥0,δ≥0,且α+δ=1。
[0016] 结合第一方面的第一种实现方式,在第一方面的第三种实现方式中,具体使用如下公式计算获得当前帧的后处理的频谱对参数:
[0017] lsp[k]=α*lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]  0≤k≤M;
[0018] lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重,β为当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重,α≥0,β≥0,δ≥0,且α+β+δ=1。
[0019] 结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,β的取值为0或小于预设的门限值。
[0020] 结合第一方面的第二至四种实现方式中的任何一种,在第一方面的第五种实现方式中,在所述当前帧的信号类型为清音,所述当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值。
[0021] 结合第一方面的第二至五种实现方式中的任何一种,在第一方面的第六种实现方式中,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,δ的取值为0或小于预设的门限值。
[0022] 结合第一方面的第四至六种实现方式中的任何一种,在第一方面的第七种实现方式中,所述谱倾斜因子可以为正值或负值,并且所述谱倾斜因子越小,所述谱倾斜因子对应的帧的信号类型越倾向于清音。
[0023] 结合第一方面,或第一方面的第一至七种实现方式中的任何一种,在第一方面的第八种实现方式中,所述当前帧的解码参数包括当前帧的自适应码书增益;
[0024] 在所述当前帧为冗余解码帧时,如果当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且所述当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍,所述对所述当前帧的解码参数进行后处理包括:
[0025] 衰减所述当前帧的当前子帧的自适应码书增益。
[0026] 结合第一方面,或第一方面的第一至七种实现方式中的任何一种,在第一方面的第九种实现方式中,所述当前帧的解码参数包括当前帧的自适应码书增益;
[0027] 在所述当前帧或所述当前帧的前一帧为冗余解码帧时,如果当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者所述当前帧的前一帧的信号类型为普通语音且所述当前帧的信号类型为浊音,并且所述当前帧中一个子帧的代数码书与所述一个子帧的前一子帧的代数码书相差第二数量倍或所述当前帧中一个子帧的代数码书与所述当前帧的前一帧的代数码书相差第二数量倍,所述对所述当前帧的解码参数进行后处理包括:
[0028] 通过所述当前帧的当前子帧的代数码书与所述当前帧的当前子帧的相邻子帧的代数码书的比值,所述当前帧的当前子帧的自适应码书增益与所述当前帧的当前子帧的相邻子帧的自适应码书码书的比值以及所述当前帧的当前子帧的代数码书与所述当前帧的前一帧的代数码书的比值中的至少一个,调整所述当前帧的当前子帧的自适应码书增益。
[0029] 结合第一方面,或第一方面的第一至九种实现方式中的任何一种,在第一方面的第十种实现方式中,所述当前帧的解码参数包括当前帧的代数码书;
[0030] 在所述当前帧为冗余解码帧时,如果所述当前帧的下一帧的信号类型为清音,所述当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,且所述当前帧的至少一个子帧的代数码书为0,所述对所述当前帧的解码参数进行后处理包括:
[0031] 将随机噪声或所述当前帧的当前子帧的前一子帧的非零代数码书作为所述当前帧的全为0的子帧的代数码书。
[0032] 结合第一方面,或第一方面的第一至十种实现方式中的任何一种,在第一方面的第十一种实现方式中,所述当前帧为冗余解码帧,所述解码参数包括频带扩展包络;
[0033] 在所述当前帧不是清音帧,且所述当前帧的下一帧是清音帧时,如果当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,所述对所述当前帧的解码参数进行后处理包括:
[0034] 根据所述当前帧的前一帧的频带扩展包络和谱倾斜因子中的至少一个,对所述当前帧的频带扩展包络进行修正。
[0035] 结合第一方面的第十一种实现方式,在第一方面的第十二种实现方式中,所述对所述当前帧的频带扩展包络进行修正时的修正因子与所述当前帧的前一帧的谱倾斜因子成反比,与所述当前帧的前一帧的频带扩展包络与所述当前帧的频带扩展包络的比值成正比。
[0036] 结合第一方面,或第一方面的第一至十种实现方式中的任何一种,在第一方面的第十三种实现方式中,所述当前帧为冗余解码帧,所述解码参数包括频带扩展包络;
[0037] 在所述当前帧的前一帧为正常解码帧时,如果所述当前帧的信号类型与所述当前帧的前一帧的信号类型相同,或所述当前帧为冗余解码的预测模式,所述对所述当前帧的解码参数进行后处理包括:
[0038] 使用所述当前帧的前一帧的频带扩展包络对所述当前帧的频带扩展包络进行调整。
[0039] 第二方面,提供了一种用于解码语音频码流的解码器,包括:
[0040] 判断单元,用于判断当前帧是否为正常解码帧或冗余解码帧;
[0041] 解析单元,用于在所述判断单元判断所述当前帧为正常解码帧或冗余解码帧时,解析获得当前帧的解码参数;
[0042] 后处理单元,用于对所述解析单元获得的当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数;
[0043] 恢复单元,用于使用所述后处理单元获得的当前帧的后处理的解码参数恢复语音频信号。
[0044] 结合第二方面,在第二方面的第一种实现方式中,所述后处理单元,具体用于在所述当前帧的解码参数包括当前帧的频谱对参数时,使用当前帧的频谱对参数和当前帧的前一帧频谱对参数获得当前帧的后处理的频谱对参数。
[0045] 结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述后处理单元,具体用于使用如下公式计算获得当前帧的后处理的频谱对参数:
[0046] lsp[k]=α*lsp_old[k]+δ*lsp_new[k]  0≤k≤M
[0047] lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重,α≥0,δ≥0,且α+δ=1。
[0048] 结合第二方面的第一种实现方式,在第二方面的第三种实现方式中,所述后处理单元,具体用于使用如下公式计算获得当前帧的后处理的频谱对参数:
[0049] lsp[k]=α*st->lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]  0≤k≤M;
[0050] 其中,lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重,β为当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重,α≥0,β≥0,δ≥0,且α+β+δ=1。
[0051] 结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,β的取值为0或小于预设的门限值。
[0052] 结合第二方面的第二至四种实现方式中的任何一种,在第二方面的第五种实现方式中,在所述当前帧的信号类型为清音,所述当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值。
[0053] 结合第二方面的第二至五种实现方式中的任何一种,在第二方面的第六种实现方式中,在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,δ的取值为0或小于预设的门限值。
[0054] 结合第二方面的第四至六种实现方式中的任何一种,在第二方面的第七种实现方式中,所述谱倾斜因子可以为正值或负值,并且所述谱倾斜因子越小,所述谱倾斜因子对应的帧的信号类型越倾向于清音。
[0055] 结合第二方面,或者第二方面的第二至七种实现方式中的任何一种,在第二方面的第八种实现方式中,所述后处理单元,具体用于在所述当前帧的解码参数包括当前帧的自适应码书增益,所述当前帧为冗余解码帧时,如果所述当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且所述当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍时,衰减所述当前帧的当前子帧的自适应码书增益。
[0056] 结合第二方面,或者第二方面的第二至八种实现方式中的任何一种,在第二方面的第九种实现方式中,所述后处理单元,具体用于在所述当前帧的解码参数包括当前帧的自适应码书增益,所述当前帧或所述当前帧的前一帧为冗余解码帧,所述当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者所述当前帧的前一帧的信号类型为普通语音且所述当前帧的信号类型为浊音,并且所述当前帧中一个子帧的代数码书与所述一个子帧的前一子帧的代数码书相差第二数量倍或所述当前帧中一个子帧的代数码书与所述当前帧的前一帧的代数码书相差第二数量倍时,通过所述当前帧的当前子帧的代数码书与所述当前帧的当前子帧的相邻子帧的代数码书的比值,所述当前帧的当前子帧的自适应码书增益与所述当前帧的当前子帧的相邻子帧的自适应码书码书的比值,以及所述当前帧的当前子帧的代数码书与所述当前帧的前一帧的代数码书的比值中的至少一个,调整所述当前帧的当前子帧的自适应码书增益。
[0057] 结合第二方面,或者第二方面的第二至八种实现方式中的任何一种,在第二方面的第十种实现方式中,所述后处理单元,具体用于在所述当前帧的解码参数包括当前帧的代数码书,所述当前帧为冗余解码帧,所述当前帧的下一帧的信号类型为清音,所述当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,且所述当前帧的至少一个子帧的代数码书为0时,将随机噪声或所述当前帧的当前子帧的前一子帧的非零代数码书作为所述当前帧的全为0的子帧的代数码书。
[0058] 结合第二方面,或者第二方面的第二至十种实现方式中的任何一种,在第二方面的第十一种实现方式中,所述后处理单元,具体用于在所述当前帧为冗余解码帧,所述解码参数包括频带扩展包络,所述当前帧不是清音帧,所述当前帧的下一帧是清音帧,且所述当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,根据所述当前帧的前一帧的频带扩展包络和谱倾斜因子中的至少一个,对所述当前帧的频带扩展包络进行修正。
[0059] 结合第二方面的第十一种实现方式,在第二方面的第十二种实现方式中,所述后处理单元在对所述当前帧的频带扩展包络进行修正时使用的修正因子与所述当前帧的前一帧的谱倾斜因子成反比,与所述当前帧的前一帧的频带扩展包络与所述当前帧的频带扩展包络的比值成正比。
[0060] 结合第二方面,或者第二方面的第二至十种实现方式中的任何一种,在第二方面的第十三种实现方式中,所述后处理单元,具体用于在所述当前帧为冗余解码帧,所述解码参数包括频带扩展包络,所述当前帧的前一帧为正常解码帧,且所述当前帧的信号类型与所述当前帧的前一帧的信号类型相同或所述当前帧为冗余解码的预测模式时,使用所述当前帧的前一帧的频带扩展包络对所述当前帧的频带扩展包络进行调整。
[0061] 在本发明的另一些实施例中,解码端在解析获得了当前帧的解码参数后,可以对当前帧的解码参数进行后处理,并使用当前帧的后处理的解码参数恢复出语音频信号,使得解码的信号在冗余解码帧和正常解码帧之间过渡时,能够得到稳定的质量,从而提高输出的语音频信号的质量。

附图说明

[0062] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0063] 图1为本发明一个实施例提供的语音频码流的解码方法的流程示意图;
[0064] 图2为本发明另一个实施例提供的语音频码流的解码方法的流程示意图;
[0065] 图3为本发明一个实施例提供的对语音频码流的进行解码的结脉的结构示意图;
[0066] 图4为本发明一个实施例提供的对语音频码流的进行解码的结脉的结构示意图。

具体实施方式

[0067] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0068] 以下分别进行详细说明。
[0069] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0070] 先介绍本发明实施例提供的语音频码流的解码方法,本发明实施例提供的与音频码流的解码方法的执行主体是解码器,该解码器可以是任何需要输出语音的装置,如手机,笔记本电脑,平板电脑,个人电脑等。
[0071] 图1描述了本发明一个实施例提供的语音频码流的解码方法流程,该实施例包括:
[0072] 101、判断语当前帧是否为正常解码帧或冗余解码帧。
[0073] 正常解码帧是指当前帧的信息能够直接从当前帧码流中解码获得;冗余解码帧是指当前帧的信息不能够直接从当前帧码流中解码获得,但是可以从其他帧码流中获得当前帧的冗余码流信息。
[0074] 其中,在本发明的一个实施例中,在当前帧为正常解码帧时,只有在当前帧的前一帧为冗余解码帧时,才会执行本发明实施例提供的方法,其中当前帧的前一帧与当前帧是紧邻的两个帧。在本发明的另一个实施例中,在当前帧为正常解码帧时,只有在当前帧的前面的一定数量个帧中有冗余解码帧时,才会执行本发明实施例提供的方法,其中该一定数量可以根据需要进行设置,例如可以设置为2,3,4或10等。
[0075] 102、如果当前帧为正常解码帧或冗余解码帧,解析获得当前帧的解码参数。
[0076] 当前帧的解码参数可以包括频谱对参数,自适应码书增益(gain_pit),代数码书和频带扩展包络中的至少一个;其中,频谱对参数可以是线谱对(LSP:Linear Spectral Pairs)参数和导抗频谱对(ISP:Immittance Spectral Pairs)参数中的至少一个。可以理解的是,本发明实施例可以只对解码参数中的任意一个参数进行后处理,也可以对所有的解码参数进行后处理,具体选择几个参数,选择哪几个参数进行后处理可以根据应用的场景和环境进行选择,本发明实施例并不做限定。
[0077] 在当前帧为正常解码帧时,可以从当前帧码流中直接解码获得当前帧的信息,从而获得当前帧的解码参数。在当前帧为冗余解码帧时,可以根据其他帧码流中当前帧的冗余码流信息解析获得当前帧的解码参数。
[0078] 103、对当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数。
[0079] 对于不同的解码参数可能进行不同的后处理,例如,对频谱对参数进行的后处理可以是使用当前帧的频谱对参数和当前帧的前一帧频谱对参数做自适应的加权获得当前帧的后处理的频谱对参数。对自适应码书增益的后处理可以是对自适应码书增益进行调整,如衰减等。
[0080] 本发明实施例不对具体的后处理进行限定,具体进行何种后处理可以根据需要或者根据应用的环境和场景进行设定。
[0081] 104、使用当前帧的后处理的解码参数恢复语音频信号。
[0082] 从上可知,本实施例中解码端在解析获得了当前帧的解码参数后,可以对当前帧的解码参数进行后处理,并使用当前帧的后处理的解码参数恢复出语音频信号,使得解码的信号在冗余解码帧和正常解码帧之间过渡时,能够得到稳定的质量,从而提高输出的语音频信号的质量。
[0083] 在本发明的一个实施例中,当前帧的解码参数包括了当前帧的频谱对参数,则对当前帧的解码参数进行后处理可以包括:使用当前帧的频谱对参数和当前帧的前一帧频谱对参数获得当前帧的后处理的频谱对参数,具体地,可以使用当前帧的频谱对参数和当前帧的前一帧频谱对参数自适应加权获得当前帧的后处理的频谱对参数。具体地,在本发明的一个实施例中,可以使用如下公式计算获得当前帧的后处理的频谱对参数:
[0084] lsp[k]=α*lsp_old[k]+δ*lsp_new[k]  0≤k≤M
[0085] lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重。其中,α≥0,δ≥0,且α+δ=1。
[0086] 在本发明的另一个实施例中,可以使用如下公式计算获得当前帧的后处理的频谱对参数:
[0087] lsp[k]=α*lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]  0≤k≤M;
[0088] 其中,lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对的阶数,α为前一帧的频谱对参数的权重,β为当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重。其中,α≥0,β≥0,δ≥0,且α+β+δ=1。
[0089] 根据不同的应用环境和场景,上述公式中的α,β和δ的取值会有不同。例如,在当前帧的信号类型为清音,当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值(α_TRESH),α_TRESH的取值可以接近于0。在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,β的取值为0或小于预设的门限值(β_TRESH),β_TRESH的取值可以接近于0。在当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,δ的取值为0或小于预设的门限值(δ_TRESH),δ_TRESH的取值可以接近于0。
[0090] 其中,谱倾斜因子可以为正值或负值,并且一个帧的谱倾斜因子越小,则说明这个帧的信号类型越倾向于清音。
[0091] 其中,当前帧的信号类型可以是清音(UNVOICED),浊音(VOICED)、普通语音(GENERIC),过渡语音(TRANSITION)或静默音(INACTIVE)等。
[0092] 其中,谱倾斜因子可以为正值或负值,并且一个帧的谱倾斜因子越小,则说明这个帧的信号类型越倾向于清音。
[0093] 因此,谱倾斜因子门限值的取值可以根据引用的环境和场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0094] 在本发明的另一个实施例中,当前帧的解码参数可以包括当前帧的自适应码书增益,在当前帧为冗余解码帧时,如果当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍,对当前帧的解码参数进行后处理可以包括:衰减当前帧的当前子帧的自适应码书增益。在当前帧或当前帧的前一帧为冗余解码帧时,如果当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者当前帧的前一帧的信号类型为普通语音且当前帧的信号类型为浊音,并且当前帧中一个子帧的代数码书与该一个子帧的前一子帧的代数码书相差第二数量倍或当前帧中一个子帧的代数码书与当前帧的前一帧的代数码书相差第二数量倍时,对当前帧的解码参数进行后处理可以包括:通过当前帧的当前子帧的代数码书与当前帧的当前子帧的相邻子帧的代数码书的比值,当前帧的当前子帧的自适应码书增益与当前帧的当前子帧的相邻子帧的自适应码书码书的比值,以及当前帧的当前子帧的代数码书与当前帧的前一帧的代数码书的比值中的至少一个,调整当前帧的当前子帧的自适应码书增益。
[0095] 其中,第一数量和第二数量的取值可以根据根据具体的使用环境和场景进行设置,其取值可以是整数也可以是非整数;其中,第一数量和第二数量的取值可以相同也可以不相同。例如,第一数量的取值可以为2,2.5,3,3.4或4等,第二数量的取值可以为2,2.6,3,3.5或4等。
[0096] 其中,在对当前帧的当前子帧的自适应码书增益进行衰减时的衰减因子可以根据应用的环境和场景的不同设置不同的值。
[0097] 在本发明的另一个实施例中,当前帧的解码参数包括了当前帧的代数码书;在当前帧为冗余解码帧时,如果当前帧的下一帧的信号类型为清音,当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,且当前帧的至少一个子帧的代数码书为0,则对当前帧的解码参数进行后处理包括:将随机噪声或当前帧的当前子帧的前一子帧的非零代数码书作为当前帧全为0的子帧的代数码书。其中,谱倾斜因子门限值可以根据应用的环境或场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0098] 在本发明的另一个实施例中,当前帧的解码参数包括了当前帧的频带扩展包络;在当前帧为冗余解码帧,当前帧不是清音帧,且当前帧的下一帧是清音帧时,如果当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,则对当前帧的解码参数进行后处理可以包括:根据当前帧的前一帧的频带扩展包络和谱倾斜因子中的至少一个,对当前帧的频带扩展包络进行修正。其中,对当前帧的频带扩展包络进行修正时的修正因子与当前帧的前一帧的谱倾斜因子成反比,与当前帧的前一帧的频带扩展包络与当前帧的频带扩展包络的比值成正比。其中,谱倾斜因子门限值可以根据应用的环境或场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0099] 在本发明的另一个实施例中,当前帧的解码参数包括了当前帧的频带扩展包络;如果当前帧为冗余解码帧,当前帧的前一帧为正常解码帧,当前帧的信号类型与当前帧的前一帧的信号类型相同或当前帧为冗余解码的预测模式,则对当前帧的解码参数进行后处理包括:使用当前帧的前一帧的频带扩展包络对当前帧的频带扩展包络进行调整。其中,冗余解码的预测模式表示的是编码冗余码流信息时,使用了更多的比特编码自适应码数增益部分,用更少的比特编码代数码书部分,甚至可以不编码代数码书部分。
[0100] 从上可知,本发明的一个实施例在清音帧和非清音帧之间过渡(当前帧为清音帧并且为冗余解码帧时,当前帧的前一帧或后一帧为非清音帧并且为正常解码帧,或当前帧为非清音帧且为正常解码帧,当前帧的前一帧或后一帧为清音帧并且为冗余解码帧)时,能够对当前帧的解码参数进行后处理,从而能够去掉清音帧和非清音帧帧间过渡时的咔咔声(click)现象,从而提高输出的语音频信号的质量。本发明的另一个实施例在普通语音帧与浊音帧之间过渡(当前帧为普通语音帧并且为冗余解码帧时,当前帧的前一帧或后一帧为浊音帧并且为正常解码帧,或当前帧为浊音帧且为正常解码帧,当前帧的前一帧或后一帧为普通语音帧并且为冗余解码帧)时,能够对当前帧的解码参数进行后处理,从而能够纠正普通语音帧和浊音帧之间过渡时的能量不稳定现象,从而提高输出的语音频信号的质量。本发明的另一个实施例中,能够在当前帧为冗余解码帧,当前帧不是清音帧,且当前帧的下一帧是清音帧时,对当前帧的频带扩展包络进行调整,从而修正时域频带扩展的能量不稳定现象,提高输出的语音频信号的质量。
[0101] 图2描述了本发明另一个实施例提供的语音频码流的解码方法流程,该实施例包括:
[0102] 201、判断当前帧的是否为正常解码帧;如果是,进入步骤204;如果否,进入步骤202。
[0103] 具体地,可以基于抖动缓冲管理(JBM:Jitter Buffer Management)算法判断当前帧是否为正常解码帧。
[0104] 202、判断当前帧的冗余码流信息是否存在;如果是,进入步骤204;如果否,进入步骤203。
[0105] 如果当前帧的冗余码流信息存在,则当前帧为冗余解码帧。具体地,可以从抖动缓冲器(jitter buffer)或已收到的码流里确定当前帧的冗余码流信息是否存在。
[0106] 203、基于FEC技术恢复当前帧的语音频信号;结束流程。
[0107] 204、解析获得当前帧的解码参数。
[0108] 在当前帧为正常解码帧时,可以从当前帧码流中直接解码获得当前帧的信息,从而获得当前帧的解码参数。在当前帧为冗余解码帧时,可以根据当前帧的冗余码流信息解析获得当前帧的解码参数。
[0109] 205、对当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数。
[0110] 206、使用当前帧的后处理的解码参数恢复语音频信号。
[0111] 其中,步骤204-206可以参考步骤102-104执行,此处不再赘述。
[0112] 从上可知,本实施例中解码端在解析获得了当前帧的解码参数后,可以对当前帧的解码参数进行后处理,并使用当前帧的后处理的解码参数恢复出语音频信号,使得解码的信号在冗余解码帧和正常解码帧之间过渡时,能够得到稳定的质量,从而提高输出的语音频信号的质量。
[0113] 在本发明实施例中,解码器解析获得的当前帧的解码参数可以包括当前帧的频谱对参数、当前帧的自适应码书增益、当前帧的代数码书和当前帧的频带扩展包络中的至少一个,可以理解的是,即使解码器解析获得了解码参数中的至少两个,解码器也可以只对其中的一个解码参数进行后处理,因此,解码器具体对几个解码参数,以及对哪些解码参数进行后处理可以根据应用的环境和场景进行设置。
[0114] 如下介绍本发明实施例提供的用于解码语音频码流的解码器,该解码器具体可以是任何需要输出语音的装置,如手机,笔记本电脑,平板电脑,个人电脑等。
[0115] 图3描述了本发明一个实施例提供的用于解码语音频码流的解码器的结构,该解码器包括:
[0116] 判断单元301,用于判断当前帧是否为正常解码帧。
[0117] 正常解码帧是指当前帧的信息能够直接从当前帧码流中解码获得;冗余解码帧是指当前帧的信息不能够直接从当前帧码流中解码获得,但是可以从其他帧码流中获得当前帧的冗余码流信息。
[0118] 其中,在本发明的一个实施例中,在当前帧为正常解码帧时,只有在当前帧的前一帧为冗余解码帧时,才会执行本发明实施例提供的方法,其中当前帧的前一帧与当前帧是紧邻的两个帧。在本发明的另一个实施例中,在当前帧为正常解码帧时,只有在当前帧的前面的一定数量个帧中有冗余解码帧时,才会执行本发明实施例提供的方法,其中该一定数量可以根据需要进行设置,例如可以设置为2,3,4或10等。
[0119] 解析单元302,用于在判断单元301判断当前帧为正常解码帧或冗余解码帧时,解析获得当前帧的解码参数。
[0120] 当前帧的解码参数可以包括频谱对参数,自适应码书增益(gain_pit),代数码书和频带扩展包络中的至少一个;其中,频谱对参数可以是线谱对(LSP:Linear Spectral Pairs)参数和导抗频谱对(ISP:Immittance Spectral Pairs)参数中的至少一个。可以理解的是,本发明实施例可以只对解码参数中的任意一个参数进行后处理,也可以对所有的解码参数进行后处理,具体选择几个参数,选择哪几个参数进行后处理可以根据应用的场景和环境进行选择,本发明实施例并不做限定。
[0121] 在当前帧为正常解码帧时,可以从当前帧码流中直接解码获得当前帧的信息,从而获得当前帧的解码参数。在当前帧为冗余解码帧时,可以根据其他帧码流中当前帧的冗余码流信息解析获得当前帧的解码参数。
[0122] 后处理单元303,用于对解析单元302获得的当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数。
[0123] 对于不同的解码参数可能进行不同的后处理,例如,对频谱对参数进行的后处理可以是使用当前帧的频谱对参数和当前帧的前一帧频谱对参数做自适应的加权获得当前帧的后处理的频谱对参数。对自适应码书增益的后处理可以是对自适应码书增益进行调整,如衰减等。
[0124] 本发明实施例不对具体的后处理进行限定,具体进行何种后处理可以根据需要或者根据应用的环境和场景进行设定。
[0125] 恢复单元304,用于使用后处理单元303获得的当前帧的后处理的解码参数恢复语音频信号。
[0126] 从上可知,本实施例中解码端在解析获得了当前帧的解码参数后,可以对当前帧的解码参数进行后处理,并使用当前帧的后处理的解码参数恢复出语音频信号,使得解码的信号在冗余解码帧和正常解码帧之间过渡时,能够得到稳定的质量,从而提高输出的语音频信号的质量。
[0127] 在本发明的另一个实施例中,解码参数包括频谱对参数,则后处理单元303,具体可以用于在当前帧的解码参数包括当前帧的频谱对参数时,使用当前帧的频谱对参数和当前帧的前一帧频谱对参数获得当前帧的后处理的频谱对参数,具体地,可以使用当前帧的频谱对参数和当前帧的前一帧频谱对参数自适应加权获得当前帧的后处理的频谱对参数。具体地,在本发明的一个实施例中,后处理单元303,可以使用如下公式计算获得当前帧的后处理的频谱对参数:
[0128] lsp[k]=α*lsp_old[k]+δ*lsp_new[k]  0≤k≤M
[0129] lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重。其中,α≥0,δ≥0。
[0130] 在本发明的一个实施例中,后处理单元303,可以使用如下公式计算获得当前帧的后处理的频谱对参数:
[0131] lsp[k]=α*st->lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]  0≤k≤M;
[0132] 其中,lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对的阶数,α为前一帧的频谱对参数的权重,β为当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重。其中,α≥0,β≥0,δ≥0。
[0133] 根据不同的应用环境和场景,上述公式中的α,β和δ的取值会有不同。例如,在当前帧的信号类型为清音,当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值(α_TRESH),α_TRESH的取值可以接近于0。在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,β的取值为0或小于预设的门限值(β_TRESH),β_TRESH的取值可以接近于0。在当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,δ的取值为0或小于预设的门限值(δ_TRESH),δ_TRESH的取值可以接近于0。
[0134] 其中,谱倾斜因子可以为正值或负值,并且一个帧的谱倾斜因子越小,则说明这个帧的信号类型越倾向于清音。
[0135] 其中,当前帧的信号类型可以是清音(UNVOICED),浊音(VOICED)、普通语音(GENERIC),过渡语音(TRANSITION)或静默音(INACTIVE)等。
[0136] 其中,谱倾斜因子可以为正值或负值,并且一个帧的谱倾斜因子越小,则说明这个帧的信号类型越倾向于清音。
[0137] 因此,谱倾斜因子门限值的取值可以根据引用的环境和场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0138] 在本发明的另一个实施例中,后处理单元303,具体用于在当前帧的解码参数包括当前帧的自适应码书增益,在当前帧为冗余解码帧时,如果当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍时,衰减当前帧的当前子帧的自适应码书增益。
[0139] 其中,在对当前帧的当前子帧的自适应码书增益进行衰减时的衰减因子可以根据应用的环境和场景的不同设置不同的值。
[0140] 其中,第一数量的取值可以根据根据具体的使用环境和场景进行设置,其取值可以是整数也可以是非整数。例如,第一数量的取值可以为2,2.5,3,3.4或4等。
[0141] 在本发明的另一个实施例中,后处理单元303,具体用于在当前帧的解码参数包括当前帧的自适应码书增益,当前帧或当前帧的前一帧为冗余解码帧,当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者当前帧的前一帧的信号类型为普通语音且当前帧的信号类型为浊音,并且当前帧中一个子帧的代数码书与该一个子帧的前一子帧的代数码书相差第二数量倍或当前帧中一个子帧的代数码书与当前帧的前一帧的代数码书相差第二数量倍时,通过当前帧的当前子帧的代数码书与当前帧的当前子帧的相邻子帧的代数码书的比值,当前帧的当前子帧的自适应码书增益与当前帧的当前子帧的相邻子帧的自适应码书码书的比值中,以及当前帧的当前子帧的代数码书与当前帧的前一帧的代数码书的比值中的至少一个,调整当前帧的当前子帧的自适应码书增益。
[0142] 其中,第二数量的取值可以根据根据具体的使用环境和场景进行设置,其取值可以是整数也可以是非整数。例如,第二数量的取值可以为2,2.6,3,3.5或4等。
[0143] 在本发明的另一个实施例中,后处理单元303,具体用于在当前帧的解码参数包括当前帧的代数码书,当前帧为冗余解码帧,当前帧的下一帧的信号类型为清音,当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,且当前帧的至少一个子帧的代数码书为0时,将随机噪声或所述当前帧的当前子帧的前一子帧的非零代数码书作为当前帧的全为0的子帧的代数码书。其中,谱倾斜因子门限值可以根据应用的环境或场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0144] 在本发明的另一个实施例中,后处理单元303,具体用于在当前帧为冗余解码帧,解码参数包括频带扩展包络,当前帧不是清音帧,当前帧的下一帧是清音帧,且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,根据当前帧的前一帧的频带扩展包络和谱倾斜因子中的至少一个,对当前帧的频带扩展包络进行修正。其中,对当前帧的频带扩展包络进行修正时的修正因子与当前帧的前一帧的谱倾斜因子成反比,与当前帧的前一帧的频带扩展包络与当前帧的频带扩展包络的比值成正比。其中,谱倾斜因子门限值可以根据应用的环境或场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0145] 在本发明的另一个实施例中,后处理单元303,具体用于在当前帧为冗余解码帧,解码参数包括频带扩展包络,当前帧的前一帧为正常解码帧,且当前帧的信号类型与当前帧的前一帧的信号类型相同或当前帧为冗余解码的预测模式时,使用当前帧的前一帧的频带扩展包络对当前帧的频带扩展包络进行调整。
[0146] 从上可知,本发明的一个实施例在清音帧和非清音帧之间过渡(当前帧为清音帧并且为冗余解码帧时,当前帧的前一帧或后一帧为非清音帧并且为正常解码帧,或当前帧为非清音帧且为正常解码帧,当前帧的前一帧或后一帧为清音帧并且为冗余解码帧)时,能够对当前帧的解码参数进行后处理,从而能够去掉清音帧和非清音帧帧间过渡时的click现象,从而提高输出的语音频信号的质量。本发明的另一个实施例在普通语音帧与浊音帧之间过渡(当前帧为普通语音帧并且为冗余解码帧时,当前帧的前一帧或后一帧为浊音帧并且为正常解码帧,或当前帧为浊音帧且为正常解码帧,当前帧的前一帧或后一帧为普通语音帧并且为冗余解码帧)时,能够对当前帧的解码参数进行后处理,从而能够纠正普通语音帧和浊音帧之间过渡时的能量不稳定现象,从而提高输出的语音频信号的质量。本发明的另一个实施例中,能够在当前帧为冗余解码帧,当前帧不是清音帧,且当前帧的下一帧是清音帧时,对当前帧的频带扩展包络进行调整,从而修正时域频带扩展的能量不稳定现象,提高输出的语音频信号的质量。
[0147] 图4描述了本发明另一个实施例提供的用于解码语音频码流的解码器的结构,该解码器包括:至少一个总线401、与总线401相连的至少一个处理器402以及与总线401相连的至少一个存储器403。
[0148] 其中,处理器402通过总线401,调用存储器403中存储的代码以用于判断当前帧是否为正常解码帧或冗余解码帧;如果当前帧为正常解码帧或冗余解码帧,解析获得当前帧的解码参数;对当前帧的解码参数进行后处理,获得当前帧的后处理的解码参数;使用当前帧的后处理的解码参数恢复语音频信号。
[0149] 从上可知,本实施例中解码端在解析获得了当前帧的解码参数后,可以对当前帧的解码参数进行后处理,并使用当前帧的后处理的解码参数恢复出语音频信号,使得解码的信号在冗余解码帧和正常解码帧之间过渡时,能够得到稳定的质量,从而提高输出的语音频信号的质量。
[0150] 在本发明的一个实施例中,当前帧的解码参数包括了当前帧的频谱对参数,则处理器402通过总线401,调用存储器403中存储的代码以用于使用当前帧的频谱对参数和当前帧的前一帧频谱对参数获得当前帧的后处理的频谱对参数,具体地,可以使用当前帧的频谱对参数和当前帧的前一帧频谱对参数自适应加权获得当前帧的后处理的频谱对参数。具体地,在本发明的一个实施例中,可以使用如下公式计算获得当前帧的后处理的频谱对参数:
[0151] lsp[k]=α*lsp_old[k]+δ*lsp_new[k]  0≤k≤M
[0152] lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_new[k]为当前帧的频谱对参数,M为频谱对参数的阶数,α为前一帧的频谱对参数的权重和δ为当前帧的频谱对参数的权重。其中,α≥0,δ≥0。
[0153] 在本发明的另一个实施例中,可以使用如下公式计算获得当前帧的后处理的频谱对参数:
[0154] lsp[k]=α*lsp_old[k]+β*lsp_mid[k]+δ*lsp_new[k]  0≤k≤M;
[0155] 其中,lsp[k]为当前帧的后处理的频谱对参数,lsp_old[k]为前一帧的频谱对参数,lsp_mid[k]为当前帧的频谱对参数的中间值,lsp_new[k]为当前帧的频谱对参数,M为频谱对的阶数,α为前一帧的频谱对参数的权重,β当前帧的频谱对参数的中间值的权重和δ为当前帧的频谱对参数的权重。其中,α≥0,β≥0,δ≥0。
[0156] 根据不同的应用环境和场景,上述公式中的α,β和δ的取值会有不同。例如,在当前帧的信号类型为清音,当前帧的前一帧为冗余解码帧,且所述当前帧的前一帧的信号类型不为清音时,α的取值为0或小于预设的门限值(α_TRESH),α_TRESH的取值可以接近于0。在所述当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,β的取值为0或小于预设的门限值(β_TRESH),β_TRESH的取值可以接近于0。在当前帧为冗余解码帧,且当前帧的信号类型不为清音时,如果当前帧的后一帧的信号类型为清音,或者当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,或者当前帧的后一帧的信号类型为清音且当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,δ的取值为0或小于预设的门限值(δ_TRESH),δ_TRESH的取值可以接近于0。
[0157] 其中,谱倾斜因子可以为正值或负值,并且一个帧的谱倾斜因子越小,则说明这个帧的信号类型越倾向于清音。
[0158] 其中,当前帧的信号类型可以是清音(UNVOICED),浊音(VOICED)、普通语音(GENERIC),过渡语音(TRANSITION)或静默音(INACTIVE)等。
[0159] 其中,谱倾斜因子可以为正值或负值,并且一个帧的谱倾斜因子越小,则说明这个帧的信号类型越倾向于清音。
[0160] 因此,谱倾斜因子门限值的取值可以根据引用的环境和场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0161] 在本发明的另一个实施例中,当前帧的解码参数可以包括当前帧的自适应码书增益,在当前帧为冗余解码帧时,如果当前帧的下一帧是清音帧,或者当前帧的下一帧的下一帧为清音帧且当前帧的当前子帧的代数码书是当前子帧的前一子帧的代数码书或当前帧的前一帧的代数码书的第一数量倍时,处理器402通过总线401,调用存储器403中存储的代码以用于衰减当前帧的当前子帧的自适应码书增益。在当前帧或当前帧的前一帧为冗余解码帧时,如果当前帧的信号类型为普通语音且当前帧的下一帧的信号类型为浊音或者当前帧的前一帧的信号类型为普通语音且当前帧的信号类型为浊音,并且当前帧中一个子帧的代数码书与该一个子帧的前一子帧的代数码书相差第二数量倍或当前帧中一个子帧的代数码书与当前帧的前一帧的代数码书相差第二数量倍时,对当前帧的解码参数进行后处理可以包括:通过当前帧的当前子帧的代数码书与当前帧的当前子帧的相邻子帧的代数码书的比值,当前帧的当前子帧的自适应码书增益与当前帧的当前子帧的相邻子帧的自适应码书码书的比值中,以及当前帧的当前子帧的代数码书与当前帧的前一帧的代数码书的比值中的至少一个,调整当前帧的当前子帧的自适应码书增益。
[0162] 其中,第一数量和第二数量的取值可以根据根据具体的使用环境和场景进行设置,其取值可以是整数也可以是非整数;其中,第一数量和第二数量的取值可以相同也可以不相同。例如,第一数量的取值可以为2,2.5,3,3.4或4等,第二数量的取值可以为2,2.6,3,3.5或4等。
[0163] 其中,在对当前帧的当前子帧的自适应码书增益进行衰减时的衰减因子可以根据应用的环境和场景的不同设置不同的值。
[0164] 在本发明的另一个实施例中,当前帧的解码参数包括了当前帧的代数码书;在当前帧为冗余解码帧时,如果当前帧的下一帧的信号类型为清音,当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值,且当前帧的至少一个子帧的代数码书为0时,处理器402通过总线401,调用存储器403中存储的代码以用于将随机噪声或当前帧的当前子帧的前一子帧的非零代数码书作为当前帧的全为0的子帧的代数码书。其中,谱倾斜因子门限值可以根据应用的环境或场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,
0.1,0.161或0.159等。
[0165] 在本发明的另一个实施例中,当前帧的解码参数包括了当前帧的频带扩展包络;在当前帧为冗余解码帧,当前帧不是清音帧,且当前帧的下一帧是清音帧时,当前帧的前一帧的谱倾斜因子小于预设的谱倾斜因子门限值时,则处理器402通过总线401,调用存储器
403中存储的代码以用于根据当前帧的前一帧的频带扩展包络和谱倾斜因子中的至少一个,对当前帧的频带扩展包络进行修正。其中,对当前帧的频带扩展包络进行修正时的修正因子与当前帧的前一帧的谱倾斜因子成反比,与当前帧的前一帧的频带扩展包络与当前帧的频带扩展包络的比值成正比。其中,谱倾斜因子门限值可以根据应用的环境或场景的不同而设置不同的值,例如可以设置为0.16,0.15,0.165,0.1,0.161或0.159等。
[0166] 在本发明的另一个实施例中,当前帧的解码参数包括了当前帧的频带扩展包络;如果前帧为冗余解码帧,当前帧的前一帧为正常解码帧,当前帧的信号类型与当前帧的前一帧的信号类型相同或当前帧为冗余解码的预测模式,则处理器402通过总线401,调用存储器403中存储的代码以用于使用当前帧的前一帧的频带扩展包络对当前帧的频带扩展包络进行调整。
[0167] 从上可知,本发明的一个实施例在清音帧和非清音帧之间过渡(当前帧为清音帧并且为冗余解码帧时,当前帧的前一帧或后一帧为非清音帧并且为正常解码帧,或当前帧为非清音帧且为正常解码帧,当前帧的前一帧或后一帧为清音帧并且为冗余解码帧)时,能够对当前帧的解码参数进行后处理,从而能够去掉清音帧和非清音帧帧间过渡时的click现象,从而提高输出的语音频信号的质量。本发明的另一个实施例在普通语音帧与浊音帧之间过渡(当前帧为普通语音帧并且为冗余解码帧时,当前帧的前一帧或后一帧为浊音帧并且为正常解码帧,或当前帧为浊音帧且为正常解码帧,当前帧的前一帧或后一帧为普通语音帧并且为冗余解码帧)时,能够对当前帧的解码参数进行后处理,从而能够纠正普通语音帧和浊音帧之间过渡时的能量不稳定现象,从而提高输出的语音频信号的质量。本发明的另一个实施例中,能够在当前帧为冗余解码帧,当前帧不是清音帧,且当前帧的下一帧是清音帧时,对当前帧的频带扩展包络进行调整,从而修正时域频带扩展的能量不稳定现象,提高输出的语音频信号的质量。
[0168] 本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的语音频码流的解码方法的部分或全部步骤。
[0169] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0170] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0171] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0172] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0173] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0174] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0175] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。