立体声信号的编码方法和编码装置与流程

文档序号:17051371发布日期:2019-03-05 20:11阅读:239来源:国知局
立体声信号的编码方法和编码装置与流程

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



背景技术:

采用时域立体声编码技术对立体声信号进行编码的大致过程如下:

对立体声信号进行声道间时间差估计;

根据声道间时间差对立体声信号进行时延对齐处理;

根据时域下混处理的参数,对时延对齐处理后的信号进行时域下混处理,得到主要声道信号和次要声道信号;

对声道间时间差、时域下混处理的参数、主要声道信号和次要声道信号进行编码,得到编码码流。

其中,在根据声道间时间差对立体声信号进行时延对齐处理时可以先根据声道间时间差从立体声信号的左声道和右声道中选择时间上相对落后的声道作为目标声道,选择另一个声道作为对目标声道进行时延对齐处理的参考声道,然后对目标声道的信号进行时延对齐处理,使得时延对齐处理后的目标声道信号与参考声道信号之间不存在声道间时间差。另外,时延对齐处理还包括人工重建目标声道的前向信号。

但是,由于目标声道的一部分信号是人工确定的(包括过渡段信号和前向信号),该人工确定的部分信号与真实的信号的差别较大,因此,可能会导致采用单声道编码算法对根据时延对齐处理后的立体声信号确定的主要声道信号和次要声道信号进行线性预测分析时得到的线性预测系数与真实的线性预测系数之间存在一定的差异,进而影响编码质量。



技术实现要素:

本申请提供一种立体声信号的编码方法和编码装置,以提高编码过程中线性预测的准确性。

应理解,本申请中的立体声信号可以是原始的立体声信号,也可以是多声道信号中包含的两路信号组成的立体声信号,还可以是由多声道信号中包含的多路信号联合产生的两路信号组成的立体声信号。

另外,本申请中的立体声信号的编码方法,可以是多声道编码方法中使用的立体声信号的编码方法。

第一方面,提供了一种立体声信号的编码方法,该方法包括:根据当前帧的声道间时间差确定所述当前帧的衰减窗的窗长;根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,其中,所述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中的至少一部分点的取值小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值,sub_window_len为所述当前帧的衰减窗的窗长,l为所述修正的线性预测分析窗的窗长,所述修正的线性预测分析窗的窗长等于所述初始线性预测分析窗的窗长;根据所述修正的线性预测分析窗对待处理的声道信号进行线性预测分析。

由于修正的线性预测分析窗中第l-sub_window_len点至第l-1点中的至少一部分点的取值小于所述线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值,从而在线性预测时能够减小当前帧的目标声道的人工重建的重建信号(该重建信号可以包括过渡段信号和前向信号)所起的作用,从而降低人工重建的重建信号与真实信号之间的误差对线性预测分析结果的准确性的影响,因此,可以减小线性预测分析得到的线性预测系数与真实的线性预测系数之间的差异,提高线性预测分析的准确性。

结合第一方面,在第一方面的某些实现方式中,所述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中任意一点的取值小于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的声道间时间差确定所述当前帧的衰减窗的窗长,包括:根据所述当前帧的声道间时间差以及预先设定的过渡段的长度,确定所述当前帧的衰减窗的窗长。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的声道间时间差以及预先设定的过渡段的长度,确定所述当前帧的衰减窗的窗长,包括:将所述当前帧的声道间时间差的绝对值与所述预先设定的过渡段的长度的和确定为所述当前帧的衰减窗的窗长。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的声道间时间差以及预先设定的过渡段的长度,确定所述当前帧的衰减窗的窗长,包括:在所述当前帧的声道间时间差的绝对值大于或者等于所述预先设定的过渡段的长度的情况下,将所述当前帧的声道间时间差的绝对值与所述预先设定的过渡段的长度的和确定为所述当前帧的衰减窗的窗长;在所述当前帧的声道间时间差的绝对值小于所述预先设定的过渡段的长度的情况下,将所述当前帧的声道间时间差的绝对值的n倍确定为所述当前帧的衰减窗的窗长,其中,n为预先设定的大于0且小于l/maxdelay的实数,maxdelay为预设的大于0的实数。

可选地,上述maxdelay为声道间时间差的绝对值的最大值。应理解,这里的声道间时间差可以是对立体声信号进行编解码时预先设定的声道间时间差。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述当前帧的衰减窗的窗长对所述初始线性预测分析窗进行修正,其中,所述修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。

上述衰减值可以是修正的线性预测分析窗中的点的取值相对于线性预测分析窗中相应点的取值的衰减值。

具体地,例如,第一点为修正的线性预测衰减窗中第l-sub_window_len点至第l-1点中的任意一点,而第二点则是线性预测分析窗中与第一点相对应的对应点。那么,上述衰减值可以是第一点的取值相对于第二点的取值的衰减值。

在对声道信号进行时延对齐处理时,需要人工重建当前帧的目标声道的前向信号,但是在人工重建的前向信号中,离当前帧的目标声道的真实信号越远的点的信号值估计的越不准确,而修正后的线性预测分析窗会作用于人工重建的前向信号,因此,采用本申请中的修正的线性预测分析窗对前向信号进行处理时,可以降低人工重建的前向信号离真实信号较远的点的信号在线性预测分析时的所占的比重,能够进一步提高线性预测的准确性。

结合第一方面,在第一方面的某些实现方式中,所述修正的线性预测分析窗满足公式:

其中,wadp(i)为修正的线性预测分析窗,w(i)为所述初始线性预测分析窗,其中,max_atten为预设的大于0的实数。

应理解,上述max_atten可以是在对声道信号进行编解码时预先设置的多个衰减值中的最大的衰减值。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述当前帧的衰减窗的窗长确定所述当前帧的衰减窗;根据所述当前帧的衰减窗对所述初始线性预测分析窗进行修正,其中,所述修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的衰减窗的窗长确定所述当前帧的衰减窗,包括:根据所述当前帧的衰减窗的窗长,从预先存储的多个候选衰减窗中确定所述当前帧的衰减窗,其中,所述多个候选衰减窗对应不同的窗长取值范围,所述不同的窗长取值范围之间没有交集。

通过从预先存储的多个候选衰减窗中确定当前帧的衰减窗,能够减少确定衰减窗时的计算复杂度。

具体地,在根据衰减窗的窗长在不同取值范围对应的预先选定的衰减窗的窗长分别计算出对应的衰减窗之后,可以将衰减窗的窗长在不同取值范围内对应的衰减窗存储起来,这样可以在后续确定当前帧的衰减窗的窗长后能够直接根据当前帧的衰减窗的窗长满足的取值范围从预先存储的多个衰减窗中确定出当前帧的衰减窗,能够减少计算过程,简化计算的复杂度。

应理解,在计算衰减窗时预先选定的衰减窗窗长可以是衰减窗的窗长的所有可能取值或者衰减窗的窗长的所有可能取值的子集。

结合第一方面,在第一方面的某些实现方式中,所述当前帧的衰减窗满足公式:

其中,sub_window(i)为所述当前帧的衰减窗,max_atten为预设的大于0的实数。

应理解,上述max_atten可以是在对声道信号进行编解码时预先设置的多个衰减值中的最大的衰减值。

结合第一方面,在第一方面的某些实现方式中,所述修正的线性预测分析窗满足公式:

其中,wadp(i)为所述修正的线性预测分析窗的窗函数,w(i)为所述初始线性预测分析窗,sub_window(.)为所述当前帧的衰减窗。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述当前帧的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定所述修正的线性预测分析窗,其中,所述多个候选线性预测分析窗对应不同的窗长取值范围,所述不同的窗长取值范围之间没有交集。

通过从预先存储的多个候选线性预测分析窗中确定修正的线性预测分析窗,能够减少确定修正的线性预测分析窗时的计算复杂度。

具体地,在根据初始线性预测分析窗以及衰减窗的窗长在不同取值范围对应的预先选定的衰减窗的窗长分别计算出对应的修正的线性预测分析窗之后,可以将衰减窗的窗长在不同取值范围内对应的修正的线性预测分析窗存储起来,这样可以在后续确定当前帧的衰减窗的窗长后能够直接根据当前帧的衰减窗的窗长满足的取值范围从预先存储的多个线性预测分析窗中确定出修正的线性预测分析窗,能够减少计算过程,简化计算的复杂度。

可选地,上述计算修正的线性预测分析窗时预先选定的衰减窗窗长可以是衰减窗的窗长的所有可能取值或者衰减窗的窗长的所有可能取值的子集。

结合第一方面,在第一方面的某些实现方式中,在根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗之前,所述方法还包括:根据预设的间隔步长,对所述当前帧的衰减窗的窗长进行修正,以获得修正的衰减窗的窗长,其中,所述间隔步长为预设的正整数;所述根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述初始线性预测分析窗以及所述修正的衰减窗的窗长确定修正的线性预测分析窗。

可选地,上述间隔步长为小于衰减窗的窗长最大值的正整数。

通过采用预设的间隔步长对当前帧的衰减窗的窗长进行修正,能够降低衰减窗的窗长,并且通过将修正的衰减窗的窗长的可能的取值限定在有限数值组成的集合内,便于存储修正的衰减窗的窗长的可能的取值对应的衰减窗,从而降低后续计算的复杂度。

结合第一方面,在第一方面的某些实现方式中,所述修正的衰减窗的窗长满足公式:

其中,sub_window_len_mod为所述修正的衰减窗的窗长,len_step为所述间隔步长。

结合第一方面,在第一方面的某些实现方式中,所述根据所述初始线性预测分析窗以及所述修正的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述修正的衰减窗的窗长对所述初始线性预测分析窗进行修正。

