(58)【調査した分野】(Int.Cl.,DB名)
前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求め、該第1の音声の存在の有無に関する情報と、前記周波数領域信号のパワースペクトルの増加と、低域を除く高域及び中域の周波数領域信号のパワースペクトルの平坦度とを用いて前記衝撃音の存在の有無に関する情報を求めることを特徴とする請求項1に記載の雑音抑圧の方法。
【発明を実施するための最良の形態】
【0018】
図1は、本発明の最良の実施の形態を示すブロック図である。
図1と従来例である
図34との相違点は、衝撃音検出部18が衝撃音検出部8に置換されたこと、及び衝撃音検出部18に供給されていたキー開放情報とキー押下げ情報が衝撃音検出部8に供給されていないことである。
【0019】
入力端子1に供給された劣化音声は、変換部2においてフーリエ変換などの変換を施して複数の周波数成分に分割され、衝撃音検出部8と衝撃音抑圧部19へ供給される。位相は、逆変換部3に伝達される。衝撃音検出部8は、入力信号スペクトルの変化に基づいて衝撃音を検出し、検出信号を衝撃音抑圧部19に伝達する。衝撃音抑圧部19は、衝撃音が検出されたときはMAP推定によって回復された信号を、それ以外のときは劣化音声そのものを、逆変換部3に伝達する。逆変換部3は、衝撃音抑圧部19から供給された衝撃音抑圧音声パワースペクトルと変換部2から供給された劣化音声の位相を合わせて逆変換を行い、強調音声信号サンプルとして、出力端子4に伝達する。パワースペクトルの代わりに、その平方根に相当する振幅値を用いることもできる。
【0020】
図2は、変換部2の構成例を示すブロック図である。変換部2はフレーム分割部21、窓がけ処理部22、及びフーリエ変換部23から構成されている。劣化音声信号サンプルは、フレーム分割部21に供給され、K/2サンプル毎のフレームに分割される。ここに、Kは偶数とする。フレームに分割された劣化音声信号サンプルは、窓がけ処理部22に供給され、窓関数w(t)との乗算が行なわれる。第nフレームの入力信号y
n(t) (t=0, 1, ..., K/2-1) に対するw(t)で窓がけされた信号y
n(t)バーは、次式で与えられる。
【0021】
【数1】
また、連続する2フレームの一部を重ね合わせ(オーバラップ)して窓がけすることも広く行なわれている。オーバラップ長としてフレーム長の50%を仮定すれば、t=0, 1, ..., K/2-1 に対して、
【0022】
【数2】
で得られるy
n(t)バー(t=0, 1, ..., K-1)が、窓がけ処理部22の出力となる。実数信号に対しては、左右対称窓関数が用いられる。また、窓関数は、抑圧係数を1に設定したときの入力信号と出力信号が計算誤差を除いて一致するように設計される。これは、w(t)+w(t+K/2)=1 となることを意味する。
【0023】
以後、連続する2フレームの50%をオーバラップして窓がけする場合を例として説明を続ける。w(t)としては、例えば次式に示すハニング窓を用いることができる。
【0024】
【数3】
このほかにも、ハミング窓、ケイザー窓、ブラックマン窓など、様々な窓関数が知られている。窓がけされた出力y
n(t)バーはフーリエ変換部23に供給され、劣化音声スペクトルY
n(k)に変換される。劣化音声スペクトルY
n(k)は位相と振幅に分離され、劣化音声位相スペクトル arg Y
n(k)は逆変換部3に、劣化音声パワースペクトル|Y
n(k)|
2は、乗算器5、雑音推定部300、及び雑音抑圧係数生成部601に供給される。
【0025】
図3は、逆変換部3の構成例を示すブロック図である。逆変換部3は逆フーリエ変換部33、窓がけ処理部32、及びフレーム合成部31から構成されている。逆フーリエ変換部33は、乗算器5から供給された強調音声パワースペクトル|X
n(k)|
2バーを用いて求めた強調音声振幅スペクトル|X
n(k)|バーをと変換部2から供給された劣化音声位相スペクトル arg Y
n(k)を乗算して、強調音声X
n(k)バーを求める。すなわち、
【0026】
【数4】
を実行する。
【0027】
得られた強調音声X
n(k)バーに逆フーリエ変換を施し、1フレームがKサンプルから構成される時間領域サンプル値系列x
n(t)バー (t=0, 1, ..., K-1)として、窓がけ処理部32に供給し、窓関数w(t)との乗算を行う。第nフレームの入力信号x
n(t) (t=0, 1, ..., K/2-1) に対するw(t)で窓がけされた信号x
n(t)バーは、次式で与えられる。
【0028】
【数5】
また、連続する2フレームの一部を重ね合わせ(オーバラップ)して窓がけすることも広く行なわれている。オーバラップ長としてフレーム長の50%を仮定すれば、t=0, 1, ..., K/2-1 に対して、
【0029】
【数6】
で得られるy
n(t)バー (t=0, 1, ..., K-1)が、窓がけ処理部32の出力となり、フレーム合成部31に伝達される。フレーム合成部31は、x
n(t)バーの隣接する2フレームからK/2サンプルずつを取り出して重ね合わせ、
【0030】
【数7】
によって、 強調音声x
n(t)ハットを得る。 得られた強調音声x
n(t)ハット (t=0, 1, ..., K-1)が、フレーム合成部31の出力として、出力端子4に伝達される。
図2と
図3において、変換部と逆変換部で適用する変換をフーリエ変換として説明したが、フーリエ変換に代えて、コサイン変換、アダマール変換、ハール変換、ウェーブレット変換など、他の変換も用いることができることは広く知られている。さらに、変換部2と逆変換部3を対を成すフィルタバンクで構成することもできる。これは、フィルタバンクによっても入力信号の周波数分析が可能なためである。フィルタバンクを利用すると、周波数分解能は一般的に劣化するが、時間分解のが高くなることが知られており、全体処理の遅延時間を短縮した応用により適している。
【0031】
図4は、
図1に含まれる衝撃音検出部8の構成例を示すブロック図である。衝撃音検出部8は、変化量計算部81と確率計算部82から構成される。衝撃音検出部8に供給された劣化音声パワースペクトルは、変化量計算部81に伝達される。変化量計算部81は、衝撃音の存在による劣化音声パワースペクトルの急増を検出する。急増の検出は、劣化音声パワースペクトルの変化量を計算し、この変化量を予め定められた閾値と比較することによって行う。変化量としては、各周波数成分における現在のフレームと過去のフレームのパワースペクトル差分を用いることができる。この差分は、直前フレームの値との差分でもよいし、複数フレーム前の値との差分でもよい。また、複数フレーム前の複数の値から求めた最小値と最大値の差分を用いることもできる。このようにして得られたパワースペクトルの差分を、確率計算部82へ伝達する。
【0032】
なお、これらの演算に先立って、劣化音声パワースペクトルを周波数方向に平均することもできる。各周波数成分に対して、高低両隣の周波数成分を25%、当該周波数成分を50%用いて新たな当該周波数成分を計算することが一例である。周波数軸に沿った不適切なパワースペクトルの分散を低減し、時間軸方向の変化を強調する効果がある。また、各周波数を個別に処理する代わりに、適切に分割された周波数帯域の劣化音声パワースペクトルを用いることができる。変化量を計算する対象数が減少し、演算量の削減に貢献する。
【0033】
確率計算部82は、変化量計算部81から供給された劣化音声パワースペクトル変化分に基づいて、衝撃音が存在する確率を計算する。最も一般的には、前記変化分が予め定められた閾値を超えたときに1を、閾値に満たないときは変化分と閾値の比を確率とすることができる。確率を、前記変化分と閾値の任意の関数とすることもできるし、確率を量子化して出力とすることもできる。このような量子化の特例が二値量子化であり、出力は衝撃音が存在するか否かの1と0となる。このようにして求められた確率が、確率計算部82の出力、すなわち衝撃音検出部8の出力となる。なお、衝撃音の検出は全ての周波数成分を対象にせず、一部の周波数成分だけを用いてもよい。例えば、音声のスペクトルパワーは低域で強いので、音声が急に始まるときには、衝撃音との区別が困難である。このような場合、高域周波数たけで衝撃音検出を行うことによって、音声による誤検出を避けることができる。
【0034】
図5は、
図1に含まれる衝撃音検出部8の第2の構成例を示すブロック図である。第1の構成例を示す
図4と比較すると、確率計算部82が確率計算部83に置き換えられ、新たに平坦度計算部84が加えられている。衝撃音検出部8に供給される劣化音声は、変化量計算部81と同時に平坦度計算部84にも供給される。平坦度計算部84は、同一フレームにおける各周波数成分のばらつきを計算し、平坦度として確率計算部83に供給する。これは、衝撃音スペクトルが広い周波数帯域に広がって存在するという事実を利用している。衝撃音は短時間で急激にその振幅が増加するので、必然的に高周波成分が相対的に多い。従って、定常性の高い信号と比較して、周波数パワースペクトルは平坦になる。平坦度の例として、劣化音声パワースペクトルの最大値と最小値の差があげられる。最大値と最小値の差計算は、特定の周波数範囲に限定して行うこともできる。特に、音声は低域パワースペクトルが強いために、全帯域で最大値と最小値を求めると誤検出が増える。最大値と最小値の差計算を音声スペクトルが強い周波数帯域を除外して行うことで、衝撃音検出精度を高くすることが可能となる。さらに、複数の異なった帯域で計算した平坦度を組み合わせることもできる。一例として、高域と中低域のパワースペクトル比に基づく平坦度と中低域の相互パワースペクトル比を組み合わせることができる。前者は音声で大きく、それ以外は小さい。後者は、摩擦音で小さく、それ以外は大きい。これらを組み合わせて用いることで、誤検出しやすい衝撃音と摩擦音による音声始端を識別することが可能となる。なお、平坦度計算においても、既に説明した変化量計算と同様に、周波数方向の平均化や複数の周波数帯域へのグルーピングを適用することができる。
【0035】
劣化音声パワースペクトルの変化量と平坦度を受けた確率計算部83は、これらを用いて衝撃音存在確率を計算する。確率計算において、特定の周波数帯域における変化量と特定の帯域における平坦度を組み合わせて用いることもできる。これらの周波数帯域は完全に一致してもよいし、一部だけ一致しても良い。また、完全に異なる帯域のパワースペクトルを用いることもできる。一般的には、変化量が大きいときに高確率とするが、平坦度が極めて高いときには確率を低く修正する。これは、変化量が大きいときに摩擦音声が誤検出されやすいという事実に基づいている。さらに、既に説明した複数の平坦度を用いた衝撃音と摩擦音声始端との識別を組み合わせて、確率を計算することもできる。これ以外の動作は、既に確率計算部82で説明したとおりである。計算された衝撃音存在確率は、確率計算部83の、すなわち衝撃音検出部8の出力となる。
【0036】
図6は、本発明の第2の実施の形態を示すブロック図である。
図6と最良の実施の形態である
図1との相違点は、衝撃音検出部8が衝撃音検出部10に代わり、音声検出部9が追加されていることである。音声検出部9は、劣化音声パワースペクトルを受けて、音声存在確率を出力する。音声存在確率は、周波数軸に沿ったパワースペクトル強度の分散に基づいて定めることができる。この分散が小さいときには、音声存在確率を小さく、大きいときには大きく設定する。分散が予め定められた閾値より大きいときには確率を1に、それ以下のときには分散と閾値の比を確率とすることができる。また、低域と高域のパワースペクトルの比を用いて、前記確率を計算することもできる。この比が予め定められた閾値より大きいときには確率を1に、それ以下のときにはこの比と閾値の比を確率とすることができる。さらに、パワースペクトルの増加率を用いて、前記確率を計算することもできる。例えば、音声は低域でパワースペクトルが強い。従って、低域のパワースペクトルの増加率を評価し、予め定められた閾値より高いときにる。すなわち、音声尤度に基づいて所望信号を回復する代わりに、衝撃音推定部11で衝撃音のパワースペクトルを推定し、減算器12で推定値を減算することによって、衝撃音を抑圧した所望信号を得る。衝撃音のパワースペクトルを推定するために、衝撃音検出部10から衝撃音検出結果が、音声検出部9から音声検出結果が、変換部2から劣化音声パワースペクトルが、衝撃音推定部11に供給されている。
【0037】
図10は、
図9に含まれる衝撃音推定部11の構成例を示すブロック図である。衝撃音推定部11は、非衝撃雑音学習部111、衝撃音学習部112、メモリ113、非音声用衝撃音計算部114、音声用衝撃音計算部115、混合部116から構成される。非衝撃雑音学習部111には、衝撃音検出結果、音声検出結果、劣化音声パワースペクトルが供給されている。非衝撃雑音学習部111は、音声検出結果と衝撃音検出結果が共に低い確率を示すときに、劣化音声スペクトルを用いて、非衝撃雑音を学習する。最も簡単な例は、前記条件確率を1に、それ以下のときには増加率と閾値の比を確率とすることができる。これらの指標を適切に組み合わせて、その結果を音声存在確率とすることもできる。また、得られた確率を量子化して、出力とすることもできる。0と1の二値に確率を量子化する方法が、最も簡単な量子化例である。求められた音声存在確率は、衝撃音検出部10に伝達される。
【0038】
図7は、
図6に含まれる衝撃音検出部10の構成例を示すブロック図である。
図4を用いて説明した衝撃音検出部8との違いは、確率計算部82が確率計算部102に置換されていることである。例えば、変化量に基づく確率計算に際して、用いるパラメータの値を適切に変化させることができる。音声は、衝撃音が存在しない場合にも急激にパワースペクトルが増大する場合があり、これを衝撃音と誤検出しないために、音声検出結果が大きな音声らしさを示すときに検出閾値を大きくするとよい。また、同様に音声らしさが大きいときに、音声のパワースペクトルが大きい周波数帯域を確率計算から除外したり、その確率計算への貢献を弱めたりすることも可能である。その他の動作は、既に衝撃音検出部8を用いて説明した通りである。
【0039】
図8は、
図6に含まれる衝撃音検出部10の第2の構成例を示すブロック図である。最良の実施の形態における衝撃音検出部8の第2の構成例を示す
図5と比較すると、確率計算部83が確率計算部103に置換されている点が異なる。
図5における確率計算部83の動作と
図8における確率計算部103の動作の違いは、既に
図7を用いて説明した確率計算部82と確率計算部102の違いと同じであるので、詳細を省略する。
【0040】
図9は、本発明の第3の実施の形態を示すブロック図である。
図9と第2の実施の形態である
図6との相違点は、衝撃音抑圧部19が衝撃音推定部11と減算器12に置き換えられている点であが満たされた場合に、劣化音声スペクトルの平均値を更新し、得られた最新の平均値を学習した非衝撃雑音とすることである。平均を求めるに際しては、常に最新の一定サンプルを平均する移動平均や、それまでの平均値と最新の瞬時値をある割合で混合する漏れ積分などを利用することができる。学習した非衝撃雑音は、擬似非衝撃雑音として、衝撃音学習部112と非音声用衝撃音推定部114に伝達される。
【0041】
衝撃音学習部112には、衝撃音検出結果、音声検出結果、劣化音声パワースペクトル、擬似非衝撃雑音が供給されている。衝撃音の学習は、音声検出結果が低い確率を、衝撃音検出結果が高い確率を示すときに行う。学習方法は非衝撃雑音の場合と基本的に同じであるが、劣化音声パワースペクトルの代わりに、劣化音声パワースペクトルと供給された擬似非衝撃雑音の差を用いる点が異なる。差を用いることによって、学習した衝撃音に対する非衝撃雑音の影響を避けることができる。学習した衝撃雑音は、擬似衝撃雑音として、音声用衝撃音推定部115に伝達される。
【0042】
非衝撃雑音と衝撃音の学習は、各周波数成分に対して行ってもよいし、複数の周波数成分をまとめたグループに対して行っても良い。周波数成分グループに対して学習を行うことによって、擬似非衝撃雑音のパワースペクトルにおける周波数分解能は低くなるが、必要な演算量を削減することができる。学習に先立って、隣接する複数の周波数成分に対して平均化を適用することも可能である。また、学習を制御する確率に応じて、学習に用いるパワースペクトルなどの大きさを調整して用いることも可能である。その例としては、音声検出結果を示す確率が十分に低くないときに、劣化音声パワースペクトルの一部を用いて平均演算を行うことなどがあげられる。さらに、学習に用いるパワースペクトルなどを正規化することも可能である。例えば、現在の劣化音声パワースペクトルを前記周波数成分グループや全帯域における平均パワースペクトルで正規化することができる。正規化を適用することによって、入力信号パワーの影響を受けにくい、衝撃音の学習が可能となる。
【0043】
非音声用衝撃音推定部114は、擬似非衝撃雑音と劣化音声パワースペクトルを受けて、音声が存在せず、衝撃音だけが存在する状態に対する擬似衝撃音を生成する。音声が存在せず、衝撃音だけが存在する状態では、音声も衝撃音も存在しない状態の劣化音声で現在の劣化音声を置き換えて出力する。この置き換えを後述する減算で実現するために、非音声用衝撃音推定部114は、現在の劣化音声と非衝撃雑音の差を求め、非音声用擬似衝撃音として混合部116に伝達する。非衝撃雑音学習部111と衝撃音学習部112で前記の正規化を適用している場合には、非音声用衝撃音推定部114はそれに対応する逆正規化を行って非衝撃雑音を求め、劣化音声と逆正規化された非衝撃雑音との差を非音声用擬似衝撃音として混合部116に伝達する。
【0044】
音声用衝撃音推定部115は、擬似衝撃音と劣化音声パワースペクトルを受けて、音声と衝撃音が共に存在する状態に対する擬似衝撃音を生成する。所望する音声のパワースペクトルに対する歪を低減するために、劣化音声パワースペクトル、衝撃音検出結果、音声検出結果などを分析して、スペクトルの分散、摩擦音の確率、衝撃音抑圧処理の連続などを求める。これらの分析結果に応じて、衝撃音抑圧の抑圧度を調整したり、周波数成分毎に異なる抑圧度を適用したり、様々な補正を行うことができる。音声用衝撃音推定部115は、このような目的を持った補正処理を擬似衝撃音に適用してから、音声用擬似衝撃音として混合部116に伝達する。非衝撃雑音学習部111と衝撃音学習部112で前記の正規化を適用している場合には、音声用衝撃音推定部115は非音声用衝撃音推定部114と同等の逆正規化を適用する。
【0045】
混合部116は、前記非音声用擬似衝撃音と音声用擬似衝撃音に加えて、メモリ113からゼロ信号を受け、衝撃音推定値を出力する。混合部116には、制御のために、さらに衝撃音検出結果と音声検出結果が供給されている。混合部116は、衝撃音と音声の存在確率に応じて、ゼロ、非音声用擬似衝撃音、及び音声用擬似衝撃音を適切に混合し、衝撃音推定値として出力する。衝撃音推定値には様々な混合法が適用できるが、基本的に高い存在確率に対応した成分を多く混合する。また、最も簡単な混合法は、混合部116が選択部として動作するものである。音声と衝撃音の存在確率が共に高い場合には音声用擬似衝撃音を、音声存在確率が低く、衝撃音存在確率が高い場合には非音声用擬似衝撃音を、音声存在確率と衝撃音存在確率が共に低い場合にはゼロを選択して、衝撃音推定値として出力する。
【0046】
図10において、衝撃音の存在確率を0、1、2の3値で、音声の存在確率を0と1の2値で表したときの、混合部116の出力N
2(t)ハットの一例は、次の通りである。
【0047】
【数8】
ここに、|Y
n(k)|
2は劣化音声パワースペクトル、U
n2(k)バーは正規化された非衝撃音推定値、T
n(k)バーは正規化された衝撃音推定値、aは衝撃音抑圧信号のパワーを直前フレームと等しくするための補正係数、rは衝撃音存在確率が中程度のときに用いる0≦r≦1の補正係数である。
【0048】
図11は、
図9に含まれる衝撃音推定部11の第2の構成例を示すブロック図である。第1の構成例を示す
図10と比較すると、混合部116が混合部117に置換されている点が異なる。混合部117には、混合部116と同じ入力信号に加えて、さらに擬似非衝撃雑音が供給されている。混合部116は、ゼロ、非音声用擬似衝撃音、及び音声用擬似衝撃音を混合するが、混合部117は擬似非衝撃雑音も混合して、衝撃音推定値として出力する。擬似非衝撃音の混合は、様々な情報によって制御することができる。一例として、衝撃音と音声の存在確率が共に低い場合に、メモリからのゼロ信号の代わりに擬似非衝撃音を用いることができる。このように構成することによって、音声も衝撃音も存在する確率が低い場合に、非衝撃雑音を抑圧することができる。
【0049】
図12は、本発明の第4の実施の形態を示すブロック図である。
図12と第3の実施の形態である
図9との相違点は、平滑化部13が追加されている点である。平滑化部13は、衝撃音を抑圧された信号である減算器12の出力を平滑化する。平滑化部13には、さらに、衝撃音検出部10から衝撃音検出結果が、音声検出部9から音声検出結果が供給されている。これらの情報を用いて、平滑化を行うタイミングを制御することができる。例えば、衝撃音検出結果を表す確率が高いときだけ平滑化を行う、音声検出結果を表す確率が高いときだけ平滑化を避ける、などが可能である。さらに、これらの情報に基づいて、平滑化の時定数を変化させたり、平滑化を適用する周波数帯域を変化させたりすることができる。これらの適応制御によって、より自然な衝撃音抑圧結果を得ることができる。
【0050】
図13は、本発明の第5の実施の形態を示すブロック図である。
図13と第4の実施の形態である
図12との相違点は、乱数生成部14と加算器6が追加されている点である。乱数生成部14は乱数を生成し、加算器6に伝達する。加算器6は変換部2から受けた位相情報に乱数生成部14から受けた乱数を加算し、加算結果を逆変換部3に伝達する。乱数生成部14には、さらに衝撃音検出結果と音声検出結果が供給されている。これらの情報を用いて、乱数を生成するタイミングや乱数の値域を制御することができる。例えば、乱数の生成は衝撃音検出結果を表す確率が高いときだけ、乱数生成を行うことができる。このように動作させることによって、衝撃音抑圧を行ったときだけ位相情報を変化させて、より自然な衝撃音抑圧結果を得ることができる。また、生成する乱数の値域を音声検出結果と衝撃音検出結果で制御することもできる。音声検出結果を表す確率が高いときに乱数の値域を狭くすることにより、音声の歪を小さくすることができる。
【0051】
図14は、本発明の第6の実施の形態を示すブロック図である。
図14と第5の実施の形態である
図13との相違点は、減算器12が抑圧係数計算部15と乗算器16に置換されている点である。抑圧係数計算部15と乗算器16は、減算による衝撃音抑圧に代えて、0から1の値をもつ抑圧係数を乗算することによる衝撃音抑圧を実現する。抑圧係数の計算法として最も広く用いられているものは、抑圧後残留信号の平均二乗誤差を最小化する最小平均二乗誤差(MMSE)法である。最小平均二乗誤差法については、特許文献1などを参照することができる。抑圧係数計算部15は、衝撃音推定部11から衝撃音推定値を、変換部2から劣化音声パワースペクトルを受けて抑圧係数を計算し、乗算器16に供給する。乗算器16には、劣化音声パワースペクトルと抑圧係数が供給されており、乗算結果であるこれらの積を衝撃音抑圧信号として平滑化部13に供給する。
【0052】
図15は、本発明の第7の実施の形態を示すブロック図である。
図15と第6の実施の形態である
図14との相違点は、変換部2の出力である劣化音声パワースペクトルに対して非衝撃雑音を抑圧してから、衝撃音検出部10、音声検出部9、及び減算器12に供給する点である。このために、非衝撃雑音抑圧部7が追加されている。
【0053】
抑圧係数計算部15と乗算器16は、減算による衝撃音抑圧に代えて、0から1の値をもつ抑圧係数を乗算することによる衝撃音抑圧を実現する。抑圧係数の計算法として最も広く用いられているものは、抑圧後残留信号の平均二乗誤差を最小化する最小平均二乗誤差(MMSE)法である。最小平均二乗誤差法については、特許文献1などを参照することができる。抑圧係数計算部15は、衝撃音推定部11から衝撃音推定値を、変換部2から劣化音声パワースペクトルを受けて抑圧係数を計算し、乗算器16に供給する。乗算器16には、劣化音声パワースペクトルと抑圧係数が供給されており、乗算結果であるこれらの積を衝撃音抑圧信号として平滑化部13に供給する。
【0054】
図16は、
図15に含まれる非衝撃雑音抑圧部7の構成例を示すブロック図である。
図15の変換部2において複数の周波数成分に分割された劣化音声パワースペクトルは多重化されて、雑音推定部300、雑音抑圧係数生成部600及び乗算器5へ供給される。雑音推定部300は、劣化音声パワースペクトルを用いて、その中に含まれる雑音のパワースペクトルを複数の周波数成分それぞれに対して推定し雑音抑圧係数生成部600に伝達する。雑音推定の方式の一例としては、過去の信号対雑音比で劣化音声を重み付けて雑音成分とする方式があり、その詳細は特許文献1に記載されている。推定された雑音パワースペクトルの数は、周波数成分の数と等しい。雑音抑圧係数生成部600は、供給された劣化音声パワースペクトルと推定雑音パワースペクトルを用いて、劣化音声に乗算することによって雑音が抑圧された強調音声を求めるための抑圧係数を生成し、これを出力する。抑圧係数は周波数成分毎に求めるので、雑音抑圧係数生成部600の出力は、周波数成分の数と等しい抑圧係数である。雑音抑圧係数生成の一例としては、強調音声の平均二乗パワーを最小化する最小平均二乗短時間スペクトル振幅法が広く用いられており、その詳細は特許文献1に記載されている。周波数別に生成された抑圧係数は、抑圧係数補正部650に供給される。一方、雑音抑圧係数生成部600では、抑圧係数生成のために先天的SNRを周波数別に推定している。推定先天的SNRは、抑圧係数生成に用いられると同時に、抑圧係数補正部650に供給される。抑圧係数補正部650は、推定先天的SNRと抑圧係数を用いて補正抑圧係数を求め、これを乗算器5に供給すると同時に雑音抑圧係数生成部600に帰還する。乗算器5は、変換部2から供給された劣化音声と雑音抑圧係数生成部600から供給された抑圧係数を、各周波数で乗算し、その積を強調音声のパワースペクトルとして逆変換部3に伝達する。逆変換部3は、乗算器5から供給された強調音声パワースペクトルと変換部2から供給された劣化音声の位相を合わせて逆変換を行い、強調音声信号サンプルとして、出力端子4に供給する。これまでの処理ではパワースペクトルを用いた例を説明したが、代わりにその平方根に相当する振幅値を用いることができることは、広く知られている。
【0055】
図17は、
図16に含まれる雑音推定部300の構成を示すブロック図である。雑音推定部300は、推定雑音計算部310、重み付き劣化音声計算部320、及びカウンタ330から構成される。雑音推定部300に供給された劣化音声パワースペクトルは、推定雑音計算部310、及び重み付き劣化音声計算部320に伝達される。重み付き劣化音声計算部320は、供給された劣化音声パワースペクトルと推定雑音パワースペクトルを用いて重み付き劣化音声パワースペクトルを計算し、推定雑音計算部310に伝達する。推定雑音計算部310は、劣化音声パワースペクトル、重み付き劣化音声パワースペクトル、及びカウンタ330から供給されるカウント値を用いて雑音のパワースペクトルを推定し、推定雑音パワースペクトルとして出力すると同時に、重み付き劣化音声計算部320に帰還する。
【0056】
図18は、
図17に含まれる推定雑音計算部310の構成を示すブロック図である。更新判定部400、レジスタ長記憶部410、推定雑音記憶部420、スイッチ430、シフトレジスタ440、加算器450、最小値選択部460、除算部470、カウンタ480を有する。スイッチ430には、重み付き劣化音声パワースペクトルが供給されている。スイッチ430が回路を閉じたときに、重み付き劣化音声パワースペクトルは、シフトレジスタ440に伝達される。シフトレジスタ440は、更新判定部400から供給される制御信号に応じて、内部レジスタの記憶値を隣接レジスタにシフトする。シフトレジスタ長は、後述するレジスタ長記憶部410に記憶されている値に等しい。シフトレジスタ440の全レジスタ出力は、加算器450に供給される。加算器450は、供給された全レジスタ出力を加算して、加算結果を除算部470に伝達する。
【0057】
一方、更新判定部400には、カウント値、周波数別劣化音声パワースペクトル及び周波数別推定雑音パワースペクトルが供給されている。更新判定部400は、カウント値が予め設定された値に到達するまでは常に``1''を、到達した後は入力された劣化音声信号が雑音であると判定されたときに``1''を、それ以外のときに``0''を出力し、カウンタ480、スイッチ430、及びシフトレジスタ440に伝達する。スイッチ430は、更新判定部から供給された信号が``1''のときに回路を閉じ、``0''のときに開く。カウンタ480は、更新判定部から供給された信号が``1''のときにカウント値を増加し、``0''のときには変更しない。シフトレジスタ440は、更新判定部から供給された信号が``1''のときにスイッチ430から供給される信号サンプルを1サンプル取り込むと同時に、内部レジスタの記憶値を隣接レジスタにシフトする。最小値選択部460には、カウンタ480の出力とレジスタ長記憶部410の出力が供給されている。
【0058】
最小値選択部460は、供給されたカウント値とレジスタ長のうち、小さい方を選択して、除算部470に伝達する。除算部470は、加算器450から供給された劣化音声パワースペクトルの加算値をカウント値又はレジスタ長の小さい方の値で除算し、商を周波数別推定雑音パワースペクトルλ
n(k)として出力する。B
n(k) (n=0, 1, ..., N-1)をシフトレジスタ440に保存されている劣化音声パワースペクトルのサンプル値とすると、λ
n(k)は、
【0059】
【数9】
で与えられる。ただし、Nはカウント値とレジスタ長のうち、小さい方の値である。カウント値はゼロから始まって単調に増加するので、最初はカウント値で除算が行なわれ、後にはレジスタ長で除算が行なわれる。レジスタ長で除算が行なわれることは、シフトレジスタに格納された値の平均値を求めることになる。最初は、シフトレジスタ440に十分多くの値が記憶されていないために、実際に値が記憶されているレジスタの数で除算する。実際に値が記憶されているレジスタの数は、カウント値がレジスタ長より小さいときはカウント値に等しく、カウント値がレジスタ長より大きくなると、レジスタ長と等しくなる。
【0060】
図19は、
図18に含まれる更新判定部400の構成を示すブロック図である。更新判定部400は、論理和計算部4001、比較部4004、4002、閾値記憶部4005、4003、閾値計算部4006を有する。
図17のカウンタ330から供給されるカウント値は、比較部4002に伝達される。閾値記憶部4003の出力である閾値も、比較部4002に伝達される。比較部4002は、供給されたカウント値と閾値を比較し、カウント値が閾値より小さいときに``1''を、カウント値が閾値より大きいときに``0''を、論理和計算部4001に伝達する。一方、閾値計算部 4006 は、
図18の推定雑音記憶部 420 から供給される推定雑音パワースペクトルに応じた値を計算し、閾値として閾値記憶部 4005 に出力する。最も簡単な閾値の計算方法は、推定雑音パワースペクトルの定数倍である。その他に、高次多項式や非線形関数を用いて閾値を計算することも可能である。閾値記憶部 4005 は、閾値計算部 4006 から出力された閾値を記憶し、1フレーム前に記憶された閾値を比較部 4004 へ出力する。比較部 4004 は、閾値記憶部 4005 から供給される閾値と
図1の変換部2から供給される劣化音声パワースペクトルを比較し、劣化音声パワースペクトルが閾値よりも小さければ``1''を、大きければ``0''を論理和計算部 4001に出力する。すなわち、推定雑音パワースペクトルの大きさをもとに、劣化音声信号が雑音であるか否かを判別している。論理和計算部 4001 は、比較部 4202 の出力値と比較部 4204 の出力値との論理和を計算し、計算結果を
図18のスイッチ430、シフトレジスタ440及びカウンタ480に出力する。このように、初期状態や無音区間だけでなく、有音区間でも劣化音声パワーが小さい場合には、更新判定部 400 は``1''を出力する。すなわち、推定雑音の更新が行われる。閾値の計算は各周波数で行われるため、各周波数で推定雑音の更新を行うことができる。
【0061】
図20は、重み付き劣化音声計算部320の構成を示すブロック図である。重み付き劣化音声計算部320は、推定雑音記憶部3201、周波数別SNR計算部3202、非線形処理部3204、及び乗算器3203を有する。推定雑音記憶部3201は、
図17の推定雑音計算部310から供給される推定雑音パワースペクトルを記憶し、1フレーム前に記憶された推定雑音パワースペクトルを周波数別SNR計算部3202へ出力する。周波数別SNR計算部3202は、推定雑音記憶部3201から供給される推定雑音パワースペクトルと
図1の変換部2から供給される劣化音声パワースペクトルを用いてSNRを周波数帯域毎に求め、非線形処理部3204に出力する。具体的には、次式に従って、供給された劣化音声パワースペクトルを推定雑音パワースペクトルで除算して周波数別SNRγ
n(k)ハットを求める。
【0062】
【数10】
ここに、λ
n-1(k)は1フレーム前に記憶された推定雑音パワースペクトルである。
【0063】
非線形処理部3204は、周波数別SNR計算部 3202 から供給されるSNRを用いて重み係数ベクトルを計算し、重み係数ベクトルを乗算器3203に出力する。乗算器3203は、
図1の変換部2から供給される劣化音声パワースペクトルと、非線形処理部3204から供給される重み係数ベクトルの積を周波数帯域毎に計算し、重み付き劣化音声パワースペクトルを
図17の推定雑音計算部 310 に出力する。
【0064】
非線形処理部3204は、多重化された入力値それぞれに応じた実数値を出力する、非線形関数を有する。
図8に、非線形関数の例を示す。f
1 を入力値としたとき、
図21に示される非線形関数の出力値 f
2 は、
【0065】
【数11】
で与えられる。但し、a と b は任意の実数である。
【0066】
非線形処理部3204は、周波数別SNR計算部3202から供給される周波数帯域別SNRを、非線形関数によって処理して重み係数を求め、乗算器3203に伝達する。すなわち、非線形処理部3204は SNR に応じた1 から 0 までの重み係数を出力する。SNRが小さい時は 1 を、大きい時は 0 を出力する。
【0067】
図20の乗算器3203で劣化音声パワースペクトルと乗算される重み係数は、 SNR に応じた値になっており、SNR が大きい程、すなわち劣化音声に含まれる音声成分が大きい程、重み係数の値は小さくなる。推定雑音の更新には一般に劣化音声パワースペクトルが用いられるが、推定雑音の更新に用いる劣化音声パワースペクトルに対して、SNR に応じた重みづけを行うことで、劣化音声パワースペクトルに含まれる音声成分の影響を小さくすることができ、より精度の高い雑音推定を行うことができる。なお、重み係数の計算に非線形関数を用いた例を示したが、非線形関数以外にも線形関数や高次多項式など、他の形で表されるSNRの関数を用いる事も可能である。
【0068】
図22は、
図16に含まれる雑音抑圧係数生成部600の構成を示すブロック図である。雑音抑圧係数生成部600は、後天的SNR計算部610、推定先天的SNR計算部620、雑音抑圧係数計算部630、音声非存在確率記憶部640を有する。後天的SNR計算部610は、入力された劣化音声パワースペクトルと推定雑音パワースペクトルを用いて周波数別に後天的SNRを計算し、推定先天的SNR計算部620と雑音抑圧係数計算部630に供給する。推定先天的SNR計算部620は、入力された後天的SNR、及び抑圧係数補正部650から供給された補正抑圧係数を用いて先天的SNRを推定し、推定先天的SNRとして、雑音抑圧係数計算部630に伝達すると同時に出力する。雑音抑圧係数計算部630は、入力として供給された後天的SNR、推定先天的SNR及び音声非存在確率記憶部640から供給される音声非存在確率を用いて雑音抑圧係数を生成し、これを出力する。
【0069】
図23は、
図22に含まれる推定先天的SNR計算部620の構成を示すブロック図である。推定先天的SNR計算部620は、値域限定処理部6201、後天的SNR記憶部6202、抑圧係数記憶部6203、乗算器6204、6205、重み記憶部6206、重み付き加算部6207、加算器6208を有する。
図22の後天的SNR計算部610から供給される後天的SNRγ
n(k) (k=0, 1, ..., M-1)は、後天的SNR記憶部6202と加算器6208に伝達される。後天的SNR記憶部6205は、第nフレームにおける後天的SNRγ
n(k)を記憶すると共に、第n-1フレームにおける後天的SNRγ
n-1(k)を乗算器6205に伝達する。
図16の抑圧係数補正部650から供給される補正抑圧係数G
n(k)バー (k=0, 1, ..., M-1)は、抑圧係数記憶部6203に伝達される。抑圧係数記憶部6203は、第nフレームにおける補正抑圧係数G
n(k)バーを記憶すると共に、第n-1フレームにおける補正抑圧係数G
n-1(k)バーを乗算器6204に伝達する。乗算器6204は、供給されたG
n(k)バーを2乗してG
2n-1(k)バーを求め、乗算器6205に伝達する。乗算器6205は、G
2n-1(k)バーとγ
n-1(k)をk=0, 1, ..., M-1に対して乗算してG
2n-1(k)バーγ
n-1 (k)を求め、結果を重み付き加算部6207に過去の推定SNR 922として伝達する。
【0070】
加算器6208の他方の端子には−1が供給されており、加算結果γ
n(k)-1が値域限定処理部6201に伝達される。値域限定処理部6201は、加算器6208から供給された加算結果γ
n(k)-1に値域限定演算子P[・]による演算を施し、結果であるP[γ
n(k)-1]を重み付き加算部6207に瞬時推定SNR 921として伝達する。ただし、P[x]は次式で定められる。
【0071】
【数12】
重み付き加算部6207には、また、重み記憶部6206から重み923が供給されている。重み付き加算部6207は、これらの供給された瞬時推定SNR 921、過去の推定SNR 922、重み923を用いて推定先天的SNR 924を求める。重み923をαとし、ξ
n(k)ハットを推定先天的SNR とすると、ξ
n(k)ハットは、次式によって計算される。
【0072】
【数13】
ここに、G
2-1(k)γ
-1(k)バー=1とする。
【0073】
図24は、
図23に含まれる重み付き加算部6207の構成を示すブロック図である。重み付き加算部6207は、乗算器6901、6903、定数乗算器6905、加算器6902、6904を有する。
図23の値域限定処理部6201から周波数帯域別瞬時推定SNRが、
図23の乗算器6205から過去の周波数帯域別SNRが、
図23の重み記憶部6206から重みが、それぞれ入力として供給される。値αを有する重みは、定数乗算器6905と乗算器6903に伝達される。定数乗算器6905は入力信号を−1倍して得られた−αを、加算器6904に伝達する。加算器6904のもう一方の入力としては1が供給されており、加算器6904の出力は両者の和である1−αとなる。1−αは乗算器6901に供給されて、もう一方の入力である周波数帯域別瞬時推定SNR P[γ
n(k)−1] と乗算され、積である(1−α)P[γ
n(k)−1]が加算器6902に伝達される。一方、乗算器6903では、重みとして供給されたαと過去の推定SNRが乗算され、積であるαG
2n-1(k)バーγ
n-1(k)が加算器6902に伝達される。加算器6902は、(1−α)P[γ
n(k)−1]とαG
2n-1(k)バーγ
n-1(k)の和を、周波数帯域別推定先天的SNRとして、出力する。
【0074】
図25は、
図22に含まれる雑音抑圧係数生成部630を示すブロック図である。雑音抑圧係数生成部630 は、MMSE STSA ゲイン関数値計算部 6301、一般化尤度比計算部 6302、及び抑圧係数計算部 6303 を有する。以下、非特許文献3(非特許文献3: 1984 年12月、アイ・イー・イー・イー・トランザクションズ・オン・アクースティクス・スピーチ・アンド・シグナル・プロセシング、第32巻、第6号(IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING,VOL.32, NO.6, PP.1109-1121, DEC, 1984)、1109〜1121 ページ)に記載されている計算式をもとに、抑圧係数の計算方法を説明する。
【0075】
フレーム番号をn、周波数番号をkとし、γ
n(k) を
図22の後天的SNR 計算部610から供給される周波数別後天的SNR、ξ
n(k)ハットを
図22の推定先天的SNR計算部620から供給される周波数別推定先天的SNR、q を
図22の音声非存在確率記憶部640から供給される音声非存在確率とする。
【0076】
また、η
n(k) = ξ
n(k)ハット/ (1-q)、 v
n(k) = (η
n(k)γ
n(k))/(1+η
n(k)) とする。MMSE STSA ゲイン関数値計算部 6301 は、
図22の後天的SNR計算部610 から供給される後天的SNR γ
n(k)、
図22の推定先天的SNR計算部620から供給される推定先天的SNR ξ
n(k)ハット及び
図22の音声非存在確率記憶部640から供給される音声非存在確率 qをもとに、周波数帯域毎にMMSE STSAゲイン関数値を計算し、抑圧係数計算部 6303 に出力する。周波数帯域毎のMMSE STSAゲイン関数値 G
n(k) は、
【0077】
【数14】
で与えられる。ここに、I
0(z) は0次変形ベッセル関数、I
1(z) は1次変形ベッセル関数 である。変形ベッセル関数については、非特許文献4(非特許文献4: 1985年、数学辞典、岩波書店、374.Gページ)に記載されている。
【0078】
一般化尤度比計算部 6302 は、
図22の後天的SNR計算部610から供給される後天的SNR γ
n(k)、
図22の推定先天的SNR計算部620から供給される推定先天的SNR ξ
n(k)ハット及び
図22の音声非存在確率記憶部 640から供給される音声非存在確率qをもとに、周波数帯域毎に一般化尤度比を計算し、抑圧係数計算部 6303 に伝達する。周波数帯域毎の一般化尤度比Λ
n(k) は、
【0079】
【数15】
で与えられる。
【0080】
抑圧係数計算部 6303 は、MMSE STSA ゲイン関数値計算部 6301 から供給される MMSE STSA ゲイン関数値G
n(k)と一般化尤度比計算部 6302 から供給される一般化尤度比Λ
n(k)から周波数帯域毎に抑圧係数を計算し、
図16の抑圧係数補正部650へ出力する。周波数帯域毎の抑圧係数G
n(k)バーは、
【0081】
【数16】
で与えられる。周波数帯域別にSNRを計算する代わりに、複数の周波数帯域から構成される広い帯域に共通なSNRを求めて、これを用いることも可能である。
【0082】
図26は、
図16に含まれる抑圧係数補正部650の構成例を示すブロック図である。抑圧係数補正部650は、最大値選択部 6501、抑圧係数下限値記憶部 6502、閾値記憶部 6503、比較部 6504、スイッチ6505、修正値記憶部 6506 及び乗算器 6507 を有する。比較部6504は、閾値記憶部 6503 から供給される閾値と、
図22の推定先天的SNR計算部620から供給される推定先天的 SNR を比較し、推定先天的SNRが閾値よりも大きければ``0''を、小さければ``1''をスイッチ 6505 に供給する。スイッチ 6505 は、
図22の雑音抑圧係数計算部630から供給される抑圧係数を、比較部 6504 の出力値が``1''のときに乗算器 6507 に出力し、``0''のときに最大値選択部6501に出力する。すなわち、推定先天的SNRが閾値よりも小さいときに、抑圧係数の補正が行われる。乗算器 6507 は、スイッチ 6505 の出力値と修正値記憶部 6506 の出力値との積を計算し、最大値選択部6501に伝達する。
【0083】
一方、抑圧係数下限値記憶部 6502 は、記憶している抑圧係数の下限値を、最大値選択部 6501 に供給する。最大値選択部 6501 は、
図22の雑音抑圧係数計算部630から供給される抑圧係数、又は乗算器 6507 で計算された積と、抑圧係数下限値記憶部 6502 から供給される抑圧係数下限値とを比較し、大きい方の値を出力する。すなわち、抑圧係数は抑圧係数下限値記憶部 6502 が記憶する下限値よりも必ず大きい値になる。
【0084】
図27は、
図15に含まれる非衝撃雑音抑圧部7の第2の構成例を示すブロック図である。
図27と第1の構成例である
図16との相違点は、雑音抑圧係数生成部600と抑圧係数補正部650が抑圧係数生成部601と抑圧係数補正部651に置換されたこと、及び乗算器660、音声存在確率670、並びに仮出力SNR計算部680が追加されたことである。
【0085】
入力端子1に供給された劣化音声は、変換部2においてフーリエ変換などの変換を施して複数の周波数成分に分割され、雑音推定部300、雑音抑圧係数生成部601、乗算器660及び乗算器5へ供給される。位相は、逆変換部3に伝達される。雑音推定部300は、劣化音声パワースペクトルの中に含まれる雑音のパワースペクトルを複数の周波数成分それぞれに対して推定し、雑音抑圧係数生成部601、音声存在確率計算部670、仮出力SNR計算部680に伝達する。雑音抑圧係数生成部601は、劣化音声パワースペクトルと推定雑音パワースペクトルを用いて抑圧係数を生成し、乗算器660と抑圧係数補正部651に供給する。乗算器660は、劣化音声パワースペクトルと抑圧係数の積を仮出力として求め、音声存在確率計算部670と仮出力SNR計算部680に供給する。
【0086】
音声存在確率計算部670は、仮出力と推定雑音から音声存在確率V
nを求めて、仮出力SNR計算部680と抑圧係数補正部651に供給する。音声存在確率の一例として、仮出力信号と推定雑音の比を用いることができる。この比が大きいときには音声存在確率が高く、小さいときには音声存在確率が低い。仮出力SNR計算部680は、音声存在確率V
nを用いて、仮出力と推定雑音から仮出力SNRξ
nL(k)を求め、抑圧係数補正部651に供給する。仮出力SNRの一例として、仮出力の長時間平均と推定雑音パワースペクトルによる長時間出力SNRを用いることができる。仮出力の長時間平均は、音声存在確率計算部670から供給された音声存在確率V
nの大きさに応じて更新する。抑圧係数補正部651は、仮出力SNRξ
nL(k)、音声存在確率V
nを用いて抑圧係数G
n(k)バーを補正し、補正抑圧係数G
n(k)ハットとして乗算器5に供給すると同時に雑音抑圧係数生成部601に帰還する。乗算器5は、変換部2から供給された劣化音声と抑圧係数補正部651から供給された補正抑圧係数を各周波数で乗算し、その積を強調音声のパワースペクトルとして逆変換部3に伝達する。逆変換部3は、乗算器5から供給された強調音声パワースペクトルと変換部2から供給された劣化音声の位相を合わせて逆変換を行い、強調音声信号サンプルとして、出力端子4に供給する。
【0087】
図28は、
図27に含まれる雑音抑圧係数生成部601の構成を示すブロック図である。
図22に示した雑音抑圧係数生成部600の構成と比較すると、推定先天的SNR計算部620の出力である推定先天的SNRが出力されない点が異なる。すなわち、雑音抑圧係数生成部601の出力は、抑圧係数だけである。
【0088】
図29は、
図27に含まれる抑圧係数補正部651の構成例を示すブロック図である。抑圧係数補正部651は、抑圧係数下限値計算部6512と最大値選択部6511を含む。抑圧係数下限値計算部6512には、仮出力SNRξ
nL(k)と音声存在確率V
nが供給されている。抑圧係数下限値計算部6512は、次式に基づいて、関数A(ξ
nL(k))と音声区間に対応した抑圧係数最小値f
sを用いて、抑圧係数の下限値A(V
n, ξ
nL(k))を計算し、最大値選択部6511に伝達する。
【0089】
【数17】
関数A(ξ
nL(k))は基本的に、大きなSNRに対して小さな値をとるような形状を有する。A(ξ
nL(k))が仮出力SNRξ
nL(k)に対応してこのような形状をとる関数であることは、仮出力SNRが高いほど、非音声区間に対応する抑圧係数の下限値が小さくなることを意味する。これは、残留雑音が小さくなることに対応し、音声区間と非音声区間の音質不連続性を低減する効果がある。なお、関数A(ξ
nL(k))は全ての周波数成分に対して異なっていてもよいし、複数の周波数成分に対して共有されていてもよい。また、時間と共にその形状が変化することも可能である。
【0090】
最大値計算部6511は、雑音抑圧係数計算部630から受けた抑圧係数G
n(k)バーと抑圧係数下限値計算部6512を比較して、大きいほうの値を補正抑圧係数G
n(k)ハットとして出力する。この処理は、次式で表すことができる。
【0091】
【数18】
すなわち、完全に音声区間と思われる場合はf
sが、完全に非音声区間と思われる場合は仮出力SNRξ
nL(k)に応じて単調減少関数で定められる値が、抑圧係数最小値となる。両者の中間と思われる状況では、これらの値が適切に混合される。A(ξ
nL(k))の単調減少性によって、低SNR時の大きな抑圧係数最小値が保証され、消し残し雑音の多い直前の音声区間からの連続性が保たれる。高SNRでは、抑圧係数最小値が小さくなり、残留雑音が小さくなるように制御される。これは、音声区間の残留雑音が無視できる程度に小さいので、非音声区間の残留雑音が小さいときも、連続性が保たれるためである。また、f
sをA(ξ
nL(k))よりも大きく設定することによって、音声区間あるいはその可能性が高い場合に雑音抑圧が軽度になり、音声に生じる歪を低減することができる。これは、符号化・復号によって生じる歪の混入した音声など、雑音推定精度が十分に高くできない場合に有効である。
【0092】
図30は、本発明の第8の実施の形態を示すブロック図である。
図30と第7の実施の形態である
図15との相違点は、非衝撃雑音抑圧部7が非衝撃雑音抑圧部17に置換され、音声検出部9が削除されていることである。第8の実施例では、音声検出部9の代わりに、非衝撃雑音抑圧部17が音声検出を行う。
【0093】
図31は、
図30に含まれる非衝撃雑音抑圧部17の構成例を示すブロック図である。
図31と非衝撃雑音抑圧部7の構成例である
図27との相違点は、音声存在確率計算部670で計算した音声存在確率が、外部に供給されていることである。この音声存在確率を、
図30の衝撃音検出部10、衝撃音推定部11、平滑化部13、及び乱数生成部14に供給し、音声検出部9の出力の代わりに用いる。
【0094】
図32は、本発明の第9の実施の形態を示すブロック図である。
図32と第8の実施の形態である
図30との相違点は、非衝撃雑音抑圧部17に加えて音声検出部9を有していることと衝撃音検出部10が衝撃音検出部20で置換されていることである。非衝撃雑音抑圧部17によって求められた音声存在確率と音声検出部9によって求められた音声存在確率は、衝撃音検出部20に供給される。衝撃音検出部20は、非衝撃雑音抑圧部17によって求められた音声存在確率と音声検出部9によって求められた音声存在確率を組み合わせて、より高精度な音声検出結果を得る。
【0095】
なお、これまでの実施の形態では、特許文献1に従って、各周波数成分に対して独立に、抑圧係数を計算し、それを用いて雑音抑圧を行う例について説明してきた。しかし、演算量を削減するために、非特許文献1に開示されているように、複数の周波数成分に対して共通の抑圧係数を計算し、それを用いて雑音抑圧を行うこともできる。その場合は、
図1、6、9、12〜15、及び30において、変換部2の直後に帯域統合部を具備する構成となる。また、変換部2と逆変換部4を、対を成すフィルタバンクで実現することもできる。フィルタバンクは、演算規模が増して周波数分解能が劣化するが、遅延の短縮と折り返し歪の低減に効果がある。さらに、第1〜5及び7、8の実施の形態にも、第6の実施の形態に示した乗算型の抑圧を適用することができる。
【0096】
さらに、非特許文献1にあるように、
図1の変換部2の前にオフセット消去部を、変換部2の直後に振幅補正部と位相補正部を具備することにより、周波数領域で高域通過フィルタを形成することもでき、演算量を削減することができる。また、複数の周波数成分に対して共通の抑圧係数を計算する際に、特定の周波数帯域に対応した雑音推定値を補正することもできる。
【0097】
図33は、本発明の第10の実施の形態に基づく雑音抑圧装置のブロック図である。本発明の第10の実施形態は、プログラム制御により動作するコンピュータ(中央処理装置;プロセッサ;データ処理装置)1000と、入力端子1及び出力端子4とから構成されている。コンピュータ1000は、変換部2、逆変換部3、衝撃音検出部8又は10、及び衝撃音抑圧部19を含む。また、音声検出部9を含んでもよいし、衝撃音抑圧部19に代えて衝撃音推定部11と減算器12を含んでもよい。さらに、出力信号を平滑化する平滑化部13、位相をランダムに変化させる乱数生成部14を含むこともできる。衝撃音推定部11と減算器12に代えて、抑圧係数計算部15と乗算器16を含むことも可能である。変換部の直後に非衝撃雑音抑圧部7又は17を含むことによって、非衝撃雑音を抑圧することも可能になる。
【0098】
入力端子1に供給された劣化音声は、変換部2においてフーリエ変換などの変換を施して複数の周波数成分に分割され、非衝撃雑音抑圧部7に供給される。位相は、乱数生成部14によって生成された乱数を加算器6で加算された後、逆変換部3に伝達される。非衝撃雑音抑圧部7は、所望信号に重畳する非衝撃音を抑圧し、強調音声を音声検出部9、衝撃音検出部10、衝撃音推定部11、及び減算器12に供給する。音声検出部9は、音声検出を行い、音声存在確率を衝撃音検出部10、平滑化部13、及び乱数生成部14に伝達する。衝撃音検出部10は、劣化音声パワースペクトルの変化に基づいて衝撃音を検出し、衝撃音存在確率を衝撃音推定部11に伝達する。衝撃音推定部11は、衝撃音存在確率、音声存在確率及び劣化音声パワースペクトルを受けて衝撃音を推定し、減算器12に伝達する。減算器12は、劣化音声パワースペクトルから衝撃音推定値を減算することによって抑圧し、平滑化部13に衝撃音抑圧信号を伝達する。平滑化部13は、衝撃音抑圧信号を平滑化して、逆変換部3に伝達する。逆変換部3は、平滑化部13から供給された衝撃音抑圧音声パワースペクトルと変換部2から加算器6を経て供給された劣化音声の位相を合わせて逆変換を行い、強調音声信号サンプルとして、出力端子4に伝達する。
【0099】
このような構成で動作させることによって、本発明では、衝撃音発生情報なしに衝撃音を抑圧することが可能となり、高音質な強調音声を出力することができる。
【0100】
これまで説明した全ての非衝撃雑音抑圧部の構成例では、雑音抑圧の方式として、最小平均2乗誤差短時間スペクトル振幅法を仮定してきたが、その他の方法にも適用することができる。このような方法の例として、 非特許文献5(非特許文献5: 1979 年12 月、プロシーディングス・オブ・ザ・アイ・イー・イー・イー、第67 巻、第12 号 (PROCEEDINGS OF THE IEEE, VOL.67, NO.12, PP.1586-1604, DEC, 1979)、1586 〜1604 ページ)に開示されているウィーナーフィルタ法や、非特許文献6(非特許文献6: 1979年4 月、アイ・イー・イー・イー・トランザクションズ・オン・アクースティクス・スピーチ・アンド・シグナル・プロセシング、第27巻、第2号(IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING,VOL.27, NO.2, PP.113-120, APR, 1979)、113〜120 ページ)に開示されているスペクトル減算法などがあるが、これらの詳細な構成例については説明を省略する。
【0101】
以上の如く、本発明は、入力信号を周波数領域信号に変換し、該周波数領域信号の変化量を用いて衝撃音の存在の有無に関する情報を求め、該衝撃音の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音を抑圧することを特徴とする雑音抑圧の方法である。
【0102】
また、上記本発明において、前記周波数領域信号の平坦度を用いて衝撃音の存在の有無に関する情報を求めることを特徴とする。
【0103】
また、上記本発明において、前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求め、該第1の音声の存在の有無に関する情報を用いて前記衝撃音の存在の有無に関する情報を求めることを特徴とする。
【0104】
また、上記本発明において、前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求め、該第1の音声の存在の有無に関する情報を用いて前記衝撃音の存在の有無に関する情報を求め、該衝撃音の存在の有無に関する情報と前記第1の音声の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音推定値を求め、該衝撃音推定値を前記周波数領域信号から差し引くことによって衝撃音を抑圧することを特徴とする。
【0105】
また、上記本発明において、前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求め、該第1の音声の存在の有無に関する情報を用いて前記衝撃音の存在の有無に関する情報を求め、該衝撃音の存在の有無に関する情報と前記第1の音声の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音推定値を求め、該衝撃音推定値と前記周波数領域信号とを用いて抑圧係数を求め、該抑圧係数と前記周波数領域信号の積を求めることによって衝撃音を抑圧することを特徴とする。
【0106】
また、上記本発明において、前記衝撃音を抑圧した信号をさらに平滑化することを特徴とする。
【0107】
また、上記本発明において、予め定められた範囲で乱数を生成し、該乱数と前記周波数領域信号の位相を加算して補正位相を求め、該補正位相と前記衝撃音を抑圧した信号を組み合わせて時間領域信号に変換することを特徴とする。
【0108】
また、上記本発明において、前記周波数領域信号に対して非衝撃雑音を抑圧して非衝撃雑音抑圧信号を求め、該非衝撃雑音抑圧信号を前記周波数領域信号の代わりに使うことを特徴とする。
【0109】
また、上記本発明において、前記周波数領域信号に対して非衝撃雑音を抑圧して非衝撃雑音抑圧信号を求め、該非衝撃雑音抑圧信号を用いて第2の音声の存在の有無に関する情報を求め、該第2の音声の存在の有無に関する情報と前記衝撃音の存在の有無に関する情報と前記第1の音声の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音推定値を求めることを特徴とする。
【0110】
本発明は、入力信号を周波数領域信号に変換する変換部と、該周波数領域信号の変化量を用いて衝撃音の存在の有無に関する情報を求める衝撃音検出部と、該衝撃音の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音を抑圧する衝撃音抑圧部とを具備することを特徴とする雑音抑圧の装置である。
【0111】
また、上記本発明において、前記周波数領域信号の変化量と平坦度を用いて衝撃音の存在の有無に関する情報を求める衝撃音検出部を具備することを特徴とする。
【0112】
また、上記本発明において、前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求める音声検出部と、該第1の音声の存在の有無に関する情報を用いて衝撃音の存在の有無に関する情報を求める衝撃音検出部とを具備することを特徴とする。
【0113】
また、上記本発明において、前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求める音声検出部と、該第1の音声の存在の有無に関する情報を用いて衝撃音の存在の有無に関する情報を求める衝撃音検出部と、該衝撃音の存在の有無に関する情報と前記第1の音声の存在の有無に関する情報と前記周波数領域信号を用いて、衝撃音推定値を求める衝撃音推定部と、該衝撃音推定値を前記周波数領域信号から差し引く減算器とを具備することを特徴とする。
【0114】
また、上記本発明において、前記周波数領域信号を用いて第1の音声の存在の有無に関する情報を求める音声検出部と、該第1の音声の存在の有無に関する情報を用いて衝撃音の存在の有無に関する情報を求める衝撃音検出部と、該衝撃音の存在の有無に関する情報と前記第1の音声の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音推定値を求める衝撃音推定部と、該衝撃音推定値と前記周波数領域信号を用いて抑圧係数を求める抑圧係数計算部と、該抑圧係数と前記周波数領域信号の積を求めることによって衝撃音を抑圧する乗算器とを具備することを特徴とする。
【0115】
また、上記本発明において、前記衝撃音を抑圧した信号をさらに平滑化する平滑化部を具備することを特徴とする。
【0116】
また、上記本発明において、予め定められた範囲で乱数を生成する乱数生成部と、該乱数と前記周波数領域信号の位相を加算して補正位相を求める加算器と、該補正位相と前記衝撃音を抑圧した信号を組み合わせて時間領域信号に変換する逆変換部とを具備することを特徴とする。
【0117】
また、上記本発明において、前記周波数領域信号に対して非衝撃雑音を抑圧して非衝撃雑音抑圧信号を求める非衝撃雑音抑圧部を具備し、該非衝撃雑音抑圧信号を前記周波数領域信号の代わりに使うことを特徴とする。
【0118】
また、上記本発明において、前記周波数領域信号に対して非衝撃雑音を抑圧して非衝撃雑音抑圧信号を求めると同時に、第2の音声の存在の有無に関する情報を求める非衝撃雑音抑圧部を具備し、前記衝撃音推定部は、前記第2の音声の存在の有無に関する情報と前記衝撃音の存在の有無に関する情報と前記第1の音声の存在の有無に関する情報と前記周波数領域信号を用いて衝撃音推定値を求めることを特徴とする。
【0119】
本発明は、コンピュータに、入力信号を周波数領域信号に変換し、該周波数領域信号を用いて音声の存在の有無に関する情報を求め、該音声の存在の有無に関する情報と前記周波数領域信号の変化量と平坦度を用いて衝撃音の存在の有無に関する情報を求め、前記音声の存在の有無に関する情報と、前記衝撃音の存在の有無に関する情報と、前記周波数領域信号を用いて、衝撃音推定値を求め、該衝撃音推定値と前記周波数領域信号を用いて衝撃音を抑圧して、強調音声を生成する処理を実行させるための雑音抑圧プログラムである。
【0120】
また、上記本発明において、コンピュータに、前記強調音声を平滑化する処理をさらに実行させることを特徴とする。
【0121】
また、上記本発明において、コンピュータに、予め定められた範囲で乱数を生成し、該乱数と前記周波数領域信号の位相を加算して補正位相を求め、該補正位相と前記衝撃音を抑圧した信号を組み合わせて時間領域信号に変換する処理をさらに実行させることを特徴とする。
【0122】
また、上記本発明において、コンピュータに、入力信号を周波数領域信号に変換し、該周波数領域信号を用いて音声の存在の有無に関する情報を求め、該音声の存在の有無に関する情報と前記周波数領域信号の変化量と平坦度を用いて衝撃音の存在の有無に関する情報を求め、前記音声の存在の有無に関する情報と、前記衝撃音の存在の有無に関する情報と、前記周波数領域信号を用いて、衝撃音推定値を求め、該衝撃音推定値を前記周波数領域信号から差し引くことによって衝撃音を抑圧する処理をさらに実行させることを特徴とする。
【0123】
本出願は、2007年3月6日に出願された日本出願特願2007−55149号を基礎とする優先権を主張し、その開示の全てをここに取り込む。