(57)【要約】【課題】入力音声から精度よく雑音を除去することを課題とする。【解決手段】除去部は、主に第２の音声が入力される第２の入力部から取得した第２の信号に基づいて更新されるフィルタ係数を用いて、主に第１の音声が入力される第１の入力部から取得した第１の信号から前記第２の音声の成分を除去する。混入検知部は、第１の信号と第２の信号との間の相関性を示す相関値が所定の閾値を超えるものと判定し、第１の信号の出力レベルと第２の信号の出力レベルとの差が所定の閾値を超えるものと判定した場合には、第２の信号に第１の音声成分が混入している旨を検知する。制御部は、混入検知部により第２の信号に第１の音声の成分が含まれている旨が検知された場合に、フィルタ係数の更新を停止するように制御する。【選択図】図１
2011069901.tif 000002
【特許請求の範囲】
【請求項１】
主に第２の音声が入力される第２の入力部から出力された第２の信号に基づいて更新されるフィルタ係数を用いて、主に第１の音声が入力される第１の入力部から出力された第１の信号から前記第２の音声の成分を除去する除去部と、
前記第１の信号と前記第２の信号との間の相関性を示す相関値を算出し、当該算出された相関値が所定の閾値を超えるか否かを判定するとともに、前記第１の信号の出力レベルと前記第２の信号の出力レベルとを比較して前記第１の信号の出力レベルと前記第２の信号の出力レベルとの差が所定の閾値を超えるか否かを判定し、前記相関値が所定の閾値を超えるものと判定し、かつ前記出力レベルの差が所定の閾値を超えるものと判定した場合には、前記第２の信号に前記第１の音声成分が含まれている旨を検知する検知部と、
前記検知部により前記第２の信号に前記第１の音声の成分が含まれている旨が検知された場合に、前記フィルタ係数の更新を停止するように制御する制御部と
を有することを特徴とする雑音除去装置。
【請求項２】
雑音除去装置を有する音声出力装置から再生出力される第３の音声が入力される第３の入力部から出力される第３の信号に基づいて更新されるフィルタ係数を用いて、前記第１の入力部から出力される第１の信号から前記第３の音声の成分を除去する再生音除去部と、
前記第３の音声の再生を検知する再生検知部と、
をさらに有し、
前記制御部は、前記再生検知部により前記第３の音声の再生が検知された場合に、前記第２の信号に基づいて更新されるフィルタ係数の更新を停止するように制御するとともに、前記第３の信号に基づいて更新されるフィルタ係数を更新することを特徴とする請求項１に記載の雑音除去装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、雑音除去装置に関する。
【背景技術】
【０００２】
従来より、マイクロホンなどの音声入力装置で取得した音声信号の認識精度を向上させることを目的として、例えば、取得した音声信号から周辺の雑音に相当する信号を除去する雑音除去技術が存在する。なお、上記の雑音除去技術を実現する雑音除去装置は、ショッピングセンタなどの公共スペースにおいて音声コミュニケーションを使った対人サービスを行う対人サービス提供ロボットや、ハンズフリー電話などに適用される場合がある。
【０００３】
従来の雑音除去装置は、音声取得用マイクロホン（MIC_S）および雑音取得用マイクロホン（MIC_N）を有する。そして、ハンズフリー電話に適用した従来の雑音除去装置は、雑音除去装置自体が有する音声再生スピーカを音源として発せられる受話音声、雑音除去装置を取り巻く環境内に流れているアナウンスやＢＧＭなどの環境音を雑音除去対象として処理する。
【０００４】
例えば、従来の雑音除去装置は、音声取得用マイクロホンにより取得した音声から受話音声を除去する場合、音声再生出力信号をエコーキャンセル部にフィードバックすることで、音声入力信号から受話音声信号を除去するエコーキャンセル処理を行う。すなわち、従来の雑音除去装置は、エコーキャンセル用の適応フィルタを用いて、音声入力信号から雑音成分を差し引く処理を実行する。
【０００５】
また、従来の雑音除去装置は、音声取得用マイクロホンにより取得した音声から環境音を除去する場合、雑音取得用マイクロホン（MIC_N）により取得した環境音の信号をノイズキャンセル部に入力することで、音声入力信号から環境音の信号を除去するノイズキャンセル処理を行う。すなわち、従来の雑音除去装置は、ノイズキャンセル用の適応フィルタを用いて、音声入力信号から雑音成分を差し引く処理を実行する。
【０００６】
ところで、従来の雑音除去装置には、雑音取得用マイクロホンを使用する場合に、次の二つの課題があった。課題の一つ目は、音声取得用マイクロホンだけでなく、雑音取得用マイクロホンにも受話音声が入力されることにより、ノイズキャンセル用あるいはエコーキャンセル用の適応フィルタの係数推定が不安定になることである。課題の二つ目は、音声取得用マイクロホンに入力する音声が雑音取得用マイクロホンに回り込んでしまうことによって、ノイズキャンセル処理により音声入力信号を劣化させてしまうことである。
【０００７】
そこで、上述した二つの課題に対処するために、受話音声の有無を検出する音声出力検出器、音声入力の有無を検出する音声入力検出器を用いて、適応フィルタの係数更新を制御する技術が提案されている。例えば、音声出力検出器にて受話音声のパワーが所定の閾値を超えると判定された場合に、受話音声の入力があったものと検出する。同様に、音声入力検出器にて音声入力のパワーが所定の閾値を超えると判定された場合に、音声入力があったものと検出する。そして、音声入力が検出されると、適応フィルタの係数更新を停止するように制御することで、音声入力信号の劣化を防止する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−１４１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した適応フィルタの更新を制御する技術では、受話音声の音量や音声入力の音量、雑音レベルの変化に合わせて、音声入力検出のために適正な閾値を設定する必要があり、検出精度が問題となる。つまり、受話音声の音量や音声入力の音量、雑音レベルは常に変化するものであるので、雑音除去装置を取り巻くあらゆる状況にも対応可能な適正な閾値を設定することは極めて困難である。このため、音声入力の検出精度が大きく低下し、結果として、音声入力信号の劣化が引き起こされる。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、入力音声から精度よく雑音を除去することが可能な雑音除去装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する技術は、一つの態様において、主に第２の音声が入力される第２の入力部から取得した第２の信号に基づいて更新されるフィルタ係数を用いて、主に第１の音声が入力される第１の入力部から取得した第１の信号から前記第２の音声の成分を除去する除去部と、前記第１の信号と前記第２の信号との間の相関性を示す相関値を算出し、当該算出された相関値が所定の閾値を超えるか否かを判定するとともに、前記第１の信号の出力レベルと前記第２の信号の出力レベルとを比較して前記第１の信号の出力レベルと前記第２の信号の出力レベルとの差が所定の閾値を超えるか否かを判定し、前記相関値が所定の閾値を超えるものと判定し、かつ前記出力レベルの差が所定の閾値を超えるものと判定した場合には、前記第２の信号に前記第１の音声成分が混入している旨を検知する混入検知部と、前記混入検知部により前記第２の信号に前記第１の音声の成分が混入している旨が検知された場合に、前記フィルタ係数の更新を停止するように制御する制御部とを有する。
【発明の効果】
【００１２】
本願の開示する技術の一つの態様によれば、入力音声から精度よく雑音を除去できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る雑音除去装置を示す図である。
【図２】図２は、実施例２に係る構成を示す図である。
【図３】図３は、実施例２に係る音声入力検出器の構成を示す図である。
【図４】図４は、実施例２に係る音声入力フラグの判定テーブル例を示す図である。
【図５】図５は、実施例２に係るフィルタ係数更新の実行判定テーブル例を示す図である。
【図６】図６は、実施例２に係るフィルタ係数更新の実行判定テーブル例を示す図である。
【図７】図７は、実施例２に係る雑音除去装置による処理の流れを示す図である。
【図８】図８は、実施例２に係る雑音除去装置による処理の流れを示す図である。
【図９】図９は、実施例２に係る雑音除去装置による処理の流れを示す図である。
【図１０】図１０は、実施例３に係る構成を示す図である。
【図１１】図１１は、実施例４に係る構成を示す図である。
【図１２】図１２は、実施例４に係る受話音声入力検出器の構成を示す図である。
【図１３】図１３は、実施例４に係る雑音除去装置による処理の流れを示す図である。
【図１４】図１４は、実施例４に係る雑音除去装置による処理の流れを示す図である。
【図１５】図１５は、実施例４に係る雑音除去装置による処理の流れを示す図である。
【図１６】図１６は、実施例５に係る構成を示す図である。
【図１７】図１７は、実施例６に係る構成を示す図である。
【図１８】図１８は、実施例６に係る雑音除去装置の動作を説明する図である。
【発明を実施するための形態】
【００１４】
以下に、図面を参照しつつ、本願の開示する雑音除去装置の一実施形態について詳細に説明する。なお、以下では、本願の開示する雑音除去装置の一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。
【実施例１】
【００１５】
図１は、実施例１に係る雑音除去装置を示す図である。同図に示すように、実施例１に係る雑音除去装置１は、除去部４、混入検知部５および制御部６を有する。
【００１６】
そして、図１に示す第１の入力部２は、主に第１の音声が入力される。また、図１に示す第２の入力部３は、主に第２の音声が入力される。
【００１７】
また、図１に示す除去部４は、第２の入力部３から取得した第２の信号に基づいて更新されるフィルタ係数を用いて、第１の入力部２から取得した第１の信号から第２の音声の成分を除去する。
【００１８】
また、図１に示す混入検知部５は、第１の信号と第２の信号との間の相関性を示す相関値を算出し、当該算出された相関値が所定の閾値を超えるか否かを判定する。さらに、混入検知部５は、第１の信号の出力レベルと第２の信号の出力レベルとを比較し、第１の信号の出力レベルと第２の信号の出力レベルとの差が所定の閾値を超えるか否かを判定する。そして、混入検知部５は、相関値が所定の閾値を超えるものと判定し、かつ出力レベルの差が所定の閾値を超えるものと判定した場合には、第２の信号に第１の音声成分が混入している旨を検知する。
【００１９】
また、図１に示す制御部６は、混入検知部５により第２の信号に第１の音声の成分が含まれている旨が検知された場合に、フィルタ係数の更新を停止するように制御する。
【００２０】
すなわち、実施例１に係る雑音除去装置は、第２の信号に第１の音声の成分が混入している場合には、フィルタ係数の更新を停止する。このとき、実施例１に係る雑音除去装置は、第１の信号と第２の信号との相関の度合いが高いかどうかを判定することにより、第２の信号に第１の音声の成分が混入しているか否かを判定する。したがって、第２の信号に第１の音声の成分が混入しているか否かを検知する精度を上げることができ、第２の信号に第１の音声の成分が混入している状態でのフィルタ係数の更新を回避できる。よって、結果的に、第１の音声から第２の音声の成分を精度よく除去できる。
【実施例２】
【００２１】
［雑音除去装置の構成（実施例２）］
図２は、実施例２に係る構成を示す図である。なお、以下では、実施例２に係る雑音除去装置を、ショッピングセンタなどの公共スペースにて音声コミュニケーションを使った対人サービスを行うサービス提供ロボットに適用した場合の一実施形態について説明する。
【００２２】
図２に示すように、サービス提供ロボット１００は、音声取得用マイクロホン（MIC_S）１１０、雑音取得用マイクロホン（MIC_N）１２０および音声再生スピーカ１３０を有する。さらに、サービス提供ロボット１００は、同図に示すように、Ａ／Ｄ（アナログデジタル変換器）１４０ａ〜１４０ｃ、Ｄ／Ａ（デジタルアナログ変換器）１５０、音声認識部１６０およびロボットコントローラー１７０を有する。
【００２３】
音声取得用マイクロホン１１０は、主にサービス提供ロボット１００の利用者から発せられた発話音声の入力を受け付ける。雑音取得用マイクロホン１２０は、主にサービス提供ロボット１００を取り巻く環境内に流れているアナウンスやＢＧＭなど、利用者から発せられる発話音声以外の環境音の入力を受け付ける。音声再生スピーカ１３０は、サービス提供ロボット１００にて再生される音声を利用者に向けて出力する。
【００２４】
Ａ／Ｄ１４０ａは、音声取得用マイクロホン１１０を介して入力されるアナログの音声信号をデジタルの音声信号に変換し、雑音除去装置２００に出力する。Ａ／Ｄ１４０ｂは、雑音取得用マイクロホン１２０を介して入力されるアナログの雑音信号をデジタルの雑音信号に変換し、雑音除去装置２００に出力する。Ａ／Ｄ１４０ｃは、後述するＤ／Ａ１５０を介して入力されるアナログの再生音声信号をデジタルの再生音声信号に変換し、雑音除去装置２００に出力する。
【００２５】
音声認識部１６０は、雑音除去装置２００から出力される音声信号の認識処理を実行し、認識結果をロボットコントローラー１７０に送出する。例えば、音声認識部１６０は、公知の音声認識手法を用いて、利用者の発した音声に含まれる単語や文節などを抽出する。そして、音声認識部１６０は、抽出した単語や文節などを認識結果としてロボットコントローラー１７０に送出する。
【００２６】
ロボットコントローラー１７０は、音声認識部１６０から送出された音声認識結果に応じてデジタルの再生音声信号を生成し、生成した再生音声信号をＤ／Ａ１５０に送出する。例えば、ロボットコントローラー１７０は、音声認識部１６０から送出された単語や文節に対応する応答（単語や文節）を特定し、特定した応答を再生する再生音声信号を生成する。また、ロボットコントローラー１７０は、再生音声信号をＤ／Ａ１５０に送出する場合に、サービス提供ロボット１００を音源とする音声が再生されることを示す音声再生フラグを後述する雑音除去装置２００（フィルタ係数推定器２２２，２３２）に出力する。例えば、ロボットコントローラー１７０は、音声再生状態にある場合には、“Ｔｒｕｅ（＝音声再生）”を音声再生フラグとして出力し、音声無再生状態にある場合には、“Ｆａｌｓｅ（＝音声無再生）”を音声再生フラグとして出力する。
【００２７】
Ｄ／Ａ１５０は、後述するロボットコントローラー１７０から送出されたデジタルの再生音声信号をアナログの信号に変換し、音声再生スピーカ１３０に送出する。
【００２８】
雑音除去装置２００は、後述するノイズキャンセル部２２０およびエコーキャンセル部２３０により、Ａ／Ｄ１４０ａから出力された音声信号から雑音成分および再生音声成分を除去した音声信号を音声認識部１６０に出力する。雑音除去装置２００は、例えば、図２に示すように、音声入力検出器２１０、ノイズキャンセル部２２０およびエコーキャンセル部２３０を有する。
【００２９】
音声入力検出器２１０は、Ａ／Ｄ１４０ａから出力された音声信号およびＡ／Ｄ１４０ｂから出力された雑音信号を用いて、雑音信号に音声信号が混入しているか否かを検出する。そして、音声入力検出器２１０は、雑音信号に音声信号が混入しているか否かを示す音声入力フラグを、後述するノイズキャンセル部２２０（フィルタ係数推定器２２２）に送出する。
【００３０】
図３は、実施例２に係る音声入力検出器の構成を示す図である。例えば、同図に示すように、音声入力検出器２１０は、ディレイタップ２１１ａ，２１１ｂと、フレーム分割処理部２１２ａ，２１２ｂと、相互相関検出器２１３と、信号レベル比較器２１４と、フラグ生成器２１５を有する。
【００３１】
ディレイタップ２１１ａ，２１１ｂは、既知の遅延（例えば、Ａ／Ｄにおける遅延差や伝送経路での遅延など）を調整する。例えば、ディレイタップ２１１ａは、Ａ／Ｄ１４０ａから出力された音声信号について、Ａ／Ｄ１４０ａにおける遅延差などを調整し、フレーム分割処理部２１２ａに送出する。また、例えば、ディレイタップ２１１ｂは、Ａ／Ｄ１４０ｂから出力された雑音信号について、Ａ／Ｄ１４０ｂにおける遅延差などを調整し、フレーム分割処理部２１２ｂに送出する。
【００３２】
フレーム分割処理部２１２ａ，２１２ｂは、ディレイタップ２１１ａ，２１１ｂから送出された信号を分割し、相互相関検出器２１３および信号レベル比較器２１４にそれぞれ送出する。例えば、フレーム分割処理部２１２ａは、ディレイタップ２１１ａから送出された音声信号を、数サンプル（例えば、５１２サンプル）を１フレームとして逐次分割する。なお、フレーム分割処理部２１２ａ，２１２ｂ以降の処理は、全てフレーム単位で処理する。
【００３３】
そして、フレーム分割処理部２１２ａは、分割した各音声信号を相互相関検出器２１３および信号レベル比較器２１４にそれぞれ送出する。同様に、フレーム分割処理部２１２ｂは、例えば、ディレイタップ２１１ｂから送出された雑音信号を、数サンプル（例えば、５１２サンプル）を１フレームとして逐次分割する。そして、フレーム分割処理部２１２ｂは、分割した各音声信号を相互相関検出器２１３および信号レベル比較器２１４にそれぞれ送出する。
【００３４】
相互相関検出器２１３は、フレーム分割処理部２１２ａから送出された音声信号と、フレーム分割処理部２１２ｂから送出された雑音信号との間の相関性を示す相互相関値を算出する。
【００３５】
例えば、相互相関検出器２１３は、音声信号と雑音信号とを所定の位相で重ね合わせ、重ね合わせた所定の位相を中心とする前後５０サンプルの範囲で音声信号と雑音信号との相互相関演算を行い、相互相関値を算出する。そして、相互相関検出器２１３は、算出した相互相関値が最大値となる相関最大位置情報を取得する。さらに、相互相関検出器２１３は、相互相関値の最大値が予め定めた閾値よりも大きいか否かを判定する。判定の結果、相互相関値の最大値が予め定めた閾値よりも大きい場合は、相互相関検出器２１３は、“Ｔｒｕｅ（＝相関有り）”を相関有無情報として後述するフラグ生成器２１５に送出する。これとは反対に、判定の結果、相互相関値の最大値が予め定めた閾値よりも小さい場合は、“Ｆａｌｓｅ（＝相関無し）”を相関有無情報として後述するフラグ生成器２１５に送出する。
【００３６】
信号レベル比較器２１４は、フレーム分割処理部２１２ａから送出される音声信号の信号レベル（例えば、電力値）とフレーム分割処理部２１２ｂから送出される雑音信号の信号レベル（例えば、電力値）とを比較する。例えば、図３に示すように、信号レベル比較器２１４は、二乗平均演算器２１４ａおよびパワー比較器２１４ｂを有する。
【００３７】
二乗平均演算器２１４ａは、フレーム分割処理部２１２ａから送出された音声信号の電圧値、およびフレーム分割処理部２１２ｂから送出された雑音信号の電圧値をそれぞれ二乗し、音声信号および雑音信号の電力値をそれぞれ算出する。そして、二乗平均演算器２１４ａは、音声信号および雑音信号の電力値を後述するパワー比較器２１４ｂに送出する。
【００３８】
パワー比較器２１４ｂは、相互相関検出器２１３により取得された相関最大位置情報に対応する位相で、二乗平均演算器２１４ａから送出された音声信号および雑音信号を重ね合わせる。そして、パワー比較器２１４ｂは、相関最大位置情報に対応する位相で音声信号と雑音信号とを重ね合わせた時の、音声信号の電力値と雑音信号の電力値の平均値の差を算出し、算出した差が予め定めた閾値より大きいか否かを判定する。判定の結果、算出した差が予め定めた閾値より大きい場合には、パワー比較器２１４ｂは、“Ｔｒｕｅ（＝レベル差有り）”をレベル比較情報として後述するフラグ生成器２１５に送出する。これとは反対に、判定の結果、算出した差が予め定めた閾値以下である場合には、パワー比較器２１４ｂは、 “Ｆａｌｓｅ（＝レベル差無し）”をレベル比較情報として後述するフラグ生成器２１５に送出する。なお、平均値はフレーム単位で処理する。
【００３９】
フラグ生成器２１５は、相互相関検出器２１３および信号レベル比較器２１４から送出される相関有無情報及びレベル比較情報の組合せと、生成する音声入力フラグの内容との対応関係を予め定義した判定テーブルを有する。そして、フラグ生成器２１５は、この判定テーブルに従って、雑音信号に音声信号が混入しているか否かを示す音声入力フラグを生成し、生成したフラグを後述するノイズキャンセル部２２０に送出する。なお、音声入力フラグは、分割したフレーム単位で出力し、例えば、１フレームを５１２サンプルで分割した場合は、５１２サンプルが同じフラグを出力する。
【００４０】
図４は、実施例２に係る音声入力フラグの判定テーブル例を示す図である。同図に示すように、判定テーブルには、一番左の列の項目として相互相関検出器２１３から送出される相関有無情報（最大相互相関値＞しきい値）が定義される。例えば、相互相関検出器２１３から送出される相関有無情報が「Ｔｒｕｅ」である場合には、雑音信号と音声信号との間に相関があることを示し、相関有無情報が「Ｆａｌｓｅ」である場合には、雑音信号と音声信号との間に相関がないことを示す。
【００４１】
また、図４に示すように、判定テーブルには、真ん中の列の項目として信号レベル比較器２１４から送出されるレベル比較情報（二乗平均差＞しきい値）が定義される。例えば、信号レベル比較器２１４から送出されるレベル比較情報が「Ｔｒｕｅ」である場合には、雑音信号と音声信号との間にレベル差があることを示し、レベル比較情報が「Ｆａｌｓｅ」である場合には、雑音信号と音声信号との間にレベル差がないことを示す。
【００４２】
また、図４に示すように、判定テーブルには、一番右の列の項目として、フラグ生成器２１５が生成すべき音声入力フラグの種別が定義される。例えば、音声入力フラグが「Ｔｒｕｅ」である場合には、雑音信号に音声信号が混入していることを示し、音声入力フラグが「Ｆａｌｓｅ」である場合には、雑音信号に音声信号が混入していないことを示す。
【００４３】
そして、図４に示すように、判定テーブルには、相互相関検出器２１３および信号レベル比較器２１４から送出される相関有無情報及びレベル比較情報が共に「Ｔｒｕｅ」である場合にのみ、生成すべき音声入力フラグの種別を「Ｔｒｕｅ」とするように定義されている。
【００４４】
例えば、フラグ生成器２１５は、相互相関検出器２１３および信号レベル比較器２１４から送出される相関有無情報及びレベル比較情報が共に“Ｔｒｕｅ”である場合には、図４に示す判定テーブル最上段の行に定義された情報に従う。すなわち、フラグ生成器２１５は、雑音信号への音声信号の混入があることを示す“Ｔｒｕｅ”の音声入力フラグを生成する。
【００４５】
また、例えば、フラグ生成器２１５は、相互相関検出器２１３および信号レベル比較器２１４から送出される相関有無情報及びレベル比較情報が共に“Ｆａｌｓｅ”である場合には、図４に示す判定テーブル４段目の行に定義された情報に従う。すなわち、フラグ生成器２１５は、雑音信号への音声信号の混入がないことを示す“Ｆａｌｓｅ”の音声入力フラグを生成する。
【００４６】
また、例えば、フラグ生成器２１５は、相互相関検出器２１３および信号レベル比較器２１４から送出される相関有無情報及びレベル比較情報のいずれか一方が“Ｆａｌｓｅ”である場合には、図４に示す判定テーブル２，３段目の行に定義された情報に従う。すなわち、フラグ生成器２１５は、雑音信号への音声信号の混入がないことを示す“Ｆａｌｓｅ”の音声入力フラグを生成する。
【００４７】
ノイズキャンセル部２２０は、図２に示すように、ＦＩＲ（Finite impulse response）フィルタ２２１およびフィルタ係数推定器２２２を有する。
【００４８】
ＦＩＲフィルタ２２１は、フィルタ係数推定器２２２から送出されるノイズキャンセル（ＮＣ）用のフィルタ係数を用いて、Ａ／Ｄ１４０ａから出力される音声信号から雑音成分を除去する。なお、ノイズキャンセル（ＮＣ）用のフィルタ係数は、音声信号に含まれる雑音成分を「０」にするように、雑音信号を適応する場合の伝達関数の係数として用いる。
【００４９】
フィルタ係数推定器２２２は、Ａ／Ｄ１４０ｂから出力される雑音信号に基づいて、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を行い、更新したフィルタ係数をＦＩＲフィルタ２２１に送出する。また、フィルタ係数推定器２２２は、音声入力検出器２１０から送出される音声入力フラグ、およびロボットコントローラー１７０から送出される音声再生フラグに基づいて、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を制御する。
【００５０】
例えば、フィルタ係数推定器２２２は、音声再生フラグに対応付けて、音声再生フラグの示す音声再生状態および音声再生状態に応じた対応動作を予め定義した実行判定テーブルを有する。そして、フィルタ係数推定器２２２は、この実行判定テーブルに従って、ノイズキャンセル用のフィルタ係数の更新を行う。
【００５１】
図５は、実施例２に係るフィルタ係数更新の実行判定テーブル例を示す図である。同図に示すように、実行判定テーブルには、一番左の列の項目として音声再生フラグの種別、真ん中の列の項目として音声再生フラグの示す音声再生の状態、一番右の列の項目としてフィルタ係数推定器２２２の対応動作が定義される。例えば、実行判定テーブルには、音声再生フラグ「Ｔｒｕｅ」に対応付けて、音声再生状態「音声再生」、対応動作「係数更新停止」が定義される。また、例えば、同図に示すように、実行判定テーブルには、音声再生フラグ「Ｆａｌｓｅ」に対応付けて、音声再生状態「音声無再生」、対応動作「係数更新」が定義される。なお、実行判定テーブルには、音声再生状態（「音声再生」、「音声無再生」）は、必ずしも定義されている必要はない。
【００５２】
例えば、フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、音声再生フラグ“Ｔｒｕｅ”を入力済みである場合には、同図に示す実行判定テーブルに基づいて音声再生状態にあると判定する。そして、フィルタ係数推定器２２２は、同図に示す実行判定テーブルに従って、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新停止を決定する。また、例えば、フィルタ係数推定器２２２は、フィルタ係数更新を実行するタイミングで、音声再生フラグ“Ｆａｌｓｅ”を入力済みである場合には、同図に示す実行判定テーブルに基づいて音声無再生状態にあると判定する。そして、フィルタ係数推定器２２２は、同図に示す実行判定テーブルに従って、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を行う。
【００５３】
また、フィルタ係数推定器２２２は、音声入力フラグに対応付けて、音声入力フラグの示す音声入力状態（雑音信号への音声信号の混入の有無）および音声入力状態に応じた対応動作を予め定義したもう一つの実行判定テーブルを有する。そして、フィルタ係数推定器２２２は、この実行判定テーブルに従って、ノイズキャンセル用のフィルタ係数の更新を行う。
【００５４】
図６は、実施例２に係るフィルタ係数更新の実行判定テーブル例を示す図である。同図に示すように、実行判定テーブルには、一番左の列の項目として音声入力フラグの種別、真ん中の列の項目として雑音信号への音声信号の混入の有無を示す音声入力混入状態、一番右の列の項目としてフィルタ係数推定器２２２の対応動作が定義される。例えば、実行判定テーブルには、音声入力フラグ「Ｔｒｕｅ」に対応付けて、音声入力状態「音声入力混入有り」、対応動作「係数更新停止」が定義される。また、例えば、同図に示すように、実行判定テーブルには、音声入力フラグ「Ｆａｌｓｅ」に対応付けて、音声入力混入状態「音声入力混入なし」、対応動作「係数更新」が定義される。
【００５５】
例えば、フィルタ係数推定器２２２は、フィルタ係数更新を実行するタイミングで、音声入力フラグ“Ｔｒｕｅ”を入力済みである場合には、同図に示す実行判定テーブルに基づいて、音声入力混入有り（雑音信号への音声信号の混入有）の状態にあると判定する。そして、フィルタ係数推定器２２２は、同図に示す実行判定テーブルに従って、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新停止を決定する。また、例えば、フィルタ係数推定器２２２は、フィルタ係数更新を実行するタイミングで、音声入力フラグ“Ｆａｌｓｅ”を入力済みである場合には、同図に示す実行判定テーブルに基づいて、音声入力混入なし（雑音信号への音声信号の混入無）の状態にあると判定する。そして、フィルタ係数推定器２２２は、同図に示す実行判定テーブルに従って、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を行う。
【００５６】
上記したフィルタ係数の更新についてまとめると、例えば、フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、少なくとも、音声再生フラグ“Ｔｒｕｅ”、音声入力フラグ“Ｔｒｕｅ”のいずれか一方を入力済みである場合には、フィルタ係数の更新を停止する。
【００５７】
なお、フィルタ係数推定器２２２は、例えば、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を停止した場合には、前回使用したフィルタ係数をそのままＦＩＲフィルタ２２１に送出する。なお、フィルタ係数推定器２２２によりフィルタ係数の更新が停止されている間、ＦＩＲフィルタ２２１は、前回使用したフィルタ係数を用いて、音声信号から雑音成分を除去する。
【００５８】
エコーキャンセル部２３０は、図２に示すように、ＦＩＲ（Finite impulse response）フィルタ２３１およびフィルタ係数推定器２３２を有する。
【００５９】
ＦＩＲフィルタ２３１は、フィルタ係数推定器２３２から送出されるエコーキャンセル（ＥＣ）用のフィルタ係数を用いて、Ａ／Ｄ１４０ａから出力される音声信号から再生音声成分を除去する。なお、エコーキャンセル（ＥＣ）用のフィルタ係数は、音声信号に含まれる再生音声成分を「０」にするように、再生音声信号を適応する場合の伝達関数の係数として用いる。
【００６０】
フィルタ係数推定器２３２は、Ａ／Ｄ１４０ｃから出力される再生音声信号に基づいて、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を行い、更新したフィルタ係数をＦＩＲフィルタ２３１に送出する。また、フィルタ係数推定器２３２は、ロボットコントローラー１７０から送出される音声再生フラグに基づいて、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を制御する。なお、フィルタ係数推定器２３２は、図には示さないが、上述したフィルタ係数推定器２２２と同様の実行判定テーブル（例えば、図５参照）を有する。
【００６１】
例えば、フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、音声再生フラグ“Ｔｒｕｅ”を入力済みである場合には、音声再生状態にあると判定し、フィルタ係数の更新を行う。また、フィルタ係数推定器２３２は、フィルタ係数更新を実行するタイミングで、音声再生フラグ“Ｆａｌｓｅ”を入力済みである場合には、音声無再生状態にあると判定し、フィルタ係数の更新を停止する。
【００６２】
なお、フィルタ係数推定器２３２は、例えば、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を停止した場合には、前回使用したフィルタ係数をそのままＦＩＲフィルタ２３１に送出する。なお、フィルタ係数推定器２３２によりフィルタ係数の更新が停止されている間、ＦＩＲフィルタ２３１は、前回使用したフィルタ係数を用いて、音声信号から再生音声成分を除去する。
【００６３】
なお、音声入力検出器２１０、ノイズキャンセル部２２０およびエコーキャンセル部２３０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの集積回路である。あるいは、音声入力検出器２１０、ノイズキャンセル部２２０およびエコーキャンセル部２３０は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）などの電子回路であってもよい。
【００６４】
［雑音除去装置による処理（実施例２）］
図７〜図９は、実施例２に係る雑音除去装置による処理の流れを示す図である。まず、図７を用いて、音声入力検出器２１０による処理の流れを説明する。同図に示すように、音声入力検出器２１０は、Ａ／Ｄ１４０ａから出力された音声信号およびＡ／Ｄ１４０ｂから出力された雑音信号を受け付けると（ステップＳ１肯定）、雑音信号に音声信号が混入しているか否かを検出する（ステップＳ２）。
【００６５】
そして、音声入力検出器２１０は、雑音信号に音声信号が混入していると判定した場合には（ステップＳ２肯定）、雑音信号への音声信号の混入があることを示す音声入力フラグ“Ｔｒｕｅ”をノイズキャンセル部２２０に送出する（ステップＳ３）。一方、音声入力検出器２１０は、雑音信号に音声信号が混入していないと判定した場合には（ステップＳ２否定）、雑音信号への音声信号の混入がないことを示す音声入力フラグ“Ｆａｌｓｅ”をノイズキャンセル部２２０に送出する（ステップＳ４）。
【００６６】
次に、図８を用いて、ノイズキャンセル部２２０による処理の流れを説明する。同図に示すように、フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、入力済みである音声入力フラグまたは音声再生フラグの少なくとも一方が“Ｔｒｕｅ”である場合には（ステップＳ１肯定）、次のように動作する。すなわち、フィルタ係数推定器２２２は、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を停止する（ステップＳ２）。そして、フィルタ係数推定器２２２は、前回使用したノイズキャンセル（ＮＣ）用のフィルタ係数をＦＩＲフィルタ２２１に送出する（ステップＳ３）。その結果、フィルタ係数推定器２２２によりフィルタ係数の更新が停止されている間、ＦＩＲフィルタ２２１は、前回使用したフィルタ係数を用いて、音声信号から雑音成分を除去する。
【００６７】
ここで、ステップＳ１の説明に戻る。フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、入力済みである音声入力フラグまたは音声再生フラグの少なくとも一方が“Ｔｒｕｅ”ではない場合（双方がＦａｌｓｅである場合）には（ステップＳ１否定）、次のように動作する。すなわち、フィルタ係数推定器２２２は、ノイズキャンセル（ＮＣ）用のフィルタ係数を更新する（ステップＳ４）。そして、フィルタ係数推定器２２２は、更新後のノイズキャンセル（ＮＣ）用のフィルタ係数をＦＩＲフィルタ２２１に送出する（ステップＳ５）。その結果、ＦＩＲフィルタ２２１は、フィルタ係数推定器２２２により更新されたフィルタ係数を用いて、音声信号から雑音成分を除去する。
【００６８】
続いて、図９を用いて、エコーキャンセル部２３０による処理の流れを説明する。同図に示すように、フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、入力済みである音声再生フラグが“Ｔｒｕｅ”の場合には（ステップＳ１肯定）、次のように動作する。すなわち、フィルタ係数推定器２３２は、エコーキャンセル（ＥＣ）用のフィルタ係数を更新する（ステップＳ２）。そして、フィルタ係数推定器２３２は、更新後のエコーキャンセル（ＥＣ）用のフィルタ係数をＦＩＲフィルタ２３１に送出する（ステップＳ３）。その結果、ＦＩＲフィルタ２３１は、フィルタ係数推定器２３２により更新されたフィルタ係数を用いて、音声信号から再生音声成分を除去する。
【００６９】
ここで、ステップＳ１の説明に戻る。フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、入力済みである音声再生フラグが“Ｔｒｕｅ”ではない場合（Ｆａｌｓｅである場合）には（ステップＳ１否定）、次のように動作する。すなわち、フィルタ係数推定器２３２は、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を停止する（ステップＳ４）。そして、フィルタ係数推定器２３２は、前回使用したエコーキャンセル（ＥＣ）用のフィルタ係数をＦＩＲフィルタ２３１に送出する（ステップＳ５）。その結果、フィルタ係数推定器２３２によりフィルタ係数の更新が停止されている間、ＦＩＲフィルタ２３１は、前回使用したフィルタ係数を用いて、音声信号から再生音声成分を除去する。
【００７０】
［実施例２による効果］
上述してきたように、実施例２によれば、雑音除去装置２００は、雑音信号に音声信号が混入しているか否かを判定して、混入していると判定した場合には音声入力フラグ“Ｔｒｕｅ”を生成する。そして、雑音除去装置２００は、ノイズキャンセル用のフィルタ係数更新のタイミングで、入力済みである音声再生フラグまたは音声入力フラグの少なくとも一方が“Ｔｒｕｅ”の場合には、フィルタ係数の更新を停止する。
【００７１】
すなわち、雑音除去装置２００は、雑音信号に音声信号が混入している場合には、フィルタ係数の更新を停止する。このとき、雑音除去装置２００は、音声信号と雑音信号との相関の度合いが高いかどうかを判定することにより、雑音信号に音声信号が混入しているか否かを判定する。したがって、雑音信号に音声信号が混入しているか否かを検知する精度を上げることができ、雑音信号に音声信号が混入している状態でのフィルタ係数の更新を回避できる。よって、結果的に、音声信号から雑音音声の成分を精度よく除去できる。
【００７２】
また、雑音除去装置２００は、エコーキャンセル用のフィルタ係数更新のタイミングで、入力済みである音声再生フラグが“Ｔｒｕｅ”の場合には、フィルタ係数の更新を停止する。
【００７３】
すなわち、雑音除去装置２００は、音声再生が行われていない状態でのエコーキャンセル用のフィルタ係数の更新を回避できる。よって、結果的に、音声信号から再生音声成分を精度よく除去できる。
【００７４】
なお、上述してきた実施例２の雑音除去装置２００は、エコーキャンセルが必須の処理でなければ、エコーキャンセル部２３０を有する必要はなく、ノイズキャンセル部２２０のみを有すればよい。
【実施例３】
【００７５】
また、上記の実施例２において、音声取得用マイクロホン１１０に音声を入力することが可能な範囲に存在する人を検出した場合に、ロボットコントローラー１７０から音声入力フラグをノイズキャンセル部２２０に出力するようにしてもよい。
【００７６】
図１０は、実施例３に係る構成を示す図である。同図に示すように、サービス提供ロボット１００は、音声取得用マイクロホン（MIC_S）１１０、雑音取得用マイクロホン（MIC_N）１２０および音声再生スピーカ１３０を有する。さらに、サービス提供ロボット１００は、同図に示すように、Ａ／Ｄ（アナログデジタル変換器）１４０ａ〜１４０ｃ、Ｄ／Ａ（デジタルアナログ変換器）１５０、音声認識部１６０およびロボットコントローラー１７０を有する。また、同図に示すように、雑音除去装置２００は、ノイズキャンセル部２２０およびエコーキャンセル部２３０を有する。
【００７７】
ここで、雑音除去装置２００は、音声入力検出器２１０を有さない点が実施例２とは異なる。また、サービス提供ロボット１００が、音声取得用マイクロホン１１０に音声を入力することが可能な範囲に存在する人を検出する人検出部１８０を新たに有する点が実施例２とは異なる。
【００７８】
人検出部１８０は、ビジョン（カメラ）を有し、音声取得用マイクロホン１１０に音声を入力することが可能な範囲に存在する人を検出する。例えば、人検出部１８０は、ビジョン（カメラ）を用いて、音声取得用マイクロホン１１０の指向方向の一定距離内（例えば、１００ｃｍ）に人を検出すると、音声入力フラグ“Ｔｒｕｅ”を出力すべき旨をロボットコントローラー１７０に送出する。なお、人検出部１８０は、エッジ抽出やパターンマッチングなどの既存技術を用いて、ビジョンにより撮影した画像データについて画像認識を実行し、音声取得用マイクロホン１１０に音声を入力することが可能な範囲に存在する人を検出する。
【００７９】
また、人検出部１８０は、ビジョン（カメラ）ではなく、音声取得用マイクロホンの指向方向に存在する物体を検出可能な位置に取り付けられた赤外線センサーや超音波センサーなどの距離測定センサー（距離センサー）を有することもできる。この場合に、人検出部１８０は、距離センサーを用いて、既定の距離以内に物体がある場合には、一定時間物体との距離を計測する。そして、人検出部１８０は、一定時間計測した物体との距離に変化がある場合には、音声入力フラグ“Ｔｒｕｅ”を出力すべき旨をロボットコントローラー１７０に送出する。一方、人検出部１８０は、一定時間計測した物体の距離が変わらない場合には、音声入力フラグ“Ｆａｌｓｅ” を出力すべき旨をロボットコントローラー１７０に送出する。なお、人検出部１８０は、上記したビジョン（カメラ）や距離センサーに限らず、リアルタイムに人検知する装置であれば、どのような装置でも用いることができ、それらの装置を単体あるいは組み合わせで用いることもできる。
【００８０】
ロボットコントローラー１７０は、人検出部１８０から音声入力フラグを出力すべき旨を入力すると、ノイズキャンセル部２２０に音声入力フラグを出力する。
【００８１】
ノイズキャンセル部２２０は、ロボットコントローラー１７０から音声入力フラグを入力すると、上述した実施例２と同様に動作する。すなわち、フィルタ係数推定器２２２は、ノイズキャンセル用のフィルタ係数更新のタイミングで、ロボットコントローラー１７０から音声入力フラグを入力済みである場合には、ノイズキャンセル用のフィルタ係数の更新を停止する。
【実施例４】
【００８２】
また、上記の実施例２で説明した雑音除去装置２００をハンズフリー電話３００に同様に適用することができる。
【００８３】
［雑音除去装置の構成（実施例４）］
図１１は、実施例４に係る構成を示す図である。同図に示すように、ハンズフリー電話３００は、音声取得用マイクロホン（MIC_S）３１０、雑音取得用マイクロホン（MIC_N）３２０および音声再生スピーカ３３０を有する。さらに、ハンズフリー電話３００は、同図に示すように、雑音除去装置２００、Ａ／Ｄ（アナログデジタル変換器）３４０ａ，３４０ｂ、Ｄ／Ａ（デジタルアナログ変換器）３５０を有する。また、同図に示すように、雑音除去装置２００は、音声入力検出器２１０、ノイズキャンセル部２２０、エコーキャンセル部２３０および受話音声入力検出器２４０を有する。
【００８４】
ここで、雑音除去装置２００は、図１１に示すように、受話音声入力検出器２４０を有する点が、実施例２に係る雑音除去装置２００とは異なる。
【００８５】
受話音声入力検出器２４０は、音声再生スピーカ３３０を介して出力された遠端話者信号に対応する受話音声が、音声信号に混入しているか否かを検出する。なお、受話音声入力検出器２４０は、実施例２で説明した音声入力検出器２１０の処理と同様の処理を行って、音声信号に受話音声が混入しているか否かを検出する。
【００８６】
図１２は、実施例４に係る受話音声入力検出器２４０の構成を示す図である。例えば、同図に示すように、受話音声入力検出器２４０は、ディレイタップ２４１ａ，２４１ｂと、フレーム分割処理部２４２ａ，２４２ｂと、相互相関検出器２４３と、信号レベル比較器２４４と、フラグ生成器２４５を有する。なお、ディレイタップ２４１ａ，２４１ｂ、フレーム分割処理部２４２ａ，２４２ｂ、相互相関検出器２４３、信号レベル比較器２４４およびフラグ生成器２４５の処理は、上述した実施例２の音声入力検出器２１０と同様であるので、以下に簡単に説明する。
【００８７】
ディレイタップ２４１ａ，２４１ｂは、既知の遅延（例えば、Ａ／Ｄにおける遅延差や伝送経路での遅延など）を調整する。フレーム分割処理部２４２ａ，２４２ｂは、ディレイタップ２４１ａ，２４１ｂから送出された信号を分割し、相互相関検出器２４３および信号レベル比較器２４４にそれぞれ送出する。
【００８８】
相互相関検出器２４３は、フレーム分割処理部２４２ａから送出された音声信号と、フレーム分割処理部２４２ｂから送出された遠端話者信号との間の相関性を示す相互相関値を算出する。そして、相互相関検出器２４３は、相互相関値の最大値と閾値との比較結果に応じて、“Ｔｒｕｅ（＝相関有り）”あるいは“Ｆａｌｓｅ（＝相関無し）”の相関有無情報をフラグ生成器２４５に送出する。
【００８９】
信号レベル比較器２４４は、例えば、図１２に示すように、二乗平均演算器２４４ａおよびパワー比較器２４４ｂを有する。信号レベル比較器２４４は、フレーム分割処理部２４２ａから送出される音声信号の信号レベル（例えば、電力値）とフレーム分割処理部２４２ｂから送出される遠端話者信号の信号レベル（例えば、電力値）とを比較する。そして、信号レベルの比較結果に応じて、信号レベル比較器２４４は、“Ｔｒｕｅ（＝レベル差有り）”あるいは“Ｆａｌｓｅ（＝レベル差無し）”のレベル比較情報をフラグ生成器２４５に送出する。
【００９０】
フラグ生成器２４５は、相互相関検出器２４３および信号レベル比較器２４４から送出された相関有無情報及びレベル比較情報に基づいて、音声信号に遠端話者信号が混入しているか否かを示す受話音声入力フラグを生成し、生成したフラグをノイズキャンセル部２２０に送出する。フラグ生成器２４５は、相関有無情報及びレベル比較情報に基づいて、音声信号への遠端話者信号の混入があることを示す“Ｔｒｕｅ”、あるいは音声信号への遠端話者信号の混入がないことを示す“Ｆａｌｓｅ”の受話音声入力フラグをノイズキャンセル部２２０に送出する。
【００９１】
［雑音除去装置による処理（実施例４）］
図１３〜図１５は、実施例４に係る雑音除去装置による処理の流れを示す図である。まず、図１３を用いて、受話音声入力検出器２４０による処理の流れを説明する。同図に示すように、受話音声入力検出器２４０は、Ａ／Ｄ３４０ａから出力された音声信号および遠端話者信号を入力すると（ステップＳ１肯定）、音声信号に遠端話者信号が混入しているか否かを検出する（ステップＳ２）。
【００９２】
そして、受話音声入力検出器２４０は、音声信号に遠端話者信号が混入していると判定した場合には（ステップＳ２肯定）、音声信号への遠端話者信号の混入があることを示す受話音声入力フラグ“Ｔｒｕｅ”をノイズキャンセル部２２０に送出する（ステップＳ３）。一方、音声入力検出器２４０は、音声信号に遠端話者信号が混入していないと判定した場合には（ステップＳ２否定）、音声信号への遠端話者信号の混入がないことを示す音声入力フラグ“Ｆａｌｓｅ”をノイズキャンセル部２２０に送出する（ステップＳ４）。
【００９３】
次に、図１４を用いて、ノイズキャンセル部２２０による処理の流れを説明する。同図に示すように、フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、入力済みである音声入力フラグまたは受話音声入力フラグの少なくとも一方が“Ｔｒｕｅ”の場合には（ステップＳ１肯定）、次のように動作する。すなわち、フィルタ係数推定器２２２は、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を停止する（ステップＳ２）。そして、フィルタ係数推定器２２２は、前回使用したノイズキャンセル（ＮＣ）用のフィルタ係数をＦＩＲフィルタ２２１に送出する（ステップＳ３）。その結果、フィルタ係数推定器２２２によりフィルタ係数の更新が停止されている間、ＦＩＲフィルタ２２１は、前回使用したフィルタ係数を用いて、音声信号から雑音成分を除去する。
【００９４】
ここで、ステップＳ１の説明に戻る。フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、入力済みである音声入力フラグまたは受話音声入力フラグの少なくとも一方が“Ｔｒｕｅ”ではない場合（双方がＦａｌｓｅである場合）には（ステップＳ１否定）、次のように動作する。すなわち、フィルタ係数推定器２２２は、ノイズキャンセル（ＮＣ）用のフィルタ係数を更新する（ステップＳ４）。そして、フィルタ係数推定器２２２は、更新後のノイズキャンセル（ＮＣ）用のフィルタ係数をＦＩＲフィルタ２２１に送出する（ステップＳ５）。その結果、ＦＩＲフィルタ２２１は、フィルタ係数推定器２２２により更新されたフィルタ係数を用いて、音声信号から雑音成分を除去する。
【００９５】
なお、実施例４に係るノイズキャンセル部２２０は、上述した実施例２と同様に、音声再生フラグが存在しえる場合（例えば、ハンズフリー電話３００がコンテンツ再生機能等を有する場合）には、音声再生フラグも加味してフィルタ係数の更新を制御してもよい。例えば、フィルタ係数更新のタイミングで、入力済みである音声入力フラグ、受話音声入力フラグまたは音声再生フラグの少なくともいずれか一つが“Ｔｒｕｅ”である時には、ノイズキャンセル用のフィルタ係数の更新を停止する。
【００９６】
続いて、図１５を用いて、エコーキャンセル部２３０による処理の流れを説明する。同図に示すように、フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、入力済みである受話音声入力フラグが“Ｔｒｕｅ”の場合には（ステップＳ１肯定）、次のように動作する。すなわち、フィルタ係数推定器２３２は、エコーキャンセル（ＥＣ）用のフィルタ係数を更新する（ステップＳ２）。そして、フィルタ係数推定器２３２は、更新後のエコーキャンセル（ＥＣ）用のフィルタ係数をＦＩＲフィルタ２３１に送出する（ステップＳ３）。その結果、ＦＩＲフィルタ２３１は、フィルタ係数推定器２３２により更新されたフィルタ係数を用いて、音声信号から受話音声成分を除去する。
【００９７】
ここで、ステップＳ１の説明に戻る。フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、入力済みである受話音声入力フラグが“Ｔｒｕｅ”ではない場合（Ｆａｌｓｅである場合）には（ステップＳ１否定）、次のように動作する。すなわち、フィルタ係数推定器２３２は、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を停止する（ステップＳ４）。そして、フィルタ係数推定器２３２は、前回使用したエコーキャンセル（ＥＣ）用のフィルタ係数をＦＩＲフィルタ２３１に送出する（ステップＳ５）。その結果、フィルタ係数推定器２３２によりフィルタ係数の更新が停止されている間、ＦＩＲフィルタ２３１は、前回使用したフィルタ係数を用いて、音声信号から受話音声成分を除去する。
【００９８】
すなわち、実施例４に係るエコーキャンセル部２３０は、上述した実施例２とは異なり、音声再生フラグではなく、受話音声入力フラグに基づいて、エコーキャンセル用のフィルタ係数の更新を制御する。
【００９９】
［実施例４による効果］
上述してきたように、実施例４によれば、雑音除去装置２００は、音声信号に遠端話者信号が混入しているか否かを検出し、検出結果に応じた受話音声入力フラグを生成する。そして、音声入力フラグおよび受話音声入力フラグに基づいてフィルタ係数の更新を制御する。例えば、音声信号に遠端話者信号が混入している場合には、ノイズキャンセル用のフィルタ係数の更新を停止する。
【０１００】
すなわち、雑音除去装置２００は、音声信号に遠端話者信号が混入している場合には、フィルタ係数の更新を停止する。このとき、雑音除去装置２００は、音声信号と遠端話者信号との相関の度合いが高いかどうかを判定することにより、音声信号に遠端話者信号が混入しているか否かを判定する。したがって、音声信号に遠端話者信号が混入しているか否かを検知する精度を上げることができ、音声信号に遠端話者信号が混入している状態でのフィルタ係数の更新を回避できる。よって、結果的に、音声信号から雑音成分を精度よく除去できる。
【０１０１】
また、雑音除去装置２００は、音声信号に遠端話者信号が混入していない状態でのエコーキャンセル用のフィルタ係数の更新を回避できるので、音声信号から受話音声成分を精度よく除去できる。
【実施例５】
【０１０２】
また、前述した実施例２の音声取得用マイクロホン１１０の代わりに、ビームフォーム型マイクロホンを適用した場合には、次のような問題が考えられる。すなわち、音声再生スピーカ１３０からビームフォーム型マイクロホンに回り込む音声の特性（エコー特性）は、ビームフォーム型マイクロホンの指向方向によって異なる。そのため、例えば、ビームフォーム型マイクロホンの指向方向を移動した直後などでは、エコーキャンセル部２３０におけるフィルタ係数更新の追従に遅延が発生する結果、音声信号が劣化してしまう。
【０１０３】
また、ビームフォーム型マイクロホンの指向方向によって、ビームフォーム型マイクロホンに入力される雑音の特性が異なることが考えられる。そのため、上述したエコーキャンセル部２３０と同様に、ビームフォーム型マイクロホンの指向方向を移動した直後などでは、ノイズキャンセル部２２０においてもフィルタ係数更新の追従に遅延が発生し、音声信号が劣化する恐れがある。
【０１０４】
そこで、以下の実施例５では、音声取得用マイクロホン１１０の代わりに、ビームフォーム型マイクロホンを適用した場合に、フィルタ係数更新の追従に発生する遅延に対処する実施形態を説明する。
【０１０５】
［雑音除去装置の構成（実施例５）］
図１６は、実施例５に係る構成を示す図である。同図に示すように、サービス提供ロボット１００は、音声取得用ビームフォーム型マイクロホン（MIC_SB）１９１、雑音取得用マイクロホン（MIC_N）１２０および音声再生スピーカ１３０を有する。さらに、サービス提供ロボット１００は、同図に示すように、Ａ／Ｄ１４０ａ〜１４０ｃ、Ｄ／Ａ１５０、音声認識部１６０、ロボットコントローラー１７０、人検出部１８０およびアレイマイク制御部１９２を有する。
【０１０６】
音声取得用ビームフォーム型マイクロホン１９１は、指向性を有し、主にサービス提供ロボット１００の利用者から発せられた発話音声の入力を受け付ける。
【０１０７】
雑音取得用マイクロホン１２０は、主にサービス提供ロボット１００を取り巻く環境内に流れているアナウンスやＢＧＭなど、利用者から発せられる発話音声以外の環境音の入力を受け付ける。音声再生スピーカ１３０は、サービス提供ロボット１００にて再生される音声を利用者に向けて出力する。
【０１０８】
Ａ／Ｄ１４０ａは、音声取得用ビームフォーム型マイクロホン１９１を介して入力されるアナログの音声信号をデジタルの音声信号に変換し、雑音除去装置２００に出力する。Ａ／Ｄ１４０ｂは、雑音取得用マイクロホン１２０を介して入力されるアナログの雑音信号をデジタルの雑音信号に変換し、雑音除去装置２００に出力する。Ａ／Ｄ１４０ｃは、後述するＤ／Ａ１５０を介して入力されるアナログの再生音声信号をデジタルの再生音声信号に変換し、雑音除去装置２００に出力する。
【０１０９】
音声認識部１６０は、雑音除去装置２００から出力される音声信号の認識処理を実行し、認識結果をロボットコントローラー１７０に送出する。
【０１１０】
ロボットコントローラー１７０は、音声認識部１６０から送出された音声認識結果に応じてデジタルの再生音声信号を生成し、生成した再生音声信号をＤ／Ａ１５０に送出する。また、ロボットコントローラー１７０は、再生音声信号をＤ／Ａ１５０に送出する場合に、サービス提供ロボット１００を音源とする音声が再生されることを示す音声再生フラグを後述する雑音除去装置２００（フィルタ係数推定器２２２，２３２）に出力する。例えば、ロボットコントローラー１７０は、音声再生状態にある場合には、“Ｔｒｕｅ（＝音声再生）”を音声再生フラグとして出力し、音声無再生状態にある場合には、“Ｆａｌｓｅ（＝音声無再生）”を音声再生フラグとして出力する。
【０１１１】
また、ロボットコントローラー１７０は、後述する人検出部１８０から送出された位置情報（音声取得用ビームフォーム型マイクロホン１９１に音声入力可能な範囲に検出した人の位置情報）に応じて、アレイマイク制御部１９２に指向方向の設定指示を送出する。
【０１１２】
Ｄ／Ａ１５０は、後述するロボットコントローラー１７０から送出されたデジタルの再生音声信号をアナログの信号に変換し、音声再生スピーカ１３０に送出する。
【０１１３】
アレイマイク制御部１９２は、音声取得用ビームフォーム型マイクロホン１９１に対して音声入力を受け付ける指向方向を設定することにより、音声取得用ビームフォーム型マイクロホン１９１の指向方向を制御する。例えば、アレイマイク制御部１９２は、ロボットコントローラー１７０から送出された指向方向の設定指示に応じて、音声取得用ビームフォーム型マイクロホン１９１に対して指向方向を設定する。そして、アレイマイク制御部１９２は、音声取得用ビームフォーム型マイクロホン１９１の指向方向を示すビームフォーミング制御情報を後述するノイズキャンセル部２２０およびエコーキャンセル部２３０にそれぞれ送出する。
【０１１４】
人検出部１８０は、ビジョン（カメラ）や、赤外線センサーあるいは超音波センサーなどの距離測定センサー（距離センサー）を有し、音声取得用ビームフォーム型マイクロホン１９１に音声を入力することが可能な範囲に存在する人を検出する。例えば、人検出部１８０は、ビジョン（カメラ）や距離センサーを用いて、音声取得用ビームフォーム型マイクロホン１９１の指向方向の一定距離内（例えば、１００ｃｍ）に人を検出すると、検出した人の位置情報をロボットコントローラー１７０に出力する。
【０１１５】
なお、音声取得用ビームフォーム型マイクロホン１９１が、音声の入力受付方向に対して指向方向を自動追従させる機能を有する場合には、指向方向を示すビームフォーミング制御情報を後述するアレイマイク制御部１９２に送出することもできる。アレイマイク制御部１９２は、音声取得用ビームフォーム型マイクロホン１９１から送出された指向方向を後述するノイズキャンセル部２２０およびエコーキャンセル部２３０にそれぞれ送出する。
【０１１６】
雑音除去装置２００は、後述するノイズキャンセル部２２０およびエコーキャンセル部２３０により、Ａ／Ｄ１４０ａから出力された音声信号から雑音成分および再生音声成分を除去した音声信号を音声認識部１６０に出力する。雑音除去装置２００は、例えば、図１６に示すように、音声入力検出器２１０、ノイズキャンセル部２２０およびエコーキャンセル部２３０を有する。
【０１１７】
音声入力検出器２１０は、Ａ／Ｄ１４０ａから出力された音声信号およびＡ／Ｄ１４０ｂから出力された雑音信号を用いて、雑音信号に音声信号が混入しているか否かを検出する。そして、音声入力検出器２１０は、雑音信号に音声信号が混入しているか否かを示す音声入力フラグを、後述するノイズキャンセル部２２０（フィルタ係数推定器２２２）に送出する。
【０１１８】
例えば、音声入力検出器２１０は、上述した実施例２と同様に、音声信号と雑音信号とが最も相関が高い位相を検出する。そして、音声入力検出器２１０は、最も相関が高い位相で音声信号と雑音信号とを重ね合わせ、互いの信号の電力値の平均値の差を算出し、算出した差が所定の閾値を超えているか否かを判定する。そして、音声入力検出器２１０は、判定結果に基づいて、雑音信号に音声信号が混入しているか否かを示す音声入力フラグを生成し、生成した音声入力フラグをノイズキャンセル部２２０（フィルタ係数推定器２２２）に送出する。例えば、音声入力検出器２１０は、雑音信号に音声信号が混入している場合には、“Ｔｒｕｅ（＝混入有り）”を音声入力フラグとして送出し、雑音信号に音声信号が混入していない場合には、“Ｆａｌｓｅ（＝混入無）”を音声入力フラグとして送出する。
【０１１９】
ノイズキャンセル部２２０は、図１６に示すように、ＦＩＲフィルタ２２１、フィルタ係数推定器２２２およびフィルタ係数初期値メモリ２２３を有する。
【０１２０】
ＦＩＲフィルタ２２１は、フィルタ係数推定器２２２から送出されるノイズキャンセル（ＮＣ）用のフィルタ係数を用いて、Ａ／Ｄ１４０ａから出力される音声信号から雑音成分を除去する。なお、ノイズキャンセル（ＮＣ）用のフィルタ係数は、音声信号に含まれる雑音成分を「０」にするように、雑音信号を適応する場合の伝達関数の係数として用いる。
【０１２１】
フィルタ係数初期値メモリ２２３は、音声取得用ビームフォーム型マイクロホン１９１の指向方向に対応付けて、各指向方向ごとに、予め設定可能なノイズキャンセル（ＮＣ）用のフィルタ係数の初期値をそれぞれ記憶する。
【０１２２】
フィルタ係数推定器２２２は、Ａ／Ｄ１４０ｂから出力される雑音信号に基づいて、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を行い、更新したフィルタ係数をＦＩＲフィルタ２２１に送出する。例えば、フィルタ係数推定器２２２は、まず、アレイマイク制御部１９２から送出されたビームフォーミング制御情報（指向方向を示す情報）に対応するノイズキャンセル（ＮＣ）用のフィルタ係数の初期値をフィルタ係数初期値メモリ２２３から読み込む。
【０１２３】
そして、フィルタ係数推定器２２２は、ロボットコントローラー１７０から送出される音声再生フラグに基づいて、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を制御する。例えば、フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、音声再生フラグ“Ｆａｌｓｅ”および音声入力フラグ“Ｆａｌｓｅ”の双方を入力済みである場合には、「雑音信号への音声信号の混入無」および「音声無再生状態」と判定する。そして、フィルタ係数推定器２２２は、フィルタ係数初期値メモリ２２３から読み込んだ初期値を用いて、音声信号に含まれる雑音成分を「０」にするように、ノイズキャンセル（ＮＣ）用のフィルタ係数の更新を行う。フィルタ係数の更新後、フィルタ係数推定器２２２は、更新したノイズキャンセル（ＮＣ）用のフィルタ係数をＦＩＲフィルタ２２１に送出する。
【０１２４】
なお、フィルタ係数推定器２２２は、更新したフィルタ係数をビームフォーミング制御情報（指向方向を示す情報）に対応付けてフィルタ係数初期値メモリ２２３に上書き更新する。
【０１２５】
また、例えば、フィルタ係数推定器２２２は、フィルタ係数の更新を実行するタイミングで、少なくとも、音声再生フラグ“Ｔｒｕｅ”、音声入力フラグ“Ｔｒｕｅ”のいずれか一方を入力済みである場合には、フィルタ係数の更新を停止する。なお、フィルタ係数の更新を停止した場合には、フィルタ係数推定器２２２は、前回使用したノイズキャンセル（ＮＣ）用のフィルタ係数をＦＩＲフィルタ２２１に送出する。
【０１２６】
エコーキャンセル部２３０は、図１６に示すように、ＦＩＲフィルタ２３１、フィルタ係数推定器２３２およびフィルタ係数初期値メモリ２３３を有する。
【０１２７】
ＦＩＲフィルタ２３１は、フィルタ係数推定器２３２から送出されるエコーキャンセル（ＥＣ）用のフィルタ係数を用いて、Ａ／Ｄ１４０ａから出力される音声信号から再生音声成分を除去する。なお、エコーキャンセル（ＥＣ）用のフィルタ係数は、音声信号に含まれる再生音声成分を「０」にするように、再生音声信号を適応する場合の伝達関数の係数として用いる。
【０１２８】
フィルタ係数初期値メモリ２３３は、音声取得用ビームフォーム型マイクロホン１９１の指向方向に対応付けて、各指向方向ごとに、予め設定可能なエコーキャンセル（ＥＣ）用のフィルタ係数の初期値をそれぞれ記憶する。
【０１２９】
フィルタ係数推定器２３２は、Ａ／Ｄ１４０ｃから出力される再生音声信号に基づいて、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を行い、更新したフィルタ係数をＦＩＲフィルタ２３１に送出する。例えば、フィルタ係数推定器２３２は、まず、アレイマイク制御部１９２から送出されたビームフォーミング制御情報（指向方向を示す情報）に対応するエコーキャンセル（ＥＣ）用のフィルタ係数の初期値をフィルタ係数初期値メモリ２３３から読み込む。
【０１３０】
そして、フィルタ係数推定器２３２は、ロボットコントローラー１７０から送出される音声再生フラグに基づいて、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を制御する。例えば、フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、音声再生フラグ“Ｔｒｕｅ”を入力済みである場合には、「音声再生状態」と判定する。そして、フィルタ係数推定器２３２は、フィルタ係数初期値メモリ２３３から読み込んだ初期値を用いて、音声信号に含まれる再生音声成分を「０」にするように、エコーキャンセル（ＥＣ）用のフィルタ係数の更新を行う。フィルタ係数の更新後、フィルタ係数推定器２３２は、更新したエコーキャンセル（ＥＣ）用のフィルタ係数をＦＩＲフィルタ２３１に送出する。
【０１３１】
なお、フィルタ係数推定器２３２は、更新したフィルタ係数をビームフォーミング制御情報（指向方向を示す情報）に対応付けてフィルタ係数初期値メモリ２３３に上書き更新する。
【０１３２】
また、フィルタ係数推定器２３２は、フィルタ係数更新を実行するタイミングで、音声再生フラグ“Ｆａｌｓｅ”を入力済みである場合には、「音声無再生状態」と判定し、フィルタ係数の更新を停止する。なお、フィルタ係数の更新を停止した場合には、フィルタ係数推定器２３２は、前回使用したエコーキャンセル（ＥＣ）用のフィルタ係数をＦＩＲフィルタ２３１に送出する。
【０１３３】
例えば、フィルタ係数推定器２３２は、フィルタ係数の更新を実行するタイミングで、音声再生フラグ“Ｔｒｕｅ”を入力済みである場合には、音声再生状態にあると判定し、フィルタ係数の更新を行う。また、フィルタ係数推定器２３２は、フィルタ係数更新を実行するタイミングで、音声再生フラグ“Ｆａｌｓｅ”を入力済みである場合には、音声無再生状態にあると判定し、フィルタ係数の更新を停止する。
【０１３４】
［実施例５による効果］
上述してきたように、実施例５によれば、雑音除去装置２００は、フィルタ係数初期値メモリ２２３に、音声取得用ビームフォーム型マイクロホン１９１について予め設定可能な指向方向に対応するノイズキャンセル用のフィルタ係数の初期値を記憶しておく。また、雑音除去装置２００は、フィルタ係数初期値メモリ２３３は、音声取得用ビームフォーム型マイクロホン１９１について予め設定可能な指向方向に対応するエコーキャンセル用のフィルタ係数の初期値を記憶しておく。そして、ビームフォーム型マイクロホンの指向方向を移動した直後などであっても、指向方向に対応したフィルタ係数の初期値を用いて、ノイズキャンセル用およびエコーキャンセル用のフィルタ係数の更新を行う。このようなことから、フィルタ係数更新の追従に発生する遅延を回避することができる。
【実施例６】
【０１３５】
また、以下の実施例６では、主に雑音取得用マイクロホンから雑音を入力するＡ／Ｄ１４０ｂで、サービス提供ロボット１００を音源とする再生音声も入力する場合の一実施形態について説明する。実施例６に係る雑音除去装置２００は、物理的あるいは機能的に統合した一つの処理部で、ノイズまたはエコーキャンセル用のフィルタ係数の更新を実行する。
【０１３６】
図１７は、実施例６に係る構成を示す図である。同図に示すように、サービス提供ロボット１００は、音声取得用マイクロホン（MIC_S）１１０、雑音取得用マイクロホン（MIC_N）１２０および音声再生スピーカ１３０を有する。さらに、サービス提供ロボット１００は、同図に示すように、Ａ／Ｄ１４０ａ，１４０ｂ、Ｄ／Ａ１５０、音声認識部１６０およびロボットコントローラー１７０を有する。
【０１３７】
音声取得用マイクロホン１１０は、主にサービス提供ロボット１００の利用者から発せられた発話音声の入力を受け付ける。雑音取得用マイクロホン１２０は、主にサービス提供ロボット１００を取り巻く環境内に流れているアナウンスやＢＧＭなど、利用者から発せられる発話音声以外の環境音の入力を受け付ける。音声再生スピーカ１３０は、サービス提供ロボット１００にて再生される音声を利用者に向けて出力する。
【０１３８】
Ａ／Ｄ１４０ａは、音声取得用マイクロホン１１０を介して入力されるアナログの音声信号をデジタルの音声信号に変換し、雑音除去装置２００に出力する。
【０１３９】
Ａ／Ｄ１４０ｂは、雑音取得用マイクロホン１２０を介して入力されるアナログの雑音信号をデジタルの雑音信号に変換し、雑音除去装置２００に出力する。また、Ａ／Ｄ１４０ｂは、後述するＤ／Ａ１５０を介して入力されるアナログの再生音声信号をデジタルの音声信号に変換し、雑音除去装置２００に出力する。
【０１４０】
音声認識部１６０は、雑音除去装置２００から受け付ける音声信号の認識処理を実行し、認識結果をロボットコントローラー１７０に送出する。
【０１４１】
ロボットコントローラー１７０は、音声認識部１６０から送出された音声認識結果に応じてデジタルの再生音声信号を生成し、生成した再生音声信号をＤ／Ａ１５０に送出する。また、ロボットコントローラー１７０は、再生音声信号をＤ／Ａ１５０に送出する場合に、サービス提供ロボット１００を音源とする音声が再生されることを示す音声再生フラグを後述する雑音除去装置２００（フィルタ係数推定器２５２）に出力する。例えば、ロボットコントローラー１７０は、音声再生状態にある場合には、“Ｔｒｕｅ（＝音声再生）”を音声再生フラグとして出力し、音声無再生状態にある場合には、“Ｆａｌｓｅ（＝音声無再生）”を音声再生フラグとして出力する。
【０１４２】
Ｄ／Ａ１５０は、後述するロボットコントローラー１７０から送出されたデジタルの再生音声信号をアナログの信号に変換し、音声再生スピーカ１３０に送出する。
【０１４３】
雑音除去装置２００は、後述するノイズキャンセル／エコーキャンセル部２５０により、Ａ／Ｄ１４０ａから出力された音声信号から雑音成分および再生音声成分を除去した音声信号を音声認識部１６０に出力する。雑音除去装置２００は、例えば、図１７に示すように、音声入力検出器２１０、ノイズキャンセル／エコーキャンセル部２５０を有する。
【０１４４】
音声入力検出器２１０は、Ａ／Ｄ１４０ａから出力された音声信号およびＡ／Ｄ１４０ｂから出力された雑音信号を用いて、雑音信号に音声信号が混入しているか否かを検出する。そして、音声入力検出器２１０は、雑音信号に音声信号が混入しているか否かを示す音声入力フラグを、後述するノイズキャンセル／エコーキャンセル部２５０（フィルタ係数推定器２５２）に送出する。
【０１４５】
例えば、音声入力検出器２１０は、上述した実施例２と同様に、音声信号と雑音信号とが最も相関が高い位相を検出する。そして、音声入力検出器２１０は、最も相関が高い位相で音声信号と雑音信号とを重ね合わせ、互いの信号の電力値の平均値の差を算出し、算出した差が所定の閾値を超えているか否かを判定する。そして、音声入力検出器２１０は、判定結果に基づいて、雑音信号に音声信号が混入しているか否かを示す音声入力フラグを生成し、生成した音声入力フラグをノイズキャンセル／エコーキャンセル部２５０（フィルタ係数推定器２５２）に送出する。例えば、音声入力検出器２１０は、雑音信号に音声信号が混入している場合には、“Ｔｒｕｅ（＝混入有り）”を音声入力フラグとして送出し、雑音信号に音声信号が混入していない場合には、“Ｆａｌｓｅ（＝混入無）”を音声入力フラグとして送出する。
【０１４６】
ノイズキャンセル／エコーキャンセル部２５０は、図１７に示すように、ＦＩＲフィルタ２５１、フィルタ係数推定器２５２およびフィルタ係数初期値メモリ２５３を有する。
【０１４７】
ＦＩＲフィルタ２５１は、フィルタ係数推定器２５２から送出されるノイズキャンセル（ＮＣ）用またはエコーキャンセル（ＥＣ）用のフィルタ係数を用いて、Ａ／Ｄ１４０ａから出力される音声信号から雑音成分または再生音声成分を除去する。なお、ノイズキャンセル（ＮＣ）用のフィルタ係数は、音声信号に含まれる雑音成分を「０」にするように、雑音信号を適応する場合の伝達関数の係数として用いる。また、エコーキャンセル（ＥＣ）用のフィルタ係数は、音声信号に含まれる再生音声成分を「０」にするように、再生音声信号を適応する場合の伝達関数の係数として用いる。
【０１４８】
フィルタ係数初期値メモリ２５３は、ノイズキャンセル（ＮＣ）用のフィルタ係数の初期値と、エコーキャンセル（ＥＣ）用のフィルタ係数の初期値とをそれぞれ記憶する。
【０１４９】
フィルタ係数推定器２５２は、Ａ／Ｄ１４０ｂから出力される雑音信号または再生音声信号に基づいて、ノイズキャンセル（ＮＣ）用またはエコーキャンセル（ＥＣ）用のフィルタ係数の更新を行い、更新したフィルタ係数をＦＩＲフィルタ２５１に送出する。
【０１５０】
図１８に、フラグの状態とフィルタ係数推定器２５２の動作との対応関係を示す。図１８は、実施例６に係る雑音除去装置を説明する図である。同図の列の項目は、フィルタ係数推定器２５２に入力される信号の種別を示し、同図の行の項目は、入力される信号に応じたフラグの内容、ロードするフィルタ係数の初期値の種類およびフィルタ係数の更新の実否を示す。
【０１５１】
例えば、図１８に示す列の項目の一番左に示すように、フィルタ係数推定器２５２に雑音信号のみが入力される場合のフラグの内容は、音声入力フラグ「ＯＦＦ」、音声再生フラグ「ＯＦＦ」となる。なお、音声入力フラグ「ＯＮ」は、雑音信号に音声信号が混入していることを示すフラグであり、音声入力フラグ「ＯＦＦ」は、雑音信号に音声信号が混入していないことを示すフラグである。音声再生フラグ「ＯＮ」は、音声信号に再生音声信号が混入していることを示すフラグであり、音声再生フラグ「ＯＦＦ」は、音声信号に再生音声信号が混入していないことを示すフラグである。
【０１５２】
そして、例えば、フィルタ係数推定器２５２に雑音信号のみが入力される場合に、フィルタ係数初期値メモリ２５３からロードするフィルタ係数の初期値の種別は、「ＮＣ」となる。なお、「ＮＣ」はノイズキャンセル用のフィルタ係数の初期値を示す。また、フィルタ係数推定器２５２に雑音信号のみが入力される場合のフィルタ係数の更新の実否は、「ＯＮ」となる。なお、フィルタ係数の更新「ＯＮ」は、フィルタの更新を実行すべきことを示し、フィルタ係数の更新「ＯＦＦ」は、フィルタの更新を停止すべきことを示す。
【０１５３】
また、例えば、図１８に示す列の項目の左から２番目に示すように、フィルタ係数推定器２５２に音声信号のみが入力される場合のフラグの内容は、音声入力フラグ「ＯＮ」、音声再生フラグ「ＯＦＦ」となる。また、フィルタ係数推定器２５２に音声信号のみが入力される場合に、フィルタ係数初期値メモリ２５３からロードするフィルタ係数の初期値の種別は、「ＮＣ」となる。また、フィルタ係数推定器２５２に音声信号のみが入力される場合のフィルタ係数の更新の実否は、「ＯＦＦ」となる。
【０１５４】
また、例えば、図１８に示す列の項目の左から３番目に示すように、フィルタ係数推定器２５２に再生音声信号のみが入力される場合のフラグの内容は、音声入力フラグ「ＯＦＦ」、音声再生フラグ「ＯＮ」となる。また、フィルタ係数推定器２５２に再生音声信号のみが入力される場合に、フィルタ係数初期値メモリ２５３からロードするフィルタ係数の初期値の種別は、「ＥＣ」となる。なお、「ＥＣ」はエコーキャンセル用のフィルタ係数の初期値を示す。また、フィルタ係数推定器２５２に再生音声信号のみが入力される場合のフィルタ係数の更新の実否は、「ＯＮ」となる。
【０１５５】
また、例えば、図１８に示す列の項目の左から４番目に示すように、フィルタ係数推定器２５２に音声信号および再生音声信号が入力される場合のフラグの内容は、音声入力フラグ「ＯＮ」、音声再生フラグ「ＯＮ」となる。また、フィルタ係数推定器２５２に音声信号および再生音声信号が入力される場合に、フィルタ係数初期値メモリ２５３からロードするフィルタ係数の初期値の種別は、「ＥＣ」となる。また、フィルタ係数推定器２５２に音声信号および再生音声信号が入力される場合のフィルタ係数の更新の実否は、「ＯＦＦ」となる。
【０１５６】
フィルタ係数推定器２５２は、フィルタ係数の更新を実行する場合に、図１８に示す対応関係に従って、フィルタ係数初期値メモリ２５３から、ノイズキャンセル（ＮＣ）用あるいはエコーキャンセル（ＥＣ）用のフィルタ係数の初期値を読み込む。そして、フィルタ係数推定器２５２は、読み込んだフィルタ係数の初期値を用いて、同図に示す対応関係に従ったフィルタ係数の更新を行う。
【０１５７】
例えば、フィルタ係数推定器２５２は、雑音信号のみが入力される場合には、図１８に示す対応関係に従って、ノイズキャンセル用のフィルタ係数の初期値をロードする。そして、フィルタ係数推定器２５２は、ノイズキャンセル用のフィルタ係数の初期値を用いて、ノイズキャンセル用のフィルタ係数を更新する。
【０１５８】
また、例えば、フィルタ係数推定器２５２は、音声信号のみが入力される場合には、図１８に示す対応関係に従って、ノイズキャンセル用のフィルタ係数の初期値をロードする。そして、フィルタ係数推定器２５２は、ノイズキャンセル用のフィルタ係数の初期値を用いたノイズキャンセル用のフィルタ係数の更新は行わず、ロードしたノイズキャンセル用のフィルタ係数の初期値をＦＩＲフィルタ２５１に送出する。ＦＩＲフィルタ２５１は、ノイズキャンセル用のフィルタ係数の初期値を用いて、音声信号から雑音成分を除去する。
【０１５９】
また、例えば、フィルタ係数推定器２５２は、再生音声信号のみが入力される場合には、図１８に示す対応関係に従って、エコーキャンセル用のフィルタ係数の初期値をロードする。そして、フィルタ係数推定器２５２は、エコーキャンセル用のフィルタ係数の初期値を用いて、エコーキャンセル用のフィルタ係数を更新する。
【０１６０】
また、例えば、フィルタ係数推定器２５２は、音声信号および音声再生信号の双方が入力される場合には、図１８に示す対応関係に従って、エコーキャンセル用のフィルタ係数の初期値をロードする。そして、フィルタ係数推定器２５２は、エコーキャンセル用のフィルタ係数の初期値を用いたエコーキャンセル用のフィルタ係数の更新は行わず、ロードしたエコーキャンセル用のフィルタ係数の初期値をＦＩＲフィルタ２５１に送出する。ＦＩＲフィルタ２５１は、エコーキャンセル用のフィルタ係数の初期値を用いて、音声信号から再生音声成分を除去する。
【０１６１】
なお、フィルタ係数推定器２５２は、更新したフィルタ係数をフィルタ係数初期値メモリ２５３に上書き更新する。
【０１６２】
［実施例６による効果］
上述してきたように、実施例６によれば、主に雑音取得用マイクロホン１２０から雑音を入力するＡ／Ｄ１４０ｂで、サービス提供ロボット１００を音源とする再生音声も入力する場合にも、上述した実施例２と同様にしてフィルタ係数を更新できる。
【実施例７】
【０１６３】
以下、本願の開示する雑音除去装置の他の実施形態を説明する。
【０１６４】
（装置構成等）
例えば、図２に示した雑音除去装置２００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、雑音除去装置２００の分散・統合の具体的形態は図示のものに限られず、例えば、ノイズキャンセル部２２０のＦＩＲフィルタ２２１とフィルタ係数推定器２２２とを機能的または物理的に統合する。このように、雑音除去装置２００の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１６５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６６】
（付記１）主に第２の音声が入力される第２の入力部から取得した第２の信号に基づいて更新されるフィルタ係数を用いて、主に第１の音声が入力される第１の入力部から取得した第１の信号から前記第２の音声の成分を除去する除去部と、
前記第１の信号と前記第２の信号との間の相関性を示す相関値を算出し、当該算出された相関値が所定の閾値を超えるか否かを判定するとともに、前記第１の信号の出力レベルと前記第２の信号の出力レベルとを比較して前記第１の信号の出力レベルと前記第２の信号の出力レベルとの差が所定の閾値を超えるか否かを判定し、前記相関値が所定の閾値を超えるものと判定し、かつ前記出力レベルの差が所定の閾値を超えるものと判定した場合には、前記第２の信号に前記第１の音声成分が混入している旨を検知する混入検知部と、
前記混入検知部により前記第２の信号に前記第１の音声の成分が混入している旨が検知された場合に、前記フィルタ係数の更新を停止するように制御する制御部と
を有することを特徴とする雑音除去装置。
【０１６７】
（付記２）雑音除去装置を有する音声出力装置から再生出力される第３の音声に対応する信号である第３の信号に基づいて更新されるフィルタ係数を用いて、前記第１の入力部から出力される第１の信号から前記第３の音声の成分を除去する再生音除去部と、
前記第３の音声の再生を検知する再生検知部と、
をさらに有し、
前記制御部は、前記再生検知部により前記第３の音声の再生が検知された場合に、前記第２の信号に基づいて更新されるフィルタ係数の更新を停止するように制御するとともに、前記第３の信号に基づいて更新されるフィルタ係数を更新することを特徴とする付記１に記載の雑音除去装置。
【０１６８】
（付記３）主に第２の音声が入力される第２の入力部から取得した第２の信号に基づいて更新されるフィルタ係数を用いて、主に第１の音声が入力される第１の入力部から取得した第１の信号から前記第２の音声の成分を除去する除去部と、
前記第１の入力部に前記第１の音声を入力することが可能な範囲に存在する人を検出する人検出部と、
前記人検出部により人が検出された場合には、前記フィルタ係数の更新を停止するように制御する制御部と
を有することを特徴とする付記１に記載の雑音除去装置。
【０１６９】
（付記４）指向性を有し、主に第１の音声が入力される第１の入力部と、
主に第２の音声が入力される第２の入力部と、
主に雑音除去装置を音源とする第３の音声が入力される第３の入力部と、
前記第１の入力部の指向方向に対応付けて、各指向方向ごとに、前記第２の入力部から取得した第２の信号に基づいて更新される第１のフィルタ係数の初期値をそれぞれ記憶する第１の記憶部と、
前記第１の入力部の指向方向に対応付けて、各指向方向ごとに、前記第３の入力部から取得した第３の信号に基づいて更新される第２のフィルタ係数の初期値をそれぞれ記憶する第２の記憶部と、
前記第１の入力部に前記第１の音声を入力することが可能な範囲に存在する人を検出する人検出部と、
前記人検出部により人が検出された場合に、当該検出された方向に前記第１の入力部の指向方向を向けるように制御する方向制御部と、
前記第２の信号に前記第１の音声成分が混入しているか否かを検知する混入検知部と、
前記第３の音声の再生を検知する再生検知部と、
前記混入検知部による検知結果および前記再生検知部による検知結果に応じて、前記方向制御部により制御された指向方向に対応する前記第１のフィルタ係数の初期値を前記第１の記憶部から読み込んで、当該読み込んだ初期値を用いて第１のフィルタ係数を更新し、更新した第１のフィルタ係数を当該読み込んだ初期値の代わりに前記第１の記憶部に格納する第１の更新部と、
前記混入検知部による検知結果および前記再生検知部による検知結果に応じて、前記方向制御部により制御された指向方向に対応する前記第２のフィルタ係数の初期値を前記第２の記憶部から読み込んで、当該読み込んだ初期値を用いて第２のフィルタ係数を更新し、更新した第２のフィルタ係数を当該読み込んだ初期値の代わりに前記第２の記憶部に格納する第２の更新部と
を有することを特徴とする雑音除去装置。
【０１７０】
（付記５）主に第１の音声が入力される第１の入力部と、
第２の音声および雑音除去装置を音源とする第３の音声が入力される第２の入力部と、
前記第２の入力部から取得した第２の信号に基づいて更新される第１のフィルタ係数の初期値を記憶する第１の記憶部と、
前記第２の入力部から取得した第３の信号に基づいて更新される第２のフィルタ係数の初期値を記憶する第２の記憶部と、
前記第２の信号に前記第１の音声成分が混入しているか否かを検知する混入検知部と、
前記第３の音声の再生を検知する再生検知部と、
前記混入検知部により前記第２の信号に前記第１の音声成分が混入していないことが検知された場合には、前記第１のフィルタ係数の初期値を前記第１の記憶部から読み込んで、当該読み込んだ初期値を用いて第１のフィルタ係数を更新し、当該更新した第１のフィルタ係数を前記第１の記憶部に格納し、前記再生検知部により前記第３の音声の再生が検知された場合には、前記第２のフィルタ係数の初期値を前記第２の記憶部から読み込んで、当該読み込んだ初期値を用いて第２のフィルタ係数を更新し、当該更新した第２のフィルタ係数を前記第２の記憶部に格納する更新部と
を有することを特徴とする雑音除去装置。
【符号の説明】
【０１７１】
１００  サービス提供ロボット
１１０  音声取得用マイクロホン
１２０  雑音取得用マイクロホン
１３０  音声再生スピーカ
１４０ａ〜１４０ｃ  Ａ／Ｄ（アナログデジタル変換器）
１５０  Ｄ／Ａ（デジタルアナログ変換器）
１６０  音声認識部
１７０  ロボットコントローラー
１８０  人検出部
１９１  音声取得用ビームフォーム型マイクロホン
１９２  アレイマイク制御部
２００  雑音除去装置
２１０  音声入力検出器
２１１ａ，２１１ｂ  ディレイタップ
２１２ａ，２１２ｂ  フレーム分割処理部
２１３  相互相関検出器
２１４  信号レベル比較器
２１４ａ  二乗平均演算器
２１４ｂ  パワー比較器
２１５  フラグ生成器
２２０  ノイズキャンセル部
２２１  ＦＩＲ（Finite impulse response）フィルタ
２２２  フィルタ係数推定器
２２３  フィルタ係数初期値メモリ
２３０  エコーキャンセル部
２３１  ＦＩＲ（Finite impulse response）フィルタ
２３２  フィルタ係数推定器
２３３  フィルタ係数初期値メモリ
２４０  受話音声入力検出器
２４１ａ，２４１ｂ  ディレイタップ
２４２ａ，２４２ｂ  フレーム分割処理部
２４３  相互相関検出器
２４４  信号レベル比較器
２４４ａ  二乗平均演算器
２４４ｂ  パワー比較器
２４５  フラグ生成器
２５０  ノイズキャンセル／エコーキャンセル部
２５１  ＦＩＲフィルタ
２５２  フィルタ係数推定器
２５３  フィルタ係数初期値メモリ
３００  ハンズフリー電話
３１０  音声取得用マイクロホン
３２０  雑音取得用マイクロホン
３３０  音声再生スピーカ
３４０ａ，３４０ｂ  Ａ／Ｄ（アナログデジタル変換器）
３５０  Ｄ／Ａ（デジタルアナログ変換器）
【図１】
2011069901.tif 000003
【図２】
2011069901.tif 000004
【図３】
2011069901.tif 000005
【図４】
2011069901.tif 000006
【図５】
2011069901.tif 000007
【図６】
2011069901.tif 000008
【図７】
2011069901.tif 000009
【図８】
2011069901.tif 000010
【図９】
2011069901.tif 000011
【図１０】
2011069901.tif 000012
【図１１】
2011069901.tif 000013
【図１２】
2011069901.tif 000014
【図１３】
2011069901.tif 000015
【図１４】
2011069901.tif 000016
【図１５】
2011069901.tif 000017
【図１６】
2011069901.tif 000018
【図１７】
2011069901.tif 000019
【図１８】
2011069901.tif 000020