立体声编码方法及立体声编码器与流程

文档序号:14912867发布日期:2018-07-10 23:54阅读:455来源:国知局

本发明涉及音频编解码技术,具体涉及立体声编码方法及立体声编码器。



背景技术:

随着生活质量的提高,人们对高质量音频的需求不断增大。相对于单声道音频,立体声音频具有各声源的方位感和分布感,能够提高信息的清晰度、可懂度及临场感,因而备受人们青睐。

时域立体声编解码技术是现有的一种常用的立体声编解码技术。现有的时域立体声编码技术,通常是在时域将输入信号下混为两路单声道信号,例如和/差(M/S:Mid/Sid)编码方法。先将左右声道下混为中央通道(Mid channel)以及边通道(Side channel),其中Mid channel为0.5*(L+R),表征了两个声道之间的相关信息;Side channel为0.5*(L-R),表征了两个声道之间的差异信息;其中,L表示左声道信号,R表示右声道信号。然后,分别对Mid channel信号及Side channel信号采用单声道编码方法进行编码。对于Mid channel信号,通常用较多的比特数进行编码;对于Side channel信号,通常用较少的比特数进行编码。

现有的立体声编码方法在对立体声音频信号进行编码时,不考虑立体声音频信号的信号类型,会导致编码后的合成立体声音频信号的声像不稳,有漂移现象,编码质量有提升的空间。



技术实现要素:

本发明实施例提供了立体声编码方法及立体声编码器,能够根据立体声音频信号的信号类型选择不同的编码方式,从而提升编码质量。

本发明的第一方面提供了一种立体声编码方法,包括:

对立体声音频信号的当前帧的左声道时域信号和右声道时域信号进行时域预处理,以获得所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号;其中,时域预处理可以包括滤波处理,具体可以是高通滤波处理;

对所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号进行时延对齐处理,以获得所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号;

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的声道组合方案;其中,声道组合方案可以包括类正相信号声道组合方案或类反相信号声道组合方案;

根据确定的所述当前帧的声道组合方案,所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引;类正相信号声道组合方案和类反相信号声道组合方案对应的获得量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引的方法不相同。

根据确定的所述当前帧的声道组合方案,确定所述当前帧的编码模式;

根据所述当前帧的编码模式和所述当前帧的量化后的声道组合比例因子,对所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号进行下混处理,以获得所述当前帧的主要声道信号和次要声道信号;

对所述当前帧的主要声道信号和次要声道信号进行编码。

结合第一方面,在第一方面的一种实施方式中,所述根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的声道组合方案包括:

根据所述当前帧时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的信号类型,所述信号类型包括类正相信号或类反相信号;

至少根据所述当前帧的信号类型对应确定所述当前帧的声道组合方案,所述声道组合方案包括用于处理类反相信号的类反相信号声道组合方案或用于处理类正相信号的类正相信号声道组合方案。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,如果所述当前帧的声道组合方案为用于处理类反相信号的类反相信号声道组合方案;所述根据确定的所述当前帧的声道组合方案,所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引包括:

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与所述当前帧的长时平滑后的右声道时域信号之间的幅度相关性差异参数;

将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子;

对所述当前帧的声道组合比例因子进行量化,以获得所述当前帧的量化后的声道组合比例因子以及所述量化后的声道组合比例因子的编码索引。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子包括:

对所述幅度相关性差异参数进行映射处理,以获得映射后的幅度相关性差异参数,所述映射后的幅度相关性差异参数的取值处于预设的幅度相关性差异参数取值范围;

将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述幅度相关性差异参数进行映射处理包括:

对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数;所述的限幅处理可以为分段限幅处理或非分段限幅处理,以及所述的限幅处理可以为线性限幅处理或非线性限幅处理;

对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数;所述的映射处理可以为分段映射处理或非分段映射处理,以及所述的映射处理可以为线性映射处理或非线性映射处理。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数包括:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_MIN,其中RATIO_MAX的取值范围是[1.0,3.0],可以取值为1.0,1.5,或3.0等,RATIO_MIN的取值范围是[-3.0,-1.0],可以取值为-1.0,-1.5,或-3.0等。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数包括:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_MAX的取值范围是[1.0,3.0],可以取值为1.0,1.5,或3.0等。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数包括:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,

B1=MAP_MAX-RATIO_MAX*A1或者B1=MAP_HIGH-RATIO_HIGH*A1;

B2=MAP_LOW-RATIO_LOW*A2或者B2=MAP_MIN-RATIO_MIN*A2;

B3=MAP_HIGH-RATIO_HIGH*A3或者B3=MAP_LOW-RATIO_LOW*A3;

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr_map为所述映射后的幅度相关性差异参数,MAP_MAX为所述映射后的幅度相关性差异参数的取值的最大值,MAP_HIGH为所述映射后的幅度相关性差异参数的取值的高门限,MAP_LOW为所述映射后的幅度相关性差异参数的取值的低门限,MAP_MIN为所述映射后的幅度相关性差异参数的取值的最小值,且MAP_MAX>MAP_HIGH>MAP_LOW>MAP_MIN,其中MAP_MAX的取值范围为[2.0,2.5],具体取值可以为2.0,2.2,或2.5等,MAP_HIGH的取值范围为[1.2,1.7],具体取值可以为1.2,1.5,或1.7等,MAP_LOW的取值范围为[0.8,1.3],具体取值可以为0.8,1.0,或1.3等,MAP_MIN的取值范围为[0.0,0.5],具体取值可以为0.0,0.3,或0.5等;

RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_HIGH为所述限幅处理后的幅度相关性差异参数的高门限,RATIO_LOW为所述限幅处理后的幅度相关性差异参数的低门限,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_HIGH>RATIO_LOW>RATIO_MIN,其中RATIO_MAX和RATIO_MIN的取值可以参考前面的描述,RATIO_HIGH的取值范围是[0.5,1.0],具体取值可以为0.5,1.0,或0.75等,RATIO_LOW的取值范围是[-1.0,-0.5],具体取值可以为-0.5,-1.0,或-0.75等。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数包括:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_MAX的取值范围是[1.0,3.0]。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数包括:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*bdiff_lt_corr_limit+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0,1],例如可以取值为0,0.3,0.5,0.7或1等,b的取值范围为[1.5,3],例如可以取值为1.5,2,2.5,或3等,c的取值范围为[0,0.5],例如可以取值为0,0.1,0.3,0.4,或0.5等。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数包括:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*(diff_lt_corr_limit+1.5)2+b*(diff_lt_corr_limit+1.5)+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0.08,0.12],例如可以取值为0.08,0.1,或0.12,b的取值范围为[0.03,0.07],例如可以取值为0.03,0.05,或0.07,c的取值范围为[0.1,0.3],例如可以取值为0.1,0.2,或0.3。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子包括:

通过如下计算式将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子:

其中,ratio_SM为所述当前帧的声道组合比例因子,diff_lt_corr_map为所述映射后的幅度相关性差异参数。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数包括:

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,确定所述当前帧的参考声道信号;

计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数;

根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数包括:

根据所述左声道幅度相关性参数确定所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数;

根据所述右声道幅度相关性参数确定所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数;

根据所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,以及所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数,确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述根据所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,以及所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数,确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数包括:

通过如下计算式确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数:

diff_lt_corr=tdm_lt_corr_LM_SMcur-tdm_lt_corr_RM_SMcur;

其中,diff_lt_corr是所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数,tdm_lt_corr_LM_SMcur是所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,tdm_lt_corr_RM_SMcur是所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述根据所述左声道幅度相关性参数确定所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数包括:

通过如下计算式确定所述当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_LM_SMcur:

tdm_lt_corr_LM_SMcur=α*tdm_lt_corr_LM_SMpre+(1-α)corr_LM;

其中,tdm_lt_corr_LM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,α为平滑因子,α的取值范围为[0,1],corr_LM为所述左声道幅度相关性参数;

所述根据所述右声道幅度相关性参数确定所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数包括:

通过如下计算式确定所述当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_RM_SMcur:

tdm_lt_corr_RM_SMcur=β*tdm_lt_corr_RM_SMpre+(1-β)corr_LM;

其中,tdm_lt_corr_RM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,β为平滑因子,β的取值范围为[0,1],corr_RM为所述左声道幅度相关性参数。

结合第一方面或者第一方面的任意一种实施方式,在第一方面的一种实施方式中,所述计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数包括:

通过如下计算式确定所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数corr_LM:

其中,x′L(n)为所述当前帧的时延对齐后的左声道时域信号,N为所述当前帧的帧长,mono_i(n)为所述参考声道信号;

通过如下计算式确定所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的左声道幅度相关性参数corr_RM:

其中,x′R(n)为所述当前帧的时延对齐后的右声道时域信号。

本发明的第二方面提供了一种立体声编码器,包括处理器和存储器,所述存储器存储了可执行指令,所述可执行指令用于指示所述处理器执行第一方面或第一方面的任意一种实施方式所提供的方法。

本发明的第三方面提供了一种立体声编码器,包括:

预处理单元,用于对立体声音频信号的当前帧的左声道时域信号和右声道时域信号进行时域预处理,以获得所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号;其中,时域预处理可以包括滤波处理,具体可以是高通滤波处理;

时延对齐处理单元,用于对所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号进行时延对齐处理,以获得所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号;

方案确定单元,用于根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的声道组合方案;其中,声道组合方案可以包括类正相信号声道组合方案或类反相信号声道组合方案;

因子获得单元,用于根据确定的所述当前帧的声道组合方案,所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引;类正相信号声道组合方案和类反相信号声道组合方案对应的获得量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引的方法不相同。

模式确定单元,用于根据确定的所述当前帧的声道组合方案,确定所述当前帧的编码模式;

信号获得单元,用于根据所述当前帧的编码模式和所述当前帧的量化后的声道组合比例因子,对所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号进行下混处理,以获得所述当前帧的主要声道信号和次要声道信号;

编码单元,用于对所述当前帧的主要声道信号和次要声道信号进行编码。

结合第三方面,在第三方面的一种实施方式中,方案确定单元可以具体用于:

根据所述当前帧时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的信号类型,所述信号类型包括类正相信号或类反相信号;

至少根据所述当前帧的信号类型对应确定所述当前帧的声道组合方案,所述声道组合方案包括用于处理类反相信号的类反相信号声道组合方案或用于处理类正相信号的类正相信号声道组合方案。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,如果所述当前帧的声道组合方案为用于处理类反相信号的类反相信号声道组合方案;所述因子获得单元可以具体用于:

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与所述当前帧的长时平滑后的右声道时域信号之间的幅度相关性差异参数;

将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子;

对所述当前帧的声道组合比例因子进行量化,以获得所述当前帧的量化后的声道组合比例因子以及所述量化后的声道组合比例因子的编码索引。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数时可以具体用于:

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,确定所述当前帧的参考声道信号;

计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数;

根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数时可以具体用于:

根据所述左声道幅度相关性参数确定所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数;

根据所述右声道幅度相关性参数确定所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数;

根据所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,以及所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数,确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在根据所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,以及所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数,确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数时可以具体用于:

通过如下计算式确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数:

diff_lt_corr=tdm_lt_corr_LM_SMcur-tdm_lt_corr_RM_SMcur;

其中,diff_lt_corr是所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数,tdm_lt_corr_LM_SMcur是所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,tdm_lt_corr_RM_SMcur是所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在根据所述左声道幅度相关性参数确定所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数可以具体用于:

通过如下计算式确定所述当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_LM_SMcur:

tdm_lt_corr_LM_SMcur=α*tdm_lt_corr_LM_SMpre+(1-α)corr_LM;

