具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了更好的理解本申请实施例提供的语音信号处理方法,提供一个本申请实施例适用的应用环境。请参见图1,本申请提供的一种语音信号处理方法,可以应用于如图1所示的语音信号处理系统。该系统包括编码器01以及解码器02,其中编码器01可以与解码器02进行数据传输。其中,编码器01包括但不限于是接触式编码器、非接触式编码器、增量式编码器、绝对值编码器等,本申请实施例对编码器的类型不作具体限定。其中,解码器02包括但不限于是硬件解码器、无线解码器、软件解码器、多路解码器、单路解码器等,本实施例对解码器的类型也不作具体限定。
通常在极弱网下(比如20kbps,甚至更低),面向传输的抗丢包策略不再适用,此时需要开发抗丢语音包编码器,提高语音编码器本身的抗丢包能力。其中,分流多描述是抗丢包语音编码器的一种实现方式,这里分流多描述指的是对待传输的语音码流通过分流的方式进行传输的方式。
以SILK编码器为例,一般在语音信号中,语音残留信号在SILK编码器的码流中占有最大流量,所以有必要考虑在抗丢包语音编码器中对语音残留信号进行分流。其中,语音残留信号表示的是语音编码器将原始语音信号经过去除短长时相关,进行增益控制,噪声整形之后剩下的无相关性或弱相关性的信号,该语音残留信号一般为一段随机的脉冲序列。基于此,本申请实施例提供一种语音信号处理方法、系统、装置、计算机设备和存储介质,通过对语音残留信号进行分流,提高语音编码器的抗丢包性能。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种语音信号处理方法,图2-图5的执行主体为编码器,图6-图8的执行主体为解码器,其中,其执行主体还可以是语音信号处理装置,其中该装置可以通过软件、硬件或者软硬件结合的方式实现成为编码器的部分或者全部。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
下面对执行主体为编码器的一侧实施例进行说明。
在一个实施例中,图2提供了一种语音信号处理方法,本实施例涉及的是编码器从原始语音信号中获取语音残留信号后,将语音残留信号分流以及对分流后的语音编码器增加补偿信息,并发送给解码器的具体过程,如图2所示,所述方法包括:
S101,获取语音残留信号,并对语音残留信号进行分流,得到多个子语音残留信号;语音残留信号为对原始语音信号进行处理后得到的无相关性信号或弱相关性信号。
其中,语音残留信号语音是编码器将原始语音信号经过去除短长时相关,进行增益控制和噪声整形之后剩下的无相关性或弱相关性的信号。
其中,获取语音残留信号可以理解为是编码器(以下也可称为语音编码器)接收到一段原始语音信号后,将该原始语音信号分为语音残留信号和其他参数,这里的其他参数是原始语音信号中除去语音残留信号后的统称,也就是说其他参数中包括的不止是一种参数,而是多种参数,至于具体包括哪些参数,本实施例不作限定。
本步骤中,编码器从原始语音信号中获取语音残留信号后,对语音残留信号进行分流。可以理解的是,因为语音信号进入编码器后其实就是一段码流,信号的实质就是一段信号序列,那么对语音残留信号进行分流就是对语音残留信号序列的整段码流进行分流,分流成多条信号序列。
本实施例中,对语音残留信号分流可以是分为两条码流,也可以是分成其他数量的码流,本实施例对此不作限定。例如,分流成两条,即将语音残留信号分流成第一子语音残留信号和第二子语音残留信号。这里需要说明的是,在将语音残留信号分流成第一子语音残留信号和第二子语音残留信号后,会同时将原始语音信号中除语音残留信号外的其他参数分别复制保存在各子语音残留信号中,那么最终分流后形成的每条码流中除了包括分出的子语音残留信号外,还携带完整的其他参数,这样,在解码端若恢复出语音残留信号后,可以结合其他参数恢复出原始语音信号。
S102,基于预设的补偿配置,获取各子语音残留信号的补偿信息。
补偿配置表示的补偿信息的配置,而补偿信息是对各子语音残留信号预设的补偿的信息,解码器根据各子语音残留信号可以根据该补偿信息进行补偿的额外信息。该补偿的额外信息可以使解码器在解码时较好的恢复出语音信号。例如,补偿配置可以包括码率配置和补偿参数,码率配置决定了传输语音信号码流时每个传输包的流量上限,补偿参数的变化会使得补偿信息在一包数据中的比例发生变化。又例如,补偿参数可以包括将各子语音残留信号划分的小帧数量,以及每小帧中非零脉冲的数量。其中,补偿配置信息可以由预设的丢包率确定,一般在相同的平均码率下,丢包率越低,补偿信息越少;反之,丢包率越高,补偿信息越多。极限情况,比如不丢包时,补偿信息大小为0。
实际应用中,获取各子语音残留信号的补偿信息时,需基于补偿配置确定,则需要预先确定出补偿配置。通常在传输语音残留信号时,补偿配置需要预设,预设时可根据历史大数据,以及结合实际情况确定,本实施例对此不作限定。具体地,编码器基于预设的补偿配置,获取各子语音残留信号的补偿信息的方式可以是通过预设算法,或者预先训练好的神经网络模型,将补偿配置信息作为输入直接确定对应的补偿信息。当然也可以是其他方式,本实施例对此不做限定。
S103,向解码器发送包括各子语音残留信号和对应的补偿信息的码流;码流用于指示解码器根据各子语音残留信号和对应补偿信息进行解码。
从语音残留信号中确定了各子语音残留信号后,以及获取了各子语音残留信号的补偿信息后,编码器向解码器传输码流时,每条码流中包括各子语音残留信号和对应的补偿信息,当然还需要包括上述所述的其他参数,本实施例中只要针对语音残留信号进行说明,部分实施例中不会再赘述该其他参数。
可以理解的是,编码器向解码器传输码流是用于指示解码器根据码流中的各子语音残留信号和对应补偿信息解码恢复出语音残留信号。
示例地,如图3所示,提供一种编码器向解码器发送分流后码流的示意图。其中,图3中的主解码器和边路解码器可以认为是一个解码器,该解码器在接收到码流后,会根据收到码流的数量采用不同的解码方法,也即是说,主解码器和边路解码器可以看作是一个解码器中实现不同解码方法的子解码器。对于解码器具体的解码过程,可参见以解码器为执行主体的实施例中进行说明,这里不再赘述。
本实施例提供的语音信号处理方法,编码器从原始语音信号中获取语音残留信号后,对语音残留信号进行分流,得到多个子语音残留信号;并基于预设的补偿配置,获取各子语音残留信号的补偿信息;然后向解码器发送包括各子语音残留信号和对应的补偿信息的码流,其中该码流用于指示解码器根据各子语音残留信号和对应补偿信息进行解码。该方法中,通过对语音残留信号进行分流,相当于对语音编码器参数进行多描述后发送解码器,且对各分流进行描述时均增加了补偿信息,该补偿信息可用于解码器解码时有效恢复出较好的语音信号,这样,通过对语音残留信号多描述的方式,即使在传输过程中发生丢包,解码器也可以恢复出较好语音信号,因此,该方法通过对语音残留信号多描述的方式,可以有效提高语音编码器的抗丢包性能。
在以上实施例的基础上,本申请实施例还提供了一种语音信号处理方法,其涉及的是语音编码器将语音残留信号分流成两条子语音残留信号的具体过程,则在一个实施例中,若多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号;则如图4所示,上述S101步骤包括:
S201,对语音残留信号进行量化,得到语音残留信号对应的量化序列。
本实施例中的语音编码器以SILK编码器为例进行说明。
若将语音残留信号分流成第一子语音残留信号和第二子语音残留信号,则可以采用的分流方式是奇偶分流。SILK编码器在对语音残留信号进行分流前需要先对语音残留信号进行量化,得到语音残留信号对应的量化序列。
例如,定义量化前的语音残留信号为:r[n],n=0,1,...,L-1;则量化后的语音残留信号序列可以表示为q[n],n=0,1,...,L-1。
S202,对量化序列进行奇偶分流,获取奇量化序列和偶量化序列。
基于上述量化的语音残留信号的量化序列,对该量化序列进行奇偶分流,分流后,需要基于SILK编码器的本身的算法进一步确定最终的奇量化序列和偶量化序列。
例如,将序列q[n],n=0,1,...,L-1,奇偶分流序列可表示为:
基于SILK编码器本身的随机种子序列和符号函数,确定出的符号函数为:
确定出随机种子偶序列:
以及确定出随机种子奇序列:
其中,seed_init在奇流与偶流中都会保留一份,大小由SILK编码器产生。
进一步地,基于上述确定的符号函数和奇偶随机种子序列,以及语音残留信号量化后的奇偶分流序列,可确定出最终的奇量化序列和偶量化序列为:
qe[n]=Q(r[2*n]*sign(se[n])-offset)
qo[n]=Q(r[2*n+1]*sign(so[n])-offset)
其中,Q表示SILK编码器中的量化算法,由SILK编码器提供。Offset时根据小帧类型查表得出,也由SILK编码器提供。
S203,将奇量化序列确定为第一子语音残留信号,以及将偶量化序列确定为第二子语音残留信号。
基于上述确定的奇偶量化序列,编码器将奇量化序列确定为第一子语音残留信号,以及将偶量化序列确定为第二子语音残留信号,当然还可以将偶量化序列确定为第一子语音残留信号,以及将奇量化序列确定为第二子语音残留信号,对于第一第二与奇偶量化序列的对应关系,本实施例不作限定。
本实施例中,基于量化后的语音残留信号量化序列,进行奇偶分流,且结合了语音编码器中本身的算法,确定出最终的奇偶量化序列,这样,将奇偶量化序列作为最终编码器传输的码流,方便了对语音残留信号的传输。
在一个实施例中,以上述补偿配置中补偿参数,且补偿参数包括各子语音残留信号被划分的小帧数量N1,和每小帧中非零脉冲的数量N2;N1为正整数、N2为非负整数为例,对获取各子语音残留信号的补偿信息的过程进行说明。其中补偿参数在实际中预设是可根据丢包率确定,以保证设置的N1和N2的合理性。则如图5所示,上述S102步骤包括:
S301,获取各子语音残留信号对应的补偿增益、位置序列和符号序列;补偿增益的长度为N1,位置序列和符号序列的长度均为N2。
其中,补偿增益的长度为N1,位置序列和符号序列的长度均为N2,表示的是补偿增益、位置序列和符号序列都是针对子语音残留信号中每小帧的,也就是说本步骤中编码器获取的是各子语音残留信号中每小帧的补偿增益、位置序列和符号序列。
例如,以N1=cfc,N2=nz为例
位置序列xi可以表示为xi=MAX_POSnz(ABS(rqi-crqi));其中,rqi表示解码器接收到所有分流的码流都收到时,恢复出来的最优序列中的第i个小帧,crqi表示解码器接收到分流的码流中单条码流时,基于补偿信息恢复出来的序列中的第i个小帧,i可以取0至cfc-1中的值;则函数ABS表示对语音信号序列中的项分别求绝对值,而语音信号序列中的项是由rqi与crqi的确定的。其中,MAX_POSx函数返回前nz大的项的位置序列。
其中,补偿增益可基于位置序列确定,例如,补偿增益g
i可表示为
同样,基于位置序列可确定符号序列,则符号序列s
i可表示为:s
i=sign(rq
i[x
i]-crq
i[x
i])。
S302,根据各子语音残留信号对应的N1个位置序列和符号序列,构建各子语音残留信号的补偿序列;
基于上述编码器确定的各子语音残留信号的位置序列和符号序列,将所有小帧拼接构成完成序列,即将N1个每小帧的位置序列和符号序列,构建完整序列,该完成序列为各子语音残留信号的补偿序列。补偿序列用cq表示,由于N1是各子语音残留信号划分的小帧的数量,即为每个子语音残留信号的长度,所以最后每个子语音残留信号的cq的长度均为L/2,L为整条语音残留信号的长度。
S303,根据各子语音残留信号的补偿序列和各子语音残留信号的补偿增益,确定各子语音残留信号的补偿信息。
将上述确定的各子语音残留信号的补偿序列和各子语音残留信号的补偿增益,将各子语音残留信号的补偿序列和补偿增益确定为最终的补偿信息。
本实施例中在确定补偿信息时,是先将各子语音残留信号划分成多个小帧,然后求取每个小帧的增益值以及补偿序列,并基于构成的整条补偿序列确定最终的补偿信息,这样,确定出的补偿信息可以全面完整的对解码器解码是提供额外的补偿信息,保证了解码器恢复的语音信号的质量。
另外,上述补偿配置还包括码率配置,该码率配置是决定传输包流量上限的参数,且该码率配置可以由预设的丢包率确定,则在一个实施例中,该方法还包括:根据码率配置确定各子语音残留信号的补偿信息的空间大小;空间大小用于指示在发送码流时,存储补偿信息的空间容量。
在确定了补偿信息后,需要进一步确定存储补偿信息空间的容量,这样对每条分流后的码流的存储空间划分差不多大小的容量,有利于后续进行传输性能测试,且在传输的码流中增加补偿信息后对于码流的大小会有一定的增加,通过确定补偿信息存储空间容量可以有效检测出影响码流传输的效率的因素。
下面对执行主体为解码器的一侧实施例进行说明。需要说明的是,本申请虽然分了解码器为执行主体的实施例和编码器为执行主体的实施例,但实际中,解码器与编码器是相互配合着交互完成语音信号处理的,因此,编码器为执行主体的实施例与解码器为执行主体的实施例中的过程描述可互相参考,而不是作为两者执行范围的限定。
如图6所示,在一个实施例中,提供了一种语音信号处理方法,本实施例涉及的是解码器在接收到编码器发送的码流后,进行解码的具体过程,该方法包括:
S401,接收编码器发送的码流;码流包括多个子语音残留信号和对应的补偿信息;各子语音残留信号为从语音残留信号中分流得到的;补偿信息是基于预设的补偿配置确定的。
S402,根据码流中的各子语音残留信号和对应的补偿信息进行解码。
本实施例中码流以及补偿配置等原理过程可参见执行主体为编码器的实施例中的描述,在此不再赘述。
其中,解码器接收编码器发送的码流时,要么是全部接收到,要么就是接收到其中的部分码流,即发生了丢包现象,针对两种不同的情况,解码器采用不同的解码方法恢复语音残留信号,具体过程可参见下述实施例中的说明。
本实施例提供的语音信号处理方法,解码器接收编码器发送的码流后,根据各码流中携带的根据各子语音残留信号和对应补偿信息进行解码,该码流为编码器从原始语音信号中获取语音残留信号后,对语音残留信号进行分流,得到多个子语音残留信号,并基于预设的补偿配置,获取各子语音残留信号的补偿信息,然后向解码器发送包括各子语音残留信号和对应的补偿信息的码流。该方法中,在编码器端对语音残留信号进行分流,相当于对语音编码器参数进行多描述后发送解码器,且对各分流进行描述时均增加了补偿信息,该补偿信息可用于解码器解码时有效恢复出较好的语音信号,这样,通过对语音残留信号多描述的方式,即使在传输过程中发生丢包,解码器也可以恢复出较好语音信号,因此,该方法可以有效提高语音编码器的抗丢包性能。
下面通过两个实施例,对解码器接收到所有码流的情况,和解码器只接收到其中单条码流的情况的解码过程进行说明。下面将以多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号为例进行说明。
则在一个实施例中,若多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号;且接收到码流为第一子语音残留信号和对应的补偿信息,和,第二子语音残留信号和对应的补偿信息;则如图7所示,上述S402步骤包括:
S501,根据第一子语音残留信号恢复对应的偶语音残留信号,以及根据第二子语音残留信号恢复对应的奇语音残留信号。
其中,偶语音残留信号与第一子语音残留信号的区别是:第一子语音残留信号是编码器端对语音残留信号量化后分流的子信号序列,而偶语音残留信号是解码器端根据子信号序列恢复出的语音残留信息;奇语音残留信号与第二子语音残留信号同样的区别。
本步骤中是以第一子语音残留信号为偶量化序列,第二子语音残留信号为奇量化序列进行说明的,在实际应用中,还可将两者的对应关系进行互换,因为第一第二本身只是用于对子语音残留信号作以区分的,本实施例对此不作限定。
例如,若定义奇量化序列和偶量化序列为:
qe[n]=Q(r[2*n]*sign(se[n])-offset)
qo[n]=Q(r[2*n+1]*sign(so[n])-offset)
那么,偶语音残留信号和奇语音残留信号可表示为:
可见q(n)是从r(n)量化后的量化序列,rq(n)表示的是从q(n)恢复后的语音残留信号。
示例地,本实施例中,解码器从q(n)恢复rq(n)的过程,可采用一些常用的解码算法进行,本实施例对此不作限定。
S502,对偶语音残留信号和奇语音残留信号进行交织插值,确定语音残留信号。
基于上述恢复的偶语音残留信号和奇语音残留信号,解码器对偶语音残留信号和奇语音残留信号进行交织插值,即将奇偶项分别交织插入即可得到完整语音残留信号。前面有说在实际中发送码流时还会将一开始分出的其他参数携带上,那解码器恢复了语音残留信号后,可以结合码流中携带的其他参数恢复出原始语音信号。
本实施例中由于解码器接收的所有码流,也就是说将编码器发送的所有码流均接收到了,所以对偶语音残留信号和奇语音残留信号逐采样交织,就恢复出最优的语音残留信号,从而可恢复出较高音质的原始语音信号。
在另外一个实施例中,若多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号;且接收到码流为第一子语音残留信号和对应的补偿信息,或者,第二子语音残留信号和对应的补偿信息;则如图8所示,上述S402步骤包括:
S601,根据第一子语音残留信号恢复对应的偶语音残留信号,或者,根据第二子语音残留信号恢复对应的奇语音残留信号。
本实施例是只接收都一个子语音残留信号,例如,只接收到第一子语音残留信号或者只接收到第二子语音残留信号。相应地,编码器恢复的就只有偶语音残留信号或者奇语音残留信号,即接收到哪个子语音残留信号,恢复的就是该子语音残留信号对应的语音残留信号。
S602,根据偶语音残留信号恢复相似语音残留信号,或者,根据奇语音残留信号恢复相似语音残留信号。
基于上述获取的偶语音残留信号或者奇语音残留信号,恢复相似语音残留信号,这里的相似语音残留信号表示基于补偿信息恢复的语音残留信号,用crq(n)表示,该相似语音残留信号与rq(n)之间有少量误差,所以称为相似语音残留信号。
上述步骤中恢复的偶语音残留信号可以表示为rqe,奇语音残留信号可以表示为rqo,相似语音残留信号表示为crq。
则解码器根据rqe或者rqo恢复出crq的方法可以是通过下述公式实现:
根据以上公式可知,基于rqe确定的是crqe,基于rqo确定出的是crqo,且上述公式是将序列中0~L-1中的各项全部涵盖,所以可认为恢复出的crqe和crqo的长度均为L,所以crqe和crqo可统称为crq,即相似语音残留信号。
S603,基于第一子语音残留信号对应的补偿信息和相似语音残留信号,确定目标相似语音残留信号,或者,根据第二子语音残留信号对应的补偿信息和相似语音残留信号,确定目标相似语音残留信号。
上述在确定相似语音残留信号时,还未考虑补偿信息,由于补偿的目的是通过额外的信息,使得crq序列更接近rq序列。因此,为了最终恢复的语音残留信号的质量更好,将各子语音残留信号中携带的补偿信息融进相似语音残留信号中,得到最终的目标相似语音残留信号。
例如,先求取语音残留信号中的每小帧的目标相似语音残留信号,将补偿信息中的每小帧补偿增益,乘以每小帧补偿序列后,再加上相似语音残留信号,即目标crqi=crqi+gi*cqi。基于每小帧的目标相似语音残留信号可以确定出整条语音残留信号的目标相似语音残留信号。
S604,根据目标相似语音残留信号,确定语音残留信号。
将上述步骤中确定的目标相似语音残留信号,确定的语音残留信号。可以理解的是,虽然本实施例中确定的目标相似语音残留信号与最优语音残留信号之间存在一定的小误差,但是本实施是基于解码器收到单条码流的情况下恢复的语音残留信号。也就是说,在发生丢包的情况下,解码器可恢复出目标相似语音残留信号。
在实践中,对本实施例提供的方法获取的目标相似语音残留信号做了音效质量验证,如下表1所示,为使用同一码流ch_f1.wav,在相同的丢包策略,相近实际流量下比较本方法与SILK编码器的MOS分。
表1
从上表中的MOS分可看出,在丢包率很高的情况下,也能恢复出中等音质,如果丢包率不高时,就可以恢复出较高音质。因此,本申请实施例提供的编码器,通过对编码器的参数进行分流多描述,具有很强的抗丢包性能,当在传输过程中发生丢包时,解码器即使只收到一个包能够解出中等音质,如果解码器及时收到两个包,就可以恢复出较高音质。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
另外,本申请实施例还提供了一种语音信号处理系统,可参照上述图1所示,该系统包括:编码器和解码器;其中编码器,用于实现前面以编码器为执行主体的所有实施例中的过程;解码器,用于实现前面以解码器为执行主体的所有实施例中的过程。
上述实施例提供的一种语音信号处理系统,其实现原理和技术效果与上述语音信号处理方法实施例类似,在此不再赘述。
此外,还提供了上述语音信号处理方法对应的虚拟装置,如图9所示,在一个实施例中,提供了一种语音信号处理装置,该装置包括:分流模块10、获取模块11和发送模块12,其中,
分流模块10,用于获取语音残留信号,并对语音残留信号进行分流,得到多个子语音残留信号;语音残留信号为对原始语音信号进行处理后得到的无相关性信号或弱相关性信号;
获取模块11,用于基于预设的补偿配置,获取各子语音残留信号的补偿信息;
发送模块12,用于向解码器发送包括各子语音残留信号和对应的补偿信息的码流;码流用于指示解码器根据各子语音残留信号和对应补偿信息进行解码。
在一个实施例中,提供了一种语音信号处理装置,若多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号;则上述分流模块10包括:
量化单元,用于对语音残留信号进行量化,得到语音残留信号对应的量化序列;
分流单元,用于对量化序列进行奇偶分流,获取奇量化序列和偶量化序列;
子信号确定单元,用于将奇量化序列确定为第一子语音残留信号,以及将偶量化序列确定为第二子语音残留信号。
在一个实施例中,提供了一种语音信号处理装置,上述补偿配置包括补偿参数,补偿参数包括各子语音残留信号被划分的小帧数量N1,以及每小帧中非零脉冲的数量N2;N1为正整数、N2为非负整数;则上述获取模块11包括:
获取单元,用于获取各子语音残留信号对应的补偿增益、位置序列和符号序列;补偿增益的长度为N1,位置序列和符号序列的长度均为N2;
构建单元,用于根据各子语音残留信号对应的N1个位置序列和符号序列,构建各子语音残留信号的补偿序列;
补偿信息确定单元,用于根据各子语音残留信号的补偿序列和各子语音残留信号的补偿增益,确定各子语音残留信号的补偿信息。
在一个实施例中,提供了一种语音信号处理装置,补偿配置还包括码率配置;码率配置根据预设的丢包率确定;该装置还包括:空间确定模块,用于根据码率配置确定各子语音残留信号的补偿信息的空间大小;空间大小用于指示在发送码流时,存储补偿信息的空间容量。
在一个实施例中,如图10所示,提供了一种语音信号处理装置,该装置
接收模块13,用于接收编码器发送的码流;码流包括多个子语音残留信号和对应的补偿信息;各子语音残留信号为从语音残留信号中分流得到的;补偿信息是基于预设的补偿配置确定的;
解码模块14,用于根据码流中的各子语音残留信号和对应的补偿信息进行解码。
在一个实施例中,提供了一种语音信号处理装置,若多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号;且接收到码流为第一子语音残留信号和对应的补偿信息,和,第二子语音残留信号和对应的补偿信息;则上述解码模块14包括:
第一恢复单元,用于根据第一子语音残留信号恢复对应的偶语音残留信号,以及根据第二子语音残留信号恢复对应的奇语音残留信号;
第一确定语音信号单元,用于对偶语音残留信号和奇语音残留信号进行交织插值,确定语音残留信号。
在一个实施例中,提供了一种语音信号处理装置,若多个子语音残留信号包括第一子语音残留信号和第二子语音残留信号;且接收到码流为第一子语音残留信号和对应的补偿信息,或者,第二子语音残留信号和对应的补偿信息;上述解码模块14包括:
第二恢复单元,用于根据第一子语音残留信号恢复对应的偶语音残留信号,或者,根据第二子语音残留信号恢复对应的奇语音残留信号;
第三恢复单元,用于根据偶语音残留信号恢复相似语音残留信号,或者,根据奇语音残留信号恢复相似语音残留信号;
目标相似信号单元,用于基于第一子语音残留信号对应的补偿信息和相似语音残留信号,确定目标相似语音残留信号,或者,根据第二子语音残留信号对应的补偿信息和相似语音残留信号,确定目标相似语音残留信号
第二确定语音信号单元,用于根据目标相似语音残留信号,确定语音残留信号。
上述实施例提供的所有语音信号处理装置,其实现原理和技术效果与上述语音信号处理方法实施例类似,在此不再赘述。
关于语音信号处理装置的具体限定可以参见上文中对于语音信号处理方法的限定,在此不再赘述。上述语音信号处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音信号处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取语音残留信号,并对语音残留信号进行分流,得到多个子语音残留信号;语音残留信号为对原始语音信号进行处理后得到的无相关性信号或弱相关性信号;
基于预设的补偿配置,获取各子语音残留信号的补偿信息;
向解码器发送包括各子语音残留信号和对应的补偿信息的码流;码流用于指示解码器根据各子语音残留信号和对应补偿信息进行解码。
或者,该处理器执行计算机程序时实现以下步骤:
接收编码器发送的码流;码流包括多个子语音残留信号和对应的补偿信息;各子语音残留信号为从语音残留信号中分流得到的;补偿信息是基于预设的补偿配置确定的;
根据码流中的各子语音残留信号和对应的补偿信息进行解码。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取语音残留信号,并对语音残留信号进行分流,得到多个子语音残留信号;语音残留信号为对原始语音信号进行处理后得到的无相关性信号或弱相关性信号;
基于预设的补偿配置,获取各子语音残留信号的补偿信息;
向解码器发送包括各子语音残留信号和对应的补偿信息的码流;码流用于指示解码器根据各子语音残留信号和对应补偿信息进行解码。
或者,该计算机程序被处理器执行时实现以下步骤:
接收编码器发送的码流;码流包括多个子语音残留信号和对应的补偿信息;各子语音残留信号为从语音残留信号中分流得到的;补偿信息是基于预设的补偿配置确定的;
根据码流中的各子语音残留信号和对应的补偿信息进行解码。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。