説明

雑音スペクトル推定方法、雑音抑圧方法及び雑音抑圧装置

【課題】雑音変動追従性が良好な雑音推定を可能にする。
【解決手段】算出部50では、現フレームの雑音スペクトルを|N(k)|、前フレームの雑音スペクトルを|No(k)|、現フレームの入力スペクトルを|X(k)|、現フレームの512サンプル,4096サンプルの入力スペクトルをそれぞれ|X(k)|,|X(k)|、|X(k)|,|No(k)|のスペクトル包絡の相関値をρ、|N(k)|更新制御値をxとすると、|N(k)|=|No(k)|・(1−ρ)+|X(k)|・ρなる式で|N(k)|を推定する。算出部60では|No(k)|に基づき平均雑音パワーPnを求め、算出部62では512サンプルDbに基づいて平均音パワーPbを求める。Pn>Pb以外では|X(k)|=|X(k)|,x=13.5とし、Pn>Pbならば|X(k)|=|X(k)|,x=1とし、Pn<Pbならばx=7とする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、雑音抑圧等に用いるに好適な雑音スペクトル推定方法と、この雑音スペクトル推定方法及びスペクトルサブトラクション法を用いて雑音を抑圧する方法及び装置とに関するものである。
【背景技術】
【0002】
従来、音声通信技術や音声認識技術において用いられる雑音抑圧方法としては、スペクトルサブトラクション法が知られている(例えば、特許文献1〜3参照)。スペクトルサブトラクション法は、雑音が混入した音声信号から雑音のスペクトルを推定し、この推定に係る雑音のスペクトルを音声信号のスペクトルから差し引くことにより雑音が抑圧された音声信号を得るものである。
【特許文献1】特開平11−3094号公報
【特許文献2】特開2002−14694号公報
【特許文献3】特開2003−223186号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来のスペクトルサブトラクション法によると、有音声区間(音声と雑音が混在する区間)と無音声区間(音声がなく、雑音のみ存在する区間)とで同様に雑音推定が行なわれるため、主として無音声区間において新たな雑音を雑音スペクトルの推定に十分反映させることができず、十分な雑音抑圧が困難であった。このような問題点を解決するため、現フレームの音入力のスペクトル包絡と前フレームの推定雑音のスペクトル包絡との相関値を求め、相関値が大きい無音声区間では新たな雑音を雑音スペクトルの推定に十分に反映させるようにした雑音スペクトル推定方法が本願と同一出願人により先に提案された(特願2004−100935号)。
【0004】
また、従来のスペクトルサブトラクション法によると、雑音スペクトルの推定に用いる音入力のフレーム長(サンプル数)と、推定に係る雑音スペクトルを減算すべき被減算側の音入力のフレーム長とが例えば512サンプルで等しかったため、雑音スペクトルの推定では周波数分解能が不足し、十分な雑音抑圧が困難であった。雑音スペクトルの推定に用いる音入力のフレーム長を十分な周波数分解能となるように例えば4096サンプルとすることも考えられるが、このようにすると、被減算側の音入力のフレーム長も4096サンプルとなるため、被減算側の振幅スペクトルの時間分解能が不足する事態を招く。このような問題点を解決するため、雑音スペクトルの推定に用いる音入力のフレーム長を被減算側の音入力フレーム長(例えば512サンプル)より長く設定(例えば4096サンプルに設定)することで高精度の雑音スペクトルの推定を可能にする方法が本願と同一出願人により先に提案された(特願2005−144744号)。
【0005】
図8は、本願の発明者の研究に係る雑音抑圧処理を示すもので、この処理では、上記した2つの先行出願技術が採用されている。
【0006】
図8において、音入力x(n)(n=0,1,2…)は、入力音波形をA/D(アナログ/ディジタル)変換した波形データのサンプル列からなるものである。入力音波形としては、雑音付き音声信号波形のことが多いが、音声信号波形のみであったり、雑音波形のみであったりすることもある。ステップS1では、音入力x(n)を雑音抑圧用フレーム(雑音抑圧の対象となるフレーム)として比較的短いフレーム長(時間窓長)で切り出す。また、ステップS2では、音入力x(n)を雑音推定用フレーム(雑音スペクトルの推定に用いられるフレーム)として比較的長いフレーム長で切り出す。ステップS1,S2でのフレーム切り出しは、フレームの頭を時間的に揃えて行なわれる。
【0007】
一例として、サンプリング周波数が16kHzである場合、ステップS1での切り出しは、512サンプルの長さで行なわれ、ステップS2での切り出しは、4096サンプルの長さで行なわれる。また、S1,S2のいずれのステップでも、フレームの切り出しは、雑音抑圧用フレームの半分の周期で行なわれる。
【0008】
ステップS3では、後述するステップS11での減算処理の際にサンプル数を揃える必要があるため、ステップS1で切り出された短いフレームにゼロデータを付加する。上記した512サンプルの例では、4096−512=3584サンプル分のゼロデータを短いフレーム毎に付加する。
【0009】
ステップS4では、ゼロデータを付加した各フレームデータに高速フーリエ変換(FFT:Fast Fourier Transform)処理を施して周波数分析を行なう。そして、周波数分析データに基づいて各フレーム毎に振幅スペクトル|X(k)|(k=0,1,2…N−1:Nはサンプル数)及び位相スペクトルを算出する。ステップS5では、各長いフレームデータにFFT処理を施して周波数分析を行ない、周波数分析データに基づいて振幅スペクトル|X(k)|(k=0,1,2…N−1)を算出する。
【0010】
ステップS6では、振幅スペクトル|X(k)|に平滑化処理を施す。そして、ステップS7では、平滑化処理を受けた振幅スペクトル|X’(k)|からスペクトル包絡|X”(k)|を抽出すると共に、後述のステップS10で得られる推定雑音振幅スペクトル|No(k)|からスペクトル包絡|No’ (k)|を抽出する。スペクトル|X(k)|を今回算出されたものとすると、スペクトル|No(k)|は、前回算出されたものである。
【0011】
ステップS8では、スペクトル包絡|X”(k)|とスペクトル包絡|No’(k)|との相関を求め、相関値ρを算出する。相関値ρの計算式については後述する。相関値ρは、0〜1の範囲内の値をとり、雑音のある有音声区間では小さく、雑音のみある無音声区間では大きくなる。
【0012】
ステップS9では、今回算出された振幅スペクトル|X(k)|と、前回算出された雑音振幅スペクトル|No(k)|とを相関値ρに応じた比率で加算(混合)することにより今回用いるべき雑音振幅スペクトル|N(k)|を所定の推定式に従って算出する。スペクトル|N(k)|の推定式については後述する。相関値ρが小さい有音声区間では、相関値ρが大きいときに比べて、前回の雑音振幅スペクトル|No(k)|の比率を高くすると共に今回の振幅スペクトル|X(k)|の比率を低くすることで推定に係る雑音振幅スペクトル|N(k)|の更新を抑制する。これに対し、相関値ρが大きい無音声区間では、相関値ρが小さいときに比べて、前回の雑音振幅スペクトル|No(k)|の比率を低くすると共に今回の振幅スペクトル|X(k)|の比率を高くすることで推定に係る雑音振幅スペクトル|N(k)|の更新を促進する。
【0013】
ステップS10では、推定に係る雑音振幅スペクトル|N(k)|を半フレーム相当の時間だけ遅延させて雑音振幅スペクトル|No(k)|として前述のステップS7,S9に供給する。なお、システム起動時において、ステップS10では所定の雑音振幅スペクトル初期値をステップS7,S9に供給する。
【0014】
ステップS11では、ステップS4で得られた今回の振幅スペクトル|X(k)|からステップS9で得られた今回の雑音振幅スペクトル|N(k)|を減算することにより雑音抑圧を行なう。この後、ステップS11では、雑音抑圧に係る振幅スペクトルとステップS4で得られた対応する位相スペクトルとを合成して各フレーム毎に音声スペクトルG(k)を作成する。
【0015】
ステップS12では、各フレームの音声スペクトルG(k)に逆高速フーリエ変換(I−FFT)処理を施して時間領域の音声信号(音声波形データのサンプル列)を得る。そして、ステップS13では、各フレームの音声信号からステップS3での付加に係る3854サンプル分のゼロデータを削除する。この後、ステップS13では、各フレームの音声信号に三角窓関数を乗算すると共に順次の2フレームの音声信号を半フレームずつオーバーラップさせるように加算することによりフレーム合成を行なう。この結果、雑音が抑圧された音声出力g(n)が得られる。
【0016】
上記した雑音抑圧処理によれば、ステップS9において無音声区間での推定雑音スペクトルの更新を促進するようにしたので、無音声区間で十分な雑音抑圧が可能となる。また、ステップS2において音入力をステップS1に比べて長いフレームで切り出すようにしたので、ステップS9では長いフレームの振幅スペクトル|X(k)|,|No(k)|に基づいて高精度の雑音スペクトルの推定を行なうことができ、十分な雑音抑圧が可能となる。しかしながら、上記した雑音抑圧処理では、例えば空調雑音のオン/オフ等の雑音変動に対応することを考慮した場合、ステップS9において長いフレーム長の振幅スペクトルを用いているため、雑音のオン又はオフに対する推定雑音振幅スペクトル|N(k)|の更新が緩慢であり、雑音変動に対する追従性が十分でない(応答速度が遅い)という問題点がある。
【0017】
この発明の目的は、雑音変動に対する追従性が良好な新規な雑音スペクトル推定方法と、この雑音スペクトル推定方法及びスペクトルサブトラクション法を用いて雑音を抑圧するための新規な方法及び装置とを提供することにある。
【課題を解決するための手段】
【0018】
この発明に係る雑音スペクトル推定方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記前フレームの雑音スペクトルに基づいて現フレームの雑音スペクトルを推定するステップと、
前記平均雑音パワーと前記平均音パワーとを比較し、その比較結果に応じて前記現フレームの雑音スペクトルの推定態様を制御するステップと
を含むものである。この雑音スペクトル推定方法は、以下に述べる第1〜第3の雑音スペクトル推定方法として具体化することができる。
【0019】
この発明に係る第1の雑音スペクトル推定方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されないときは前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定し、前記検知するステップで前記平均雑音パワーの方が大きいことが検知されたときは前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定するステップと
を含むものである。
【0020】
第1の雑音スペクトル推定方法によれば、前フレーム内の平均雑音パワーの方が大きいことが検知されないときは前フレームの雑音スペクトルと現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定すると共に、前フレーム内の平均雑音パワーの方が大きいことが検知されたときは前フレームの雑音スペクトルと現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定するようにしたので、前フレーム内の平均雑音パワーが現フレーム内の平均音パワー以下である時は、フレーム長が長い現フレームの第2のスペクトルを用いて精度良く雑音スペクトルの推定を行なえると共に、前フレーム内の平均雑音パワーの方が大きくなる雑音減少時には、フレーム長が短い現フレームの第1のスペクトルを用いて追従性良く雑音スペクトルの推定を行なえる。
【0021】
この発明に係る第2の雑音スペクトル推定方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御するステップと
を含むものである。
【0022】
第2の雑音スペクトル推定方法によれば、前フレームの雑音スペクトルと現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定する際に、前フレーム内の平均雑音パワーの方が大きいことが検知されるのに応答して前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御するようにしたので、前フレーム内の平均雑音パワーの方が大きくなる雑音減少時には、前記一方のスペクトルの混合比率の増大により現フレームの雑音スペクトルの更新が促進され、追従性良好な雑音スペクトルの推定が可能となる。
【0023】
第2の雑音スペクトル推定方法において、前記一方のスペクトルとして前記第1のスペクトルを用いる場合は、前述した第1の雑音スペクトル推定方法と組合せるのに好適であり、このようにすると、雑音減少時に雑音スペクトルを推定する際に追従性を一層向上させることができる。また、第2の雑音スペクトル推定方法において、前記一方のスペクトルとして前記第2のスペクトルを用いる場合は、前記第2のスペクトルのフレーム長が長いので、精度良く雑音スペクトルの推定を行なうことができる。
【0024】
この発明に係る第3の雑音スペクトル推定方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより小さいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が小さいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御するステップと
を含むものである。
【0025】
第3の雑音スペクトル推定方法によれば、前フレームの雑音スペクトルと現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定する際に、前フレーム内の平均雑音パワーの方が小さいことが検知されるのに応答して前フレームの雑音スペクトルに対する現フレームの第2のスペクトルの混合比率を増大すべく制御するようにしたので、前フレーム内の平均雑音パワーの方が小さくなる雑音増大時には、現フレームの第2のスペクトルの混合比率の増大により現フレームの雑音スペクトルの更新が促進され、追従性良好な雑音スペクトルの推定が可能となる。また、第3の雑音スペクトル推定方法では、前フレームの雑音スペクトルと現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定しているので、フレーム長が長いスペクトルを用いて精度良く雑音スペクトルを推定することができる。
【0026】
第3の雑音スペクトル推定方法において、前記現フレームの雑音スペクトルを推定するステップでは、前記前フレームの平均雑音パワーと該前フレームより前の複数フレームの平均雑音パワーとを記憶すると共に記憶に係る平均雑音パワーのうちで最小の平均雑音パワーを検知し、検知に係る最小の平均雑音パワーと前記前フレームの平均雑音パターとを比較して前記前フレームの平均雑音パワーの方が前記検知に係る最小の平均雑音パワーより小さいことを条件として前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御するようにしてもよい。このようにすると、雑音増大を一層確実に検知可能となる。
【0027】
この発明に係る雑音抑圧方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記前フレームの雑音スペクトルに基づいて現フレームの雑音スペクトルを推定するステップと、
前記平均雑音パワーと前記平均音パワーとを比較し、その比較結果に応じて前記現フレームの雑音スペクトルの推定態様を制御するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含むものである。この雑音抑圧方法は、以下に述べる第1〜第3の雑音抑圧方法として具体化することができる。
【0028】
この発明に係る第1の雑音抑圧方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されないときは前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定し、前記検知するステップで前記平均雑音パワーの方が大きいことが検知されたときは前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含むものである。
【0029】
第1の雑音抑圧方法によれば、前述した第1の雑音スペクトル推定方法及びスペクトルサブトラクション法を用いて雑音抑圧を行なうので、雑音抑圧性能を向上させることができ、特に雑音減少時の雑音抑圧性能を向上させることができる。第1の雑音抑圧方法では、現フレームの第1のサンプル列の末尾にゼロデータを付加して現フレームの第1のサンプル列と現フレームの第2のサンプル列とでフレーム長を等しくしている。これは、現フレームの第1のスペクトルから現フレームの雑音スペクトルを減算する際にデータ長(サンプル数)を揃える必要があるためである。
【0030】
この発明に係る第2の雑音抑圧方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含むものである。
【0031】
第2の雑音抑圧方法によれば、前述した第2の雑音スペクトル推定方法及びスペクトルサブトラクション法を用いて雑音抑圧を行なうので、雑音減少時の雑音抑圧性能を向上させることができる。
【0032】
この発明に係る第3の雑音抑圧方法は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより小さいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が小さいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含むものである。
【0033】
第3の雑音抑圧方法によれば、前述した第3の雑音スペクトル推定方法及びスペクトルサブトラクション法を用いて雑音抑圧を行なうので、雑音抑圧性能を向上させることができ、特に雑音増大時の雑音抑圧性能を向上させることができる。
【0034】
この発明に係る雑音抑圧装置は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記前フレームの雑音スペクトルに基づいて現フレームの雑音スペクトルを推定する第2の推定手段と、
前記平均雑音パワーと前記平均音パワーとを比較し、その比較結果に応じて前記現フレームの雑音スペクトルの推定態様を制御する制御手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えたものである。この雑音抑圧装置は、以下に述べる第1〜第3の雑音抑圧装置として具体化することができる。
【0035】
この発明に係る第1の雑音抑圧装置は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知する検知手段と、
前記検知手段で前記平均雑音パワーの方が大きいことが検知されないときは前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定し、前記検知手段で前記平均雑音パワーの方が大きいことが検知されたときは前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定する第2の推定手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えたものである。
【0036】
第1の雑音抑圧装置は、前述した第1の雑音抑圧方法を実行するもので、第1の雑音抑圧方法と同様の作用効果を奏する。
【0037】
この発明に係る第2の雑音抑圧装置は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知する検知手段と、
前記前フレームの雑音スペクトルと前記現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定する第2の推定手段と、
前記検知手段で前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御する制御手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えたものである。
【0038】
第2の雑音抑圧装置は、前述した第2の雑音抑圧方法を実行するもので、第2の雑音抑圧方法と同様の作用効果を奏する。
【0039】
この発明に係る第3の雑音抑圧装置は、
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより小さいことを検知する検知手段と、
前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定する第2の推定手段と、
前記検知手段で前記平均雑音パワーの方が小さいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御する制御手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えたものである。
【0040】
第3の雑音抑圧装置は、前述した第3の雑音抑圧方法を実行するもので、第3の雑音抑圧方法と同様の作用効果を奏する。
【発明の効果】
【0041】
この発明によれば、前フレーム内の平均雑音パワーと現フレーム内の平均音パワーとを比較し、平均雑音パワーの方が大きい雑音減少時には現フレームの音入力の振幅スペクトルとしてフレーム長が短い振幅スペクトルを用いたり、前フレームの雑音スペクトルに対する現フレームの音入力の振幅スペクトルの混合比率を増大させたりして雑音スペクトルの更新を促進し、平均雑音パワーの方が小さい雑音増大時には前フレームの雑音スペクトルに対する現フレームの音入力の振幅スペクトルの混合比率を増大させて雑音スペクトルの更新を促進するようにしたので、雑音変動に対する追従性が良好な雑音スペクトルの推定が可能になる効果が得られる。
【0042】
また、この発明の雑音スペクトル推定方法及びスペクトルサブトラクション法を用いて雑音抑圧を行なうようにしたので、雑音減少時や雑音増大時の雑音抑圧性能が向上する効果も得られる。
【発明を実施するための最良の形態】
【0043】
図1は、この発明の一実施形態に係る雑音抑圧装置の構成を示すもので、この雑音抑圧装置は、雑音抑圧部12及び雑音スペクトル出力部14を備えている。
【0044】
図1において、音入力x(n)は、図8に関して前述したと同様の入力音波形のサンプル列からなるもので、雑音抑圧部12のフレーム切出部32と、雑音スペクトル出力部14のフレーム切出部16とに共通に供給される。フレーム切出部32は、図2に示すように音入力x(n)のサンプル列を比較的短いフレーム長T1(Mサンプル)で順次に切り出すものである。切出部32の切出動作は、あるフレームのサンプル列D11bの切り出しから次のフレームのサンプル列D21bの切り出しが半フレームT1/2(M/2サンプル)相当の時間だけ遅れるようにして行なわれる。このことは、サンプル列D21bとD31b、D31bとD41b…についても同様である。図2において、D11b〜D41bは、それぞれ音入力x(n)のサンプル列を半フレームT1/2(M/2サンプル)相当のタイミングD1〜D4で切り出したもので、いずれも雑音抑圧用フレーム(雑音抑圧の対象となるフレーム)Fbとして用いられる。
【0045】
フレーム切出部16は、音入力x(n)のサンプル列を比較的長いフレーム長T2(Nサンプル)で順次に切り出すものである。切出部16の切出動作は、あるフレームのサンプル列D11aの切り出しから次のフレームのサンプル列D21aの切り出しが半フレームT1/2(M/2サンプル)相当の時間だけ遅れるようにして行なわれる。このことは、サンプル列D21aとD31a、D31aとD41a…についても同様である。図2において、D11a〜D41aは、それぞれ音入力x(n)のサンプル列をT1/2(M/2サンプル)相当のタイミングD1〜D4で切り出したもので、いずれも雑音推定用フレーム(雑音スペクトルの推定に用いられるフレーム)Faとなる。雑音推定用フレームのサンプル列D11aの切り出しと雑音抑圧用フレームのサンプル列D11bの切り出しとは、互いに同期して(時間的に頭HDa,HDbを揃えて)行なわれる。このことは、サンプル列D21aとD21b、D31aとD31b、D41aとD41b…についても同様である。
【0046】
一例として、サンプリング周波数が16kHzである場合、フレーム長T1をM=512サンプル(32msec)とし、フレーム長T2をN=4096サンプル(256msec)とする(N=8Mとする)ことができる。
【0047】
ゼロデータ発生部34は、フレーム長T1,T2の差に相当する(N−M)=3584サンプルのゼロデータDを発生するものである。ゼロデータDは、加算器36に供給され、図2に示すようにD11b等の各雑音抑圧用フレームのサンプル列の末尾TLに付加される。これは、雑音抑圧演算部40でのスペクトル減算処理においてデータ長(サンプル数)を揃える必要があるためである。
【0048】
加算器36から送出される各フレームデータ(ゼロデータDが付加された各切出データ)は、FFT部38に供給され、FFT処理により周波数分析(周波数領域のデータに変換)される。FFT部38から送出される各フレームの周波数分析データX(k)=(k=0,1,2…N−1)は、雑音抑圧演算部40に供給される。演算部40では、各フレーム毎に周波数分析データX(k)に基づいて振幅スペクトル|X(k)|が算出され、各フレームの振幅スペクトル|X(k)|は、雑音推定部22に供給される。
【0049】
一方、フレーム切出部16から送出される各フレームの切出データは、FFT部18に供給され、FFT処理により周波数分析される。FFT部18から送出される各フレームの周波数分析データX(k)=(k=0,1,2…N−1)は、振幅スペクトル演算部20に供給される。演算部20では、各フレーム毎に周波数分析データX(k)に基づいて振幅スペクトル|X(k)|が算出され、各フレームの振幅スペクトル|X(k)|は、雑音推定部22に供給される。雑音推定部22には、フレーム切出部32から各フレームの切出データ(各フレーム毎に512サンプルのデータ)も供給される。
【0050】
雑音推定部22では、ある振幅スペクトル|N(k)|を現フレームの振幅スペクトルとすると、|N(k)|の前のフレーム(前フレーム)の振幅スペクトルに基づいて前フレームの雑音振幅スペクトルが推定されると共に、前フレームの雑音振幅スペクトルと現フレームの振幅スペクトル|N(k)|とを後述するように混合して現フレームの雑音振幅スペクトル|N(k)|が推定される。このようにして、雑音推定部22からは、各フレーム毎に雑音振幅スペクトル|N(k)|が次々に送出され、各フレームの雑音振幅スペクトル|N(k)|は、平滑化処理部24に供給される。
【0051】
平滑化処理部24では、各フレームの雑音振幅スペクトル|N(k)|に平滑化処理が施される。平滑化処理のアルゴリズムとしては、例えば移動平均法を用いることができる。移動平均法では、所定数の連続した周波数ポイント(所定の周波数帯域幅)における振幅の平均値を該周波数帯域の中央の周波数ポイントの振幅値として置き換える。1回の平均で使用する連続した周波数ポイントの点数(平均値を求める周波数帯域幅)は、例えば8点とすれば、平滑化された振幅スペクトル(雑音推定用振幅スペクトル)の実質的な周波数分解能は、雑音抑圧用振幅スペクトルの実質的な周波数分解能に等しくなる。この平均値算出及び振幅値の置き換えを、周波数ポイントを1ポイントずつずらして実行し、全周波数帯域にわたり平滑化した振幅スペクトルを求める。
【0052】
平滑化処理部24における平滑化処理アルゴリズムとしては、移動平均法の他に、移動メディアン法を用いることもできる。移動メディアン法では、所定数(例えば8点)の連続した周波数ポイント(所定の周波数帯域幅)の中で、振幅値の中央値を該周波数帯域の中央の周波数ポイントの振幅値として置き換える。そして、この振幅値の中央値の抽出及び振幅値の置き換えを、周波数ポイントを1ポイントずつずらして実行し、全周波数帯域にわたり平滑化した振幅スペクトルを求める。
【0053】
平滑化処理部24においては、ディップ除去処理を追加してもよい。ディップ除去処理では、平滑化処理された振幅スペクトルと平滑化処理される前の振幅スペクトルとを比較して周波数ポイント毎に大きい方の値を選択し、選択に係る値をつなぐことによりディップが除去された振幅スペクトルを得る。ディップを除去することで処理雑音の低減が可能になる。平滑化処理部24からは、各フレーム毎に平滑化処理された(更にはディップ除去処理された)振幅スペクトル|N’(k)|が送出され、雑音抑圧演算部40に供給される。
【0054】
演算部40では、周波数分析データX(k)に基づいて各フレーム毎に振幅スペクトル及び位相スペクトルが算出される。そして、現フレームの振幅スペクトルから現フレームの雑音振幅スペクトル|N’(k)|を減算することにより雑音が抑圧された振幅スペクトルが生成される。この後、雑音抑圧に係る振幅スペクトルを対応する位相スペクトルと合成することにより各フレーム毎に音声スペクトルG(k)が生成され、逆高速フーリエ変換(I−FFT)部42に供給される。
【0055】
I−FFT部42は、演算部40からの音声スペクトルG(k)をI−FFT処理により時間領域の音声信号に変換するもので、変換に係る時間領域の音声信号は、フレーム合成部44に供給される。
【0056】
フレーム合成部44では、図2に示すように各フレームの音声信号から先に付加された(N−M)サンプルのゼロデータが削除されると共に各フレームの音声信号(Mサンプルのデータ)に三角窓関数が乗算される。図2において、D1s〜D4sは、いずれも三角窓関数が乗算された音声信号であり、フレーム合成に用いられるフレームFsとなる。この後、図2に示すように順次の2フレームの音声信号を半フレームずつオーバーラップさせるように加算することによりフレーム合成が行なわれる。この結果、雑音が抑圧された音声出力g(n)がフレーム間に段差や切れ目がない連続した状態で得られる。
【0057】
次に、図3を参照して雑音推定部22の構成及び動作を説明する。スペクトル包絡抽出部54は、図1の雑音抑圧演算部40から供給される振幅スペクトル|X(k)|に含まれる細かな凹凸特性を除去してスペクトル包絡|X’(k)|を抽出するものである。これは、後述する相関値算出において振幅スペクトル|X(k)|そのものを用いると、スペクトルの相関値が低くなり、「音声区間」と「雑音区間」の区別が明確でなくなるためである。すなわち、雑音は、長時間観測を繰り返してそのスペクトルを平均してみれば、そのスペクトルは、広い帯域にわたってほぼ一様となる滑らかな分布となるが、短時間で見れば多くの山谷を有するスペクトルの変動が観察される。一方、音声は、雑音とは異なり、その全体的な周波数特性は特定の周波数帯域に大きな振幅値を持っており、全周波数帯域に一様に分布していない。この実施形態では、「全周波数帯域に一様に分布する雑音」と、「ある特定の周波数帯域に大きな振幅値を持つ音声」とをスペクトル包絡の相関値の大小で区別して雑音振幅スペクトルを推定するので、雑音振幅スペクトルが持っている細かな凹凸特性を除去するようにしている。
【0058】
スペクトル包絡抽出部54では、一例として、振幅スペクトル|X(k)|を時間波形と見立ててローパスフィルタ処理をすることによりスペクトル包絡を抽出する。ローパスフィルタ処理は、振幅スペクトル|X(k)|を直接ローパスフィルタにかける、あるいは振幅スペクトル|X(k)|に移動平均処理を施す等の方法により行なうことができる。また、スペクトル包絡抽出部54においてスペクトル包絡|X’(k)|を抽出する別の方法としては、振幅スペクトル|X(k)|を更にフーリエ変換してケプストラムによって求める方法を用いることもできる。抽出部54で抽出された各フレームのスペクトル包絡|X’(k)|は、相関値算出部56に供給される。
【0059】
雑音振幅スペクトル初期値出力部46は雑音振幅スペクトルの初期値を出力するものである。すなわち、システムの起動当初は、参照する雑音振幅スペクトルデータがないため、初期値を設定する。雑音振幅スペクトル初期値の設定方法としては、例えば、次の方法が考えられる。
【0060】
(方法1)起動直後に入力され、音声の混入していない背景雑音のみのデータをフーリエ変換し、該フーリエ変換されたデータから求められる振幅スペクトルデータを雑音振幅スペクトル初期値として設定する。
【0061】
(方法2)予め背景雑音に相当する振幅スペクトルデータをメモリに保持しておき、起動時にそれを読み出して雑音振幅スペクトル初期値として設定する。あるいは、予め背景雑音に相当する振幅スペクトルの包絡データをメモリに保持しておき、起動時にそれを読み出して雑音振幅スペクトル包絡データの初期値として設定する。
【0062】
(方法3)ホワイトノイズやピンクノイズの振幅スペクトルデータを雑音振幅スペクトル初期値として設定する。
【0063】
雑音振幅スペクトル遅延部48は、後述する雑音振幅スペクトル算出部50で半フレーム(T1/2)毎に求められる雑音振幅スペクトル|N(k)|を順次入力し、半フレーム分遅延して前フレームの雑音振幅スペクトル|No(k)|として順次出力するものである。システムの起動当初は雑音振幅スペクトル|N(k)|は未だ推定されていないので、遅延部48は、出力部46で設定された雑音振幅スペクトル初期値を雑音振幅スペクトル|No(k)|としてスペクトル包絡抽出部52へ供給する。抽出部52は、前述したスペクトル包絡抽出部54と同様の方法により、雑音振幅スペクトル|No(k)|のスペクトル包絡|No’(k)|を抽出し、相関値算出部56へ供給する。
【0064】
相関値算出部56は、スペクトル包絡抽出部54で抽出された現フレームのスペクトル包絡|X’(k)|と、スペクトル包絡抽出部52で抽出された前フレームのスペクトル包絡|No’(k)|との相関を求め、相関値ρを算出するものである。相関値ρは、
スペクトル包絡|X’(k)|=x(k=1,2,…,K)
スペクトル包絡|No’(k)|=y(k=1,2,…,K)
とすると、次の数1の式(1)により求められ、0〜1の範囲内の値をとる。
【0065】
【数1】