其中,tdm_lt_corr_LM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,α为平滑因子,α的取值范围为[0,1],corr_LM为所述左声道幅度相关性参数;

所述根据所述右声道幅度相关性参数确定所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数包括:

通过如下计算式确定所述当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_RM_SMcur:

tdm_lt_corr_RM_SMcur=β*tdm_lt_corr_RM_SMpre+(1-β)corr_LM;

其中,tdm_lt_corr_RM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,β为平滑因子,β的取值范围为[0,1],corr_RM为所述左声道幅度相关性参数。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数时可以具体用于:

通过如下计算式确定所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数corr_LM:

其中,x′L(n)为所述当前帧的时延对齐后的左声道时域信号,N为所述当前帧的帧长,mono_i(n)为所述参考声道信号;

通过如下计算式确定所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的左声道幅度相关性参数corr_RM:

其中,x′R(n)为所述当前帧的时延对齐后的右声道时域信号。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子时可以具体用于:

对所述幅度相关性差异参数进行映射处理,以获得映射后的幅度相关性差异参数,所述映射后的幅度相关性差异参数的取值处于预设的幅度相关性差异参数取值范围;

将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述幅度相关性差异参数进行映射处理时可以具体用于:

对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数;所述的限幅处理可以为分段限幅处理或非分段限幅处理,以及所述的限幅处理可以为线性限幅处理或非线性限幅处理;

对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数;所述的映射处理可以为分段映射处理或非分段映射处理,以及所述的映射处理可以为线性映射处理或非线性映射处理。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_MIN。RATIO_MAX和RATIO_MIN的取值可以参考前面的描述,不再赘述。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,

B1=MAP_MAX-RATIO_MAX*A1或者B1=MAP_HIGH-RATIO_HIGH*A1;

B2=MAP_LOW-RATIO_LOW*A2或者B2=MAP_MIN-RATIO_MIN*A2;

B3=MAP_HIGH-RATIO_HIGH*A3或者B3=MAP_LOW-RATIO_LOW*A3;

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr_map为所述映射后的幅度相关性差异参数,MAP_MAX为所述映射后的幅度相关性差异参数的取值的最大值,MAP_HIGH为所述映射后的幅度相关性差异参数的取值的高门限,MAP_LOW为所述映射后的幅度相关性差异参数的取值的低门限,MAP_MIN为所述映射后的幅度相关性差异参数的取值的最小值,且MAP_MAX>MAP_HIGH>MAP_LOW>MAP_MIN;MAP_MAX,MAP_HIGH,MAP_LOW和MAP_MIN的具体取值可以参考前面的描述,不再赘述。

RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_HIGH为所述限幅处理后的幅度相关性差异参数的高门限,RATIO_LOW为所述限幅处理后的幅度相关性差异参数的低门限,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_HIGH>RATIO_LOW>RATIO_MIN;RATIO_HIGH和RATIO_LOW的取值可以参考前面的描述,不再赘述。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*bdiff_lt_corr_limit+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0,1],b的取值范围为[1.5,3],c的取值范围为[0,0.5]。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*(diff_lt_corr_limit+1.5)2+b*(diff_lt_corr_limit+1.5)+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0.08,0.12],b的取值范围为[0.03,0.07],c的取值范围为[0.1,0.3]。

结合第三方面或第三方面的任意一种实施方式,在第三方面的一种实施方式中,所述因子获得单元在将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子时可以具体用于:

通过如下计算式将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子:

其中,ratio_SM为所述当前帧的声道组合比例因子,diff_lt_corr_map为所述映射后的幅度相关性差异参数。

本发明的第四方面提供了一种计算机存储介质,用于存储可执行指令,所述可执行指令被执行时可以实现第一方面以及第一方面的可能的实施方式中的任意一种方法。

本发明的第五方面提供了一种计算机程序,所述计算机程序被执行时可以实现第一方面以及第一方面的可能的实施方式中的任意一种方法。

本发明的第二方面和第二方面的可能的实施方式提供的任意一种立体声编码器可以是手机,个人电脑,平板电脑或可穿戴式设备。

本发明的第三方面和第三方面的可能的实施方式提供的任意一种立体声编码器可以是手机,个人电脑,平板电脑或可穿戴式设备。

从本发明实施例提供的以上技术方案可以看出,由于本发明实施例在进行立体声编码时,先确定了当前帧的声道组合编码方案,然后根据确定的声道组合编码方案获得当前帧的量化后的声道组合比例因子和量化后的声道组合比例因子的编码索引,从而使得获得的当前帧的主要声道信号和次要声道信号符合当前帧的特性,确保了编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例提供的立体声编码方法的流程图;

图2为本发明一个实施例提供的获得声道组合比例因子和编码索引的方法的流程图;

图3为本发明一个实施例提供的获得幅度相关性差异参数的方法的流程图;

图4为本发明一个实施例提供的映射处理的方法的流程图;

图5a为本发明一个实施例提供的限幅处理后的幅度相关性差异参数与映射后的幅度相关性差异参数之间的映射关系图;

图5b为本发明一个实施例提供的处理后的映射后的幅度相关性差异参数示意图;

图6a为本发明另一个实施例提供的限幅处理后的幅度相关性差异参数与映射后的幅度相关性差异参数之间的映射关系图;

图6b为本发明另一个实施例提供的处理后的映射后的幅度相关性差异参数示意图;

图7为本发明另一个实施例提供的立体声编码方法的流程图;

图8为本发明一个实施例提供的立体声编码设备的结构图;

图9为本发明另一个实施例提供的立体声编码设备的结构图;

图10为本发明一个实施例提供的计算机的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的立体声编码方法可以通过计算机实现,具体地可以通过个人电脑,平板电脑,手机,或可穿戴式设备等来实现。其中,可以在计算机上安装专用的硬件来实现本发明实施例提供的立体声编码方法,也可以安装专用的软件来实现本发明实施例提供的立体声编码方法。在一种实施方式中,实现本发明实施例提供的立体声编码方法的计算机100的结构如图10所示,包括至少一个处理器101,至少一个网络接口104,存储器105,和至少一个通信总线102,用于实现这些装置之间的连接通信。处理器101用于执行存储器105中存储的可执行模块来实现本发明的序列转换方法,其中的可执行模块可以是计算机程序。其中,根据计算机100在系统中的作用,以及序列转换方法的应用场景,该计算机100还可以包括有至少一个输入接口106和至少一个输出接口107。

在本发明实施例中,立体声音频信号的当前帧包括左声道时域信号和右声道时域信号,其中,左声道时域信号记作xL(n),右声道时域信号记作xR(n),n为样点序号,n=0,1,…,N-1,N是帧长。帧长根据采样率和信号时长的不同会有不同,例如立体声音频信号的采样率为16KHz,一帧信号为20ms,则帧长N=320,即帧长为320个样点。

本发明实施例提供的一种立体声编码方法的流程如图1所示,包括:

101、对立体声音频信号的当前帧的左声道时域信号和右声道时域信号进行时域预处理,以获得所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号。

进行的时域预处理具体可以是进行滤波处理,或其他公知的时域预处理方式。本发明不对时域预处理的具体方式进行限定。

例如,在一种实施方式中,进行的时域预处理是高通滤波处理,经过高通滤波处理后的信号即为获得的当前帧的预处理后的左声道时域信号和右声道时域信号。例如,可以将当前帧预处理后的左声道时域信号记作xL_HP(n),当前帧预处理后的右声道时域信号记作xR_HP(n)。

102、对所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号进行时延对齐处理,以获得所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号。

时延对齐是立体声音频信号处理中常用的一种处理手段,时延对齐具体实现方法有很多种,本发明实施例对具体的时延对齐方法不做限定。

在一种实施方式中,可以是根据当前帧预处理后的左声道时域信号和右声道时域信号提取声道间时延参数,对提取获得的声道间时延参数进行量化,然后根据量化后的声道间时延参数对所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号进行时延对齐处理,当前帧的时延对齐后的左声道时域信号可以记作x′L(n),当前帧的时延对齐后的右声道时域信号可以记作x′R(n)。其中,声道间时延参数可以包括声道间时间差,声道间相位差中的至少一个。

在另一种实施方式中,可以根据当前帧的预处理后的左声道时域信号和右声道时域信号计算左右声道间的时域互相关函数,再根据时域互相关函数的最大值,确定声道间的时延差,在对确定的声道间的时延差进行量化后,根据量化后的声道间时延差,以选择的一个声道信号为基准,对另一个声道信号进行时延调整,从而获得当前帧时延对齐后的左声道时域信号和右声道时域信号。其中,选择的声道的信号可以是当前帧预处理后的左声道时域信号或右声道时域信号。

103、根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的声道组合方案。

在一种实施方式中,根据当前帧的时延对齐后的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的相位差的不同,当前帧可以区分为类反相信号或类正相信号,对类正相信号和类反相信号的处理是可以不同的,因此根据对类反相信号和类正相信号的处理的不同,对当前帧的声道组合可以有两种声道组合方案可以选择,即,用于处理类正相信号的类正相信号声道组合方案以及用于处理类反相信号的类反相信号声道组合方案。

具体地,可以根据所述当前帧时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的信号类型,所述信号类型包括类正相信号或类反相信号;再至少根据所述当前帧的信号类型确定所述当前帧的声道组合方案。

可以理解的是,在一些实施方式中,可以根据当前帧的信号类型直接选择相应的声道组合方案,例如在当前帧为类正相信号时直接选择类正相信号声道组合方案,在当前帧为类反相信号时直接选择类反相信号声道组合方案。

在另一些实施方式中,在选择当前帧的声道组合方案时,除了可以参考当前帧的信号类型外,还可以参考当前帧的信号特性,当前帧的前K帧的信号类型,当前帧的前K帧的信号特性中的至少一个。其中,当前帧的信号特性可以包括当前帧的时延对齐后的左声道时域信号与当前帧的时延对齐后的右声道时域信号的差信号,当前帧的信号能量比,将当前帧的时延对齐后的左声道时域信号的信噪比,当前帧的时延对齐后的右声道时域信号的信噪比等信息中的至少一种。可以理解的是,当前帧的前K帧可以包括当前帧的前一帧,还可以包括当前帧的前一帧的前一帧等等,其中K的取值为不小于1的整数,该前K帧可以在时域上连续,也可以在时域上不连续。当前帧的前K帧的信号特性与当前帧的信号特性类似,不再赘述。

104、根据确定的所述当前帧的声道组合方案,所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引。

在确定的声道组合方案为类正相信号声道组合方案时,则根据类正相信号声道组合方案来获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引。在确定的声道组合方案为类反相信号声道组合方案时,则根据类反相信号声道组合方案来获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引。

具体的获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引过程在后文详细描述。

105、根据确定的所述当前帧的声道组合方案,确定所述当前帧的编码模式。

其中,当前帧的编码模式可以从预设的至少两种编码模式中确定,具体预设的编码模式的数量以及预设的编码模式对应的具体编码处理方式可以根据需要进行设置和调整,本发明实施例不对预设的编码模式的数量,以及各个预设的编码模式的具体编码处理方式进行限定。

在一种实施方式中,可以预先设置声道组合方案和编码模式的对应关系,在当前帧的声道组合方案确定后,可以直接根据该预先设置的对应关系确定当前帧的编码模式。

在另一种实施方式中,可以预先设置好声道组合方案和编码模式的确定算法,该算法的输入参数至少包括声道组合方案,则在当前帧的声道组合方案确定后,可以根据该预先设置的算法确定当前帧的编码模式。该算法的输入还可以包括当前帧的一些特性以及当前帧的前面帧的特性,其中,当前帧的前面帧至少可以包括当前帧的前一帧,当前帧的前面帧可以在时域上连续也可以在时域上不连续。