结合第一方面,在第一方面的某些实现方式中,所述根据所述初始线性预测分析窗以及所述修正的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述修正的衰减窗的窗长确定所述当前帧的衰减窗;根据所述修正的衰减窗对所述当前帧的线性预测分析窗初始线性预测分析窗进行修正。

结合第一方面,在第一方面的某些实现方式中,所述根据所述修正的衰减窗的窗长确定所述当前帧的衰减窗,包括:根据所述修正的衰减窗的窗长,从预先存储的多个候选衰减窗中确定所述当前帧的衰减窗,其中所述预先存储的多个候选衰减窗为所述修正的衰减窗的窗长在不同取值时对应的衰减窗。

在根据一组预先选定的修正的衰减窗的窗长分别计算出对应的衰减窗之后,可以将预先选定的修正的衰减窗的窗长对应的衰减窗存储起来,这样可以在后续确定修正的衰减窗的窗长后能够直接根据修正的衰减窗的窗长从预先存储的多个候选衰减窗中确定出当前帧的衰减窗,能够减少计算过程,简化计算的复杂度。

应理解,这里预先选定的修正的衰减窗的窗长可以为修正的衰减窗的窗长的所有可能的取值或修正的衰减窗的窗长的所有可能的取值的子集。

结合第一方面,在第一方面的某些实现方式中,所述根据所述当前帧的线性预测分析窗初始线性预测分析窗以及所述修正的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述修正的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定所述修正的线性预测分析窗,其中所述预先存储的多个候选线性预测分析窗为所述修正的衰减窗的窗长在不同取值时对应的修正的线性预测分析窗。

在根据当前帧的线性预测分析窗初始线性预测分析窗以及一组预先选定的修正的衰减窗的窗长分别计算出对应的修正的线性预测分析窗之后,可以将预先选定的修正的衰减窗的窗长对应的修正的线性预测分析窗存储起来,这样可以在后续确定修正的衰减窗的窗长后能够直接根据修正的衰减窗的窗长从预先存储的多个候选线性预测分析窗中确定出修正的线性预测分析窗,能够减少计算过程,简化计算的复杂度。

可选地,这里预先选定的修正的衰减窗的窗长为修正的衰减窗的窗长的所有可能的取值或修正的衰减窗的窗长的所有可能的取值的子集。

第二方面,提供一种编码装置,所述编码装置包括用于执行所述第一方面或者其各种实现方式的模块。

第三方面,提供一种编码装置,包括存储器和处理器,所述存储器用于存储程序,所述处理器用于执行程序,当所述程序被执行时,所述处理器执行所述第一方面或者第一方面的任一可能的实现方式中的方法。

第四方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或其各种实现方式中的方法的指令。

第五方面,提供一种芯片,所述芯片包括处理器与通信接口,所述通信接口用于与外部器件进行通信,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。

可选地,作为一种实现方式,所述芯片集成在终端设备或网络设备上。

附图说明

图1是时域立体声编码方法的示意性流程图。

图2是时域立体声解码方法的示意性流程图。

图3是本申请实施例的立体声信号的编码方法的示意性流程图。

图4是根据本申请实施例的立体声信号的编码方法得到的线性预测系数与真实的线性预测系数之间的差异的频谱图。

图5是本申请实施例的立体声信号的编码方法的示意性流程图。

图6是本申请实施例的时延对齐处理的示意图。

图7是本申请实施例的时延对齐处理的示意图。

图8是本申请实施例的时延对齐处理的示意图。

图9是本申请实施例的线性预测分析过程的示意性流程图。

图10是本申请实施例的线性预测分析过程的示意性流程图。

图11是本申请实施例的编码装置的示意性框图。

图12是本申请实施例的编码装置的示意性框图。

图13是本申请实施例的终端设备的示意图。

图14是本申请实施例的网络设备的示意图。

图15是本申请实施例的网络设备的示意图。

图16是本申请实施例的终端设备的示意图。

图17是本申请实施例的网络设备的示意图。

图18是本申请实施例的网络设备的示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

为了便于理解本申请实施例的立体声信号编码方法,下面先结合图1和图2对时域立体声编解码方法的大致编解码过程进行简单的介绍。

图1是时域立体声编码方法的示意性流程图。该编码方法100具体包括:

110、编码端对立体声信号进行声道间时间差估计,得到立体声信号的声道间时间差。

其中,上述立体声信号包括左声道信号和右声道信号,立体声信号的声道间时间差是指左声道信号和右声道信号之间的时间差。

120、根据估计得到的声道间时间差对左声道信号和右声道信号进行时延对齐处理。

130、对立体声信号的声道间时间差进行编码,得到声道间时间差的编码索引,写入立体声编码码流。

140、确定声道组合比例因子,并对声道组合比例因子进行编码,得到声道组合比例因子的编码索引,写入立体声编码码流。

150、根据声道组合比例因子对时延对齐处理后的左声道信号和右声道信号进行时域下混处理。

160、对下混处理后得到的主要声道信号和次要声道信号分别进行编码,得到主要声道信号和次要声道信号的码流,写入立体声编码码流。

图2是时域立体声解码方法的示意性流程图。该解码方法200具体包括:

210、根据接收到的码流解码得到主要声道信号和次要声道信号。

步骤210中的码流可以是解码端从编码端接收到的,另外,步骤210相当于分别进行主要声道信号解码和次要声道信号解码,以得到主要声道信号和次要声道信号。

220、根据接收到的码流解码得到声道组合比例因子。

230、根据声道组合比例因子对主要声道信号和次要声道信号进行时域上混处理,得到时域上混处理后的左声道重建信号和右声道重建信号。

240、根据接收到的码流解码得到声道间时间差。

250、根据声道间时间差对时域上混处理后的左声道重建信号和右声道重建信号进行时延调整,得到解码后的立体声信号。

在上述方法100的步骤120中进行时延对齐处理时,需要人工重建当前帧的目标声道的前向信号,但是当前帧的目标声道的人工重建的前向信号与真实的前向信号之间的差异较大。因此,在进行线性预测分析时,这部分人工重建的前向信号会导致步骤160中对下混处理后得到的主要声道信号和次要声道信号分别进行编码时线性预测分析得到的线性预测系数不够准确,线性预测分析得到的线性预测系数与真实的线性预测系数之间存在一定的差距,因此,需要提出一种新的立体声信号的编码方法,该编码方法能够提高线性预测分析的准确性,减小线性预测分析得到的线性预测系数与真实的线性预测系数之间的差异。

因此,本申请提出了一种新的立体声编码方法,该方法通过对初始线性预测分析窗进行修正,使得修正的线性预测分析窗中与当前帧的目标声道的人工重建的前向信号对应点的取值小于未经修正的线性预测分析窗中与当前帧的目标声道的人工重建的前向信号对应点的取值,从而在线性预测时减小当前帧的目标声道的工重建的前向信号所起的作用,从而降低人工重建的前向信号与真实的前向信号之间的误差对线性预测分析结果的准确性的影响,这样就可以减小线性预测分析得到的线性预测系数与真实的线性预测系数之间的差异,提高线性预测分析的准确性。

图3是本申请实施例的编码方法的示意性流程图。该方法300可以由编码端执行,该编码端可以是编码器或者是具有编码立体声信号功能的设备。应理解,方法300可以是上述方法100的步骤160中对下混处理后得到的主要声道信号和次要声道信号进行编码的整个过程中的一部分。具体地,方法300可以是上述步骤160中对下混处理后得到的主要声道信号或者次要声道信号进行线性预测的过程。

上述方法300具体包括:

310、根据当前帧的声道间时间差确定当前帧的衰减窗的窗长。

可选地,可以直接将当前帧的声道间时间差的绝对值与当前帧预先设定的过渡段(过渡段位于当前帧的真实信号与人工重建的前向信号之间)的长度的和确定为衰减窗的窗长。

具体地,可以根据公式(1)确定当前帧的衰减窗的窗长。

sub_window_len=abs(cur_itd)+ts2(1)

在公式(1)中,sub_window_len为衰减窗的窗长,cur_itd为当前帧的声道间时间差,abs(cur_itd)为当前帧的声道间时间差的绝对值,ts2是为了增强当前帧的真实信号与人工重建的前向信号之间的平滑而预先设定的过渡段的长度。

由公式(1)可知,衰减窗的窗长的最大值满足公式(2)。

max_win_len=max_delay+ts2(2)

其中,max_win_len为衰减窗的窗长的最大值,ts2的在公式(2)中的含义与在公式(1)中的含义相同,max_delay预设的大于0的实数,进一步地,max_delay可以为声道间时间差的绝对值所能取到的最大值。对于不同的编解码器来说,声道间时间差的绝对值所能取到的最大值可能会有所不同,并且max_delay可以由用户或编解码器的厂家根据需要进行设定。可以理解的是,在编解码器工作时,max_delay的具体取值已经是一个确定的值。

例如,当立体声信号的采样率为16khz时,max_delay可以为40,ts2可以为10,此时根据公式(2)可知当前帧的声道间时间差的绝对值的最大值max_win_len为50。

可选地,还可以根据当前帧的声道间时间差的绝对值与当前帧的预先设定的过渡段的长度的大小关系来确定当前帧的衰减窗的窗长。

具体而言,在当前帧的声道间时间差的绝对值大于等于当前帧的预先设定的过渡段的长度时,当前帧的衰减窗的窗长为当前帧的声道间时间差的绝对值与当前帧的预先设定的过渡段的长度的和;在当前帧的声道间时间差的绝对值小于当前帧的预先设定的过渡段的长度时,当前帧的衰减窗的窗长为当前帧的声道间时间差的绝对值的n倍,理论上,n可以是预先设置的任何大于零小于l/maxdelay的实数,而在一般情况下,n可以为预先设定的大于0小于等于2的整数。