【0066】
雑音振幅スペクトル算出部50は、算出部56から供給される相関値ρと、セレクタ76から供給される更新制御値xと、遅延部48から供給される前フレームの雑音振幅スペクトル|No(k)|と、セレクタ66から供給される現フレームの音入力の振幅スペクトル|X(k)|(これは、後述するように|X(k)|又は |X(k)|からなる)とに基づいて次の式(2)により現フレームの雑音振幅スペクトル|N(k)|を推定し、算出するものである。
【0067】
|N(k)|=(1−ρ)・|No(k)|+ρ・|X(k)|…(2)
式(2)は、前フレームの雑音振幅スペクトル|No(k)|と現フレームの音入力の振幅スペクトル|X(k)|とを相関値ρ及び更新制御値xに応じた比率で加算(混合)して現フレームの雑音振幅スペクトル|N(k)|を推定することを示すものである。式(2)によれば、相関値ρが小さい有音声区間では、相関値ρが大きいときに比べて、雑音振幅スペクトル|No(k)|の比率を高くすると共に振幅スペクトル|X(k)|の比率を低くして加算が行なわれる。このため、音声成分が多い有音声区間では、推定に係る雑音振幅スペクトル|N(k)|が音声成分の影響によりさほど変化しない。これに対し、相関値ρが大きい無音声区間では、相関値ρが小さいときに比べて、雑音振幅スペクトル|No(k)|の比率を低くすると共に振幅スペクトル|X(k)|の比率を高くして加算が行なわれる。このため、無音声区間では、推定に係る雑音振幅スペクトル|N(k)|が新たな雑音成分に応じて変化し、|N(k)|の更新が促進される。
【0068】
パワー算出部60は、遅延部48からの前フレームの雑音振幅スペクトル|No(k)|に基づいて前フレーム内の平均雑音パワーPnを算出するものである。平均雑音パワーPnは、前フレームの雑音振幅スペクトルにおける振幅値をA〜A(N=2048)とすると、(A+A+A+…A)/Nなる式で求められる。平均雑音パワーPnを示すパワーデータは比較部64に比較入力Aとして供給される。
【0069】
パワー算出部62は、図1の切出部32からの現フレームの切出データDbに基づいて現フレーム内の平均音パワーPbを算出するものである。平均音パワーPbは、現フレームの切出データDbをFFTすることにより求めた振幅スペクトルにおいて振幅値をa〜a(M=256)とすると、(a+a+a+…a)/Mなる式で求められる。平均音パワーPbを示すパワーデータは比較部64に比較入力Bとして供給される。なお、周波数スペクトルでパワーを算出する場合、FFTフレーム長の半分以下のサンプル数とするのが好ましい。
【0070】
比較部64は、比較入力A,B(パワーPn,Pb)を比較し、A>B(Pn>Pb)ならば比較出力C=1を、A<B(Pn<Pb)ならば比較出力C=1をそれぞれ送出する。ここで、C=1は、前フレーム内の平均雑音パワーPnの方が現フレーム内の平均音パワーPbより大きいので、雑音の減少を意味する。また、C=1は、前フレーム内の平均雑音パワーPnの方が現フレーム内の平均音パワーPbより小さいので、雑音の増大を意味する。
【0071】
セレクタ66は、選択入力SB=0のときは入力Aとしての振幅スペクトル|X(k)|を選択し、算出部50に振幅スペクトル|X(k)|として供給する。比較部64の比較出力Cが1になると、セレクタ66は、C=1からなる選択入力SBに応じて入力Bとしての振幅スペクトル|X(k)|を選択し、算出部50に振幅スペクトル|X(k)|として供給する。前述したように、振幅スペクトル|X(k)|は、振幅スペクトル|X(k)|に比べてサンプル数が8倍も多いので、A>B(Pn>Pb)以外のときは、算出部50において|X(k)|として|X(k)|を用いることで精度良く雑音スペクトルの推定を行なうことができる。しかしながら、A>B(Pn>Pb)である雑音減少時にも振幅スペクトル|X(k)|を用いると、振幅スペクトル|X(k)|のフレーム長(サンプル数)が長いため、過去の推定結果の影響から脱却するのに時間がかかる。そこで、この発明では、雑音減少時には、|X(k)|として|X(k)|の代りにフレーム長の短い|X(k)|を用いることで雑音減少に対する追従性を改善している。
【0072】
比較部64からの比較出力C=1は、セレクタ76に選択入力SCとして供給される。セレクタ76は、選択入力SB,SCのいずれも0のときは、入力値A=13.5を選択し、算出部50に更新制御値xとして供給する。x=13.5のときは、前述の式(2)においてρが例えば0.5であればρの値は極めて小さな値となり、雑音振幅スペクトル|N(k)|の更新が抑制される。この発明では、C=1となる雑音減少時において、セレクタ76で選択入力SC=C=1に応じて入力値1を選択し、算出部50に更新制御値xとして供給する。この結果、算出部50では、前述の式(2)においてx=1であり且つρが例えば0.5であれば|N(k)|= {|No(k)|+|X(k)}/2となり、雑音振幅スペクトル|N(k)|の更新が促進される。従って、雑音減少に対する追従性がx=1としたことでも改善される。
【0073】
記憶部68は、算出部62で算出された平均音パワーPbを示すパワーデータを現フレーム分とその前の32フレーム分(合計33フレーム分)記憶するものである。このように現フレームまでの一定期間分のパワーデータを記憶するのは、雑音増大の検出を確実にするためである。最小値検出部70は、記憶部68に記憶された33フレーム分のパワーデータ中からフレーム内平均音パワーの最小値を検出するもので、検出に係る最小値のパワーPmを示すパワーデータを比較部72に比較入力Bとして供給する。比較部72の比較入力Aとしては、算出部60から前フレーム内の平均雑音パワーPnを示すパワーデータが供給される。
【0074】
比較部72は、比較入力A,B(パワーPn,Pm)を比較し、A<B(Pn<Pm)ならば比較出力C=1をANDゲート74に一方の入力として供給する。ANDゲート74の他方の入力としては、比較部64からA<B(Pn<Pb)に応じて比較出力C=1が供給される。ANDゲート74では、前フレーム内の平均雑音パワーPnの方が現フレーム内の平均音パワーPbより小さく且つ前フレーム内の平均雑音パワーPnの方が検出部70での検出に係る最小値のパワーPmより小さいときにAND条件が成立し、出力AD=1が発生される。この出力AD=1の発生は、雑音の増大を意味する。
【0075】
セレクタ76は、ANDゲート74からの出力AD=1からなる選択入力SBに応じて入力値7を選択し、算出部50に更新制御値xとして供給する。このとき、算出部50には、振幅スペクトル|X(k)|としてセレクタ66からフレーム長が長い振幅スペクトル|X(k)|が供給されている。すなわち、算出部50では、前述の式(2)においてx=7であるので、 |N(k)|=(1−ρ)・|No(k)|+ρ・|X(k)|となり、x=13.5の場合に比べて|N(k)|の更新が促進される。従って、雑音増大に対する追従性が改善される。
【0076】
次に、図4を参照して雑音抑圧演算部40の構成及び動作を説明する。振幅スペクトル計算部56及び位相スペクトル計算部58には、図1のFFT部38から周波数分析データX(k)が共通に供給される。計算部56は、周波数分析データX(k)に基づいて次の式(3)により振幅スペクトル|X(k)|を算出する。
【0077】
|X(k)|={X(k)+X(k)1/2…(3)
ここで、X(k):X(k)の実数部
(k):X(k)の虚数部
また、計算部58は、周波数分析データX(k)に基づいて次の式(4)により位相スペクトルθ(k)を算出する。
【0078】
θ(k)=tan−1{X(k)/X(k)}…(4)
スペクトル減算部60は、次の式(5)に従って減算を行なう。すなわち、計算部56で求めた現フレームの振幅スペクトル|X(k)|から、図1の平滑化処理部24から供給される現フレームの雑音振幅スペクトル|N’(k)|を減算することにより、雑音振幅スペクトルが除去された現フレームの振幅スペクトル|Y(k)|を求める。
【0079】
|Y(k)|=|X(k)|−|N’(k)|…(5)
なお、|X(k)|−|N’(k)|が負の値となる周波数ポイントでは、引き過ぎであるので、減算値|Y(k)|を負の値のままとせずに、ゼロとするのがよい。
【0080】
合成部62は、減算部60で求めた現フレームの振幅スペクトル|Y(k)|と、計算部58で求めた現フレームの位相スペクトルθ(k)とを合成して次の式(6)に示す複素スペクトル(雑音が抑圧された音声スペクトル)G(k)を作成する。
【0081】
G(k)=|Y(k)|eθ(k)…(6)
作成された音声スペクトルG(k)は、図1のI−FFT部42に供給される。
【0082】
図5は、上記した雑音抑圧装置について雑音抑圧性能をテストした結果を示すものである。図5(A)は、クリーンスピーチ区間Z1−ノイジィスピーチ区間Z2−クリーンスピーチ区間Z3について入力音信号の振幅変化を示し、図5(B)は、図5(A)と同様の区間Z1−Z2−Z3について音声パワーSP及び推定雑音パワーNPの変化を示すものである。ここで、「クリーンスピーチ区間」とは、雑音がない会話区間であり、「ノイジィスピーチ区間」とは、雑音がある会話区間である。図5(B)によれば、クリーンスピーチ区間Z1からノイジィスピーチ区間Z2に至る雑音増大部で推定雑音パワーNPが追従性良く増大すると共にノイジィスピーチ区間Z2からクリーンスピーチ区間Z3に至る雑音減少部で推定雑音パワーNPが追従性良く減少しているのがわかる。
【0083】
上記した実施形態の変形例としては、前述した推定式(2)の代りに次の推定式(7)を用いてもよい。
【0084】
|N(k)|=[1−{ρ/(1+ρ)}]・ |No(k)|+{ρ/(1+ρ)}]・|X(k)|…(7)
ここで、|N(k)|:現フレームの雑音振幅スペクトル
|No(k)|:前フレームの雑音振幅スペクトル
|X(k)|:現フレームの音入力の振幅スペクトルであって、 |X(k)|又はX(k)|からなるもの
ρ:スペクトル包絡|No’(k)|,|X’(k)|の相関値
x,m:更新制御値(xは1以上の値、mは0以上の値)
式(7)は、前フレームの雑音振幅スペクトル|No(k)|と、現フレームの音入力の振幅スペクトル|X(k)|とを相関値ρ及び更新制御値x,mに応じた比率で加算(混合)して現フレームの雑音振幅スペクトル|N(k)|を推定することを示すものである。式(7)によれば、相関値ρが小さい有音声区間では、相関値ρが大きいときに比べて、雑音振幅スペクトル|No(k)|の比率を高くすると共に振幅スペクトル|X(k)|の比率を低くして加算が行なわれる。このため、音声成分が多い有音声区間では、推定に係る雑音振幅スペクトル|N(k)|が音声成分の影響によりさほど変化しない。これに対し、相関値ρが大きい無音声区間では、相関値ρが小さいときに比べて、雑音振幅スペクトル|No(k)|の比率を低くすると共に振幅スペクトル|X(k)|の比率を高くして加算が行なわれる。このため、無音声区間では、推定に係る雑音振幅スペクトル|N(k)|が新たな雑音成分に応じて変化し、|N(k)|の更新が促進される。
【0085】
式(7)において、x,mは、|N(k)|の更新を制御するためのそれぞれ第1,第2の更新制御値である。図6は、相関値ρに対する係数値[1−{ρ/(1+ρ)}],{ρ/(1+ρ)}の変化を第1の更新制御値xをパラメータとして示すもので、第2の更新制御値mを1とした場合である。図6によれば、例えばρ=0.8としたときxが大きいほど{ρ/(1+ρ)}が小さくなり、|N(k)|の更新が抑制されることがわかる。
【0086】
図7は、相関値ρに対する係数値[1−{ρ/(1+ρ)}],{ρ/(1+ρ)}の変化を第2の更新制御値mをパラメータとして示すもので、第1の更新制御値xを2とした場合である。図7によれば、例えばρ=0.8としたときmが大きいほど{ρ/(1+ρ)}が小さくなり、|N(k)|の更新が抑制されることがわかる。
【0087】
式(7)を用いてこの発明を実施する際には、図3の回路において、セレクタ76では、選択入力SB,SCのいずれも0のときは例えばx=70を算出部50に供給し、SB=1の時はx=8を算出部50に供給し、SC=1のときはx=2を算出部50に供給する。別の方法としては、SB,SCのいずれも0のときはm=4を算出部50に供給し、SB=1のときはm=2を算出部50に供給し、SC=1のときはm=1を算出部50に供給する。このようにx又はmを減少させると、雑音振幅スペクトル|N(k)|の更新が促進される。なお、ここで述べたxを用いる方法と、mを用いる方法とは適宜併用してもよい。
【0088】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能である。例えば、次のような変更が可能である。
【0089】
(a)上記した実施形態では、低相関時に現フレームの音入力の振幅スペクトル|X(k)|の混合比率を低減するようにしたが、相関値ρが所定値以下のときは、スペクトル|X(k)|の混合比率をゼロとする(すなわち、雑音振幅スペクトル|N(k)|を更新しない)ようにしてもよい。
【0090】
(b)上記した実施形態では、雑音推定処理を所定時間間隔(T1/2時間毎)に必ず行なうようにしたが、適宜の時間毎に行なうようにしてもよい。例えば、無音声区間、微少音声区間等の雑音推定が容易な区間を実時間で検出し、該雑音推定が容易な区間でのみ雑音推定処理を行ない、それ以外の区間では雑音推定処理を行なわない(一時停止する)ことができる。また、雑音変動が少ない区間や処理負荷を減らしたい区間も雑音推定処理を行なわない(一時停止する)ことができる。これらの場合、雑音推定処理を一時停止している区間では、雑音振幅スペクトル遅延部48に保持されている最新の(一時停止直前の)雑音振幅スペクトル|No(k)|に基づいて雑音抑圧処理を行なうことができる。
【0091】
(c)上記した実施形態では、音入力から切り出す雑音抑圧用フレームの長さT1(Mサンプル分の時間)を、切り出しを行なう時間間隔(M/2サンプル分の時間)より長く設定したが、これはフレーム合成の際にオーバーラップ処理を行なうためであり、オーバーラップ処理を行なわない場合には、フレーム長T1を切り出し時間間隔と等しく設定してもよい。
【0092】
(d)上記した実施形態では、周波数分析手法としてFFTを用いた場合について説明したが、この発明では、FFT以外の周波数分析手法を用いることもできる。
【0093】
(e)上記した実施形態では、振幅スペクトルサブトラクション法を用いる代りに、パワースペクトルサブトラクション法を用いることもできる。この場合、音入力のパワースペクトル|X(k)|のスペクトル包絡に基づいて雑音パワースペクトル|N(k)|を推定し、音入力のパワースペクトル|X(k)|から推定に係る雑音のパワースペクトル|N(k)|を減算して雑音抑圧を行なう。雑音のパワースペクトル|N(k)|の推定処理にこの発明を適用できる。
【0094】
(f)上記した実施形態では、振幅スペクトルサブトラクション法を用いる代りに、複素スペクトルサブトラクション法を用いることもできる。この場合、音入力の複素スペクトル(振幅情報と位相情報とに分離されていないもの)X(k)のスペクトル包絡に基づいて雑音の複素スペクトルN(k)を推定し、音入力の複素スペクトルX(k)から推定に係る雑音の複素スペクトルN(k)を減算して雑音抑圧を行なう。雑音の複素スペクトルN(k)の推定処理にこの発明を適用できる。
【0095】
(g)上記した実施形態では、前フレーム内の平均雑音パワーPnが現フレーム内の平均音パワーPbより大きいとき、セレクタ66でフレーム長が短い振幅スペクトル|X(k)|を選択すると共にセレクタ76で更新制御値x=1を選択するようにしたが、|X(k)|の選択又はx=1の選択のいずれか一方を省略することもできる。|X(k)|の選択を省略した場合、算出部50には、|X(k)|として|X(k)|を供給すればよい。
【0096】
(h)上記した実施形態では、切出部32で切り出した512サンプルのデータに基づいてフレーム内の平均音パワーを算出部62で算出したが、算出部62では、切出部16で切り出した4096サンプルのデータに基づいてフレーム内の平均音パワーを算出するようにしてもよい。
【0097】
(i)上記した実施形態では、スペクトルの時間変化により敏感な短いフレーム長の振幅スペクトル|X(k)|からスペクトル包絡を抽出するようにしたので、より時間反応のよい雑音振幅スペクトルを算出できる。しかしながら、スペクトル包絡の抽出対象は、振幅スペクトル|X(k)|に限らず、振幅スペクトル|X(k)|でもよく、あるいはユーザが|X(k)|又は|X(k)|を任意に切換えできるようにしてもよい。
【0098】
(j)雑音増大判定処理において、記憶した過去のパワーデータに基づく処理(図3のANDゲート74の右側入力に至る処理)は省略してもよい。また、雑音減少判定処理において、過去のパワーデータに基づく処理を採用するようにしてもよい。
【0099】
(k)この発明の雑音スペクトル推定方法は、雑音抑圧以外の用途にも適用することができる。また、この発明は、小型コンピュータ等を用いて実施することもできる。
【図面の簡単な説明】
【0100】
【図1】この発明の一実施形態に係る雑音抑圧装置の構成を示すブロック図である。
【図2】雑音抑圧装置の動作を説明するためのタイムチャートである。
【図3】雑音推定部を示すブロック図である。
【図4】雑音抑圧演算部を示すブロック図である。
【図5】(A)は、クリーンスピーチ区間及びノイジィスピーチ区間について音声信号の振幅変化を示す波形図、(B)は、(A)と同様の区間について音声パワー及び推定雑音パワーの変化を示す波形図である。
【図6】変形例に係る雑音推定式における相関値ρに対する2種類の係数値の変化を第1の更新制御値xをパラメータとして示すグラフである。
【図7】変形例に係る雑音推定式における相関値ρに対する2種類の係数値の変化を第2の更新制御値mをパラメータとして示すグラフである。
【図8】発明者の研究に係る雑音抑圧処理を示すフローチャートである。
【符号の説明】
【0101】
12:雑音抑圧部、14:雑音スペクトル出力部、22:雑音推定部、40:雑音抑圧演算部、60,62:パワー算出部、64,72:比較部、66,76:セレクタ、68:記憶部、70:最小値検出部、74:ANDゲート。