106、根据所述当前帧的编码模式和所述当前帧的量化后的声道组合比例因子,对所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号进行下混处理,以获得所述当前帧的主要声道信号和次要声道信号。

不同的编码模式可以对应不同的下混处理,在下混时可以将量化后的声道组合比例因子作为下混处理的一个参数。下混处理可以采用现有的多种下混方式中的任意一种,本发明实施例不对具体的下混处理的方式进行限定。

107、对所述当前帧的主要声道信号和次要声道信号进行编码。

具体的编码过程可使用任何现有的编码方式进行,本发明实施例不对具体的编码方法进行限制。可以理解的是,在对所述当前帧的主要声道信号和次要声道信号进行编码时,可以直接对所述当前帧的主要声道信号和次要声道信号进行编码,也可以对所述当前帧的主要声道信号和次要声道信号进行处理后,在对处理后的所述当前帧的主要声道信号和次要声道信号进行编码,还可以是对主要声道信号的编码索引和次要声道信号的编码索引进行编码。

从上可知,本实施例在进行立体声编码时,先确定了当前帧的声道组合编码方案,然后根据确定的声道组合编码方案获得当前帧的量化后的声道组合比例因子和量化后的声道组合比例因子的编码索引,从而使得获得的当前帧的主要声道信号和次要声道信号符合当前帧的特性,确保了编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。

图2描述了本发明一个实施例提供的获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引的方法的流程,该方法可以在所述当前帧的声道组合方案为用于处理类反相信号的类反相信号声道组合方案时执行,该方法可以作为步骤104的一种具体实现。

201、根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与所述当前帧的长时平滑后的右声道时域信号之间的幅度相关性差异参数。

在一种实施方式中,步骤201的具体实现可以如图3所示,包括如下步骤:

301、根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,确定所述当前帧的参考声道信号。

其中,参考声道信号也可以被称作单声道信号。

在一种实施方式中,可以通过如下计算式获得当前帧的参考声道信号mono_i(n):

302、计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数。

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的左声道时域信号与参考声道信号之间的幅度相关性参数corr_LM:

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的右声道时域信号与参考声道信号之间的幅度相关性参数corr_RM:

其中,|·|表示取绝对值。

303、根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

在一种实施方式中,具体可以通过如下方式计算当前帧的长时平滑后的左右声道时域信号之间的幅度相关性差异参数diff_lt_corr:

根据corr_LM确定所述当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_LM_SMcur,以及根据及corr_RM确定所述当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_RM_SMcur。其中,本发明实施例不限定tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur的具体获得过程,除了可以本发明实施例提供的获得方式外,还可以使用任何可以获得tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur的现有技术。

然后根据tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur计算当前帧长时平滑后的左右声道时域信号之间的幅度相关性差异参数diff_lt_corr。其中,在一种实施方式中,可以通过如下计算式获得diff_lt_corr:

diff_lt_corr=tdm_lt_corr_LM_SMcur-tdm_lt_corr_RM_SMcur

202、将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子。

其中,可以通过预先设置好的算法将幅度相关性差异参数转换为所述当前帧的声道组合比例因子。例如,在一种实施方式中,可以先对对所述幅度相关性差异参数进行映射处理,以获得映射后的幅度相关性差异参数,所述映射后的幅度相关性差异参数的取值处于预设的幅度相关性差异参数取值范围;然后再将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子。

其中,在一种实施方式中,可以通过如下计算式将映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子:

其中,diff_lt_corr_map表示映射后的幅度相关性差异参数,ratio_SM表示所述当前帧的声道组合比例因子,cos(·)表示余弦运算。

203、对所述当前帧的声道组合比例因子进行量化,以获得所述当前帧的量化后的声道组合比例因子以及所述量化后的声道组合比例因子的编码索引。

对当前帧的声道组合比例因子进行量化编码,可以获得量化编码后的当前帧的类反相信号声道组合方案对应的初始编码索引ratio_idx_init_SM,以及量化编码后的当前帧的类反相信号声道组合方案对应的声道组合比例因子的初始值ratio_init_SMqua。在一种实施方式中,ratio_idx_init_SM和ratio_init_SMqua满足如下的关系:

ratio_init_SMqua=ratio_tabl_SM[ratio_idx_init_SM]

其中,ratio_tabl_SM为类反相信号声道组合方案对应的声道组合比例因子标量量化的码书。

需要说明的是,在对当前帧的声道组合比例因子进行量化编码时具体可以采用现有技术中的任何一种标量量化方法,如均匀的标量量化,也可以是非均匀的标量量化;其中,在一种实施方式中,量化编码的编码比特数可以是5比特,4比特,或6比特等。本发明不对具体的量化方法进行限定。

在一种实施方式中,所述当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_LM_SMcur可以通过如下计算式确定:

tdm_lt_corr_LM_SMcur=α*tdm_lt_corr_LM_SMpre+(1-α)corr_LM

其中,tdm_lt_corr_LM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,α为平滑因子,α的取值范围为[0,1],corr_LM为所述左声道幅度相关性参数。

相应地,所述当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_RM_SMcur可以通过如下计算式确定:

tdm_lt_corr_RM_SMcur=β*tdm_lt_corr_RM_SMpre+(1-β)corr_LM;

其中,tdm_lt_corr_RM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,β为平滑因子,β的取值范围为[0,1],corr_RM为所述左声道幅度相关性参数。可以理解的是,平滑因子α和平滑因子β的取值可以相同,也可以不同。

具体地,在一种实施方式中,步骤202中对所述幅度相关性差异参数进行映射处理可以如图4所示,具体可以包括:

401、对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数。其中,在一种实施方式中,所述的限幅处理可以为分段限幅处理或非分段限幅处理,以及所述的限幅处理可以为线性限幅处理或非线性限幅处理。

其中,具体的限幅处理可以采用预先设置的算法来实现。如下举两个具体的例子来描述本发明实施例提供的限幅处理,需要说明的是,如下两个例子仅仅是示例,不构成对本发明实施例的限定,在进行限幅处理时还可以采用其他的限幅处理方式。

第一种限幅处理方式:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_MIN。RATIO_MAX为预先设定的经验值,例如取值范围可以为[1.0,3.0],可以取值为1.0,2.0,或3.0等。RATIO_MIN为预先设定的经验值,例如取值范围可以为[-3.0,-1.0],可以取值为-1.0,-2.0,或-3.0等。需要说明的是,本发明实施例并不对RATIO_MAX和RATIO_MIN的具体取值进行限定,只需要具体的取值满足RATIO_MAX>RATIO_MIN就不会影响本发明实施例的实现。

第二种限幅处理方式:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值。其中,RATIO_MAX为预先设定的经验值,例如取值范围可以为[1.0,3.0],可以取值为1.0,1.5,2.0,或3.0等。

对幅度相关性差异参数进行限幅处理,可以使得限幅处理后的幅度相关性差异参数处于预先设置的范围内,能够进一步确保编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。

402、对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数。在一种实施方式中,所述的映射处理可以为分段映射处理或非分段映射处理,以及所述的映射处理可以为线性映射处理或非线性映射处理。

其中,具体的映射处理可以采用预先设置的算法来实现。如下举四个具体的例子来描述本发明实施例提供的映射处理,需要说明的是,如下四个例子仅仅是示例,不构成对本发明实施例的限定,在进行映射处理时还可以采用其他的映射处理方式。

第一种映射处理方式:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,

B1=MAP_MAX-RATIO_MAX*A1或者B1=MAP_HIGH-RATIO_HIGH*A1;

B2=MAP_LOW-RATIO_LOW*A2或者B2=MAP_MIN-RATIO_MIN*A2;

B3=MAP_HIGH-RATIO_HIGH*A3或者B3=MAP_LOW-RATIO_LOW*A3;

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr_map为所述映射后的幅度相关性差异参数,MAP_MAX为所述映射后的幅度相关性差异参数的取值的最大值,MAP_HIGH为所述映射后的幅度相关性差异参数的取值的高门限,MAP_LOW为所述映射后的幅度相关性差异参数的取值的低门限,MAP_MIN为所述映射后的幅度相关性差异参数的取值的最小值,且MAP_MAX>MAP_HIGH>MAP_LOW>MAP_MIN;MAP_MAX,MAP_HIGH,MAP_LOW和MAP_MIN均可以为预先设置的经验值。例如,MAP_MAX的取值范围可以为[2.0,2.5],具体取值可以为2.0,2.2,或2.5等,MAP_HIGH的取值范围可以为[1.2,1.7],具体取值可以为1.2,1.5,或1.7等,MAP_LOW的取值范围可以为[0.8,1.3],具体取值可以为0.8,1.0,或1.3等,MAP_MIN的取值范围可以为[0.0,0.5],具体取值可以为0.0,0.3,或0.5等。

RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_HIGH为所述限幅处理后的幅度相关性差异参数的高门限,RATIO_LOW为所述限幅处理后的幅度相关性差异参数的低门限,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_HIGH>RATIO_LOW>RATIO_MIN。RATIO_MAX,RATIO_HIGH,RATIO_LOW和RATIO_MIN均可以为预先设置的经验值。其中,RATIO_MAX和RATIO_MIN的取值可以参考前面的描述,RATIO_HIGH的取值范围可以为[0.5,1.0],具体取值可以为0.5,1.0,或0.75等,RATIO_MIN的取值范围可以为[-1.0,-0.5],具体取值可以为-0.5,-1.0,或-0.75等。

第二种映射处理方式:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,第二种映射处理方式中的计算式中的分割点0.5*RATIO_MAX和-0.5*RATIO_MAX可以采用自适应确定的方式来确定,自适应的选择因素可以是时延值delay_com,因此分割点diff_lt_corr_limit_s可以表示为如下的函数:diff_lt_corr_limit_s=f(delay_com)。

第三种映射处理方式:

通过如下计算式对所述幅度相关性差异参数进行非线性映射处理:

diff_lt_corr_map=a*bdiff_lt_corr_limit+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0,1],例如可以取值为0,0.3,0.5,0.7或1等;b的取值范围为[1.5,3],例如可以取值为1.5,2,2.5,或3等;c的取值范围为[0,0.5],例如可以取值为0,0.1,0.3,0.4,或0.5等。

例如,在a取值为0.5,b取值为2.0,c取值为0.3时,diff_lt_corr_map和diff_lt_corr_limit之间的映射关系可以如图5a所示,从图5a可以看出,diff_lt_corr_map的变化范围为[0.4,1.8]之间;相应地,发明人根据图5a所示的diff_lt_corr_map,选取了一段立体声音频信号进行分析,处理后的该段立体声音频信号的不同帧的diff_lt_corr_map值图5b所示,其中,由于diff_lt_corr_map的值较小,为了让不同帧的diff_lt_corr_map差异看起来比较明显,在模拟输出时将每一帧的diff_lt_corr_map放大了30000倍,从图5b可以看出,不同帧的diff_lt_corr_map的变化范围为[9000,15000],则对应的diff_lt_corr_map的变化范围为[9000/30000,15000/30000]之间,即[0.3,0.5]之间,处理后的立体声音频信号的帧间波动也比较平稳,从而保证了合成后的立体声音频信号的声像平稳。

第四种映射处理方式:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*(diff_lt_corr_limit+1.5)2+b*(diff_lt_corr_limit+1.5)+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0.08,0.12],例如可以取值为0.08,0.1,或0.12;b的取值范围为[0.03,0.07],例如可以取值为0.03,0.05,或0.07;c的取值范围为[0.1,0.3],例如可以取值为0.1,0.2,或0.3。

