一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音频信号的编解码方法和编解码装置与流程

2021-07-16 17:01:00 来源:中国专利 TAG:编解码 信号 音频 装置 申请


1.本申请涉及音频信号编解码技术领域,并且更具体地,涉及一种音频信号的编解码方法和编解码装置。


背景技术:

2.随着生活质量的提高,人们对高质量音频的需求不断增大。为了利用有限的带宽更好地传输音频信号,通常需要先对音频信号进行编码,然后将编码处理后的码流传输到解码端。解码端对接收到的码流进行解码处理,得到解码后的音频信号,解码后的音频信号用于回放。
3.音频信号的编码技术有很多种。其中,频域编解码技术就是一种常见的音频编解码技术。频域编解码技术中,利用音频信号中的短时相关性和长时相关性进行压缩编解码。
4.因此,如何提高对音频信号进行频域编解码时的编解码效率,成为一个亟需解决的技术问题。


技术实现要素:

5.本申请提供一种音频信号的编解码方法和编解码装置,能够提高音频信号的编解码效率。
6.第一方面,提供了一种音频信号的编码方法,该方法包括:获取当前帧的目标频域系数及所述当前帧的参考目标频域系数;根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,其中,所述代价函数用于确定在对所述当前帧的目标频域系数进行编码时是否对所述当前帧进行长时预测ltp处理;根据所述代价函数,对所述当前帧的目标频域系数进行编码。
7.在本申请实施例中,根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,根据所述代价函数,可以对适合进行ltp处理的信号进行ltp处理(对不适合进行ltp处理的信号不进行ltp处理),可以有效地利用信号的长时相关性降低信号中冗余信息,从而可以提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
8.可选地,所述当前帧的目标频域系数及所述参考目标频域系数可以是根据滤波参数处理后得到的,所述滤波参数可以是通过对所述当前帧的频域系数进行滤波处理后得到的,所述当前帧的频域系数可以是通过将所述当前帧的时域信号进行时频变换后得到的,所述时频变换可以是mdct,dct,fft等变换方式。
9.其中,所述参考目标频域系数可以是指所述当前帧的参考信号的目标频域系数。
10.可选地,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
11.结合第一方面,在第一方面的某些实现方式中,所述代价函数包括所述当前帧的高带的代价函数、所述当前帧的低频带的代价函数或所述当前帧的全频带的代价函数中的
至少一项,所述高频带为所述当前帧的全频带中大于截止频点的频带,所述低频带为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点用于划分所述低频带和所述高频带。
12.在本申请实施例中,根据所述代价函数,可以对所述当前帧中适合进行ltp处理的频带(即低频带、高频带或全频带中的一项)进行ltp处理(对不适合进行ltp处理的频带不进行ltp处理),可以更有效地利用信号的长时相关性降低信号中冗余信息,从而可以进一步提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
13.结合第一方面,在第一方面的某些实现方式中,所述代价函数为所述当前帧的当前频带的预测增益,或者,所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值;其中,所述估计残差频域系数为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值,所述预测频域系数是根据所述当前帧的当前频带的参考频域系数与所述预测增益获得的,所述当前频带为所述低频带、高频带或全频带。
14.结合第一方面,在第一方面的某些实现方式中,所述根据所述代价函数,对所述当前帧的目标频域系数进行编码,包括:根据所述代价函数,确定第一标识和/或第二标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,所述第二标识用于指示所述当前帧中进行ltp处理的频带;根据所述第一标识和/或所述第二标识,对所述当前帧的目标频域系数进行编码。
15.结合第一方面,在第一方面的某些实现方式中,所述根据所述代价函数,确定第一标识和/或第二标识,包括:当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,确定所述第一标识为第一值,所述第二标识为第四值;其中,所述第一值用于指示对所述当前帧进行ltp处理,所述第四值用于指示对所述低频带进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,确定所述第一标识为第一值,所述第二标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理,所述第一值用于指示对所述当前帧进行ltp处理;或当所述低频带的代价函数不满足所述第一条件时,确定所述第一标识为第二值,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述全频带的代价函数满足所述第三条件时,确定所述第一标识为第一值,所述第二标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理。
16.结合第一方面,在第一方面的某些实现方式中,所述根据所述第一标识和/或所述第二标识,对所述当前帧的目标频域系数进行编码,包括:当所述第一标识为第一值时,根据所述第二标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数;对所述当前帧的残差频域系数进行编码;将所述第一标识及所述第二标识的值写入码流;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行编码;将所述第一标识的值写入码流。
17.结合第一方面,在第一方面的某些实现方式中,所述根据所述代价函数,对所述当前帧的目标频域系数进行编码,包括:根据所述代价函数,确定第一标识,所述第一标识用
于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带;根据所述第一标识,对所述当前帧的目标频域系数进行编码。
18.结合第一方面,在第一方面的某些实现方式中,所述根据所述代价函数,确定第一标识,包括:当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,确定所述第一标识为第一值;其中,所述第一值用于指示对所述低频带进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,确定所述第一标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理;或当所述低频带的代价函数不满足所述第一条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述全频带的代价函数满足所述第三条件时,确定所述第一标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理。
19.结合第一方面,在第一方面的某些实现方式中,所述根据所述第一标识,对所述当前帧的目标频域系数进行编码,包括:根据所述第一标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数;对所述当前帧的残差频域系数进行编码;将所述第一标识的值写入码流;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行编码;将所述第一标识的值写入码流。
20.结合第一方面,在第一方面的某些实现方式中,所述第一条件为所述低频带的代价函数大于或等于第一阈值,所述第二条件为所述高频带的代价函数大于或等于第二阈值,所述第三条件为所述全频带的代价函数大于或等于所述第三阈值;或者,所述第一条件为所述低频带的代价函数小于第四阈值,所述第二条件为所述高频带的代价函数小于所述第四阈值,所述第三条件为所述全频带的代价函数大于或等于第五阈值。
21.结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述参考信号的频谱系数,确定所述截止频点。
22.在本申请实施例中,根据所述参考信号的频谱系数,确定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
23.结合第一方面,在第一方面的某些实现方式中,所述根据所述参考信号的频谱系数,确定所述截止频点,包括:根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
24.结合第一方面,在第一方面的某些实现方式中,所述截止频点为预设值。
25.在本申请实施例中,根据经验或结合实际情况预先设定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
26.第二方面,提供了一种音频信号的解码方法,该方法包括:解析码流得到当前帧的解码频域系数;解析码流得到第一标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带;根据所述第一标识,对所述当前帧的解码频域系数进行处理,得到所述
当前帧的频域系数。
27.在本申请实施例中,通过对适合进行ltp处理的信号进行ltp处理(对不适合进行ltp处理的信号不进行ltp处理),可以有效地降低信号中冗余信息,从而可以提高编解码的压缩效率,因此,能够提高音频信号的编解码效率。
28.可选地,所述当前帧的解码频域系数可以为所述当前帧的残差频域系数或所述当前帧的解码频域系数为所述当前帧的目标频域系数。
29.可选地,还可以解析码流得到滤波参数。
30.其中,所述滤波参数可以用于对所述当前帧的频域系数进行滤波处理,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
31.结合第二方面,在第二方面的某些实现方式中,所述当前帧中进行ltp处理的频带包括高频带、低频带或全频带,所述高频带为所述当前帧的全频带中大于截止频点的频带,所述低频带为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点用于划分所述低频带和所述高频带。
32.在本申请实施例中,根据所述代价函数,可以对所述当前帧中适合进行ltp处理的频带(即低频带、高频带或全频带中的一项)进行ltp处理(对不适合进行ltp处理的频带不进行ltp处理),可以更有效地利用信号的长时相关性降低信号中冗余信息,从而可以进一步提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
33.结合第二方面,在第二方面的某些实现方式中,当所述第一标识为第一值时,所述当前帧的解码频域系数为所述当前帧的残差频域系数;当所述第一标识为第二值时,所述当前帧的解码频域系数为所述当前帧的目标频域系数。
34.结合第二方面,在第二方面的某些实现方式中,所述解析码流得到第一标识,包括:解析码流得到第一标识;当所述第一标识为第一值时,解析码流得到第二标识,所述第二标识用于指示所述当前帧中进行ltp处理的频带。
35.结合第二方面,在第二方面的某些实现方式中,所述根据所述第一标识,对所述当前帧的解码频域系数进行处理,得到所述当前帧的频域系数,包括:当所述第一标识为第一值,且所述第二标识为第四值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述当前帧进行ltp处理,所述第四值用于指示对所述低频带进行ltp处理;根据所述低频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第一值,且所述第二标识为第三值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述当前帧进行ltp处理,所述第三值用于指示对所述全频带进行ltp处理;根据所述全频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数,所述第二值用于指示不对所述当前帧进行ltp处理。
36.结合第二方面,在第二方面的某些实现方式中,所述根据所述第一标识,对所述当
前帧的目标频域系数进行处理,得到所述当前帧的频域系数,包括:当所述第一标识为第一值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述低频带进行ltp处理;根据所述低频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第三值时,获得所述当前帧的参考目标频域系数,所述第三值用于指示对所述全频带进行ltp处理;根据所述全频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数,所述第二值用于指示不对所述当前帧进行ltp处理。
37.结合第二方面,在第二方面的某些实现方式中,所述获得所述当前帧的参考目标频域系数,包括:解析码流得到所述当前帧的基音周期;根据所述当前帧的基音周期,确定所述当前帧的参考频域系数;对所述参考频域系数进行处理,得到所述参考目标频域系数。
38.结合第二方面,在第二方面的某些实现方式中,所述方法还包括:根据所述参考信号的频谱系数,确定所述截止频点。
39.在本申请实施例中,根据所述参考信号的频谱系数,确定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
40.结合第二方面,在第二方面的某些实现方式中,所述根据所述参考信号的频谱系数,确定所述截止频点,包括:根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
41.结合第二方面,在第二方面的某些实现方式中,所述截止频点为预设值。
42.在本申请实施例中,根据经验或结合实际情况预先设定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
43.第三方面,提供了一种音频信号的编码装置,包括:获取模块,用于获取当前帧的目标频域系数及所述当前帧的参考目标频域系数;处理模块,用于根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,其中,所述代价函数用于确定在对所述当前帧的目标频域系数进行编码时是否对所述当前帧进行长时预测ltp处理;编码模块,用于根据所述代价函数,对所述当前帧的目标频域系数进行编码。
44.在本申请实施例中,根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,根据所述代价函数,可以对适合进行ltp处理的信号进行ltp处理(对不适合进行ltp处理的信号不进行ltp处理),从而可以提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
45.可选地,所述当前帧的目标频域系数及所述参考目标频域系数可以是根据滤波参数处理后得到的,所述滤波参数可以是通过对所述当前帧的频域系数进行滤波处理后得到的,所述当前帧的频域系数可以是通过将所述当前帧的时域信号进行时频变换后得到的,所述时频变换可以是mdct,dct,fft等变换方式。
46.其中,所述参考目标频域系数可以是指所述当前帧的参考信号的目标频域系数。
47.可选地,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
48.结合第三方面,在第三方面的某些实现方式中,所述代价函数包括所述当前帧的高频带的代价函数、所述当前帧的低频带的代价函数或所述当前帧的全频带的代价函数中的至少一项,所述高频带为所述当前帧的全频带中大于截止频点的频带,所述低频带为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点用于划分所述低频带和所述高频带。
49.在本申请实施例中,根据所述代价函数,可以对所述当前帧中适合进行ltp处理的频带(即低频带、高频带或全频带中的一项)进行ltp处理(对不适合进行ltp处理的频带不进行ltp处理),从而可以提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
50.结合第三方面,在第三方面的某些实现方式中,所述代价函数为所述当前帧的当前频带的预测增益,或者,所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值;其中,所述估计残差频域系数为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值,所述预测频域系数是根据所述当前帧的当前频带的参考频域系数与所述预测增益获得的,所述当前频带为所述低频带、高频带或全频带。
51.结合第三方面,在第三方面的某些实现方式中,所述编码模块具体用于:根据所述代价函数,确定第一标识和/或第二标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,所述第二标识用于指示所述当前帧中进行ltp处理的频带;根据所述第一标识和/或所述第二标识,对所述当前帧的目标频域系数进行编码。
52.结合第三方面,在第三方面的某些实现方式中,所述编码模块具体用于:当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,确定所述第一标识为第一值,所述第二标识为第四值;其中,所述第一值用于指示对所述当前帧进行ltp处理,所述第四值用于指示对所述低频带进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,确定所述第一标识为第一值,所述第二标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理,所述第一值用于指示对所述当前帧进行ltp处理;或当所述低频带的代价函数不满足所述第一条件时,确定所述第一标识为第二值,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述全频带的代价函数满足所述第三条件时,确定所述第一标识为第一值,所述第二标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理。
53.结合第三方面,在第三方面的某些实现方式中,所述编码模块具体用于:当所述第一标识为第一值时,根据所述第二标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数;对所述当前帧的残差频域系数进行编码;将所述第一标识及所述第二标识的值写入码流;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行编码;将所述第一标识的值写入码流。
54.结合第三方面,在第三方面的某些实现方式中,所述编码模块具体用于:根据所述代价函数,确定第一标识,所述第一标识用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带;根据所述第一标识,对所述当前帧的目标频域系数进行编码。
55.结合第三方面,在第三方面的某些实现方式中,所述编码模块具体用于:当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,确定所述第一标识为第一值;其中,所述第一值用于指示对所述低频带进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,确定所述第一标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理;或当所述低频带的代价函数不满足所述第一条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或当所述全频带的代价函数满足所述第三条件时,确定所述第一标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理。
56.结合第三方面,在第三方面的某些实现方式中,所述编码模块具体用于:根据所述第一标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数;对所述当前帧的残差频域系数进行编码;将所述第一标识的值写入码流;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行编码;将所述第一标识的值写入码流。
57.结合第三方面,在第三方面的某些实现方式中,所述第一条件为所述低频带的代价函数大于或等于第一阈值,所述第二条件为所述高频带的代价函数大于或等于第二阈值,所述第三条件为所述全频带的代价函数大于或等于所述第三阈值;或者,所述第一条件为所述低频带的代价函数小于第四阈值,所述第二条件为所述高频带的代价函数小于所述第四阈值,所述第三条件为所述全频带的代价函数大于或等于第五阈值。
58.结合第三方面,在第三方面的某些实现方式中,所述处理模块还用于:根据所述参考信号的频谱系数,确定所述截止频点。
59.在本申请实施例中,根据所述参考信号的频谱系数,确定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
60.结合第三方面,在第三方面的某些实现方式中,所述处理模块具体用于:根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
61.结合第三方面,在第三方面的某些实现方式中,所述截止频点为预设值。
62.在本申请实施例中,根据经验或结合实际情况预先设定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
63.第四方面,提供了一种音频信号的解码装置,包括:解码模块,用于解析码流得到当前帧的解码频域系数;所述解码模块,还用于解析码流得到第一标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识用于指示是否对所述当前帧进行
ltp处理、和/或所述当前帧中进行ltp处理的频带;处理模块,用于根据所述第一标识,对所述当前帧的解码频域系数进行处理,得到所述当前帧的频域系数。
64.在本申请实施例中,通过对适合进行ltp处理的信号进行ltp处理(对不适合进行ltp处理的信号不进行ltp处理),可以有效地降低信号中冗余信息,从而可以提高编解码的压缩效率,因此,能够提高音频信号的编解码效率。
65.可选地,所述当前帧的解码频域系数可以为所述当前帧的残差频域系数或所述当前帧的解码频域系数为所述当前帧的目标频域系数。
66.可选地,还可以解析码流得到滤波参数。
67.其中,所述滤波参数可以用于对所述当前帧的频域系数进行滤波处理,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
68.结合第四方面,在第四方面的某些实现方式中,所述当前帧中进行ltp处理的频带包括高频带、低频带或全频带,所述高频带为所述当前帧的全频带中大于截止频点的频带,所述低频带为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点用于划分所述低频带和所述高频带。
69.在本申请实施例中,根据所述代价函数,可以对所述当前帧中适合进行ltp处理的频带(即低频带、高频带或全频带中的一项)进行ltp处理(对不适合进行ltp处理的频带不进行ltp处理),可以更有效地利用信号的长时相关性降低信号中冗余信息,从而可以进一步提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
70.结合第四方面,在第四方面的某些实现方式中,当所述第一标识为第一值时,所述当前帧的解码频域系数为所述当前帧的残差频域系数;当所述第一标识为第二值时,所述当前帧的解码频域系数为所述当前帧的目标频域系数。
71.结合第四方面,在第四方面的某些实现方式中,所述解码模块具体用于:解析码流得到第一标识;当所述第一标识为第一值时,解析码流得到第二标识,所述第二标识用于指示所述当前帧中进行ltp处理的频带。
72.结合第四方面,在第四方面的某些实现方式中,所述处理模块具体用于:当所述第一标识为第一值,且所述第二标识为第四值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述当前帧进行ltp处理,所述第四值用于指示对所述低频带进行ltp处理;根据所述低频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第一值,且所述第二标识为第三值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述当前帧进行ltp处理,所述第三值用于指示对所述全频带进行ltp处理;根据所述全频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数,所述第二值用于指示不对所述当前帧进行ltp处理。
73.结合第四方面,在第四方面的某些实现方式中,所述处理模块具体用于:当所述第
一标识为第一值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述低频带进行ltp处理;根据所述低频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第三值时,获得所述当前帧的参考目标频域系数,所述第三值用于指示对所述全频带进行ltp处理;根据所述全频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数,所述第二值用于指示不对所述当前帧进行ltp处理。
74.结合第四方面,在第四方面的某些实现方式中,所述处理模块具体用于:解析码流得到所述当前帧的基音周期;根据所述当前帧的基音周期,确定所述当前帧的参考频域系数;对所述参考频域系数进行处理,得到所述参考目标频域系数。
75.结合第四方面,在第四方面的某些实现方式中,所述处理模块还用于:根据所述参考信号的频谱系数,确定所述截止频点。
76.在本申请实施例中,根据所述参考信号的频谱系数,确定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
77.结合第四方面,在第四方面的某些实现方式中,所述处理模块具体用于:根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
78.结合第四方面,在第四方面的某些实现方式中,所述截止频点为预设值。
79.在本申请实施例中,根据经验或结合实际情况预先设定所述截止频点,可以更准确地确定出适合进行ltp处理的频带,可以提高ltp处理的效率,从而可以进一步地提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
80.第五方面,提供一种编码装置,所述编码装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者其各种实现方式中的方法。
81.第六方面,提供一种编码装置,所述编码装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第二方面或者其各种实现方式中的方法。
82.第七方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或其各种实现方式中的方法的指令。
83.第八方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第二方面或其各种实现方式中的方法的指令。
84.第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一方面或第二方面中的任意一种方法的部分或全部步骤的指令。
85.第十方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面或第二方面中的任意一种方法的部分或全部步骤。
86.在本申请实施例中,根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,根据所述代价函数,可以对适合进行ltp处理的信号进行ltp处理(对不适合进行ltp处理的信号不进行ltp处理),可以有效地利用信号的长时相关性降低信号中冗余信息,从而可以提高音频信号编解码的压缩性能,因此,能够提高音频信号的编解码效率。
附图说明
87.图1是一种音频信号的编解码系统的结构示意图;
88.图2是一种音频信号的编码方法的示意性流程图;
89.图3是一种音频信号的解码方法的示意性流程图;
90.图4是本申请实施例的移动终端的示意图;
91.图5是本申请实施例的网元的示意图;
92.图6是本申请一个实施例的音频信号的编码方法的示意性流程图;
93.图7是本申请另一个实施例的音频信号的编码方法的示意性流程图;
94.图8是本申请一个实施例的音频信号的解码方法的示意性流程图;
95.图9是本申请另一个实施例的音频信号的解码方法的示意性流程图;
96.图10是本申请实施例的编码装置的示意性框图;
97.图11是本申请实施例的解码装置的示意性框图;
98.图12是本申请实施例的编码装置的示意性框图;
99.图13是本申请实施例的解码装置的示意性框图;
100.图14是本申请实施例的终端设备的示意图;
101.图15是本申请实施例的网络设备的示意图;
102.图16是本申请实施例的网络设备的示意图;
103.图17是本申请实施例的终端设备的示意图;
104.图18是本申请实施例的网络设备的示意图;
105.图19是本申请实施例的网络设备的示意图。
具体实施方式
106.下面将结合附图,对本申请中的技术方案进行描述。
107.本申请实施例中的音频信号可以为单声道音频信号,或者,也可以为立体声信号。其中,立体声信号可以是原始的立体声信号,也可以是多声道信号中包括的两路信号(左声道信号和右声道信号)组成的立体声信号,还可以是由多声道信号中包含的至少三路信号产生的两路信号组成的立体声信号,本申请实施例中对此并不限定。
108.为了便于描述,本申请实施例仅以(包括左声道信号和右声道信号的)立体声信号为例进行说明。本领域技术人员可以理解,下述实施例仅为示例而非限定,本申请实施例中的方案同样适用于单声道音频信号及其他立体声信号,本申请实施例中对此并不限定。
109.图1为本申请一个示例性实施例的音频编解码系统的结构示意图。该音频编解码
系统包括编码组件110和解码组件120。
110.编码组件110用于对当前帧(音频信号)在频域上进行编码。可选地,编码组件110可以通过软件实现;或者,也可以通过硬件实现;或者,还可以通过软硬件结合的形式实现,本申请实施例中对此不作限定。
111.编码组件110对当前帧在频域上进行编码时,在一种可能的实现方式中,可以包括如图2所示的步骤。
112.s210,将当前帧由时域信号转换为频域信号。
113.s220,对当前帧进行滤波处理,得到当前帧的频域系数。
114.s230,对当前帧进行长时预测(long term prediction,ltp)判决,得到ltp标识。
115.其中,当所述ltp标识为第一值(例如,所述ltp标识为1)时,可以执行s250;当所述ltp标识为第二值(例如,所述ltp标识为0)时,可以执行s240。
116.s240,对当前帧的频域系数进行编码,得到所述当前帧的编码参数。接下来,可以执行s280。
117.s250,对当前帧进行立体声编码,得到当前帧的频域系数。
118.s260,对当前帧的频域系数进行ltp处理,得到当前帧的残差频域系数。
119.s270,对当前帧的残差频域系数进行编码,得到当前帧的编码参数。
120.s280,将当前帧的编码参数及ltp标识写入码流。
121.需要说明的是,图2中所示的编码方法仅为示例而非限定,本申请实施例对图2中各步骤的执行顺序并不限定,图2中所示的编码方法也可以包括更多或更少的步骤,本申请实施例中对此并不限定。
122.例如,在图2所示的编码方法中,也可以先执行s250,对当前帧进行ltp处理,再执行s260,对当前帧进行立体声编码。
123.再例如,图2所示的编码方法也可以对单声道信号进行编码,此时,图2中所示的编码方法可以不执行s250,即不对单声道信号进行立体声编码。
124.解码组件120用于对编码组件110生成的编码码流进行解码,得到当前帧的音频信号。
125.可选地,编码组件110与解码组件120可以通过有线或无线的方式相连,解码组件120可以通过其与编码组件110之间的连接获取编码组件110生成的编码码流;或者,编码组件110可以将生成的编码码流存储至存储器,解码组件120读取存储器中的编码码流。
126.可选地,解码组件120可以通过软件实现;或者,也可以通过硬件实现;或者,还可以通过软硬件结合的形式实现,本申请实施例中对此不作限定。
127.解码组件120对当前帧(音频信号)在频域上进行解码时,在一种可能的实现方式中,可以包括如图3所示的步骤。
128.s310,解析码流,得到当前帧的编码参数及ltp标识。
129.s320,根据ltp标识进行ltp处理,确定是否对当前帧的编码参数进行ltp合成。
130.其中,当所述ltp标识为第一值(例如,所述ltp标识为1)时,则在s310中解析码流得到的是当前帧的残差频域系数,此时可以执行s340;当所述ltp标识为第二值(例如,所述ltp标识为0)时,则在s310中解析码流得到的是当前帧的目标频域系数,此时可以执行s330。
131.s330,对当前帧的目标频域系数进行逆滤波处理,得到当前帧的频域系数。接下来,可以执行s370。
132.s340,对当前帧的残差频域系数进行ltp合成,得到更新后的残差频域系数。
133.s350,对更新后的残差频域系数进行立体声解码,得到当前帧的目标频域系数。
134.s360,对当前帧的目标频域系数进行逆滤波处理,得到当前帧的频域系数。
135.s370,对当前帧的频域系数进行转换,获得时域合成信号。
136.需要说明的是,图3中所示的解码方法仅为示例而非限定,本申请实施例对图3中各步骤的执行顺序并不限定,图3中所示的解码方法也可以包括更多或更少的步骤,本申请实施例中对此并不限定。
137.例如,在图3所示的解码方法中,也可以先执行s350,对残差频域系数进行立体声解码,再执行s340,对残差频域系数进行ltp合成。
138.再例如,图3所示的解码方法也可以对单声道信号进行解码,此时,图3中所示的解码方法可以不执行s350,即不对单声道信号进行立体声解码。
139.可选地,编码组件110和解码组件120可以设置在同一设备中;或者,也可以设置在不同设备中。设备可以为手机、平板电脑、膝上型便携计算机和台式计算机、蓝牙音箱、录音笔、可穿戴式设备等具有音频信号处理功能的终端,也可以是核心网、无线网中具有音频信号处理能力的网元,本实施例对此不作限定。
140.示意性地,如图4所示,本实施例以编码组件110设置于移动终端130中、解码组件120设置于移动终端140中,移动终端130与移动终端140是相互独立的具有音频信号处理能力的电子设备,例如可以是手机,可穿戴设备,虚拟现实(virtual reality,vr)设备,或增强现实(augmented reality,ar)设备等等,且移动终端130与移动终端140之间通过无线或有线网络连接为例进行说明。
141.可选地,移动终端130可以包括采集组件131、编码组件110和信道编码组件132,其中,采集组件131与编码组件110相连,编码组件110与编码组件132相连。
142.可选地,移动终端140可以包括音频播放组件141、解码组件120和信道解码组件142,其中,音频播放组件141与解码组件120相连,解码组件120与信道解码组件142相连。
143.移动终端130通过采集组件131采集到音频信号后,通过编码组件110对该音频信号进行编码,得到编码码流;然后,通过信道编码组件132对编码码流进行编码,得到传输信号。
144.移动终端130通过无线或有线网络将该传输信号发送至移动终端140。
145.移动终端140接收到该传输信号后,通过信道解码组件142对传输信号进行解码得到码码流;通过解码组件110对编码码流进行解码得到音频信号;通过音频播放组件播放该音频信号。可以理解的是,移动终端130也可以包括移动终端140所包括的组件,移动终端140也可以包括移动终端130所包括的组件。
146.示意性地,如图5所示,以编码组件110和解码组件120设置于同一核心网或无线网中具有音频信号处理能力的网元150中为例进行说明。
147.可选地,网元150包括信道解码组件151、解码组件120、编码组件110和信道编码组件152。其中,信道解码组件151与解码组件120相连,解码组件120与编码组件110相连,编码组件110与信道编码组件152相连。
148.信道解码组件151接收到其它设备发送的传输信号后,对该传输信号进行解码得到第一编码码流;通过解码组件120对编码码流进行解码得到音频信号;通过编码组件110对该音频信号进行编码,得到第二编码码流;通过信道编码组件152对该第二编码码流进行编码得到传输信号。
149.其中,其它设备可以是具有音频信号处理能力的移动终端;或者,也可以是具有音频信号处理能力的其它网元,本实施例对此不作限定。
150.可选地,网元中的编码组件110和解码组件120可以对移动终端发送的编码码流进行转码。
151.可选地,本申请实施例中可以将安装有编码组件110的设备称为音频编码设备,在实际实现时,该音频编码设备也可以具有音频解码功能,本申请实施对此不作限定。
152.可选地,本申请实施例仅以立体声信号为例进行说明,在本申请中,音频编码设备还可以处理单声道信号或多声道信号,该多声道信号包括至少两路声道信号。
153.本申请提出了一种音频信号的编解码方法和编解码装置,对当前帧的频域系数进行滤波处理得到滤波参数,并使用所述滤波参数对所述当前帧的频域系数及所述参考频域系数进行滤波处理,可以减少写入码流的比特(bit),从而可以提高编解码的压缩效率,因此,能够提高音频信号的编解码效率。
154.图6是本申请实施例的音频信号的编码方法600的示意性流程图。该方法600可以由编码端执行,该编码端可以是编码器或者是具有编码音频信号功能的设备。该方法600具体包括:
155.s610,获取当前帧的目标频域系数及所述当前帧的参考目标频域系数。
156.可选地,所述当前帧的目标频域系数及所述参考目标频域系数可以是根据滤波参数处理后得到的,所述滤波参数可以是通过对所述当前帧的频域系数进行滤波处理后得到的,所述当前帧的频域系数可以是通过将所述当前帧的时域信号进行时频变换后得到的,所述时频变换可以是mdct,dct,fft等变换方式。
157.其中,所述参考目标频域系数可以是指所述当前帧的参考信号的目标频域系数。
158.可选地,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
159.s620,根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数。
160.其中,所述代价函数可以用于确定在对所述当前帧的目标频域系数进行编码时是否对所述当前帧进行长时预测(long term prediction,ltp)处理。
161.可选地,所述代价函数可以包括高频带的代价函数、低频带的代价函数或所述当前帧的全频带的代价函数中的至少两项。
162.其中,所述高频带可以为所述当前帧的全频带中大于截止频点的频带,所述低频带可以为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点可以用于划分所述低频带和所述高频带。
163.可选地,所述代价函数可以为所述当前帧的当前频带的预测增益。
164.例如,高频带的代价函数可以为所述高频带的预测增益,所述低频带的代价函数可以为所述低频带的预测增益,所述全频带的代价函数可以为所述全频带的预测增益。
165.或者,所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值。
166.其中,所述估计残差频域系数可以为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值,所述预测频域系数可以是根据所述当前帧的当前频带的参考频域系数与预测增益获得的,所述当前频带为所述低频带、高频带或全频带。
167.例如,所述预测频域系数可以是所述当前帧的当前频带的参考频域系数与所述预测增益的乘积。
168.例如,所述高频带的代价函数可以为所述高频带的残差频域系数的能量与所述高频带信号的能量的比值,所述低频带的代价函数可以为所述低频带的残差频域系数的能量与所述低频带信号的能量的比值,所述全频带的代价函数可以为所述全频带的残差频域系数的能量与所述全频带信号的能量的比值。
169.在本申请实施例中,上述截止频点可以通过以下两种方式确定:
170.方式一:
171.可以根据所述参考信号的频谱系数,确定所述截止频点。
172.进一步地,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
173.其中,所述预设条件可以为所述顶峰因子集合中大于第六阈值中的(一个或多个)顶峰因子中的最大值。
174.例如,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;将所述顶峰因子集合中大于第六阈值的(一个或多个)顶峰因子的最大值,作为所述截止频点。
175.方式二:
176.所述截止频点可以为预设值。具体地,可以根据经验,将所述截止频点预先设定为预设值。
177.例如,假设当前帧的处理信号为48k赫兹(hz)的采样信号,经过480点mdct变换,获得480点mdct系数,则截止频点的索引可以预先设定为200,其对应的截止频率为10khz。
178.s630,根据所述代价函数,对所述当前帧的目标频域系数进行编码。
179.可选地,可以根据所述代价函数,确定标识,接下来,可以根据确定出的所述标识,对所述当前帧的目标频域系数进行编码。
180.具体地,根据确定出的标识不同,可以分为以下两种方式对所述当前帧的目标频域系数进行编码:
181.方式一:
182.可选地,可以根据所述代价函数,确定第一标识和/或第二标识;可以根据所述第一标识和/或所述第二标识,对所述当前帧的目标频域系数进行编码。
183.其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,所述第二标识可以用于指示所述当前帧中进行ltp处理的频带。
184.可选地,在方式一中,所述第一标识及所述第二标识可以取不同的值,这些不同的值可以分别表示不同的含义。
185.例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四
值。
186.其中,所述第一值可以为1,用于指示对所述当前帧进行ltp处理,所述第二值可以为0,用于指示不对所述当前帧进行ltp处理,所述第三值可以为2,用于指示对所述全频带进行ltp处理,所述第四值可以为3,用于指示对所述低频带进行ltp处理。
187.需要说明的是,上述实施例中示出的所述第一标识及所述第二标识的上述取值仅为示例而非限定。
188.进一步地,根据确定出的所述第一标识和/或所述第二标识不同,可以分为以下几种情况:
189.情况一:
190.当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,可以确定所述第一标识为第一值,所述第二标识为第四值。
191.此时,可以根据所述第二标识,对所述当前帧的低频带进行ltp处理,得到所述低频带的残差频域系数;接下来,可以对所述低频带的残差频域系数及所述高频带的目标频域系数进行编码,并将所述第一标识及所述第二标识的值写入码流。
192.情况二:
193.当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,可以确定所述第一标识为第一值,所述第二标识为第三值。
194.此时,可以根据所述第二标识,对所述当前帧的全频带进行ltp处理,得到所述全频带的残差频域系数;接下来,可以对所述全频带的残差频域系数进行编码,并将所述第一标识及所述第二标识的值写入码流。
195.情况三:
196.当所述低频带的代价函数不满足所述第一条件时,可以确定所述第一标识为第二值。
197.此时,可以对所述当前帧的目标频域系数进行编码(而不需要对所述当前帧进行ltp处理,得到所述当前帧的残差频域系数后,再对所述当前帧的残差频域系数进行编码),并将所述第一标识的值写入码流。
198.情况四:
199.当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,可以确定所述第一标识为第二值。
200.此时,可以对所述当前帧的目标频域系数进行编码,并将所述第一标识的值写入码流。
201.情况五:
202.当所述全频带的代价函数满足所述第三条件时,可以确定所述第一标识为第一值,所述第二标识为第三值。
203.此时,可以根据所述第二标识,对所述当前帧的全频带进行ltp处理,得到所述全频带的残差频域系数;接下来,可以对所述全频带的残差频域系数进行编码,并将所述第一标识及所述第二标识的值写入码流。
204.在上述方式一中,当代价函数的定义不同时,所述第一条件、所述第二条件及所述第三条件也可以不同。
205.例如,当所述代价函数为所述当前帧的当前频带的预测增益时,所述第一条件可以为所述低频带的代价函数大于或等于第一阈值,所述第二条件可以为所述高频带的代价函数大于或等于第二阈值,所述第三条件可以为所述全频带的代价函数大于或等于所述第三阈值。
206.再例如,当所述代价函数为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值时,所述第一条件可以为所述低频带的代价函数小于第四阈值,所述第二条件可以为所述高频带的代价函数小于所述第四阈值,所述第三条件可以为所述全频带的代价函数大于或等于第五阈值。
207.其中,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值均可以预先设定为0.5。
208.或者,所述第一阈值可以预先设定为0.45、所述第二阈值可以预先设定为0.5、所述第三阈值可以预先设定为0.55、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.65。
209.或者,所述第一阈值可以预先设定为0.4、所述第二阈值可以预先设定为0.4、所述第三阈值可以预先设定为0.5、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.7。
210.应理解,上述实施例中的取值仅为示例而非限定,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值的取值均可以根据经验(或结合实际情况)预先设定,本申请实施例中对此并不限定。
211.方式二:
212.可选地,可以根据所述代价函数,确定第一标识;可以根据所述第一标识,对所述当前帧的目标频域系数进行编码。
213.其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识可以用于指示是否对所述当前帧进行ltp处理以及所述当前帧中进行ltp处理的频带。
214.可选地,在方式二中,所述第一标识也可以取不同的值,这些不同的值也可以分别表示不同的含义。
215.例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
216.其中,所述第一值可以为1,用于指示(对所述当前帧进行ltp处理且)对所述低频带进行ltp处理,所述第二值可以为0,用于指示不对所述当前帧进行ltp处理,所述第三值可以为2,用于指示(对所述当前帧进行ltp处理且)对所述全频带进行ltp处理。
217.需要说明的是,上述实施例中示出的所述第一标识的上述取值仅为示例而非限定。
218.进一步地,根据确定出的所述第一标识不同,可以分为以下几种情况:
219.情况一:
220.当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,可以确定所述第一标识为第一值。
221.此时,可以根据所述第一标识,对所述当前帧的低频带进行ltp处理,得到所述低
频带的残差频域系数;接下来,可以对所述低频带的残差频域系数及所述高频带的目标频域系数进行编码,并将所述第一标识的值写入码流。
222.情况二:
223.当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,可以确定所述第一标识为第三值。
224.此时,可以根据所述第一标识,对所述当前帧的全频带进行ltp处理,得到所述全频带的残差频域系数;接下来,可以对所述全频带的残差频域系数进行编码,并将所述第一标识的值写入码流。
225.情况三:
226.当所述低频带的代价函数不满足所述第一条件时,可以确定所述第一标识为第二值。
227.此时,可以对所述当前帧的目标频域系数进行编码,并将所述第一标识的值写入码流。
228.情况四:
229.当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,可以确定所述第一标识为第二值。
230.此时,可以对所述当前帧的目标频域系数进行编码(而不需要对所述当前帧进行ltp处理,得到所述当前帧的残差频域系数后,再对所述当前帧的残差频域系数进行编码),并将所述第一标识的值写入码流。
231.情况五:
232.当所述全频带的代价函数满足所述第三条件时,可以确定所述第一标识为第三值。
233.此时,可以根据所述第一标识,对所述当前帧的全频带进行ltp处理,得到所述全频带的残差频域系数;接下来,可以对所述全频带的残差频域系数进行编码,并将所述第一标识的值写入码流。
234.在上述方式二中,当代价函数的定义不同时,所述第一条件、所述第二条件及所述第三条件也可以不同。
235.例如,当所述代价函数为所述当前帧的当前频带的预测增益时,所述第一条件可以为所述低频带的代价函数大于或等于第一阈值,所述第二条件可以为所述高频带的代价函数大于或等于第二阈值,所述第三条件可以为所述全频带的代价函数大于或等于所述第三阈值。
236.再例如,当所述代价函数为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值时,所述第一条件可以为所述低频带的代价函数小于第四阈值,所述第二条件可以为所述高频带的代价函数小于所述第四阈值,所述第三条件可以为所述全频带的代价函数大于或等于第五阈值。
237.其中,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值均预先设定为0.5。
238.或者,所述第一阈值可以预先设定为0.45、所述第二阈值可以预先设定为0.5、所述第三阈值可以预先设定为0.55、所述第四阈值可以预先设定为0.6,所述第五阈值可以预
先设定为0.65。
239.或者,所述第一阈值可以预先设定为0.4、所述第二阈值可以预先设定为0.4、所述第三阈值可以预先设定为0.5、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.7。
240.应理解,上述实施例中的取值仅为示例而非限定,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值的取值均可以根据经验(或结合实际情况)预先设定,本申请实施例中对此并不限定。
241.下面结合图7,以立体声信号(即当前帧包括左声道信号和右声道信号)为例,对本申请实施例的音频信号的编码方法的详细过程进行描述。
242.应理解,图7所示的实施例仅为示例而非限定,本申请实施例中的音频信号也可以为单声道信号或多声道信号,本申请实施例中对此并不限定。
243.图7是本申请实施例的音频信号的编码方法的示意性流程图。该方法700可以由编码端执行,该编码端可以是编码器或者是具有编码音频信号功能的设备。该方法700具体包括:
244.s710,获取当前帧的目标频域系数。
245.可选地,可以通过mdct变换将所述当前帧的左声道信号和右声道信号从时域转换到频域,得到所述左声道信号的mdct系数及所述右声道信号的mdct系数,即所述左声道信号的频域系数及所述右声道信号的频域系数。
246.接下来,可以对所述当前帧的频域系数进行tns处理,获得线性预测编码(linear prediction coding,lpc)系数(即tns参数),从而可以实现对所述当前帧进行噪声整形的目的。所述tns处理是指对所述当前帧的频域系数进行lpc分析,lpc分析的具体方法可以参照现有技术,这里不再赘述。
247.另外,由于不是对每帧信号都适合进行tns处理,还可以使用tns标识用来指示是否对当前帧进行tns处理。例如,当tns标识为0时,不对当前帧进行tns处理;当tns标识为1时,利用获得的lpc系数对当前帧的频域系数进行tns处理,获得处理后的当前帧的频域系数。其中,所述tns标识是根据所述当前帧的输入信号(即所述当前帧的左声道信号和右声道信号)计算得到的,具体方法可以参照现有技术,这里不再赘述。
248.接下来,还可以对处理后的所述当前帧的频域系数进行fdns处理,获得时域lpc系数,然后将时域lpc系数转换到频域,获得频域fdns参数。所述fdns处理是频域噪声整形技术,一种实现方式是计算处理后的所述当前帧的频域系数的能量谱,利用该能量谱获得自相关系数,并根据该自相关系数获得时域lpc系数,然后将时域lpc系数转换到频域,获得频域fdns参数。fdns处理的具体方法可以参照现有技术,这里不再赘述。
249.需要说明的是,在本申请实施例中,对tns处理和fdns处理的执行顺序并不限定,例如,也可以对所述当前帧的频域系数先进行fdns处理,再进行tns处理,本申请实施例中对此并不限定。
250.在本申请实施例中,为了便于理解,上述tns参数及fdns参数也可以称为滤波参数,上述tns处理及fdns处理也可以称为滤波处理。
251.此时,可以利用tns参数及fdns参数对所述当前帧的频域系数进行处理,得到所述当前帧的目标频域系数。
252.为便于描述,在本申请实施例中,所述当前帧的目标频域系数可以表示为x[k],所述当前帧的目标频域系数可以包括左声道信号的目标频域系数与右声道信号的目标频域系数,所述左声道信号的目标频域系数可以表示为x
l
[k],所述右声道信号的目标频域系数可以表示为x
r
[k],k=0,1,

