发明内容
本发明要解决的技术问题是提供一种舒适噪声产生方法及系统和非激活音信号参数估计方法及系统,降低舒适噪声中的杂音。
为了解决上述技术问题,本发明提供了一种非激活音信号参数估计方法,其中,针对非激活音信号帧,将包含所述非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列,根据此频谱序列计算频谱系数,对所述频谱系数进行平滑处理,根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号,根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数。
进一步地,上述方法还可以具有以下特点:
所述频谱系数是频域幅度系数时,对频域幅度系数进行平滑处理,根据经过平滑处理后的频域幅度系数计算得到平滑处理后的频谱序列,对此频谱序列进行时频反变换得到重构的时域信号;
所述频谱系数是频域能量系数时,对频域能量系数进行平滑处理,对经过平滑处理后的频域能量系数开平方后计算得到平滑处理后的频谱序列,对此频谱序列进行时频反变换得到重构的时域信号。
进一步地,上述方法还可以具有以下特点:
所述平滑是指:
Xsmooth(k)=αX′smooth(k)+(1-α)X(k);k=0,…,N-1
Xsmooth(k)是指对当前帧进行平滑后的序列,X′smooth(k)是前一非激活音信号帧的平滑后的序列,X(k)是所述频谱系数,α是单极平滑器的衰减因子,N是正整数,k是各个频点的位置索引。
进一步地,上述方法还可以具有以下特点:
所述包含所述非激活音信号帧的时域信号的序列是指对包含此非激活音信号帧的时域信号进行加窗运算后的序列,所述加窗运算中的窗函数是正弦窗、海明窗、矩形窗、汉宁(Hanning)窗、凯撒窗(Kaiser)、三角窗、贝塞尔窗或高斯窗。
进一步地,上述方法还可以具有以下特点:
对所述频谱系数进行平滑处理后,对所述平滑处理后的频谱序列进行部分频点数据的符号取反操作。
进一步地,上述方法还可以具有以下特点:
部分频点数据的符号取反操作是指对索引为奇数的频点数据的符号取反或者对索引为偶数的频点数据的符号取反。
进一步地,上述方法还可以具有以下特点:
如果采用的时频变换算法是复数变换,根据其数字频域0到π之间的频谱将平滑后的频谱序列扩展得到0到2π之间的频谱序列。
进一步地,上述方法还可以具有以下特点:
所述频谱参数是线性频谱频率(LSF)或导抗频谱频率(ISF),所述能量参数是残差的能量相对于基准信号能量值的增益或残差的能量。
为了解决上述技术问题,本发明提供了一种非激活音信号进行参数估计装置,包括时频变换单元,时频反变换单元,非激活音信号参数估计单元,其中,
所述装置还包括连接于时频变换单元和时频反变换单元之间的平滑处理单元;
所述时频变换单元,用于针对非激活音信号帧,将包含所述非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列;
所述平滑处理单元,用于根据此频谱序列计算频谱系数,对此频谱系数进行平滑处理;
所述时频反变换单元,用于根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号;
所述非激活音信号参数估计单元,用于根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数。
为了解决上述技术问题,本发明还提供了一种舒适噪声产生方法,其中,针对非激活音信号帧,编码端将包含所述非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列,根据此频谱序列计算频谱系数,对所述频谱系数进行平滑处理,根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号,根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数,将所述频谱参数和能量参数进行量化编码后将码流发送到解码端;
所述解码端根据从编码端接收的码流获得频谱参数和能量参数,根据所述频谱参数和能量参数计算产生舒适噪声信号。
为了解决上述技术问题,本发明还提供了一种舒适噪声产生系统,包括编码装置和解码装置,其中,所述编码装置包括时频变换单元,时频反变换单元,非激活音信号参数估计单元,量化编码单元,所述解码装置包括解码反量化单元,舒适噪声生成单元;
所述编码装置还包括连接于时频变换单元和时频反变换单元之间的平滑处理单元;
所述时频变换单元,用于针对非激活音信号帧,将包含所述非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列;
所述平滑处理单元,用于根据此频谱序列计算频谱系数,对此频谱系数进行平滑处理;
所述时频反变换单元,用于根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号;
所述非激活音信号参数估计单元,用于根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数;
所述量化编码单元,用于对频谱参数和能量参数进行量化编码得到码流并发送至解码装置;
所述解码反量化单元,用于从所述编码装置接收到的码流进行解码反量化,得到解码反量化后的频谱参数和能量参数并发送至所述舒适噪声生成单元;
所述舒适噪声生成单元,用于根据所述频谱参数和能量参数生成舒适噪声信号。
本方案可以在非稳态背景噪声情况下提供平稳的背景噪声参数,尤其是在激活音检测(Voice Activity Detection,简称VAD)判断准确的情况下,可以在舒适噪声产生系统中较好的消除解码端合成的舒适噪声中的人工杂音。
具体实施方式
如图1所示,对非激活音信号进行参数估计的方法包括:针对非激活音信号帧,将包含所述非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列,根据此频谱序列计算频谱系数,对所述频谱系数进行平滑处理,根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号,根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数。
其中,频谱系数是频域幅度系数时,对频域幅度系数进行平滑处理,根据经过平滑处理后的频域幅度系数计算得到平滑处理后的频谱序列,对此频谱序列进行时频反变换得到重构的时域信号。频谱系数是频域能量系数时,对频域能量系数进行平滑处理,对经过平滑处理后的频域能量系数开平方后计算得到平滑处理后的频谱序列,对此频谱序列进行时频反变换得到重构的时域信号。
上述方法中,所述平滑是指:
Xsmooth(k)=αX′smooth(k)+(1-α)X(k);k=0,…,N-1
Xsmooth(k)是指当前帧进行平滑后的序列,X′smooth(k)是前一非激活音信号帧的平滑后的序列,X(k)是所述频谱系数,α是单极平滑器的衰减因子,N是正整数。k是各频点的位置索引。
所述包含所述非激活音信号帧的时域信号的序列是指对包含此非激活音信号帧的时域信号进行加窗运算后的序列,所述加窗运算中的窗函数是正弦窗、海明窗、矩形窗、汉宁(Hanning)窗、凯撒窗(Kaiser)、三角窗、贝塞尔窗或高斯窗。
对所述频谱系数进行平滑处理后,还对所述平滑处理后的频谱序列进行部分频点数据的符号取反操作。典型的,部分频点数据的符号取反操作是指对索引为奇数的频点数据的符号取反或者对索引为偶数的频点数据的符号取反。
如果采用的时频变换算法是复数变换,根据其数字频域0到π之间的频谱将平滑后的频谱序列扩展得到0到2π之间的频谱序列后进行时频反变换得到时域信号。
所述频谱参数是线性频谱频率(LSF)或导抗频谱频率(ISF),所述能量参数是残差的能量相对于基准信号能量值的增益或残差的能量,其中基准信号能量值为一个随机白噪声的能量值。
与上述方法对应的对非激活音信号进行参数估计的装置,包括时频变换单元,平滑处理单元,时频反变换单元,非激活音信号参数估计单元,其中,
所述时频变换单元,用于针对非激活音信号帧,将包含此非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列;
所述平滑处理单元,用于根据此频谱序列计算频谱系数,对此频谱系数进行平滑处理;
所述时频反变换单元,用于根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号;
所述非激活音信号参数估计单元,用于根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数。
在上述方法基础上还可以得到一种舒适噪声产生方法,包括:针对非激活音信号帧,编码端将包含所述非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列,根据此频谱序列计算频谱系数,对所述频谱系数进行平滑处理,根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号,根据所述重构的时域信号进行非激活音信号参数估计,得到频谱参数和能量参数,将所述频谱参数和能量参数进行量化编码后将码流发送到解码端;所述解码端根据从编码端接收的码流获得频谱参数和能量参数,根据所述频谱参数和能量参数计算产生舒适噪声信号。
与上述方法对应的舒适噪声产生系统,其中,包括编码装置和解码装置,所述编码装置包括时频变换单元,时频反变换单元,非激活音信号参数估计单元,量化编码单元,所述解码装置包括解码反量化单元,舒适噪声生成单元;
所述编码装置还包括连接于时频变换单元和时频反变换单元之间的平滑处理单元;
所述时频变换单元,用于针对非激活音信号帧,将包含此非激活音信号帧的时域信号的序列进行时频变换,得到频谱序列;
所述平滑处理单元,用于根据此频谱序列计算频谱系数,对此频谱系数进行平滑处理;
所述时频反变换单元,用于根据所述经过平滑处理后的频谱系数计算得到平滑处理后的频谱序列,对此平滑处理后的频谱序列进行时频反变换得到重构的时域信号;
所述非激活音信号参数估计单元,用于根据此时域信号进行非激活音信号参数估计,得到频谱参数和能量参数;
所述量化编码单元,用于对频谱参数和能量参数进行量化编码得到码流并发送至解码装置;
所述解码反量化单元,用于从所述编码装置接收到的码流进行解码反量化,得到解码反量化后的频谱参数和能量参数并发送至所述舒适噪声生成单元;
所述舒适噪声生成单元,用于根据所述频谱参数和能量参数生成舒适噪声。
下面通过具体实施例对本方案进行详细说明。
对待编码码流进行激活音检测(VAD),如果当前帧信号判断为激活音,则对该信号采用基本的语音频编码模式进行编码,基本的语音频编码模式可以是AMR-WB,G.718等语音频编码器;如果当前帧信号判断为非激活音,则采用以下非激活音帧(也称为静音帧,SID帧)编码方法进行编码(如图2):
步骤101:对输入时域信号进行时域加窗。加窗所采用的窗型和方式可以同激活音语音频编码模式下加窗所采用的窗型和方式相同,也可以不同。
本步骤的一种具体实现方式可以是:
将当前帧的N点时域采样信号x(n)与上一帧的N点时域采样信号xold(n)组成2N点时域采样信号2N点的时域采样信号可由下式表示:
对实施时域加窗,得到加窗后的时域系数如下:
其中,w(n)表示窗函数,窗函数是正弦窗、海明窗、矩形窗、汉宁(Hanning)窗、凯撒窗(Kaiser)、三角窗、贝塞尔窗或高斯窗。
当帧长为20ms,采样率为16kHz时,N=320。其他帧长、采样率及窗长可同样算出相应的频域系数个数。
步骤102:对加窗后的时域系数xw(n)进行DFT变换,计算过程如下:
对xw(n)进行DFT运算:
步骤103,采用下面方程计算得到频域系数X在[0,N-1]范围内的频域能量系数:
Xe(k)=(real(X(k)))2+(image(X(k)))2 k=0,…,N-1
其中real(X(k)),image(X(k))分别表示频谱系数X(k)的实部和虚部。
步骤104:对当前的频域能量系数Xe(k)进行平滑运算,实现方程式如下:
Xsmooth(k)=αX′smooth(k)+(1-α)Xe(k);k=0,…,N-1
其中,Xsmooth(k)是指当前帧进行平滑后的频域能量系数序列,X′smooth(k)是前一非激活音信号帧的平滑后的频域能量系数序列,k是各个频点的位置索引,α是单极平滑器的衰减因子,α是单极平滑器的衰减因子,取值在[0.3,0.999]范围。
此步骤中还可以根据前面若干帧的激活音判断结果,采用以下计算过程得到平滑后的能量谱Xsmooth:如果前面连续若干帧(5帧)都为激活音帧,则直接采用当前的频域能量系数Xe(k)作为平滑后的频域能量系数输出,实现方程式如下:Xsmooth(k)=Xe(k);k=0,…,N-1,否则,如步骤104所述进行平滑运算。
步骤105:对平滑后的能量谱Xsmooth进行开方运算,并乘上一个固定的增益系数β,得到平滑后的幅度谱系数Xamp_smooth作为平滑后的频谱序列,计算方程式如下:
β取值在[0.3,1]范围内。
上述步骤104和步骤105处还可以对加窗后的时域系数xw(n)进行DFT变换后直接计算幅度谱系数并对幅度谱系数进行平滑,平滑方式与上述相同。
步骤106:对平滑后的频谱序列间隔一个频点数据取反,即对所有索引为奇数或所有索引为偶数的频点数据的符号取反,而其它系数的符号不变。将低频小于50HZ频谱分量置0,并对符号取反后的频谱序列进行延拓,得到频域系数Xse。
频点数据的符号取反实现方程式如下:
或
将低频小于50hz频谱分量置0。频谱序列延拓将Xsmooth从[0,N-1]的范围以N为对称中心,以偶对称的方式扩展到[0,2N-1]的范围,即Xsmooth从数字频率[0,π)的频谱范围以频率π为对称中心,以偶对称的方式延拓到[0,2π)的频谱范围。频域延拓方程如下:
Xse(k)=0;.........k=0或k=N
Xse(k)=Xamp_smooth(k);.......k=1,2,...,N-1
Xse(k)=Xamp_smooth(2N-k).......k=N+1,N+2,...,2N-1
步骤107:对延拓后的序列进行IDFT变换,得到处理后的时域信号xp(n)。
步骤108:对IDFT变换得到的时域信号进行LPC分析,得到LPC参数和残差信号的能量,将LPC参数转换成LSF矢量参数fl或ISF矢量参数fi,将残差信号的能量同一个基准的白噪声能量进行比较,得到残差信号增益系数g。该基准的白噪声采用以下方法产生:
rand(k)=uint32(A*rand(k-1)+C);.......k=0,1,2,...,N-1
函数uint32表示对结果进行32位的无符号截断,rand(-1)是前一帧的最后一个随机值,A和C都是方程系数,其取值范围都在[1,65536]。
步骤109:每隔8帧对LSF参数fl和残差信号增益系数g或者对ISF参数fi和残差信号增益系数g进行量化编码,得到静音帧(SID)的编码码流,并将编码码流发送到解码端。对于没有进行SID帧编码的非激活音帧,发送一个无效帧标志到解码端。
步骤110:解码端根据编码端发送过来的参数产生舒适噪声信号。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。