例如,在a取值为0.1,b取值为0.05,c取值为0.2时,diff_lt_corr_map和diff_lt_corr_limit之间的映射关系可以如图6a所示,从图6a可以看出,diff_lt_corr_map的变化范围为[0.2,1.4]之间;相应地,发明人根据图6a所示的diff_lt_corr_map,选取了一段立体声音频信号进行分析,处理后的该段立体声音频信号的不同帧的diff_lt_corr_map值如图6b所示,其中,由于diff_lt_corr_map的值较小,为了让不同帧的diff_lt_corr_map差异看起来比较明显,在模拟输出时将每一帧的diff_lt_corr_map放大了30000倍,从图6b可以看出,不同帧的diff_lt_corr_map的变化范围为[4000,14000],则对应的diff_lt_corr_map的变化范围为[4000/30000,14000/30000]之间,即[0.133,046]之间,因此处理后的立体声音频信号的帧间波动比较平稳,从而保证了合成后的立体声音频信号的声像平稳。

对限幅处理后的幅度相关性差异参数进行映射处理,可以使得映射处理后的幅度相关性差异参数处于预先设置的范围内,能够进一步确保编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。同时,在采用分段映射处理时,分段映射处理的分割点可以根据时延值自适应地确定,使得映射处理后的幅度相关性差异参数更符合当前帧的特性,进一步确保编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。

图7描述了本发明一个实施例提供的立体声信号的编码方法的流程,包括如下步骤:

701、对立体声音频信号的当前帧的左声道时域信号和右声道时域信号进行时域预处理,获得当前帧的预处理后的左声道时域信号和右声道时域信号。

对当前帧的左声道时域信号和右声道时域信号进行时域预处理,具体地可以包括对当前帧的左声道时域信号和右声道时域信号进行高通滤波处理,从而获得当前帧预处理后的左声道时域信号和右声道时域信号,其中,当前帧预处理后的左时域信号记作xL_HP(n),当前帧预处理后的右时域信号记作xR_HP(n)。

其中,在一个实施方式中,进行高通滤波处理滤波器可以是截止频率为20Hz的无限冲激响应(IIR:infinite impulse response)滤波器,当然也可是通过其他类型的滤波器进行处理,本发明实施例并不对所使用的具体滤波器的类型进行限定。例如,在一个实施方式中,采样率为16KHz对应的截止频率为20Hz的高通滤波器的传递函数为:

其中,b0=0.994461788958195,b1=-1.988923577916390,b2=0.994461788958195,a1=1.988892905899653,a2=-0.988954249933127,z为Z变换的变换因子,相应地:

xL_HP(n)=b0*xL(n)+b1*xL(n-1)+b2*xL(n-2)-a1*xL_HP(n-1)-a2*xL_HP(n-2)

xR_HP(n)=b0*xR(n)+b1*xR(n-1)+b2*xR(n-2)-a1*xR_HP(n-1)-a2*xR_HP(n-2)

702、对当前帧预处理后的左声道时域信号和右声道时域信号进行时延对齐处理,获得当前帧时延对齐后的左声道时域信号和右声道时域信号。

具体实现可以参考步骤102的实现,不再赘述。

703、对当前帧时延对齐后的左声道时域信号和右声道时域信号进行时域分析。

在一种实施方式中,时域分析可以包括瞬态检测。其中,瞬态检测可以是对分别当前帧时延对齐后的左声道时域信号和右声道时域信号进行能量检测,检测当前帧是否发生能量突变。例如,可以计算当前帧时延对齐后的左声道时域信号的能量Ecur_L,根据前一帧时延对齐后的左声道时域信号的能量Epre_L和当前帧时延对齐后的左声道时域信号的能量Ecur_L之间的差值的绝对值进行瞬态检测,获得当前帧时延对齐后的左声道时域信号的瞬态检测结果。

当前帧时延对齐后的右声道时域信号进行瞬态检测可以采用与左声道时域信号瞬态检测相同的方法,不再赘述。

需要说明的是,由于时域分析的结果在后续的主要声道信号编码和次要声道信号编码会用到,因此时域分析只需要在主要声道信号编码和次要声道信号编码之前执行都不会影响本发明的实现。可以理解的是,时域分析还可以包含除瞬态检测之外的其他的时域分析,例如频带扩展预处理等。

704、根据当前帧时延对齐后的左声道时域信号和右声道时域信号确定当前帧的声道组合方案。

在一种实施方式中,确定当前帧的声道组合方案包括声道组合方案初始判决和声道组合方案修正判决。在另一种实施方式中,确定当前帧的声道组合方案可以包括声道组合方案初始判决,但是不包括声道组合方案修正判决。

先介绍本发明一种实施方式中的声道组合初始判决:

其中,声道组合初始判决可以包括:根据当前帧时延对齐后的左声道时域信号和右声道时域信号进行声道组合方案初始判决,该声道组合方案初始判决包括确定正反相类型标示和声道组合方案初始值。具体地:

A1、确定当前帧的正反相类型标示的取值

在确定当前帧的正反相类型标示的取值时,具体可以根据x′L(n)和x′R(n)计算当前帧的两个时域信号的相关性值xorr,再根据xorr确定当前帧的正反相类型标示。例如,在一种实施方式中,当xorr小于或等于正反相类型阈值时则将正反相类型标示置为“1”,当xorr大于该正反相类型阈值时则将正反相类型标示置为0。其中,正反相类型阈值的取值是预先设定的,例如可以设置为0.85,0.92,2或2.5等;需要说明的是,正反相类型阈值的具体的取值可以根据经验进行设置,本发明实施例不对该阈值的具体取值进行限定。

可以理解的是,在一些实施方式中,xorr可以是确定当前帧的信号正反相类型标示的取值的一个因素,也就是说在确定当前帧的信号正反相类型标示的取值时,可以不仅仅参考xorr,还可以参考其他的因素,例如,该其他的因素可以是当前帧的时延对齐后的左声道时域信号与当前帧的时延对齐后的右声道时域信号的差信号,当前帧的信号能量比,当前帧的前N帧的时延对齐后的左声道时域信号与当前帧的时延对齐后的右声道时域信号的差信号,和当前帧的前N帧的信号能量比等参数中的一个或多个,其中N为大于或等于1的整数。其中,当前帧的前N帧是指的在时域上与当前帧连续的N帧。

获得的当前帧的正反相类型标示记作tmp_SM_flag,其中tmp_SM_flag为1时表示当前帧的时延对齐后的左声道时域信号与当前帧的时延对齐后的右声道时域信号为类反相信号,为0时表示当前帧的时延对齐后的左声道时域信号与当前帧的时延对齐后的右声道时域信号为类正相信号。

A2、确定当前帧的声道组合方案标示的初始值

如果当前帧的正反相类型标示的取值与前一帧的声道组合方案标示的取值相同,则将前一帧的声道组合方案标示的取值作为当前帧的声道组合方案标示的初始值。

如果当前帧的正反相类型标示的取值与前一帧的声道组合方案标示的取值不同,则将当前帧的时延对齐后的左声道时域信号的信噪比和当前帧的时延对齐后的右声道时域信号的信噪比分别与信噪比阈值进行对比,如果当前帧的时延对齐后的左声道时域信号的信噪比和当前帧的时延对齐后的右声道时域信号的信噪比均小于该信噪比阈值,则将当前帧的正反相类型标示的取值做为当前帧的声道组合方案标示的初始值,否则将前一帧的声道组合方案的取值做为当前帧的声道组合方案标示的初始值。其中,在一种实施方式中,信噪比阈值的取值可以是14.0,15.0,或16.0等。

将获得的当前帧声道组合方案标示的初始值记作tdm_SM_flag_loc。

再介绍本发明一种实施方式中的声道组合修正判决

声道组合修正判决可以包括:根据当前帧的声道组合方案标示的初始值,进行声道组合方案修正判决,确定当前帧的声道组合方案标示以及声道组合比例因子修正标示。其中,可以将获得的当前帧的声道组合方案标示记作tdm_SM_flag,获得的声道组合比例因子修正标示记作tdm_SM_mod i_flag。具体地:

B1、如果当前帧的前一帧的声道组合比例因子修正标示为1,确定当前帧的声道组合方案为类反相信号声道组合方案。

B2、如果当前帧的前一帧的声道组合比例因子修正标示为0,则进行如下处理:

B21、判决当前帧是否满足声道组合方案切换条件。具体包括:

B211、如果当前帧的前一帧的主要声道信号的信号类型为语音信号,则可以根据当前帧的前一帧的信号帧类型,当前帧的前一帧的前一帧的信号帧类型,当前帧的前一帧的初始编码类型(raw coding mode),以及当前帧的之前帧的声道组合方案截至当前帧为止已经持续的帧数来判决当前帧是否满足可以声道组合方案切换条件,具体可以进行如下两种判断中的至少一种:

第一种判断:

判断如下的条件1a,1b,2和3是否满足:

条件1a:当前帧的前一帧的前一帧的主要声道信号的帧类型为VOICED_CLAS,ONSET,SIN_ONSET,INACTIVE_CLAS,或者AUDIO_CLAS,且当前帧的前一帧的主要声道信号的帧类型为UNVOICED_CLAS或VOICED_TRANSITION。

条件1b:当前帧的前一帧的前一帧的次要声道信号的帧类型为VOICED_CLAS,ONSET,SIN_ONSET,INACTIVE_CLAS或者AUDIO_CLAS,且当前帧的前一帧的次要声道信号的帧类型为UNVOICED_CLAS或者VOICED_TRANSITION。

条件2:当前帧的前一帧的主要声道信号的初始编码类型(raw coding mode)和次要声道信号的初始编码类型均不为VOICED。

条件3:当前帧的声道组合方案与当前帧的前一帧的声道组合方案相同,并且截至当前帧已经持续的具有当前帧的声道组合方案的帧数大于连续帧阈值。在一种实施方式中,连续帧阈值可以是3,4,5,或6等。

如果条件1a和条件1b至少有一个满足,同时条件2和条件3都满足,则判决当前帧满足声道组合方案切换条件。

第二种判断:

判断如下的条件4-7是否满足:

条件4:当前帧的前一帧的主要声道信号的帧类型为UNVOICED_CLAS,或者当前帧的前一帧的次要声道信号的帧类型为UNVOICED_CLAS。

条件5:当前帧的前一帧的主要声道信号的初始编码类型和次要声道信号的初始编码类型均不为VOICED。

条件6:当前帧的时延对齐后的左声道时域信号的长时均方根能量值小于能量值阈值,且当前帧的时延对齐后的右声道时域信号的长时均方根能量值小于该能量值阈值。在一种实施方式中,能量值阈值可以是300,400,450,或500等。

条件7:当前帧的前一帧的声道组合方案截至当前帧已经持续的帧数大于所述的连续帧阈值。

如果条件4,条件5,条件6,条件7都成立,则判决当前帧满足声道组合方案切换条件。

B212、如果当前帧的前一帧的主要声道信号的帧类型为音乐信号,则根据当前帧的前一帧的主要声道信号的低频段信号与高频段信号能量比,以及当前帧的前一帧的次要声道信号的低频段信号与高频段信号能量比来判决当前帧是否满足切换条件,具体包括判断如下的条件8是否满足:

条件8:当前帧的前一帧的主要声道信号的低频段信号与高频段信号能量比大于能量比阈值,且当前帧的前一帧的次要声道信号的低频段信号与高频段信号能量比大于能量比阈值。在一种实施方式中,能量比阈值可以是4000,4500,5000,5500,或6000等。