,w,其中,k,w均为正整数,0≤k≤w,w可以为需要进行mdct变换的点数(或者,w也可以为需要进行编码的mdct系数的个数)。
[0253]
s720,获取所述当前帧的参考目标频域系数。
[0254]
可选地,可以通过基音周期搜索获得最佳基音周期;根据所述最佳基音周期从历史缓冲区中获得所述当前帧的参考信号ref[j]。其中,在基音周期搜索时可以采用任意基音周期搜索方法,本申请实施例中对此并不限定
[0255]
ref[j]=syn[l-n-k j],j=0,1,...,n-1
[0256]
其中,历史缓冲区信号syn存储的是经过mdct反变换获得的合成时域信号,长度为l=2n,n为帧长,k为基音周期。
[0257]
历史缓冲区信号syn是通过对算术编码的残差信号进行解码,并进行ltp合成,然后利用上述s710获得的tns参数和fdns参数进行tns逆处理和fdns逆处理,然后经过mdct反变换获得时域合成信号,并保存到历史缓冲区syn中。其中,tns逆处理指的是与tns处理(滤波)相反的操作,以获得经过tns处理前的信号,fdns逆处理指的是与fdns处理(滤波)相反的操作,以获得经过fdns处理前的信号。tns逆处理和fdns逆处理的具体方法可以参照现有技术,这里不再赘述。
[0258]
可选地,对参考信号ref[j]进行mdct变换,并利用上述s710获得的(对当前帧的频域系数x[k]进行分析后获得的)滤波参数对参考信号ref[j]的频域系数进行滤波处理。
[0259]
首先,可以使用tns标识以及上述s710获得的(对当前帧的频域系数x[k]进行分析后获得的)tns参数对参考信号ref[j]的mdct系数进行tns处理,得到tns处理后的参考频域系数。
[0260]
例如,当tns标识为1时,利用tns参数对参考信号的mdct系数进行tns处理。
[0261]
接下来,可以使用上述s710获得的(对当前帧的频域系数x[k]进行分析后获得的)fdns参数对上述tns处理后的参考频域系数进行fdns处理,得到fdns处理后的参考频域系数,即所述参考目标频域系数x
ref
[k]。
[0262]
需要说明的是,在本申请实施例中,对tns处理和fdns处理的执行顺序并不限定,例如,也可以对所述参考频域系数(即所述参考信号的mdct系数)先进行fdns处理,再进行tns处理,本申请实施例中对此并不限定。
[0263]
s730,对所述当前帧进行频域ltp判决。
[0264]
可选地,可以利用所述当前帧的目标频域系数x[k]及所述参考目标频域系数x
ref
[k],计算所述当前帧的ltp预测增益。
[0265]
例如,可以使用下述公式计算所述当前帧的左声道信号(或右声道信号)的ltp预测增益:
[0266]
[0267]
其中,g
i
可以为左声道(或右声道信号)的第i个子帧的ltp预测增益,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。需要说明的是,在本申请实施例中,部分帧可能会被分为若干个子帧,部分帧只有一个子帧,为了表述方便,这里统一以第i个子帧进行描述,当只有一个子帧时,i等于0。
[0268]
可选地,可以根据所述当前帧的ltp预测增益,确定当前帧的ltp标识。其中,所述ltp标识可以用于指示是否对所述当前帧进行ltp处理。
[0269]
需要说明的是,当所述当前帧包括左声道信号和右声道信号时,所述当前帧的ltp标识可以包括以下两种方式进行指示。
[0270]
方式一:
[0271]
所述当前帧的ltp标识可以用于指示是否同时对所述当前帧进行ltp处理。
[0272]
进一步地,所述ltp标识可以包括如图6方法600中的实施例所述第一标识和/或第二标识。
[0273]
例如,所述ltp标识可以包括第一标识和第二标识。其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,所述第二标识可以用于指示所述当前帧中进行ltp处理的频带。
[0274]
再例如,所述ltp标识可以为第一标识。其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,且在对所述当前帧进行ltp处理的情况下,还可以指示所述当前帧中进行ltp处理的频带(例如,所述当前帧的高频带、低频带或全频带)。
[0275]
方式二:
[0276]
所述当前帧的ltp标识可以分为左声道ltp标识和右声道ltp标识,所述左声道ltp标识可以用于指示是否对所述左声道信号进行ltp处理,所述右声道ltp标识可以用于指示是否对所述右声道信号进行ltp处理。
[0277]
进一步地,如图6方法600中的实施例所述,所述左声道ltp标识可以包括左声道的第一标识和/或所述左声道的第二标识,所述右声道ltp标识可以包括右声道的第一标识和/或所述右声道的第二标识。
[0278]
下面以所述左声道ltp标识为例进行说明,所述右声道ltp标识与所述左声道ltp标识类似,这里不再赘述。
[0279]
例如,所述左声道ltp标识可以包括左声道的第一标识和左声道的第二标识。其中,所述左声道的第一标识可以用于指示是否对所述左声道进行ltp处理,所述第二标识可以用于指示所述左声道中进行ltp处理的频带。
[0280]
再例如,所述左声道ltp标识可以为左声道的第一标识。其中,所述左声道的第一标识可以用于指示是否对所述左声道进行ltp处理,且在对所述左声道进行ltp处理的情况下,还可以指示所述左声道中进行ltp处理的频带(例如,所述左声道的高频带、低频带或全频带)。
[0281]
关于上述两种方式中的第一标识及第二标识的具体描述可以参考图6中的实施例,这里不再赘述。
[0282]
在方法700的实施例中,所述当前帧的ltp标识可以采用方式一进行指示,应理解,方法700中的实施例仅为示例而非限定,方法700中的所述当前帧的ltp标识也可以采用方式二进行指示,本申请实施例中对此并不限定。
[0283]
例如,在方法700中,可以对当前帧的左声道及右声道的所有子帧计算ltp预测增益,如果有任意子帧的频域预测增益g
i
小于预设的阈值,则可以将当前帧ltp标识设置为0,即对当前帧关闭ltp模块,则可以对所述当前帧的目标频域系数进行编码;否则,如果所述当前帧的所有子帧的频域预测增益均大于所述预设的阈值,则可以将当前帧ltp标识设置为1,即对当前帧打开ltp模块,此时,继续执行下述s740。
[0284]
其中,所述预设的阈值可以结合实际情况进行设置。例如,所述预设的阈值可以设置为0.5、0.4或0.6。
[0285]
在本申请实施例中,还可以将所述当前帧的带宽分为高频带、低频带及全频带。
[0286]
可选地,可以计算所述左声道信号(和/或所述右声道信号)的代价函数,根据所述代价函数,确定是否对所述当前帧进行ltp处理,并在对所述当前帧进行ltp处理的情况下,根据所述代价函数,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数。
[0287]
例如,对所述高频带进行ltp处理时,可以得到所述高频带的残差频域系数;对所述低频带进行ltp处理时,可以得到所述低频带的残差频域系数;对所述全频带进行ltp处理时,可以得到所述全频带的残差频域系数。
[0288]
其中,所述代价函数可以包括高频带的代价函数、低频带的代价函数和/或所述当前帧的全频带的代价函数,所述高频带可以为所述当前帧的全频带中大于截止频点的频带,所述低频带可以为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点可以用于划分所述低频带和所述高频带。
[0289]
在本申请实施例中,上述截止频点可以通过以下两种方式确定:
[0290]
方式一:
[0291]
可以根据所述参考信号的频谱系数,确定所述截止频点。
[0292]
可选地,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
[0293]
进一步地,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;将所述顶峰因子集合中满足预设条件的顶峰因子的最大值,作为所述截止频点。
[0294]
其中,所述预设条件可以为所述顶峰因子集合中大于第六阈值中的(一个或多个)顶峰因子中的最大值。
[0295]
例如,可以通过以下公式计算顶峰因子集合:
[0296][0297]
p=arg
k
{((x
ref
[k]>x
ref
[k-1])and(x
ref
[k]>x
ref
[k=1]))>0,k=0,1,...,m-1}
[0298]
其中,cf
p
为顶峰因子集合,p为满足条件的k值集合,w为滑动窗口的大小,p为集合p中的一个元素。
[0299]
则,低频mdct系数的截止频点系数索引值stopline可以通过下式确定:
[0300]
stopline=max{p|cf
p
>thr6,p∈p}
[0301]
其中,thr6为所述第六阈值。
[0302]
方式二:
[0303]
所述截止频点可以为预设值。具体地,可以根据经验,将所述截止频点预先设定为
预设值。
[0304]
例如,假设当前帧的处理信号为48k赫兹(hz)的采样信号,经过480点mdct变换,获得480点mdct系数,则截止频点的索引可以预先设定为200,其对应的截止频率为10khz。
[0305]
下面以所述左声道信号为例进行说明,也就是说,下述描述并不限定是所述左声道信号或所述右声道信号,在本申请实施例中,所述左声道信号与所述右声道信号处理方法相同。
[0306]
可以计算高频带的代价函数、低频带的代价函数或所述当前帧的全频带的代价函数中的至少两项。
[0307]
可选地,可以通过以下两种方法计算代价函数:
[0308]
方法一:
[0309]
可选地,所述代价函数可以为所述当前帧的当前频带的预测增益。
[0310]
例如,高频带的代价函数可以为所述高频带的预测增益,所述低频带的代价函数可以为所述低频带的预测增益,所述全频带的代价函数可以为所述全频带的预测增益。
[0311]
例如,可以通过以下公式计算所述代价函数:
[0312][0313][0314][0315]
其中,x[k]为所述当前帧的左声道的目标频域系数,x
ref
[k]为所述参考目标频域系数,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,g
lfi
为第i子帧的低频带的预测增益,g
hfi
为第i子帧的高频带的预测增益,g
fbi
第i子帧的全频预测增益,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0316]
方法二:
[0317]
可选地,所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值。
[0318]
其中,所述估计残差频域系数可以为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值,所述预测频域系数可以是根据所述当前帧的当前频带的参考频域系数与预测增益获得的,所述当前频带为所述低频带、高频带或全频带。
[0319]
例如,所述预测频域系数可以是所述当前帧的当前频带的参考频域系数与预测增益的乘积。
[0320]
例如,所述高频带的代价函数可以为所述高频带的残差频域系数的能量与所述高频带信号的能量的比值,所述低频带的代价函数可以为所述低频带的残差频域系数的能量与所述低频带信号的能量的比值,所述全频带的代价函数可以为所述全频带的残差频域系数的能量与所述全频带信号的能量的比值。
[0321]
例如,可以通过以下公式计算所述代价函数:
[0322][0323][0324][0325]
其中,r
hfi
为所述高频带的残差频域系数的能量与所述高频带信号的能量的比值,r
lfi
为所述低频带的残差频域系数的能量与所述低频带信号的能量的比值,r
fbi
所述全频带的残差频域系数的能量与所述全频带信号的能量的比值,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,g
lfi
为第i子帧的低频带的预测增益,g
hfi
为第i子帧的高频带的预测增益,g
fbi
第i子帧的全频预测增益,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0326]
进一步地,可以根据所述代价函数,确定第一标识和/或第二标识。
[0327]
具体地,根据确定出的标识不同,可以分为以下两种方式对所述当前帧的目标频域系数进行编码:
[0328]
方式一:
[0329]
可选地,可以根据所述代价函数,确定第一标识和/或第二标识;可以根据所述第一标识和/或所述第二标识,对所述当前帧的目标频域系数进行编码。
[0330]
其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,所述第二标识可以用于指示所述当前帧中进行ltp处理的频带。
[0331]
可选地,在方式一中,所述第一标识及所述第二标识可以取不同的值,这些不同的值可以分别表示不同的含义。
[0332]
例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
[0333]
其中,所述第一值可以用于指示对所述当前帧进行ltp处理,所述第二值可以用于指示不对所述当前帧进行ltp处理,所述第三值可以用于指示对所述全频带进行ltp处理,所述第四值可以用于指示对所述低频带进行ltp处理。
[0334]
例如,所述第一值可以为1,所述第二值可以为0,所述第三值可以为2,所述第四值可以为3。
[0335]
需要说明的是,上述实施例中示出的所述第一标识及所述第二标识的上述取值仅为示例而非限定。
[0336]
进一步地,根据确定出的所述第一标识和/或所述第二标识不同,可以分为以下几种情况:
[0337]
情况一:
[0338]
当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,则所述第一标识可以为第一值,所述第二标识可以为第四值。
[0339]
情况二:
[0340]
当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,则所述第一标识可以为第一值,所述第二标识可以为第三值。
[0341]
情况三:
[0342]
当所述低频带的代价函数不满足所述第一条件时,则所述第一标识可以为第二值。
[0343]
情况四:
[0344]
当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,则所述第一标识可以为第二值。
[0345]
情况五:
[0346]
当所述全频带的代价函数满足所述第三条件时,则所述第一标识可以为第一值,所述第二标识可以为第三值。
[0347]
在上述方式一中,当代价函数的定义不同时,所述第一条件、所述第二条件及所述第三条件也可以不同。
[0348]
例如,当所述代价函数为所述当前帧的当前频带的预测增益时,所述第一条件可以为所述低频带的代价函数大于或等于第一阈值,所述第二条件可以为所述高频带的代价函数大于或等于第二阈值,所述第三条件可以为所述全频带的代价函数大于或等于所述第三阈值。
[0349]
再例如,当所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值时,所述第一条件可以为所述低频带的代价函数小于第四阈值,所述第二条件可以为所述高频带的代价函数小于所述第四阈值,所述第三条件可以为所述全频带的代价函数大于或等于第五阈值。
[0350]
其中,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值均预先设定为0.5。
[0351]
或者,所述第一阈值可以预先设定为0.45、所述第二阈值可以预先设定为0.5、所述第三阈值可以预先设定为0.55、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.65。
[0352]
或者,所述第一阈值可以预先设定为0.4、所述第二阈值可以预先设定为0.4、所述第三阈值可以预先设定为0.5、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.7。
[0353]
应理解,上述实施例中的取值仅为示例而非限定,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值的取值均可以根据经验(或结合实际情况)预先设定,本申请实施例中对此并不限定。
[0354]
方式二:
[0355]
可选地,可以根据所述代价函数,确定第一标识;可以根据所述第一标识,对所述当前帧的目标频域系数进行编码。
[0356]
其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识可以用于指示是否对所述当前帧进行ltp处理以及所述当前帧中进行ltp处理的频带。
[0357]
可选地,在方式二中,所述第一标识也可以取不同的值,这些不同的值也可以分别
表示不同的含义。
[0358]
例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
[0359]
其中,所述第一值可以用于指示(对所述当前帧进行ltp处理且)对所述低频带进行ltp处理,所述第二值可以用于指示不对所述当前帧进行ltp处理,所述第三值可以用于指示(对所述当前帧进行ltp处理且)对所述全频带进行ltp处理。
[0360]
例如,所述第一值可以为1,所述第二值可以为0,所述第三值可以为2。
[0361]
需要说明的是,上述实施例中示出的所述第一标识的上述取值仅为示例而非限定。
[0362]
进一步地,根据确定出的所述第一标识不同,可以分为以下几种情况:
[0363]
情况一:
[0364]
当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,则所述第一标识可以为第一值。
[0365]
情况二:
[0366]
当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,则所述第一标识可以为第三值。
[0367]
情况三:
[0368]
当所述低频带的代价函数不满足所述第一条件时,则所述第一标识可以为第二值。
[0369]
情况四:
[0370]
当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,则所述第一标识可以为第二值。
[0371]
情况五:
[0372]
当所述全频带的代价函数满足所述第三条件时,则所述第一标识可以为第三值。
[0373]
在上述方式二中,当代价函数的定义不同时,所述第一条件、所述第二条件及所述第三条件也可以不同。
[0374]
例如,当所述代价函数为所述当前帧的当前频带的预测增益时,所述第一条件可以为所述低频带的代价函数大于或等于第一阈值,所述第二条件可以为所述高频带的代价函数大于或等于第二阈值,所述第三条件可以为所述全频带的代价函数大于或等于所述第三阈值。
[0375]
再例如,当所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值时,所述第一条件可以为所述低频带的代价函数小于第四阈值,所述第二条件可以为所述高频带的代价函数小于所述第四阈值,所述第三条件可以为所述全频带的代价函数大于或等于第五阈值。
[0376]
其中,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值均预先设定为0.5。
[0377]
或者,所述第一阈值可以预先设定为0.45、所述第二阈值可以预先设定为0.5、所述第三阈值可以预先设定为0.55、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.65。
[0378]
或者,所述第一阈值可以预先设定为0.4、所述第二阈值可以预先设定为0.4、所述第三阈值可以预先设定为0.5、所述第四阈值可以预先设定为0.6,所述第五阈值可以预先设定为0.7。
[0379]
应理解,上述实施例中的取值仅为示例而非限定,所述第一阈值、所述第二阈值、所述第三阈值、所述第四阈值及所述第五阈值的取值均可以根据经验(或结合实际情况)预先设定,本申请实施例中对此并不限定。
[0380]
需要说明的是,当所述第一标识指示不对所述当前帧进行ltp处理时,可以继续执行下述s740,并在执行完s740后直接对所述当前帧的目标频域系数进行编码;否则,可以直接执行下述s750(即不执行下述s740)。
[0381]
s740,对所述当前帧进行立体声处理。
[0382]
可选地,可以计算所述当前帧的左声道与所述当前帧的右声道的强度电平差(intensity level difference,ild)。
[0383]
例如,可以利用以下公式计算所述当前帧的左声道与所述当前帧的右声道的ild:
[0384][0385]
其中,x
l
[k]为所述左声道信号的目标频域系数,x
r
[k]为所述右声道信号的目标频域系数,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0386]
可选地,可以利用上述公式计算得到的ild,调整左声道信号的能量及右声道信号的能量。具体的调整方法如下:
[0387]
根据ild计算左声道信号的能量及右声道信号的能量的比值。
[0388]
例如,可以通过以下公式计算计算左声道信号的能量及右声道信号的能量的比值,可以将该比值记为nrgratio:
[0389][0390]
如果比值nrgratio大于1.0,则通过下述公式调整右声道的mdct系数:
[0391][0392]
其中,公式左侧的x
refr
[k]代表调整后的右声道的mdct系数,公式右侧的x
r
[k]代表调整前的右声道的mdct系数。
[0393]
如果nrgratio小于1.0,则通过下述公式调整左声道的mdct系数:
[0394][0395]
其中,公式左侧的x
refl
[k]代表调整后的左声道的mdct系数,公式右侧的x
l
[k]代表调整前的左声道的mdct系数。
[0396]
根据调整后的左声道信号的目标频域系数x
refr
[k]和调整后的右声道信号的目标频域系数x
refl
[k],计算所述当前帧的和差立体声(mid/side stereo,ms)信号:
[0397][0398][0399]
其中,x
m
[k]为m通道的和差立体声信号,x
s
[k]为s通道的和差立体声信号,x
refl
[k]为调整后的所述左声道信号的目标频域系数,x
refr
[k]为调整后的所述右声道信号的目标频域系数,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0400]
s750,对所述当前帧进行立体声判决。
[0401]
可选地,可以对所述左声道信号的目标频域系数x
l
[k]进行标量量化和算术编码,得到所述左声道信号量化需要的比特数,可以将所述左声道信号量化需要的比特数记为bitl。
[0402]
可选地,也可以对所述右声道信号的目标频域系数x
r
[k]进行标量量化和算术编码,得到所述右声道信号量化需要的比特数,可以将所述右声道信号量化需要的比特数记为bitr。
[0403]
可选地,也可以对所述和差立体声信号x
m
[k]进行标量量化和算术编码,得到所述x
m
[k]量化需要的比特数,可以将所述x
m
[k]量化需要的比特数记为bitm。
[0404]
可选地,还可以对所述和差立体声信号x
s
[k]进行标量量化和算术编码,得到所述x
s
[k]量化需要的比特数,可以将所述x
s
[k]量化需要的比特数记为bits。
[0405]
上述量化过程和比特估计过程具体可以参照现有技术,这里不再赘述。
[0406]
此时,如果bitl bitr大于bitm bits,则可以将立体声编码标识stereomode设置为1,以表示后续编码时,需要对所述立体声信号x
m
[k]和x
s
[k]进行编码。
[0407]
否则,可以将所述立体声编码标识stereomode设置为0,以表示后续编码时,需要对x
l
[k]和x
r
[k]进行编码。
[0408]
需要说明的是,在本申请实施例中,还可以对当前帧的目标频域进行ltp处理后,再对ltp处理后的所述当前帧的左声道信号和右声道信号进行立体声判决,即先执行s760,再执行s750。
[0409]
s760,对所述当前帧的目标频域系数进行ltp处理。
[0410]
可选地,对所述当前帧的目标频域系数进行ltp处理,可以分为以下两种情况:
[0411]
情况一:
[0412]
如果所述当前帧的ltp标识enableraltp为1,且立体声编码标识stereomode为0时,对x
l
[k]和x
r
[k]分别进行ltp处理:
[0413]
x
l
[k]=x
l
[k]-g
li
*x
refl
[k]
[0414]
x
r
[k]=x
r
[k]-g
ri
*x
refr
[k]
[0415]
其中,上述公式左侧的x
l
[k]为ltp合成后得到的所述左声道的残差频域系数,上述公式右侧的x
l
[k]为左声道信号的目标频域系数,上述公式左侧的x
r
[k]为ltp合成后得到的所述右声道的残差频域系数,上述公式右侧的x
r
[k]为右声道信号的目标频域系数,x
refl
为左声道经过tns和fdns处理后的参考信号,x
refr
为右声道经过tns和fdns处理后的参考信号,g
li
可以为左声道的第i个子帧的ltp预测增益,g
ri
可以为右声道信号的第i个子帧的ltp预测增益,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0416]
进一步地,在本申请实施例中,还可以根据前述s730中确定的第一标识和/或第二
标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数。
[0417]
例如,对所述高频带进行ltp处理时,可以得到所述高频带的残差频域系数;对所述低频带进行ltp处理时,可以得到所述低频带的残差频域系数;对所述全频带进行ltp处理时,可以得到所述全频带的残差频域系数。
[0418]
下面以所述左声道信号为例进行说明,也就是说,下述描述并不限定是所述左声道信号或所述右声道信号,在本申请实施例中,所述左声道信号与所述右声道信号处理方法相同。
[0419]
例如,当所述第一标识和/或所述第二标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式一中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0420][0421]
其中,x
refl
为左声道的参考目标频域系数,g
lfi
为左声道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0422]
当所述第一标识和/或所述第二标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式一中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0423]
x
l
[k]=x
l
[k]-g
fbi
*x
refl
[k]
[0424]
其中,x
refl
为左声道的参考目标频域系数,g
fbi
为左声道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0425]
再例如,当所述第一标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式二中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0426][0427]
其中,x
refl
为左声道的参考目标频域系数,g
lfi
为左声道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0428]
当所述第一标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式二中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0429]
x
l
[k]=x
l
[k]-g
fbi
*x
refl
[k]
[0430]
其中,x
refl
为左声道的参考目标频域系数,g
fbi
为左声道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0431]
接下来,可以对ltp处理后的x
l
[k]和x
r
[k](即所述左声道信号的残差频域系数x
l
[k]及右声道信号的残差频域系数x
r
[k])进行算术编码。
[0432]
情况二:
[0433]
如果所述当前帧的ltp标识enableraltp为1,且立体声编码标识stereomode为1时,对x
m
[k]和x
s
[k]分别进行ltp处理:
[0434]
x
m
[k]=x
m
[k]-g
mi
*x
refm
[k]
[0435]
x
s
[k]=x
s
[k]-g
si
*x
refs
[k]
[0436]
其中,上述公式左侧的x
m
[k]为ltp合成后得到的m通道的残差频域系数,上述公式右侧的x
m
[k]为m通道的残差频域系数,上述公式左侧的x
s
[k]为ltp合成后得到的s通道的残差频域系数,上述公式右侧的x
s
[k]为s通道的残差频域系数,g
mi
为m通道第i子帧的ltp预测增益,g
si
为m通道第i子帧的ltp预测增益,m为参与ltp处理的mdct系数的个数,i及k为正整数,且0≤k≤m,x
refm
和x
refs
为经过和差立体声处理后的参考信号,具体如下:
[0437][0438][0439]
进一步地,在本申请实施例中,还可以根据前述s730中确定的第一标识和/或第二标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数。
[0440]
例如,对所述高频带进行ltp处理时,可以得到所述高频带的残差频域系数;对所述低频带进行ltp处理时,可以得到所述低频带的残差频域系数;对所述全频带进行ltp处理时,可以得到所述全频带的残差频域系数。
[0441]
下面以所述m声道信号为例进行说明,也就是说,下述描述并不限定是所述m声道信号或所述s声道信号,在本申请实施例中,所述m声道信号与所述s声道信号处理方法相同。
[0442]
例如,当所述第一标识和/或所述第二标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式一中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0443][0444]
其中,x
refm
为m通道的参考目标频域系数,g
lfi
为m通道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0445]
当所述第一标识和/或所述第二标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式一中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0446]
x
m
[k]=x
m
[k]-g
fbi
*x
refm
[k]
[0447]
其中,x
refm
为m通道的参考目标频域系数,g
fbi
为m通道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0448]
再例如,当所述第一标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式二中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0449][0450]
其中,x
refm
为m通道的参考目标频域系数,g
lfi
为m通道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0451]
当所述第一标识满足所述s730中根据确定出的标识对所述当前帧的目标频域系数进行编码的方式二中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0452]
x
m
[k]=x
m
[k]-g
fbi
*x
refm
[k]
[0453]
其中,x
refm
为m通道的参考目标频域系数,g
fbi
为m通道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0454]
接下来,可以对ltp处理后的x
m
[k]和x
s
[k](即所述当前帧的残差频域系数)进行算术编码。
[0455]
图8是本申请实施例的音频信号的解码方法800的示意性流程图。该方法800可以由解码端执行,该解码端可以是解码器或者是具有解码音频信号功能的设备。该方法800具体包括:
[0456]
s810,解析码流得到当前帧的解码频域系数。
[0457]
可选地,还可以解析码流得到滤波参数。
[0458]
其中,所述滤波参数可以用于对所述当前帧的频域系数进行滤波处理,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
[0459]
可选地,在s810中,解析码流可以得到当前帧的残差频域系数。
[0460]
s820,解析码流得到第一标识。
[0461]
其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识可以用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带。
[0462]
例如,当所述第一标识为第一值时,所述当前帧的解码频域系数为所述当前帧的残差频域系数,所述第一值可以用于指示对所述当前帧进行长时预测ltp处理。
[0463]
当所述第一标识为第二值时,所述当前帧的解码频域系数为所述当前帧的目标频域系数,所述第二值可以用于指示不对所述当前帧进行长时预测ltp处理。
[0464]
可选地,所述当前帧中进行ltp处理的频带可以包括高频带、低频带或全频带。其中,所述高频带可以为所述当前帧的全频带中大于截止频点的频带,所述低频带可以为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点可以用于划分所述低频带和所述高频带。
[0465]
在本申请实施例中,上述截止频点可以通过以下两种方式确定:
[0466]
方式一:
[0467]
可以根据所述参考信号的频谱系数,确定所述截止频点。
[0468]
进一步地,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因
子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
[0469]
其中,所述预设条件可以为所述顶峰因子集合中大于第六阈值中的(一个或多个)顶峰因子中的最大值。
[0470]
例如,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;将所述顶峰因子集合中大于第六阈值的(一个或多个)顶峰因子的最大值,作为所述截止频点。
[0471]
方式二:
[0472]
所述截止频点可以为预设值。具体地,可以根据经验,将所述截止频点预先设定为预设值。
[0473]
例如,假设当前帧的处理信号为48k赫兹(hz)的采样信号,经过480点mdct变换,获得480点mdct系数,则截止频点的索引可以预先设定为200,其对应的截止频率为10khz。
[0474]
s830,根据所述第一标识,对所述当前帧的解码频域系数进行处理,得到所述当前帧的频域系数。
[0475]
可选地,根据s820中确定出的所述第一标识不同,可以分为以下两种方式:
[0476]
方式一:
[0477]
可选地,可以解析码流得到第一标识;当所述第一标识为第一值时,可以解析码流得到第二标识。
[0478]
其中,所述第二标识可以用于指示所述当前帧中进行ltp处理的频带。
[0479]
可选地,在方式一中,所述第一标识及所述第二标识可以取不同的值,这些不同的值可以分别表示不同的含义。
[0480]
例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
[0481]
其中,所述第一值可以为1,用于指示对所述当前帧进行ltp处理,所述第二值可以为0,用于指示不对所述当前帧进行ltp处理,所述第三值可以为2,用于指示对所述全频带进行ltp处理,所述第四值可以为3,用于指示对所述低频带进行ltp处理。
[0482]
需要说明的是,上述实施例中示出的所述第一标识及所述第二标识的上述取值仅为示例而非限定。
[0483]
进一步地,根据确定出的所述第一标识和/或所述第二标识不同,可以分为以下几种情况:
[0484]
情况一:
[0485]
当所述第一标识为第一值,且所述第二标识为第四值时,获得所述当前帧的参考目标频域系数。
[0486]
接下来,可以对所述低频带的预测增益、所述当前帧的参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;并对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0487]
情况二:
[0488]
当所述第一标识为第一值,且所述第二标识为第三值时,获得所述当前帧的参考目标频域系数。
[0489]
接下来,可以对所述全频带的预测增益、所述当前帧的参考目标频域系数及所述
当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;并对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0490]
情况三:
[0491]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0492]
其中,(对所述当前帧的目标频域系数进行的)所述处理可以是逆滤波处理,所述逆滤波处理可以包括逆时域噪声整形(temporary noise shaping,tns)处理和/或逆频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述逆滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
[0493]
方式二:
[0494]
可选地,可以解析码流得到第一标识。
[0495]
其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识可以用于指示是否对所述当前帧进行ltp处理以及所述当前帧中进行ltp处理的频带。
[0496]
可选地,在方式二中,所述第一标识也可以取不同的值,这些不同的值也可以分别表示不同的含义。
[0497]
例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
[0498]
其中,所述第一值可以为1,用于指示(对所述当前帧进行ltp处理且)对所述低频带进行ltp处理,所述第二值可以为0,用于指示不对所述当前帧进行ltp处理,所述第三值可以为2,用于指示(对所述当前帧进行ltp处理且)对所述全频带进行ltp处理。
[0499]
需要说明的是,上述实施例中示出的所述第一标识的上述取值仅为示例而非限定。
[0500]
进一步地,根据确定出的所述第一标识不同,可以分为以下几种情况:
[0501]
情况一:
[0502]
当所述第一标识为第一值时,获得所述当前帧的参考目标频域系数。
[0503]
接下来,可以对所述低频带的预测增益、所述当前帧的参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;并对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0504]
情况二:
[0505]
当所述第一标识为第三值时,获得所述当前帧的参考目标频域系数。
[0506]
接下来,可以对所述全频带的预测增益、所述当前帧的参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;并对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0507]
情况三:
[0508]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0509]
其中,(对所述当前帧的目标频域系数进行的)所述处理可以是逆滤波处理,所述逆滤波处理可以包括逆时域噪声整形(temporary noise shaping,tns)处理和/或逆频域
噪声整形(frequency domain noise shaping,fdns)处理,或者,所述逆滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
[0510]
具体地,上述方式一或方式二中,可以通过以下方法获得所述当前帧的参考目标频域系数:
[0511]
解析码流得到所述当前帧的基音周期;根据所述当前帧的基音周期确定所述当前帧的参考信号,对所述当前帧的参考信号进行转换,就可以得到所述当前帧的参考频域系数;根据所述滤波参数,对所述参考频域系数进行滤波处理,得到所述参考目标频域系数。其中,对所述当前帧的参考信号进行的转换可以是时频变换,所述时频变换可以是mdct,dct,fft等变换方式。
[0512]
下面结合图9,以立体声信号(即当前帧包括左声道信号和右声道信号)为例,对本申请实施例的音频信号的解码方法的详细过程进行描述。
[0513]
应理解,图9所示的实施例仅为示例而非限定,本申请实施例中的音频信号也可以为单声道信号或多声道信号,本申请实施例中对此并不限定。
[0514]
图9是本申请实施例的音频信号的解码方法的示意性流程图。该方法900可以由解码端执行,该解码端可以是解码器或者是具有解码音频信号功能的设备。该方法900具体包括:
[0515]
s910,解析码流得到当前帧的目标频域系数。
[0516]
可选地,解析码流还可以得到变换系数。
[0517]
其中,所述滤波参数可以用于对所述当前帧的频域系数进行滤波处理,所述滤波处理可以包括时域噪声整形(temporary noise shaping,tns)处理和/或频域噪声整形(frequency domain noise shaping,fdns)处理,或者,所述滤波处理也可以包括其他处理,本申请实施例中对此并不限定。
[0518]
可选地,在s910中,解析码流可以得到当前帧的残差频域系数。
[0519]
具体的解析码流的方法可以参照现有技术,这里不再赘述。
[0520]
s920,解析码流得到所述当前帧的ltp标识。
[0521]
其中,所述ltp标识可以用于指示是否对所述当前帧进行长时预测ltp处理。
[0522]
例如,当所述ltp标识为第一值时,解析码流得到当前帧的残差频域系数,所述第一值可以用于指示对所述当前帧进行长时预测ltp处理。
[0523]
当所述ltp标识为第二值时,解析码流得到当前帧的目标频域系数,所述第二值可以用于指示不对所述当前帧进行长时预测ltp处理。
[0524]
需要说明的是,当所述当前帧包括左声道信号和右声道信号时,所述当前帧的ltp标识可以包括以下两种方式进行指示。
[0525]
方式一:
[0526]
所述当前帧的ltp标识可以用于指示是否同时对所述当前帧进行ltp处理。
[0527]
进一步地,所述ltp标识可以包括如图6方法600中的实施例所述第一标识和/或第二标识。
[0528]
例如,所述ltp标识可以包括第一标识和第二标识。其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,所述第二标识可以用于指示所述当前帧中进行ltp处理的频带。
[0529]
再例如,所述ltp标识可以为第一标识。其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,且在对所述当前帧进行ltp处理的情况下,还可以指示所述当前帧中进行ltp处理的频带(例如,所述当前帧的高频带、低频带或全频带)。
[0530]
方式二:
[0531]
所述当前帧的ltp标识可以分为左声道ltp标识和右声道ltp标识,所述左声道ltp标识可以用于指示是否对所述左声道信号进行ltp处理,所述右声道ltp标识可以用于指示是否对所述右声道信号进行ltp处理。
[0532]
进一步地,如图6方法600中的实施例所述,所述左声道ltp标识可以包括左声道的第一标识和/或所述左声道的第二标识,所述右声道ltp标识可以包括右声道的第一标识和/或所述右声道的第二标识。
[0533]
下面以所述左声道ltp标识为例进行说明,所述右声道ltp标识与所述左声道ltp标识类似,这里不再赘述。
[0534]
例如,所述左声道ltp标识可以包括左声道的第一标识和左声道的第二标识。其中,所述左声道的第一标识可以用于指示是否对所述左声道进行ltp处理,所述第二标识可以用于指示所述左声道中进行ltp处理的频带。
[0535]
再例如,所述左声道ltp标识可以为左声道的第一标识。其中,所述左声道的第一标识可以用于指示是否对所述左声道进行ltp处理,且在对所述左声道进行ltp处理的情况下,还可以指示所述左声道中进行ltp处理的频带(例如,所述左声道的高频带、低频带或全频带)。
[0536]
关于上述两种方式中的第一标识及第二标识的具体描述可以参考图6中的实施例,这里不再赘述。
[0537]
在方法900的实施例中,所述当前帧的ltp标识可以采用方式一进行指示,应理解,方法900中的实施例仅为示例而非限定,方法900中的所述当前帧的ltp标识也可以采用方式二进行指示,本申请实施例中对此并不限定。
[0538]
在本申请实施例中,还可以将所述当前帧的带宽分为高频带、低频带及全频带。
[0539]
此时,可以解析码流得到第一标识。
[0540]
其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识可以用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带。
[0541]
可选地,所述当前帧中进行ltp处理的频带可以包括高频带、低频带或全频带。其中,所述高频带可以为所述当前帧的全频带中大于截止频点的频带,所述低频带可以为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点可以用于划分所述低频带和所述高频带。
[0542]
在本申请实施例中,上述截止频点可以通过以下两种方式确定:
[0543]
方式一:
[0544]
可以根据所述参考信号的频谱系数,确定所述截止频点。
[0545]
可选地,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
[0546]
进一步地,可以根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因
子集合;将所述顶峰因子集合中满足预设条件的顶峰因子的最大值,作为所述截止频点。
[0547]
其中,所述预设条件可以为所述顶峰因子集合中大于第六阈值中的(一个或多个)顶峰因子中的最大值。
[0548]
例如,可以通过以下公式计算顶峰因子集合:
[0549][0550]
p=arg
k
{((x
ref
[k]>x
ref
[k-1])and(x
ref
[k]>x
ref
[k=1]))>0,k=0,1,...,m-1}
[0551]
其中,cf
p
为顶峰因子集合,p为满足条件的k值集合,w为滑动窗口的大小,p为集合p中的一个元素。
[0552]
则,低频mdct系数的截止频点系数索引值stopline可以通过下式确定:
[0553]
stopline=max{p|cf
p
>thr6,p∈p}
[0554]
其中,thr6为所述第六阈值。
[0555]
方式二:
[0556]
所述截止频点可以为预设值。具体地,可以根据经验,将所述截止频点预先设定为预设值。
[0557]
例如,假设当前帧的处理信号为48k赫兹(hz)的采样信号,经过480点mdct变换,获得480点mdct系数,则截止频点的索引可以预先设定为200,其对应的截止频率为10khz。
[0558]
进一步地,可以根据所述第一标识,确定是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带。
[0559]
具体地,根据解码出的所述第一标识不同,可以分为以下两种方式:
[0560]
方式一:
[0561]
可选地,可以解析码流得到第一标识;当所述第一标识为第一值时,可以解析码流得到第二标识。
[0562]
其中,所述第二标识可以用于指示所述当前帧中进行ltp处理的频带。
[0563]
可选地,在方式一中,所述第一标识及所述第二标识可以取不同的值,这些不同的值可以分别表示不同的含义。
[0564]
例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
[0565]
其中,所述第一值可以用于指示对所述当前帧进行ltp处理,所述第二值可以用于指示不对所述当前帧进行ltp处理,所述第三值可以用于指示对所述全频带进行ltp处理,所述第四值可以用于指示对所述低频带进行ltp处理。
[0566]
例如,所述第一值可以为1,所述第二值可以为0,所述第三值可以为2,所述第四值可以为3。
[0567]
需要说明的是,上述实施例中示出的所述第一标识及所述第二标识的上述取值仅为示例而非限定。
[0568]
进一步地,根据解析码流得到的所述第一标识和/或所述第二标识不同,可以分为以下几种情况:
[0569]
情况一:
[0570]
当所述第一标识为第一值,且所述第二标识为第四值时,获得所述当前帧的参考
目标频域系数。
[0571]
情况二:
[0572]
当所述第一标识为第一值,且所述第二标识为第三值时,获得所述当前帧的参考目标频域系数。
[0573]
情况三:
[0574]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0575]
方式二:
[0576]
可选地,可以解析码流得到第一标识。
[0577]
其中,所述第一标识可以用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识可以用于指示是否对所述当前帧进行ltp处理以及所述当前帧中进行ltp处理的频带。
[0578]
可选地,在方式二中,所述第一标识也可以取不同的值,这些不同的值也可以分别表示不同的含义。
[0579]
例如,所述第一标识可以为第一值或第二值,所述第二标识可以为第三值或第四值。
[0580]
其中,所述第一值可以用于指示(对所述当前帧进行ltp处理且)对所述低频带进行ltp处理,所述第二值可以用于指示不对所述当前帧进行ltp处理,所述第三值可以用于指示(对所述当前帧进行ltp处理且)对所述全频带进行ltp处理。
[0581]
例如,所述第一值可以为1,所述第二值可以为0,所述第三值可以为2。
[0582]
需要说明的是,上述实施例中示出的所述第一标识的上述取值仅为示例而非限定。
[0583]
进一步地,根据确定出的所述第一标识不同,可以分为以下几种情况:
[0584]
情况一:
[0585]
当所述第一标识为第一值时,获得所述当前帧的参考目标频域系数。
[0586]
情况二:
[0587]
当所述第一标识为第三值时,获得所述当前帧的参考目标频域系数。
[0588]
情况三:
[0589]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数。
[0590]
s930,获取所述当前帧的参考目标频域系数。
[0591]
具体地,可以通过以下方法获得所述当前帧的参考目标频域系数:
[0592]
解析码流得到所述当前帧的基音周期;根据所述当前帧的基音周期确定所述当前帧的参考信号,对所述当前帧的参考信号进行转换,就可以得到所述当前帧的参考频域系数;根据所述滤波参数,对所述参考频域系数进行滤波处理,得到所述参考目标频域系数。其中,对所述当前帧的参考信号进行的转换可以是时频变换,所述时频变换可以是mdct,dct,fft等变换方式。
[0593]
例如,可以通过解析码流得到所述当前帧的基音周期;根据所述基音周期从历史缓冲区中获得所述当前帧的参考信号ref[j]。其中,在基音周期搜索时可以采用任意基音
周期搜索方法,本申请实施例中对此并不限定。
[0594]
ref[j]=syn[l-n-k j],j=0,1,...,n-1
[0595]
其中,历史缓冲区信号syn存储的是经过mdct反变换获得的解码时域信号,长度为l=2n,n为帧长,k为基音周期。
[0596]
历史缓冲区信号syn是通过对算术编码的残差信号进行解码,并进行ltp合成,然后利用上述s710获得的tns参数和fdns参数进行tns逆处理和fdns逆处理,然后经过mdct反变换获得时域合成信号,并保存到历史缓冲区syn中。其中,tns逆处理指的是与tns处理(滤波)相反的操作,以获得经过tns处理前的信号,fdns逆处理指的是与fdns处理(滤波)相反的操作,以获得经过fdns处理前的信号。tns逆处理和fdns逆处理的具体方法可以参照现有技术,这里不再赘述。
[0597]
可选地,对参考信号ref[j]进行mdct变换,并利用上述s910获得的所述滤波参数对参考信号ref[j]的频域系数进行滤波处理,得到所述参考信号ref[j]的目标频域系数。
[0598]
首先,可以使用tns标识以及tns参数对参考信号ref[j]的mdct系数(即所述参考频域系数)进行tns处理,得到tns处理后的参考频域系数。
[0599]
例如,当tns标识为1时,利用tns参数对参考信号的mdct系数进行tns处理。
[0600]
接下来,可以使用fdns参数对上述tns处理后的参考频域系数进行fdns处理,得到fdns处理后的参考频域系数,即所述参考目标频域系数x
ref
[k]。
[0601]
需要说明的是,在本申请实施例中,对tns处理和fdns处理的执行顺序并不限定,例如,也可以对所述参考频域系数(即所述参考信号的mdct系数)先进行fdns处理,再进行tns处理,本申请实施例中对此并不限定。
[0602]
特别地,当所述当前帧包括左声道信号和右声道信号时,所述参考目标频域系数x
ref
[k]包括左声道的参考目标频域系数x
refl
[k]和右声道的参考目标频域系数x
refr
[k]。
[0603]
下面图9中以所述当前帧包括左声道信号和右声道信号为例,对本申请实施例的音频信号的解码方法的详细过程进行描述,应理解,图9所示的实施例仅为示例而非限定。
[0604]
s940,对所述当前帧的残差频域系数进行ltp合成。
[0605]
可选地,可以解析码流得到立体声编码标识stereomode。
[0606]
根据所述立体声编码标识stereomode不同,可以分为以下两种情况:
[0607]
情况一:
[0608]
若所述立体声编码标识stereomode为0,则s910中解析码流得到的所述当前帧的目标频域系数为所述当前帧的残差频域系数,例如,所述左声道信号的残差频域系数可以表示为x
l
[k],右声道信号的残差频域系数可以表示为x
r
[k]。
[0609]
此时,可以对所述左声道信号的残差频域系数x
l
[k]和右声道信号的残差频域系数x
r
[k]进行ltp合成。
[0610]
例如,可以使用下述公式进行ltp合成:
[0611]
x
l
[k]=x
l
[k] g
li
*x
refl
[k]
[0612]
x
r
[k]=x
r
[k] g
ri
*x
refr
[k]
[0613]
其中,上述公式左侧的x
l
[k]为ltp合成后得到的所述左声道的目标频域系数,上述公式右侧的x
l
[k]为左声道信号的目标频域系数,上述公式左侧的x
r
[k]为ltp合成后得到的所述右声道的目标频域系数,上述公式右侧的x
r
[k]为右声道信号的目标频域系数,x
refl
为左声道的参考目标频域系数,x
refr
为右声道的参考目标频域系数,g
li
为左声道第i子帧的ltp预测增益,g
ri
为右声道第i子帧的ltp预测增益,m为参与ltp处理的mdct系数的个数,i及k为正整数,且0≤k≤m。
[0614]
进一步地,在本申请实施例中,还可以根据前述s920中解析码流得到的第一标识和/或第二标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp合成,得到所述当前帧的残差频域系数。
[0615]
下面以所述左声道信号为例进行说明,也就是说,下述描述并不限定是所述左声道信号或所述右声道信号,在本申请实施例中,所述左声道信号与所述右声道信号处理方法相同。
[0616]
例如,当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式一中的情况一时,可以通过下述公式对低频带进行ltp合成:
[0617][0618]
其中,上述公式左侧的x
l
[k]为ltp合成后得到的所述左声道的残差频域系数,上述公式右侧的x
l
[k]为左声道信号的目标频域系数,x
refl
为左声道的参考目标频域系数,g
lfi
为左声道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0619]
当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式一中的情况二或情况五时,可以通过下述公式对全频带进行ltp合成:
[0620]
x
l
[k]=x
l
[k] g
fbi
*x
refl
[k]
[0621]
其中,上述公式左侧的x
l
[k]为ltp合成后得到的所述左声道的残差频域系数,上述公式右侧的x
l
[k]为左声道信号的目标频域系数,x
refl
为左声道的参考目标频域系数,g
fbi
为左声道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0622]
再例如,当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式二中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0623][0624]
其中,x
refl
为左声道的参考目标频域系数,g
lfi
为左声道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0625]
当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式二中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0626]
x
l
[k]=x
l
[k] g
fbi
*x
refl
[k]
[0627]
其中,x
refl
为左声道的参考目标频域系数,g
fbi
为左声道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0628]
情况二:
[0629]
若所述立体声编码标识stereomode为1,则s910中解析码流得到的所述当前帧的目标频域系数为所述当前帧的和差立体声信号的残差频域系数,例如,所述当前帧的和差立体声信号的残差频域系数可以表示为x
m
[k]和x
s
[k]。
[0630]
此时,可以对所述当前帧的和差立体声信号的残差频域系数x
m
[k]和x
s
[k]进行ltp合成。
[0631]
例如,可以使用下述公式进行ltp合成:
[0632]
x
m
[k]=x
m
[k] g
mi
*x
refm
[k]
[0633]
x
s
[k]=x
s
[k] g
si
*x
refs
[k]
[0634]
其中,上述公式左侧的x
m
[k]为ltp合成后得到的所述当前帧的m通道的和差立体声信号,上述公式右侧的x
m
[k]为所述当前帧的m通道的残差频域系数,上述公式左侧的x
s
[k]为ltp合成后得到的所述当前帧的s通道的和差立体声信号,上述公式右侧的x
s
[k]为所述当前帧的s通道的残差频域系数,g
mi
为m通道第i子帧的ltp预测增益,g
si
为m通道第i子帧的ltp预测增益,m为参与ltp处理的mdct系数的个数,i及k为正整数,且0≤k≤m,x
refm
和x
refs
为和差立体声处理后的参考信号,具体如下:
[0635][0636][0637]
进一步地,在本申请实施例中,还可以根据前述s920中解析码流得到的第一标识和/或第二标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp合成,得到所述当前帧的残差频域系数。
[0638]
下面以所述m声道信号为例进行说明,也就是说,下述描述并不限定是所述m声道信号或所述s声道信号,在本申请实施例中,所述m声道信号与所述s声道信号处理方法相同。
[0639]
例如,当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式一中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0640][0641]
其中,x
refm
为m通道的参考目标频域系数,g
lfi
为m通道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0642]
当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式一中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0643]
x
m
[k]=x
m
[k] g
fbi
*x
refm
[k]
[0644]
其中,x
refm
为m通道的参考目标频域系数,g
fbi
为m通道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0645]
再例如,当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式二中的情况一时,可以通过下述公式对低频带进行ltp处理:
[0646][0647]
其中,x
refl
为m通道的参考目标频域系数,g
lfi
为m通道第i子帧的低频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0648]
当解析码流得到的所述第一标识和/或所述第二标识满足所述s920中方式二中的情况二或情况五时,可以通过下述公式对全频带进行ltp处理:
[0649]
x
m
[k]=x
m
[k] g
fbi
*x
refm
[k]
[0650]
其中,x
refm
为m通道的参考目标频域系数,g
fbi
为m通道第i子帧的全频带预测增益,stopline为低频mdct系数的截止频点系数索引值,stopline=m/2,,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0651]
需要说明的是,在本申请实施例中,还可以对所述当前帧的残差频域系数进行立体声解码后,再对所述当前帧的残差频域系数进行ltp合成,即先执行s950,再执行s940。
[0652]
s950,对所述当前帧的目标频域系数进行立体声解码。
[0653]
可选地,若所述立体声编码标识stereomode为1,则可以通过以下公式确定立体声编码后的所述当前帧的目标频域系数x
l
[k]和x
r
[k]:
[0654][0655][0656]
其中,x
m
[k]为ltp合成后得到的所述当前帧的m通道的和差立体声信号,x
s
[k]为ltp合成后得到的所述当前帧的s通道的和差立体声信号,m为参与ltp处理的mdct系数的个数,k为正整数,且0≤k≤m。
[0657]
进一步地,若所述当前帧的ltp标识enableraltp为0,则可以解析码流得到所述当前帧的左声道与所述当前帧的右声道的强度电平差ild,获得左声道信号的能量及右声道信号的能量的比值nrgratio,并更新左声道的mdct参数及右声道mdct参数(即左声道的目标频域系数及右声道的目标频域系数)。
[0658]
例如,如果nrgratio小于1.0,则通过下述公式调整左声道的mdct系数:
[0659][0660]
其中,公式左侧的x
refl
[k]代表调整后的左声道的mdct系数,公式右侧的x
l
[k]代表调整前的左声道的mdct系数。
[0661]
如果比值nrgratio大于10,则通过下述公式调整右声道的mdct系数:
[0662][0663]
其中,公式左侧的x
refr
[k]代表调整后的右声道的mdct系数,公式右侧的x
r
[k]代表调整前的右声道的mdct系数。
[0664]
如果当前帧ltp标识enableraltp为1,则不调整左声道的mdct参数x
l
[k]及右声道mdct参数x
r
[k]。
[0665]
s960,对所述当前帧的目标频域系数进行逆滤波处理。
[0666]
对上述立体声编码后的所述当前帧的目标频域系数进行逆滤波处理,得到所述当前帧的频域系数。
[0667]
例如,可以对左声道的mdct参数x
l
[k]及右声道mdct参数x
r
[k]进行逆fdns处理和逆tns处理,就可以得到所述当前帧的频域系数。
[0668]
接下来,对所述当前帧的频域系数进行mdct逆操作,就可以得到所述当前帧的时域合成信号。
[0669]
上文结合图1至图9对本申请实施例的音频信号的编码方法和解码方法进行了详细的描述。下面结合图10至图13对本申请实施例的音频信号的编码装置和解码装置进行描述,应理解,图10至图13中的编码装置与本申请实施例的音频信号的编码方法是对应的,并且该编码装置可以执行本申请实施例的音频信号的编码方法。而图10至图13中的解码装置与本申请实施例的音频信号的解码方法是对应的,并且该解码装置可以执行本申请实施例的音频信号的解码方法。为了简洁,下面适当省略重复的描述。
[0670]
图10是本申请实施例的编码装置的示意性框图。图10所示的编码装置1000包括:
[0671]
获取模块1010,用于获取当前帧的目标频域系数及所述当前帧的参考目标频域系数;
[0672]
处理模块1020,用于根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,其中,所述代价函数用于确定在对所述当前帧的目标频域系数进行编码时是否对所述当前帧进行长时预测ltp处理;
[0673]
编码模块1030,用于根据所述代价函数,对所述当前帧的目标频域系数进行编码。
[0674]
可选地,所述代价函数包括所述当前帧的高频带的代价函数、所述当前帧的低频带的代价函数或所述当前帧的全频带的代价函数中的至少一项,所述高频带为所述当前帧的全频带中大于截止频点的频带,所述低频带为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点用于划分所述低频带和所述高频带。
[0675]
可选地,所述代价函数为所述当前帧的当前频带的预测增益,或者,所述代价函数为所述当前帧的当前频带的估计残差频域系数的能量与所述当前频带的目标频域系数的能量的比值;其中,所述估计残差频域系数为所述当前频带的目标频域系数与所述当前频带的预测频域系数之间的差值,所述预测频域系数是根据所述当前帧的当前频带的参考频域系数与所述预测增益获得的,所述当前频带为所述低频带、高频带或全频带。
[0676]
可选地,所述编码模块1030具体用于:根据所述代价函数,确定第一标识和/或第二标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,所述第二标识用于指示所述当前帧中进行ltp处理的频带;
[0677]
根据所述第一标识和/或所述第二标识,对所述当前帧的目标频域系数进行编码。
[0678]
可选地,所述编码模块1030具体用于:当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,确定所述第一标识为第一值,所述第二标识为第四值;其中,所述第一值用于指示对所述当前帧进行ltp处理,所述第四值用于指示对所述低频带进行ltp处理;或
[0679]
当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,确定所述第一标识为第一值,所述第二标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理,所述第一值用于指示对所述当前帧进行ltp处理;或
[0680]
当所述低频带的代价函数不满足所述第一条件时,确定所述第一标识为第二值,所述第二值用于指示不对所述当前帧进行ltp处理;或
[0681]
当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或
[0682]
当所述全频带的代价函数满足所述第三条件时,确定所述第一标识为第一值,所述第二标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理。
[0683]
可选地,所述编码模块1030具体用于:
[0684]
当所述第一标识为第一值时,根据所述第二标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数;
[0685]
对所述当前帧的残差频域系数进行编码;
[0686]
将所述第一标识及所述第二标识的值写入码流;或
[0687]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行编码;
[0688]
将所述第一标识的值写入码流。
[0689]
可选地,所述编码模块1030具体用于:
[0690]
根据所述代价函数,确定第一标识,所述第一标识用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带;
[0691]
根据所述第一标识,对所述当前帧的目标频域系数进行编码。
[0692]
可选地,所述编码模块1030具体用于:
[0693]
当所述低频带的代价函数满足第一条件且所述高频带的代价函数不满足第二条件时,确定所述第一标识为第一值;其中,所述第一值用于指示对所述低频带进行ltp处理;或
[0694]
当所述低频带的代价函数满足所述第一条件且所述高频带的代价函数满足所述第二条件时,确定所述第一标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理;或
[0695]
当所述低频带的代价函数不满足所述第一条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或
[0696]
当所述低频带的代价函数满足所述第一条件且所述全频带的代价函数不满足第三条件时,确定所述第一标识为第二值;其中,所述第二值用于指示不对所述当前帧进行ltp处理;或
[0697]
当所述全频带的代价函数满足所述第三条件时,确定所述第一标识为第三值;其中,所述第三值用于指示对所述全频带进行ltp处理。
[0698]
可选地,所述编码模块1030具体用于:
[0699]
根据所述第一标识,对所述当前帧的所述高频带、所述低频带或所述全频带中的至少一项进行ltp处理,得到所述当前帧的残差频域系数;
[0700]
对所述当前帧的残差频域系数进行编码;
[0701]
将所述第一标识的值写入码流;或
[0702]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行编码;
[0703]
将所述第一标识的值写入码流。
[0704]
可选地,所述第一条件为所述低频带的代价函数大于或等于第一阈值,所述第二条件为所述高频带的代价函数大于或等于第二阈值,所述第三条件为所述全频带的代价函数大于或等于所述第三阈值;或者,所述第一条件为所述低频带的代价函数小于第四阈值,所述第二条件为所述高频带的代价函数小于所述第四阈值,所述第三条件为所述全频带的代价函数大于或等于第五阈值。
[0705]
可选地,所述处理模块1020还用于:根据所述参考信号的频谱系数,确定所述截止频点。
[0706]
可选地,所述处理模块1020具体用于:
[0707]
根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;
[0708]
根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
[0709]
可选地,所述截止频点为预设值。
[0710]
图11是本申请实施例的解码装置的示意性框图。图11所示的解码装置1100包括:
[0711]
解码模块1110,用于解析码流得到当前帧的解码频域系数;
[0712]
所述解码模块1110,还用于解析码流得到第一标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带;
[0713]
处理模块1120,用于根据所述第一标识,对所述当前帧的解码频域系数进行处理,得到所述当前帧的频域系数。
[0714]
可选地,所述当前帧中进行ltp处理的频带包括高频带、低频带或全频带,所述高频带为所述当前帧的全频带中大于截止频点的频带,所述低频带为所述当前帧的全频带中小于或等于所述截止频点的频带,所述截止频点用于划分所述低频带和所述高频带。
[0715]
可选地,当所述第一标识为第一值时,所述当前帧的解码频域系数为所述当前帧的残差频域系数;当所述第一标识为第二值时,所述当前帧的解码频域系数为所述当前帧的目标频域系数。
[0716]
可选地,所述解码模块1110具体用于:解析码流得到第一标识;当所述第一标识为第一值时,解析码流得到第二标识,所述第二标识用于指示所述当前帧中进行ltp处理的频带。
[0717]
可选地,所述处理模块1120具体用于:当所述第一标识为第一值,且所述第二标识为第四值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述当前帧进行ltp处理,所述第四值用于指示对所述低频带进行ltp处理;根据所述低频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第一值,且所述第二标识为第三值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述当前帧进行ltp处理,所述第三值用于指示对所述全频带进行ltp处理;根据所述全频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数,所述第二值用于指示不对所述当前帧进行ltp处理。
[0718]
可选地,所述处理模块1120具体用于:当所述第一标识为第一值时,获得所述当前帧的参考目标频域系数,所述第一值用于指示对所述低频带进行ltp处理;
[0719]
根据所述低频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;
[0720]
对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或
[0721]
当所述第一标识为第三值时,获得所述当前帧的参考目标频域系数,所述第三值用于指示对所述全频带进行ltp处理;
[0722]
根据所述全频带的预测增益、所述参考目标频域系数及所述当前帧的残差频域系数进行ltp合成,得到所述当前帧的目标频域系数;
[0723]
对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数;或
[0724]
当所述第一标识为第二值时,对所述当前帧的目标频域系数进行处理,得到所述当前帧的频域系数,所述第二值用于指示不对所述当前帧进行ltp处理。
[0725]
可选地,所述处理模块1120具体用于:解析码流得到所述当前帧的基音周期;根据所述当前帧的基音周期,确定所述当前帧的参考频域系数;对所述参考频域系数进行处理,得到所述参考目标频域系数。
[0726]
可选地,所述处理模块1120还用于:根据所述参考信号的频谱系数,确定所述截止频点。
[0727]
可选地,所述处理模块1120具体用于:根据所述参考信号的频谱系数,确定所述参考信号对应的顶峰因子集合;
[0728]
根据所述顶峰因子集合中满足预设条件的顶峰因子,确定所述截止频点。
[0729]
可选地,所述截止频点为预设值。
[0730]
图12是本申请实施例的编码装置的示意性框图。图12所示的编码装置1200包括:
[0731]
存储器1210,用于存储程序。
[0732]
处理器1220,用于执行所述存储器1210中存储的程序,当所述存储器1210中的程序被执行时,所述处理器1220具体用于:获取当前帧的目标频域系数及所述当前帧的参考目标频域系数;根据所述当前帧的目标频域系数及所述参考目标频域系数,计算代价函数,其中,所述代价函数用于确定在对所述当前帧的目标频域系数进行编码时是否对所述当前帧进行长时预测ltp处理;根据所述代价函数,对所述当前帧的目标频域系数进行编码。
[0733]
图13是本申请实施例的解码装置的示意性框图。图13所示的解码装置1300包括:
[0734]
存储器1310,用于存储程序。
[0735]
处理器1320,用于执行所述存储器1310中存储的程序,当所述存储器1310中的程序被执行时,所述处理器1320具体用于:解析码流得到当前帧的解码频域系数;解析码流得到第一标识,所述第一标识用于指示是否对所述当前帧进行ltp处理,或者,所述第一标识用于指示是否对所述当前帧进行ltp处理、和/或所述当前帧中进行ltp处理的频带;根据所述第一标识,对所述当前帧的解码频域系数进行处理,得到所述当前帧的频域系数。
[0736]
应理解,本申请实施例中的音频信号的编码方法以及音频信号的解码方法可以由下图14至图16中的终端设备或者网络设备执行。另外,本申请实施例中的编码装置和解码装置还可以设置在图14至图16中的终端设备或者网络设备中,具体地,本申请实施例中的编码装置可以是图14至图16中的终端设备或者网络设备中的音频信号编码器,本申请实施
例中的解码装置可以是图14至图16中的终端设备或者网络设备中的音频信号解码器。
[0737]
如图14所示,在音频通信中,第一终端设备中的音频信号编码器对采集到的音频信号进行编码,第一终端设备中的信道编码器可以对音频信号编码器得到的码流再进行信道编码,接下来,第一终端设备信道编码后得到的数据通过第一网络设备和第二网络设备传输到第二网络设备。第二终端设备在接收到第二网络设备的数据之后,第二终端设备的信道解码器进行信道解码,得到音频信号编码码流,第二终端设备的音频信号解码器再通过解码恢复出音频信号,由终端设备进行该音频信号的回放。这样就在不同的终端设备完成了音频通信。
[0738]
应理解,在图14中,第二终端设备也可以对采集到的音频信号进行编码,最终通过第二网络设备和第二网络设备将最终编码得到的数据传输给第一终端设备,第一终端设备通过对数据进行信道解码和解码得到音频信号。
[0739]
在图14中,第一网络设备和第二网络设备可以是无线网络通信设备或者有线网络通信设备。第一网络设备和第二网络设备之间可以通过数字信道进行通信。
[0740]
图14中的第一终端设备或者第二终端设备可以执行本申请实施例的音频信号的编解码方法,本申请实施例中的编码装置、解码装置可以分别是第一终端设备或者第二终端设备中的音频信号编码器、音频信号解码器。
[0741]
在音频通信中,网络设备可以实现音频信号编解码格式的转码。如图15所示,如果网络设备接收到的信号的编解码格式为其它音频信号解码器对应的编解码格式,那么,网络设备中的信道解码器对接收到的信号进行信道解码,得到其它音频信号解码器对应的编码码流,其它音频信号解码器对该编码码流进行解码,得到音频信号,音频信号编码器再对音频信号进行编码,得到音频信号的编码码流,最后,信道编码器再对音频信号的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。应理解,图15中的音频信号编码器对应的编解码格式与其它音频信号解码器对应的编解码格式不同。假设其它音频信号解码器对应的编解码格式为第一编解码格式,音频信号编码器对应的编解码格式为第二编解码格式,那么在图15中,通过网络设备就实现了将音频信号由第一编解码格式转化为第二编解码格式。
[0742]
类似的,如图16所示,如果网络设备接收到的信号的编解码格式与音频信号解码器对应的编解码格式相同,那么,在网络设备的信道解码器进行信道解码得到音频信号的编码码流之后,可以由音频信号解码器对音频信号的编码码流进行解码,得到音频信号,接下来,再由其它音频信号编码器按照其它的编解码格式对该音频信号进行编码,得到其它音频信号编码器对应的编码码流,最后,信道编码器再对其它音频信号编码器对应的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。与图15中的情况相同,图16中的音频信号解码器对应的编解码格式与其它音频信号编码器对应的编解码格式也是不同的。如果其它音频信号编码器对应的编解码格式为第一编解码格式,音频信号解码器对应的编解码格式为第二编解码格式,那么在图16中,通过网络设备就实现了将音频信号由第二编解码格式转化为第一编解码格式。
[0743]
在图15和图16中,其它音频编解码器和音频编解码器分别对应不同的编解码格式,因此,经过其它音频编解码器和音频编解码器的处理就实现了音频信号编解码格式的转码。
[0744]
还应理解,图15中的音频信号编码器能够实现本申请实施例中的音频信号的编码方法,图16中的音频信号解码器能够实现本申请实施例的音频信号的解码方法。本申请实施例中的编码装置可以是图15中的网络设备中的音频信号编码器,本申请实施例中的解码装置可以是图15中的网络设备中的音频信号解码器。另外,图15和图16中的网络设备具体可以是无线网络通信设备或者有线网络通信设备。
[0745]
应理解,本申请实施例中的音频信号的编码方法以及音频信号的解码方法也可以由下图17至图19中的终端设备或者网络设备执行。另外,本申请实施例中的编码装置和解码装置还可以设置在图17至图19中的终端设备或者网络设备中,具体地,本申请实施例中的编码装置可以是图17至图19中的终端设备或者网络设备中的多声道编码器中的音频信号编码器,本申请实施例中的解码装置可以是图17至图19中的终端设备或者网络设备中的多声道编码器中的音频信号解码器。
[0746]
如图17所示,在音频通信中,第一终端设备中的多声道编码器中的音频信号编码器对由采集到的多声道信号生成的音频信号进行音频编码,多声道编码器得到的码流包含音频信号编码器得到的码流,第一终端设备中的信道编码器可以对多声道编码器得到的码流再进行信道编码,接下来,第一终端设备信道编码后得到的数据通过第一网络设备和第二网络设备传输到第二网络设备。第二终端设备在接收到第二网络设备的数据之后,第二终端设备的信道解码器进行信道解码,得到多声道信号的编码码流,多声道信号的编码码流包含了音频信号的编码码流,第二终端设备的多声道解码器中的音频信号解码器再通过解码恢复出音频信号,多声道解码器根据恢复出音频信号解码得到多声道信号,由第二终端设备进行该多声道信号的回放。这样就在不同的终端设备完成了音频通信。
[0747]
应理解,在图17中,第二终端设备也可以对采集到的多声道信号进行编码(具体由第二终端设备中的多声道编码器中的音频信号编码器对由采集到的多声道信号生成的音频信号进行音频编码,然后再由第二终端设备中的信道编码器对多声道编码器得到的码流进行信道编码),最终通过第二网络设备和第二网络设备传输给第一终端设备,第一终端设备通过信道解码和多声道解码得到多声道信号。
[0748]
在图17中,第一网络设备和第二网络设备可以是无线网络通信设备或者有线网络通信设备。第一网络设备和第二网络设备之间可以通过数字信道进行通信。
[0749]
图17中的第一终端设备或者第二终端设备可以执行本申请实施例的音频信号的编解码方法。另外,本申请实施例中的编码装置可以是第一终端设备或者第二终端设备中的音频信号编码器,本申请实施例中的解码装置可以是第一终端设备或者第二终端设备中的音频信号解码器。
[0750]
在音频通信中,网络设备可以实现音频信号编解码格式的转码。如图18所示,如果网络设备接收到的信号的编解码格式为其它多声道解码器对应的编解码格式,那么,网络设备中的信道解码器对接收到的信号进行信道解码,得到其它多声道解码器对应的编码码流,其它多声道解码器对该编码码流进行解码,得到多声道信号,多声道编码器再对多声道信号进行编码,得到多声道信号的编码码流,其中多声道编码器中的音频信号编码器对由多声道信号生成的音频信号进行音频编码得到音频信号的编码码流,多声道信号的编码码流包含了音频信号的编码码流,最后,信道编码器再对编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。
[0751]
类似的,如图19所示,如果网络设备接收到的信号的编解码格式与多声道解码器对应的编解码格式相同,那么,在网络设备的信道解码器进行信道解码得到多声道信号的编码码流之后,可以由多声道解码器对多声道信号的编码码流进行解码,得到多声道信号,其中多声道解码器中的音频信号解码器对多声道信号的编码码流中的音频信号的编码码流进行音频解码,接下来,再由其它多声道编码器按照其它的编解码格式对该多声道信号进行编码,得到其它多声道编码器对应的多声道信号的编码码流,最后,信道编码器再对其它多声道编码器对应的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。
[0752]
应理解,在图18和图19中,其它多声道编解码器和多声道编解码器分别对应不同的编解码格式。例如,在图18中,其它音频信号解码器对应的编解码格式为第一编解码格式,多声道编码器对应的编解码格式为第二编解码格式,那么在图18中,通过网络设备就实现了将音频信号由第一编解码格式转化为第二编解码格式。类似地,在图19中,假设多声道解码器对应的编解码格式为第二编解码格式,其它音频信号编码器对应的编解码格式为第一编解码格式,那么在图19中,通过网络设备就实现了将音频信号由第二编解码格式转化为第一编解码格式。因此,经过其它多声道编解码器和多声道编解码的处理就实现了音频信号编解码格式的转码。
[0753]
还应理解,图18中的音频信号编码器能够实现本申请中的音频信号的编码方法,图19中的音频信号解码器能够实现本申请中的音频信号的解码方法。本申请实施例中的编码装置可以是图19中的网络设备中的音频信号编码器,本申请实施例中的解码装置可以是图19中的网络设备中的音频信号解码器。另外,图18和图19中的网络设备具体可以是无线网络通信设备或者有线网络通信设备。
[0754]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0755]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0756]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0757]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0758]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0759]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0760]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