音量调整方法及装置的制作方法

文档序号:7652126阅读:209来源:国知局
专利名称:音量调整方法及装置的制作方法
技术领域
本发明涉及语音信号处理技术领域,具体涉及一种语音信号的音量调整方法及装置。
背景技术
在语音实时通信系统如IP语音(VoIP)、语音聊天、电话会议等应用中,经常会出现通话语音音量时大时小的现象,需要通话双方通过手工调整与语音采集和播放音量相关的按钮等,来获得合适的音量。这样,带来的缺点是音量调整耗费的时间可能较长且调整后的音量效果无法保证,因为通话者通过手工调节音量,主观性较强,每次调整的幅度无法可靠控制,因此,调整耗费的时间会较长;同时,通话者只是根据人耳的感觉主观调整,只能是粗略调整,无法实现量化的调整,从而无法保证调整后的音量效果。

发明内容
有鉴于此,本发明提供一种音量调整方法及装置,以实现通话过程中语音音量的自动调节,提高音量调整效率。
本发明的技术方案是这样实现的一种音量调整方法,包括检测近端信号和远端信号的语音状态,根据近端信号和远端信号的语音状态,调整近端信号的音量。
所述根据近端信号和远端信号的语音状态调整近端信号的音量包括判断远端信号是否为语音,若为,减少近端信号的音量;若不为,判断近端信号是否为语音,若是,根据预先设定的最佳音量,调整近端信号的音量,否则,保持近端信号的音量不变。
所述检测近端信号和远端信号的语音状态之前进一步包括预先设定最大调整增益和最小调整增益,所述根据预先设定的最佳音量调整近端信号的音量包括根据所述最佳音量和当前近端信号的音量,计算调整增益,判断计算得到的调整增益是否大于所述最大调整增益,若大于,根据所述最大调整增益调整近端信号的音量;若不大于,判断计算得到的调整增益是否小于所述最小调整增益,若是,根据所述最小调整增益调整近端信号的音量,否则,根据计算得到的调整增益调整近端信号的音量。
所述检测近端信号的语音状态之前进一步包括确定近端和远端建立通信,开始采集预定长度的近端信号,计算所采集的近端信号的平均音量,将该音量作为近端噪声阈值;所述检测近端信号的语音状态包括判断近端信号是否小于所述近端噪声阈值,若是,判定近端信号为噪声;否则,判定近端信号为语音。
所述检测远端信号的语音状态之前进一步包括确定近端和远端建立通信,开始采集预定长度的远端信号,计算所采集的远端信号的平均音量,将该音量作为远端噪声阈值;所述检测远端信号的语音状态包括判断远端信号是否小于所述远端噪声阈值,若是,判定远端信号为噪声;否则,判定远端信号为语音。
所述检测近端信号和远端信号的语音状态之前进一步包括预先设定样本块长度,所述近端信号为长度等于预先设定的样本块长度的近端样本块,所述远端信号为长度等于预先设定的样本块长度的远端样本块。
所述减少近端样本块的音量包括在当前近端样本块中查找过零点,减少当前近端样本块中过零点之后的样本点的音量。
所述调整近端信号的音量包括在当前近端样本块中查找过零点,调整当前近端样本块中过零点之后的样本点的音量。
一种音量调整装置,包括近端状态检测模块、远端状态检测模块和近端音量调整模块,其中近端状态检测模块,接收外部发来的近端信号,检测该近端信号的语音状态,将该近端信号的语音状态信息发送给近端音量调整模块;远端状态检测模块,接收外部发来的远端信号,检测该远端信号的语音状态,将该远端信号的语音状态信息发送给近端音量调整模块;近端音量调整模块,接收近端信号和远端信号的语音状态信息,根据近端信号和远端信号的语音状态,对近端信号进行音量调整。
所述近端音量调整模块包括调整判断模块和调整模块,其中调整判断模块,接收近端信号和远端信号的语音状态信息,当远端信号为语音时,向调整模块发送减少指示;当远端信号为噪声而近端信号为语音时,向调整模块发送最佳调整指示;调整模块,接收调整判断模块发来的减少指示,根据该指示减少当前近端信号的音量;接收调整判断模块发来的最佳调整指示,根据该指示以及预先设定的最佳音量,调整近端信号的音量。
所述近端音量调整模块进一步包括调整增益限定模块,保存最大调整增益和最小调整增益,接收调整模块发来的调整增益,若检测到该调整增益大于最大调整增益,则将该最大调整增益输出到调整模块;若检测到该调整增益小于最小调整增益,则将该最小调整增益输出到调整模块;否则,将保持指示发送给调整模块;所述调整模块进一步在根据预先设定的最佳音量确定调整增益后,将该调整增益发送给调整增益限定模块,根据调整增益限定模块输出的调整增益或保持指示,调整近端信号的音量。
所述装置进一步包括近端噪声阈值计算模块,用于在确定近端和远端建立通信时,采集预定长度的近端信号,计算所采集的近端信号的平均音量,将该音量作为近端噪声阈值输出到近端状态检测模块。
所述近端状态检测模块包括近端音量计算模块和第一状态检测模块,其中
近端音量计算模块,计算外部发来的近端信号的音量,将该音量发送给第一状态检测模块;第一状态检测模块,接收近端噪声阈值计算模块发来的近端噪声阈值和近端音量计算模块发来的近端信号的音量,若近端信号的音量小于近端噪声阈值,确定近端信号为噪声;否则,确定近端信号为语音,将确定的近端信号状态发送给近端音量调整模块。
所述装置进一步包括远端噪声阈值计算模块,用于在确定近端和远端建立通信时,采集预定长度的远端信号,计算所采集的远端信号的平均音量,将该音量作为远端噪声阈值输出到远端状态检测模块。
所述远端状态检测模块包括远端音量计算模块和第二状态检测模块,其中远端音量计算模块,计算外部发来的远端信号的音量,将该音量发送给第二状态检测模块;第二状态检测模块,接收远端噪声阈值计算模块发来的远端噪声阈值和远端音量计算模块发来的远端信号的音量,若远端信号的音量小于远端噪声阈值,确定远端信号为噪声;否则,确定远端信号为语音,将确定的远端信号状态发送给近端音量调整模块。
所述装置进一步包括过零点检测模块,接收外部发来的近端信号,在当前近端样本块中,查找过零点,将该过零点的位置信息发送给近端音量调整模块,所述近端音量调整模块,接收所述过零点的位置信息,从所述过零点开始调整当前近端样本块的音量。
与现有技术相比,本发明通过检测近端信号和远端信号的语音状态,根据近端信号和远端信号的语音状态,调整近端信号的音量,实现了通话过程中语音音量的自动调整,提高了音量调整效率,且同时对近端和远端信号进行语音状态检测,可以提高双讲状态(double-talk)时的通话质量;进一步地,本发明采用基于样本块的音量调整方式,减少了因调整增益变化太快而引入的信号失真;同时,本发明引入了从过零点开始进行音量调整的机制,减少了zipper噪声,提高了通话质量;另外,本发明中采用动态生成的噪声阈值来检测近端和远端信号的语音状态,提高了检测准确度,从而提高了音量调整的准确度。