如果条件8满足,则判决当前帧满足声道组合方案切换条件。

B22、如果当前帧的前一帧的声道组合方案与当前帧的声道组合方案初始值不同,则先将标示位置1,如果当前帧满足声道组合方案切换条件则将当前帧的声道组合方案初始值作为当前帧的声道组合方案,同时将标示位置0。其中,标示位为1表示当前帧的声道组合方案初始值与当前帧的前一帧的声道组合方案不同,标示位为0表示当前帧的声道组合方案初始值与当前帧的前一帧的声道组合方案相同。

B23、如果所述标示位为1,当前帧满足可以声道组合方案切换条件,同时当前帧的前一帧的声道组合方案与当前帧正反相类型标示不同,则将当前帧的声道组合方案标示设置为与当前帧前一帧的声道组合方案标示不同。

B24、如果当前帧的声道组合方案为类反相信号声道组合方案,且当前帧的前一帧的声道组合方案为类正相信号声道组合方案,同时当前帧的声道组合比例因子小于声道组合比例因子阈值,则将当前帧声道组合方案修正为类正相信号声道组合方案,同时将当前帧的声道组合比例因子修正标示设置为1。

在当前帧的声道组合方案为类正相信号声道组合方案时,进入705;在当前帧的声道组合方案为类反相信号声道组合方案时,进入708。

5、根据当前帧时延对齐后的左声道时域信号和右声道时域信号以及当前帧的声道组合方案标示,计算当前帧类的声道组合比例因子并量化,获得当前帧的量化后的声道组合比例因子的初始值及量化后的声道组合比例因子的初始值的编码索引。

在一个实施方式中,具体可以通过如下方式获得当前帧的声道组合比例因子的初始值及其编码索引:

C1、根据当前帧时延对齐后的左声道时域信号和右声道时域信号,计算当前帧时延对齐后的左声道时域信号的帧能量以及当前帧时延对齐后的右声道时域信号的帧能量。

当前帧时延对齐后的左声道时域信号的帧能量rms_L可以通过如下计算式计算获得:

当前帧时延对齐后的右声道时域信号的帧能量rms_R可以通过如下计算式计算获得:

其中,x′L(n)为当前帧的时延对齐后的左声道时域信号,x′R(n)为当前帧的时延对齐后的右声道时域信号。

C2、根据当前帧时延对齐后的左声道时域信号和当前帧时延对齐后的右声道时域信号的帧能量,计算当前帧类的声道组合比例因子初始值。

在一种实施方式中,当前帧类正相信号声道组合方案对应的声道组合比例因子的初始值ratio_init可以通过如下计算式计算获得:

C3、对计算获得的当前帧的声道组合比例因子的初始值进行量化,获得当前帧的量化后的声道组合比例因子的初始值ratio_initqua,以及量化后的声道组合比例因子的初始值对应的编码索引ratio_idx_init。

在一种实施方式中,ratio_idx_init和ratio_initqua具有如下关系:

ratio_initqua=ratio_tabl[ratio_idx_init]

其中,ratio_tabl为标量量化的码书。

具体地,在对当前帧的声道组合比例因子进行量化编码时,可以采用任何一种标量量化方法,例如均匀的标量量化方法,或非均匀的标量量化方法等。在一种具体实施方式中,量化编码的编码比特可以是5比特。

在一种实施方式中,在获得了当前帧的声道组合比例因子的初始值以及声道组合比例因子的初始值对应的编码索引后,还可以根据当前帧的声道组合方案标示tdm_SM_flag的值,确定是否对当前帧的声道组合比例因子的初始值对应的编码索引进行修正。例如,假设量化编码的编码比特数为5比特,则当tdm_SM_flag=1时,可以将当前帧的声道组合比例因子的初始值对应的编码索引ratio_idx_init修正为某一预设值,该预设值可以为15,14,或13等;相应地,将当前帧的声道组合比例因子的修正值为ratio_initqua=ratio_tabl[15],ratio_initqua=ratio_tabl[14],或ratio_initqua=ratio_tabl[13]等。当tdm_SM_flag=0时,可以不对当前帧的声道组合比例因子的初始值对应的编码索引进行修正。

需要说明的是,在本发明的一些实施方式中,当前帧的声道组合比例因子还可以通过其他的方式获得,例如可以根据时域立体声编码方法中任何一种计算声道组合比例因子的方法,来计算当前帧的声道组合比例因子。在一些实施方式中,还可以直接将当前帧类的声道组合比例因子的初始值设置为固定值,如0.5,0.4,0.45,0.55,或0.6等。

706、根据当前帧的声道组合比例因子修正标示判断是否需要对当前帧的声道组合比例因子的初始值进行修正。若判断需要修正,则对当前帧的声道组合比例因子的初始值和/或声道组合比例因子的初始值的编码索引进行修正,从而获得当前帧的声道组合比例因子的修正值及声道组合比例因子的修正值的编码索引。若判断不需要修正,则不对当前帧的声道组合比例因子的初始值及声道组合比例因子的初始值的编码索引进行修正。

具体地:若声道组合比例因子修正标示tdm_SM_mod i_flag=1,则需要对当前帧的声道组合比例因子的初始值进行修正。若声道组合比例因子修正标示tdm_SM_modi_flag=0,则不需要对当前帧的声道组合比例因子的初始值进行修正。可以理解的是,在一些实施方式中,也可以在tdm_SM_modi_flag=0时,对当前帧的声道组合比例因子的初始值进行修正,在tdm_SM_mod i_flag=1时,不对当前帧的声道组合比例因子的初始值进行修正。具体可以根据tdm_SM_modi_flag的赋值规则的不同而不同。

在一种实施方式中,具体可以采用如下方式修正当前帧的声道组合比例因子的初始值及声道组合比例因子的初始值的编码索引:

D1、按照如下计算式获得当前帧的类正相信号声道组合方案对应的声道组合比例因子的修正值对应的编码索引:

ratio_idx_mod=0.5*(tdm_last_ratio_idx+16)

其中,tdm_last_ratio_idx为当前帧的前一帧的声道组合比例因子的编码索引,当前帧的前一帧的声道组合方式也为类正相信号声道组合方案。

D2、按照如下计算式获得当前帧的声道组合比例因子的修正值ratio_modqua:

ratio_modqua=ratio_tabl[ratio_idx_mod]

707、根据当前帧的声道组合比例因子的初始值、当前帧的声道组合比例因子的初始值的编码索引、当前帧的声道组合比例因子的修正值、当前帧的声道组合比例因子的修正值的编码索引以及声道组合比例因子修正标示,确定当前帧的声道组合比例因子及当前帧的声道组合比例因子的编码索引。其中,只有在对当前帧的声道组合比例因子的初始值进行了修正时,才需要根据当前帧的声道组合比例因子的修正值、当前帧的声道组合比例因子的修正值的编码索引确定当前帧的声道组合比例因子,否则,可以直接根据当前帧的声道组合比例因子的初始值和当前帧的声道组合比例因子的初始值的编码索引确定当前帧的声道组合比例因子。然后进入步骤709。

在一种实施方式中,具体可以采用如下方式确定类正相信号声道组合方案对应的声道组合比例因子及其编码索引:

E1、根据如下计算式确定当前帧的声道组合比例因子ratio:

其中,ratio_initqua为当前帧的声道组合比例因子的初始值,ratio_modqua为当前帧的声道组合比例因子的修正值,tdm_SM_mod i_flag为当前帧的声道组合比例因子修正标示。

E2、根据如下计算式确定当前帧的声道组合比例因子对应的编码索引ratio_idx:

其中,ratio_idx_init为当前帧的声道组合比例因子的初始值对应的编码索引,ratio_idx_mod为当前帧的声道组合比例因子的修正值对应的编码索引,tdm_SM_mod i_flag为当前帧的声道组合比例因子修正标示。

可以理解的是,由于声道组合比例因子和声道组合比例因子的编码索引可以通过码书互相确定,因此上述的步骤E1和E2可以只执行任意一个,然后根据码书确定声道组合比例因子或声道组合比例因子的编码索引。

708、计算当前帧的声道组合比例因子并量化,获得当前帧的量化后的声道组合比例因子及量化后的声道组合比例因子的编码索引。

在一种实施方式中,可以采用如下的方式获得当前帧的类反相信号声道组合方案对应的声道组合比例因子及当前帧的类反相信号声道组合方案对应的声道组合比例因子对应的编码索引:

F1、判断是否需要对计算当前帧的类反相信号声道组合方案对应的声道组合比例因子需要用到的历史缓存进行重置。

具体地,若当前帧的声道组合方案是类反相信号声道组合方案,而当前帧的前一帧的声道组合方案为类正相信号声道组合方案,则确定需要对该历史缓存进行重置。

例如,在一个实施方式中,若当前帧的声道组合方案标示tdm_SM_flag等于1,且当前帧的前一帧的声道组合方案标示tdm_last_SM_flag等于0,则需要对历史缓存进行重置。

在另一个实施方式中,可以通过历史缓存重置标示tdm_SM_reset_flag来确定是否需要对该历史缓存进行重置。历史缓存重置标示tdm_SM_reset_flag的取值可以在声道组合方案初始判决和声道组合方案修正判决的过程中确定。具体地,若当前帧的声道组合方案标示对应了类反相信号声道组合方案,并且当前帧的前一帧的声道组合方案标示对应了类正相信号声道组合方案,则可以将tdm_SM_reset_flag的取值置为1。当然,也可以将tdm_SM_reset_flag的取值置为0来表示当前帧的声道组合方案标示对应了类反相信号声道组合方案,并且当前帧的前一帧的声道组合方案标示对应了类正相信号声道组合方案。

在对所述的历史缓存进行重置时,可以将该历史缓存中的所有参数均按照预先设定的初始值进行重置;也可以是将改历史缓存中的部分参数均按照预先设定的初始值进行重置;还可以是将改历史缓存中的部分参数按照预先设定的初始值进行重置,而另一部分参数按照计算类正相信号声道组合方案对应的声道组合比例因子用到的历史缓存中对应的参数值进行重置。

在一种实施方式中,历史缓存中的参数可以包括当前帧的前一帧的长时平滑后的左声道时域信号的长时平滑帧能量、当前帧的前一帧的长时平滑后的右声道时域信号的长时平滑帧能量、当前帧的前一帧的时延对齐后的左声道时域信号与参考声道信号之间的幅度相关性参数、当前帧的前一帧的时延对齐后的右声道时域信号与参考声道信号之间的幅度相关性参数、当前帧的前一帧的长时平滑后的左右声道时域信号之间的幅度相关性差异参数、当前帧的前一帧的时延对齐后的左声道时域信号的帧间能量差异、当前帧的前一帧的时延对齐后的右声道时域信号的帧间能量差异、当前帧的前一帧的声道组合比例因子、当前帧的前一帧的声道组合比例因子的编码索引和SM模式参数等参数中的至少一个。具体选择这些参数中的哪些参数作为历史缓存中的参数可以根据具体需要进行选择及调整,相应地,选择历史缓存中的哪部分参数按照预先设定的初始值进行重置也可以根据具体需要进行选择和调整。在一种实施方式中,按照计算类正相信号声道组合方案对应的声道组合比例因子用到的历史缓存中对应的参数值进行重置的参数可以是SM模式参数,该SM模式参数可以按照YX模式中对应的参数的值来重置。

F2、计算当前帧类的声道组合比例因子并量化。