具体地,可以根据公式(3)确定当前帧的衰减窗的窗长。

在公式(4)中,sub_window_len为衰减窗的窗长,cur_itd为当前帧的声道间时间差,abs(cur_itd)为当前帧的声道间时间差的绝对值,ts2是为了增强当前帧的真实信号与人工重建的前向信号之间的平滑而预先设定的过渡段的长度,n为预先设定的大于0小于l/maxdelay的实数,优选地,n为预先设定的大于0小于等于2的整数,例如n为2。

可选地,ts2为预设的正整数,例如,在采样率为16khz时,ts2为10。另外,当立体声信号的采样率不同时,ts2既可以设置相同的值,也可以设置不同的值。

当根据公式(3)确定当前帧的衰减窗的窗长时,衰减窗的窗长的最大值满足公式(4)或者公式(5)。

max_win_len=max_delay+ts2(4)

max_win_len=n*max_delay(5)

例如,当立体声信号的采样率为16khz时,max_delay可以为40,ts2可以为10,n可以为2,此时根据公式(4)可知当前帧的声道间时间差的绝对值的最大值max_win_len为50。

例如,当立体声信号的采样率为16khz时,max_delay可以为40,ts2可以为50,n可以为2,此时根据公式(5)可知当前帧的声道间时间差的绝对值的最大值max_win_len为80。

320、根据当前帧的衰减窗的窗长确定修正的线性预测分析窗,其中,修正的线性预测分析窗的第l-sub_window_len点至第l-1点中的至少一部分点的取值小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值,sub_window_len为当前帧的衰减窗的窗长,l为修正的线性预测分析窗的窗长,修正的线性预测分析窗的窗长等于初始线性预测分析窗的窗长。

进一步地,上述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中任意一点的取值小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值。

其中,修正的线性预测分析窗的第l-sub_window_len点至第l-1点中任意一点在初始线性预测分析窗的第l-sub_window_len点至第l-1点中的对应点,是指在初始线性预测分析窗中与所述任意一点具有相同的索引(index)的点,例如,修正的线性预测分析窗中的第l-sub_window_len点在初始线性预测分析窗的对应点是初始线性预测分析窗中的第l-sub_window_len点。

可选地,根据当前帧的衰减窗的窗长确定修正的线性预测分析窗,具体包括:根据当前帧的衰减窗的窗长对初始线性预测分析窗进行修正,以得到修正的线性预测分析窗。进一步地,修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。

应理解,上述衰减值可以是修正的线性预测分析窗中的点的取值相对于线性预测分析窗中相应点的取值的衰减值。例如,在确定修正的线性预测分析窗中第l-sub_window_len点的取值相对于线性预测分析窗中相应点的取值的衰减值时,具体可以通过线性预测分析窗中第l-sub_window_len点的取值与修正的线性预测分析窗中第l-sub_window_len点的取值的差值确定。

例如,第一点为修正的线性预测衰减窗中第l-sub_window_len点至第l-1点中的任意一点,而第二点则是线性预测分析窗中与第一点相对应的对应点。那么,上述衰减值可以是第一点的取值与第二点的取值的差值。

应理解,在根据当前帧的衰减窗的窗长对初始线性预测分析窗进行修正是为了使得初始线性预测分析窗中第l-sub_window_len点至第l-1点中的至少一部分点的取值变小,也就是说,在对初始线性预测分析窗进行修正得到修正的线性预测分析窗之后,修正的线性预测分析窗的第l-sub_window_len点至第l-1点中的至少一部分点的小于初始线性预测分析窗中对应点的取值。

应理解,衰减窗的窗长范围内各个点对应的衰减值或者衰减窗中各个点的取值可以包含0,也可以不包含0。并且,衰减窗的窗长范围内各个点的取值以及衰减窗中各个点的取值既可以是小于等于0的实数,也可以是大于等于0的实数。

当衰减窗中各个点的取值是小于等于0的实数时,在根据衰减窗的窗长对初始线性预测分析窗进行修正时可以将初始线性预测分析窗中第l-sub_window_len点至第l-1点中任意一点的取值与衰减窗中对应点的取值相加,进而得到修正的线性预测分析窗中对应点的取值。

而当衰减窗中各个点的取值是大于等于0的实数时,在根据衰减窗的窗长对初始线性预测分析窗进行修正时可以将初始线性预测分析窗中第l-sub_window_len点至第l-1点中任意一点的取值与衰减窗中对应点的取值相减,进而得到修正的线性预测分析窗中对应点的取值。

上述两段内容介绍了衰减窗中各个点取值分别是大于等于0的实数以及小于等于0的实数时,确定修正的线性预测分析窗中对应点的取值的方式。应理解,当衰减窗的窗长范围内各个点的取值分别是大于等于0的实数以及小于等于0的实数时也可以分别采用与上述两段内容中类似的方式来确定修正的线性预测分析窗中对应点的取值。

还应理解,当上述衰减窗中所有点的取值均为非零的实数时,对初始线性预测分析窗进行修正后,修正的线性预测分析窗中l-sub_window_len点至第l-1点中任意一点的取值均小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值。

而当上述衰减窗中某些点的取值为0时,在对初始线性预测分析窗进行修正后,修正的线性预测分析窗中l-sub_window_len点至第l-1点中至少一部分点的取值均小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值。

应理解,可以选择任何一种类型的线性预测分析窗作为当前帧的初始线性预测分析窗。具体而言,当前帧的初始线性预测分析窗既可以是对称窗也可以是非对称窗。

进一步地,当立体声信号的采样率为12.8khz时,初始线性预测分析窗的窗长l可以为320点,这时初始线性预测分析窗w(n)满足公式(6):

其中,l=l1+l2,l1=188,l2=132。

另外,初始线性预测分析窗的确定方式有多种,既可以通过实时运算得到初始线性预测分析窗,也可以是从预先存储的线性预测分析窗中直接获取初始线性预测分析窗,这些预先存储好的线性预测分析窗可以是通过运算得到并以表格的形式存储起来的。

与通过实时运算获取初始线性预测分析窗的方式相比,从预先存储的线性预测分析窗中获取线性预测分析窗的方式能够快速获取初始线性预测分析窗,降低计算的复杂度,提高编码效率。

在对声道信号进行时延对齐处理时,需要人工重建当前帧的目标声道的前向信号,但是在人工重建的前向信号中,离当前帧的目标声道的真实信号越远的点的信号值估计的越不准确,而修正后的线性预测分析窗会作用于人工重建的前向信号,因此,采用本申请中的修正的线性预测分析窗对前向信号进行处理时,可以降低人工重建的前向信号离真实信号较远的点的信号在线性预测分析时的所占的比重,能够进一步提高线性预测的准确性。

具体地,上述修正的线性预测分析窗满足公式(7),也就是说,可以根据公式(7)确定修正的线性预测分析窗。

在公式(7)中,sub_window_len为当前帧的衰减窗的窗长,wadp(i)为修正的线性预测分析窗,w(i)为初始线性预测分析窗,l为修正的线性预测分析窗的窗长,其中,max_atten为预设的大于0的实数。

应理解,上述max_atten具体可以是在对初始线性预测分析窗进行修正时对初始线性预测分析窗进行衰减时所能取得的最大的衰减值,max_atten的取值可以为0.07、0.08等,max_atten可以由技术人员根据经验预设设定。

可选地,作为一个实施例,根据初始线性预测分析窗以及当前帧的衰减窗的窗长确定修正的线性预测分析窗具体包括:根据当前帧的衰减窗的窗长确定当前帧的衰减窗;根据当前帧的衰减窗对初始线性预测分析窗进行修正,其中,该修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。其中,衰减值逐渐增大是指随着修正的线性预测分析窗从第l-sub_window_len点至第l-1点中的点的索引(index)逐渐增大,衰减值也逐渐增大,也就是说,第l-sub_window_len点的衰减值最小,第l-1点的衰减值最大,并且第n点的衰减值要大于第n-1点的衰减值,l-sub_window_len≤n≤l-1。

应理解,上述衰减窗既可以是线性窗也可以是非线性窗。

具体地,在根据当前帧的衰减窗的窗长确定衰减窗时上述衰减窗满足公式(8),也就是说可以根据公式(8)确定衰减窗。

其中,max_atten为衰减值中的最大值,max_atten在公式(8)中的含义与在公式(7)中的含义相同。

上述根据当前帧的衰减窗对线性预测分析窗修正后得到的修正的线性预测分析窗满足公式(9),也就是说再根据上述公式(8)确定了衰减窗之后,接下来可以根据公式(9)确定修正的线性预测分析窗。

在上述公式(8)和公式(9)中,sub_window_len为当前帧的衰减窗的窗长,sub_window(.)为当前帧的衰减窗,具体地,sub_window(i-(l-sub_window_len))为当前帧的衰减窗在点i-(l-sub_window_len)处的取值,wadp(i)为修正的线性预测分析窗,w(i)为初始线性预测分析窗,l为修正的线性预测分析窗的窗长。

可选地,在根据当前帧的衰减窗的窗长确定衰减窗时,具体也可以根据当前帧的衰减窗的窗长,从预先存储的多个候选衰减窗中确定当前帧的衰减窗,其中,多个候选衰减窗对应不同的窗长取值范围,不同的窗长取值范围之间没有交集。

通过从预先存储的多个候选衰减窗中确定当前帧的衰减窗,能够减少确定衰减窗时的计算复杂度,接下来可以直接根据从预先存储的多个衰减窗中获取的当前帧的衰减窗来确定修正的线性预测分析窗。