图1为本发明实施例提供的调整音量的流程图;图2为本发明实施例提供的检测样本块状态的流程图;图3为本发明实施例提供的实现音量调整的装置组成图;图4为本发明实施例提供的近端状态检测模块的组成图;图5为本发明实施例提供的远端状态检测模块的组成图;图6为本发明实施例提供的近端音量调整模块的组成图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的调整音量的流程图,如图1所示,其具体步骤如下步骤101预先设定样本块长度。
样本块的长度可根据经验等设定,通常选择的长度为10~20ms。
步骤102同时检测当前近端样本块和远端样本块的语音状态,即检测近端样本块和远端样本块为语音还是噪声。
本发明实施例中提到的语音状态包括语音和噪声。
步骤103判断远端样本块是否为语音,若是,执行步骤104;否则,执行步骤105。
步骤104根据预先设定的调整步长,减少近端样本块的音量,转至步骤107。
通常,设定调整步长为0.5,即将近端样本块的音量减少为原来的1/2。
步骤105判断近端样本块是否为语音,若是,执行步骤106;否则,转至步骤107。
当近端样本块和远端样本块同时为噪声时,不对近端样本块进行音量调整。
步骤106根据预先设定的最佳音量,调整近端样本块的音量,执行步骤107。
本步骤可具体表示如下计算当前近端样本块的音量,然后计算预先设定的最佳音量与当前近端样本块的音量的比值,将该比值作为当前近端样本块的调整增益,将当前近段样本块中各样本点的音量乘以该调整增益,得到经音量调整后的近端信号。其中,最佳音量一般选取满幅信号的音量的一半,例如若采用16位脉冲编码调制(PCM)方式对信号进行编码,则最佳音量可选取为214=16384。
为了防止每次音量调整幅度过大或过小,可以预先设置最大调整增益和最小调整增益,当计算得到的调整增益大于最大调整增益时,将最大调整增益作为当前调整增益;当计算得到的调整增益小于最小调整增益时,将最小调整增益作为当前调整增益,通常最大调整增益为10即20dB,最小调整增益为0.1即-20dB。
步骤107开始处理下一个近端样本块和远端样本块,转至步骤102。
需要指出的是,图1所示实施例的步骤101~107同样适用于样本块中只包含一个样本点的情况。
另外,对于两个相邻的近端样本块,若前一个近端样本块的最后一个样本点与后一个样本块的第一个样本点都进行了音量调整,且调整增益不同,则可能会引起该两样本点的不连续,这将引起近端信号的失真。如果失真发生在高能量的样本点处,该失真有可能被人耳能感知到,这种现象通常称为zipper噪声。为了减少zipper噪声,在对近端样本块进行调整时,可让调整起始点发生在过零点处。过零点指的是,若一个样本点的前一个样本点的值与该样本点的值的符号相反,则该样本点为过零点。例如若x(i-1)<0而x(i)>0或者x(i-1)>0而x(i)<0,则称x(i)为过零点。
因此,在实施例一的步骤104中,减少近端样本块的音量之前还可以在当前近端样本块中寻找过零点,若找到,则从该过零点开始减少当前近端样本块的每个样本点的音量;否则,从当前近端样本块的起始点开始减少该近端样本块的各样本点的音量。
同时,在实施例一的步骤106中,调整近端样本块的音量之前还可以在当前近端样本块中寻找过零点,若找到,则从该过零点开始调整当前近端样本块的每个样本点的音量;否则,从当前近端样本块的起始点开始调整该近端样本的各样本点的音量。
以下对实施例一的步骤102中提到的对近端样本块和远端样本块进行状态检测的过程进行详细描述,在以下实施例中,样本块为近端样本块和远端样本块的统称。
图2为本发明实施例提供的检测样本块的状态的流程图,如图2所示,其具体步骤如下步骤201对接收到的信号进行平滑处理。
本步骤可采用现有的信号平滑方法,例如根据峰值级别、RMS级别等音量评价指标对信号进行平滑。以将RMS级别作为音量评价指标为例,平滑公式如下xrms(n)=(1-TAV)*xrms(n-1)+TAV*x2(n) (1)其中,x(n)为第n个信号样本点,xrms(n)为平滑后的第n个信号采样点,xrms(n-1)为平滑后的第(n-1)个信号采样点,TAV为平滑因子,其取值同信号的幅度变化有关,具体如下当信号的幅度处于上升阶段时,TAV=0.1,x2(n)>xrms(n-1);当信号的幅度处于下降阶段时,TAV=0.01,x2(n)<xrms(n-1)。
从公式(1)可得到,公式(1)对应的传输函数为H(z)=TAV1-(1-TAV)*z-1---(2)]]>从公式(2)可以看出,H(z)是一个低通滤波器,目的是对输入信号的平方x2(n)进行平滑滤波。
步骤202计算当前样本块的音量Erms。
Erms=1NΣn=0N-1xrms(n)---(3)]]>其中,N为当前样本块的长度。
步骤203判断Erms<SDL是否成立,若是,判定当前样本块为噪声;否则,判定当前样本块为语音。
其中,SDL为噪声阈值,具体取值可根据经验确定,或者,由于在通话双方建立通信时至双方开始通话时,会有一段静音持续时间,因此,可以利用该段静音持续信号来计算SDLE(i)=Σk=0N-1xi2(k)---(4)]]>SDL=1MΣi=0M-1E(i)=1MΣi=0M-1Σk=0N-1xi2(k)---(5)]]>其中,N为每个样本块的长度,M为所采用的静音持续信号中所包含的样本块的个数,通常,选取的静音持续信号的长度为1~2秒;xi(k)为第i个样本块中的第k个样本点。
在通信双方建立通信时,需要同时采集近端的麦克风和扬声器输出的信号,将根据麦克风输出的信号计算得到的SDL作为近端样本块的噪声阈值,将根据扬声器输出的信号计算得到的SDL作为远端样本块的噪声阈值。
图3为本发明实施例提供的实现音量调整的装置组成图,如图3所示,其主要包括近端状态检测模块31、远端状态检测模块32和近端音量调整模块33,其中近端状态检测模块31接收近端信号,检测该近端信号的语音状态,将该近端信号的语音状态信息发送给近端音量调整模块33。
远端状态检测模块32接收远端信号,检测该远端信号的语音状态,将该远端信号的语音状态信息发送给近端音量调整模块33。
近端音量调整模块33接收外部发来的近端信号,接收近端状态检测模块31发来的近端信号的语音状态信息,接收远端状态检测模块32发来的远端信号的语音状态信息,根据近端信号和远端信号的语音状态信息,确定近端信号和远端信号的语音状态,根据该近端信号和远端信号的语音状态,对近端信号进行音量调整。
如图3所示,该装置还可包括近端噪声阈值计算模块30和/或远端噪声阈值计算模块34,其中近端噪声阈值计算模块30用于在确定近端和远端建立通信时,采集预定长度的近端信号,计算所采集的近端信号的平均音量,将该音量作为近端噪声阈值输出到近端状态检测模块31。
远端噪声阈值计算模块34用于在确定近端和远端建立通信时,采集预定长度的远端信号,计算所采集的远端信号的平均音量,将该音量作为远端噪声阈值输出到远端状态检测模块32。
该装置还可包括过零点检测模块35接收外部发来的近端信号,在当前近端样本块中,查找过零点,将该过零点的位置信息发送给近端音量调整模块33,对应地,近端音量调整模块33进一步接收所述过零点的位置信息,从所述过零点开始调整当前近端样本块的音量。
如图4所示,近端状态检测模块31包括近端音量计算模块311和第一状态检测模块312,其中近端音量计算模块311计算外部发来的近端样本块的音量,将该音量发送给第一状态检测模块312。
第一状态检测模块312接收近端噪声阈值计算模块30发来的近端噪声阈值和近端音量计算模块311发来的近端样本块的音量,若近端样本块的音量小于近端噪声阈值,确定近端样本块为噪声;否则,确定近端样本块为语音,将确定的近端样本块的语音状态信息发送给近端音量调整模块33。
如图5所示,远端状态检测模块32包括远端音量计算模块321和第二状态检测模块322,其中远端音量计算模块321计算外部发来的远端样本块的音量,将该音量发送给第二状态检测模块322。
第二状态检测模块322接收远端噪声阈值计算模块34发来的远端噪声阈值和远端音量计算模块321发来的远端样本块的音量,若远端样本块的音量小于远端噪声阈值,确定远端样本块为噪声;否则,确定远端样本块为语音,将确定的远端样本块的语音状态信息发送给近端音量调整模块33。
如图6所示,近端音量调整模块33包括调整判断模块331和调整模块332,其中调整判断模块331接收近端状态检测模块31发来的近端样本块的语音状态信息,接收远端状态检测模块32发来的远端样本决的语音状态信息,当远端样本块状态为语音时,向调整模块332发送减少指示;当远端样本块状态为噪声而近端样本块状态为语音时,向调整模块332发送最佳调整指示。
调整模块332接收调整判断模块331发来的减少指示,根据该指示减少当前近端样本块的音量;接收调整判断模块331发来的最佳调整指示,根据该指示以及预先设定的最佳音量,调整近端样本块的音量。
近端音量调整模块33还可包括调整增益限定模块333保存最大调整增益和最小调整增益,接收调整模块332发来的调整增益,若检测到该调整增益大于最大调整增益,则将该最大调整增益输出到调整模块332;若检测到该调整增益小于最小调整增益,则将该最小调整增益输出到调整模块332;否则,将保持指示发送给调整模块332;对应地,调整模块332进一步在根据预先设定的最佳音量确定调整增益后,将该调整增益发送给调整增益限定模块333,根据调整增益限定模块333输出的调整增益或保持指示,调整近端信号的音量。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种音量调整方法,其特征在于,包括检测近端信号和远端信号的语音状态,根据近端信号和远端信号的语音状态,调整近端信号的音量。
2.如权利要求1所述的方法,其特征在于,所述根据近端信号和远端信号的语音状态调整近端信号的音量包括判断远端信号是否为语音,若为,减少近端信号的音量;若不为,判断近端信号是否为语音,若是,根据预先设定的最佳音量,调整近端信号的音量,否则,保持近端信号的音量不变。
3.如权利要求2所述的方法,其特征在于,所述检测近端信号和远端信号的语音状态之前进一步包括预先设定最大调整增益和最小调整增益,所述根据预先设定的最佳音量调整近端信号的音量包括根据所述最佳音量和当前近端信号的音量,计算调整增益,判断计算得到的调整增益是否大于所述最大调整增益,若大于,根据所述最大调整增益调整近端信号的音量;若不大于,判断计算得到的调整增益是否小于所述最小调整增益,若是,根据所述最小调整增益调整近端信号的音量,否则,根据计算得到的调整增益调整近端信号的音量。
4.如权利要求1所述的方法,其特征在于,所述检测近端信号的语音状态之前进一步包括确定近端和远端建立通信,开始采集预定长度的近端信号,计算所采集的近端信号的平均音量,将该音量作为近端噪声阈值;所述检测近端信号的语音状态包括判断近端信号是否小于所述近端噪声阈值,若是,判定近端信号为噪声;否则,判定近端信号为语音。
5.如权利要求1所述的方法,其特征在于,所述检测远端信号的语音状态之前进一步包括确定近端和远端建立通信,开始采集预定长度的远端信号,计算所采集的远端信号的平均音量,将该音量作为远端噪声阈值;所述检测远端信号的语音状态包括判断远端信号是否小于所述远端噪声阈值,若是,判定远端信号为噪声;否则,判定远端信号为语音。
6.如权利要求1~5中任一项所述的方法,其特征在于,所述检测近端信号和远端信号的语音状态之前进一步包括预先设定样本块长度,所述近端信号为长度等于预先设定的样本块长度的近端样本块,所述远端信号为长度等于预先设定的样本块长度的远端样本块。
7.如权利要求6所述的方法,其特征在于,所述减少近端样本块的音量包括在当前近端样本块中查找过零点,减少当前近端样本块中过零点之后的样本点的音量。
8.如权利要求6所述的方法,其特征在于,所述调整近端信号的音量包括在当前近端样本块中查找过零点,调整当前近端样本块中过零点之后的样本点的音量。
9.一种音量调整装置,其特征在于,包括近端状态检测模块、远端状态检测模块和近端音量调整模块,其中近端状态检测模块,接收外部发来的近端信号,检测该近端信号的语音状态,将该近端信号的语音状态信息发送给近端音量调整模块;远端状态检测模块,接收外部发来的远端信号,检测该远端信号的语音状态,将该远端信号的语音状态信息发送给近端音量调整模块;近端音量调整模块,接收近端信号和远端信号的语音状态信息,根据近端信号和远端信号的语音状态,对近端信号进行音量调整。
10.如权利要求9所述的装置,其特征在于,所述近端音量调整模块包括调整判断模块和调整模块,其中调整判断模块,接收近端信号和远端信号的语音状态信息,当远端信号为语音时,向调整模块发送减少指示;当远端信号为噪声而近端信号为语音时,向调整模块发送最佳调整指示;调整模块,接收调整判断模块发来的减少指示,根据该指示减少当前近端信号的音量;接收调整判断模块发来的最佳调整指示,根据该指示以及预先设定的最佳音量,调整近端信号的音量。
11.如权利要求10所述的装置,其特征在于,所述近端音量调整模块进一步包括调整增益限定模块,保存最大调整增益和最小调整增益,接收调整模块发来的调整增益,若检测到该调整增益大于最大调整增益,则将该最大调整增益输出到调整模块;若检测到该调整增益小于最小调整增益,则将该最小调整增益输出到调整模块;否则,将保持指示发送给调整模块;所述调整模块进一步在根据预先设定的最佳音量确定调整增益后,将该调整增益发送给调整增益限定模块,根据调整增益限定模块输出的调整增益或保持指示,调整近端信号的音量。
12.如权利要求9所述的装置,其特征在于,所述装置进一步包括近端噪声阈值计算模块,用于在确定近端和远端建立通信时,采集预定长度的近端信号,计算所采集的近端信号的平均音量,将该音量作为近端噪声阈值输出到近端状态检测模块。
13.如权利要求12所述的装置,其特征在于,所述近端状态检测模块包括近端音量计算模块和第一状态检测模块,其中近端音量计算模块,计算外部发来的近端信号的音量,将该音量发送给第一状态检测模块;第一状态检测模块,接收近端噪声阈值计算模块发来的近端噪声阈值和近端音量计算模块发来的近端信号的音量,若近端信号的音量小于近端噪声阈值,确定近端信号为噪声;否则,确定近端信号为语音,将确定的近端信号状态发送给近端音量调整模块。
14.如权利要求9所述的装置,其特征在于,所述装置进一步包括远端噪声阈值计算模块,用于在确定近端和远端建立通信时,采集预定长度的远端信号,计算所采集的远端信号的平均音量,将该音量作为远端噪声阈值输出到远端状态检测模块。
15.如权利要求14所述的装置,其特征在于,所述远端状态检测模块包括远端音量计算模块和第二状态检测模块,其中远端音量计算模块,计算外部发来的远端信号的音量,将该音量发送给第二状态检测模块;第二状态检测模块,接收远端噪声阈值计算模块发来的远端噪声阈值和远端音量计算模块发来的远端信号的音量,若远端信号的音量小于远端噪声阈值,确定远端信号为噪声;否则,确定远端信号为语音,将确定的远端信号状态发送给近端音量调整模块。
16.如权利要求9所述的装置,其特征在于,所述装置进一步包括过零点检测模块,接收外部发来的近端信号,在当前近端样本块中,查找过零点,将该过零点的位置信息发送给近端音量调整模块,所述近端音量调整模块,接收所述过零点的位置信息,从所述过零点开始调整当前近端样本块的音量。
全文摘要
本发明公开了一种音量调整方法,包括检测近端信号和远端信号的语音状态,根据近端信号和远端信号的语音状态,调整近端信号的音量。本发明同时公开了一种音量调整装置,包括近端状态检测模块、远端状态检测模块和近端音量调整模块。本发明实现了通话过程中语音音量的自动调整,提高了音量调整效率,且同时对近端和远端信号进行语音状态检测,可以提高双讲状态时的通话质量;且,本发明采用基于样本块的音量调整方式,减少了因调整增益变化太快而引入的信号失真;同时,本发明引入了从过零点开始进行音量调整的机制,减少了zipper噪声,提高了通话质量;另外,本发明采用动态生成的噪声阈值检测近端和远端信号的语音状态,提高了音量调整的准确度。
文档编号H04M1/24GK101067927SQ20071009852
公开日2007年11月7日 申请日期2007年4月19日 优先权日2007年4月19日
发明者冯宇红 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1