【特許請求の範囲】
【請求項1】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記前フレームの雑音スペクトルに基づいて現フレームの雑音スペクトルを推定するステップと、
前記平均雑音パワーと前記平均音パワーとを比較し、その比較結果に応じて前記現フレームの雑音スペクトルの推定態様を制御するステップと
を含む雑音スペクトル推定方法。
【請求項2】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されないときは前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定し、前記検知するステップで前記平均雑音パワーの方が大きいことが検知されたときは前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定するステップと
を含む雑音スペクトル推定方法。
【請求項3】
前記現フレームの雑音スペクトルを推定するステップでは、前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとを混合して前記現フレームの雑音スペクトルを推定し、その推定の際には前記検知するステップで前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第1のスペクトルの混合比率を増大すべく制御することを特徴とする請求項2記載の雑音スペクトル推定方法。
【請求項4】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御するステップと
を含む雑音スペクトル推定方法。
【請求項5】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより小さいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が小さいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御するステップと
を含む雑音スペクトル推定方法。
【請求項6】
前記現フレームの雑音スペクトルを推定するステップでは、前記前フレームの平均雑音パワーと該前フレームより前の複数フレームの平均雑音パワーとを記憶すると共に記憶に係る平均雑音パワーのうちで最小の平均雑音パワーを検知し、検知に係る最小の平均雑音パワーと前記前フレームの平均雑音パターとを比較して前記前フレームの平均雑音パワーの方が前記検知に係る最小の平均雑音パワーより小さいことを条件として前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御することを特徴とする請求項5記載の雑音スペクトル推定方法。
【請求項7】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記前フレームの雑音スペクトルに基づいて現フレームの雑音スペクトルを推定するステップと、
前記平均雑音パワーと前記平均音パワーとを比較し、その比較結果に応じて前記現フレームの雑音スペクトルの推定態様を制御するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含む雑音抑圧方法。
【請求項8】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されないときは前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定し、前記検知するステップで前記平均雑音パワーの方が大きいことが検知されたときは前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含む雑音抑圧方法。
【請求項9】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含む雑音抑圧方法。
【請求項10】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を得るステップと、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を得た後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を得るステップと、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加するステップと、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを得るステップと、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを得た後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを得るステップと、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定するステップと、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出するステップと、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出するステップと、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより小さいことを検知するステップと、
前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定するステップと、
前記検知するステップで前記平均雑音パワーの方が小さいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御するステップと、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを得るステップと
を含む雑音抑圧方法。
【請求項11】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記前フレームの雑音スペクトルに基づいて現フレームの雑音スペクトルを推定する第2の推定手段と、
前記平均雑音パワーと前記平均音パワーとを比較し、その比較結果に応じて前記現フレームの雑音スペクトルの推定態様を制御する制御手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えた雑音抑圧装置。
【請求項12】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知する検知手段と、
前記検知手段で前記平均雑音パワーの方が大きいことが検知されないときは前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとに基づいて現フレームの雑音スペクトルを推定し、前記検知手段で前記平均雑音パワーの方が大きいことが検知されたときは前記前フレームの雑音スペクトルと前記現フレームの第1のスペクトルとに基づいて現フレームの雑音スペクトルを推定する第2の推定手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えた雑音抑圧装置。
【請求項13】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより大きいことを検知する検知手段と、
前記前フレームの雑音スペクトルと前記現フレームの第1及び第2のスペクトルのうちのいずれか一方のスペクトルとを混合して現フレームの雑音スペクトルを推定する第2の推定手段と、
前記検知手段で前記平均雑音パワーの方が大きいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記一方のスペクトルの混合比率を増大すべく制御する制御手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えた雑音抑圧装置。
【請求項14】
入力音波形のサンプル列を比較的短い第1のフレーム長で切り出して現フレームの第1のサンプル列を生成する第1の切出手段と、
前記入力音波形のサンプル列を比較的長い第2のフレーム長で前記現フレームより前に切り出して前フレームの第2のサンプル列を生成した後、前記入力音波形のサンプル列を前記第2のフレーム長で前記現フレームに同期して切り出して現フレームの第2のサンプル列を生成する第2の切出手段と、
前記現フレームの第1のサンプル列のフレーム長が前記現フレームの第2のサンプル列のフレーム長と等しくなるように前記現フレームの第1のサンプル列の末尾にゼロデータを付加する付加手段と、
前記ゼロデータが付加された現フレームの第1のサンプル列を周波数分析して現フレームの第1のスペクトルを生成する第1の分析手段と、
前記前フレームの第2のサンプル列を周波数分析して前フレームの第2のスペクトルを生成した後、前記現フレームの第2のサンプル列を周波数分析して現フレームの第2のスペクトルを生成する第2の分析手段と、
前記前フレームの第2のスペクトルに基づいて前フレームの雑音スペクトルを推定する第1の推定手段と、
前記前フレームの雑音スペクトルに基づいて前フレーム内の平均雑音パワーを算出する第1の算出手段と、
前記現フレームの第1及び第2のサンプル列のうちのいずれか一方のサンプル列に基づいて現フレーム内の平均音パワーを算出する第2の算出手段と、
前記平均雑音パワーと前記平均音パワーとを比較して前記平均雑音パワーの方が前記平均音パワーより小さいことを検知する検知手段と、
前記前フレームの雑音スペクトルと前記現フレームの第2のスペクトルとを混合して現フレームの雑音スペクトルを推定する第2の推定手段と、
前記検知手段で前記平均雑音パワーの方が小さいことが検知されるのに応答して前記前フレームの雑音スペクトルに対する前記現フレームの第2のスペクトルの混合比率を増大すべく制御する制御手段と、
前記現フレームの第1のスペクトルから前記現フレームの雑音スペクトルを減算して雑音が抑圧された音スペクトルを生成する減算手段と
を備えた雑音抑圧装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−212704(P2007−212704A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−31909(P2006−31909)
【出願日】平成18年2月9日(2006.2.9)
【出願人】(899000068)学校法人早稲田大学 (602)
【出願人】(000004075)ヤマハ株式会社 (5,930)