具体地,在根据衰减窗的窗长在不同取值范围对应的预先选定的衰减窗的窗长分别计算出对应的衰减窗之后,可以将衰减窗的窗长在不同取值范围内对应的衰减窗存储起来,这样可以在后续确定当前帧的衰减窗的窗长后能够直接根据当前帧的衰减窗的窗长满足的取值范围从预先存储的多个衰减窗中确定出当前帧的衰减窗,能够减少计算过程,简化计算的复杂度。

应理解,在计算衰减窗时预先选定的衰减窗窗长可以是衰减窗的窗长的所有可能取值或者衰减窗的窗长的所有可能取值的子集。

具体地,假设衰减窗的窗长为20时对应的衰减窗记作sub_window_20(i),衰减窗的窗长为40时对应的衰减窗记作sub_window_40(i),衰减窗的窗长为60时对应的衰减窗记作sub_window_60(i),衰减窗的窗长为80时对应的衰减窗记作sub_window_80(i)。

因此,在根据当前帧的衰减窗的窗长,从预先存储的多个衰减窗中确定当前帧的衰减窗时,如果当前帧的衰减窗的窗长大于等于20,并且小于40,那么可以将sub_window_20(i)确定为当前帧的衰减窗;如果当前帧的衰减窗的窗长大于等于40,并且小于60,那么可以将sub_window_40(i)确定为当前帧的衰减窗;如果当前帧的衰减窗的窗长大于等于60,并且小于80,那么可以将sub_window_60(i)确定为当前帧的衰减窗;如果当前帧的衰减窗的窗长大于等于80,那么可以将sub_window_80(i)确定为当前帧的衰减窗。

具体地,在根据当前帧的衰减窗的窗长,从预先存储的多个衰减窗中确定当前帧的衰减窗时,可以直接根据当前帧的衰减窗的窗长的取值范围从多个预先存储的衰减窗中确定当前帧的衰减窗。具体而言,可以根据公式(10)来确定当前帧的衰减窗。

其中,sub_window(i)为当前帧的衰减窗,sub_window_len为当前帧的衰减窗的窗长,sub_window_20(i),sub_window_40(i),sub_window_60(i),sub_window_80(i)为预先存储的衰减窗窗长分别为20、40、60、80时对应的衰减窗。

应理解,上述公式(10)确定的衰减窗为线性窗。本申请中的衰减窗除了可以是线性窗之外,还可以是非线性窗。

当衰减窗为非线性窗时,可以根据公式(11)至公式(13)来确定。

在上述公式(11)至公式(13)中,sub_window(i)为当前帧的衰减窗,sub_window_len为当前帧的衰减窗的窗长,max_atten与上文中的含义相同。

应理解,在根据公式(11)至公式(13)确定了衰减窗之后,也可以根据公式(10)确定修正的线性预测分析窗。

上述根据当前帧的衰减窗对线性预测分析窗修正后得到的修正的线性预测分析窗满足公式(14),也就是说再根据上述公式(10)确定了衰减窗之后,接下来可以根据公式(14)至公式(17)确定修正的线性预测分析窗。

在上述公式(14)至公式(17)中,sub_window_len为当前帧的衰减窗的窗长,wadp(i)为修正的线性预测分析窗,w(i)为初始线性预测分析窗,l为修正的线性预测分析窗的窗长。sub_window_20(.),sub_window_40(.),sub_window_60(.),sub_window_80(.)为预先存储的衰减窗窗长分别为20、40、60、80的情况下对应的衰减窗,可以根据公式(10)至公式(13)中的任意一种事先计算并存储衰减窗窗长分别为20、40、60、80的情况下对应的衰减窗。

在根据公式(14)至公式(17)计算修正的线性预测分析窗时,只要得知了当前帧的衰减窗的窗长,就可以根据衰减窗窗长的取值所在的范围确定修正的线性预测分析窗。例如当前帧的衰减窗的窗长为50,那么当前帧的衰减窗的窗长的取值介于40和60之间(大于等于40小于60),因此,可以按照公式(15)确定修正的线性预测分析窗;而如果当前帧的衰减窗的窗长为70,那么当前帧的衰减窗的窗长的取值介于60和80之间(大于等于60小于80),此时可以按照公式(16)来确定修正的线性预测分析窗。

330、根据修正的线性预测分析窗对待处理的声道信号进行线性预测分析。

上述待处理的声道信号可以是主要声道信号或者次要声道信号,进一步地,上述待处理的声道信号还可以是对主要声道信号或者次要声道信号进行时域预处理后得到的声道信号。该主要声道信号和次要声道信号可以是下混处理后得到的声道信号。

根据修正的线性预测分析窗对待处理的声道信号进行线性预测分析,具体可以是根据修正的线性预测分析窗对待处理的声道信号进行加窗处理,然后再根据加窗处理后的信号计算当前帧的线性预测系数(具体可以采用莱文逊杜宾算法)。

本申请中,由于修正的线性预测分析窗中第l-sub_window_len点至第l-1点中的至少一部分点的取值小于所述线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值,从而在线性预测时能够减小当前帧的目标声道的人工重建的重建信号(该重建信号可以包括过渡段信号和前向信号)所起的作用,从而降低人工重建的重建信号与真实的前向信号之间的误差对线性预测分析结果的准确性的影响,因此,可以减小线性预测分析得到的线性预测系数与真实的线性预测系数之间的差异,提高线性预测分析的准确性。

具体地,如图4所示,现有方案中得到的线性预测系数与真实的线性预测系数之间的谱失真较大,而本申请得到的线性预测系数与真实的线性预测系数之间的谱失真较小,由此可见,本申请实施例的立体声信号的编码方法能够减小线性预测分析时得到的线性预测系数的谱失真,改善线性预测分析的准确性。

可选地,作为一个实施例,根据当前帧的衰减窗的窗长确定修正的线性预测分析窗,包括:根据当前帧的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定修正的线性预测分析窗,其中,多个候选线性预测分析窗对应不同的窗长取值范围,不同的窗长取值范围之间没有交集。

预先存储的多个候选线性预测分析窗为所述当前帧的衰减窗的窗长在不同取值范围内对应的修正的线性预测分析窗。

具体地,在根据初始线性预测分析窗以及衰减窗的窗长在不同取值范围对应的预先选定的衰减窗的窗长分别计算出对应的修正的线性预测分析窗之后,可以将衰减窗的窗长在不同取值范围内对应的修正的线性预测分析窗存储起来,这样可以在后续确定当前帧的衰减窗的窗长后能够直接根据当前帧的衰减窗的窗长满足的取值范围从预先存储的多个线性预测分析窗中确定出修正的线性预测分析窗,能够减少计算过程,简化计算的复杂度。

可选地,上述计算修正的线性预测分析窗时预先选定的衰减窗窗长可以是衰减窗的窗长的所有可能取值或者衰减窗的窗长的所有可能取值的子集。

具体地,在根据当前帧的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定修正的线性预测分析时,可以根据公式(18)来确定修正的线性预测分析窗。

其中,wadp(i)为修正的线性预测分析窗,w(i)为初始线性预测分析窗,wadp_20(i),wadp_40(i),wadp_60(i),wadp_80(i)为预先存储的多个线性预测分析窗。具体地,wadp_20(i),wadp_40(i),wadp_60(i),wadp_80(i)对应的衰减窗的窗长分别为20、40、60和80。

在根据公式(18)确定修正的线性预测分析窗时,在确定了当前帧的衰减窗的窗长的数值之后,根据当前帧的衰减窗的窗长满足的取值范围,可以直接根据公式(18)确定出修正的线性预测分析窗。

可选地,作为一个实施例,在根据衰减窗的窗长确定修正的线性预测分析窗之前,上述方法300还包括:

根据预设的间隔步长,对当前帧的衰减窗的窗长进行修正,以获得修正的衰减窗的窗长,其中,该间隔步长为预设的正整数。进一步地,该间隔步长可以为小于衰减窗的窗长最大值的正整数;

而当对衰减窗的窗长进行修正时,上述根据衰减窗的窗长确定修正的线性预测分析窗,具体包括:根据初始线性预测分析窗以及修正的衰减窗的窗长确定修正的线性预测分析窗。

具体地,可以先根据当前帧的声道间时间差确定当前帧的衰减窗的窗长,然后再根据预设的间隔步长,对衰减窗的窗长进行修正,得到修正的衰减窗的窗长。

通过采用预设的间隔步长对自适应衰减窗的窗长进行修正,能够降低衰减窗的窗长,并且使得修正后的衰减窗的窗长的取值属于由有限个常数组成的集合中,便于预先存储,能够降低后续计算的复杂度。

上述修正的衰减窗的窗长满足公式(19),也就是说在根据预设的间隔步长对衰减窗的窗长进行修正时具体可以根据公式(19)对衰减窗的窗长进行修正。

其中,sub_window_len_mod为修正的衰减窗的窗长,为取整符号,sub_window_len为衰减窗的窗长,len_step为间隔步长,间隔步长可以是小于自适应衰减窗的窗长最大值的正整数,例如,15、20等等,间隔步长也可以由技术人员预先设定。

当sub_window_len的最大值为80,len_step为20时,那么修正的衰减窗的窗长的取值仅包含0,20,40,60,80,也就是说修正的衰减窗的窗长只属于{0,20,40,60,80},当修正的衰减窗的窗长为0时,直接使用初始线性预测分析窗作为修正的线性预测分析窗。

可选地,作为一个实施例,根据初始线性预测分析窗以及修正的衰减窗的窗长确定修正的线性预测分析窗,包括:根据所述修正的衰减窗的窗长对所述初始线性预测分析窗进行修正。

可选地,作为一个实施例,根据初始线性预测分析窗以及修正的衰减窗的窗长确定修正的线性预测分析窗,还包括:根据所述修正的衰减窗的窗长确定所述当前帧的衰减窗;根据所述修正的衰减窗对所述初始线性预测分析窗进行修正。