在一种实施方式中,具体可以通过如下方式计算当前帧类的声道组合比例因子:

F21、对当前帧时延对齐后的左声道时域信号和右声道时域信号进行信号能量分析,从而获得当前帧的时延对齐后的左声道时域信号的帧能量、当前帧的时延对齐后的右声道时域信号的帧能量、当前帧的长时平滑后的左声道时域信号的长时平滑帧能量、当前帧的长时平滑后的右声道时域信号的长时平滑帧能量、当前帧的时延对齐后的左声道时域信号的帧间能量差异以及当前帧的时延对齐后的右声道时域信号的帧间能量差异。

其中,当前帧的时延对齐后的左声道时域信号的帧能量和当前帧的时延对齐后的右声道时域信号的帧能量的获得参考前面的描述,此处不再赘述。

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的左声道时域信号的长时平滑帧能量tdm_lt_rms_L_SMcur:

tdm_lt_rms_L_SMcur=(1-A)*tdm_lt_rms_L_SMpre+A*rms_L

其中,tdm_lt_rms_L_SMpre为前一帧左声道的长时平滑帧能量,A为更新因子,一般可以取0到1之间的实数,例如可以取值为0,0.3,0.4,0.5,或1等。

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的右声道时域信号的长时平滑帧能量tdm_lt_rms_R_SMcur:

tdm_lt_rms_R_SMcur=(1-B)*tdm_lt_rms_R_SMpre+B*rms_R

其中,tdm_lt_rms_R_SMpre为前一帧右声道的长时平滑帧能量,B为更新因子,一般可以取0到1之间的实数,例如可以取值为0.3,0.4,0.5等。更新因子B的取值可以与更新因子A的取值相同,更新因子B的取值也可以与更新因子A的取值不同。

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的左声道时域信号的帧间能量差异ener_L_dt:

ener_L_dt=tdm_lt_rms_L_SMcur-tdm_lt_rms_L_SMpre

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的右声道时域信号的帧间能量差异ener_R_dt:

ener_R_dt=tdm_lt_rms_R_SMcur-tdm_lt_rms_R_SMpre

F22、根据当前帧时延对齐后的左声道时域信号和右声道时域信号,确定当前帧的参考声道信号。

在一种实施方式中,可以通过如下计算式获得当前帧的参考声道信号mono_i(n):

其中,参考声道信号也可以被称作单声道信号。

F23、计算当前帧的时延对齐后的左声道时域信号与参考声道信号之间的幅度相关性参数,计算当前帧的时延对齐后的右声道时域信号与参考声道信号之间的幅度相关性参数。

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的左声道时域信号与参考声道信号之间的幅度相关性参数corr_LM:

在一种实施方式中,可以通过如下计算式获得当前帧的时延对齐后的右声道时域信号与参考声道信号之间的幅度相关性参数corr_RM:

其中,|·|表示取绝对值。

F24、根据corr_LM及corr_RM计算当前帧的长时平滑后的左右声道时域信号之间的幅度相关性差异参数。

在一种实施方式中,具体可以通过如下方式计算当前帧的长时平滑后的左右声道时域信号之间的幅度相关性差异参数diff_lt_corr:

F241、根据corr_LM及corr_RM计算当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数以及当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数。

在一种实施方式中,可以通过如下计算式获得当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_LM_SMcur:

tdm_lt_corr_LM_SMcur=α*tdm_lt_corr_LM_SMpre+(1-α)corr_LM其中,tdm_lt_corr_LM_SMpre为当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,α为平滑因子,可以是预先设定的0到1之间的实数,如0、0.2、0.5、0.8或1等,也可以是通过计算自适应获得的。

在一种实施方式中,可以通过如下计算式获得当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_RM_SMcur:

tdm_lt_corr_RM_SMcur=β*tdm_lt_corr_RM_SMpre+(1-β)corr_LM其中,tdm_lt_corr_RM_SMpre为当前帧的前一帧长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数,β为平滑因子,可以是预先设定的0到1之间的实数,如0、0.2、0.5、0.8或1等,也可以是通过计算自适应获得的。其中,平滑因子α与平滑因子β的取值可以相同,平滑因子α与平滑因子β的取值也可以不同。

在另一种实施方式中,具体可以通过如下方式获得tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur:

首先,对corr_LM和corr_RM进行修正,获得修正后的当前帧的时延对齐后的左声道时域信号与参考声道信号之间的幅度相关性参数corr_LM_mod及修正后的当前帧的时延对齐后的右声道时域信号与参考声道信号之间的幅度相关性参数corr_RM_mod。在一种实施方式中,对corr_LM和corr_RM进行修正时,可以直接将corr_LM和corr_RM乘以衰减因子,衰减因子的取值可以是0.70,0.75,0.80,0.85,或0.90等;在一些实施方式中,还可以根据当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号的均方根值的大小来选择相应的衰减因子,例如在当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号的均方根值小于20时,衰减因子的取值可以是0.75,在当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号的均方根值大于或等于20时,衰减因子的取值可以是0.85。

然后,根据corr_LM_mod和tdm_lt_corr_LM_SMpre确定当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数diff_lt_corr_LM_tmp,根据corr_RM_mod和tdm_lt_corr_RM_SMpre确定当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数diff_lt_corr_RM_tmp。其中,在一种实施方式中,diff_lt_corr_LM_tmp可以通过对corr_LM_mod和tdm_lt_corr_LM_SMpre进行加权求和的方式获得,例如,diff_lt_corr_LM_tmp=corr_LM_mod*para1+tdm_lt_corr_LM_SMpre*(1-para1),其中,paral的取值范围是[0,1],例如可以取值为0.2,0.5,或0.8等。diff_lt_corr_RM_tmp的确定方式与diff_lt_corr_LM_tmp的确定方式类似,不再赘述。

然后,根据diff_lt_corr_LM_tmp及diff_lt_corr_RM_tmp,确定当前帧的长时平滑后的左右声道时域信号之间的幅度相关性差异参数的初始值diff_lt_corr_SM。在一种实施方式中,diff_lt_corr_SM=diff_lt_corr_LM_tmp-diff_lt_corr_RM_tmp。

然后,根据diff_lt_corr_SM以及当前帧的前一帧的长时平滑后的左右声道时域信号之间的幅度相关性差异参数tdm_last_diff_lt_corr_SM,确定当前帧的长时平滑后的左右声道时域信号之间的幅度相关性差异的帧间变化参数d_lt_corr。在一种实施方式中,d_lt_corr=diff_lt_corr_RM-tdm_last_diff_lt_corr_SM。

然后,根据rms_L、rms_R、tdm_lt_rms_L_SMcur、tdm_lt_rms_R_SMcur、ener_L_dt、ener_R_dt以及diff_lt_corr,自适应选择左声道平滑因子和右声道平滑因子,左声道平滑因子和右声道平滑因子的取值可以是0.2,0.3,0.5,0.7,或0.8等。其中,左声道平滑因子和右声道平滑因子的取值可以相同,也可以不同。在一种实施方式中,如果rms_L和rms_R小于800,tdm_lt_rms_L_SMcur小于rms_L*0.9并且tdm_lt_rms_R_SMcur小于rms_R*0.9,左声道平滑因子和右声道平滑因子的取值可以为0.3,否则,左声道平滑因子和右声道平滑因子的取值可以为0.7。

最后,根据选择的左声道平滑因子计算tdm_lt_corr_LM_SMcur,根据选择的右声道平滑因子计算tdm_lt_corr_RM_SMcur。在一种实施方式中,具体可以使用选择的左声道平滑因子,对diff_lt_corr_LM_tmp和corr_LM进行加权求和处理获得tdm_lt_corr_LM_SMcur,即tdm_lt_corr_LM_SMcur=diff_lt_corr_LM_tmp*para1+corr_LM*(1-para1),其中paral即为选择的左声道平滑因子。tdm_lt_corr_RM_SMcur的计算可以参考tdm_lt_corr_LM_SMcur的计算方法,不再赘述。

需要说明的是,在本发明的一些实施方式中还可以别的方式计算tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur,本发明实施例不对tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur的具体获得方式作限定。

F242、根据tdm_lt_corr_LM_SMcur和tdm_lt_corr_RM_SMcur计算当前帧长时平滑后的左右声道时域信号之间的幅度相关性差异参数diff_lt_corr。

在一种实施方式中,可以通过如下计算式获得diff_lt_corr:

diff_lt_corr=tdm_lt_corr_LM_SMcur-tdm_lt_corr_RM_SMcur

F25、将diff_lt_corr转换为声道组合比例因子并量化,确定当前帧的声道组合比例因子及当前帧的声道组合比例因子的编码索引。

在一种实施方式中,具体可以通过如下方式将diff_lt_corr转换为声道组合比例因子:

F251、对diff_lt_corr进行映射处理,使映射处理后的左右声道之间的幅度相关性差异参数的取值范围在[MAP_MIN,MAP_MAX]之间。

具体地,F251的具体实现可以参考图4的处理,不再赘述。

F252、将diff_lt_corr_map转换为声道组合比例因子。

在一种实施方式中,可以直接通过如下计算式将diff_lt_corr_map转换为声道组合比例因子ratio_SM:

其中cos(·)表示余弦运算。

在另一种实施方式中,在通过上述计算式将diff_lt_corr_map转换为声道组合比例因子前,可以先根据tdm_lt_rms_L_SMcur、tdm_lt_rms_R_SMcur、ener_L_dt、当前帧的前一帧的编码参数、当前帧的类反相信号声道组合方案对应的声道组合比例因子以及当前帧的前一帧的类反相信号声道组合方案对应的声道组合比例因子中的至少一个,确定是否需要对当前帧的声道组合比例因子进行更新。其中,当前帧的前一帧的编码参数可以包括当前帧的前一帧的主要声道信号的帧间相关性,当前帧的前一帧的次要声道信号的帧间相关性等。

在确定需要对当前帧的声道组合比例因子进行更新时,就可以采用前述的转换diff_lt_corr_map的计算式将diff_lt_corr_map转换为声道组合比例因子。

在确定不需要对当前帧的声道组合比例因子进行更新时,可以直接将当前帧的前一帧的类反相信号声道组合方案对应的声道组合比例因子及该声道组合比例因子对应的编码索引作为当前帧的声道组合比例因子及该声道组合比例因子对应的编码索引。

其中,在一种实施方式中,具体可以根据如下方式确定是否需要对当前帧的类反相信号声道组合方案对应的声道组合比例因子进行更新:如果当前帧的前一帧的主要声道信号的帧间相关性大于或等于0.5,当前帧的前一帧的次要声道信号的帧间相关性大于或等于0.3,则对当前帧的类反相信号声道组合方案对应的声道组合比例因子进行更新,否则不进行更新。

在确定了当前帧的声道组合比例因子后,就可以对当前帧的声道组合比例因子进行量化。

对当前帧的声道组合比例因子进行量化,可以获得当前帧的量化后的声道组合比例因子的初始值ratio_init_SMqua,以及当前帧的量化后的声道组合编码的初始值的编码索引ratio_idx_init_SM;其中,ratio_idx_init_SM和ratio_init_SMqua满足如下的关系:

ratio_init_SMqua=ratio_tabl_SM[ratio_idx_init_SM]

其中,ratio_tabl_SM为类反相信号声道组合方案对应的声道组合比例因子标量量化的码书。其中,量化编码可以采用现有技术中的任何一种标量量化方法,如均匀的标量量化,也可以是非均匀的标量量化;其中,在一种实施方式中,量化编码的编码比特数可以是5比特,4比特,或6比特等。

