(57)【特許請求の範囲】
【請求項１】
音声に雑音が重畳して時間とともに進行する観測信号を、該観測信号が進行する所定の時間間隔毎に、該時間間隔と同じかまたは該時間間隔よりも長い第１の信号長で切り出し、
前記第１の信号長で切り出された観測信号のスペクトルを第１のスペクトルとして分析し、
前記観測信号を、前記所定の時間間隔毎または適宜の時間毎に、その先頭を前記第１の信号長で切り出される観測信号の先頭に揃えて、該第１の信号長よりも長い第２の信号長で切り出し、
前記第２の信号長で切り出された観測信号のスペクトルを第２のスペクトルとして分析し、
前記第２のスペクトルに基づいて、前記観測信号に含まれる雑音のスペクトルを推定演算し、
雑音が抑圧された音声のスペクトルを求めるために、前記所定の時間間隔毎に、前記第１のスペクトルから前記雑音のスペクトルを減算し、
前記所定の時間間隔毎に、前記求められた音声のスペクトルを時間領域の信号に変換し、
前記変換された時間領域の信号を相互に連結して、雑音が抑圧された一連の音声を得る雑音抑圧方法であって、
前記第１のスペクトルの分析に使用する前記観測信号の信号長を、前記第２の信号長と同じ長さに揃えるために、前記第１の信号長で切り出された観測信号の末尾に後続して所定長の零信号を付加し、
前記零信号が付加された観測信号について前記第１のスペクトルの分析を行い、
前記分析された第１のスペクトルから前記雑音のスペクトルを減算し、
前記減算処理により得られた音声のスペクトルを前記時間領域の信号へ変換し、
前記時間領域の信号を前記第１の信号長に戻すために前記時間領域の信号の末尾から、前記零信号を付加した長さ分の信号を削除し、
前記第１の信号長に戻された時間領域の信号を相互に連結することを特徴とする雑音抑圧方法。
【請求項２】
請求項１記載の雑音抑圧方法であって、前記第２のスペクトルを平滑化処理し、該平滑化処理された第２のスペクトルに基づき前記雑音のスペクトルを推定演算することを特徴とする雑音抑圧方法。
【請求項３】
請求項１記載の雑音抑圧方法であって、前記推定された雑音のスペクトルを平滑化処理した後に前記減算処理を行うことを特徴とする雑音抑圧方法。
【請求項４】
請求項１記載の雑音抑圧方法であって、前記推定演算処理は、
前記第２のスペクトルを平滑化処理し、
前記平滑化処理された第２のスペクトルと該平滑化処理する前の前記第２のスペクトルとを比較し、
第２のスペクトルにおけるディップを除去するために、前記比較処理において周波数ポイント毎に大きい方の値を選択し、
前記ディップが除去された第２のスペクトルに基づき前記雑音のスペクトルを推定演算することを特徴とする雑音抑圧方法。
【請求項５】
請求項１記載の雑音抑圧方法であって、前記減算処理は、
前記推定された雑音のスペクトルを平滑化処理し、
前記平滑化処理された雑音のスペクトルと前記平滑化処理する前の雑音のスペクトルとを比較し、
雑音のスペクトルにおけるディップを除去するために、前記比較処理において周波数ポイント毎に大きい方の値を選択し、
前記ディップが除去された雑音のスペクトルを用いて前記第１のスペクトルとの減算を行うことを特徴とする雑音抑圧方法。
【請求項６】
請求項１に記載の雑音抑圧方法であって、前記所定の時間間隔が、前記第１の信号長の１／２の長さであることを特徴とする雑音抑圧方法。
【請求項７】
請求項６記載の雑音抑圧方法であって、前記時間領域の信号が前記所定の時間間隔毎に前記第１の信号長で得られる信号であり、該時間領域の信号に三角窓を掛け、該三角窓が掛けられた時間領域の信号を順次加算して前記信号相互の連結を行うことを特徴とする雑音抑圧方法。
【請求項８】
音声に雑音が重畳して時間とともに進行する観測信号を、該観測信号が進行する所定の時間間隔毎に、該時間間隔と同じかまたは該時間間隔よりも長い第１の信号長で切り出す第１の信号切り出し部と、
前記第１の信号切り出し部で切り出された観測信号のスペクトルを第１のスペクトルとして分析する第１のスペクトル分析部と、
前記観測信号を、前記所定の時間間隔毎または適宜の時間毎に、その先頭を前記第１の信号長で切り出される観測信号の先頭に揃えて、該第１の信号長よりも長い第２の信号長で切り出す第２の信号切り出し部と、
前記第２の信号切り出し部で切り出された観測信号のスペクトルを第２のスペクトルとして分析する第２のスペクトル分析部と、
前記第２のスペクトルに基づいて、前記観測信号に含まれる雑音のスペクトルを推定演算する雑音スペクトル推定演算部と、
雑音が抑圧された音声のスペクトルを求めるために、前記所定の時間間隔毎に、前記第１のスペクトルから前記雑音のスペクトルを減算する減算部と、
前記所定の時間間隔毎に、前記求められた音声のスペクトルを時間領域の信号に変換する時間領域変換部と、
前記変換された時間領域の信号を相互に連結して、雑音が抑圧された一連の音声を得る出力合成部と、を具備してなる雑音抑圧装置であって、
前記第１のスペクトル分析部が、前記第１のスペクトルの分析に使用する前記観測信号の信号長を、前記第２の信号長と同じ長さに揃えるために、前記第１の信号長で切り出された観測信号の末尾に後続して所定長の零信号を付加し、
前記第１のスペクトル分析部が、前記零信号が付加された観測信号について前記第１のスペクトルの分析を行い、
前記減算部が、前記分析された第１のスペクトルから前記雑音のスペクトルを減算し、
前記時間領域変換部が、前記減算処理により得られた音声のスペクトルを前記時間領域の信号へ変換し、
前記出力合成部が、前記時間領域の信号を前記第１の信号長に戻すために前記時間領域の信号の末尾から、前記零信号を付加した長さ分の信号を削除し、
前記出力合成部が、前記第１の信号長に戻された時間領域の信号を相互に連結することを特徴とする雑音抑圧装置。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、いわゆるスペクトルサブトラクション法により雑音を抑圧する方法およびその装置に関し、雑音抑圧性能を向上させたものである。
【背景技術】
【０００２】  音声に含まれる雑音を抑圧する技術として、スペクトルサブトラクション法がある。スペクトルサブトラクション法は、音声に雑音が重畳した観測信号のスペクトル（以下「観測信号スペクトル」という。）を求め、該観測信号スペクトルから雑音のスペクトル（以下「雑音スペクトル」という。）を推定し、該観測信号スペクトルから該雑音スペクトルを減算することにより、雑音を抑圧した音声のスペクトル（以下「音声スペクトル」という。）を得て、該音声スペクトルを時間領域の信号に変換することにより、雑音を抑制した音声を得るようにしたものである。【０００３】  スペクトルサブトラクション技術を開示した従来技術として、下記特許文献に記載されたものがある。
【特許文献１】特開平１１−３０９４号公報
【特許文献２】特開２００２−１４６９４号公報
【特許文献３】特開２００３−２２３１８６号公報
【０００４】  従来のスペクトルサブトラクション法は、雑音スペクトルの推定演算に用いる観測信号スペクトル（以下「雑音推定用スペクトル」という。）と、雑音スペクトルとの減算に用いられる被減算値としての観測信号スペクトル（以下「雑音抑圧用スペクトル」という。）に共通の観測信号スペクトルを使用していた。
【発明の開示】
【発明が解決しようとする課題】
【０００５】  スペクトルサブトラクション法の抑圧対象である雑音は定常雑音等の時間変化が少ない雑音であることから、雑音推定用スペクトルは、時間分解能よりは周波数分解能が重要である。これに対し、スペクトルサブトラクション法の抽出対象である音声は時間変化が大きい信号であるから、雑音抑圧用スペクトルは、時間分解能が高いことが重要である。ところが、従来のスペクトルサブトラクション法は、雑音推定用スペクトルと、雑音抑圧用スペクトルに共通の観測信号スペクトルを使用していたため、雑音推定用スペクトルに必要な周波数分解能と、雑音抑圧用スペクトルに必要な時間分解能を両立させることができず、雑音抑圧性能が十分ではなかった。【０００６】  この発明は、上述の点に鑑みてなされたもので、雑音推定用スペクトルに必要な周波数分解能と、雑音抑圧用スペクトルに必要な時間分解能を両立させて、雑音抑圧性能を向上させた雑音抑圧方法およびその装置を提供しようとするものである。
【課題を解決するための手段】
【０００９】
この発明の雑音抑圧方法は、音声に雑音が重畳して時間とともに進行する観測信号を、該観測信号が進行する所定の時間間隔毎に、該時間間隔と同じかまたは該時間間隔よりも長い第１の信号長で切り出し、前記第１の信号長で切り出された観測信号のスペクトルを第１のスペクトルとして分析し、前記観測信号を、前記所定の時間間隔毎または適宜の時間毎に、その先頭を前記第１の信号長で切り出される観測信号の先頭に揃えて、該第１の信号長よりも長い第２の信号長で切り出し、前記第２の信号長で切り出された観測信号のスペクトルを第２のスペクトルとして分析し、前記第２のスペクトルに基づいて、前記観測信号に含まれる雑音のスペクトルを推定演算し、雑音が抑圧された音声のスペクトルを求めるために、前記所定の時間間隔毎に、前記第１のスペクトルから前記雑音のスペクトルを減算し、前記所定の時間間隔毎に、前記求められた音声のスペクトルを時間領域の信号に変換し、前記変換された時間領域の信号を相互に連結して、雑音が抑圧された一連の音声を得る雑音抑圧方法であって、前記第１のスペクトルの分析に使用する前記観測信号の信号長を、前記第２の信号長と同じ長さに揃えるために、前記第１の信号長で切り出された観測信号の末尾に後続して所定長の零信号を付加し、前記零信号が付加された観測信号について前記第１のスペクトルの分析を行い、前記分析された第１のスペクトルから前記雑音のスペクトルを減算し、前記減算処理により得られた音声のスペクトルを前記時間領域の信号へ変換し、前記時間領域の信号を前記第１の信号長に戻すために前記時間領域の信号の末尾から、前記零信号を付加した長さ分の信号を削除し、前記第１の信号長に戻された時間領域の信号を相互に連結する。
【００１０】  この発明の雑音抑圧方法では、前記第２のスペクトルを平滑化処理し、該平滑化処理された第２のスペクトルに基づき前記雑音のスペクトルを推定演算する。あるいは、前記推定された雑音のスペクトルを平滑化処理した後に前記減算処理を行う。この平滑化処理により、雑音のスペクトルの実質的な周波数分解能は、第１のスペクトルの実質的な周波数分解能に等しくなる（または近づく）。このように雑音推定用スペクトルを長時間のデータを使うことにより高分解能で求めておいてから平滑化することで、１つ１つの減算結果（音声スペクトルデータ）の精度（有効性）が向上する。【００１１】  また、この発明の雑音抑圧方法では、前記推定演算処理は、前記第２のスペクトルを平滑化処理し、前記平滑化処理された第２のスペクトルと該平滑化処理する前の前記第２のスペクトルとを比較し、第２のスペクトルにおけるディップ（スペクトルにおける窪み）を除去するために、前記比較処理において周波数ポイント毎に大きい方の値を選択し、前記ディップが除去された第２のスペクトルに基づき前記雑音のスペクトルを推定演算する。あるいは、前記減算処理は、前記推定された雑音のスペクトルを平滑化処理し、前記平滑化処理された雑音のスペクトルと前記平滑化処理する前の雑音のスペクトルとを比較し、雑音のスペクトルにおけるディップを除去するために、前記比較処理において周波数ポイント毎に大きい方の値を選択し、前記ディップが除去された雑音のスペクトルを用いて前記第１のスペクトルとの減算を行う。すなわち、雑音のスペクトルの推定演算に用いる観測信号のスペクトルを分析すると、分析されたスペクトルに大きなディップが出て、これが処理雑音（信号処理に伴って新たに発生する雑音で、いわゆるミュージカルノイズ）となる場合がある。そこで、前記第２のスペクトルからディップを除去してから雑音のスペクトルを推定演算し、または、雑音のスペクトルからディップを除去してから前記第１のスペクトルとの減算を行うことにより、処理雑音の発生を抑制することができる。なお、この雑音のスペクトルの推定演算に用いる観測信号のスペクトルまたは雑音のスペクトルからディップを除去する手法は、雑音のスペクトルの推定演算に用いる観測信号のスペクトルを分析するために切り出す該観測信号の信号長を、雑音のスペクトルとの減算を行う被減算値としての観測信号のスペクトルを分析するために切り出す該観測信号の信号長よりも長く設定する場合に限らず、両信号長を等しく設定する場合にも適用することができる。【００１３】  この発明の雑音抑圧方法は、前記所定の時間間隔を、例えば、前記第１の信号長の１／２の長さに設定することができる。この場合、前記時間領域の信号を前記所定の時間間隔毎に前記第１の信号長で得られる信号とし、該時間領域の信号に三角窓を掛け、該三角窓が掛けられた時間領域の信号を順次加算して前記信号相互の連結を行うことができる。【００１５】
この発明の雑音抑圧装置は、音声に雑音が重畳して時間とともに進行する観測信号を、該観測信号が進行する所定の時間間隔毎に、該時間間隔と同じかまたは該時間間隔よりも長い第１の信号長で切り出す第１の信号切り出し部と、前記第１の信号切り出し部で切り出された観測信号のスペクトルを第１のスペクトルとして分析する第１のスペクトル分析部と、前記観測信号を、前記所定の時間間隔毎または適宜の時間毎に、その先頭を前記第１の信号長で切り出される観測信号の先頭に揃えて、該第１の信号長よりも長い第２の信号長で切り出す第２の信号切り出し部と、前記第２の信号切り出し部で切り出された観測信号のスペクトルを第２のスペクトルとして分析する第２のスペクトル分析部と、前記第２のスペクトルに基づいて、前記観測信号に含まれる雑音のスペクトルを推定演算する雑音スペクトル推定演算部と、雑音が抑圧された音声のスペクトルを求めるために、前記所定の時間間隔毎に、前記第１のスペクトルから前記雑音のスペクトルを減算する減算部と、前記所定の時間間隔毎に、前記求められた音声のスペクトルを時間領域の信号に変換する時間領域変換部と、前記変換された時間領域の信号を相互に連結して、雑音が抑圧された一連の音声を得る出力合成部と、を具備してなる雑音抑圧装置であって、前記第１のスペクトル分析部が、前記第１のスペクトルの分析に使用する前記観測信号の信号長を、前記第２の信号長と同じ長さに揃えるために、前記第１の信号長で切り出された観測信号の末尾に後続して所定長の零信号を付加し、前記第１のスペクトル分析部が、前記零信号が付加された観測信号について前記第１のスペクトルの分析を行い、前記減算部が、前記分析された第１のスペクトルから前記雑音のスペクトルを減算し、前記時間領域変換部が、前記減算処理により得られた音声のスペクトルを前記時間領域の信号へ変換し、前記出力合成部が、前記時間領域の信号を前記第１の信号長に戻すために前記時間領域の信号の末尾から、前記零信号を付加した長さ分の信号を削除し、前記出力合成部が、前記第１の信号長に戻された時間領域の信号を相互に連結する。
【図面の簡単な説明】
【００１６】
【図１】この発明の雑音抑圧方法を利用した雑音抑圧処理の処理手順の概要を示すフローチャートである。
【図２】図１の雑音抑圧処理の動作説明図である。
【図３】図１の雑音抑圧処理を実行するための雑音抑圧装置の実施の形態を示す機能ブロックである。
【図４】図２ディップ除去部２２の動作を説明するスペクトル線図である。
【図５】図３の雑音推定部２８と抑圧演算部４０の具体例を示すブロック図である。
【図６】従来のスペクトルサブトラクション法とこの発明によるスペクトルサブトラクション法について、定常雑音を入力したときの出力波形の違いを示す波形図である。
【図７】この発明の雑音抑圧装置に雑音付き音声を入力した場合の波形図である。
【符号の説明】
【００１７】  １６…フレーム切出し部（第２の信号切り出し部）
１８…高速フーリエ変換部（第２のスペクトル分析部）
２２…ディップ除去部
２４…平滑化処理部
２８…雑音推定部（雑音スペクトル推定演算部）
３２…フレーム切出し部（第１の信号切り出し部）
３８…高速フーリエ変換部（第１のスペクトル分析部）
４２…逆高速フーリエ変換部（時間領域変換部）
４４…出力合成部（出力合成部）
６０…スペクトル減算部（減算部）
【発明を実施するための最良の形態】
【００１８】  この発明の実施の形態を以下説明する。図１は、この発明の雑音抑圧方法を利用した雑音抑圧処理の処理手順の概要を示す。図２は、図１の雑音抑圧処理の動作説明図である。図１において、雑音抑圧対象である観測信号ｘ０（ｎ）（ｎ＝０，１，２，…）は、マイク等で収音された、雑音を含む音声信号（例えば、電話通信で受信された音声信号、音声認識のために入力された信号等）のサンプル列であり、目的とする話者等の音声に背景雑音等の定常雑音が混入した雑音付き音声信号である。観測信号ｘ０（ｎ）は、雑音抑圧用スペクトルの分析用と、雑音推定用スペクトルの分析用とで別々のフレーム長（信号長すなわち時間窓長）でフレーム切り出し（信号切り出し）が行われる（Ｓ１，Ｓ２）。すなわち、雑音抑圧用スペクトルの分析用フレームの切り出し（Ｓ１）は、観測信号ｘ０（ｎ）を相対的に短いフレーム長Ｔ１で切り出すことにより行われ（以下、この相対的に短いフレーム長Ｔ１を「雑音抑圧用フレーム長」、該フレーム長で切り出される観測信号ｘ０（ｎ）のフレームを「雑音抑圧用フレーム」とそれぞれいう。）、雑音推定用スペクトルの分析用フレームの切り出し（Ｓ２）は、観測信号ｘ０（ｎ）を相対的に長いフレーム長Ｔ２で切り出すことにより行われる（以下、この相対的に長いフレーム長Ｔ２を「雑音推定用フレーム長」、該フレーム長で切り出される観測信号ｘ０（ｎ）のフレームを「雑音推定用フレーム」とそれぞれいう。）。これら雑音抑圧用フレームと雑音推定用フレームの切り出し（Ｓ１，Ｓ２）は、雑音抑圧用フレームと雑音推定用フレームの先頭を揃えて｛つまり、両フレームの先頭に同一時刻の観測信号サンプル（最新のサンプル）を配置して｝、観測信号が雑音抑圧用フレーム長Ｔ１の１／２の時間を進行する毎に繰り返し行われる。切り出された雑音抑圧用フレームの末尾（該フレーム中の最古のサンプル）には、該最古のサンプルに後続して所定長の零データ（信号値が零のサンプルデータすなわち零信号）が付加されて、そのフレーム長が、形式的（擬似的）に、雑音推定用フレーム長Ｔ２と同じ長さに揃えられる（Ｓ３）。この処理を行うのは、雑音抑圧用スペクトルから雑音スペクトルを減算するためには、これら両スペクトルのデータ数（周波数ポイント数）が揃っている必要があるためである。すなわち、雑音スペクトルのデータ数は雑音推定用スペクトルのデータ数に等しく、雑音抑圧用スペクトルのデータ数を雑音推定用スペクトルのデータ数に揃えるためには、周波数領域のデータに変換する前の時間領域でのデータ数（サンプル数）を、雑音抑圧用フレームと雑音推定用フレームとで揃える必要がある。なお、雑音抑圧用フレーム長Ｔ１は、抽出対象の音声が話者音声である場合には、例えば、２０〜３２ｍｓｅｃに設定することができる。雑音推定用フレーム長Ｔ２は、抑圧対象の雑音が部屋の空調ノイズである場合には、例えば、雑音抑圧用フレーム長Ｔ１の８倍程度の長さ（例えば２５６ｍｓｅｃ）に設定することができる。【００１９】  図２の「（ａ）雑音抑圧前の処理」は、上記ステップＳ１〜Ｓ３による動作を示す。すなわち、観測信号が新たにＭ／２サンプル入力される毎（Ｔ１／２時間毎）に、最新のＭサンプルの��測信号が雑音抑圧用フレームとして切り出され（つまり、雑音抑圧用フレームは、Ｍ／２サンプルずつオーバーラップして切り出される。）、最新のＮサンプル（Ｎ＞Ｍ。図２では、Ｎ＝８Ｍに設定した場合を示す。）の観測信号が雑音推定用フレームとして切り出される。雑音抑圧用フレームの末尾には、Ｎ−Ｍサンプル分の零データが付加されて、雑音抑圧用フレームのフレーム長が、形式的に、雑音推定用フレーム長Ｔ２と同じ長さに揃えられる。【００２０】  図１において、零データが付加された雑音抑圧用フレームのデータは、該雑音抑圧用フレームのデータが切り出される毎（すなわち、観測信号のＭ／２サンプルの時間間隔毎）に高速フーリエ変換（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）されて、周波数領域のデータすなわち雑音抑圧用スペクトルＸ１（ｋ）に変換される（Ｓ４）。また、雑音推定用フレームのデータは、該雑音推定用フレームのデータが切り出される毎（すなわち、観測信号のＭ／２サンプルの時間間隔毎）に高速フーリエ変換されて、周波数領域の信号すなわち雑音推定用スペクトルＸ２（ｋ）に変換される（Ｓ５）。そして、雑音推定用スペクトルＸ２（ｋ）が求められる都度（すなわち、観測信号のＭ／２サンプルの時間間隔毎に）、該雑音推定用スペクトルＸ２（ｋ）は適宜のディップ除去処理または平滑化処理が施される（Ｓ６）。さらに、このディップ除去処理または平滑化処理が施される毎（すなわち、観測信号のＭ／２サンプルの時間間隔毎）に、該ディップ除去処理または平滑化処理された雑音推定用スペクトルＸ２’（ｋ）と、前回の雑音スペクトルの推定値とに基づいて、今回の雑音スペクトルＮ（ｋ）を推定する演算が行われる（Ｓ７）。【００２１】  また、雑音抑圧用スペクトルＸ１（ｋ）と雑音スペクトルＮ（ｋ）が求められる毎（すなわち、観測信号のＭ／２サンプルの時間間隔毎）に、雑音抑圧用スペクトルＸ１（ｋ）から雑音スペクトルＮ（ｋ）が減算されて、雑音が抑圧された音声スペクトルＧ（ｋ）が求められる（Ｓ８）。この音声スペクトルＧ（ｋ）は、逆高速フーリエ変換（Ｉ−ＦＦＴ）されて、時間領域の信号すなわち音声信号に変換される（Ｓ９）。観測信号のＭ／２サンプルの時間間隔毎に得られる各フレームの音声信号は、相互に連結されて（Ｓ１０）、連続した音声信号ｇ（ｎ）となって出力され、スピーカからの発声や、話者の音声認識処理等に利用される。【００２２】  図２の「（ｂ）雑音抑圧後の処理」は、上記ステップＳ１０のフレーム合成動作を示す。すなわち、逆高速フーリエ変換（Ｓ９）により得られたＮサンプルのフレームの末尾から、零データを付加した分のＮ−Ｍサンプルを削除して、元のＭサンプルのフレームに戻す。そして、観測信号のＭ／２サンプルの時間間隔毎に得られる各Ｍサンプルのフレームのデータに三角窓を掛けて｛すなわち、１フレーム長（Ｍサンプル分の時間長）の前半の１／２フレームでゲインが０から１に直線的に上昇し、後半の１／２フレームでゲインが１から０に下降する特性のゲインを付与し｝、フレームを相互に加算して（すなわち、１／２フレームずつオーバーラップして加算される）、連続した音声信号を作成する。これにより、フレーム間に切れ目や���差の無い連続した音声信号が得られる。【００２３】  次に、以上説明した図１の雑音抑圧処理を実行するための雑音抑圧装置の実施の形態を説明する。この実施の形態では、
・サンプリング周波数＝１６ｋＨｚ
・Ｍ（雑音抑圧用フレーム長Ｔ１）＝５１２サンプル（３２ｍｓｅｃ長に相当）
・Ｎ（雑音推定用フレーム長Ｔ２）＝４０９６サンプル（２５６ｍｓｅｃ長に相当）
に設定した場合について説明する。図３に雑音抑圧装置の機能ブロックを示す。入力信号（雑音付き音声信号）ｘ０（ｎ）は、雑音スペクトル出力部１０と雑音抑圧部１２に共通に入力される。雑音スペクトル出力部１０に入力された雑音付き音声信号は、始めに雑音推定用スペクトル分析部１４で、雑音推定用の周波数分析が行われる。すなわち、フレーム切出し部１６は、新たにＭ／２サンプル（２５６サンプル）の入力信号が入力される毎に、最新のＮ（４０９６）サンプルの入力信号を切り出す。高速フーリエ変換部１８は、切り出されたフレームを高速フーリエ変換して、周波数領域のデータすなわちスペクトルデータ（離散フーリエ変換）Ｘ２（ｋ）（ｋ＝０，１，２，…）に変換する。振幅スペクトル計算部２０は、求められたスペクトルデータＸ２（ｋ）から、その振幅スペクトルを求める。【００２４】  ディップ除去部２２は、求められた振幅スペクトルのディップすなわち周波数特性上の窪みを除去する。ディップ除去処理は例えば次のようにして行われる。すなわち、始めに振幅スペクトルを平滑化処理部２４で平滑化処理する。平滑化処理のアルゴリズムとしては、例えば移動平均法を用いることができる。移動平均法では、所定数の連続した周波数ポイント（すなわち所定の周波数帯域幅）における振幅の平均値を該周波数帯域の中央の周波数ポイントの振幅値として置き換える。１回の平均で使用する連続した周波数ポイントの点数（すなわち、平均値を求める周波数帯域幅）は、例えば８点とすれば、平滑化された振幅スペクトル（雑音推定用振幅スペクトル）の実質的な周波数分解能は、雑音抑圧用振幅スペクトルの実質的な周波数分解能に等しくなる。この平均値算出および振幅値の置き換えを、周波数ポイントを１ポイントずつずらして実行し、全周波数帯域にわたり平滑化した振幅スペクトルを求める。【００２５】  平滑化処理部２４における平滑化処理のアルゴリズムとしては、移動平均法のほかに、移動メディアン法を用いることもできる。移動メディアン法では、所定数（例えば８点）の連続した周波数ポイント（すなわち所定の周波数帯域幅）の中で、振幅値の中央値を該周波数帯域の中央の周波数ポイントの振幅値として置き換える。そして、この振幅値の中央値の抽出および振幅値の置き換えを、周波数ポイントを１ポイントずつずらして実行し、全周波数帯域にわたり平滑化した振幅スペクトルを求める。【００２６】  ディップ除去部２２において、比較部２６は、平滑化処理部２４で平滑化された振幅スペクトルと平滑化される前の振幅スペクトルとを比較して、周波数ポイント毎に大きい方の値を選択し、該選択した値を繋いで構成される一連の特性を、雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜として出力する。これにより、ディップが除去された雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜が得られる。【００２７】  図４は、ディップ除去部２２の動作を示す｛全振幅スペクトルの一部の周波数領域（０〜１００Ｈｚ）のみを拡大して示す。｝。平滑化する前の振幅スペクトルＡと移動平均法で平滑化した振幅スペクトルＢが比較され、周波数ポイント毎に黒点で示す大きい方の値が選択されて、該選択された値を繋いで構成される一連の特性が、ディップが除去���れた振幅スペクトルとしてディップ除去部２２から出力される。これにより、振幅スペクトルＡのディップ（谷）が除去され、処理雑音が低減される。【００２８】  なお、図３の比較部２６をなくして、平滑化処理部２４の出力信号（すなわち、移動平均法、移動メディアン法等で平滑化された振幅スペクトル）を雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜として雑音推定用スペクトル分析部１４から出力する（すなわち、ディップ除去部２２に代えて、平滑化処理部２４のみを配置する）こともできる。【００２９】  図３において、雑音推定部２８は、ディップが除去されあるいは平滑化された振幅スペクトルに基づき、任意の推定アルゴリズムで、観測信号に含まれる雑音の振幅スペクトル（以下「雑音振幅スペクトル」という。）を推定演算する。なお、ディップ除去部２２（あるいは、ディップ除去部２２に代えて平滑化処理部２４）は、雑音推定部２８の前に配置する代わりに、雑音推定部２８の後に配置することもできる。【００３０】  一方、雑音抑圧部１２に入力された入力信号（雑音付き音声信号）ｘ０（ｎ）は、始めに抑圧用スペクトル分析部３０で雑音抑圧用（すなわち、雑音スペクトルが減算される被減算値としての観測信号スペクトルの作成用）の周波数分析が行われる。すなわち、フレーム切出し部３２は、新たにＭ／２サンプル（２５６サンプル）の入力信号が入力される毎に、最新のＭ（５１２）サンプルの入力信号を切り出す。零データ発生部３４は、Ｎ−Ｍ（３５８４）サンプル分の零データを発生する。加算部３６は、フレーム切出し部３２で切り出されたＭサンプルの入力信号の末尾にＮ−Ｍサンプル分の零データを付加して、該切り出された入力信号を、形式的に、雑音推定用フレーム長Ｔ２と同じ長さに揃える。高速フーリエ変換部３８は、この零データが付加されたデータを高速フーリエ変換して、周波数領域のデータすなわちスペクトルデータ（離散フーリエ変換）Ｘ１ｋ）（ｋ＝０，１，２，…）に変換し、雑音抑圧用スペクトルとして出力する。【００３１】  抑圧演算部４０は、抑圧用スペクトル分析部３０から出力される雑音抑圧用スペクトルＸ１（ｋ）と、雑音スペクトル出力部１０から出力される雑音振幅スペクトル｜Ｎ（ｋ）｜に基づき、任意の抑圧アルゴリズムで雑音抑圧処理を行う。抑圧演算部４０から出力される雑音が抑圧された音声スペクトルＧ（ｋ）は、逆高速フーリエ変換部４２で逆高速フーリエ変換されて、時間領域の信号に戻される。逆高速フーリエ変換部４２から出力される信号は、Ｎ（４０９６）サンプルのデータであるので、出力合成部４４で、零データを付加した分の下位Ｎ−Ｍ（３５８４）サンプルが除去されて、元のＭ（５１２）サンプルのデータに戻され、さらにフレームどうしが連結されて、連続した音声信号ｇ（ｎ）として出力される。【００３２】  雑音推定部２８と抑圧演算部４０の具体例を図５に示す。雑音推定部２８において、スペクトル包絡線抽出部４５は、図３の雑音推定用スペクトル分析部１４から出力される雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜に含まれる細かな凹凸特性を除去して、該雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜の包絡線｜Ｘ２’（ｋ）｜を抽出するものである。これは、後述する相関値算出において、雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜そのものを用いると、スペクトルの相関値が低くなり、「音声区間」と「雑音区間」の区別が明確でなくなるためである。すなわち、雑音は、長時間観測を繰り返してそのスペクトルを平均してみれば、そのスペクトルは広い帯域にわたってほぼ一様となる滑らかな分布となることが期待できる。しかし、短時間で見れば多くの山谷を有するスペクトルの変動が観察される。一方、音声は、雑音とは異なり、その全体的な周波数特性は特定の周波数帯域に大きな振幅値を持っており、全周波数帯域に一様に分布していない。この具体例では、この「全周波数帯域に一様に分布する雑音」と、「ある特定の周波数帯域に大きな振幅値を持つ音声」を、スペクトルの相関値の大小で区別して雑音スペクトルを推定するので、雑音振幅スペクトルが持っている細かな凹凸特性を除去する。【００３３】  スペクトル包絡線抽出部４５は、例えば、雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を時間波形と見立ててローパスフィルタ処理をすることにより、包絡線を抽出する。ローパスフィルタ処理は、例えば、雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を直接ローパスフィルタにかける、あるいは雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を周波数軸方向に移動平均処理をする等により行うことができる。また、スペクトル包絡線抽出部４５により雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜の包絡線｜Ｘ２’（ｋ）｜を抽出する別の方法として、雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜をさらにフーリエ変換してケプストラムによって求める方法もある。【００３４】  雑音振幅スペクトル初期値出力部４６は雑音振幅スペクトルの初期値を出力する。すなわち、本装置の起動当初は、参照する雑音振幅スペクトルデータがないため、初期値を設定する。雑音振幅スペクトル初期値の設定方法としては、例えば、次の方法が考えられる。
（方法１）起動直後に入力された、音声の混入していない背景雑音のみのデータをフーリエ変換し、該フーリエ変換されたデータから求められる振幅スペクトルデータを雑音振幅スペクトル初期値として設定する。
（方法２）予め背景雑音に相当する振幅スペクトルデータをメモリに保持しておき、起動時にそれを読み出して雑音振幅スペクトル初期値として設定する。あるいは、予め背景雑音に相当する振幅スペクトルデータの包絡線データをメモリに保持しておき、起動時にそれを読み出して雑音振幅スペクトル包絡線データの初期値として設定する。
（方法３）ホワイトノイズやピンクノイズの振幅スペクトルデータを雑音振幅スペクトル初期値として設定する。【００３５】  雑音振幅スペクトル更新部４８は、後述する雑音振幅スペクトル算出部５０で半フレーム（Ｔ１／２）ごとに求められる雑音振幅スペクトル｜Ｎ（ｋ）｜を順次入力し、半フレーム分遅延して、前回（半フレーム前）観測された信号区間の観測信号について推定された雑音振幅スペクトル｜Ｎ０（ｋ）｜として順次出力するものである。起動当初は雑音振幅スペクトル｜Ｎ（ｋ）｜は未だ推定されていないので、雑音振幅スペクトル更新部４８は雑音振幅スペクトル初期値出力部４６で設定された雑音振幅スペクトルの初期値を出力する。スペクトル包絡線抽出部５２は、スペクトル包絡線抽出部４５と同様の方法により、雑音振幅スペクトル｜Ｎ０（ｋ）｜の包絡線｜Ｎ０’（ｋ）｜を抽出する。【００３６】  相関値算出部５４は、スペクトル包絡線抽出部４５で抽出された現フレームの雑音推定用振幅スペクトル包絡線｜Ｘ’２（ｋ）｜と、スペクトル包絡線抽出部５２で抽出された雑音振幅スペクトル包絡線｜Ｎ０’（ｋ）｜の相関値（相関係数）ρを求める。相関値ρは、
雑音推定用振幅スペクトル包絡線｜Ｘ’２（ｋ）｜＝ｘｋ（但し、ｋ＝１，２，…，Ｋ）
雑音振幅スペクトル包絡線を｜Ｎ０’（ｋ）｜＝ｙｋ（但し、ｋ＝１，２，…，Ｋ）
とすると、（１）式により求められる。
【数１】
0004958303.tif 000002
【００３７】  雑音振幅スペクトル算出部５０は、求められた相関値ρに応じて、現在観測されている信号区間の音声信号について雑音振幅スペクトル｜Ｎ（ｋ）｜を、（２）式により求める。
｜Ｎ（ｋ）｜＝［１−｛ρｌ／（１＋ρｌ）｝ｍ］・｜Ｎ０（ｋ）｜＋｛ρｌ／（１＋ρｌ）｝ｍ・｜Ｘ２（ｋ）｜  …（２）
但し、｜Ｎ（ｋ）｜：現在観測されているフレームの音声信号について推定される雑音振幅スペクトル
｜Ｎ０（ｋ）｜：前回（半フレーム前）観測されたフレームの音声信号について推定された雑音振幅スペクトル
｜Ｘ２（ｋ）｜：現在観測されているフレームの雑音推定用振幅スペクトル
ρ：現在観測されているフレームの音声信号のスペクトルの包絡線と前回観測されたフレームの音声信号について推定された雑音のスペクトルの包絡線との相関値
ｌ，ｍ：定数（ｌは１以上の値、ｍは０以上の値）【００３８】  （２）式は、前回｛半フレーム（Ｔ１／２）前｝推定した雑音振幅スペクトル｜Ｎ０（ｋ）｜と、今回算出した雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を、求められた相関値ρに応じた比率で加算して、新たな雑音振幅スペクトル｜Ｎ（ｋ）｜を推定するものである。すなわち、相関値ρが低いときは、入力信号に含まれる音声成分が多い（つまり、有音区間）と判断されるので、前回推定した雑音振幅スペクトル｜Ｎ０（ｋ）｜の比率を高くし、今回算出した雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を比率を低くして加算する。つまり、雑音振幅スペクトル｜Ｎ（ｋ）｜が音声成分の影響で変化しないようにする。これに対し、相関値ρが高いときは、入力信号に含まれる音声成分が少ない（つまり、無音区間）と判断されるので、前回推定した雑音振幅スペクトル｜Ｎ０（ｋ）｜の比率を低くし、今回算出した雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を比率を高くして加算する。つまり、雑音振幅スペクトル｜Ｎ（ｋ）｜が、定常雑音の緩やかな変化に追従して変化するようにする。そして、相関値ρが限りなく１に近いときに、前回推定した雑音振幅スペクトル｜Ｎ０（ｋ）｜と、今回算出した雑音推定用振幅スペクトル｜Ｘ２（ｋ）｜を同じ比率（０．５：０．５）で加算する。このようにして、主に無音区間で雑音振幅スペクトルが更新される。【００３９】  （２）式において、ｌは、低相関値に対する感度を調整するための定数である。ｌ値が大きいほど低相関時の雑音振幅スペクトル推定値の更新量が少なくなる。また、（２）式において、ｍは、更新量を調整するための定数である。ｍ値が大きいほど更新量が少なくなる。【００４０】  抑圧演算部４０に入力される雑音抑圧用スペクトルＸ１（ｋ）は、振幅スペクトル計算部５６と位相スペクトル計算部５８に入力される。振幅スペクトル計算部５６は、（３）式により雑音抑圧用スペクトルＸ１（ｋ）の振幅スペクトル｜Ｘ１（ｋ）｜を求める。
｜Ｘ１（ｋ）｜＝｛ＸＲ（ｋ）２＋ＸＩ（ｋ）２｝１／２  …（３）
但し、ＸＲ（ｋ）：Ｘ１（ｋ）の実数部
ＸＩ（ｋ）：Ｘ１（ｋ）の虚数部
また、位相スペクトル計算部５８は、（４）式により雑音抑圧用スペクトルＸ１（ｋ）の位相スペクトルθ（ｋ）を求める。
θ（ｋ）＝ｔａｎ−１｛ＸＩ（ｋ）／ＸＲ（ｋ）｝  …（４）【００４１】  スペクトル減算部６０は、（５）式により、振幅スペクトル計算部５６で求めた現フレームの雑音抑圧用振幅スペクトル｜Ｘ１（ｋ）｜から、雑音推定部２８で求めた現フレームの雑音振幅スペクトル｜Ｎ（ｋ）｜を減算することにより、雑音振幅スペクトルを除去した現フレームの音声信号の振幅スペクトル｜Ｙ（ｋ）｜を求める。
｜Ｙ（ｋ）｜＝｜Ｘ１（ｋ）｜−｜Ｎ（ｋ）｜  …（５）
なお、｜Ｘ１（ｋ）｜−｜Ｎ（ｋ）｜が負の値となる周波数ポイントでは、引き過ぎであるので、減算値｜Ｙ（ｋ）｜を負の値のままとせずに、零とするのがよい。【００４２】  再合成部６２は、スペクトル減算部６０で求めた現フレームの音声信号の振幅スペクトル｜Ｙ（ｋ）｜と、位相スペクトル計算部５８で求めた現フレームの雑音抑圧用スペクトルＸ１（ｋ）の位相スペクトルθ（ｋ）とを再合成して、（６）式に示す複素スペクトルすなわち雑音が抑圧された音声スペクトルＧ（ｋ）を作成する。
Ｇ（ｋ）＝｜Ｙ（ｋ）｜ｅθ（ｋ）  …（６）
作成された音声スペクトルＧ（ｋ）は、図３の逆高速フーリエ変換部４２に供給される。【００４３】  図６は、雑音抑圧装置に定常雑音を入力したときの出力波形を示す。（ａ）は原雑音である。（ｂ）、（ｃ）は、従来のスペクトルサブトラクションによる手法すなわち観測信号の切り出しフレーム長を雑音推定用と雑音抑圧用とで共通にしたときの雑音抑圧出力であり、（ｂ）は、両切り出しフレーム長を３２ｍｓｅｃに設定したときのもの、（ｃ）は、両切り出しフレーム長を２５６ｍｓｅｃに設定したときのものである。（ｄ）、（ｅ）は、この発明による雑音抑圧方法による雑音抑圧出力であり、いずれも切り出しフレーム長を、雑音推定用（Ｔ２）を２５６ｍｓｅｃ、雑音抑圧用（Ｔ１）を３２ｍｓｅｃに設定したときのものである。（ｄ）はディップ除去部２２（図３）によるディップ除去処理を行わなかったときのもの、（ｃ）は同ディップ除去処理を行ったときのものである。図６によれば、（ａ）の原雑音に対する減音量は、
（ｂ）の従来手法の場合：２０ｄＢ
（ｃ）の従来手法の場合：１９ｄＢ
（ｄ）の本発明手法（ディップ除去処理無し）の場合：３６ｄＢ
（ｅ）の本発明手法（ディップ除去処理有り）の場合：６４ｄＢ
であった。したがって、この発明によるスペクトルサブトラクション法（ｄ）、（ｅ）は、従来のスペクトルサブトラクション法（ｂ）、（ｃ）に比べて高い雑音抑圧効果が得られることがわかる。また、この発明による雑音抑圧方法では、ディップ除去処理を行った場合（ｅ）の方が、ディップ除去処理を行わなかった場合（ｄ）よりも高い雑音抑圧効果が得られることがわかる。【００４４】  図７は、この発明の雑音抑圧装置に、雑音付き音声を入力した場合の波形図を示す。ここでは、雑音推定用フレーム長Ｔ２を２５６ｍｓｅｃとし、雑音抑圧用フレーム長Ｔ１を３２ｍｓｅｃに設定した。（ａ）は原雑音付き音声である。（ｂ）は雑音抑圧出力である。（ｃ）は、抑圧音（消された音）である。図７によれば、（ａ）の雑音付き音声から、（ｃ）の定常雑音が抑圧されて、（ｂ）の音声が得られることがわかる。【００４５】  前記実施の形態では、振幅スペクトルサブトラクション法を用いて、入力信号の振幅スペクトル｜Ｘ２（ｋ）｜の包絡線｜Ｘ２’（ｋ）｜に基づき雑音振幅スペクトル｜Ｎ（ｋ）｜を推定し、入力信号の振幅スペクトル｜Ｘ１（ｋ）｜から雑音振幅スペクトル｜Ｎ（ｋ）｜を減算して雑音抑圧を行ったが、これに代えて、パワースペクトルサブトラクション法を用いて、入力信号のパワースペクトル｜Ｘ２（ｋ）｜２の包絡線｜Ｘ２’（ｋ）｜２に基づき雑音のパワースペクトル｜Ｎ（ｋ）｜２を推定し、入力信号のパワースペクトル｜Ｘ２（ｋ）｜２から雑音のパワースペクトル｜Ｎ（ｋ）｜２を減算して雑音抑圧を行うこともできる。【００４６】  前記実施の形態では、雑音推定処理を所定時間間隔（Ｔ１／２時間毎）毎に必ず行うようにしたが、適宜の時間毎に行うようにしてもよい。例えば、無音声区間、微少音声区間等の雑音推定が容易な区間を実時間で検出し、該雑音推定が容易な区間でのみ雑音推定処理を行い、それ以外の区間では雑音推定処理を行わない（一時停止する）ことができる。また、雑音変動が少ない区間や処理負荷を減らしたい区間も雑音推定処理を行わない（一時停止する）ことができる。これらの場合、雑音推定処理を一時停止している区間では、雑音振幅スペクトル更新部４８のデータ（雑音振幅スペクトル｜Ｎ０（ｋ）｜）の更新は行わず、この雑音振幅スペクトル更新部４８に保持されている最新の（一時停止直前の）雑音振幅スペクトル｜Ｎ０（ｋ）｜に基づいて雑音抑圧処理を行うことができる。【００４７】  前記実施の形態では周波数分析手法としてＦＦＴを用いた場合について説明したが、この発明はＦＦＴ以外の周波数分析手法を用いることもできる。【００４８】  前記実施の形態では、雑音抑圧用に観測信号を切り出す時間窓長（雑音抑圧用フレーム長Ｔ１すなわちＭサンプル分の時間）を、該切り出しを行う時間間隔（Ｍ／２サンプル分の時間）よりも長く設定したが、これは出力合成の際にオーバーラップ処理を行うためであり、オーバーラップ処理を行わない場合は、これら両時間間隔を等しく設定することができる。【００４９】  本発明を詳細にまた特定の実施態様を参照して説明してきたが、本発明の精神、範囲または意図の範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本発明は、２００５年５月１７日出願の日本特許出願（特願２００５−１４４７４４）に基づくものであり、その内容はここに参照として取り込まれる。
【図１】
0004958303.tif 000003
【図２】
0004958303.tif 000004
【図３】
0004958303.tif 000005
【図４】
0004958303.tif 000006
【図５】
0004958303.tif 000007
【図６】
0004958303.tif 000008
【図７】
0004958303.tif 000009