可选地,作为一个实施例,根据修正的衰减窗的窗长确定当前帧的衰减窗,包括:根据修正的衰减窗的窗长,从预先存储的多个候选衰减窗中确定当前帧的衰减窗,其中预先存储的多个候选衰减窗为修正的衰减窗的窗长在不同取值时对应的衰减窗。

在根据一组预先选定的修正的衰减窗的窗长分别计算出对应的衰减窗之后,可以将预先选定的修正的衰减窗的窗长对应的衰减窗存储起来,这样可以在后续确定修正的衰减窗的窗长后能够直接根据修正的衰减窗的窗长从预先存储的多个候选衰减窗中确定出当前帧的衰减窗,能够减少计算过程,简化计算的复杂度。

应理解,这里预先选定的修正的衰减窗的窗长可以为修正的衰减窗的窗长的所有可能的取值或修正的衰减窗的窗长的所有可能的取值的子集。

具体地,在根据修正的衰减窗的窗长,从预先存储的多个候选衰减窗中确定当前帧的衰减窗时,可以根据公式(20)来确定当前帧的衰减窗。

其中,sub_window(i)为当前帧的衰减窗,sub_window_len_mod为修正的衰减窗的窗长,sub_window_20(i),sub_window_40(i),sub_window_60(i),sub_window_80(i)为预先存储的衰减窗窗长分别为20、40、60、80的情况下对应的衰减窗。因为当sub_window_len_mod等于0时,直接使用初始线性预测分析窗作为修正的线性预测分析窗,无须确定当前帧的衰减窗。

可选地,作为一个实施例,根据初始线性预测分析窗以及修正的衰减窗的窗长确定修正的线性预测分析窗,包括:根据修正的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定修正的线性预测分析窗,其中预先存储的多个候选线性预测分析窗为修正的衰减窗的窗长在不同取值时对应的修正的线性预测分析窗。

在根据初始线性预测分析窗以及一组预先选定的修正的衰减窗的窗长分别计算出对应的修正的线性预测分析窗之后,可以将预先选定的修正的衰减窗的窗长对应的修正的线性预测分析窗存储起来,这样可以在后续确定修正的衰减窗的窗长后能够直接根据修正的衰减窗的窗长从预先存储的多个候选线性预测分析窗中确定出修正的线性预测分析窗,能够减少计算过程,简化计算的复杂度。

可选地,这里预先选定的修正的衰减窗的窗长为修正的衰减窗的窗长的所有可能的取值或修正的衰减窗的窗长的所有可能的取值的子集。

具体地,在根据修正的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定修正的线性预测分析时,可以根据公式(21)来确定修正的线性预测分析窗。

其中,wadp(i)为修正的线性预测分析窗,w(i)为初始线性预测分析窗,wadp_20(i),wadp_40(i),wadp_60(i),wadp_80(i)为预先存储的多个线性预测分析窗。具体地,wadp_20(i),wadp_40(i),wadp_60(i),wadp_80(i)对应的衰减窗的窗长分别为20、40、60和80。

应理解,上述图3所示的方法300是立体声信号编码的一部分过程,为了更好地理解本申请的立体声信号的编码方法,下面结合图5至图10对本申请实施例的立体声信号的编码方法的整个过程进行详细的介绍。

图5是本申请实施例的立体声信号的编码方法的示意性流程图。图5的方法500具体包括:

510、对立体声信号进行时域预处理。

具体地,这里的立体声信号为时域信号,立体声信号具体包括左声道信号和右声道信号,在对立体声信号进行时域处理时,具体可以是对当前帧的左、右声道信号进行高通滤波处理,得到预处理后的当前帧的左、右声道信号。另外,这里的时域预处理时除了高通滤波处理外还可以是其它处理,例如,进行预加重处理。

例如,立体声音频信号的采样率为16hkz,每帧信号为20ms,则帧长n=320,即每一帧包括320个样点。当前帧的立体声信号包括当前帧的左声道时域信号xl(n),当前帧的右声道时域信号xr(n),其中,n为样点序号,n=0,1,l,n-1,那么,通过对当前帧的左声道时域信号xl(n),当前帧的右声道时域信号xr(n)进行时域预处理,得到当前帧预处理后的左声道时域信号当前帧的右声道时域信号

520、对当前帧预处理后的左、右声道时域信号进行声道间时间差估计,得到当前帧的左、右声道信号的声道间时间差。

在进行声道间时间差估计时具体可以根据当前帧预处理后的左、右声道信号计算左右声道间的互相关系数,然后将互相关系数的最大值对应的索引值作为当前帧的声道间时间差。

具体地,可以采用方式一至方式三中的方式来进行声道间时间差的估计。应理解,本申请在进行声道间时间差估计时不限于方式一至方式三中的方法,本申请还可以采用其它现有技术来实现对声道间时间差的估计。

方式一:

在当前采样率下,声道间时间差的最大值和最小值分别是tmax和tmin,其中,tmax和tmin为预先设定的实数,并且tmax>tmin,那么,可以搜索索引值在声道间时间差的最大值和最小值之间的左右声道间的互相关系数的最大值,最后将该搜索到的左右声道间的互相关系数的最大值对应的索引值确定为当前帧的声道间时间差。具体地,tmax和tmin的取值可以分别为40和-40,这样就可以在-40≤i≤40范围内搜索左右声道间的互相关系数的最大值,然后将互相关系数的最大值对应的索引值作为当前帧的声道间时间差。

方式二:

当前采样率下的声道间时间差的最大值和最小值分别是tmax和tmin,其中,tmax和tmin为预先设定的实数,并且tmax>tmin。那么,可以根据当前帧的左、右声道信号计算左右声道间的互相关函数,并根据前l帧(l为大于等于1的整数)的左右声道间的互相关函数对计算出来的当前帧的左右声道间的互相关函数进行平滑处理,得到平滑处理后的左右声道间的互相关函数,然后在tmin≤i≤tmax范围内搜索平滑处理后的左右声道间的互相关系数的最大值,并将该最大值对应的索引值i作为当前帧的声道间时间差。

方式三:

在根据方式一或方式二估计出了当前帧的声道间时间差之后,对当前帧的前m帧(m为大于等于1的整数)的声道间时间差和当前帧估计出的声道间时间差进行帧间平滑处理,将平滑处理后的声道间时间差作为当前帧最终的声道间时间差。

应理解,上述步骤510中对当前帧的左、右声道时域信号进行时域预处理并不是必须的步骤。如果没有时域预处理的步骤,那么,进行声道间时间差估计的左、右声道信号就是原始立体声信号中的左、右声道信号。该原始立体声信号中的左、右声道信号可以是指采集到的经过模数(a/d)转换后的脉冲编码调制(pulsecodemodulation,pcm)信号。另外,立体声音频信号的采样率可以为8khz、16khz、32khz、44.1khz以及48khz等等。

530、根据估计出来的声道间时间差对当前帧预处理后的左、右声道信号时域信号进行时延对齐处理。

具体地,在对当前帧的左、右声道信号进行时延对齐处理时可以根据当前帧的声道时间差对左声道信号和右声道信号中的一路或者两路进行压缩或者拉伸处理,使得时延对齐处理后的左、右声道信号之间不存在声道间时间差。对当前帧的左、右声道信号时延对齐处理后得到的当前帧的时延对齐处理后的左、右声道信号即为当前帧的时延对齐处理后的立体声信号。

在根据声道间时间差对当前帧的左、右声道信号进行时延对齐处理时,首先要根据当前帧的声道间时延差和前一帧的声道间时延差选择当前帧的目标声道以及参考声道。然后根据当前帧的声道间时间差的绝对值abs(cur_itd)与当前帧的前一帧的声道间时间差的绝对值abs(prev_itd)的大小关系可以采取不同的方式进行时延对齐处理。

当前帧的声道间时延差记作cur_itd,前一帧声道间时延差记作prev_itd。具体地,根据当前帧的声道间时延差和前一帧的声道间时延差选择当前帧的目标声道以及参考声道可以是:如果cur_itd=0:则当前帧的目标声道与前一帧的目标声道保持一致;如果cur_itd<0:则当前帧的目标声道为左声道;如果cur_itd>0:则当前帧的目标声道为右声道。

在确定了目标声道和参考声道之后,可以根据当前帧的声道间时间差的绝对值abs(cur_itd)与当前帧的前一帧的声道间时间差的绝对值abs(prev_itd)的不同大小关系采取不同的时延对齐处理方式,具体可以包含以下三种情况,应理解,本申请在时延对齐处理时采用的处理方式不限于以下三种情况中的处理方式,本申请还可以采用其它任何现有技术中的时延对齐处理方式来进行时延对齐处理。

情况一:abs(cur_itd)等于abs(prev_itd)

在当前帧的声道间时间差的绝对值与当前帧的前一帧的声道间时间差的绝对值相等的情况下,不对目标声道的信号进行压缩或者拉伸处理。如图6所示,根据当前帧的参考声道信号以及当前帧的目标声道信号产生ts2点信号,作为时延对齐处理后的目标声道的第n-ts2点到n-1点信号,并根据参考声道信号人工重建abs(cur_itd)点信号,作为时延对齐处理后的目标声道的第n点到n+abs(cur_itd)-1点信号。其中,abs()表示取绝对值操作,当前帧的帧长为n,如果采样率为16khz,则n=320,ts2为预先设定的过渡段的长度,例如,ts2=10。

最终在时延对齐处理后,是将当前帧的目标声道信号时延abs(cur_itd)个样点的信号,作为当前帧时延对齐后的目标声道信号,将当前帧的参考声道信号直接作为当前帧时延对齐后的参考声道信号。