其中,类反相信号声道组合方案对应的声道组合比例因子标量量化的码书可以和类正相信号声道组合方案对应的声道组合比例因子标量量化的码书相同,从而只需要存储一个用于声道组合比例因子标量量化的码书,减少对存储空间的占用。可以理解的是,类反相信号声道组合方案对应的声道组合比例因子标量量化的码书也可以和类正相信号声道组合方案对应的声道组合比例因子标量量化的码书不同。

其中,为了获得当前帧的声道组合比例因子的最终值和当前帧的声道组合比例因子的最终值的编码索引,本发明实施例提供了如下四种获得方式:

第一种获得方式:

可以直接将ratio_init_SMqua作为当前帧的声道组合比例因子的最终值,以及直接将ratio_idx_init_SM作为当前帧的声道组合比例因子的最终编码索引,即当前帧的声道组合比例因子的最终值的编码索引ratio_idx_SM满足:

ratio_idx_SM=ratio_idx_init_SM

当前帧的声道组合比例因子的最终值满足:

ratio_SM=ratio_tabl[ratio_idx_SM]

第二种获得方式:

在获得了ratio_init_SMqua和ratio_idx_init_SM后,可以根据当前帧的前一帧的声道组合比例因子的最终值的编码索引或者前一帧的声道组合比例因子的最终值,对ratio_init_SMqua和ratio_idx_init_SM进行修正,将修正后的当前帧的的声道组合比例因子的编码索引作为当前帧的声道组合比例因子的最终编码索引,将修正后的当前帧的声道组合比例因子作为当前帧的声道组合比例因子的最终值。其中,由于ratio_init_SMqua和ratio_idx_init_SM可以通过码书互相确定,因此在对ratio_init_SMqua和ratio_idx_init_SM进行修正时,可以对二者中的任意一个进行修正,然后再根据码书确定二者中的另一个的修正值。

具体地,在一种实施方式中,可以采用如下的计算式对ratio_idx_init_SM进行修正ratio_idx_SM:

其中,ratio_idx_SM为当前帧的声道组合比例因子的最终值的编码索引,tdm_last_ratio_idx_SM为当前帧的前一帧的声道组合比例因子的最终值的编码索引,为类反相信号声道组合方案对应的声道组合比例因子的修正因子,一般取经验值,可以取0至1之间的实数,例如可以取值为0,0.5,0.8,0.9,或1.0等。

相应地,当前帧类声道组合比例因子的最终值可以根据如下的计算式确定:

ratio_SM=ratio_tabl[ratio_idx_SM]

第三种获得方式:

直接将未量化的当前帧的声道组合比例因子作为当前帧的声道组合比例因子的最终值,即当前帧的声道组合比例因子的最终值ratio_SM满足:

第四种获得方式:

根据当前帧的前一帧的声道组合比例因子的最终值,对未量化编码的当前帧的声道组合比例因子进行修正,将修正后的当前帧的声道组合比例因子作为当前帧的声道组合比例因子的最终值,然后对当前帧的声道组合比例因子的最终值进行量化,获得当前帧的声道组合比例因子的最终值的编码索引。

709、根据前一帧的声道组合方案和当前帧的声道组合方案的最终值,进行编码模式判决,确定当前帧的编码模式,并根据确定的当前帧的编码模式,进行时域下混处理获得当前帧的主要声道信号和次要声道信号。

其中,当前帧的编码模式可以从预设的至少两种编码模式中确定,具体预设的编码模式的数量以及预设的编码模式对应的具体编码处理方式可以根据需要进行设置和调整,本发明实施例不对预设的编码模式的数量,以及各个预设的编码模式的具体编码处理方式进行限定。

在一种可能的实施方式中,当前帧的声道组合方案标示记作tdm_SM_flag,当前帧的前一帧的声道组合方案标示记作tdm_last_SM_flag,则前一帧的声道组合方案和当前帧的声道组合方案可以标示为(tdm_last_SM_flag,tdm_SM_flag),

假设类正相信号声道组合方案用0表示,类反相信号声道组合方案用1表示,则当前帧的前一帧的声道组合方案和当前帧的声道组合方案组合可以标示为(01),(11),(10)和(00)这四种情况,分别对应的编码模式为编码模式1,编码模式2,编码模式3和编码模式4。在一种实施方式中,可以将确定的当前帧的编码模式记作stereo_tdm_coder_type,stereo_tdm_coder_type的取值可以是0,1,2或3,分别对应前述的(01),(11),(10)和(00)这四种情况。

具体地,若当前帧的编码模式为编码模式1(stereo_tdm_coder_type=0),则采用类正相信号声道组合方案到类反相信号声道组合方案过渡对应的下混处理方法进行时域下混处理;

若当前帧的编码模式为编码模式2(stereo_tdm_coder_type=1),则采用类反相信号声道组合方案对应的时域下混处理方法进行时域下混处理;

若当前帧的编码模式为编码模式3(stereo_tdm_coder_type=2),则采用类反相信号声道组合方案到类正相信号声道组合方案过渡对应的下混处理方法进行时域下混处理;

若当前帧的编码模式为编码模式4(stereo_tdm_coder_type=3),则采用类正相信号声道组合方案对应的时域下混处理方法进行时域下混处理。

其中,类正相信号声道组合方案对应的时域下混处理方法的具体实现可以包括如下三种实施方式中任意一种:

第一种处理方式:

假设当前帧的类正相信号声道组合方案对应的声道组合比例因子为固定系数,则可以按照如下的计算式获得当前帧的时域下混处理后获得的主要声道信号Y(n)和次要声道信号X(n):

其中,在计算式中固定系数的值设置为0.5,在实际应用中,固定系数还可以设置为其他值,如0.4或0.6等。

第二种处理方式:

根据确定的当前帧的类正相信号声道组合方案对应的声道组合比例因子ratio进行时域下混处理,则可以按照如下的计算式获得当前帧的时域下混处理后获得的主要声道信号Y(n)和次要声道信号X(n):

第三种处理方式:

在类正相信号声道组合方案对应的时域下混处理方法的第一种实施方式或第二种实施方式的基础上,进行分段时域下混处理。

类正相信号声道组合方案到类反相信号声道组合方案对应的分段下混处理共分为三段处理,分别为下混处理一,下混处理二,下混处理三,具体处理为:

下混处理一对应类正相信号声道组合方案处理的结尾段:使用前一帧的类正相信号声道组合方案对应的声道组合比例因子和类正相信号声道组合方案对应的时域下混处理方法进行时域下混处理,这样就与前一帧采用了同样的处理方式保证了当前帧与前一帧处理结果的连续性。

下混处理二对应类正相信号声道组合方案和类反相信号声道组合方案处理的重叠段:对使用前一帧的类正相信号声道组合方案对应的声道组合比例因子和类正相信号声道组合方案对应的时域下混处理方法进行时域下混获得的处理结果一与使用当前帧的类反相信号声道组合方案对应的声道组合比例因子和类反相信号声道组合方案对应的时域下混处理方法进行时域下混获得的处理结果二进行加权获得最终处理结果,加权处理具体为结果一使用淡出和结果二使用淡入,在相互对应点上结果一和结果二的加权系数和为1,这样处理保证重叠段与其前后两段两种声道组合方案处理结果的连续性。

下混处理三对应类反相信号声道组合方案处理的开始段:使用当前帧的类反相信号声道组合方案对应的声道组合比例因子和类反相信号声道组合方案对应的时域下混处理方法进行时域下混处理,这样与下一帧采用了同样的处理方式保证了当前帧与前一帧处理结果的连续性。

类反相信号声道组合方案对应的时域下混处理方法的具体实现可以包括:

第一种实施方式:

根据确定的类反相信号声道组合方案对应的声道组合比例因子ratio_SM进行时域下混处理,则可以按照如下的计算式获得当前帧的时域下混处理后获得的主要声道信号Y(n)和次要声道信号X(n):

α1=ratio_SM,

α2=1-ratio_SM

第二种实施方式:

假设当前帧的类反相信号声道组合方案对应的声道组合比例因子为固定系数,则可以按照如下的计算式获得当前帧的时域下混处理后获得的主要声道信号Y(n)和次要声道信号X(n)满足:

其中,在计算式中固定系数的值设置为0.5,在实际应用中,固定系数还可以设置为其他值,如0.4或0.6等。

第三种实施方式:

在进行时域下混处理的时候,考虑到编解码器的时延进行时延补偿。假设编码端的时延补偿为delay_com,则可以按照如下的计算式获得时域下混处理后获得的主要声道信号Y(n)和次要声道信号X(n):

若0≤n<N-delay_com

若N-delay_com≤n<N

其中,

α1_pre=tdm_last_ratio_SM,

α2_pre=1-tdm_last_ratio_SM

tdm_last_ratio_SM=ratio_tabl[tdm_last_ratio_idx_SM]

tdm_last_ratio_idx_SM为当前帧的前一帧的类反相信号声道组合方案对应的声道组合比例因子的最终编码索引,tdm_last_ratio_SM为当前帧的前一帧的类反相信号声道组合方案对应的声道组合比例因子的最终值。

第四种实施方式:

在进行时域下混处理的时候,处理根据编解码器的时延进行时延补偿,还考虑到可能出现tdm_last_ratio不等于ratio_SM的情况,则可以按照如下的计算式获得当前帧的时域下混处理后获得的主要声道信号Y(n)和次要声道信号X(n):

若0≤n<N-delay_com:

若N-delay_com≤n<N-delay_com+NOVA:

若N-delay_com+NOVA≤n<N:

其中,fade_in(i)为淡入因子,满足NOVA为过渡处理长度,取值可以为大于0小于N的整数,流入可以取值为1,40,或50等;fade_out(i)为淡入因子,满足

第五种实施方式:在类反相信号声道组合方案对应的时域下混处理方法的第一种实施方式,第二种实施方式或第三种实施方式的基础上,进行分段时域下混处理。

类反相信号声道组合方案到类正相信号声道组合方案对应的分段下混处理与类正相信号声道组合方案到类反相信号声道组合方案对应的分段下混处理类似,也分为三段处理,分别为下混处理四,下混处理五,下混处理六,具体处理为:

下混处理四对应类反相信号声道组合方案处理的结尾段:使用前一帧的类反相信号声道组合方案对应的声道组合比例因子和第二种的声道组合方案对应的时域下混处理方法进行时域下混处理,这样就与前一帧采用了同样的处理方式保证了当前帧与前一帧处理结果的连续性。

下混处理五对应类反相信号声道组合方案和类正相信号声道组合方案处理的重叠段:使用前一帧的类反相信号声道组合方案对应的声道组合比例因子和类反相信号声道组合方案对应的时域下混处理方法进行时域下混获得的处理结果一与使用当前帧的类正相信号声道组合方案对应的声道组合比例因子和类正相信号声道组合方案对应的时域下混处理方法进行时域下混获得的处理结果二进行加权获得最终处理结果,加权处理具体为结果一使用淡出和结果二使用淡入,在相互对应点上结果一和结果二的加权系数和为1,这样处理保证重叠段与其前后两段两种声道组合方案处理结果的连续性。

下混处理六对应类正相信号声道组合方案处理的开始段:使用当前帧类正相信号声道组合方案对应的声道组合比例因子和类正相信号声道组合方案对应的时域下混处理方法进行时域下混处理,这样与下一帧采用了同样的处理方式保证了当前帧与前一帧处理结果的连续性。

710、对主要声道信号和次要声道信号分别进行编码。

