(57)【要約】【課題】周期性のノイズを効率良く、かつ、確実に除去することが可能な音声信号処理装置を提供すること。【解決手段】音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波手段（ノッチフィルタ群３０）と、音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出手段（周波数検出制御部４０）と、検出手段の検出結果に応じて、濾波手段が通過または減衰させる帯域を調整する調整手段（周波数検出制御部４０）とを有する。【選択図】図１
2008165125.tif 000002
【特許請求の範囲】
【請求項１】
音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波手段と、
上記音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出手段と、
上記検出手段の検出結果に応じて、上記濾波手段が通過または減衰させる帯域を調整する調整手段と、
を有することを特徴とする音声信号処理装置。
【請求項２】
前記音声信号には、基本周波数の信号成分と、当該基本周波数の信号成分の複数の倍音成分とが含まれており、
前記濾波手段は、基本周波数の信号成分と、複数の倍音成分とを通過または減衰させ、
前記調整手段は、上記基本周波数の信号成分または複数の倍音成分のうちのいずれかの信号成分の周波数に応じて、前記濾波手段が通過または減衰させる帯域を調整する、
ことを特徴とする請求項１記載の音声信号処理装置。
【請求項３】
前記音声信号には、原動機から発生した音の基本周波数の信号成分と、当該基本周波数の信号成分の複数の倍音成分とが含まれるとともに、話者の発話した音声に対応する音声信号が含まれており、
前記濾波手段は、上記原動機から発生した音の基本周波数の信号成分と、当該基本周波数の信号成分の複数の倍音成分とを選択的に減衰させることにより、上記話者の発話した音声に対応する音声信号を抽出し、
前記調整手段は、前記基本周波数の信号成分または複数の倍音成分のうちのいずれかの信号成分の周波数に応じて、前記濾波手段が減衰させる帯域を調整する、
ことを特徴とする請求項２記載の音声信号処理装置。
【請求項４】
前記検出手段は、検出する帯域よりも所定量だけ高い周波数を有する信号成分を通過させる第１のバンドパスフィルタと、検出する帯域よりも所定量だけ低い周波数を有する信号成分を通過させる第２のバンドパスフィルタとを有し、これら第１および第２のバンドパスフィルタを通過した信号の信号レベルを比較することにより、前記帯域の周波数を検出し、
前記調整手段は、前記第１および第２のバンドパスフィルタを通過した信号の信号レベルが略同一となるように上記第１および第２のバンドパスフィルタの通過周波数を調整するとともに、当該調整結果に基づいて前記濾波手段が通過または減衰させる周波数を調整する、
ことを特徴とする請求項１記載の音声信号処理装置。
【請求項５】
前記検出手段は、検出する帯域の信号成分を通過させるバンドパスフィルタを有し、上記バンドパスフィルタを通過した信号成分と、上記バンドパスフィルタに入力される信号成分との位相を比較することで、前記帯域の周波数を検出し、
前記調整手段は、上記バンドパスフィルタを通過した信号成分と、上記バンドパスフィルタに入力される信号成分との位相が略同一となるように上記バンドパスフィルタの通過周波数を調整するとともに、当該調整結果に基づいて前記濾波手段が通過または減衰させる周波数を調整する、
ことを特徴とする請求項１記載の音声信号処理装置。
【請求項６】
前記濾波手段に供給する音声信号を集音するための第１のマイクロフォンと、
前記検出手段に供給する音声信号を集音するための第２のマイクロフォンと、を有し、
前記第１のマイクロフォンは、通過または減衰させる対象となる音声信号と、それ以外の音声信号とが混合された音を集音し、
前記第２のマイクロフォンは、通過または減衰させる対象となる音声信号を集音し、
前記濾波手段は、通過または減衰させる対象となる音声信号を通過または減衰させる、
ことを特徴とする請求項１記載の音声信号処理装置。
【請求項７】
音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波ステップと、
上記音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出ステップと、
上記検出ステップにおける検出結果に応じて、上記濾波ステップにおいて通過または減衰される帯域を調整する調整ステップと、
を有することを特徴とする音声信号処理方法。
【請求項８】
音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波手段、
上記音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出手段、
上記検出手段の検出結果に応じて、上記濾波手段が通過または減衰させる帯域を調整する調整手段、
としてコンピュータを機能させるコンピュータ読取可能な音声信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号処理装置、音声信号処理方法、および、音声信号処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、エンジン等から発生される周期性ノイズをキャンセルするための騒音キャンセル装置が開示されている。
【０００３】
この技術では、エンジンの回転数を検出し、検出された回転数に応じた参照信号を生成する。そして、参照信号に基づいて生成されたキャンセル信号をスピーカから出力し、キャンセルされないで残ったエラー成分に対して、エンジンのノイズに応じた周波数特性を有するフィルタ処理を施し、得られた信号に基づいて参照信号をコントローラによって処理し、キャンセル信号を生成する。
【０００４】
また、特許文献２には、エンジンのイグニッションパルス信号に基づいて、エンジン回転数の変動に応じた可変フィルタ手段が開示されている。
【０００５】
【特許文献１】特開平５−１１７７０号公報（特許請求の範囲、要約書）
【特許文献２】特開平７−３２５５８６号公報（特許請求の範囲、要約書）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１に示す技術では、キャンセル信号に対応する音声をスピーカから出力する必要がある。そのため、エンジン等の比較的音量が大きいノイズをキャンセルするためには、装置のサイズが大きくなってしまうという問題がある。また、スピーカから常に音を出力する必要があることから、消費電力が大きくなるという問題がある。
【０００７】
さらに、特許文献１に示す技術では、適応フィルタを利用し、学習処理によってノイズをキャンセルする効率を高めている。ところで、適応フィルタの学習にはある程度の時間を要する。そのため、例えば、エンジンの回転数が変動した場合には、その新たな回転数に応じた学習処理が必要になることから、学習が終了するまでの間、ノイズが十分にキャンセルされない場合があるという問題点もある。
【０００８】
さらに、特許文献２に示す技術では、イグニッションパルス信号を入力する必要があり、機器の構成が煩雑となるという問題点がある。
【０００９】
本発明は、上記の事情に基づきなされたもので、その目的とするところは、周期性のノイズを効率良く、かつ、確実に除去することが可能な音声信号処理装置、音声信号処理方法、および、音声信号処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の目的を達成するため、本発明の音声信号処理装置は、音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波手段と、音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出手段と、検出手段の検出結果に応じて、濾波手段が通過または減衰させる帯域を調整する調整手段と、を有する。
【００１１】
また、他の発明の音声信号処理装置は、上述の発明に加えて、音声信号には、基本周波数の信号成分と、当該基本周波数の信号成分の複数の倍音成分とが含まれており、濾波手段は、基本周波数の信号成分と、複数の倍音成分とを通過または減衰させ、調整手段は、基本周波数の信号成分または複数の倍音成分のうちのいずれかの信号成分の周波数に応じて、濾波手段が通過または減衰させる帯域を調整するようにしている。
【００１２】
また、他の発明の音声信号処理装置は、上述の発明に加えて、音声信号には、原動機から発生した音の基本周波数の信号成分と、当該基本周波数の信号成分の複数の倍音成分とが含まれるとともに、話者の発話した音声に対応する音声信号が含まれており、濾波手段が、原動機から発生した音の基本周波数の信号成分と、当該基本周波数の信号成分の複数の倍音成分とを選択的に減衰させることにより、話者の発話した音声に対応する音声信号を抽出し、調整手段が、基本周波数の信号成分または複数の倍音成分のうちのいずれかの信号成分の周波数に応じて、濾波手段が減衰させる帯域を調整するようにしている。
【００１３】
また、他の発明の音声信号処理装置は、上述の発明に加えて、検出手段が、検出する帯域よりも所定量だけ高い周波数を有する信号成分を通過させる第１のバンドパスフィルタと、検出する帯域よりも所定量だけ低い周波数を有する信号成分を通過させる第２のバンドパスフィルタとを有し、これら第１および第２のバンドパスフィルタを通過した信号の信号レベルを比較することにより、帯域の周波数を検出し、調整手段が、第１および第２のバンドパスフィルタを通過した信号の信号レベルが略同一となるように第１および第２のバンドパスフィルタの通過周波数を調整するとともに、当該調整結果に基づいて濾波手段が通過または減衰させる周波数を調整するようにしている。
【００１４】
また、他の発明の音声信号処理装置は、上述の発明に加えて、検出手段が、検出する帯域の信号成分を通過させるバンドパスフィルタを有し、バンドパスフィルタを通過した信号成分と、バンドパスフィルタに入力される信号成分との位相を比較することで、帯域の周波数を検出し、調整手段が、バンドパスフィルタを通過した信号成分と、バンドパスフィルタに入力される信号成分との位相が略同一となるようにバンドパスフィルタの通過周波数を調整するとともに、当該調整結果に基づいて濾波手段が通過または減衰させる周波数を調整するようにしている。
【００１５】
また、他の発明の音声信号処理装置は、上述の発明に加えて、濾波手段に供給する音声信号を集音するための第１のマイクロフォンと、検出手段に供給する音声信号を集音するための第２のマイクロフォンと、を有し、第１のマイクロフォンが、通過または減衰させる対象となる音声信号と、それ以外の音声信号とが混合された音を集音し、第２のマイクロフォンが、通過または減衰させる対象となる音声信号を集音し、濾波手段が、通過または減衰させる対象となる音声信号を通過または減衰させるようにしている。
【００１６】
また、本発明の音声信号処理方法は、音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波ステップと、音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出ステップと、検出ステップにおける検出結果に応じて、濾波ステップにおいて通過または減衰される帯域を調整する調整ステップと、を有している。
【００１７】
また、本発明の音声信号処理プログラムは、音声信号に含まれる１または複数の帯域の信号成分を通過または減衰させる濾波手段、音声信号に含まれる所定の帯域の信号成分の周波数を検出する検出手段、検出手段の検出結果に応じて、濾波手段が通過または減衰させる帯域を調整する調整手段、としてコンピュータを機能させる。
【発明の効果】
【００１８】
本発明によれば、周期性のノイズを効率良く、かつ、確実に除去することが可能な音声信号処理装置、音声信号処理方法、および、音声信号処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施の形態について図に基づいて説明する。なお、以下では、（Ａ）第１の実施の形態の構成例、（Ｂ）第１の実施の形態の動作の概要、（Ｃ）第１の実施の形態の動作の詳細、（Ｄ）第２の実施の形態の構成例、（Ｅ）第２の実施の形態の動作の詳細、および、（Ｆ）変形実施の態様の順に説明する。
【００２０】
（Ａ）第１の実施の形態の構成例
【００２１】
図１は、本発明の第１の実施の形態の音声信号処理装置の構成例を示すブロック図である。この図に示すように、本発明の音声信号処理装置は、マイクロフォン１０、マイクアンプ１５、バンドパスフィルタ２０，２５、ノッチフィルタ群３０、および、周波数検出制御部４０を主要な構成要素としている。なお、本発明の音声信号処理方法、および、音声信号処理プログラムについては、音声信号処理装置の動作として説明する。
【００２２】
ここで、マイクロフォン１０は、話者１からの音声信号および原動機としてのエンジン２からのノイズを捕捉し、対応する音声信号に変換して出力する。なお、マイクロフォンとしては、例えば、コンデンサ型またはダイナミック型のマイクロフォンを使用することができる。
【００２３】
話者１は、音声信号処理装置によって抽出しようとする対象となる音声を発する。エンジン２は、例えば、レシプロエンジンまたはロータリーエンジンのように周期性を有するノイズを発生する。なお、本実施の形態では、音声信号処理装置は、エンジン２を搭載した車両等に搭載された各種の機器に内蔵されて使用される。
【００２４】
図２（Ａ）は、エンジン２から放射される音の周波数スペクトラムを示している。この図に示すように、エンジン２から放射される音は、エンジン２の回転数によって定まる基本周波数ｆ０と、基本周波数ｆ０を整数倍（２倍、３倍、４倍、・・・（Ｎ−１）倍）した高調波成分とを有している。また、エンジン２の回転数が変化すると、それに応じて基本周波数ｆ０が変化するとともに、追随して高調波成分も変化する。換言すると、エンジン２の回転数の変化に応じて、図２（Ａ）に示すスペクトラムが、周波数軸上を図の右方向または左方向に移動する。なお、図２（Ａ）の例は一例であって、エンジンの種類等に応じてスペクトラムの状態は異なる。
【００２５】
マイクアンプ１５は、マイクロフォン１０から出力された音声信号を所定のゲインで増幅し、バンドパスフィルタ２０，２５にそれぞれ供給する。
【００２６】
バンドパスフィルタ２０は、音声信号処理装置によって処理しようとする所定の周波数帯域の音声信号を通過させ、それ以外の成分については減衰させる特性を有している。例えば、音声信号処理装置を、車載用の無線機に使用する場合には、バンドパスフィルタ２０は、無線通信に必要な帯域のみを抽出する特性とすればよい。
【００２７】
バンドパスフィルタ２５は、マイクアンプ１５から出力された音声信号のうち、エンジン２に対応するノイズ成分を通過させ、それ以外の成分は減衰させる。なお、このバンドパスフィルタ２５の通過帯域としては、例えば、基本周波数ｆ０の想定される最低の周波数を低域側の遮断周波数とし、基本周波数ｆ０の想定される最高の周波数の４倍程度の周波数を高域側の遮断周波数とすればよい。
【００２８】
濾波手段としてのノッチフィルタ群３０は、例えば、コムフィルタ（Comb Filter）であり、図２（Ｂ）に示すように、図２（Ａ）に示す、周波数ｆＣ０〜ｆＣＮを遮断（または減衰）帯域の中心周波数（以下、単に「遮断周波数」と称する）とする（Ｎ＋１）個のノッチフィルタによって構成される。また、ノッチフィルタ群３０は、周波数検出制御部４０からの制御信号に応じて、遮断周波数ｆＣ０〜ｆＣＮを変化させることができる。
【００２９】
図３は、ノッチフィルタ群３０を構成する所定のノッチフィルタの利得特性を示す図である。この図の例のノッチフィルタは、遮断周波数は約５００Ｈｚであり、Ｑ値は約２０程度とされており、急峻な遮断特性を有している。なお、Ｑ値はエンジン２の種類にもよるが、例えば、１０〜２０の間で設定することが望ましい。Ｑ値が高いと、エンジン２のノイズを選択的に除去できるが、余り高すぎると周波数の制御が困難となる。逆にＱ値が低すぎると周波数測定精度は楽になるが、通過させる音声信号に大きな影響が出てしまう。したがって、Ｑ値は前述した範囲に収めることが望ましい。なお、エンジン２の種類、および、使用の目的によってはこれら以外の範囲でもよい。
【００３０】
図１に戻って、検出手段および調整手段としての周波数検出制御部４０は、バンドパスフィルタ２５を通過した音声信号に含まれている基本周波数ｆ０の信号成分の周波数を検出するとともに、検出された周波数に基づいて、ノッチフィルタ群３０の遮断帯域の周波数を変化させる。
【００３１】
図４は、図１に示す周波数検出制御部４０の詳細な構成例を示す図である。この図に示すように、周波数検出制御部４０は、バンドパスフィルタ１４１，１４２、コンパレータ１４３、および、制御部１４４を主要な構成要素としている。
【００３２】
ここで、第２の濾波手段としてのバンドパスフィルタ１４１は、例えば、図５に示すような利得特性および位相特性を有するフィルタである。この例では、通過周波数は約２００Ｈｚであり、Ｑ値は５〜１０程度とされている。また、バンドパスフィルタ１４１は、制御部１４４からの制御信号に応じて通過帯域の中心周波数（以下、単に「通過周波数」と称する）を変化させる。一方、第１の濾波手段としてのバンドパスフィルタ１４２は、バンドパスフィルタ１４１と同様の利得特性および位相特性を有し、また、制御部１４４からの制御信号に応じて通過周波数を変化させるが、通過周波数がバンドパスフィルタ１４１とは異なっている。
【００３３】
図６は、バンドパスフィルタ１４１，１４２の利得特性の関係を示す図である。この図に示すように、バンドパスフィルタ１４１は、中心周波数ｆＢよりもαだけ低い周波数を通過周波数とする。一方、バンドパスフィルタ１４２は、中心周波数ｆＢよりもαだけ高い周波数を通過周波数とする。また、バンドパスフィルタ１４１，１４２の通過周波数は、制御部１４４の制御に応じて、図６に示す関係を保ったままで周波数軸上を図の右方向または左方向に移動する。したがって、入力された信号の周波数がｆＢと等しい場合には、バンドパスフィルタ１４１，１４２からは同じレベルの信号が出力される。一方、入力された信号の周波数がｆＢよりも低い場合には、バンドパスフィルタ１４１の出力信号のレベルの方がバンドパスフィルタ１４２の出力信号のレベルよりも大きくなる。逆に、入力された信号の周波数がｆＢよりも高い場合には、バンドパスフィルタ１４２の出力信号のレベルの方がバンドパスフィルタ１４１の出力信号のレベルよりも大きくなる。
【００３４】
コンパレータ１４３は、バンドパスフィルタ１４１，１４２の出力信号のレベルを比較し、比較結果を制御部１４４に通知する。具体的には、コンパレータ１４３は、バンドパスフィルタ１４１の出力信号のレベルから、バンドパスフィルタ１４２の出力信号のレベルを減算した結果を出力する。これにより、ｆ０のｆＢからのずれに応じた大きさを有する正または負の信号が出力される。例えば、ｆ０＜ｆＢの場合にはずれ量に応じた正の信号が出力され、ｆ０＞ｆＢの場合にはずれ量に応じた負の信号が出力される。
【００３５】
制御部１４４は、コンパレータ１４３の出力に基づいて、バンドパスフィルタ１４１，１４２の中心周波数ｆＢが、エンジン２から放射される音の基本周波数ｆ０と等しくなるように制御するとともに、ノッチフィルタ群３０の遮断周波数ｆＣ０がｆＢに等しくなるように調整する。
【００３６】
なお、バンドパスフィルタ２０，２５、ノッチフィルタ群３０、および、周波数検出制御部４０については、例えば、ＤＳＰ（Digital Signal Processor）を用いて構成することができる。その場合、バンドパスフィルタ２０，２５，１４１，１４２、および、ノッチフィルタ群３０については、ＩＩＲ（Infinite Impulse Response）フィルタ等によって構成することができる。あるいは、マイクロフォン１０から出力される信号をＡ／Ｄ（Analog to Digital）変換し、ＣＰＵ（Central Processing Unit）等を有するマイクロコンピュータによって処理し、得られた結果をＤ／Ａ（Digital to Analog）変換して出力するようにしてもよい。あるいはまた、これらを全てハードウエアとして実現することも可能である。
【００３７】
（Ｂ）第１の実施の形態の動作の概要
【００３８】
つぎに、図１に示す第１の実施の形態の動作の概要について説明する。
【００３９】
図１に示す実施の形態では、マイクロフォン１０には話者１からの音声と、エンジン２からのノイズが入力される。マイクロフォン１０は、音声およびノイズを電気信号に変換してマイクアンプ１５に供給する。マイクアンプ１５は、入力された音声信号を所定のゲインで増幅して出力する。バンドパスフィルタ２０は、マイクアンプ１５から出力された音声信号から所望の帯域の信号だけを抽出し、ノッチフィルタ群３０に供給する。また、バンドパスフィルタ２５は、マイクアンプ１５から出力された音声信号からエンジン２のノイズ成分を抽出し、周波数検出制御部４０に供給する。周波数検出制御部４０では、制御部１４４が、コンパレータ１４３の出力に基づいて、バンドパスフィルタ１４１，１４２の通過周波数ｆＢがノイズの基本周波数ｆ０と等しくなるように制御する。そして、その結果に基づいて、ノッチフィルタ群３０の遮断周波数ｆＣ０がｆＢに等しくなるように調整する。これにより、ノッチフィルタ群３０のｆＣ０〜ｆＣＮは、ノイズの周波数成分であるｆ０〜ｆＮに等しくなるので、エンジン２から放射されたノイズ成分が除去され、話者１の発話に対応する音声信号のみが出力される。
【００４０】
（Ｃ）第１の実施の形態の動作の詳細
【００４１】
つぎに、本発明の第１の実施の形態の詳細な動作について説明する。
【００４２】
話者１によって発話された音声と、エンジン２から放射されたノイズ（図２（Ａ）の特性を有する音）とは、マイクロフォン１０によって捕捉され、対応する電気信号に変換される。その結果、マイクロフォン１０から出力される信号は、話者１からの音声に対応する音声信号に、エンジン２から放射されたノイズに対応する信号が重畳された信号となる。
【００４３】
マイクアンプ１５は、マイクロフォン１０から出力される音声信号を所定のゲインで増幅して出力する。
【００４４】
バンドパスフィルタ２０は、マイクアンプ１５から出力される信号の中から、処理の対象とする所定の帯域を通過させる。なお、通過させる帯域としては、例えば、電話等の周波数帯域である３００Ｈｚ〜３０００Ｈｚの帯域が少なくとも含まれていればよい。また、当該帯域を包含するより広い帯域であってもよい。どのような帯域を通過させるかは、用途に応じて決めればよい。
【００４５】
バンドパスフィルタ２５は、マイクアンプ１５から出力される信号の中から、エンジン２のノイズ成分を通過させる。なお、通過させる成分としては、前述した通りである。
【００４６】
バンドパスフィルタ２５を通過した信号は、周波数検出制御部４０に入力される。周波数検出制御部４０は、入力された信号に含まれているエンジン２のノイズ成分の基本周波数ｆ０を検出し、これに基づいてノッチフィルタ群３０の遮断周波数ｆＣ０がｆ０と等しくなるように調整する。
【００４７】
具体的には、制御部１４４は、コンパレータ１４３の出力を参照し、バンドパスフィルタ１４１からの出力信号のレベルが、バンドパスフィルタ１４２の出力信号のレベルよりも大きい場合（例えば、コンパレータ１４３の出力が正である場合）には、ｆＢを小さくするように制御する。一方、制御部１４４は、コンパレータ１４３の出力を参照し、バンドパスフィルタ１４２からの出力信号のレベルが、バンドパスフィルタ１４１の出力信号のレベルよりも大きい場合（例えば、コンパレータ１４３の出力が負である場合）には、ｆＢを大きくするように制御する。その結果、ｆＢ＝ｆ０となるようにバンドパスフィルタ１４１，４２が調整される。
【００４８】
つぎに、制御部１４４は、ノッチフィルタ群３０の遮断周波数ｆＣ０がｆＢと等しくなるように調整するとともにｆＣ１〜ｆＣＮについても同様に調整を行う。
【００４９】
これにより、図２（Ｂ）に示すノッチフィルタ群３０の遮断周波数ｆＣ０〜ｆＣＮは、エンジン２のノイズ成分のｆ０〜ｆＮと等しくなるので、バンドパスフィルタ２０から出力された信号のうち、エンジン２からのノイズ成分は遮断（または減衰）され、その他の成分（主に音声信号の成分）は通過される。
【００５０】
その結果、ノッチフィルタ群３０から出力される信号には、エンジン２からのノイズ成分が殆ど含まれておらず、話者１の発生した音声に対応する音声信号が主に含まれた信号となる。したがって、エンジン２の音が大きい場合であっても、ノッチフィルタ群３０から出力される信号を利用することで、話者１の発話を明瞭に聞くことができる。
【００５１】
図７は、本発明の第１の実施の形態の音声信号処理装置を用いた実測データである。図７（Ａ）は、エンジン２から放射されたノイズ成分を含む信号に対してＦＦＴ（Fast Fourier Transform）演算を施した結果を示している。また、図７（Ｂ）は図７（Ａ）の信号に対して本発明の第１の実施の形態の処理を施した結果を示している。図７（Ａ）では、図２（Ａ）に示すような周期性ノイズのピークが複数現れている。一方、図７（Ｂ）ではこれらのピーク成分が減衰されている。また、聴覚上も、図７（Ａ）の場合では、エンジン２のノイズがかなり耳障りであり、話者１が発話した場合でも、当該音声はマスクされてしまって聞き取ることが困難である。一方、図７（Ｂ）の場合には、エンジン２のノイズはあまり聞こえず、話者１の発話した音声は明瞭に聞き取れる。
【００５２】
なお、エンジン２の回転数が変化した場合には、回転数の増減に応じてｆ０〜ｆＮが変化する。その場合には、バンドパスフィルタ１４１，１４２の出力信号のレベルが変化するので、制御部１４４は直ちにこれを検出して、バンドパスフィルタ１４１，１４２の通過周波数ｆＢを追随させるとともに、ノッチフィルタ群３０についても同様にして追随させる。これにより、ｆ０〜ｆＮは常にｆＣ０〜ｆＣＮにそれぞれ等しくなるように制御がなされるので、エンジン２の回転数が変化した場合でも、ノイズが出力されることを防止できる。また、話者１の発話した音声を明瞭に聞き取ることができる。
【００５３】
ところで、以上は、エンジン２が始動された状態（定常状態）での動作である。音声信号処理装置の動作中にエンジン２が始動された場合、または、エンジン２が動作中に音声信号処理装置が動作を開始した場合には、つぎのような処理が実行され、ノッチフィルタ群３０が調整される。
【００５４】
すなわち、周波数検出制御部４０によってｆ０が検出されていない状態においては、周波数検出制御部４０は、バンドパスフィルタ１４１，１４２を、定められた最低の周波数から定められた最高の周波数までの間をスキャンさせる動作を行う。その結果、ｆ０に対応する信号成分が検出された場合には、当該成分に対してロックする動作を行う。これにより、音声信号処理装置の動作中にエンジン２が始動された場合、または、エンジン２が動作中に音声信号処理装置が動作を開始した場合であっても、ｆ０〜ｆＮがｆＣ０〜ｆＣＮにそれぞれ等しくなるように制御を行うことができる。
【００５５】
なお、単純にスキャンだけを行った場合には、エンジン２のノイズ成分であるｆ０以外の成分に対してロックしてしまう可能性がある。そのような不具合を避けるために、例えば、周波数検出制御部４０が、ノッチフィルタ群３０の出力を参照し、出力信号のレベルが最低となる周波数に対してロックするようにすればよい。そのような方法によれば、ｆＣ０をｆ０に確実にロックすることが可能になる。
【００５６】
以上に説明したように、本発明の第１の実施の形態によれば、複数の遮断周波数ｆＣ０〜ｆＣＮを有するノッチフィルタ群３０を、周波数検出制御部４０の検出結果に応じて制御するようにしたので、エンジン２等から放射される周期性のノイズを確実かつ効率良く低減することが可能になる。
【００５７】
また、本発明の第１の実施の形態では、ノッチフィルタ群３０として、Ｑ値が２０程度の高い峻別性を有するノッチフィルタを用いるようにしたので、エンジン２からのノイズのみを選択的に減衰させ、音声信号については減衰される割合が低くなるようにした。これにより、話者の音声の明瞭度を低下させることなく、ノイズ成分のみを確実に減衰させることが可能になる。
【００５８】
また、本発明の第１の実施の形態では、バンドパスフィルタ１４１，１４２を通過した信号のレベルに基づいて、基本周波数ｆ０を検出するようにした。これにより、例えば、ＦＦＴ演算によって基本周波数ｆ０を検出する場合に比較すると、少ない演算量で検出を行うことができるので、応答速度を向上させることができる。その結果、例えば、エンジン２の回転数が急激に変化した場合であっても追従することができる。
【００５９】
（Ｄ）第２の実施の形態の構成例
【００６０】
つぎに、本発明の第２の実施の形態の構成例について説明する。なお、第２の実施の形態は、第１の実施の形態と比較すると、周波数検出制御部４０の構成のみが異なっている。その他の構成は、第１の実施の形態と同様である。
【００６１】
図８は、第２の実施の形態の周波数検出制御部４０の構成例を示している。この例では、周波数検出制御部４０は、バンドパスフィルタ２４１、位相差検出部２４２、および、制御部２４３を主要な構成要素としている。
【００６２】
ここで、バンドパスフィルタ２４１は、図５と同様の周波数特性を有しており、所定の周波数の信号を通過させ、それ以外は減衰させる。なお、バンドパスフィルタ２４１の通過帯域の中心周波数（以下、単に「通過周波数」と称する）は、制御部２４３の制御に応じて変化させることができる。
【００６３】
位相差検出部２４２は、バンドパスフィルタ２４１を通過した信号の位相と、バンドパスフィルタ２４１に入力された信号（バンドパスフィルタ２４１をバイパスした信号）の位相を比較し、その比較結果を制御部２４３に通知する。
【００６４】
制御部２４３は、位相差検出部２４２の検出結果に基づいて、バンドパスフィルタ２４１の通過周波数を変化させるとともに、ノッチフィルタ群３０の遮断周波数を変化させる。
【００６５】
（Ｅ）第２の実施の形態の動作
【００６６】
つぎに、本発明の第２の実施の形態の動作について説明する。
【００６７】
バンドパスフィルタ２５を通過した信号がバンドパスフィルタ２４１に入力されると、バンドパスフィルタ２４１は、エンジン２からのノイズに対応する信号から、図２（Ａ）に示す基本周波数ｆ０の信号を通過させ、それ以外については減衰させる。
【００６８】
図９は、バンドパスフィルタ２４１の利得特性と周波数特性の概略の関係を示している。この図に示すように、バンドパスフィルタ２４１を通過した信号の位相は、信号の周波数とバンドパスフィルタの通過周波数ｆＤとが等しい場合には、位相ずれは生じない（０度）となる。一方、通過した信号の周波数が通過周波数ｆＤよりも低い場合には、その周波数の相違に応じて位相が進む。他方、通過した信号の周波数が通過周波数ｆＤよりも高い場合には、その周波数の相違に応じて位相が遅れる。
【００６９】
位相差検出部２４２は、バンドパスフィルタ２４１を通過した信号と、バンドパスフィルタ２４１をバイパスした信号を比較し、これらの位相差を求める。位相差が生じている場合には、当該位相差を解消するようにバンドパスフィルタ２４１の通過周波数を調整するとともに、ノッチフィルタ群３０の遮断周波数を調整する。具体的には、バンドパスフィルタ２４１を通過した信号の位相が、バイパスした信号よりも進んでいる場合には、バンドパスフィルタ２４１の通過周波数を上げる方向に調整する。また、バンドパスフィルタ２４１を通過した信号の位相が、バイパスした信号よりも遅れている場合には、バンドパスフィルタ２４１の通過周波数を下げる方向に調整する。これにより、バンドパスフィルタ２４１の通過周波数ｆＤはノイズの基本周波数ｆ０と等しくなる。
【００７０】
図１０は、バンドパスフィルタ２４１を通過した信号と、バンドパスフィルタ２４１をバイパスした信号の位相差を検出する方法を示す図である。この図の方法では、バンドパスフィルタ２４１をバイパスした信号（以下、「第１の信号」と称する）をＹ軸に、通過した信号（以下、「第２の信号」と称する）をＸ軸に対応付けし、ＸＹ平面上に形成される軌跡を参照することによって位相差を検出する。具体的には、これらの信号の位相差が等しい場合には、軌跡はＸＹ平面上のＹ＝Ｘの直線上を移動する。一方、第２の信号の位相が進んでいる場合には反時計回りのリサージュ曲線（図中の矢印参照）を描き、逆に、第２の信号の位相が遅れている場合には時計回りのリサージュ曲線（図中の矢印参照）を描く。そこで、軌跡の回転方向から位相の進み具合を判定することができる。
【００７１】
より詳細な判定方法をつぎに説明する。位相差検出部２４２は、まず、第２の信号の増減を調べる。すなわち、位相差検出部２４２は、バンドパスフィルタ２４１を通過した信号の今回の信号値から前回の信号値を減算し、これを信号の増減値とする。つぎに、位相差検出部２４２は、バンドパスフィルタ２４１をバイパスした信号（第１の信号）が正の状態であれば増減値をそのまま加算し、負の状態であれば増減値を減算する。そして、このような演算を一定期間（例えば、５１２サンプル期間）実行し、得られた合計値が正であれば、位相が遅れている状態（時計回りの状態）であると判定し、合計値が負であれば、位相が進んでいる状態（反時計回りの状態）であると判定する。
【００７２】
図１１は、前述の判定方法を説明する図である。図１１（Ａ），（Ｂ）は第１および第２の信号の位相が揃った状態を示している。ここで、図１１（Ａ）は第１の信号を示し、（Ｂ）は第２の信号を示している。このような場合、（Ａ）に示す第１の信号が正の期間内において、（Ｂ）に示す第２の信号の傾きが正である期間と、傾きが負である期間は等しいので、増減値（傾きに対応する値）を当該期間において加算した値は“０”となる。また、第１の信号が負の期間も同様である。
【００７３】
図１１（Ｃ），（Ｄ）は、第２の信号の位相が遅れた状態を示している。このような場合、（Ｃ）に示す第１の信号が正の期間内において、（Ｄ）に示す第２の信号の傾きが正である期間は、傾きが負である期間よりも長いので、増減値を当該期間において加減算した値は正の値となる。また、第１の信号が負の期間内では、傾きが負である期間の方が長いので、増減値を加減算した値の合計値は正になる。
【００７４】
図１１（Ｅ），（Ｆ）は、第２の信号の位相が進んだ状態を示している。このような場合、（Ｅ）に示す第１の信号が正の期間内において、（Ｆ）に示す第２の信号の傾きが正である期間は、傾きが負である期間よりも短いので、増減値を当該期間において加減算した値は負の値となる。また、第１の信号が負の期間内では、傾きが負である期間の方が短いので、増減値を加減算した値の合計値は負になる。
【００７５】
したがって、位相差検出部２４２の出力の正負を判定することにより、第１および第２の信号の位相差を検出できる。
【００７６】
制御部２４３は、位相差検出部２４２によって検出された位相差に基づいて、バンドパスフィルタ２４１の通過周波数を調整する。具体的には、位相差検出部２４２の出力がプラスである場合には、ｆＤ＜ｆ０の状態であるので、通過周波数を信号レベルに応じて増大させる。一方、位相差検出部２４２の出力がマイナスである場合には、ｆＤ＞ｆ０の状態であるので、通過周波数を信号レベルに応じて減少させる。これにより、バンドパスフィルタ２４１の通過周波数をノイズの基本周波数ｆ０に合わせることができる。すなわち、ｆＤ＝ｆ０の状態に制御することができる。
【００７７】
制御部２４３は、ノッチフィルタ群３０の遮断周波数についても併せて調整を行っている。すなわち、制御部２４３は、ノッチフィルタ群３０の遮断周波数ｆＣ０がバンドパスフィルタ２４１の通過周波数ｆＤと等しくなるように制御を行う。これにより、ノッチフィルタ群３０の遮断周波数ｆＣ０と、ノイズの基本周波数ｆ０とが等しくなるように調整される。ノッチフィルタ群３０の遮断周波数ｆＣ１〜ｆＣＮは、遮断周波数ｆＣ０の整数倍となるように設定されており、これは、ノイズの場合と同様である。したがって、ノイズの周波数成分ｆ０〜ｆＮは、ノッチフィルタ群３０の遮断周波数ｆＣ０〜ｆＣＮとそれぞれ等しくなる。したがって、ノッチフィルタ群３０から出力される信号に含まれるエンジン２のノイズ成分は減衰される。
【００７８】
以上に説明したように、本発明の第２の実施の形態によれば、第１の実施の形態と同様に、複数の遮断周波数ｆＣ０〜ｆＣＮを有するノッチフィルタ群３０を、周波数検出制御部４０の検出結果に応じて制御するようにしたので、エンジン２等から放射される周期性のノイズを確実かつ効率良く低減することが可能になる。また、ノッチフィルタ群３０として、Ｑ値が２０程度の高い峻別性を有するノッチフィルタを用いるようにしたので、エンジン２からのノイズのみを選択的に減衰させ、音声信号については減衰される割合が低くなるようにした。これにより、話者の音声の明瞭度を低下させることなく、ノイズ成分のみを確実に減衰させることが可能になる。
【００７９】
また、第２の実施の形態では、バンドパスフィルタ２４１を通過した信号と、バイパスした信号の位相を比較し、これらの位相差に基づいてノッチフィルタ群３０の遮断周波数を調整するようにしたので、ＦＦＴ等を用いて周波数を検出する場合に比較して、調整を精密に行うことができる。これにより、エンジンの回転数が微妙に変化した場合であっても、帯域の狭いフィルタを確実に追随させることができる。
【００８０】
（Ｆ）変形実施の態様
【００８１】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００８２】
例えば、以上の各実施の形態では、バンドパスフィルタ２０，２５、ノッチフィルタ群３０、および、周波数検出制御部４０をＤＳＰによって構成するようにしたが、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するマイクロコンピュータによって構成したり、アナログ回路またはディジタル回路によって構成したりすることも可能である。マイクロコンピュータによって実現する場合には、例えば、ＲＯＭに対して、上述した処理を実現するためのプログラムを記憶しておき、当該プログラムを実行することにより、ソフトウエア資源としてのプログラムと、ハードウエア資源としてのＣＰＵその他が協働することにより、図１に示す機能ブロックを実現する。なお、当該プログラムは、ＲＯＭ等に格納された状態で出荷されてもよいし、出荷された後にＲＯＭ等に格納されるようにしてもよい。
【００８３】
また、以上の各実施の形態では、エンジン２からのノイズを除去する場合を例に挙げて説明したが、除去の対象となるのはエンジン２からのノイズのみには限定されず、それ以外のノイズであっても、周期性があれば本発明の実施の形態によって除去することが可能である。
【００８４】
また、以上の実施の形態では、エンジン２のノイズ成分のうち、基本周波数の信号を検出して、ノッチフィルタ群３０の遮断周波数を調整するようにしたが、倍音成分のいずれか、または、基本周波数成分または倍音成分の２つ以上の組み合わせに基づいてノッチフィルタ群３０を調整するようにしてもよい。
【００８５】
また、以上の各実施の形態では、図３（Ｂ）に示す特性を有するノッチフィルタ群３０を利用して、周期性のノイズを除去するようにしたが、図３（Ｂ）に示す通過帯域と同じ通過帯域を有するバンドパスフィルタ群（例えば、０〜ｆＣ０，ｆＣ０〜ｆＣ１・・・を通過帯域に有するバンドパスフィルタ群）を通過した信号を減算することにより、図３（Ｂ）と同等の特性を得るようにしてもよい。その場合には、入力信号を複数のバンドパスフィルタ群に並列に与えて処理することができるので、カスケードに接続した場合に比較して、個々のフィルタにおける歪みが累積しなくなる。このため、通過する音声信号の質を向上できる。
【００８６】
また、以上の各実施の形態では、ノッチフィルタ群によって周期性ノイズを除去する場合を例に挙げて説明したが、例えば、バンドパスフィルタ群によって周期性の信号を取り出すようにすることも可能である。その場合には、図３（Ｂ）に示す遮断周波数ｆＣ０〜ｆＣＮに対応する通過帯域に有するバンドパスフィルタ群を用いることで実現できる。
【００８７】
また、以上の各実施の形態では、１つのマイクロフォンによって集音された音声信号を使用するようにしたが、例えば、ノッチフィルタ群３０に供給する音声信号を集音する第１のマイクロフォンと、周波数検出制御部４０に供給する音声信号を集音する第２のマイクロフォンとを個別に設けるようにしてもよい。この場合、第１のマイクロフォンは、話者１の口元近くに配置され、第２のマイクロフォンはエンジン２のノイズのみを集音する位置（例えば、エンジン２の近辺）に配置される。そのような方法によれば、第２のマイクロフォンによって集音される音声信号には、エンジン２のノイズのみが含まれるので、周波数検出制御部４０は、ノイズの基本周波数成分であるｆ０をより精度よく検出することができる。なお、その場合、第１のマイクロフォンと、ノッチフィルタ群３０の間には話者１の音声信号から抽出しようとする帯域を通過帯域に有するバンドパスフィルタを配置し、第２のマイクロフォンと周波数検出制御部４０の間にはｆ０の変動範囲を通過帯域に有するバンドパスフィルタを配置するようにすれば、一層精度よくノイズを除去することができる。
【００８８】
また、以上の第２の実施の形態では、位相差を検出する方法として、図１０に示す方法を用いるようにしたが、例えば、バンドパスフィルタ２４１をバイパスした信号と、通過した信号のそれぞれのゼロクロス信号を用いて位相差を検出することも可能である。このような方法の詳細についてつぎに説明する。
【００８９】
図１２は、ゼロクロス信号を用いた位相差検出部２４２の動作を説明する図である。図１２（Ａ）〜（Ｅ）は、バンドパスフィルタ２４１の通過周波数ｆＤがノイズの基本周波数ｆ０と等しい場合の動作を説明する図である。図１２（Ａ）はバンドパスフィルタ２４１をバイパスした信号を示し、図１２（Ｃ）はバンドパスフィルタ２４１を通過した信号を示している。この例では、ｆＤ＝ｆ０であるので、位相ずれは生じていない。位相差検出部２４２は、バンドパスフィルタ２４１を通過した信号とバイパスした信号の双方を入力し、それぞれの信号が信号レベル“０”を通過するタイミングで２値化し、ゼロクロス信号を生成する（図１２（Ｂ），（Ｄ）参照）。
【００９０】
位相差検出部２４２は、バンドパスフィルタ２４１をバイパスした信号のゼロクロス信号（以下「第１の信号」と称する）と、バンドパスフィルタ２４１を通過した信号のゼロクロス信号（以下「第２の信号」と称する）の位相を比較し、前者の位相が進んでいる場合（図１２（Ｆ）〜（Ｊ）の場合）には、出力信号（Ｅ）としてプラスのパルスを出力し、後者の位相が進んでいる場合（図１２（Ｋ）〜（Ｏ）の場合）には、出力信号（Ｅ）としてマイナスのパルスを出力する。また、位相が同一である場合（図１２（Ａ）〜（Ｅ）の場合）には出力は生じない。なお、プラスおよびマイナスのパルスのパルス幅は位相差に応じて変化する。したがって、出力されたパルスをローパスフィルタを通過させて平均を求めれば、信号のレベルによって位相差を知ることができる。
【００９１】
なお、位相差に基づいてプラスまたはマイナスのパルスを生成する方法としては、例えば、以下のような方法がある。すなわち、バンドパスフィルタ２４１をバイパスした信号のゼロクロス信号である第１の信号（図１２（Ｂ），（Ｇ），（Ｌ）参照）の立ち上がりエッジにおいて、バンドパスフィルタ２４１を通過した信号のゼロクロス信号である第２の信号（図１２（Ｄ），（Ｉ），（Ｎ）参照）がローの状態である場合には出力信号をプラスの状態とし、第２の信号の立ち上がり“０”とする（図１２（Ｆ）〜（Ｊ）参照）。また、第１の信号の立ち下がりエッジにおいて、第２の信号がハイの状態である場合には出力信号をプラスの状態とし、信号第２の信号の立ち下がりで“０”とする（図１２（Ｆ）〜（Ｊ）参照）。また、第２の信号の立ち上がりエッジにおいて、第１の信号がローの状態である場合には出力信号をマイナスの状態とし、第１の信号の立ち上がりで“０”とする（図１２（Ｋ）〜（Ｏ）参照）。また、第２の信号の立ち下がりエッジにおいて、第２の信号がハイの状態である場合には出力信号をマイナスの状態とし、第２の信号の立ち下がりで“０”とする（図１２（Ｋ）〜（Ｏ）参照）。以上のような方法によっても、位相差を検出することができる。なお、これ以外の方法で位相差を検出してもよい。
【００９２】
また、以上の音声信号処理装置を、例えば、車載の無線機に搭載し、音声信号からエンジンのノイズを除去するようにしてもよい。あるいは、音声認識機能を有するカーナビゲーション装置に搭載し、音声認識処理の前処理として利用することにより、認識精度を向上させることも可能である。
【産業上の利用可能性】
【００９３】
本発明は、例えば、自動車に搭載される音声信号処理装置に適用することができる。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施の形態に係る音声信号処理装置の構成例を示すブロック図である。
【図２】（Ａ）はエンジンから発生するノイズの周波数特性を示し、（Ｂ）はノッチフィルタ群の周波数特性を示している。
【図３】ノッチフィルタ群を構成するノッチフィルタの周波数特性を示す図である。
【図４】図１に示す周波数検出制御部の詳細な構成例を示す図である。
【図５】図２に示す２つのバンドパスフィルタの周波数および位相特性を示す図である。
【図６】図２に示す２つのバンドパスフィルタの特性の関係を示す図である。
【図７】本発明の実施の形態の実測結果を示す図であり、（Ａ）は処理前の周波数スパクトラムであり、（Ｂ）は処理後の周波数スペクトラムを示す。
【図８】本発明の第２の実施の形態の周波数検出制御部の構成例を示す図である。
【図９】図８に示すバンドパスフィルタの周波数および位相特性を示す図である。
【図１０】図９に示す位相差検出部の動作の一例を示す図である。
【図１１】図１０に示す位相差の具体的な検出方法を示す図である。
【図１２】本発明の第２の実施の形態の変形例を示す図である。
【符号の説明】
【００９５】
１０  マイクロフォン
２０，２５  バンドパスフィルタ
３０  ノッチフィルタ群（濾波手段）
４０  周波数検出制御部（検出手段、調整手段）
１４１  バンドパスフィルタ（第２のバンドパスフィルタ）
１４２  バンドパスフィルタ（第１のバンドパスフィルタ）
２４１  バンドパスフィルタ
【図１】
2008165125.tif 000003
【図２】
2008165125.tif 000004
【図３】
2008165125.tif 000005
【図４】
2008165125.tif 000006
【図５】
2008165125.tif 000007
【図６】
2008165125.tif 000008
【図７】
2008165125.tif 000009
【図８】
2008165125.tif 000010
【図９】
2008165125.tif 000011
【図１０】
2008165125.tif 000012
【図１１】
2008165125.tif 000013
【図１２】
2008165125.tif 000014