情况二:abs(cur_itd)小于abs(prev_itd)

如图7所示,在当前帧的声道间时间差的绝对值小于当前帧的前一帧的声道间时间差的绝对值相等的情况下,需要对缓存的目标声道信号进行拉伸。具体地,将当前帧缓存的目标声道信号中从第-ts+abs(prev_itd)-abs(cur_itd)到第l-ts-1点的信号拉伸为长度l点的信号,作为时延对齐处理后的目标声道的第-ts点到第l-ts-1点信号。然后将当前帧的目标声道信号中从第l-ts点到n-ts2-1点的信号直接作为时延对齐处理后的目标声道的第l-ts点到n-ts2-1点信号。接下来,再根据当前帧的参考声道信号以及目标声道信号产生ts2点信号,作为时延对齐处理后的目标声道的第n-ts2点到n-1点信号。最后根据参考声道信号人工重建abs(cur_itd)点信号,作为时延对齐处理后的目标声道的第n点到n+abs(cur_itd)-1点信号。其中,ts为帧间平滑过渡段的长度,例如ts为abs(cur_itd)/2,l为时延对齐处理的处理长度,l可以是预设的小于等于当前速率下帧长n的任意正整数,一般会设为大于允许的最大声道间时延差的正整数,例如l=290,l=200等。时延对齐处理的处理长度l可以针对不同的采样率设置不同的值,也可以采用统一的值。一般情况下,最简单的方法就是根据技术人员的经验预设一个值,例如290。

最终在时延对齐处理后,是将时延对齐处理后的目标声道从第abs(cur_itd)点开始的n点信号,作为时延对齐后的当前帧的目标声道信号。将当前帧的参考声道信号直接作为时延对齐后当前帧的参考声道信号。

情况三:abs(cur_itd)大于abs(prev_itd)

如图8所示,在当前帧的声道间时间差的绝对值小于当前帧的前一帧的声道间时间差的绝对值相等的情况下,需要对缓存的目标声道信号进行压缩。具体地,将当前帧缓存的目标声道信号中从第-ts+abs(prev_itd)-abs(cur_itd)到第l-ts-1点的信号压缩为长度为l点的信号,作为时延对齐处理后的目标声道的第-ts点到第l-ts-1点信号。接下来,将当前帧的目标声道信号中从第l-ts点到n-ts2-1点的信号直接作为时延对齐处理后的目标声道的第l-ts点到n-ts2-1点信号。然后根据当前帧的参考声道信号以及目标声道信号产生ts2点信号,作为时延对齐处理后的目标声道的第n-ts2点到n-1点信号。然后再根据参考声道信号产生abs(cur_itd)点信号,作为时延对齐处理后的目标声道的第n点到n+abs(cur_itd)-1点信号。其中,l仍是时延对齐处理的处理长度。

最终在时延对齐处理后,仍是将时延对齐处理后的目标声道从第abs(cur_itd)点开始的n点信号,作为时延对齐后的当前帧的目标声道信号。将当前帧的参考声道信号直接作为时延对齐后当前帧的参考声道信号。

540、对声道间时间差进行量化编码。

具体地,在对当前帧的声道间时间差进行量化编码时,可以使用任何现有技术中的量化算法对当前帧的声道间时间差进行量化处理,得到量化索引,并将量化索引编码后写入码流。

550、计算声道组合比例因子,并对其进行量化编码。

计算声道组合比例因子的方法多种,例如,可以根据左右声道的帧能量来计算当前帧的声道组合比例因子。具体过程如下:

(1)、根据当前帧时延对齐后的左右声道信号,计算左右声道信号的帧能量。

当前帧左声道的帧能量rms_l满足:

当前帧右声道的帧能量rms_r满足:

其中,x′l(i)为当前帧时延对齐后的左声道信号,x′r(i)为当前帧时延对齐后的右声道信号,i为样点序号。

(2)、然后再根据左右声道的帧能量,计算当前帧的声道组合比例因子。

当前帧的声道组合比例因子ratio满足:

因此,根据左右声道信号的帧能量就计算得到了声道组合比例因子。

(3)、量化编码声道组合比例因子,写入码流。

560、根据声道组合比例因子对时延对齐后的立体声信号进行时域下混处理,得到主要声道信号和次要声道信号。

具体而言,可以采用现有技术中的任何一种时域下混处理方法对时延对齐后的立体声信号进行时域下混处理。但是,在进行时域下混处理时需要根据计算声道组合比例因子的方法来选择对应的时域下混处理方式对时延对齐后的立体声信号进行时域处理,得到主要声道信号和次要声道信号。

例如,当采用上述步骤550下面的方式计算出声道组合比例因子ratio之后,就可以根据声道组合比例因子ratio进行时域下混处理,例如,可以根据公式(20)确定时域下混处理后的主要声道信号和次要声道信号。

其中,y(i)为当前帧的主要声道信号,x(i)为当前帧的次要声道信号,x′l(i)为当前帧时延对齐后的左声道信号,x′r(i)为当前帧时延对齐后的右声道信号,i为样点序号,n为帧长,ratio为声道组合比例因子。

570、对主要声道信号和次要声道信号进行编码。

应理解,可以采用单声道信号编解码方法对下混处理后的得到的主要声道信号和次要声道信号进行编码处理。具体地,可以根据前一帧的主要声道信号和/或前一帧的次要声道信号编码过程中得到的参数信息以及主要声道信号和次要声道信号编码的总比特数,对主要声道编码和次要声道编码的比特进行分配。然后根据比特分配结果分别对主要声道信号和次要声道信号进行编码,得到主要声道编码的编码索引以及次要声道编码的编码索引。另外,在对主要声道和次要声道编码时,可以采用代数码本激励线性预测编码(algebraiccodeexcitedlinearprediction,acelp)的编码方式。

应理解,本申请实施例的立体声信号的编码方法可以是上述方法500中的步骤570中对下混处理后得到的主要声道信号和次要声道信号进行编码的一部分。具体地,本申请实施例的立体声信号的编码方法可以是上述步骤570中对下混处理后得到的主要声道信号或者次要声道信号进行线性预测的过程。在对当前帧的立体声信号进行线性预测分析的方式有多种,既可以对当前帧的主要声道信号和次要声道信号分别进行两次线性预测分析,也可以只对当前帧的主要声道信号和次要声道信号各进行一次线性预测分析。下面结合图9和图10分别对这两种线性预测分析的方式进行详细的描述。

图9是本申请实施例的线性预测分析过程的示意性流程图。图9中所示的线性预测过程是对当前帧的主要声道信号进行两次线性预测分析。图9所示的线性预测分析的过程具体包括:

910、对当前帧的主要声道信号进行时域预处理。

这里的预处理可以包括采样率转换、预加重处理等等。例如,可以将采样率为16khz的主要声道信号转化为采样率为12.8khz的信号,便于在后续采用代数码激励线性预测(algebraiccodeexcitedlinearprediction,acelp)的编码方式时的编码处理。

920、获取当前帧的初始线性预测分析窗。

步骤920中的初始线性预测分析窗相当于上述步骤310中的线性预测分析窗。

930、根据初始线性预测分析窗对预处理后的主要声道信号进行第一次加窗处理,根据加窗处理后的信号计算当前帧的第一组线性预测系数。

根据初始线性预测分析窗对预处理后的主要声道信号进行第一次加窗处理具体可以根据公式(20)进行。

swmid(n)=spre(n-80)w(n),n=0,1,...,l-1(26)

其中,spre(n)为预加重处理后的信号,swmid(n)为第一次加窗处理后的信号,l为线性预测分析窗的窗长,w(n)为初始线性预测分析窗。

在计算当前帧的第一组线性预测系数时具体可以采用莱文逊杜宾算法计算。具体地,可以根据第一次加窗处理后的信号swmid(n),采用莱文逊杜宾算法计算当前帧的第一组线性预测系数。

940、根据当前帧的声道间时间差自适应产生修正的线性预测分析窗。

该修正的线性预测分析窗可以是满足上述公式(7)和公式(9)的线性预测分析窗。

950、根据修正的线性预测分析窗对预处理后的主要声道信号进行第二次加窗处理,根据加窗处理后的信号计算当前帧的第二组线性预测系数。

根据修正的线性预测分析窗对预处理后的主要声道信号进行第二次加窗处理具体可以根据公式(27)进行。

swend(n)=spre(n+48)wadp(n),n=0,1,...,l-1(27)

其中,spre(n)为预加重处理后的信号,swend(n)为第二次加窗处理后的信号,l为修正的线性预测分析窗的窗长,wadp(n)为修正的线性预测分析窗。

在计算当前帧的第二组线性预测系数时具体可以采用莱文逊杜宾算法计算。具体地,可以根据第二次加窗处理后的信号swend(n),采用莱文逊杜宾算法计算当前帧的第二组线性预测系数。

同样,对当前帧的次要声道信号进行线性预测分析的处理过程与上述步骤910至步骤950中对当前帧的主要声道信号进行线性预测分析的过程相同。

应理解,本申请中的立体声信号的编码方法与上述方式一种的第二种加窗处理的方式相同。

图10是本申请实施例的线性预测分析过程的示意性流程图。图10中所示的线性预测过程是对当前帧的主要声道信号进行一次线性预测分析。图10所示的线性预测分析的过程具体包括:

1010、对当前帧的主要声道信号进行时域预处理。

这里的预处理可以包括采样率转换、预加重处理等等。

1020、获取当前帧的初始线性预测分析窗。

步骤1020中的初始线性预测分析窗相当于上述步骤320中的初始线性预测分析窗。

1030、根据当前帧的声道间时间差,自适应产生修正的线性预测分析窗。

具体地,可以根据当前帧的声道间时间差先确定当前帧的衰减窗的窗长,然后再按照上述步骤320中的方式确定修正的线性预测分析窗。