具体地,在一种实施方式中,可以先根据当前帧的前一帧的主要声道信号和/或次要声道信号编码中获得的参数信息以及当前帧的主要声道信号编码和次要声道信号编码的总比特数,对当前帧的主要声道信号编码和次要声道信号编码进行比特分配。然后根据比特分配的结果分别对主要声道信号和次要声道信号进行编码,获得主要声道信号的编码索引、次要声道信号的编码索引。其中,对主要声道信号的编码和对次要声道信号的编码,可以采用任何一种单声道音频编码技术,这里不再赘述。

711、将当前帧的声道组合比例因子编码索引、当前帧的主要声道信号的编码索引、当前帧的次要声道信号的编码索引以及当前帧的声道组合方案标示写入比特流。

可以理解的是,在将当前帧的声道组合比例因子编码索引、当前帧的主要声道信号的编码索引、当前帧的次要声道信号的编码索引以及当前帧的声道组合方案标示写入比特流之前,可以增加其他的处理对当前帧的声道组合比例因子编码索引、当前帧的主要声道信号的编码索引、当前帧的次要声道信号的编码索引以及当前帧的声道组合方案标示中的至少一个进行进一步的处理,此时写入比特流的是处理后的相关信息。

具体地,若当前帧的声道组合方案标示tdm_SM_flag对应了类正相信号声道组合方案,则将当前帧类正相信号声道组合方案对应的声道组合比例因子的最终编码索引ratio_idx写入比特流;若当前帧的声道组合方案标示tdm_SM_flag对应了类反相信号声道组合方案,则将当前帧类反相信号声道组合方案对应的声道组合比例因子的最终编码索引ratio_idx_SM写入比特流。例如,tdm_SM_flag=0,则将当前帧类正相信号声道组合方案对应的声道组合比例因子的最终编码索引ratio_idx写入比特流;tdm_SM_flag=1,则将当前帧类反相信号声道组合方案对应的声道组合比例因子的最终编码索引ratio_idx_SM写入比特流。

从上可知,本实施例在进行立体声编码时,先确定了当前帧的声道组合编码方案,然后根据确定的声道组合编码方案获得当前帧的量化后的声道组合比例因子和量化后的声道组合比例因子的编码索引,从而使得获得的当前帧的主要声道信号和次要声道信号符合当前帧的特性,确保了编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

图8描述了本发明另一个实施例提供的序列转换装置800的结构,包括至少一个处理器802(例如CPU),至少一个网络接口805或者其他通信接口,存储器806,和至少一个通信总线803,用于实现这些装置之间的连接通信。处理器802用于执行存储器806中存储的可执行模块,例如计算机程序。存储器806可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口805(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

在一些实施方式中,存储器806存储了程序8061,程序8061可以被处理器802执行,这个程序被执行时可以执行上述本发明实施例提供的立体声编码方法。

图9描述了本发明一个实施例提供的立体声编码器900的结构,包括:

预处理单元901,用于对立体声音频信号的当前帧的左声道时域信号和右声道时域信号进行时域预处理,以获得所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号;

时延对齐处理单元902,用于对所述当前帧的预处理后的左声道时域信号和预处理后的右声道时域信号进行时延对齐处理,以获得所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号;

方案确定单元903,用于根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的声道组合方案;

因子获得单元904,用于根据确定的所述当前帧的声道组合方案,所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的量化后的声道组合比例因子和所述量化后的声道组合比例因子的编码索引;

模式确定单元905,用于根据确定的所述当前帧的声道组合方案,确定所述当前帧的编码模式;

信号获得单元906,用于根据所述当前帧的编码模式和所述当前帧的量化后的声道组合比例因子,对所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号进行下混处理,以获得所述当前帧的主要声道信号和次要声道信号;

编码单元907,用于对所述当前帧的主要声道信号和次要声道信号进行编码。

其中,在一种实施方式中,方案确定单元903可以具体用于:

根据所述当前帧时延对齐后的左声道时域信号和时延对齐后的右声道时域信号确定所述当前帧的信号类型,所述信号类型包括类正相信号或类反相信号;

至少根据所述当前帧的信号类型对应确定所述当前帧的声道组合方案,所述声道组合方案包括用于处理类反相信号的类反相信号声道组合方案或用于处理类正相信号的类正相信号声道组合方案。

在一种实施方式中,如果所述当前帧的声道组合方案为用于处理类反相信号的类反相信号声道组合方案;所述因子获得单元904可以具体用于:

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与所述当前帧的长时平滑后的右声道时域信号之间的幅度相关性差异参数;

将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子;

对所述当前帧的声道组合比例因子进行量化,以获得所述当前帧的量化后的声道组合比例因子以及所述量化后的声道组合比例因子的编码索引。

在一种实施方式中,所述因子获得单元904在根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,获得所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数时可以具体用于:

根据所述当前帧的时延对齐后的左声道时域信号和时延对齐后的右声道时域信号,确定所述当前帧的参考声道信号;

计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数;

根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

在一种实施方式中,所述因子获得单元904在根据所述左声道幅度相关性参数以及所述右声道幅度相关性参数,计算所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数时可以具体用于:

根据所述左声道幅度相关性参数确定所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数;

根据所述右声道幅度相关性参数确定所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数;

根据所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,以及所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数,确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数。

在一种实施方式中,所述因子获得单元904在根据所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,以及所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数,确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数时可以具体用于:

通过如下计算式确定所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数:

diff_lt_corr=tdm_lt_corr_LM_SMcur-tdm_lt_corr_RM_SMcur;

其中,diff_lt_corr是所述当前帧的长时平滑后的左声道时域信号与长时平滑后的右声道时域信号之间的幅度相关性差异参数,tdm_lt_corr_LM_SMcur是所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数,tdm_lt_corr_RM_SMcur是所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数。

在一种实施方式中,所述因子获得单元904在根据所述左声道幅度相关性参数确定所述当前帧的长时平滑后的左声道时域信号与所述参考声道信号之间的幅度相关性参数可以具体用于:

通过如下计算式确定所述当前帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_LM_SMcur:

tdm_lt_corr_LM_SMcur=α*tdm_lt_corr_LM_SMpre+(1-α)corr_LM;

其中,tdm_lt_corr_LM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,α为平滑因子,α的取值范围为[0,1],corr_LM为所述左声道幅度相关性参数;

所述根据所述右声道幅度相关性参数确定所述当前帧的长时平滑后的右声道时域信号与所述参考声道信号之间的幅度相关性参数包括:

通过如下计算式确定所述当前帧的长时平滑后的右声道时域信号与参考声道信号之间的幅度相关性参数tdm_lt_corr_RM_SMcur:

tdm_lt_corr_RM_SMcur=β*tdm_lt_corr_RM_SMpre+(1-β)corr_LM;

其中,tdm_lt_corr_RM_SMpre为所述当前帧的前一帧的长时平滑后的左声道时域信号与参考声道信号之间的幅度相关性参数,β为平滑因子,β的取值范围为[0,1],corr_RM为所述左声道幅度相关性参数。

在一种实施方式中,所述因子获得单元904在计算所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数,以及所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的右声道幅度相关性参数时可以具体用于:

通过如下计算式确定所述当前帧的时延对齐后的左声道时域信号与所述参考声道信号之间的左声道幅度相关性参数corr_LM:

其中,x′L(n)为所述当前帧的时延对齐后的左声道时域信号,N为所述当前帧的帧长,mono_i(n)为所述参考声道信号;

通过如下计算式确定所述当前帧的时延对齐后的右声道时域信号与所述参考声道信号之间的左声道幅度相关性参数corr_RM:

其中,x′R(n)为所述当前帧的时延对齐后的右声道时域信号。

在一种实施方式中,所述因子获得单元904在将所述幅度相关性差异参数转换为所述当前帧的声道组合比例因子时可以具体用于:

对所述幅度相关性差异参数进行映射处理,以获得映射后的幅度相关性差异参数,所述映射后的幅度相关性差异参数的取值处于预设的幅度相关性差异参数取值范围;

将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子。

在一种实施方式中,所述因子获得单元904在对所述幅度相关性差异参数进行映射处理时可以具体用于:

对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数;

对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数。

在一种实施方式中,所述因子获得单元904在对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_MIN。RATIO_MAX和RATIO_MIN的取值可以参考前面的描述,不再赘述。

在一种实施方式中,所述因子获得单元904在对所述幅度相关性差异参数进行限幅处理,以获得限幅处理后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行限幅处理:

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr为所述幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值。

在一种实施方式中,所述因子获得单元904在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,

B1=MAP_MAX-RATIO_MAX*A1或者B1=MAP_HIGH-RATIO_HIGH*A1;

B2=MAP_LOW-RATIO_LOW*A2或者B2=MAP_MIN-RATIO_MIN*A2;

B3=MAP_HIGH-RATIO_HIGH*A3或者B3=MAP_LOW-RATIO_LOW*A3;

其中,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,diff_lt_corr_map为所述映射后的幅度相关性差异参数,MAP_MAX为所述映射后的幅度相关性差异参数的取值的最大值,MAP_HIGH为所述映射后的幅度相关性差异参数的取值的高门限,MAP_LOW为所述映射后的幅度相关性差异参数的取值的低门限,MAP_MIN为所述映射后的幅度相关性差异参数的取值的最小值,且MAP_MAX>MAP_HIGH>MAP_LOW>MAP_MIN;MAP_MAX,MAP_HIGH,MAP_LOW和MAP_MIN的具体取值可以参考前面的描述,不再赘述。

RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值,RATIO_HIGH为所述限幅处理后的幅度相关性差异参数的高门限,RATIO_LOW为所述限幅处理后的幅度相关性差异参数的低门限,RATIO_MIN为所述限幅处理后的幅度相关性差异参数的最小值,且RATIO_MAX>RATIO_HIGH>RATIO_LOW>RATIO_MIN;RATIO_HIGH和RATIO_LOW的取值可以参考前面的描述,不再赘述。

在一种实施方式中,所述因子获得单元904在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,RATIO_MAX为所述限幅处理后的幅度相关性差异参数的最大值。

在一种实施方式中,所述因子获得单元904在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*bdiff_lt_corr_limit+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0,1],b的取值范围为[1.5,3],c的取值范围为[0,0.5]。

在一种实施方式中,所述因子获得单元904在对所述限幅处理后的幅度相关性差异参数进行映射处理,从而获得所述映射后的幅度相关性差异参数时可以具体用于:

通过如下计算式对所述幅度相关性差异参数进行映射处理:

diff_lt_corr_map=a*(diff_lt_corr_limit+1.5)2+b*(diff_lt_corr_limit+1.5)+c

其中,diff_lt_corr_map为所述映射后的幅度相关性差异参数,diff_lt_corr_limit为所述限幅处理后的幅度相关性差异参数,a的取值范围为[0.08,0.12],b的取值范围为[0.03,0.07],c的取值范围为[0.1,0.3]。

在一种实施方式中,所述因子获得单元904在将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子时可以具体用于:

通过如下计算式将所述映射后的幅度相关性差异参数转换为所述当前帧的声道组合比例因子:

其中,ratio_SM为所述当前帧的声道组合比例因子,diff_lt_corr_map为所述映射后的幅度相关性差异参数。

从上可知,本实施例在进行立体声编码时,先确定了当前帧的声道组合编码方案,然后根据确定的声道组合编码方案获得当前帧的量化后的声道组合比例因子和量化后的声道组合比例因子的编码索引,从而使得获得的当前帧的主要声道信号和次要声道信号符合当前帧的特性,确保了编码后的合成立体声音频信号的声像平稳,减少了漂移现象,从而提升编码质量。

上述立体声编码器各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:Random Access Memory)等。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1