一种音频信号重采样的方法和装置
技术领域
本发明涉及音频信号处理领域,具体涉及一种音频信号重采样的方法和装置。
背景技术
在音频信号处理领域,当需要对某个音频信号进行采样时,通常是按照特定的采样率进行音频信号的采集的。如可以将采样率预先设置成8000,即每秒钟采集到8000个声音样点。当遇到采样率变换,即重采样问题时,例如,对于已经经过特定采样率采集成功的音频信号,需要将采样率增大或者减小,所以,需要在特定采样率采集成功的音频信号基础上重新进行采样。
现有技术中,实现重采样的方法包括硬件和软件两个方面,由于采用硬件方式实现音频重采样价格较昂贵,所以现有技术一般使用软件的方式进行音频的重采样。但是,现有技术的以软件方式实现音频重采样的方法中,不仅需要对音频信号进行7阶以上的FIR(有限长单位冲激响应)滤波处理,而且必须将处于时域的音频信号转换为频域的音频信号进行处理,处理结束后还需要将音频信号转换回时域。
由于现有技术中的音频信号重采样技术,不仅需要对音频信号进行7阶以上的FIR滤波处理,而且也要进行频域信号与时域信号的多次转换,所以,可见现有技术的音频重采样方法计算过程复杂,音频信号的重采样效率较低。
发明内容
为了减少音频信号重采样的计算过程的复杂度,从而提高重采样的效率,本发明提供了一种音频信号重采样的方法和装置。
本发明提供了一种音频信号重采样的方法,所述方法包括:
根据所述音频信号类型,获取初始音频信号;
获取所述初始音频信号的第一帧为目标帧以及确定初始距离为0;
根据所述目标帧的输入样点的位置、所述初始距离、所述初始音频信号采样率以及输出采样率,确定输出样点的位置;根据所述输出样点的位置,获取输出样点的信号值;将最后一个输入样点确定为所述目标帧的下一帧的第一个输入样点,以及将最后一个输入样点与最后一个输出样点的距离确定为所述初始距离;获取所述目标帧的下一帧为目标帧,继续执行根据所述目标帧的输入样点的位置、所述初始距离、输入采样率以及输出采样率,确定输出样点的位置;直到所述初始音频信号的所有帧均执行结束。
优选地,所述根据所述音频信号类型,获取初始音频信号,包括:
判断所述音频信号类型是否为单声道,如果是,则获取所述音频信号作为初始音频信号,如果否,则将所述音频信号根据声道进行存储,获取所述存储后的音频信号作为初始音频信号。
优选地,所述根据所述目标帧的输入样点的位置、所述初始距离、输入采样率以及输出采样率,确定输出样点的位置,包括:
预先设置输出采样率以及获取所述初始音频信号采样率;
确定所述初始音频信号采样率与所述输出采样率的比值为倍数值;
根据所述倍数值、所述初始距离以及所述输入样点的位置,确定输出样点的位置。
优选地,所述根据所述输出样点的位置,获取输出样点的信号值,包括:
确定任一输出样点为待处理样点;执行获取样点信号值的流程:获取与所述待处理样点相邻的两个输入样点的权重系数,以及获取与所述待处理样点相邻的两个输入样点的信号值;根据所述权重系数和所述信号值,确定所述待处理样点的信号值;将未执行获取样点信号值的流程的任一输出样点确定为待处理样点,继续执行获取样点信号值的流程,直到所有输出样点均执行结束。
优选地,所述根据所述权重系数和所述信号值,确定所述待处理样点的信号值,包括:
将所述待处理样点与相邻前一个输入样点的距离确定为第一距离,以及将所述待处理样点与相邻后一个输入样点的距离确定为第二距离;
将所述第一距离与所述第二距离的和确定为总距离;
将所述相邻前一个输入样点的权重系数确定为第一权重系数,以及将所述相邻后一个输入样点的权重系数确定为第二权重系数,所述第一权重系数为所述第二距离与所述总距离的比值,所述第二权重系数为所述第一距离与所述总距离的比值;
将与所述待处理样点相邻的前一个输入样点的信号值确定为第一信号值,以及将与所述待处理样点相邻的后一个输入样点的信号值确定为第二信号值;
将所述第一权重系数与所述第一信号值的乘积确定为第一运算值,以及将所述第二权重系数与所述第二信号值的乘积确定为第二运算值;
将所述第一运算值与所述第二运算值的和确定为所述待处理样点的信号值。
本发明还提供了一种音频信号重采样的装置,所述装置包括:
第一获取模块,用于根据所述音频信号类型,获取初始音频信号;
第二获取模块,用于获取所述初始音频信号的第一帧为目标帧;
第一确定模块,用于确定初始距离为0;
第二确定模块,用于根据所述目标帧的输入样点的位置、所述初始距离、所述初始音频信号采样率以及输出采样率,确定输出样点的位置;
第三获取模块,用于根据所述输出样点的位置,获取输出样点的信号值;
第三确定模块,用于将最后一个输入样点确定为所述目标帧的下一帧第一个输入样点;
第四确定模块,用于将最后一个输入样点与最后一个输出样点的距离确定为所述初始距离;
第四获取模块,用于获取所述目标帧的下一帧为目标帧,继续触发所述第二确定模块,直到所述初始音频信号的所有帧均执行结束。
优选地,所述第一获取模块,包括:
判断子模块,用于判断所述音频信号类型是否为单声道;
第一获取子模块,用于在所述判断子模块的结果为是时,获取所述音频信号作为初始音频信号;
存储子模块,用于在所述判断子模块的结果为否时,将所述音频信号根据声道进行存储;
第二获取子模块,用于获取所述存储子模块存储后的音频信号作为初始音频信号。
优选地,所述第二确定模块,包括:
第一设置子模块,用于预先设置输出采样率;
第三获取子模块,用于获取所述初始音频信号采样率;
第一确定子模块,用于确定所述初始音频信号采样率与所述输出采样率的比值为倍数值;
第二确定子模块,用于根据所述倍数值、所述初始距离以及所述输入样点的位置,确定输出样点的位置。
优选地,所述第三获取模块,包括:
第三确定子模块,用于确定任一输出样点为待处理样点;
第四获取子模块,用于获取与所述待处理样点相邻的两个输入样点的权重系数;
第五获取子模块,用于获取与所述待处理样点相邻的两个输入样点的信号值;
第四确定子模块,用于根据所述权重系数和所述信号值,确定所述待处理样点的信号值;
第五确定子模块,用于将未触发所述第四获取子模块的任一输出样点确定为待处理样点,继续触发所述第四获取子模块,直到所有输出样点均执行结束。
优选地,所述第四确定子模块,包括:
第五确定子模块,用于将所述待处理样点与相邻前一个输入样点的距离确定为第一距离;
第六确定子模块,用于将所述待处理样点与相邻后一个输入样点的距离确定为第二距离;
第七确定子模块,用于将所述第一距离与所述第二距离的和确定为总距离;
第八确定子模块,用于将所述相邻前一个输入样点的权重系数确定为第一权重系数,所述第一权重系数为所述第二距离与所述总距离的比值;
第九确定子模块,用于将所述相邻后一个输入样点的权重系数确定为第二权重系数,所述第二权重系数为所述第一距离与所述总距离的比值;
第十确定子模块,用于将与所述待处理样点相邻的前一个输入样点的信号值确定为第一信号值;
第十一确定子模块,用于将与所述待处理样点相邻的后一个输入样点的信号值确定为第二信号值;
第一乘积子模块,用于将所述第一权重系数与所述第一信号值的乘积确定为第一运算值;
第二乘积子模块,用于将所述第二权重系数与所述第二信号值的乘积确定为第二运算值;
求和子模块,用于将所述第一运算值与所述第二运算值的和确定为所述待处理样点的信号值。
本发明首先根据所述音频信号类型,获取初始音频信号;其次,获取所述初始音频信号的第一帧为目标帧以及确定初始距离为0;再次,获取所述目标帧的音频信号为源信号;根据所述源信号的样点的位置、所述初始距离、所述初始音频信号采样率以及目标样本的采样率,确定目标样点位置;根据所述目标样点位置,获取目标样点的信号值;将所述源信号的最后一个样点确定为所述目标帧的下一帧音频信号的第一个样点,以及将所述源信号的最后一个样点与最后一个目标样点的距离确定为所述初始距离;获取所述目标帧的下一帧为目标帧,继续执行获取所述目标帧的音频信号为源信号,直到所述初始音频信号的所有帧均执行结束。与现有技术相比,本发明的音频信号重采样的方法不需要进行复杂的高阶运算,也不需要进行频域信号和时域信号的多次转换,只通过简单的乘加运算,实现音频信号的重采样。可见相比现有技术,本发明的音频信号重采样方法计算过程简单,实现音频信号的重采样的效率高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的音频信号重采样的方法的流程图;
图2为本发明实施例一的获取初始音频信号的流程图;
图3为本发明实施例一的确定输出样点的位置的流程图;
图4为本发明实施例一的获取输出样点的信号值的流程图;
图5为本发明实施例一的确定待处理样点的信号值的流程图;
图6为本发明实施例二的音频信号重采样的装置结构图;
图7为本发明实施例二的所述第一获取模块601的结构图;
图8为本发明实施例二的所述第二确定模块604的结构图;
图9为本发明实施例二的所述第三获取模块605的结构图;
图10为本发明实施例二的所述第四确定子模块904的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一、
参考图1,图1为本发明提供的一种音频信号重采样的方法实施例一的流程图,本实施例的方法具体可以包括:
步骤101、根据所述音频信号类型,获取初始音频信号。
本实施例中,音频信号是按照声道进行重采样的,所以,在对音频信号进行重采样之前,需要获取音频信号类型,具体的音频信号类型包括单声道和多声道。
其中,对于不同类型的音频信号,本实施例采用不同的方式进行处理。具体的,针对不同类型的音频信号的处理方法参考图2,图2为获取初始音频信号的流程图,具体步骤如下:
步骤201、判断所述音频信号类型是否为单声道,如果是,则进入步骤202,如果否,则进入步骤203。
本实施例中,由于音频信号包括单声道和多声道两种类型,在获取初始音频信号之前,首先判断所述音频信号的类型,如果所述音频信号类型为多声道时,执行步骤203,如果所述音频信号类型为单声道时,执行步骤202。
步骤202、获取所述音频信号作为初始音频信号。
本实施例中,当所述音频信号类型为单声道时,不需要对该音频信号进行任何处理,直接将该音频信号确定为初始音频信号。
步骤203、将所述音频信号根据声道进行存储,进入步骤204。
本实施例中,当所述音频信号类型为多声道时,将所述音频信号按照声道进行存储。以双声道的音频信号为例,当所述音频信号为长度为2L的双声道音频信号,可以将该音频信号中的长度为L的左声道音频信号统一存储,同时将该音频信号中长度为L的右声道音频信号统一存储,将两个长度为L的音频信号组合,形成最终的音频信号。其中,最终的音频信号可以是左声道音频信号在先,右声道音频信号在后的存储方式,也可以是右声道音频信号在先,左声道音频信号在后的存储方式。具体的存储顺序不影响本实施例的施行。
步骤204、获取所述存储后的音频信号作为初始音频信号。
本实施例中,将上述经过多声道分别存储的音频信号确定为初始音频信号。
步骤102、获取所述初始音频信号的第一帧为目标帧。
本实施例中,对初始音频信号重采样之前,选择该初始音频信号的第一帧作为目标帧进行处理。
步骤103、确定初始距离为0。
本实施例中,初始音频信号是以帧为单位进行重采样的,其中,帧的长度不受限制。所以为了保证音频信号播放的连续性,可以根据初始距离,对帧与帧之间的音频信号进行相应的处理。其中,初始距离表示相邻两帧的上一帧的音频信号中的最后一个输出样本中样点距下一帧音频信号的第一个输入样本中样点的距离。
步骤104、根据所述目标帧的输入样点的位置、所述初始距离、所述初始音频信号采样率以及输出采样率,确定输出样点的位置。
本实施例中,在对初始音频信号进行重采样之前,首先确定经过重采样后的输出样本中的输出样点的位置。
参考图3,图3为确定输出样点的位置的流程图,具体步骤如下:
步骤301、预先设置输出采样率。
本实施例中,在确定输出样点的位置之前,首先设置对初始音频信号重采样后获得的输出样本的采样率。具体的,可以根据用户需求进行输出采样率的设置。
步骤302、获取所述初始音频信号采样率。
本实施例中,在确定输出样点的位置之前,还需要获取初始音频信号的采样率,具体的,通过何种方式获取初始音频信号的采样率不做限制,同时不影响本实施例的实施。
实际操作中,步骤301和步骤302执行的先后顺序不受限制,可以先执行步骤301再执行步骤302,也可以先执行步骤302后执行步骤301,还可以将步骤301和步骤302同时执行。
具体的,想要将采样率为8000的初始音频信号重采样成采样率为7500的音频信号时,7500为步骤301预先设置的输出采样率,8000为步骤302获取的初始音频信号采样率。
步骤303、确定所述初始音频信号采样率与所述输出采样率的比值为倍数值。
本实施例中,计算初始音频信号采样率和输出采样率的比值,将该比值确定为倍数值,用于后续步骤中输出样点的位置的确定。
步骤304、根据所述倍数值、所述初始距离以及所述输入样点的位置,确定输出样点的位置。
本实施例中,首先计算倍数值,其次获取初始距离,再次获取输入样点的位置,最终确定输出样点的位置。
实际操作中,音频信号重采样包括两种类型,其中,根据倍数值与自然数1的关系,确定音频信号重采样的类型是向上重采样或者向下重采样。具体的,当通过计算得到的倍数值大于1时,音频信号需要进行向下重采样;相反地,当通过计算得到的倍数值小于1时,音频信号需要进行向上重采样;很容易理解的是,当计算得到的倍数值等于1时,音频信号不需要进行重采样。
下面针对如何确定输出样点的位置举例说明,具体如下:
对于向上重采样类型,假设计算得到的倍数值为0.7,X[n]表示第n个输入样点,Y[n]表示第n个输出样点,n为自然数,同时假设相邻两个输入样点的距离为1,初始距离为0。
由于倍数值0.7小于1,所以音频信号需要进行向上重采样,即对初始音频信号进行插值处理。由于初始音频信号采样率与输出采样率的比值为7∶10,同时相邻两个输入样点的距离为1,所以相邻两个输出样点的距离为0.7,可见输出样点比输入样点分布的更密集,通过计算得到Y[1]在X[1]和X[2]之间,同时距X[1]的距离为0.7,距X[2]的距离为0.3,Y[2]在X[2]和X[3]之间,同时距X[2]的距离为0.4,距X[3]的距离为0.6,Y[3]在X[3]和X[4]之间,同时距X[3]的距离为0.1,距X[4]的距离为0.9,以此类推,可以确定出所有输出样点的位置。
对于向下重采样类型,假设计算得到的倍数值为1.43,X[n]表示第n个输入样点,Y[n]表示第n个输出样点,n为自然数,同时假设相邻两个输入样点的距离为1,初始距离为0。
由于倍数值1.43大于1,所以音频信号需要进行向下重采样,即对初始音频信号进行抽值处理。由于初始音频信号采样率与输出采样率的比值为1.43,同时相邻两个输入样点的距离为1,所以相邻两个输出样点的距离为1.43,可见输出样点比输入样点分布的更密集,通过计算得到Y[1]在X[2]和X[3]之间,同时距X[2]的距离为0.43,距X[3]的距离为0.57,Y[2]在X[3]和X[4]之间,同时距X[3]的距离为0.86,距X[4]的距离为0.14,Y[3]在X[5]和X[6]之间,同时距X[5]的距离为0.29,距X[6]的距离为0.71,以此类推,可以确定出所有输出样点的位置
步骤105、根据所述输出样点的位置,获取输出样点的信号值。
本实施例中,首先确定输出样点的位置,其次,根据输出样点的位置,确定输出样点的信号值。
参考图4,图4为获取输出样点的信号值的流程图,具体步骤如下:
步骤401、确定任一输出样点为待处理样点。
本实施例中,在获取输出样点的信号值之前,首先将确定了位置的输出样点中的任意一个作为待处理样点。
步骤402、获取与所述待处理样点相邻的两个输入样点的权重系数。
本实施例中,需要确定与所述待处理样点相邻前一个输入样点的权重系数,以及确定与所述待处理样点相邻后一个输入样点的权重系数,实际操作中,确定前后两个相邻输入样点的权重系数的顺序不受限制,可以先确定相邻前一个输入样点的权重系数,再确定相邻后一个输入样点的权重系数;也可以先确定相邻后一个输入样点的权重系数,再确定相邻前一个输入样点的权重系数;还可以同时确定相邻两个输入样点的权重系数。
步骤403、获取与所述待处理样点相邻的两个输入样点的信号值。
本实施例中,确定待处理样点的信号值,不仅需要获取输出样点的位置,还需要获取与待处理样点相邻的两个输入样点的信号值。
实际操作中,可以通过现有软件解码或者硬件ADC,获取相邻输入样点的信号值,具体的,本实施例对获取输入样点的信号值的方式不受限制。
步骤404、根据所述权重系数和所述信号值,确定所述待处理样点的信号值。
本实施例中,首先获取两个权重系数,其次获取两个信号值,最后根据确定的权重系数和信号值,获取待处理样点的信号值。
参考图5,图5为确定待处理样点的信号值的流程图,具体步骤如下:
步骤501、将所述待处理样点与相邻前一个输入样点的距离确定为第一距离。
步骤502、将所述待处理样点与相邻后一个输入样点的距离确定为第二距离。
步骤503、将所述第一距离与所述第二距离的和确定为总距离。
步骤504、将所述相邻前一个输入样点的权重系数确定为第一权重系数,所述第一权重系数为所述第二距离与所述总距离的比值。
步骤505、将所述相邻后一个输入样点的权重系数确定为第二权重系数,所述第二权重系数为所述第一距离与所述总距离的比值。
本实施例中,权重系数具体包括第一权重系数和第二权重系数,权重系数与距离的关系可以理解为,距待处理样点的距离越大的输入样点具有的权重系数越小。
步骤506、将与所述待处理样点相邻的前一个输入样点的信号值确定为第一信号值。
步骤507、将与所述待处理样点相邻的后一个输入样点的信号值确定为第二信号值。
步骤508、将所述第一权重系数与所述第一信号值的乘积确定为第一运算值。
步骤509、将所述第二权重系数与所述第二信号值的乘积确定为第二运算值。
步骤510、将所述第一运算值与所述第二运算值的和确定为所述待处理样点的信号值。
下面针对如何确定待处理样点的信号值,举例说明:
假设X[n]表示第n个输入样点,Y[n]表示第n个输出样点,x[n]表示第n个输入样点的信号值,y[n]表示第n个输出样点的信号值,n为自然数,假设第n个输出样点处于第n个输入样点和第n+1个输入样点之间。
首先,将Y[n]距X[n]的距离确定为第一距离,用S1表示;将Y[n]距X[n+1]的距离确定为第二距离,用S2表示;可以理解的是,用S表示S1与S2的和,即S可以表示X[n]与X[n+1]之间的总距离,用Q1表示第一权重系数,即Q1可以表示S2与S的比值,用Q2表示第二权重系数,即Q2可以表示S1与S的比值。其次,获取X[n]的信号值x[n],以及获取X[n+1]的信号值。最后,通过公式(1),获取待处理样点的信号值,即y[n]。
y[n]=x[n]*Q1+x[n+1]*Q2 (1)
步骤405、判断所有输出样点是否均执行结束,如果否,则进入步骤406。
步骤406、将未执行步骤402的任一输出样点确定为待处理样点,继续执行步骤402。
本实施例中,将待确定样点的信号值确定结束后,需要重新确定下一个待处理样点,继续执行步骤402,直到所有输出样点均执行结束。
实际操作中,在重新确定下一个待处理样点时,可以将未执行过步骤402的任意一个输出样点确定为待处理样点,继续执行待处理样点的信号值确定操作。
步骤106、将最后一个输入样点确定为所述目标帧的下一帧的第一个输入样点。
本实施例中,由于重采样的对象是音频信号,必须保证经过重采样得到的音频信号能够连续流畅播放,所以,音频信号的重采样要考虑帧与帧之间的过渡处理。
实际操作中,对于音频信号的重采样中的帧与帧的过渡处理,可以将当前所处理的帧的最后一个输入样点记录下来,作为当前帧的下一帧的第一个输入样点,从而处理了音频信号重采样中的帧与帧的过渡。
步骤107、将最后一个输入样点与最后一个输出样点的距离确定为所述初始距离。
本实施例中,为了处理音频信号重采样,不仅将当前所处理的帧的最后一个输入样点确定为下一帧的第一个输入样点,还需要记录当前所处理的帧的最后一个输入样点与最后一个输出样点的距离。
实际操作中,在获取每一帧音频信号的第一个输出样点时,如果当前帧的初始距离不等于0,在确定输出样点的位置的过程中需要考虑当前处理帧的初始距离。例如,当前帧的上一帧的最后一个输入样点与最后一个输出样点的距离为0.3,即初始距离为0.3,假如相邻两个输出样点的距离为1,在确定当前帧的第一个输出样点的位置时,由于该第一个输出样点的上一个输出样点距当前帧的第一输入样点的距离为0.3,即初始距离,所以该第一个输出样点只需要位于距当前帧的第一个输入样点0.7即可,从而处理了音频信号重采样中的帧与帧的过渡。
步骤108、判断所述初始音频信号的所有帧是否均执行结束,如果是,则进入步骤109。
步骤109、获取所述目标帧的下一帧为目标帧,继续执行步骤104。
本实施例中,如果所述初始音频信号的所有帧没有均执行结束,则在目标帧的所有输出样点均被确定后,确定该目标帧的下一帧为目标帧,继续执行步骤104,直到所述初始音频信号的所有帧均执行结束。
实际操作中,采用本实施例获得的输出样点的信号值与实际的信号值存在误差,这个误差可以是轻微的随机噪声,在普通设备上很难被听到,但是对于音质要求较高的设备,随机噪声是能够被听到的。所以,本实施例可以对获取到的输出样点进行低通滤波,此种方式可以消除随机噪声,即消除误差。但是由于低通滤波的计算量较大,所以,用户可以根据实际应用设备选择是否进行低通滤波处理。
本实施例首先根据所述音频信号类型,获取初始音频信号;其次,获取所述初始音频信号的第一帧为目标帧以及确定初始距离为0;再次,根据所述目标帧的输入样点的位置、所述初始距离、所述初始音频信号采样率以及输出采样率,确定输出样点的位置;根据所述输出样点的位置,获取输出样点的信号值;将最后一个输入样点确定为所述目标帧的下一帧的第一个输入样点,以及将最后一个输入样点与最后一个输出样点的距离确定为所述初始距离;获取所述目标帧的下一帧为目标帧,继续执行根据所述目标帧的输入样点的位置、所述初始距离、输入采样率以及输出采样率,确定输出样点的位置;直到所述初始音频信号的所有帧均执行结束。本实施例中只通过简单的乘加运算,实现音频信号的重采样。可见相比现有技术,本发明的音频信号重采样方法计算过程简单,实现音频信号的重采样的效率高。
实施例二、
参考图6,图6为本发明提供的一种音频信号重采样的装置实施例二的结构图,本实施例的装置具体可以包括:
第一获取模块601,用于根据所述音频信号类型,获取初始音频信号;
参考图7,图7为所述第一获取模块601的结构图,具体可以包括:
判断子模块701,用于判断所述音频信号类型是否为单声道;
第一获取子模块702,用于在所述判断子模块的结果为是时,获取所述音频信号作为初始音频信号;
存储子模块703,用于在所述判断子模块的结果为否时,将所述音频信号根据声道进行存储;
第二获取子模块704,用于获取所述存储子模块存储后的音频信号作为初始音频信号。
第二获取模块602,用于获取所述初始音频信号的第一帧为目标帧;
第一确定模块603,用于确定初始距离为0;
第二确定模块604,用于根据所述目标帧的输入样点的位置、所述初始距离、所述初始音频信号采样率以及输出采样率,确定输出样点的位置;
参考图8,图8为所述第二确定模块604的结构图,具体可以包括:
第一设置子模块801,用于预先设置输出采样率;
第三获取子模块802,用于获取所述初始音频信号采样率;
第一确定子模块803,用于确定所述初始音频信号采样率与所述输出采样率的比值为倍数值;
第二确定子模块804,用于根据所述倍数值、所述初始距离以及所述输入样点的位置,确定输出样点的位置。
第三获取模块605,用于根据所述输出样点的位置,获取输出样点的信号值;
参考图9,图9为所述第三获取模块605的结构图,具体可以包括:
第三确定子模块901,用于确定任一输出样点为待处理样点;
第四获取子模块902,用于获取与所述待处理样点相邻的两个输入样点的权重系数;
第五获取子模块903,用于获取与所述待处理样点相邻的两个输入样点的信号值;
第四确定子模块904,用于根据所述权重系数和所述信号值,确定所述待处理样点的信号值;
参考图10,图10为所述第四确定子模块904的结构图,具体可以包括:
第五确定子模块1001,用于将所述待处理样点与相邻前一个输入样点的距离确定为第一距离;
第六确定子模块1002,用于将所述待处理样点与相邻后一个输入样点的距离确定为第二距离;
第七确定子模块1003,用于将所述第一距离与所述第二距离的和确定为总距离;
第八确定子模块1004,用于将所述相邻前一个输入样点的权重系数确定为第一权重系数,所述第一权重系数为所述第二距离与所述总距离的比值;
第九确定子模块1005,用于将所述相邻后一个输入样点的权重系数确定为第二权重系数,所述第二权重系数为所述第一距离与所述总距离的比值;
第十确定子模块1006,用于将与所述待处理样点相邻的前一个输入样点的信号值确定为第一信号值;
第十一确定子模块1007,用于将与所述待处理样点相邻的后一个输入样点的信号值确定为第二信号值;
第一乘积子模块1008,用于将所述第一权重系数与所述第一信号值的乘积确定为第一运算值;
第二乘积子模块1009,用于将所述第二权重系数与所述第二信号值的乘积确定为第二运算值;
求和子模块1010,用于将所述第一运算值与所述第二运算值的和确定为所述待处理样点的信号值。
第五确定子模块905,用于将未触发所述第四获取子模块的任一输出样点确定为待处理样点,继续触发所述第四获取子模块,直到所有输出样点均执行结束。
第三确定模块606,用于将最后一个输入样点确定为所述目标帧的下一帧第一个输入样点;
第四确定模块607,用于将最后一个输入样点与最后一个输出样点的距离确定为所述初始距离;
第四获取模块608,用于获取所述目标帧的下一帧为目标帧,继续触发所述第二确定模块,直到所述初始音频信号的所有帧均执行结束。
本实施例首先根据所述音频信号类型,获取初始音频信号;其次,获取所述初始音频信号的第一帧为目标帧以及确定初始距离为0;再次,根据所述目标帧的输入样点的位置、所述初始距离、所述初始音频信号采样率以及输出采样率,确定输出样点的位置;根据所述输出样点的位置,获取输出样点的信号值;将最后一个输入样点确定为所述目标帧的下一帧的第一个输入样点,以及将最后一个输入样点与最后一个输出样点的距离确定为所述初始距离;获取所述目标帧的下一帧为目标帧,继续执行根据所述目标帧的输入样点的位置、所述初始距离、输入采样率以及输出采样率,确定输出样点的位置;直到所述初始音频信号的所有帧均执行结束。本实施例中只通过简单的乘加运算,实现音频信号的重采样。可见相比现有技术,本发明的音频信号重采样装置计算过程简单,实现音频信号的重采样的效率高。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的音频信号重采样的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。