1040、根据修正的线性预测分析窗对预处理后的主要声道信号进行加窗处理,根据加窗处理后的信号计算当前帧的线性预测系数。

根据修正的线性预测分析窗对预处理后的主要声道信号进行加窗处理具体可以根据公式(28)进行。

sw(n)=spre(n)wadp(n),n=0,1,...,l-1(28)

其中,为预加重处理后的信号,sw(n)为加窗处理后的信号,l为修正的线性预测分析窗的窗长,wadp(n)为修正的线性预测分析窗。

应理解,在计算当前帧的线性预测系数时具体可以采用莱文逊杜宾算法计算。具体地,可以根据加窗处理后的信号sw(n),采用莱文逊杜宾算法计算当前帧的线性预测系数。

同样,对当前帧的次要声道信号进行线性预测分析的处理过程与上述步骤1010至步骤1040中对当前帧的主要声道信号进行线性预测分析的过程相同。

上文结合图1至图10对本申请实施例的立体声信号的编码方法进行了详细的描述。下面结合图11和图12对本申请实施例的立体声信号的编码装置进行描述,应理解,图11至图12中的装置与本申请实施例的立体声信号的编码方法是对应的,并且图11和图12中的装置可以执行本申请实施例的立体声信号的编码方法。为了简洁,下面适当省略重复的描述。

图11是本申请实施例的立体声信号的编码装置的示意性框图。图11的装置1100包括:

第一确定模块1110,用于根据当前帧的声道间时间差确定所述当前帧的衰减窗的窗长;

第二确定模块1120,根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,其中,所述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中的至少一部分点的取值小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值,sub_window_len为所述当前帧的衰减窗的窗长,l为所述修正的线性预测分析窗的窗长,所述修正的线性预测分析窗的窗长等于所述初始线性预测分析窗的窗长;

处理模块1130,用于根据所述修正的线性预测分析窗对待处理的声道信号进行线性预测分析。

本申请中,由于修正的线性预测分析窗中与当前帧的目标声道的人工重建的前向信号对应点的取值小于未经修正的线性预测分析窗中与当前帧的目标声道的人工重建的前向信号对应点的取值,从而在线性预测时能够减小当前帧的目标声道的人工重建的前向信号所起的作用,从而降低人工重建的前向信号与真实的前向信号之间的误差对线性预测分析结果的准确性的影响,因此,可以减小线性预测分析得到的线性预测系数与真实的线性预测系数之间的差异,提高线性预测分析的准确性。

可选地,作为一个实施例,所述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中任意一点的取值小于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值。

可选地,作为一个实施例,所述第一确定模块1110具体用于:根据所述当前帧的声道间时间差以及预先设定的过渡段的长度,确定所述当前帧的衰减窗的窗长。

可选地,作为一个实施例,所述第一确定模块1110具体用于:将所述当前帧的声道间时间差的绝对值与所述预先设定的过渡段的长度的和确定为所述当前帧的衰减窗的窗长。

可选地,作为一个实施例,所述第一确定模块1110具体用于:在所述当前帧的声道间时间差的绝对值大于或者等于所述预先设定的过渡段的长度的情况下,将所述当前帧的声道间时间差的绝对值与所述预先设定的过渡段的长度的和确定为所述当前帧的衰减窗的窗长;在所述当前帧的声道间时间差的绝对值小于所述预先设定的过渡段的长度的情况下,将所述当前帧的声道间时间差的绝对值的n倍确定为所述当前帧的衰减窗的窗长,其中,n为预先设定的大于0小于l/maxdelay的实数,maxdelay为预设的大于0的实数。

可选地,上述maxdelay为声道间时间差的绝对值的最大值。

可选地,作为一个实施例,所述第二确定模块1120具体用于:根据所述当前帧的衰减窗的窗长对所述初始线性预测分析窗进行修正,其中,所述修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。

可选地,作为一个实施例,所述修正的线性预测分析窗满足公式:

其中,wadp(i)为修正的线性预测分析窗,w(i)为所述初始线性预测分析窗,其中,max_atten为预设的大于0的实数。

可选地,作为一个实施例,所述第二确定模块1120具体用于:根据所述当前帧的衰减窗的窗长确定所述当前帧的衰减窗;根据所述当前帧的衰减窗对所述初始线性预测分析窗进行修正,其中,所述修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。

可选地,作为一个实施例,所述第二确定模块1120具体用于:根据所述当前帧的衰减窗的窗长,从预先存储的多个候选衰减窗中确定所述当前帧的衰减窗,其中,所述多个候选衰减窗对应不同的窗长取值范围,所述不同的窗长取值范围之间没有交集。

可选地,作为一个实施例,所述当前帧的衰减窗满足公式:

其中,sub_window(i)为所述当前帧的衰减窗,max_atten为预设的大于0的实数。

可选地,作为一个实施例,所述修正的线性预测分析窗满足公式:

其中,wadp(i)为所述修正的线性预测分析窗的窗函数,w(i)为所述初始线性预测分析窗,sub_window(.)为所述当前帧的衰减窗。

可选地,作为一个实施例,所述第二确定模块1120具体用于:根据所述当前帧的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定所述修正的线性预测分析窗,其中,所述多个候选线性预测分析窗对应不同的窗长取值范围,所述不同的窗长取值范围之间没有交集。

可选地,作为一个实施例,在所述第二确定模块1120根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗之前,所述装置还包括:

修正模块1140,用于根据预设的间隔步长,对所述当前帧的衰减窗的窗长进行修正,以获得修正的衰减窗的窗长,其中,所述间隔步长为预设的正整数;

所述第二确定模块1120具体用于:根据所述初始线性预测分析窗以及所述修正的衰减窗的窗长确定修正的线性预测分析窗。

可选地,作为一个实施例,所述修正的衰减窗的窗长满足公式:

其中,sub_window_len_mod为所述修正的衰减窗的窗长,len_step为所述间隔步长。

图12是本申请实施例的立体声信号的编码装置的示意性框图。图12的装置1200包括:

存储器1210,用于存储程序。

处理器1220,用于执行所述存储器1210中存储的程序,当所述存储器1210中的程序被执行时,所述处理器1220具体用于:根据当前帧的声道间时间差确定所述当前帧的衰减窗的窗长;根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗,其中,所述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中的至少一部分点的取值小于初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值,sub_window_len为所述当前帧的衰减窗的窗长,l为所述修正的线性预测分析窗的窗长,所述修正的线性预测分析窗的窗长等于所述初始线性预测分析窗的窗长;根据所述修正的线性预测分析窗对待处理的声道信号进行线性预测分析。

本申请中,由于修正的线性预测分析窗中与当前帧的目标声道的人工重建的前向信号对应点的取值小于未经修正的线性预测分析窗中与当前帧的目标声道的人工重建的前向信号对应点的取值,从而在线性预测时能够减小当前帧的目标声道的人工重建的前向信号所起的作用,从而降低人工重建的前向信号与真实的前向信号之间的误差对线性预测分析结果的准确性的影响,因此,可以减小线性预测分析得到的线性预测系数与真实的线性预测系数之间的差异,提高线性预测分析的准确性。

可选地,作为一个实施例,所述修正的线性预测分析窗的第l-sub_window_len点至第l-1点中任意一点的取值小于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值。

可选地,作为一个实施例,所述处理器1220具体用于:根据所述当前帧的声道间时间差以及预先设定的过渡段的长度,确定所述当前帧的衰减窗的窗长。

可选地,作为一个实施例,所述处理器1220具体用于:将所述当前帧的声道间时间差的绝对值与所述预先设定的过渡段的长度的和确定为所述当前帧的衰减窗的窗长。

可选地,作为一个实施例,所述处理器1220具体用于:在所述当前帧的声道间时间差的绝对值大于或者等于所述预先设定的过渡段的长度的情况下,将所述当前帧的声道间时间差的绝对值与所述预先设定的过渡段的长度的和确定为所述当前帧的衰减窗的窗长;在所述当前帧的声道间时间差的绝对值小于所述预先设定的过渡段的长度的情况下,将所述当前帧的声道间时间差的绝对值的n倍确定为所述当前帧的衰减窗的窗长,其中,n为预先设定的大于0小于l/maxdelay的实数,maxdelay为预设的大于0的实数。

可选地,上述maxdelay为声道间时间差的绝对值的最大值。

可选地,作为一个实施例,所述处理器1220具体用于:根据所述当前帧的衰减窗的窗长对所述初始线性预测分析窗进行修正,其中,所述修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点的中对应点取值的衰减值逐渐增大。

可选地,作为一个实施例,所述修正的线性预测分析窗满足公式:

其中,wadp(i)为修正的线性预测分析窗,w(i)为所述初始线性预测分析窗,其中,max_atten为预设的大于0的实数。

可选地,作为一个实施例,所述处理器1220具体用于:根据所述当前帧的衰减窗的窗长确定所述当前帧的衰减窗;根据所述当前帧的衰减窗对所述初始线性预测分析窗进行修正,其中,所述修正的线性预测分析窗从第l-sub_window_len点至第l-1点的取值相对于所述初始线性预测分析窗的第l-sub_window_len点至第l-1点中对应点的取值的衰减值逐渐增大。

可选地,作为一个实施例,所述处理器1220具体用于:根据所述当前帧的衰减窗的窗长,从预先存储的多个候选衰减窗中确定所述当前帧的衰减窗,其中,所述多个候选衰减窗对应不同的窗长取值范围,所述不同的窗长取值范围之间没有交集。

可选地,作为一个实施例,所述当前帧的衰减窗满足公式:

其中,sub_window(i)为所述当前帧的衰减窗,max_atten为预设的大于0的实数。

