(57)【要約】【課題】  雑音の種類、SNRの値を問わず、歪みと雑音が少ない強調音声を得ることのできるノイズ除去の方法及び装置を提供する。【解決手段】  劣化音声パワースペクトルと推定雑音パワースペクトルから重みつき劣化音声パワースペクトルを計算するための重みつき劣化音声計算部14を有する。また、SNRの値と抑圧係数を受け、補正された抑圧係数を計算するための抑圧係数補正部を有する。【選択図】  図１
2007006525.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を分析して抑圧係数を求め、補正係数を用いて該抑圧係数を補正し、該補正された抑圧係数を入力信号に重みづけすることによってノイズを除去するノイズ除去方法であって、
入力信号の信号対雑音比を求め、
前記信号対雑音比が低いときには前記補正係数として前記入力信号の抑圧をより強くする補正係数を求めることを特徴とするノイズ除去方法。
【請求項２】
前記信号対雑音比が高いときには前記補正係数として前記補正が小さいことを示す補正係数を求めることを特徴とする請求項１記載のノイズ除去方法。
【請求項３】
前記補正された抑圧係数を用いた入力信号に重みづけを周波数領域でおこなうことを特徴とする請求項１または２記載のノイズ除去方法。
【請求項４】
入力信号を周波数領域信号に変換する段階と、
前記周波数領域信号に基づいて抑圧係数を定める段階と、
前記抑圧係数を補正して補正抑圧係数を求める段階と、
前記補正抑圧係数を前記周波数領域信号に重みづけすることによってノイズを除去する段階と、
を有することを特徴とするノイズ除去方法。
【請求項５】
入力信号を分析して抑圧係数を求め、補正係数を用いて該抑圧係数を補正し、該補正された抑圧係数を入力信号に重みづけすることによってノイズを除去するノイズ除去装置であって、
入力信号の信号対雑音比を求め、
前記信号対雑音比が低いときには前記補正係数として前記入力信号の抑圧をより強くする補正係数を求めることを特徴とするノイズ除去装置。
【請求項６】
前記信号対雑音比が高いときには前記補正係数として前記補正が小さいことを示す補正係数を求めることを特徴とする請求項５記載のノイズ除去装置。
【請求項７】
前記補正された抑圧係数を用いた入力信号に重みづけを周波数領域でおこなうことを特徴とする請求項５または６記載のノイズ除去方法。
【請求項８】
入力信号を周波数領域信号に変換する手段と、
前記周波数領域信号に基づいて抑圧係数を定める手段と、
前記抑圧係数を補正して補正抑圧係数を求める手段と、
前記補正抑圧係数を前記周波数領域信号に重みづけすることによってノイズを除去する手段と、
を有することを特徴とするノイズ除去装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望の音声信号に重畳されているノイズを消去するためのノイズ除去方法及び装置に関する。
【背景技術】
【０００２】
ノイズ・キャンセラは、所望の音声信号に重畳されている雑音（ノイズ）を消去する技術であり、周波数領域に変換した入力信号を用いてノイズ成分のパワースペクトルを推定し、この推定パワースペクトルを入力信号から差し引くことにより、所望の音声信号に混在するノイズを抑圧するように動作する。ノイズ成分のパワースペクトルを、音声の無音区間を検出して更新することにより、非定常なノイズの抑圧にも適用することができる。
【０００３】
ノイズ・キャンセラとしては、例えば、「1984年12月、アイ・イー・イー・イー・トランザクションズ・オン・アクースティクス・スピーチ・アンド・シグナル・プロセシング、第32巻、第6号 (IEEE TRANSACTIONS ON ACOUSTICS, SPEECH,AND SIGNAL PROCESSING, VOL.32, NO.6, PP.1109-1121, DEC, 1984)、1109〜1121ページ」(文献1)に記載されている方式がある。これは、最小平均2乗誤差短時間スペクトル振幅法として知られている。
【０００４】
図２４に、文献１に記載されたノイズ・キャンセラの構成を示す。
【０００５】
入力端子11には、劣化音声信号（所望音声信号とノイズの混在する信号）が、サンプル値系列として供給される。劣化音声信号サンプルは、フレーム分割部１に供給され、K/2サンプル毎のフレームに分割される。ここに、Kは偶数とする。フレームに分割された劣化音声信号サンプルは、窓がけ処理部２に供給され、窓関数w(t)との乗算が行なわれる。第nフレームの入力信号 yn(t) (t=0, 1, ..., K/2-1) に対するw(t)で窓がけされた信号 yn(t)バーは、次式で与えられる。
【０００６】
【数１】
2007006525.tif 000003
【０００７】
また、連続する2フレームの一部を重ね合わせ（オーバラップ）して窓がけすることも広く行なわれている。オーバラップ長としてフレーム長の50%を仮定すれば、（２）、（３）式で与えられるyn(t)バー (t=0, 1,..., K-1)が、窓がけ処理部２の出力となる。
【０００８】
【数２】
2007006525.tif 000004
【０００９】
以後、連続する2フレームの50%をオーバラップして窓がけする場合を例として説明を続ける。w(t)としては、例えば（４）式に示すハニング窓を用いることができる。
【００１０】
【数３】
2007006525.tif 000005
【００１１】
窓がけされた出力yn (t)バーは、フーリエ変換部３に供給され、劣化音声スペクトルYn (k)に変換される。劣化音声スペクトルYn (k)は位相と振幅に分離され、劣化音声位相スペクトルのarg Yn (k)は逆フーリエ変換部９に、劣化音声振幅スペクトル|Yn (k)|は音声検出部４、多重乗算部16及び多重乗算部17に供給される。
【００１２】
音声検出部４は、劣化音声振幅スペクトル|Yn(k)|に基づいて音声の有無を検出し、その結果によって定められる音声検出フラグを、推定雑音計算部51に伝達する。多重乗算部17は、供給された劣化音声振幅スペクトル|Yn(k)|を用いて劣化音声パワースペクトルを計算し、推定雑音計算部51と周波数別SNR（信号対雑音比）計算部６に伝達する。
【００１３】
推定雑音計算部51は、音声検出フラグ、劣化音声パワースペクトル、及びカウンタ13から供給されるカウント値を用いて雑音のパワースペクトルを推定し、推定雑音パワースペクトルとして周波数別SNR計算部６に伝達する。周波数別SNR計算部６は、入力された劣化音声パワースペクトルと推定雑音パワースペクトルを用いて周波数別にSNRを計算し、後天的SNRとして推定先天的SNR計算部７と雑音抑圧係数生成部８に供給する。
【００１４】
推定先天的SNR計算部７は、入力された後天的SNR、及び雑音抑圧係数生成部８から供給された抑圧係数を用いて先天的SNRを推定し、推定先天的SNRとして、雑音抑圧係数生成部８に帰還する。
【００１５】
雑音抑圧係数生成部８は、入力として供給された後天的SNRと推定先天的SNRを用いて雑音抑圧係数を生成し、抑圧係数として推定先天的SNR計算部７に帰還すると同時に多重乗算部16に伝達する。
【００１６】
多重乗算部16は、フーリエ変換部３から供給された劣化音声振幅スペクトル|Yn(k)|を、雑音抑圧係数生成部８から供給された抑圧係数Gn(k)バーで重み付けすることによって強調音声振幅スペクトル|Xn(k)|バーを求め、逆フーリエ変換部９に伝達する。|Xn(k)|バーは、式(5)で与えられる。
【００１７】
【数４】
2007006525.tif 000006
【００１８】
逆フーリエ変換部９は、多重乗算部16から供給された強調音声振幅スペクトル|Xn(k)|バーとフーリエ変換部３から供給された劣化音声位相スペクトル arg Yn(k)を乗算して、強調音声Xn(k)バーを求める。すなわち、式（６）を実行する。
【００１９】
【数５】
2007006525.tif 000007
【００２０】
得られた強調音声Xn (k)バーに逆フーリエ変換を施し、1フレームがKサンプルから構成される時間領域サンプル値系列 xn(t) バー(t=0, 1, ..., K-1)として、フレーム合成部10に伝達する。フレーム合成部10は、xn (t)バーの隣接する2フレームからK/2サンプルずつを取り出して重ね合わせ、式(７)によって、 強調音声xn(t)ハットを得る。 得られた強調音声xn(t)ハット(t=0, 1, ..., K-1)が、フレーム合成部10の出力として、出力端子12に伝達される。
【００２１】
【数６】
2007006525.tif 000008
【００２２】
音声検出部の実現方法について、文献1は詳細に開示していない。しかし、音声検出部の実現例としては、「2000年3月、日本音響学会講演論文集、321〜322ページ」(文献2) が知られているので、以降、文献2に示されたものを従来の方法として説明する。
【００２３】
図25は、図24に含まれる音声検出部４の構成を示すブロック図である。音声検出部４は、閾値記憶部401、比較部402、乗算器404、対数計算部405、パワー計算部406、重みつき加算部407、重み記憶部408、論理否定回路409を有する。
【００２４】
図24のフーリエ変換部３から供給された劣化音声振幅スペクトルは、パワー計算部406に供給される。パワー計算部406は、劣化音声振幅スペクトルのパワー |Yn(k)|2のk=0からK-1に対する総和を計算して、対数計算部405に伝達する。対数計算部405は、入力された劣化音声スペクトルパワーの対数を求め、乗算器404に伝達する。乗算器404は、供給された対数値を定数倍して劣化音声パワーQnを求め、比較部402及び重みつき加算部407に供給する。すなわち、第nフレームの劣化音声パワーQnは、次式で与えられる。
【００２５】
【数７】
2007006525.tif 000009
【００２６】
なお、文献2に開示された音声検出部は、時間領域サンプルであるyn(t)バーを用いて、式（９）に従ってQnを求めている。
【００２７】
【数８】
2007006525.tif 000010
【００２８】
しかし、例えば、「1985年、ディジタル信号処理の理論、コロナ社、75〜76ページ」(文献3) にあるように、式(9)と式(8)が等価であることは、パーセバル(Parseval)の等式として知られている。
【００２９】
比較部402には、閾値記憶部401から、閾値THnが供給されている。比較部402は、乗算器404の出力と閾値THnを比較し、THn > Qnのときは有音を表す“１”を、THn ≦Qn のときは無音を表す“０”を、音声検出フラグとして出力する。比較部402の出力は、音声検出部４の出力である音声検出フラグとして外部に供給されると同時に、否定演算回路409に供給される。否定演算回路409の出力は、重みつき加算部制御信号905として重みつき加算部407に供給される。重みつき加算部407には、また、閾値記憶部401から閾値と、重み記憶部408から重みが供給される。
【００３０】
重みつき加算部407は、閾値記憶部401から供給される閾値902を、重みつき加算部制御信号905に基づいて選択的に更新し、更新閾値904として閾値記憶部401に帰還する。更新閾値THn は、閾値THn-1と劣化音声パワー901を、重み記憶部408から供給される重み903を用いて重みつき加算することによって求める。更新閾値THn の計算は、論理否定回路409の出力である重みつき加算部制御信号905が“１”に等しいときだけ行なわれる。すなわち、無音のときだけ、閾値THn が更新される。更新によって得られた更新閾値904は、閾値記憶部401に帰還される。
【００３１】
図26は、図25に含まれるパワー計算部406の構成を示すブロック図である。パワー計算部406は、分離部4061、乗算器40620〜4062K-1、加算器4063を有する。多重化された状態で図24のフーリエ変換部３から供給された劣化音声振幅スペクトルは、分離部4061において周波数別のKサンプルに分離され、それぞれ乗算器40620〜4062K-1に供給される。乗算器40620〜4062K-1は、それぞれ入力された信号を2乗し、加算器4063に伝達する。加算器4063は、入力された信号の総和を求めて出力する。
【００３２】
図27は、図25に含まれる重みつき加算部407の構成を示すブロック図である。重みつき加算部407は、乗算器4071、4073、定数乗算器 4075、加算器4072、4074を有する。
【００３３】
図25の乗算器404から劣化音声パワー901が、図25の閾値記憶部401から閾値902が、図25の重み記憶部408から重み903が、図25の論理否定回路409から重みつき加算部制御信号905が、それぞれ入力として供給される。値βを有する重み903は、定数乗算器4075と乗算器4073に伝達される。定数乗算器4075は入力信号を-1倍して得られた-βを、加算器4074に伝達する。加算器4074のもう一方の入力としては１が供給されており、加算器4074の出力は両者の和である１-βとなる。１-βは乗算器4071に供給されて、もう一方の入力である劣化音声パワーQnと乗算され、積である(１-β) Qn が加算器4072に伝達される。一方、乗算器4073では、重み903として供給されたβと閾値902 が乗算され、積であるβTHn-1が加算器4072に伝達される。加算器4072は、βTHn-1と(１-β) Qn の和を、更新閾値904として、出力する。更新閾値THnの計算は、重みつき加算部制御信号905が“１”に等しいときだけ行なわれる。すなわち、重みつき加算部の機能は、無音のときに、閾値THn-1を更新してTHnを求めることであり、次式によって表すことができる。次式において、βは重み903の値である。
【００３４】
【数９】
2007006525.tif 000011
【００３５】
図28は、図24に含まれる多重化乗算部17の構成を示すブロック図である。多重化乗算部17は、乗算器17010〜1701K-1、分離部1702、1703、多重化部1704を有する。多重化された状態で図24のフーリエ変換部３から供給された劣化音声振幅スペクトルは、分離部1702及び1703において周波数別のKサンプルに分離され、それぞれ乗算器17010〜1701K-1に供給される。乗算器17010〜1701K-1は、それぞれ入力された信号を2乗し、多重化部1704に伝達する。多重化部1704は、入力された信号を多重化し、劣化音声パワースペクトルとして出力する。
【００３６】
図29は、図24に含まれる推定雑音計算部51の構成を示すブロック図である。推定雑音計算部51は、分離部502、多重化部503、周波数別推定雑音計算部5140〜 514K-1 を有する。 図24の音声検出部４から供給された音声検出フラグと図24のカウンタ13から供給されたカウント値は、周波数別推定雑音計算部5140〜514K-1に伝達される。図24の多重乗算部17から供給された劣化音声パワースペクトルは、分離部502に伝達される。分離部502は、多重化された状態で供給された劣化音声パワースペクトルをK個の周波数に対応した成分に分離して、周波数別推定雑音計算部5140〜514K-1に伝達する。周波数別推定雑音計算部5140〜514K-1は、分離部502から供給された劣化音声パワースペクトルを用いて雑音パワースペクトルを計算し、多重化部503に伝達する。雑音パワースペクトルの計算は、カウント値と音声検出フラグの値によって制御され、予め定めた条件が満足されるときだけ、実行される。多重化部503は、供給されたK個の雑音パワースペクトル値を多重化して、推定雑音パワースペクトルとして出力する。
【００３７】
図30は、図29に含まれる周波数別推定雑音計算部514の構成を示すブロック図である。文献2で開示された雑音推定は、無音区間において雑音推定値を更新するものであり、雑音推定値として巡回型フィルタによる平均化を施した推定雑音の瞬時値を用いている。一方、「1998年5月、アイ・イー・イー・イー・トランザクションズ・オン・スピーチ・アンド・オーディオ・プロセシング、第6巻、第3号(IEEE TRANSACTIONS ON SPEECH AND AUDIO PROCESSING, VOL. 6,NO. 3, PP.287-292, MAY, 1998)、287〜292ページ」(文献4) に開示された雑音推定では、推定雑音の瞬時値を平均化して用いると記述されている。これは、巡回型の代わりにトランスバーサル型フィルタ（シフトレジスタを用いた構成）を用いた平均化の実現を示唆している。どちらの実現も機能は等しいので、ここでは文献4に開示された方法について説明する。
【００３８】
周波数別推定雑音計算部514は、更新判定部521、レジスタ長記憶部5041、スイッチ5044、シフトレジスタ5045、加算器5046、最小値選択部5047、除算部5048、カウンタ5049を有する。スイッチ5044には、図29の分離部502から、周波数別劣化音声パワースペクトルが供給されている。スイッチ5044が回路を閉じたときに、周波数別劣化音声パワースペクトルは、シフトレジスタ5045に伝達される。シフトレジスタ5045は、更新判定部521から供給される制御信号に応じて、内部レジスタの記憶値を隣接レジスタにシフトする。シフトレジスタ長は、後述するレジスタ長記憶部5941に記憶されている値に等しい。シフトレジスタ5045の全レジスタ出力は、加算器5046に供給される。加算器5046は、供給された全レジスタ出力を加算して、加算結果を除算部5048に伝達する。
【００３９】
一方、更新判定部521には、カウント値と音声検出フラグが供給されている。更新判定部521は、カウント値が予め設定された値に到達するまでは常に“１”を、到達した後は音声検出フラグが“０”である（無音の）ときに“１”を、それ以外のときに“０”を出力し、カウンタ5049、スイッチ5044、及びシフトレジスタ5045に伝達する。スイッチ5044は、更新判定部から供給された信号が“１”のときに回路を閉じ、“０”のときに開く。カウンタ5049は、更新判定部から供給された信号が“１”のときにカウント値を増加し、“０”のときには変更しない。シフトレジスタ5045は、更新判定部から供給された信号が“１”のときにスイッチ5044から供給される信号サンプルを1サンプル取り込むと同時に、内部レジスタの記憶値を隣接レジスタにシフトする。最小値選択部5047には、カウンタ5049の出力とレジスタ長記憶部5941の出力が供給されている。最小値選択部5047は、供給されたカウント値とレジスタ長のうち、小さい方を選択して、除算部5048に伝達する。除算部5048は、加算器5046から供給された周波数別劣化音声パワースペクトルの加算値をカウント値またはレジスタ長の小さい方の値で除算し、商を周波数別推定雑音パワースペクトルλn(k)として出力する。Bn(k) (n=0, 1,..., N-1)をシフトレジスタ5045に保存されている劣化音声パワースペクトルのサンプル値とすると、λn(k)は、式（１１）で与えられる。
【００４０】
【数１０】
2007006525.tif 000012
【００４１】
ただし、Nはカウント値とレジスタ長のうち、小さい方の値である。カウント値はゼロから始まって単調に増加するので、最初はカウント値で除算が行なわれ、後にはレジスタ長で除算が行なわれる。レジスタ長で除算が行なわれることは、シフトレジスタに格納された値の平均値を求めることになる。最初は、シフトレジスタ5045に十分多くの値が記憶されていないために、実際に値が記憶されているレジスタの数で除算する。実際に値が記憶されているレジスタの数は、カウント値がレジスタ長より小さいときはカウント値に等しく、カウント値がレジスタ長より大きくなると、レジスタ長と等しくなる。
【００４２】
図31は、図30に含まれる更新判定部521の構成を示すブロック図である。更新判定部521は、論理否定回路5202、比較部5203、閾値記憶部5204、論理和計算部5211を有する。図24のカウンタ13から供給されるカウント値は、比較部5203に伝達される。閾値記憶部5204の出力である閾値も、比較部5203に伝達される。比較部5203は、供給されたカウント値と閾値を比較し、カウント値が閾値より小さいときに“１”を、カウント値が閾値より大きいときに“０”を、論理和計算部5211に伝達する。一方、供給された音声検出フラグは論理否定回路5202に伝達される。論理否定回路5202は、入力された信号の論理否定値を求め、論理和計算部5211に伝達する。すなわち、音声検出フラグが“１”である有音部では“０”を、音声検出フラグが“０”である無音部では“１”を、論理和計算部5211に伝達することになる。その結果、論理和計算部5211の出力は、音声検出フラグが“０”である無音部のとき、又はカウント値が閾値より小さいときに“１”となって、図30のスイッチを閉じ、カウンタ5049をカウントアップさせる。
【００４３】
図32は、図24に含まれる周波数別SNR計算部６の構成を示すブロック図である。周波数別SNR計算部６は、除算部6010〜601K-1、 分離部602、603、多重化部604を有する。図24の多重乗算部17から供給される劣化音声パワースペクトルは、分離部602に伝達される。図24の推定雑音計算部51から供給される推定雑音パワースペクトルは、分離部603に伝達される。劣化音声パワースペクトルは分離部602において、推定雑音パワースペクトルは分離部603において、それぞれ周波数成分に対応したKサンプルに分離され、それぞれ除算部6010〜601K-1に供給される。除算部6010〜601K-1では、式(12)に従って、供給された劣化音声パワースペクトルを推定雑音パワースペクトルで除算して周波数別SNRγn(k)を求め、多重化部604に伝達する。
【００４４】
【数１１】
2007006525.tif 000013
【００４５】
ここに、λn(k)は推定雑音パワースペクトルである。多重化部604は、伝達されたK個の周波数別SNRを多重化して、後天的SNRとして出力する。
【００４６】
図33は、図24に含まれる推定先天的SNR計算部７の構成を示すブロック図である。推定先天的SNR計算部７は、多重値域限定処理部701、後天的SNR記憶部702、抑圧係数記憶部703、多重乗算部704、705、重み記憶部706、多重重みつき加算部707、加算器708を有する。
【００４７】
図24の周波数別SNR計算部６から供給される後天的SNRγn(k)(k=0, 1, ..., K-1)は、後天的SNR記憶部702と加算器708に伝達される。後天的SNR記憶部702は、第nフレームにおける後天的SNRγn(k)を記憶すると共に、第n-1フレームにおける後天的SNRγn-1(k)を多重乗算部705に伝達する。図24の雑音抑圧係数生成部８から供給される抑圧係数Gn(k)バー (k=0, 1, ...,K-1)は、抑圧係数記憶部703に伝達される。抑圧係数記憶部703は、第nフレームにおける抑圧係数Gn(k)バーを記憶すると共に、第n-1フレームにおける抑圧係数Gn-1(k)バーを多重乗算部704に伝達する。多重乗算部704は、供給されたGn-1(k)バーを２乗してG2n-1(k)バーを求め、多重乗算部705に伝達する。多重乗算部705は、G2n-1(k)バーとγn-1(k)をk=0, 1, ..., K-1に対して乗算してG2n-1(k)バーγn-1(k)を求め、結果を多重重みつき加算部707に過去の推定SNR 922として伝達する。図33の多重乗算部704及び705の構成は、既に図28を用いて説明した多重乗算部17に等しいので、詳細な説明は省略する。
【００４８】
加算器708の他方の端子には-1が供給されており、加算結果γn(k)-1が多重値域限定処理部701に伝達される。多重値域限定処理部701は、加算器708から供給された加算結果γn(k)-1に値域限定演算子P[・]による演算を施し、結果であるP[γn(k)-1]を多重重みつき加算部707に瞬時推定SNR 921として伝達する。ただし、P[x]は式(13)で定められる。
【００４９】
【数１２】
2007006525.tif 000014
【００５０】
多重重みつき加算部707には、また、重み記憶部706から重み923が供給されている。多重重みつき加算部707は、これらの供給された瞬時推定SNR 921、過去の推定SNR 922、重み923を用いて推定先天的SNR 924を求める。重み923をαとし、ξn(k)ハットを推定先天的SNR とすると、ξn(k)ハットは、式(14)によって計算される。
【００５１】
【数１３】
2007006525.tif 000015
【００５２】
ここに、G2-1(k)γ-1(k)バー＝１とする。
【００５３】
図34は、図33に含まれる多重値域限定処理部701の構成を示すブロック図である。多重値域限定処理部701は、定数記憶部7011、最大値選択部70120〜7012K-1、分離部7013、多重化部7014を有する。分離部7013には、図33の加算器708から、γn(k)-1が供給される。分離部7013は、供給されたγn(k)-1をK個の周波数別成分に分離し、最大値選択部70120〜7012K-1に供給する。最大値選択部70120〜7012K-1の他方の入力には、定数記憶部7011からゼロが供給されている。最大値選択部70120〜7012K-1は、γn(k)-1をゼロと比較し、大きい方の値を多重化部7014へ伝達する。この最大値選択演算は、式(13)を実行することに相当する。多重化部7014は、これらの値を多重化して出力する。
【００５４】
図35は、図33に含まれる多重重みつき加算部7071の構成を示すブロック図である。多重重みつき加算部7071は、重みつき加算部70710〜7071K-1、分離部7072、7074、多重化部7075を有する。分離部7072には、図33の多重値域限定処理部701から、P[γn (k)-1]が瞬時推定SNR921として供給される。分離部7072は、P[γn (k)-1]をK個の周波数別成分に分離し、周波数別瞬時推定SNR9210〜921K-1として、重みつき加算部70710〜7071K-1に伝達する。分離部7074には、図33の多重乗算部705から、G2n-1 (k)バーγn-1 (k)が過去の推定SNR922として供給される。分離部7074は、G2n-1 (k)バーγn-1(k)をK個の周波数別成分に分離し、過去の周波数別推定SNR 9220〜922K-1として、重みつき加算部70710〜7071K-1に伝達する。一方、重みつき加算部 70710〜7071K-1には、重み923も供給される。重みつき加算部7071 0〜7071K-1は、式(14)によって表される重みつき加算を実行し、周波数別推定先天的SNR 9240〜924K-1を多重化部7075に伝達する。多重化部7075は、周波数別推定先天的SNR 9240〜924K-1を多重化し、推定先天的SNR 924 として出力する。
【００５５】
重みつき加算部 70710〜 7071K-1 の動作と構成は、既に図27を用いて説明した重みつき加算部407と等しいので、詳細な説明は省略する。但し、重みつき加算の計算は常に行なわれる。
【００５６】
図36は、図24に含まれる雑音抑圧係数生成部８の構成を示すブロック図である。雑音抑圧係数生成部８は、抑圧係数検索部8010〜801K-1、分離部802、803、多重化部804を有する。分離部802には、図24の周波数別SNR計算部６から後天的SNRが供給される。分離部802は、供給された後天的SNRをK個の周波数別成分に分離し、抑圧係数検索部8010〜801K-1に伝達する。分離部803には、図24の推定先天的SNR計算部７から推定先天的SNRが供給される。分離部803は、供給された推定先天的SNRをK個の周波数別成分に分離し、抑圧係数検索部8010〜801K-1に伝達する。抑圧係数検索部8010〜801K-1は、供給された後天的SNRと推定先天的SNRに対応した抑圧係数を検索し、検索結果を多重化部804に伝達する。多重化部804は、供給された抑圧係数を多重化して出力する。
【００５７】
図37は、図36に含まれる抑圧係数検索部8010〜801K-1の構成を示すブロック図である。抑圧係数検索部801は、抑圧係数テーブル8011、アドレス変換部8012、8013を有する。アドレス変換部8012には、図36の分離部802から、周波数別後天的SNRが供給される。アドレス変換部8012は、供給された周波数別後天的SNRを対応したアドレスに変換し、抑圧係数テーブル8011に伝達する。アドレス変換部8013には、図36の分離部803から、周波数別推定先天的SNRが供給される。アドレス変換部8013は、供給された周波数別推定先天的SNRを対応したアドレスに変換し、抑圧係数テーブル8011に伝達する。抑圧係数テーブル8011は、アドレス変換部8012とアドレス変換部8013から供給されたアドレスに対応した領域に格納されている抑圧係数を、周波数別抑圧係数として出力する。
【非特許文献１】アイ・イー・イー・イー・トランザクションズ・オン・アクースティクス・スピーチ・アンド・シグナル・プロセシング、第32巻、第6号 (IEEE TRANSACTIONS ON ACOUSTICS, SPEECH,AND SIGNAL PROCESSING, VOL.32, NO.6, PP.1109-1121, DEC, 1984)、1109〜1121ページ、1984年12月
【非特許文献２】日本音響学会講演論文集、321〜322ページ、2000年3月
【非特許文献３】ディジタル信号処理の理論、コロナ社、75〜76ページ、1985年
【非特許文献４】アイ・イー・イー・イー・トランザクションズ・オン・スピーチ・アンド・オーディオ・プロセシング、第6巻、第3号(IEEE TRANSACTIONS ON SPEECH AND AUDIO PROCESSING, VOL. 6,NO. 3, PP.287-292, MAY, 1998)、287〜292ページ、1998年5月
【発明の開示】
【発明が解決しようとする課題】
【００５８】
これまで説明した従来の方法では、 雑音のパワースペクトルを、音声検出部の出力に基づいて、無音区間において更新していた。このため、音声検出部の検出結果が誤ると、雑音のパワースペクトルを正確に推定することができなかった。有音区間が長く続いた場合も、無音区間が存在しないために雑音のパワースペクトルを更新することができず、非定常雑音に対するパワースペクトル推定精度が劣化することを避けられなかった。このため、強調音声に雑音や歪みが残留するという問題があった。
【００５９】
また、従来の方法では、劣化音声パワースペクトルを用いて、雑音のパワースペクトルを推定していた。このため、劣化音声に含まれる音声パワースペクトルの影響を受けて、雑音のパワースペクトルを正確に推定することができず、強調音声に雑音が残留したり、歪みが発生したりするという問題があった。さらに、従来の方法では、あらゆるSNRに対して同一の計算方法で求めた抑圧係  数を用いて雑音抑圧を行なっていたため、十分高い強調音声の音質を達成することができないという問題があった。
【００６０】
本発明の目的は、音声検出部の性能に左右されずに、雑音のパワースペクトルを正確に推定することによって、歪みと雑音が少ない強調音声を得ることのできるノイズ除去の方法及び装置を提供することである。
【００６１】
本発明の他の目的は、有音区間においても雑音のパワースペクトルを正確に推定することによって、非定常な雑音に対して歪みと雑音が少ない強調音声を得ることのできるノイズ除去の方法及び装置を提供することである。
【００６２】
本発明の他の目的は、あらゆるSNRの値に対して最適な抑圧係数を用いることによって、歪みと雑音が少ない強調音声を得ることのできるノイズ除去の方法及び装置を提供することである。
【課題を解決するための手段】
【００６３】
本発明のノイズ除去の方法及び装置では、重みつき劣化音声パワースペクトルを用いて、雑音のパワースペクトルを推定することを特徴としている。より具体的には、劣化音声パワースペクトルと推定雑音パワースペクトルから重みつき劣化音声パワースペクトルを計算するための重みつき劣化音声計算部を備えていることを特徴とする。
【００６４】
また、本発明のノイズ除去の方法及び装置では、SNRの値に応じて補正された抑圧係数を用いて雑音抑圧を行なうことを特徴としている。より具体的には、SNRの値と抑圧係数を受け、補正された抑圧係数を計算するための抑圧係数補正部を備えていることを特徴とする。
【００６５】
本発明では、劣化音声パワースペクトルと推定雑音パワースペクトルから求めた重みつき劣化音声パワースペクトルを用いて、雑音のパワースペクトルを推定するので、雑音の性質を問わず雑音のパワースペクトルを正確に推定することが可能となり、歪みと雑音が少ない強調音声を得ることができる。
また、本発明では、SNRの値に応じて補正された抑圧係数を用いて雑音抑圧を行なうので、あらゆるSNRの値に対して歪みと雑音が少ない強調音声を得ることができる。
【発明の効果】
【００６６】
以上説明したとおり、本発明は、重みつき劣化音声パワースペクトルを用いて、雑音のパワースペクトルを推定するので、雑音の性質を問わず雑音のパワースペクトルを正確に推定することが可能となり、歪みと雑音が少ない強調音声を得ることができる。
また、本発明は、SNRの値に応じて補正された抑圧係数を用いて雑音抑圧を行なうので、あらゆるSNRの値に対して歪みと雑音が少ない強調音声を得ることができる。
【発明を実施するための最良の形態】
【００６７】
図１は本発明の第１の実施の形態を示すブロック図である。図1と従来例のブロック図である図24とは、推定雑音計算部5、重みつき劣化音声計算部14及び抑圧係数補正部15を除いて同一である。以下、これらの相違点を中心に詳細な動作を説明する。
【００６８】
図2は重みつき劣化音声計算部14の構成を示すブロック図である。重みつき劣化音声計算部14は、推定雑音記憶部1401、周波数別SNR計算部1402、多重非線形処理部1405、及び多重乗算部1404を有する。
【００６９】
推定雑音記憶部1401は、図1の推定雑音計算部5から供給される推定雑音パワースペクトルを記憶し、1フレーム前に記憶された推定雑音パワースペクトルを周波数別SNR計算部1402へ出力する。周波数別SNR計算部1402は、推定雑音記憶部1401から供給される推定雑音パワースペクトルと図1の多重乗算部17から供給される劣化音声パワースペクトルのSNRを用いて各周波数毎に求め、多重非線形処理部1405に出力する。
【００７０】
多重非線形処理部1405は、周波数別SNR計算部 1402 から供給されるSNRを用いて重み係数ベクトルを計算し、重み係数ベクトルを多重乗算部 1404 に出力する。多重乗算部1404は、図1の多重乗算部17から供給される劣化音声パワースペクトルと、多重非線形処理部1405から供給される重み係数ベクトルの積を周波数毎に計算し、重みつき劣化音声パワースペクトルを図1の推定雑音記憶部 5 に出力する。周波数別SNR計算部 1402 の構成は、既に図32を用いて説明した周波数別SNR 計算部6に等しいので、詳細な説明は省略する。また、多重乗算部1404の構成は、既に図28を用いて説明した多重乗算部17に等しいので、詳細な説明は省略する。
【００７１】
次に、図3を参照しながら、図2の多重非線形処理部 1405 の構成と動作について詳しく説明する。図3は、重みつき劣化音声計算部14に含まれる多重非線形処理部1405の構成を示すブロック図である。多重非線形処理部1405は、分離部1495、非線形処理部 14850 〜 1485K-1、及び多重化部1475を有する。分離部1495は、図2の周波数別SNR計算部1402から供給されるSNRを周波数別のSNRに分離し、非線形処理部 14850 〜 1485K-1 に出力する。非線形処理部14850 〜 1485K-1 は、それぞれ入力値に応じた実数値を出力する非線形関数を有する。図4に、非線形関数の例を示す。f1 を入力値としたとき、図4に示される非線形関数の出力値f2 は、（１５）式で与えられる。
【００７２】
【数１４】
2007006525.tif 000016
【００７３】
非線形処理部 14850 〜 1485K-1 は、分離部1495から供給される周波数別SNRを、非線形関数によって処理して重み係数を求め、多重化部1475に出力する。すなわち、非線形処理部 14850 〜 1485K-1 は SNR に応じた1 から 0 までの重み係数を出力する。SNRが小さい時は 1 を、大きい時は 0 を出力する。多重化部1475は、非線形処理部 14850 〜 1485K-1 から出力された重み係数を多重化し、重み係数ベクトルを多重乗算部1404に出力する。
【００７４】
図2の多重乗算部 1404 で劣化音声パワースペクトルと乗算される重み係数は、 SNR に応じた値になっており、SNR が大きい程、すなわち劣化音声に含まれる音声成分が大きい程、重み係数の値は小さくなる。推定雑音の更新には一般に劣化音声パワースペクトルが用いられるが、推定雑音の更新に用いる劣化音声パワースペクトルに対して、SNR に応じた重みづけを行うことで、劣化音声パワースペクトルに含まれる音声成分の影響を小さくすることができ、より精度の高い雑音推定を行うことができる。なお、重み係数の計算に非線形関数を用いた例を示したが、非線形関数以外にも線形関数や高次多項式など、他の形で表されるSNRの関数を用いる事も可能である。
【００７５】
図5は、本発明の第1の実施の形態に含まれる推定雑音計算部 5 の構成を示すブロック図である。図29に示した推定雑音計算部51とは、分離部 505 が存在することと、周波数別推定雑音計算部 5140 〜 514K-1 が周波数別推定雑音計算部5140 〜 514K-1に置換されていることを除いて同一である。以下、これらの相違点を中心に詳細な動作を説明する。
【００７６】
分離部 505 は、図1の重みつき劣化音声計算部から供給される重みつき劣化音声パワースペクトルを、周波数別の重みつき劣化音声パワースペクトルに分離し、周波数別推定雑音計算部 5040 〜 504K-1 に出力する。周波数別推定雑音計算部 5040 〜 504K-1 は、分離部 502 から供給される周波数別劣化音声パワースペクトル、分離部 505 から供給される周波数別重みつき劣化音声パワースペクトル、図1の音声検出部4から供給される音声検出フラグ、及び図1のカウンタ13から供給されるカウント値から周波数別推定雑音パワースペクトル を計算し、多重化部 503 へ出力する。多重化部503は、周波数別推定雑音計算部 5040 〜 504K-1 から供給される周波数別推定雑音パワースペクトルを多重化し、推定雑音パワースペクトルを図1の周波数別SNR計算部6と重みつき劣化音声計算部14へ出力する。周波数別推定雑音計算部 5040 〜 504K-1 の構成と動作の詳細な説明は、図 6 を参照しながら行う。
【００７７】
図6は、図5に含まれる周波数別推定雑音計算部 5040 〜 504K-1 の構成を示すブロック図である。図30に示した周波数別推定雑音計算部514との相違点は、周波数別推定雑音計算部 5040 〜 504K-1 が推定雑音記憶部 5942 を有すること、更新判定部 521 が更新判定部 520 に置換されていること、及びスイッチ5044への入力が周波数別劣化音声パワースペクトルから周波数別重みつき劣化音声パワースペクトルに置換されていることである。周波数別推定雑音計算部 5040 〜 504K-1 は、推定雑音の計算に劣化音声パワースペクトルではなく重みつき劣化音声パワースペクトルを用いており、また、推定雑音の更新判定に、推定雑音と劣化音声パワースペクトルを用いているため、これらの相違点が発生する。推定雑音記憶部5942は、除算部5048から供給される周波数別推定雑音パワースペクトルを記憶し、1フレーム前に記憶された周波数別推定雑音パワースペクトルを更新判定部520に出力する。
【００７８】
図7は、図6に含まれる更新判定部520の構成を示すブロック図である。図31に示した更新判定部521との相違点は、論理和計算部5211が論理和計算部5201 に置換されていることと、更新判定部520が比較部 5205、閾値記憶部5206 及び閾値計算部5207 を有することである。以下、これらの相違点を中心に詳細な動作を説明する。
【００７９】
閾値計算部 5207 は、図6の推定雑音記憶部 5942 から供給される周波数別推定雑音パワースペクトルに応じた値を計算し、閾値として閾値記憶部 5206 に出力する。最も簡単な閾値の計算方法は、周波数別推定雑音パワースペクトルの定数倍である。その他に、高次多項式や非線形関数を用いて閾値を計算することも可能である。閾値記憶部 5206 は、閾値計算部 5207 から出力された閾値を記憶し、1フレーム前に記憶された閾値を比較部 5205 へ出力する。比較部 5205 は、閾値記憶部 5206 から供給される閾値と図5の分離部 502 から供給される周波数別劣化音声パワースペクトルを比較し、周波数別劣化音声パワースペクトルが閾値よりも小さければ“1”を、大きければ“０”を論理和計算部 5201 に出力する。すなわち、推定雑音パワースペクトルの大きさをもとに、劣化音声信号が雑音であるか否かを判別している。論理和計算部 5201 は、比較部 5203 の出力値、論理否定回路 5202 の出力値、及び比較部 5205 の出力値の論理和を計算し、計算結果を図6のスイッチ5044、シフトレジスタ5045及びカウンタ5049に出力する。
【００８０】
このように、初期状態や無音区間だけでなく、有音区間でも劣化音声パワーが小さい場合には、更新判定部 520 は“１”を出力する。すなわち、推定雑音の更新が行われる。閾値の計算は各周波数毎に行われるため、各周波数毎に推定雑音の更新を行うことができる。
【００８１】
図6 において、CNTをカウンタ 5049 のカウント値、Nをシフトレジスタ 5045のレジスタ長とする。そして、Bn(k) (n=0,1,...,N-1) をシフトレジスタ5045に蓄積されている周波数別重みつき劣化音声パワースペクトルとする。このとき、除算部5048から出力される周波数別推定雑音パワースペクトル λn(k) は、式（１６）で与えられる。
【００８２】
【数１５】
2007006525.tif 000017
【００８３】
すなわち、 λn(k) はシフトレジスタ5045に蓄積されている周波数別重みつき劣化音声パワースペクトルの平均値となる。平均値の計算は、重みつき加算部(巡回形フィルタ)を用いて行う事も可能である。次に図8を参照しながら、λn(k)の計算に重みつき加算部を用いる構成例について説明する。
【００８４】
図8は、図5に含まれる周波数別推定雑音計算部 5040 〜 504K-1 の第2の構成例を示すブロック図である。図6 の周波数別推定雑音計算部504における、シフトレジスタ5045、加算器5046、最小値選択部5047、除算部5048、カウンタ5049、レジスタ長記憶部5941の代わりに、周波数別推定雑音計算部507は、重みつき加算部5071、重み記憶部5072を有する。
【００８５】
重みつき加算部5071は、推定雑音記憶部5942から供給される1フレーム前の周波数別推定雑音パワースペクトル、スイッチ5044から供給される周波数別重みつき劣化音声パワースペクトル及び重み記憶部5072から出力される重みを用いて、周波数別推定雑音を計算し、多重化部503へ出力する。すなわち、重み記憶部5072が記憶する重みをδ、周波数別重みつき劣化音声パワースペクトルを |Yn(k)|2バーとしたとき、重みつき加算部 5071 から出力される周波数別推定雑音パワースペクトルλn(k) は、式（１７）で与えられる。重みつき加算部5071の構成は、既に図27を用いて説明した重みつき加算部407に等しいので、詳細な説明は省略する。但し、重みつき加算の計算は常に行なわれる。
【００８６】
【数１６】
2007006525.tif 000018
【００８７】
図9は、本発明の第1の実施の形態に含まれる抑圧係数補正部 15 の構成を示すブロック図である。SNRが低いときに抑圧不足により発生する残留雑音や、SNRが高いときに過度の抑圧で発生する音声の歪みによる音質劣化を防ぐために、抑圧係数補正部 15 は、SNRに応じた抑圧係数の補正を行なう。補正の例として、SNRが低いときには抑圧係数に修正値を加えて残留雑音を抑圧し、SNRが高いときには抑圧係数に下限値を設定して音声の歪みを防止することができる。抑圧係数補正部 15 は、周波数別抑圧係数補正部 15011 〜 1501K-1、分離部 1502、1503及び多重化 部 1504 を有する。
【００８８】
分離部 1502 は、図1の推定先天的SNR計算部 7 から供給される推定先天的SNRを周波数別成分に分離し、それぞれ周波数別抑圧係数補正部 15010 〜 1501K-1に出力する。分離部 1503 は、図1の抑圧係数生成部8から供給される抑圧係数を周波数別成分に分離し、それぞれ周波数別抑圧係数補正部15010 〜 1501K-1 に出力する。周波数別抑圧係数補正部 15010 〜 1501K-1は、分離部 1502 から供給される周波数別推定先天的SNRと、分離部 1503 から供給される周波数別抑圧係数から、周波数別補正抑圧係数を計算し、多重化部 1504 へ出力する。多重化部 1504 は、周波数別抑圧係数補正部 15010 〜 1501K-1から供給される周波数別補正抑圧係数を多重化し、補正抑圧係数として多重乗算部 16 と推定先天的SNR計算部7へ出力する。
【００８９】
次に図10を参照しながら、周波数別抑圧係数補正部 15010 〜 1501K-1 の構成と動作について詳細に説明する。図10は、抑圧係数補正部 15 に含まれる周波数別抑圧係数補正部 15010 〜 1501K-1の構成を示すブロック図である。周波数別抑圧係数補正部 1501 は、最大値選択部 1591、抑圧係数下限値記憶部 1592、閾値記憶部 1593、比較部 1594、スイッチ 1595、修正値記憶部 1596 及び乗算器1597 を有する。
【００９０】
抑圧係数下限値記憶部 1592 は、記憶している抑圧係数の下限値を、最大値選択部 1591 に供給する。最大値選択部 1591 は、図9の分離部 1503 から供給される周波数別抑圧係数と抑圧係数下限値記憶部 1592 から供給される抑圧係数下限値を比較し、大きい方の値をスイッチ 1595 に出力する。 すなわち、抑圧係数は抑圧係数下限値記憶部 1592 が記憶する下限値よりも必ず大きい値になる。従って、過度の抑圧により発生する音声の歪みを防ぐことができる。
【００９１】
比較部1594は、閾値記憶部 1593 から供給される閾値と、図9の分離部 1502から供給される周波数別推定先天的 SNR を比較し、周波数別推定先天的SNRが閾値よりも大きければ“０”を、小さければ“１”をスイッチ 1595 に供給する。スイッチ 1595 は、最大値選択部 1591 から供給される信号を、比較部 1594 の出力値が“１”のとき乗算器 1597 に出力し、比較部 1594 の出力値が“０”のとき図9の多重化部 1504 に出力する。すなわち、周波数別推定先天的SNRが閾値よりも小さいときに、抑圧係数の補正が行われる。SNRが小さい場合に抑圧係数の補正を行なうことで、音声成分を過剰に抑圧することなく、残留雑音量を減らすことが出来る。乗算器 1579 は、スイッチ 1595 の出力値と修正値記憶部 1596 の出力値との積を計算し、計算結果を図9の多重化部 1504 へ出力する。抑圧係数値を小さくするため、修正値は1より小さい値が普通であるが、目的によってはこの限りではない。なお、従来例では抑圧係数が多重乗算部 16 と推定先天的SNR計算部7へ供給されていたが、本発明の第一の実施例では、抑圧係数に代わって補正抑圧係数が供給されている。
【００９２】
図11は、図1に含まれる雑音抑圧係数生成部8の第2の構成例を示すブロック図である。雑音抑圧係数生成部 81 は、MMSE STSA ゲイン関数値計算部 811、一般化尤度比計算部 812、音声存在確率記憶部 813、及び抑圧係数計算部 814 を有する。供給された推定先天的SNRと後天的SNRから、抑圧係数を演算で求める点が、検索で求める図1の雑音抑圧係数生成部 8 と異なる。以下、文献1に記載されている計算式をもとに、抑圧係数の計算方法を説明する。
【００９３】
フレーム番号を n、周波数番号を k とし、γn(k) を図1の周波数別SNR 計算部 6 から供給される周波数別後天的SNR、ξn(k) ハットを図1 の推定先天的SNR計算部 7 から供給される周波数別推定先天的SNRとする。また、ηn(k) = ξn(k)ハット/ q、vn(k) = (ηn(k) γn(k))/(1+ηn(k)) とする。MMSE STSA ゲイン関数値計算部 811 は、図1の周波数別SNR計算部 6 から供給される後天的SNR γn(k)、図1の推定先天的SNR計算部 7 から供給される推定先天的SNR ξn(k) ハット及び音声存在確率記憶部 813 から供給される音声存在確率 q をもとに、各周波数毎にMMSE STSAゲイン関数値を計算し、抑圧係数計算部 814 に出力する。各周波数毎のMMSE STSAゲイン関数値 Gn(k) は、式（１８）で与えられる。式（１８）において、I0(z) は0次変形ベッセル関数、I1(z) は1次変形ベッセル関数である。変形ベッセル関数については、「1985年、数学辞典、岩波書店、374.Gページ」(文献5)に記載されている。
【００９４】
【数１７】
2007006525.tif 000019
【００９５】
一般化尤度比計算部 812 は、図1の周波数別SNR計算部 6 から供給される後天的SNR γn(k)、図1の推定先天的SNR計算部 7 から供給される推定先天的SNR ξn(k) ハット及び音声存在確率記憶部 813 から供給される音声存在確率 q をもとに、周波数毎に一般化尤度比を計算し、抑圧係数計算部 814 に出力する。周波数毎の一般化尤度比 Λn(k) は、式（１９）で与えられる。
【００９６】
【数１８】
2007006525.tif 000020
【００９７】
抑圧係数計算部 814 は、MMSE STSA ゲイン関数値計算部 811 から供給されるMMSE STSA ゲイン関数値 Gn(k)と一般化尤度比計算部 812 から供給される一般化尤度比 Λn(k)から周波数毎に抑圧係数を計算し、図1の抑圧係数補正部 15 へ出力する。周波数毎の抑圧係数 Gn(k) バーは、式（１８）で与えられる。
【００９８】
【数１９】
2007006525.tif 000021
【００９９】
周波数別にSNRを計算する代わりに、複数の周波数から構成される帯域に共通なSNRを求めて、これを用いることも可能である。
【０１００】
次に、周波数別SNR計算部 6 の第2の構成例として、帯域毎にSNRを計算する例について説明する。
【０１０１】
図12は、周波数別SNR計算部6の第2の構成例を示すブロック図である。図32に示した周波数別SNR計算部6との相違点は、帯域別SNR計算部61が帯域別パワー計算部611、612を有することである。帯域別パワー計算部611は、分離部602から供給される周波数別劣化音声パワースペクトルをもとに帯域別のパワーを計算し、除算部 6010 〜 601K-1 へ出力する。また、帯域別パワー計算部 612 は、分離部603から供給される周波数別推定雑音パワースペクトルをもとに帯域別のパワーを計算し、除算部 6010 〜 601K-1 へ出力する。
【０１０２】
次に図13を参照しながら、帯域別パワー計算部 611 の構成と動作を詳細に説明する。図13は、帯域別SNR計算部 61 に含まれる帯域別パワー計算部 611 の構成を示すブロック図である。ここでは、帯域幅 L をもつ M 個の帯域に等分割する例を説明する。ここに、L と M は、K=LM の関係を満たす自然数であるとする。
【０１０３】
帯域別SNR計算部 61 は、加算器 61100 〜 6110M-1 を有する。図12の分離部602から供給される周波数別劣化音声パワースペクトル 9100 〜 910K-1 (9100 〜910ML-1)は、各周波数に対応した加算器 61100 〜 6110M-1 へそれぞれ伝達される。例えば、帯域番号0に対応する周波数番号は0からL-1なので、周波数別劣化音声パワースペクトル 9100 〜 910L-1 は加算器 61100 へ伝達される。また、帯域番号1に対応する周波数番号はLから2L-1なので、周波数別劣化音声パワースペクトル 910L 〜 9102L-1 は加算器 61101 へ伝達される。加算器 61100 〜6110M-1 は、供給された周波数別劣化音声パワースペクトルの総和をそれぞれ計算し、帯域別劣化音声パワースペクトル 9110 〜 911ML-1 (9110 〜 911K-1) を図12の除算部 6010 〜 601K-1 へ出力する。各加算器の計算結果は、それぞれの帯域番号に応じた周波数毎に帯域別劣化音声パワースペクトルとして出力される。例えば、加算器 61100 の計算結果は、帯域別劣化音声パワースペクトル 9110〜 911L-1 として出力される。また、加算器 61101 の計算結果は、帯域別劣化音声パワースペクトル 911L 〜 9112L-1 として出力される。構成と動作は帯域別パワー計算部 611 と等価であるので、帯域別パワー計算部 612 の説明は省略する。
【０１０４】
なお、ここでは複数の帯域に等分割する例を示したが、「1980年、聴覚と音声、電子情報通信学会、115〜118ページ」(文献6)に記載されている臨界帯域に分割する方法、「1983年、マルチレート・ディジタル・シグナル・プロセシング(Multirate Digital Signal Processing), 1983, Prentice-Hall Inc., USA」(文献7)に記載されているオクターブ帯域に分割する方法など、他の帯域分割方法を用いることも可能である。
【０１０５】
図14は、本発明の第2の実施の形態を示すブロック図である。本発明の第1の実施の形態を示すブロック図である図1との相違点は、推定雑音計算部 5 が推定雑音計算部 52 に置換されていること、及び重みつき劣化音声計算部 14 が存在しないことである。以下、これらの相違点を中心に詳細な動作を説明する。
【０１０６】
図15 は、図14の本発明の第2の実施の形態に含まれる推定雑音計算部 52 の構成を示すブロック図である。第1の実施例である図5との相違点は、周波数別推定雑音計算部 5040 〜504K-1 が周波数別推定雑音計算部 5060 〜 506K-1 に置換されていることと、推定雑音計算部 52 が入力信号に重みつき劣化音声パワースペクトルを有しないことである。これは、周波数別推定雑音計算部 5040 〜504K-1 が入力信号に周波数別重みつき劣化音声パワースペクトルを必要とするのに対して、推定雑音計算部 5060 〜 506K-1 は、入力信号に周波数別重みつき劣化音声パワースペクトルを必要としないためである。以下、図16 を参照しながら、図5との相違点である推定雑音計算部 5060 〜506K-1 の構成と動作を詳細に説明する。
【０１０７】
図16 は、図15の推定雑音計算部 52 に含まれる周波数別推定雑音計算部5060〜 506K-1 の構成を示すブロック図である。第1の構成例 である図6との相違点は、周波数別推定雑音計算部 506 が、入力信号に周波数別重みつき劣化音声パワースペクトルを有していないことと、除算部 5041、非線形処理部 5042、及び乗算器 5043 を有していることである。以下、これらの相違点を中心に詳細な動作を説明する。
【０１０８】
除算部 5041 は、図15の分離部 502 から供給される周波数別劣化音声パワースペクトルを、推定雑音記憶部 5942 から供給される1フレーム前の推定雑音パワースペクトルで除算し、除算結果を非線形処理部 5042 に出力する。図3に示した非線形処理部 1485 と同一の構成と機能を有する非線形処理部 5042 は、除算部 5041 の出力値に応じた重み係数を計算し、乗算器 5043 に出力する。乗算器 5043 は、図14の分離部 502 から供給される周波数別劣化音声パワースペクトルと非線形処理部 5042 から供給される重み係数の積を計算し、スイッチ 5044 へ出力する。
【０１０９】
乗算器 5043 の出力信号は、図4の周波数別推定雑音計算部 504 における周波数別重みつき劣化音声パワースペクトルと等価である。すなわち、周波数別重みつき劣化音声パワースペクトルは、周波数別推定雑音計算部506の内部において計算することも可能である。したがって、本発明の第2の実施の形態として、重みつき劣化音声計算部 14 を省略することが可能となる。
【０１１０】
図17は、本発明の第3の実施の形態を示すブロック図である。本発明の第1の実施の形態を示すブロック図である図1とは、推定先天的SNR計算部 71 を除いて同一であるので、以下、この相違点を中心に詳細な動作を説明する。
【０１１１】
図18は、図17 に含まれる推定先天的SNR計算部 71 の構成を示すブロック図である。図33の推定先天的SNR計算部 7 は後天的SNR記憶部 702、抑圧係数記憶部703、多重乗算部 705、704 を有するが、推定先天的SNR計算部 71 はこれらの代わりに、推定雑音記憶部 712、強調音声パワースペクトル記憶部 713、周波数別SNR 計算部 715、多重乗算部 716 を有する。また、推定先天的SNR計算部 7 は、入力信号に抑圧係数を有するが、推定先天的SNR計算部 71 は、抑圧係数の代わりに強調音声振幅スペクトルと推定雑音パワースペクトルを入力信号に有する。以下、推定先天的SNR計算部 7 と71 との間に存在するこれらの相違点を中心に、詳細な動作を説明する。
【０１１２】
多重乗算部 716 は、図17の多重乗算部 16 から供給される強調音声振幅スペクトルを周波数毎に2乗して強調音声パワースペクトルを求め、強調音声パワースペクトル記憶部 713 に出力する。多重乗算部716の構成は、既に図28を用いて説明した多重乗算部17に等しいので、詳細な説明は省略する。強調音声パワースペクトル記憶部 713 は、多重乗算部 716 から供給される強調音声パワースペクトルを記憶し、1フレーム前に供給された強調音声パワースペクトルを周波数別SNR計算部 715 へ出力する。周波数別SNR計算部715の構成は、既に図32を用いて説明した周波数別SNR 計算部6に等しいので、詳細な説明は省略する。推定雑音記憶部 712 は、図17の推定雑音計算部 5 から供給される推定雑音パワースペクトルを記憶し、1フレーム前に供給された推定音声パワースペクトルを周波数別SNR計算部 715 へ出力する。周波数別SNR計算部 715 は、強調音声パワースペクトル記憶部 713 から供給される強調音声パワースペクトルと、推定雑音記憶部712 から供給される推定雑音パワースペクトルのSNRを各周波数毎に計算し、多重重みつき加算部 707 へ出力する。
【０１１３】
周波数別SNR計算部 715 の出力信号と図 33 の多重乗算部 705 の出力信号は等価である。従って、本発明の第3の実施の形態として、推定先天的SNR計算部 7を推定先天的SNR計算部 17 で置換することが可能となる。
【０１１４】
図19 は、本発明の第4の実施の形態の構成を示すブロック図である。本発明の第1の実施の形態を示すブロック図である図1との相違点は、推定雑音計算部 5が推定雑音部 52 に、推定先天的SNR計算部 7 が推定先天的SNR計算部 71 に、それぞれ置換されていることと、重みつき劣化音声計算部 14 が存在しないことである。推定雑音部 52 の構成と動作は、前記本発明の第2の実施の形態の構成と動作と同様である。また、推定先天的SNR計算部 71 の構成と動作は、前記本発明の第3の実施の形態の構成と動作と同様である。従って、図19に示した本発明の第4の実施の形態は、図1に示した本発明の第1の実施の形態と等価な機能を実現する。
【０１１５】
図20 は、本発明の第5の実施の形態の構成を示すブロック図である。本発明の第1の実施の形態を示すブロック図である図１との相違点は、推定雑音計算部 5が推定雑音部 53 で置換されていることと、音声検出部 4 が存在しないことである。すなわち、雑音の推定に音声検出部を必要としない構成になっている。以下、これらの相違点を中心に詳細な動作を説明する。
【０１１６】
図21は、図20に含まれる推定雑音計算部53の構成を示すブロック図である。図5 に示した推定雑音計算部5との相違点は、周波数別推定雑音計算部 5040 〜 504K-1 が周波数別推定雑音計算部 5080 〜 508K-1 に置換されていることと、推定雑音計算部53が入力信号に音声検出フラグを有していないことである。図22を参照しながら、周波数別推定雑音計算部 5080 〜 508K-1 の構成と動作を詳細に説明する。
【０１１７】
図22は、図21に含まれる周波数別推定雑音計算部 5080 〜 508K-1 の構成を示すブロック図である。図6に示した周波数別推定雑音計算部504 との相違点は、更新判定部520が更新判定部522に置換されていることと、5080 〜 508K-1 が入力に音声検出フラグを有していないことである。
【０１１８】
図23は、図22に含まれる更新判定部522の構成を示すブロック図である。図7に示した更新判定部520との相違点は、論理和計算部5201が論理和計算部5221に置換されていること、更新判定部522が論理否定回路5202を有していないこと、入力信号に音声検出フラグを有していないことである。すなわち、更新判定部522は、推定雑音の更新に音声検出フラグを用いていない。この点が、図7の更新判定部520と異なる。論理和計算部5221は、比較部5205の出力値と比較部5203の出力値の論理和を計算し、計算結果を図22のスイッチ5044、シフトレジスタ5045及びカウンタ5049に出力する。すなわち、更新判定部 522 は、カウント値が予め設定された値に到達するまでは常に“１”を出力し、到達した後は、劣化音声パワーが閾値よりも小さいときに“１”を出力する。
【０１１９】
図7で説明した通り、比較部5205は劣化音声信号が雑音であるか否かの判定を行なっている。すなわち、比較部5205は各周波数毎に音声検出を行なっていると言える。したがって、音声検出フラグを入力に有しない更新判定部を実現する事が可能となる。
【０１２０】
これまで説明した全ての実施の形態では、ノイズ除去の方式として、最小平均2乗誤差短時間スペクトル振幅法を仮定してきたが、その他の方法にも適用することができる。このような方法の例として、「1979年12月、プロシーディングス・オブ・ザ・アイ・イー・イー・イー、第67巻、第12号 (PROCEEDINGS OF THE IEEE, VOL.67, NO.12, PP.1586-1604, DEC, 1979)、1586〜1604ページ」(文献8)に開示されているウィーナーフィルタ法などがあるが、これらの具体的な構成例については説明を省略する。
【図面の簡単な説明】
【０１２１】
【図１】本発明の第1の実施の形態を示すブロック図である。
【図２】本発明の第1の実施の形態に含まれる重みつき劣化音声計算部の構成を示すブロック図である
【図３】重みつき劣化音声計算部に含まれる多重非線形処理部の構成を示すブロック図である
【図４】非線形処理部における非線形関数の一例を示す図である。
【図５】本発明の第1の実施の形態に含まれる推定雑音計算部の構成を示すブロック図である。
【図６】図５に含まれる周波数別推定雑音計算部の構成を示すブロック図である。
【図７】図６に含まれる更新判定部の構成を示すブロック図である。
【図８】図５に含まれる周波数別推定雑音計算部の第二の構成例を示すブロック図である。
【図９】本発明の第1の実施の形態に含まれる抑圧係数補正部の構成を示すブロック図である。
【図１０】図１０に含まれる周波数別抑圧係数補正部の構成を示すブロック図である。
【図１１】雑音抑圧係数生成部の第二の構成例を示すブロック図である
【図１２】周波数別SNR計算部の第二の構成例を示すブロック図である。
【図１３】図１２に含まれる帯域別パワー計算部の構成を示すブロック図である。
【図１４】本発明の第2の実施の形態を示すブロック図である。
【図１５】本発明の第2の実施の形態に含まれる推定雑音計算部の構成を示すブロック図である。
【図１６】図１５に含まれる周波数別推定雑音計算部の構成を示すブロック図である。
【図１７】本発明の第3の実施の形態を示すブロック図である。
【図１８】本発明の第3の実施の形態に含まれる推定先天的SNR計算部の構成を示すブロック図である。
【図１９】本発明の第4の実施の形態を示すブロック図である。
【図２０】本発明の第5の実施の形態を示すブロック図である。
【図２１】本発明の第5の実施の形態に含まれる推定雑音計算部を示すブロック図である。
【図２２】図２１に含まれる周波数別推定雑音計算部の構成を示すブロック図である。
【図２３】図２２に含まれる更新判定部の構成を示すブロック図である。
【図２４】従来例の構成を示すブロック図である。
【図２５】従来例の構成に含まれる音声検出部の構成を示すブロック図である。
【図２６】図２５に含まれるパワー計算部の構成を示すブロック図である。
【図２７】図２５に含まれる重みつき加算部の構成を示すブロック図である。
【図２８】従来例の構成に含まれる多重乗算部の構成を示すブロック図である。
【図２９】従来例の構成に含まれる推定雑音計算部の構成を示すブロック図である。
【図３０】図２９に含まれる周波数別推定雑音計算部の構成を示すブロック図である。
【図３１】図３０に含まれる更新判定部の構成を示すブロック図である。
【図３２】従来例の構成に含まれる周波数別SNR計算部の構成を示すブロック図である。
【図３３】従来例の構成に含まれる推定先天的SNR計算部の構成を示すブロック図である。
【図３４】図３３に含まれる多重値域限定処理部の構成を示すブロック図である。
【図３５】図３３に含まれる多重重みつき加算部の構成を示すブロック図である。
【図３６】従来例の構成に含まれる雑音抑圧係数生成部の構成を示すブロック図である。
【図３７】雑音抑圧係数生成部に含まれる抑圧係数検索部の構成を示すブロック図である。
【符号の説明】
【０１２２】
1 フレーム分割部
2 窓がけ処理部
3 フーリエ変換部
4 音声検出部
5, 51, 52, 53 推定雑音計算部
6, 61, 715, 1402 周波数別SNR計算部
7, 71 推定先天的SNR計算部
8, 81 雑音抑圧係数生成部
9 逆フーリエ変換部
10 フレーム合成部
11 入力端子
12 出力端子
13, 5049 カウンタ
14 重みつき劣化音声計算部
15 抑圧係数補正部
16, 17, 704, 705, 716, 1404 多重乗算部
401, 1593, 5204, 5206 閾値記憶部
402, 1594, 5203, 5205 比較部
404, 4075 定数乗算器
405 対数計算部
406 パワー計算部
407, 5071, 70710 〜 7071K-1 重みつき加算部
408, 706, 5072 重み記憶部
409, 5202 論理否定回路
502, 505, 602, 603, 802, 803, 1495, 1502, 1503, 1702, 1703, 4061, 6111,7013,7072, 7074 分離部
503, 604, 804, 1475, 1504, 1704, 6115, 7014, 7075 多重化部
5040 〜 504K-1, 5060 〜 506K-1, 507, 5080 〜 508K-1,5140 〜 514K-1 周波数別推定雑音計算部
520, 521, 522 更新判定部
6010 〜 601K-1, 5041, 5048 除算部
611, 612 周波数別パワー計算部
701 多重値域限定処理部
702 後天的SNR記憶部
703 抑圧係数記憶部
707 多重重みつき加算部
708, 4063, 4072, 4074, 5046, 61100 〜 6110M-1 加算器
712, 1401, 5942 推定雑音記憶部
713 強調音声パワースペクトル記憶部
8010 〜 801K-1 抑圧係数検索部
811 MMSE STSA ゲイン関数値計算部
812 一般化尤度比計算部
813 音声存在確率記憶部
814 抑圧係数計算部
901 劣化音声パワー
902 閾値
903,923 重み
904 更新閾値
905 重みつき加算部制御信号
9100 〜 910K-1, 9100 〜 910ML-1 周波数別劣化音声パワースペクトル
9110 〜 911K-1, 9110 〜 911ML-1 帯域別劣化音声パワースペクトル
921 瞬時推定SNR
9210 〜 921K-1 周波数別瞬時推定SNR
922 過去の推定SNR
9220 〜 922K-1 過去の周波数別推定SNR
924 推定先天的SNR
9240 〜 924K-1 周波数別推定先天的SNR
1405 多重非線形処理部
14850 〜 1485K-1, 5042 非線形処理部
15010 〜 1501K-1 周波数別抑圧係数補正部
1591, 70120 〜 7012K-1 最大値選択部
1592 抑圧係数下限値記憶部
1595, 5044 スイッチ
1596 修正量記憶部
1597,17010 〜 1701K-1, 40620 〜 4062K-1, 4071, 4073, 5043 乗算器
5045 シフトレジスタ
5047 最小値選択部
5201, 5211, 5221 論理和計算部
5207 閾値計算部
5941 レジスタ長記憶部
7011 定数記憶部
8011 抑圧係数テーブル
8012, 8013 アドレス変換部
【図１】
2007006525.tif 000022
【図２】
2007006525.tif 000023
【図３】
2007006525.tif 000024
【図４】
2007006525.tif 000025
【図５】
2007006525.tif 000026
【図６】
2007006525.tif 000027
【図７】
2007006525.tif 000028
【図８】
2007006525.tif 000029
【図９】
2007006525.tif 000030
【図１０】
2007006525.tif 000031
【図１１】
2007006525.tif 000032
【図１２】
2007006525.tif 000033
【図１３】
2007006525.tif 000034
【図１４】
2007006525.tif 000035
【図１５】
2007006525.tif 000036
【図１６】
2007006525.tif 000037
【図１７】
2007006525.tif 000038
【図１８】
2007006525.tif 000039
【図１９】
2007006525.tif 000040
【図２０】
2007006525.tif 000041
【図２１】
2007006525.tif 000042
【図２２】
2007006525.tif 000043
【図２３】
2007006525.tif 000044
【図２４】
2007006525.tif 000045
【図２５】
2007006525.tif 000046
【図２６】
2007006525.tif 000047
【図２７】
2007006525.tif 000048
【図２８】
2007006525.tif 000049
【図２９】
2007006525.tif 000050
【図３０】
2007006525.tif 000051
【図３１】
2007006525.tif 000052
【図３２】
2007006525.tif 000053
【図３３】
2007006525.tif 000054
【図３４】
2007006525.tif 000055
【図３５】
2007006525.tif 000056
【図３６】
2007006525.tif 000057
【図３７】
2007006525.tif 000058