可选地,作为一个实施例,所述修正的线性预测分析窗满足公式:

其中,wadp(i)为所述修正的线性预测分析窗的窗函数,w(i)为所述初始线性预测分析窗,sub_window(.)为所述当前帧的衰减窗。

可选地,作为一个实施例,所述处理器1220具体用于:根据所述当前帧的衰减窗的窗长,从预先存储的多个候选线性预测分析窗中确定所述修正的线性预测分析窗,其中,所述多个候选线性预测分析窗对应不同的窗长取值范围,所述不同的窗长取值范围之间没有交集。

可选地,作为一个实施例,在所述处理器1220根据所述当前帧的衰减窗的窗长确定修正的线性预测分析窗之前,所述处理器1220还用于:根据预设的间隔步长,对所述当前帧的衰减窗的窗长进行修正,以获得修正的衰减窗的窗长,其中,所述间隔步长为预设的正整数;根据所述初始线性预测分析窗以及所述修正的衰减窗的窗长确定修正的线性预测分析窗。

可选地,作为一个实施例,所述修正的衰减窗的窗长满足公式:

其中,sub_window_len_mod为所述修正的衰减窗的窗长,len_step为所述间隔步长。

上文结合图11和图12对本申请实施例的立体声信号的编码装置进行了描述,下面结合图13至图18本申请实施例的终端设备和网络设备进行描述,应理解,本申请实施例中的立体声信号的编码方法可以由图13至图18中的终端设备或者网络设备执行。另外,本申请实施例中的编码装置可以设置在图13至图18中的终端设备或者网络设备中,具体地,本申请实施例中的编码装置可以是图13至图18中的终端设备或者网络设备中的立体声编码器。

如图13所示,在音频通信中,第一终端设备中的立体声编码器对采集到的立体声信号进行立体声编码,第一终端设备中的信道编码器可以对立体声编码器得到的码流再进行信道编码,接下来,第一终端设备信道编码后得到的数据通过第一网络设备和第二网络设备传输到第二网络设备。第二终端设备在接收到第二网络设备的数据之后,第二终端设备的信道解码器进行信道解码,得到立体声信号编码码流,第二终端设备的立体声解码器再通过解码恢复出立体声信号,由终端设备进行该立体声信号的回放。这样就在不同的终端设备完成了音频通信。

应理解,在图13中,第二终端设备也可以对采集到的立体声信号进行编码,最终通过第二网络设备和第二网络设备将最终编码得到的数据传输给第一终端设备,第一终端设备通过对数据进行信道解码和立体声解码得到立体声信号。

在图13中,第一网络设备和第二网络设备可以是无线网络通信设备或者有线网络通信设备。第一网络设备和第二网络设备之间可以通过数字信道进行通信。

图13中的第一终端设备或者第二终端设备可以执行本申请实施例的立体声信号的编解码方法,本申请实施例中的编码装置、解码装置可以分别是第一终端设备或者第二终端设备中的立体声编码器、立体声解码器。

在音频通信中,网络设备可以实现音频信号编解码格式的转码。如图14所示,如果网络设备接收到的信号的编解码格式为其它立体声解码器对应的编解码格式,那么,网络设备中的信道解码器对接收到的信号进行信道解码,得到其它立体声解码器对应的编码码流,其它立体声解码器对该编码码流进行解码,得到立体声信号,立体声编码器再对立体声信号进行编码,得到立体声信号的编码码流,最后,信道编码器再对立体声信号的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。应理解,图14中的立体声编码器对应的编解码格式与其它立体声解码器对应的编解码格式不同。假设其它立体声解码器对应的编解码格式为第一编解码格式,立体声编码器对应的编解码格式为第二编解码格式,那么在图14中,通过网络设备就实现了将音频信号由第一编解码格式转化为第二编解码格式。

类似的,如图15所示,如果网络设备接收到的信号的编解码格式与立体声解码器对应的编解码格式相同,那么,在网络设备的信道解码器进行信道解码得到立体声信号的编码码流之后,可以由立体声解码器对立体声信号的编码码流进行解码,得到立体声信号,接下来,再由其它立体声编码器按照其它的编解码格式对该立体声信号进行编码,得到其它立体声编码器对应的编码码流,最后,信道编码器再对其它立体声编码器对应的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。与图14中的情况相同,图15中的立体声解码器对应的编解码格式与其它立体声编码器对应的编解码格式也是不同的。如果其它立体声编码器对应的编解码格式为第一编解码格式,立体声解码器对应的编解码格式为第二编解码格式,那么在图15中,通过网络设备就实现了将音频信号由第二编解码格式转化为第一编解码格式。

在图14和图15中,其它立体声编解码器和立体声编解码器分别对应不同的编解码格式,因此,经过其它立体声编解码器和立体声编解码器的处理就实现了立体声信号编解码格式的转码。

还应理解,图14中的立体声编码器能够实现本申请实施例中的立体声信号的编码方法,图15中的立体声解码器能够实现本申请实施例的立体声信号的解码方法。本申请实施例中的编码装置可以是图14中的网络设备中的立体声编码器,本申请实施例中的解码装置可以是图15中的网络设备中的立体声解码器。另外,图14和图15中的网络设备具体可以是无线网络通信设备或者有线网络通信设备。

如图16所示,在音频通信中,第一终端设备中的多声道编码器中的立体声编码器对由采集到的多声道信号生成的立体声信号进行立体声编码,多声道编码器得到的码流包含立体声编码器得到的码流,第一终端设备中的信道编码器可以对多声道编码器得到的码流再进行信道编码,接下来,第一终端设备信道编码后得到的数据通过第一网络设备和第二网络设备传输到第二网络设备。第二终端设备在接收到第二网络设备的数据之后,第二终端设备的信道解码器进行信道解码,得到多声道信号的编码码流,多声道信号的编码码流包含了立体声信号的编码码流,第二终端设备的多声道解码器中的立体声解码器再通过解码恢复出立体声信号,多声道解码器根据恢复出立体声信号解码得到多声道信号,由第二终端设备进行该多声道信号的回放。这样就在不同的终端设备完成了音频通信。

应理解,在图16中,第二终端设备也可以对采集到的多声道信号进行编码(具体由第二终端设备中的多声道编码器中的立体声编码器对由采集到的多声道信号生成的立体声信号进行立体声编码,然后再由第二终端设备中的信道编码器对多声道编码器得到的码流进行信道编码),最终通过第二网络设备和第二网络设备传输给第一终端设备,第一终端设备通过信道解码和多声道解码得到多声道信号。

在图16中,第一网络设备和第二网络设备可以是无线网络通信设备或者有线网络通信设备。第一网络设备和第二网络设备之间可以通过数字信道进行通信。

图16中的第一终端设备或者第二终端设备可以执行本申请实施例的立体声信号的编解码方法。另外,本申请实施例中的编码装置可以是第一终端设备或者第二终端设备中的立体声编码器,本申请实施例中的解码装置可以是第一终端设备或者第二终端设备中的立体声解码器。

在音频通信中,网络设备可以实现音频信号编解码格式的转码。如图17所示,如果网络设备接收到的信号的编解码格式为其它多声道解码器对应的编解码格式,那么,网络设备中的信道解码器对接收到的信号进行信道解码,得到其它多声道解码器对应的编码码流,其它多声道解码器对该编码码流进行解码,得到多声道信号,多声道编码器再对多声道信号进行编码,得到多声道信号的编码码流,其中多声道编码器中的立体声编码器对由多声道信号生成的立体声信号进行立体声编码得到立体声信号的编码码流,多声道信号的编码码流包含了立体声信号的编码码流,最后,信道编码器再对编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。

类似的,如图18所示,如果网络设备接收到的信号的编解码格式与多声道解码器对应的编解码格式相同,那么,在网络设备的信道解码器进行信道解码得到多声道信号的编码码流之后,可以由多声道解码器对多声道信号的编码码流进行解码,得到多声道信号,其中多声道解码器中的立体声解码器对多声道信号的编码码流中的立体声信号的编码码流进行立体声解码,接下来,再由其它多声道编码器按照其它的编解码格式对该多声道信号进行编码,得到其它多声道编码器对应的多声道信号的编码码流,最后,信道编码器再对其它多声道编码器对应的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。

应理解,在图17和图18中,其它多声道编解码器和多声道编解码器分别对应不同的编解码格式。例如,在图17中,其它立体声解码器对应的编解码格式为第一编解码格式,多声道编码器对应的编解码格式为第二编解码格式,那么在图17中,通过网络设备就实现了将音频信号由第一编解码格式转化为第二编解码格式。类似地,在图18中,假设多声道解码器对应的编解码格式为第二编解码格式,其它立体声编码器对应的编解码格式为第一编解码格式,那么在图18中,通过网络设备就实现了将音频信号由第二编解码格式转化为第一编解码格式。因此,经过其它多声道编解码器和多声道编解码的处理就实现了音频信号编解码格式的转码。

还应理解,图17中的立体声编码器能够实现本申请中的立体声信号的编码方法,图18中的立体声解码器能够实现本申请中的立体声信号的解码方法。本申请实施例中的编码装置可以是图17中的网络设备中的立体声编码器,本申请实施例中的解码装置可以是图18中的网络设备中的立体声解码器。另外,图17和图18中的网络设备具体可以是无线网络通信设备或者有线网络通信设备。

本申请还提供了一种芯片,所述芯片包括处理器与通信接口,所述通信接口用于与外部器件进行通信,所述处理器用于执行本申请实施例的立体声信号的编码方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行本申请实施例的立体声信号的编码方法。

可选地,作为一种实现方式,所述芯片集成在终端设备或者网络设备上。

本申请提供了一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行本申请实施例的立体声信号的编码方法的指令。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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