(57)【要約】【課題】  複数のデバイスそれぞれのスピーカから発せられる音を効果的に分離する。【解決手段】  複数のデバイスと音声信号処理装置を備えた音声信号処理システムにおいて、前記複数のデバイスの中の第１のデバイスは、マイクと接続して、マイク入力信号を前記音声信号処理装置へ出力し、前記複数のデバイスの中の第２のデバイスは、スピーカと接続して、前記スピーカへ出力する信号と同じスピーカ出力信号を前記音声信号処理装置へ出力し、前記音声信号処理装置は、前記マイク入力信号に含まれる波形と、前記スピーカ出力信号に含まれる波形とを同期させ、前記マイク入力信号に含まれる波形から、前記スピーカ出力信号に含まれる波形を除去する。【選択図】図１
2018082225.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスと音声信号処理装置を備えた音声信号処理システムにおいて、
前記複数のデバイスの中の第１のデバイスは、マイクと接続して、マイク入力信号を前記音声信号処理装置へ出力し、
前記複数のデバイスの中の第２のデバイスは、スピーカと接続して、前記スピーカへ出力する信号と同じスピーカ出力信号を前記音声信号処理装置へ出力し、
前記音声信号処理装置は、
前記マイク入力信号に含まれる波形と、前記スピーカ出力信号に含まれる波形とを同期させ、
前記マイク入力信号に含まれる波形から、前記スピーカ出力信号に含まれる波形を除去すること
を特徴とする音声信号処理システム。
【請求項２】
請求項１に記載の音声信号処理システムにおいて、
前記複数のデバイスの中の第３のデバイスは、第３のスピーカと接続して、前記第３のスピーカへ出力する信号と同じ第３のスピーカ出力信号を前記音声信号処理装置へ出力し、
前記音声信号処理装置は、
前記マイク入力信号に含まれる波形と、前記第３のスピーカ出力信号に含まれる波形とをさらに同期させ、
前記マイク入力信号に含まれる波形から、前記第３のスピーカ出力信号に含まれる波形をさらに除去すること
を特徴とする音声信号処理システム。
【請求項３】
請求項１に記載の音声信号処理システムにおいて、
前記音声信号処理装置は、
前記マイク入力信号のサンプリング周波数と、前記スピーカ出力信号のサンプリング周波数が１つの周波数となるように、前記マイク入力信号あるいは前記スピーカ出力信号を変換し、
前記変換されたマイク入力信号の波形と前記スピーカ出力信号の波形との相関計算に基づき、前記変換されたマイク入力信号の波形と前記スピーカ出力信号の波形との時間関係を特定し、あるいは前記マイク入力信号の波形と前記変換されたスピーカ出力信号の波形との相関計算に基づき、前記マイク入力信号の波形と前記変換されたスピーカ出力信号の波形との時間関係を特定し、
前記特定された時間関係を用いて同期させること
を特徴とする音声信号処理システム。
【請求項４】
請求項３に記載の音声信号処理システムにおいて、
前記音声信号処理装置は、
前記スピーカ出力信号のパワーあるいは前記変換されたスピーカ出力信号のパワーを計測し、計測されたパワーをさらに使用して同期させること
を特徴とする音声信号処理システム。
【請求項５】
請求項４に記載の音声信号処理システムにおいて、
前記第２のデバイスが出力する前記スピーカへの信号と前記スピーカ出力信号には、音声の波形と相関の低い波形から成る提示音の信号を含むこと
を特徴とする音声信号処理システム。
【請求項６】
請求項５に記載の音声信号処理システムにおいて、
前記第２のデバイスが出力する前記スピーカへの信号と前記スピーカ出力信号には、前記第１のデバイスの周囲の雑音とは異なる雑音成分を含む音声の信号を含むこと
を特徴とする音声信号処理システム。
【請求項７】
請求項３に記載の音声信号処理システムにおいて、
前記第２のデバイスは、
前記スピーカへ前記スピーカ出力信号を出力する前に、前記音声信号処理装置へ前記スピーカ出力信号を出力すること
を特徴とする音声信号処理システム。
【請求項８】
請求項７に記載の音声信号処理システムにおいて、
前記音声信号処理装置と音声生成装置を含むサーバをさらに備え、
前記第２のデバイスは、
前記音声生成装置から前記スピーカ出力信号を入力し、
前記音声生成装置は、
前記第２のデバイスへ前記スピーカ出力信号を出力し、
前記第２のデバイスの代わりに前記音声信号処理装置へ前記スピーカ出力信号を出力すること
を特徴とする音声信号処理システム。
【請求項９】
請求項２に記載の音声信号処理システムにおいて、
音声翻訳装置をさらに備え、
前記音声信号処理装置は、
前記スピーカ出力信号に含まれる波形が除去された前記マイク入力信号を前記音声翻訳装置へ出力し、
前記音声翻訳装置は、
前記スピーカ出力信号に含まれる波形が除去された前記マイク入力信号を前記音声信号処理装置から入力し、翻訳して音声を生成し、前記第３のデバイスへ出力し、
前記第３のデバイスは、
前記翻訳された音声を前記第３のスピーカ出力信号とすること
を特徴とする音声信号処理システム。
【請求項１０】
請求項１に記載の音声信号処理ステムにおいて、
前記第１のデバイスと第４のデバイスと移動用モーターを含むロボットをさらに備え、
前記第４のデバイスは、
前記移動用モーターの音を収集する第４のマイクと接続し、前記第４のマイクで入力された信号を、第４のスピーカ出力信号として、前記音声信号処理装置へ出力し、
前記音声信号処理装置は、
前記マイク入力信号に含まれる波形と、前記第４のスピーカ出力信号に含まれる波形とをさらに同期させ、
前記マイク入力信号に含まれる波形から、前記第４のスピーカ出力信号に含まれる波形をさらに除去すること
を特徴とする音声信号処理システム。
【請求項１１】
請求項１０に記載の音声信号処理システムにおいて、
前記音声信号処理装置は、
前記第１のデバイスと前記第２のデバイスの距離に応じて、前記スピーカ出力信号に含まれる波形の振幅を特定し、前記スピーカ出力信号に含まれる波形の除去の実行を判定すること
を特徴とする音声信号処理システム。
【請求項１２】
複数のデバイスから信号が入力される音声信号処理装置において、
前記複数のデバイスの中の第１のデバイスからマイク入力信号を入力し、
前記複数のデバイスの中の第２のデバイスからスピーカへ出力される信号と同じスピーカ出力信号を入力し、
前記マイク入力信号に含まれる波形と、前記スピーカ出力信号に含まれる波形とを同期させ、
前記マイク入力信号に含まれる波形から、前記スピーカ出力信号に含まれる波形を除去すること
を特徴とする音声信号処理装置。
【請求項１３】
請求項１２に記載の音声信号処理装置において、
前記複数のデバイスの中の第３のデバイスから第３のスピーカへ出力さる信号と同じ第３のスピーカ出力信号を入力し、
前記マイク入力信号に含まれる波形と、前記第３のスピーカ出力信号に含まれる波形とをさらに同期させ、
前記マイク入力信号に含まれる波形から、前記第３のスピーカ出力信号に含まれる波形をさらに除去すること
を特徴とする音声信号処理装置。
【請求項１４】
請求項１２に記載の音声信号処理装置において、
前記マイク入力信号のサンプリング周波数と、前記スピーカ出力信号のサンプリング周波数が１つの周波数となるように、前記マイク入力信号あるいは前記スピーカ出力信号を変換し、
前記変換されたマイク入力信号の波形と前記スピーカ出力信号の波形との相関計算に基づき、前記変換されたマイク入力信号の波形と前記スピーカ出力信号の波形との時間関係を特定し、あるいは前記マイク入力信号の波形と前記変換されたスピーカ出力信号の波形との相関計算に基づき、前記マイク入力信号の波形と前記変換されたスピーカ出力信号の波形との時間関係を特定し、
前記特定された時間関係を用いて同期させること
を特徴とする音声信号処理装置。
【請求項１５】
請求項１４に記載の音声信号処理装置において、
前記スピーカ出力信号のパワーあるいは前記変換されたスピーカ出力信号のパワーを計測し、計測されたパワーをさらに使用して同期させること
を特徴とする音声信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号処理システムおよび装置に関するものである。
【背景技術】
【０００２】
本技術分野の背景技術として、音声認識や遠隔会議などのシーンにおいて複数の音源から発生した音がマイクに入力された際に、そのマイク入力音から目的音声を抽出する技術がある。
【０００３】
例えば、複数デバイス（端末）を用いた音声信号処理システム（音声翻訳システム）では、デバイス使用者の発話が目的音声であるため、それ以外の音声（環境音、他のデバイス使用者の声、他のデバイスのスピーカ音）を除去する必要がある。同一デバイスのスピーカから発せられる音は、従来のエコーキャンセリング技術（特許文献１）でも、同一デバイスの中（通信を介さずに、すべてのマイクとスピーカが電気信号レベルで繋がっていることを前提に）複数のスピーカから発する音を除去することが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−００７５５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されたエコーキャンセリング技術では、別のデバイスのスピーカから発せられる音を効果的に分離することが難しい。
【０００６】
そこで、本発明の目的は、複数のデバイスそれぞれのスピーカから発せられる音を効果的に分離することにある。
【課題を解決するための手段】
【０００７】
本発明に係る代表的な音声信号処理システムは、複数のデバイスと音声信号処理装置を備えた音声信号処理システムであって、前記複数のデバイスの中の第１のデバイスは、マイクと接続して、マイク入力信号を前記音声信号処理装置へ出力し、前記複数のデバイスの中の第２のデバイスは、スピーカと接続して、前記スピーカへ出力する信号と同じスピーカ出力信号を前記音声信号処理装置へ出力し、前記音声信号処理装置は、前記マイク入力信号に含まれる波形と、前記スピーカ出力信号に含まれる波形とを同期させ、前記マイク入力信号に含まれる波形から、前記スピーカ出力信号に含まれる波形を除去すること
を特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のデバイスそれぞれのスピーカから発せられる音を効果的に分離することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施例１の音声信号処理装置の処理の流れの例を示す図である。
【図２】音声翻訳システムの例を示す図である。
【図３】音声信号処理装置を備えた音声翻訳システムの例を示す図である。
【図４】デバイスを含む音声信号処理装置の例を示す図である。
【図５】デバイスと音声信号処理装置を接続する例を示す図である。
【図６】デバイスを含む音声信号処理装置とデバイスを接続する例を示す図である。
【図７】マイク入力信号とスピーカ出力信号の例を示す図である。
【図８】スピーカ信号検出部における検出の例を示す図である。
【図９】スピーカ信号検出部における短い時間での検出の例を示す図である。
【図１０】スピーカ信号検出部における提示音での検出の例を示す図である。
【図１１】デバイスが音声生成装置を含む例を示す図である。
【図１２】音声生成装置がデバイスに接続される例を示す図である。
【図１３】サーバが音声信号処理装置と音声生成装置を含む例を示す図である。
【図１４】各信号間時間同期部による再同期の例を示す図である。
【図１５】実施例２の音声信号処理装置の処理の流れの例を示す図である。
【図１６】人間共生ロボットの移動の例を示す図である。
【図１７】音源からの距離と音声強度の関係の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて、本発明に好適な実施例を説明する。以下の各実施例では、プロセッサがソフトウェアプログラムを実行する例を説明するが、これに限定されるものではなく、その実行の一部がハードウェアで実現されてもよい。また、システム、装置、部という表現で処理の単位を呼称するが、それらの表現に限定されるものではなく、さらに複数の装置や複数の部が１つの装置や１つの部となってもよいし、１つの装置や１つの部が複数の装置や複数の部となってもよい。
【実施例１】
【００１１】
図２は、音声翻訳システム２００の例を示す図である。マイクを備えたあるいはマイクに接続されたデバイス２０１−１は音声が入力され、音声を電気信号に変換したマイク入力信号２０２−１を雑音除去装置２０３−１へ出力する。雑音除去装置２０３−１は、マイク入力信号２０２−１に対して雑音除去を行い、信号２０４−１を音声翻訳装置２０５−１へ出力する。
【００１２】
音声翻訳装置２０５−１は、音声成分を含む信号２０４−１を音声翻訳する。そして、音声翻訳の結果は、音声翻訳装置２０５−１から、図示を省略したスピーカ出力信号として出力される。ここで、雑音除去と音声翻訳の処理内容は、後で説明する本実施例の構成とは関係ないため、その説明を省略するが、一般的に知られ行われている処理であってもよい。
【００１３】
デバイス２０１−２、２０１−Ｎはデバイス２０１−１と説明が同じであり、マイク入力信号２０２−２、２０２−Ｎはマイク入力信号２０２−１と説明が同じであり、雑音除去装置２０３−２、２０３−Ｎは雑音除去装置２０３−１と説明が同じであり、信号２０４−２、２０４−Ｎは信号２０４−１と説明が同じであり、音声翻訳装置２０５−２、２０５−Ｎは音声翻訳装置２０５−１と説明が同じであるので、説明を省略する。なお、Ｎは２以上の正の整数である。
【００１４】
音声翻訳システム２００は、図２に示すように、デバイス２０１（デバイス２０１−１〜２０１−Ｎを特に識別することなく指し示す場合に、デバイス２０１と記載する。以下、他の符号を同じように記載する）と雑音除去装置２０３と音声翻訳装置２０５との組をＮ組備え、各組は独立している。
【００１５】
それぞれの組では、それぞれの第一言語音声が入力され、翻訳されたそれぞれの第二言語音声が出力される。このため、デバイス２０１がスピーカを備えあるいはスピーカに接続され、音声翻訳装置２０５で翻訳された第二言語音声が出力され、会議などで複数のデバイス２０１が近接して設置されている場合、第二言語音声が空中を伝搬して他の第一言語音声とともにマイクから入力される可能性がある。
【００１６】
すなわち、音声翻訳装置２０５−１から出力された第二言語音声が、デバイス２０１−１のスピーカから出力され、空中を伝搬して、近くに設置されたデバイス２０１−２のマイクに入力される可能性がある。マイク入力信号２０２−２に含まれる第二言語音声は、本来の信号である可能性もあるため、雑音除去装置２０３−２で除去することが難しく、音声翻訳装置２０５−２の翻訳精度に影響を与える可能性がある。
【００１７】
なお、デバイス２０１−１のスピーカから出力される第二言語音声だけでなく、デバイス２０１−Ｎのスピーカから出力される第二言語音声が、デバイス２０１−２のマイクに入力される可能性もある。
【００１８】
図３は、音声信号処理装置１００を備えた音声翻訳システム３００の例を示す図である。図２で既に説明したものには、図２と同じ符号を付けて説明を省略する。デバイス３０１−１はデバイス２０１−１と同種のデバイスであるが、マイクとスピーカを備えあるいは接続され、マイク入力信号２０２−１に加えてスピーカに出力するスピーカ出力信号３０２−１を出力する。
【００１９】
スピーカ出力信号３０２−１は、デバイス３０１−１のスピーカで出力される信号を例えば分岐した信号であり、その出力元はデバイス３０１−１の中にあってもよいし、外にあってもよい。スピーカ出力信号３０２−１の出力元については、図１１〜１３を用いて後でさらに説明する。
【００２０】
音声信号処理装置１００−１は、マイク入力信号２０２−１とスピーカ出力信号３０２−１を入力し、エコーキャンセルの処理を実行して、処理結果の信号を雑音除去装置２０３−１へ出力する。エコーキャンセルの処理に関しては、後でさらに説明する。雑音除去装置２０３−１、信号２０４−１、音声翻訳装置２０５−１のそれぞれは、既に説明したとおりである。
【００２１】
デバイス３０１−２、３０１−Ｎはデバイス３０１−１と説明が同じであり、スピーカ出力信号３０２−２、３０２−Ｎはスピーカ出力信号３０２−１と説明が同じであり、音声信号処理装置１００−２、１００−Ｎは音声信号処理装置１００−１と説明が同じである。また、図３に示すように、マイク入力信号２０２−１、２０２−２、２０２−Ｎのそれぞれは、音声信号処理装置１００−１、１００−２、１００−Ｎのそれぞれに入力される。
【００２２】
これに対し、スピーカ出力信号３０２−１、３０２−２、３０２−Ｎは、音声信号処理装置１００−１に入力される。すなわち、音声信号処理装置１００−１は、複数のデバイス３０１から出力されるスピーカ出力信号３０２を入力することになる。そして、音声信号処理装置１００−２、１００−Ｎのそれぞれも、音声信号処理装置１００−１と同じく、複数のデバイス３０１から出力されるスピーカ出力信号３０２を入力する。
【００２３】
これにより、音声信号処理装置１００−１は、デバイス３０１−１のスピーカから空中に出力された音波に加えて、デバイス３０１−２、３０１−Ｎのスピーカから空中に出力された音波を、デバイス３０１−１のマイクが拾い、マイク入力信号２０２−１に影響が現れても、スピーカ出力信号３０２−１、３０２−２、３０２−Ｎを使用して、その影響を除去することが可能となる。音声信号処理装置１００−２、１００−Ｎも同じように動作する。
【００２４】
図４〜６を用いて、音声信号処理装置１００とデバイス３０１のハードウェアの例を説明する。図４は、デバイス３０１を含む音声信号処理装置１００ａの例を示す図である。図３の例では、デバイス３０１と音声信号処理装置１００とを別の物として示したが、別の物に限定されるものではなく、音声信号処理装置１００が音声信号処理装置１００ａとしてデバイス３０１を含んでもよい。
【００２５】
ＣＰＵ４０１ａは一般的な中央演算ユニットあるいはプロセッサであってもよい。メモリ４０２ａはＣＰＵ４０１ａのメインメモリであって、プログラムとデータが格納される半導体メモリであってもよい。記憶装置４０３ａは不揮発性の記憶装置であり、例えばＨＤＤ（ハードディスクドライブ）、ＳＳＤ（ソリッドステートドライブ）、フラッシュメモリなどであってもよく、メモリ４０２ａと重複してプログラムとデータが格納されてもよく、メモリ４０２ａとの間でそれらが転送されてもよい。
【００２６】
音声入力Ｉ／Ｆ４０４ａは、図示を省略したマイク（マイクロフォン）などの音声入力装置を接続するインタフェースである。音声出力Ｉ／Ｆ４０５ａは、図示を省略したスピーカなどの音声出力装置を接続するインタフェースである。データ送信装置４０６ａは、他の音声信号処理装置１００ａへデータを送信するための装置であり、データ受信装置４０７ａは、他の音声信号処理装置１００ａからデータを受信するための装置である。
【００２７】
また、データ送信装置４０６ａは、雑音除去装置２０３へデータを送信してもよいし、データ受信装置４０７ａは、音声翻訳装置２０５などの後で説明する音声生成装置からデータを受信してもよい。以上で説明した各部は、バス４０８ａによって相互に接続される。
【００２８】
記憶装置４０３ａからメモリ４０２ａへロードされたプログラムを、ＣＰＵ４０１ａが実行し、音声入力Ｉ／Ｆ４０４ａで取得されたマイク入力信号２０２のデータをメモリ４０２ａあるいは記憶装置４０３ａに格納し、データ受信装置４０７ａで受信したデータをメモリ４０２ａあるいは記憶装置４０３ａに格納する。ＣＰＵ４０１ａは、メモリ４０２ａあるいは記憶装置４０３ａの格納されたデータを使用してエコーキャンセルなどの処理を行い、データ送信装置４０６ａで処理結果のデータを送信する。
【００２９】
また、デバイス３０１として、ＣＰＵ４０１ａは、データ受信装置４０７ａで受信したデータあるいは記憶装置４０３ａに格納されたスピーカ出力信号３０２のデータを音声出力Ｉ／Ｆ４０５ａから出力する。
【００３０】
図５は、デバイス３０１と音声信号処理装置１００ｂとを接続する例を示す図である。音声信号処理装置１００ｂに備えられるＣＰＵ４０１ｂ、メモリ４０２ｂ、記憶装置４０３ｂのそれぞれは、ＣＰＵ４０１ａ、メモリ４０２ａ、記憶装置４０３ａで説明した動作をするものである。通信Ｉ／Ｆ５１１ｂはネットワーク５１０ｂを介してデバイス３０１ｂ−１、３０１ｂ−２と通信するインタフェースである。バス５０８ｂは、ＣＰＵ４０１ｂ、メモリ４０２ｂ、記憶装置４０３ｂ、通信Ｉ／Ｆ５１１ｂを相互に接続する。
【００３１】
デバイス３０１ｂ−１に備えられるＣＰＵ５０１ｂ−１、メモリ５０２ｂ−１、音声入力Ｉ／Ｆ５０４ｂ−１、音声出力Ｉ／Ｆ５０５ｂ−１のそれぞれは、ＣＰＵ４０１ａ、メモリ４０２ａ、音声入力Ｉ／Ｆ４０４ａ、音声出力Ｉ／Ｆ４０５ａで説明した動作をするものである。
【００３２】
通信Ｉ／Ｆ５１２ｂ−１は、ネットワーク５１０ｂを介して音声信号処理装置１００ｂと通信するインタフェースであり、図示を省略した他の音声信号処理装置１００ｂと通信してもよい。デバイス３０１ｂ−１に備えられた各部は、バス５１３ｂ−１によって相互に接続される。
【００３３】
デバイス３０１ｂ−２に備えられるＣＰＵ５０１ｂ−２、メモリ５０２ｂ−２、音声入力Ｉ／Ｆ５０４ｂ−２、音声出力Ｉ／Ｆ５０５ｂ−２、通信Ｉ／Ｆ５１２ｂ−２、バス５１３ｂ−２のそれぞれは、ＣＰＵ５０１ｂ−１、メモリ５０２ｂ−１、音声入力Ｉ／Ｆ５０４ｂ−１、音声出力Ｉ／Ｆ５０５ｂ−１、通信Ｉ／Ｆ５１２ｂ−１、バス５１３ｂ−１で説明した動作をするものである。デバイス３０１ｂは２台に限定されるものではなく、３台以上であってもよい。
【００３４】
ネットワーク５１０ｂは、有線ネットワークであってもよいし、無線ネットワークであってもよい。また、ネットワーク５１０ｂは、デジタルデータのネットワークであってもよいし、音声電気信号などが通信されるアナログデータのネットワークであってもよい。また、ネットワーク５１０ｂには、図示を省略した雑音除去装置２０３、音声翻訳装置２０５、あるいは何らかの音声信号あるいは音声データを出力する装置が接続されてもよい。
【００３５】
デバイス３０１ｂにおいて、ＣＰＵ５０１ｂは、メモリ５０２ｂに格納されたプログラムを実行する。これによりＣＰＵ５０１ｂは、音声入力Ｉ／Ｆ５０４ｂで取得されたマイク入力信号２０２のデータを通信Ｉ／Ｆ５１２ｂからネットワーク５１０ｂ経由で通信Ｉ／Ｆ５１１ｂへ送信する。
【００３６】
また、ＣＰＵ５０１ｂは、ネットワーク５１０ｂを介して通信Ｉ／Ｆ５１２ｂで受信したスピーカ出力信号３０２のデータを、音声出力Ｉ／Ｆ５０５ｂで出力し、通信Ｉ／Ｆ５１２ｂでネットワーク５１０ｂを介して通信Ｉ／Ｆ５１１ｂへ送信する。これらのデバイス３０１ｂの処理は、デバイス３０１ｂ−１とデバイス３０１ｂ−２とで独立して実行される。
【００３７】
これに対し、音声信号処理装置１００ｂにおいて、記憶装置４０３ｂからメモリ４０２ｂへロードされたプログラムを、ＣＰＵ４０１ｂが実行する。これによりＣＰＵ４０１ｂは、通信Ｉ／Ｆ５１１ｂで受信したデバイス３０１ｂ−１、３０１ｂ−２からのマイク入力信号２０２のデータをメモリ４０２ｂあるいは記憶装置４０３ｂに格納し、通信Ｉ／Ｆ５１１ｂで受信したデバイス３０１ｂ−１、３０１ｂ−２からのスピーカ出力信号３０２のデータをメモリ４０２ｂあるいは記憶装置４０３ｂに格納する。
【００３８】
さらに、ＣＰＵ４０１ｂは、メモリ４０２ｂあるいは記憶装置４０３ｂの格納されたデータを使用してエコーキャンセルなどの処理を行い、通信Ｉ／Ｆ５１１ｂで処理結果のデータを送信する。
【００３９】
図６は、デバイス３０１を含む音声信号処理装置１００ｃとデバイス３０１ｃとを接続する例を示す図である。音声信号処理装置１００ｃに備えられるＣＰＵ４０１ｃ、メモリ４０２ｃ、記憶装置４０３ｃ、音声入力Ｉ／Ｆ４０４ｃ、音声出力Ｉ／Ｆ４０５ｃのそれぞれは、ＣＰＵ４０１ａ、メモリ４０２ａ、記憶装置４０３ａ、音声入力Ｉ／Ｆ４０４ａ、音声出力Ｉ／Ｆ４０５ａで説明した動作をするものである。また、通信Ｉ／Ｆ５１１ｃは、通信Ｉ／Ｆ５１１ｂで説明した動作をするものである。音声信号処理装置１００ｃに備えられる各部は、バス６０８ｃによって相互に接続される。
【００４０】
デバイス３０１ｃ−１に備えられるＣＰＵ５０１ｃ−１、メモリ５０２ｃ−１、音声入力Ｉ／Ｆ５０４ｃ−１、音声出力Ｉ／Ｆ５０５ｃ−１、通信Ｉ／Ｆ５１２ｃ−１、バス５１３ｃ−１のそれぞれは、ＣＰＵ５０１ｂ−１、メモリ５０２ｂ−１、音声入力Ｉ／Ｆ５０４ｂ−１、音声出力Ｉ／Ｆ５０５ｂ−１、通信Ｉ／Ｆ５１２ｂ−１、バス５１３ｂ−１で説明した動作をするものである。デバイス３０１ｃ−１は１台に限定されるものではなく、２台以上であってもよい。
【００４１】
ネットワーク５１０ｃおよびネットワーク５１０ｃに接続される装置は、ネットワーク５１０ｂと同じ説明であるので、説明を省略する。デバイス３０１ｃ−１のＣＰＵ５０１ｃ−１による動作は、デバイス３０１ｂの動作と同じであり、特に、マイク入力信号２０２のデータとスピーカ出力信号３０２のデータを、通信Ｉ／Ｆ５１２ｃ−１でネットワーク５１０ｃを介して通信Ｉ／Ｆ５１１ｃへ送信する。
【００４２】
これに対し、音声信号処理装置１００ｃにおいて、記憶装置４０３ｃからメモリ４０２ｃへロードされたプログラムを、ＣＰＵ４０１ｃが実行する。これによりＣＰＵ４０１ｃは、通信Ｉ／Ｆ５１１ｃで受信したデバイス３０１ｃ−１からのマイク入力信号２０２のデータをメモリ４０２ｃあるいは記憶装置４０３ｃに格納し、通信Ｉ／Ｆ５１１ｃで受信したデバイス３０１ｃ−１からのスピーカ出力信号３０２のデータをメモリ４０２ｃあるいは記憶装置４０３ｃに格納する。
【００４３】
また、ＣＰＵ４０１ｃは、音声入力Ｉ／Ｆ４０４ｃで取得されたマイク入力信号２０２のデータをメモリ４０２ｃあるいは記憶装置４０３ｃに格納し、通信Ｉ／Ｆ５１１ｃで受信した音声信号処理装置１００ｃ自体で出力すべきスピーカ出力信号３０２のデータあるいは記憶装置４０３ａに格納されたスピーカ出力信号３０２のデータを音声出力Ｉ／Ｆ４０５ｃから出力する。
【００４４】
そして、ＣＰＵ４０１ｃは、メモリ４０２ｃあるいは記憶装置４０３ｃに格納されたデータを使用してエコーキャンセルなどの処理を行い、通信Ｉ／Ｆ５１１ｃで処理結果のデータを送信する。
【００４５】
以下では、図４〜６を用いて説明した音声信号処理装置１００ａ〜１００ｃを特に識別することなく指し示す場合に、音声信号処理装置１００と記載し、デバイス３０１ｂ−１、３０１ｃ−１を特に識別することなく指し示す場合に、デバイス３０１−１と記載し、デバイス３０１ｂ−１、３０１ｂ−２、３０１ｃ−１を特に識別することなく指し示す場合に、デバイス３０１と記載する。
【００４６】
次に、図１、７〜１１を用いて音声信号処理装置１００の動作をさらに説明する。図１は、音声信号処理装置１００の処理の流れの例を示す図である。デバイス３０１、マイク入力信号２０２、スピーカ出力信号３０２は、既に説明したとおりである。図１では説明のために、図３に示した音声信号処理装置１００−１を代表の音声信号処理装置１００として示しているが、図１で図示を省略した音声信号処理装置１００−２などが存在し、デバイス３０１−２からマイク入力信号２０２−２などが入力されてもよい。
【００４７】
図７は、マイク入力信号２０２とスピーカ出力信号３０２の例を示す図である。図７では理解しやすくするために、アナログ信号的な表現を用いているが、アナログ信号（デジタル化された後に再アナログ化されたアナログ信号）であってもよいし、デジタル信号であってもよい。マイク入力信号２０２は、デバイス３０１−１に備えられたマイクの電気信号あるいはその電気信号が増幅やデジタル化などの変換された信号であり、波形７０１のようになる。
【００４８】
また、スピーカ出力信号３０２は、デバイス３０１のスピーカで出力される電気信号あるいはその電気信号が増幅やデジタル化などの変換された信号であり、波形７０２のようになる。そして、既に説明したように、デバイス３０１のスピーカから空中に出力された音波も、デバイス３０１−１のマイクが拾い、波形７０１には波形７０３のような影響が現れる。
【００４９】
図７の例では、見やすいように太線の波形７０２と波形７０３を同じ形状としたが、波形７０３は合成された波形であるので、必ずしも同じ形状となるとは限らない。さらに、波形７０２を出力するデバイス３０１がデバイス３０１−２の場合、デバイス３０１−Ｎなどの他のデバイス３０１も同じ原理により波形７０１に影響する。
【００５０】
図１に示すデータ受信部１０１は、デバイス３０１がＮ個の場合、マイク入力信号２０２−１の１個の波形７０１と、スピーカ出力信号３０２−１〜３０２−ＮのＮ個の波形７０２を受信し、それぞれをサンプリング周波数変換部１０２へ出力する。なお、データ受信部１０１は、データ受信装置４０７ａ、通信Ｉ／Ｆ５１１ｂ、あるいは通信Ｉ／Ｆ５１１ｃのいずれかとＣＰＵ４０１によるこれらの制御処理であってもよい。
【００５１】
一般に、マイクで入力された信号とスピーカで出力される信号は、それらを備える装置によってサンプリング周波数の異なることがある。そこで、サンプリング周波数変換部１０２は、データ受信部１０１から入力されたマイク入力信号２０２−１と複数のスピーカ出力信号３０２を、同じサンプリング周波数に変換する。
【００５２】
なお、スピーカ出力信号３０２のサンプリング周波数は、スピーカ出力信号３０２の基となる信号がマイクからの入力信号などのアナログ信号の場合は、そのアナログ信号のサンプリング周波数であり、スピーカ出力信号３０２の基となる信号が最初からデジタル信号の場合は、そのデジタル信号で表される連続する複数の音の間隔の逆数として定義された周波数であってもよい。
【００５３】
例えば、マイク入力信号２０２−１が１６ＫＨｚであり、スピーカ出力信号３０２−２が２２ＫＨｚであり、スピーカ出力信号３０２−Ｎが４４ＫＨｚである場合、サンプリング周波数変換部１０２はスピーカ出力信号３０２−２、３０２−Ｎを１６ＫＨｚに変換する。そして、サンプリング周波数変換部１０２は、変換した信号それぞれをスピーカ信号検出部１０３へ出力する。
【００５４】
スピーカ信号検出部１０３は、変換された信号の中で、マイク入力信号２０２−１の中からスピーカ出力信号３０２の影響を検出する。すなわち、図７に示した波形７０１の中から波形７０３を検出することであり、波形７０３は波形７０１の時間軸の一部に存在するため、波形７０１内の波形７０３の時刻的な位置を検出する。
【００５５】
図８は、スピーカ信号検出部１０３における検出の例を示す図である。波形７０１、７０３は、図７を用いて説明したとおりである。スピーカ信号検出部１０３は、予め設定された時間でマイク入力信号２０２−１（波形７０１）を遅延させ、波形７０１のその遅延させた時間より短いシフト時間７１２−１で遅延させたスピーカ出力信号３０２の波形７０２−１と波形７０１の信号間相関を計算し、計算した相関値を記録する。
【００５６】
スピーカ信号検出部１０３は、予め設定された時間単位で、シフト時間７１２−１からさらに遅延させ、例えばシフト時間７１２−２、シフト時間７１２−３とし、信号間相関を計算して、計算した相関値を記録することを繰り返す。ここで、シフト時間７１２−１、７１２−２、７１２−３と遅延させるため、波形７０２−１、波形７０２−２、波形７０２−３は同じ形状の波形であり、図７に示した波形７０２の形状である。
【００５７】
このため、波形７０２が合成された波形７０３と時刻的に近いシフト時間７１２−２の波形７０２−２と波形７０１との相関計算の結果である相関値が、波形７０２−１あるいは波形７０２−３と波形７０１との相関計算の結果よりも高い値となる。すなわち、シフト時間と相関値との関係はグラフ７１３のようになる。
【００５８】
スピーカ信号検出部１０３は、最も相関値の高いシフト時間７１２−２を、スピーカ出力信号３０２の影響の現れる時刻（あるいは予め設定された時刻からの時間）として特定する。ここでは、１つのスピーカ出力信号３０２について説明したが、スピーカ出力信号３０２−１、３０２−２、３０２−Ｎそれぞれについて、以上で説明した処理により、それぞれの時刻を特定し、スピーカ信号検出部１０３の出力とする。
【００５９】
相関計算に用いられる波形７０２の長さ、あるいは逆の見方をすると波形７０２の相関計算の対象となる時間が、長ければ長いほど、相関計算に時間がかかり、スピーカ信号検出部１０３での処理遅延が大きくなって、デバイス３０１−１のマイクに入力されてから音声翻訳装置２０５で翻訳されるまでのレスポンスすなわち翻訳のリアルタイム性が悪くなる。
【００６０】
レスポンスを良くするために、相関計算を短くするには、相関計算の対象となる時間を短くすればよいが、短すぎると、本来とは異なるシフト時間でも相関値の高くなる可能性がある。図９は、スピーカ信号検出部１０３における短い時間での検出の例を示す図である。波形７１４−１、７１４−２、７１４−３のそれぞれは同じ形状であり、図８に示した波形７０２−１、７０２−２、７０２−３より波形の時間が短い。
【００６１】
そして、図８を用いて説明したように、スピーカ信号検出部１０３は、シフト時間７１２−１、７１２−２、７１２−３と遅延させ、波形７１４−１、７１４−２、７１４−３のそれぞれと波形７０１とで相関計算する。しかしながら、波形７１４は、波形７０３より短いため、例えばシフト時間７１２−２における波形７０３の一部との相関計算では相関値が十分に高くならず、また、波形７０３以外の部分であっても波形７１４が短いということにより相関値の高くなる部分も発生し、グラフ７１５のようになる。
【００６２】
このため、スピーカ信号検出部１０３がスピーカ出力信号３０２の影響の現れる時刻を特定することが難しい。なお、図９では、波形そのものを短く表現したが、波形そのものは波形７０２−１、７０２−２、７０２−３と同じとして、相関計算の対象となる時間を短くしても、計算結果の相関値は同じである。
【００６３】
そこで、本実施例では、効率よくスピーカ出力信号３０２の影響の現れる時刻を特定するために、波形７０２あるいは波形７１４の先頭へ、検出しやすい短い波形を挿入し、レスポンスと検出精度を両立する。波形７０２あるいは波形７１４の先頭は、スピーカ出力信号３０２のスピーカの音の先頭であってもよく、このスピーカの音の先頭は、無音区間であるポーズの後の先頭、あるいはスピーカの合成音声における合成の先頭であってもよい。
【００６４】
また、検出しやすい短い波形としては、パルス波形やホワイトノイズの波形などでもよく、音声などの波形と相関の低い波形から成る機械音などでもよく、翻訳システムという性質からみると、カーナビの音声案内によく使用される「ポン」というような提示音が好ましい。図１０は、スピーカ信号検出部１０３における提示音での検出の例を示す図である。
【００６５】
提示音の波形７２４は、波形７２５以外の波形７０１の部分と波形が大きく異なるため、図１０のような図面上の表現としている。ここで、スピーカ出力信号３０２には、波形７２４に加えて、波形７０２あるいは波形７１４が含まれてもよいが、計算された相関値への影響は少ないため、波形７０２あるいは波形７１４の図示を省略する。波形７２４そのものは短く、相関計算の対象となる時間も短い。
【００６６】
そして、図８、９を用いて説明したように、スピーカ信号検出部１０３は、シフト時間７２２−１、７２２−２、７２２−３と遅延させ、波形７２４−１、７２４−２、７２４−３のそれぞれと波形７０１とで相関計算し、グラフ７２３の相関値を得る。これにより、レスポンスと検出精度の両立が可能となる。
【００６７】
レスポンスに関して、相関計算が開始されるまでの時間を短縮してもよい。このためには、波形７０３などのスピーカ出力信号３０２に対応する信号成分（波形成分）が、スピーカ信号検出部１０３に到達する時点で、スピーカ出力信号３０２の波形７０２が相関計算可能な状態になっていることが好ましい。
【００６８】
例えば、マイク入力信号２０２−１の波形７０１とスピーカ出力信号３０２の波形７０２との時間関係が図７のとおりであると、図８の波形７０３と波形７０２−１との時間関係にならないため、波形７０１を予め設定された時間で遅延させると説明したが、この波形７０１の遅延のために、相関計算を開始するまでの時間が遅くなる。
【００６９】
図７ではなく、波形７０２の入力時点から図８の波形７０３と波形７０２−１との時間関係、すなわちスピーカ出力信号３０２が、マイク入力信号２０２−１よりも早く、スピーカ信号検出部１０３へ到達していれば、波形７０１を遅延させる必要がなく、相関計算が開始されるまでの時間を短縮できる。図１０の波形７２５と波形７２４−１との時間関係も波形７０３と波形７０２−１との時間関係と同じである。
【００７０】
図１１は、デバイス３０１が音声生成装置８０２を含む例を示す図である。デバイス３０１−１は、既に説明したとおりであり、マイク８０１−１と接続され、マイク入力信号２０２−１を音声信号処理装置１００へ出力する。デバイス３０１−２は、音声生成装置８０２−２を含み、音声生成装置８０２−２が生成した音声信号をスピーカ８０３−２へ出力し、スピーカ出力信号３０２−２として音声信号処理装置１００へ出力する。
【００７１】
スピーカ８０３−２から出力された音波は、空中伝搬してマイク８０１−１から入力され、マイク入力信号２０２−１の波形７０１へ波形７０３として影響を与える。このように、音声生成装置８０２−２から音声信号処理装置１００へ至る２つの経路が存在するが、各経路の伝達時間の関係が安定するとは限らない。特に、図５、６を用いて説明した構成ではネットワーク５１０の伝達時間の影響も受ける。
【００７２】
図１２は、音声生成装置８０２がデバイス３０１に接続される例を示す図である。デバイス３０１−１、マイク８０１−１、マイク入力信号２０２−１、音声信号処理装置１００は、図１１を用いて説明したとおりであるので、同じ符号を付けて、説明を省略する。音声生成装置８０２−３は、音声生成装置８０２−２に相当し、音声の信号８０４−３をデバイス３０１−３へ出力する。
【００７３】
デバイス３０１−３は、信号８０４−３を入力すると、信号８０４−３をそのまま、あるいはスピーカ８０３−３に適合した信号形式に変換して、スピーカ８０３−３へ出力する。また、デバイス３０１−３は、信号８０４−３をそのまま、あるいはスピーカ出力信号３０２−２の信号形式に変換して、スピーカ出力信号３０２−２として音声信号処理装置１００へ出力する。このように、図１２に示した例でも、図１１を用いて説明した経路と同じ経路となる。
【００７４】
図１３は、サーバ８０５が音声信号処理装置１００と音声生成装置８０４を含む例を示す図である。デバイス３０１−１、マイク８０１−１、マイク入力信号２０２−１、音声信号処理装置１００は、図１１を用いて説明したとおりであるので、同じ符号を付けて、説明を省略する。また、デバイス３０１−４、スピーカ８０３−４、信号８０４−４のそれぞれは、デバイス３０１−３、スピーカ８０３−３、信号８０４−３に相当するが、デバイス３０１−４は音声信号処理装置１００へ出力しない。
【００７５】
音声生成装置８０２−４は、音声信号処理装置１００と同じくサーバ８０５に含まれ、スピーカ出力信号３０２に相当する信号を音声信号処理装置１００へ出力する。これにより、スピーカ出力信号３０２がマイク入力信号２０２より遅れないことが保証され、レスポンスを良くすることができる。図１３では、音声信号処理装置１００と音声生成装置８０２−４が１つのサーバ８０５に含まれる例を示したが、音声信号処理装置１００と音声生成装置８０２との間のデータ転送速度が十分に高ければ、それぞれが独立した装置であってもよい。
【００７６】
なお、図１１、１２の構成であって、スピーカ出力信号３０２がマイク入力信号２０２より遅れても、図８を用いて既に説明したとおり、スピーカ信号検出部１０３がマイク入力信号２０２とスピーカ出力信号３０２の時間関係を特定することは可能である。
【００７７】
図１に戻り、各信号間時間同期部１０４は、スピーカ信号検出部１０３で特定されたマイク入力信号２０２とスピーカ出力信号３０２の時間関係の情報、およびこれらの信号を入力し、マイク入力信号２０２の波形とスピーカ出力信号３０２の波形との波形ごとの対応関係を修正して、同期させる。
【００７８】
サンプリング周波数変換部１０２により、マイク入力信号２０２とスピーカ出力信号３０２は同じサンプリング周波数となっているので、スピーカ信号検出部１０３で信号間相関を用いて特定された情報に基づいて、マイク入力信号２０２とスピーカ出力信号３０２に対して一度の同期処理を行った後、同期のずれることはないはずである。
【００７９】
しかしながら、同じサンプリング周波数となっても、スピーカへ出力するときのＤＡ変換（デジタル−アナログ変換）の変換周波数（１つのデジタル信号から１つのアナログ信号への変換を繰り返す周期）と、マイクで入力するときのＡＤ変換（アナログ−デジタル変換）のサンプリング周波数（１つのアナログ信号から１つのデジタル信号への変換を繰り返す周期）の誤差により、マイク入力信号２０２とスピーカ出力信号３０２の時間的な対応関係が少しずつずれる。
【００８０】
このずれは、スピーカ出力信号３０２のスピーカの音が短い場合に影響が小さいが、スピーカの音が長い場合に影響が大きくなる。なお、スピーカの音は、スピーカの合成音声においてまとめて合成される単位などであってもよい。このため、予め設定された時間よりスピーカの音が短い場合、各信号間時間同期部１０４は、スピーカ信号検出部１０３からの情報に基づいて同期した信号をそのままエコーキャンセリング実行部１０５へ出力してもよい。
【００８１】
また、例えば、スピーカ出力信号３０２の内容が構内放送である場合、構内放送のスピーカの音は長いため、各信号間時間同期部１０４は、スピーカ信号検出部１０３からの情報に基づいて同期した信号を、さらに定期的に再同期して、エコーキャンセリング実行部１０５へ出力する。
【００８２】
各信号間時間同期部１０４は、定期的な再同期として、予め設定された時間間隔で再同期してもよい。また、スピーカ信号検出部１０３からの情報に基づいて同期した後、予め設定された時間間隔で信号間相関を計算し、計算された相関値を常に監視して、予め設定された閾値より相関値が低くなった場合に再同期してもよい。
【００８３】
ただし、同期処理を行うと、波形を伸び縮みさせて、同期処理前後に音として不連続が生じるため、同期処理前後の音の雑音除去や音声認識に影響する可能性がある。そこで、各信号間時間同期部１０４は、スピーカの音のパワーを計測し、予め設定された閾値を超えるパワーの立ち上がり量を検出したタイミングで再同期を行ってもよく、これにより音の不連続を抑制でき、音声認識精度などの低下を防ぐことが可能になる。
【００８４】
図１４は、各信号間時間同期部１０４による再同期の例を示す図である。スピーカ出力信号３０２は音声信号などであり、波形７０２のように、単語や文の切れ目や息継ぎなどにより、振幅の変化のない時間が存在する。この振幅の変化のない時間の後に、パワーが立ち上がるため、これを検出して、再同期８１１−１、８１１−２のタイミングで、各信号間時間同期部１０４は再同期の処理を実行する。
【００８５】
さらに、再同期のために、図１０を用いて説明したような提示音の信号が、スピーカ出力信号３０２（とスピーカ出力信号３０２の影響としてマイク入力信号２０２）へ加えられてもよい。信号間で同期する場合、きれいな正弦波より、雑音成分の多く含まれる波形の方が、高い精度の得られることが知られている。このため、音声生成装置８０２が生成する音声に雑音成分を加えることにより、スピーカ出力信号３０２へ雑音成分が加えられ、高い時間同期精度が得られる。
【００８６】
また、スピーカ出力信号３０２の信号の周波数特性と、デバイス３０１−１の周囲の雑音の周波数特性とが近い場合は、周囲の雑音がマイク入力信号２０２に混入して、スピーカ信号検出部１０３および各信号間時間同期部１０４の処理精度と、エコーキャンセリング性能とを低下させる可能性があるので、このような場合は、スピーカ出力信号３０２の信号にフィルタをかけて、周囲の雑音の周波数特性と異なるものにすることが望ましい。
【００８７】
図１に戻り、エコーキャンセリング実行部１０５は、同期、あるいは同期と再同期されたマイク入力信号２０２の信号と各スピーカ出力信号３０２の信号を、各信号間時間同期部１０４から入力し、エコーキャンセリングを実行し、マイク入力信号２０２の信号から各スピーカ出力信号３０２の信号を分離、除去する。例えば、図７〜９では波形７０１から波形７０３を分離し、図１０では波形７０１から波形７０３、７２５を分離する。
【００８８】
エコーキャンセリングの具体的な処理に関しては、本実施例の特徴となる部分ではなく、エコーキャンセリングという名称で既に広く知られ、広く行われている処理であるので、説明を省略する。エコーキャンセリング実行部１０５は、エコーキャンセリングの結果の信号をデータ送信部１０６へ出力する。
【００８９】
データ送信部１０６は、エコーキャンセリング実行部１０５から入力された信号を、音声信号処理装置１００の外部の雑音除去装置２０３へ送信する。既に説明したとおり、雑音除去装置２０３は、一般的な雑音の除去すなわちデバイス３０１の周囲雑音や突発性雑音を除去し、音声翻訳装置２０５へ出力して、音声翻訳装置２０５が信号に含まれる音声を翻訳する。なお、雑音除去装置２０３は省略されてもよい。
【００９０】
音声翻訳装置２０５により翻訳された音声の信号は、デバイス３０１−１〜３０１−Ｎの一部へスピーカ出力信号として出力されてもよいし、スピーカ出力信号３０２−１〜３０２−Ｎの一部の代わりとしてデータ受信部１０１へ出力されてもよい。
【００９１】
以上で説明したように、他のデバイスのスピーカで出力される音の信号をスピーカ出力信号として確実に取得し、エコーキャンセリングへ適用できるため、不要な音を効果的に除去することができる。ここで、他のデバイスのスピーカで出力された音は空中伝搬してマイクに到達し、マイク入力信号となるため、マイク入力信号とスピーカ出力信号との間に時間差の発生する可能性もあるが、マイク入力信号とスピーカ出力信号を同期させるため、エコーキャンセリングでの除去率を高めることができる。
【００９２】
また、スピーカ出力信号を予め取得可能とすることにより、マイク入力信号とスピーカ出力信号との同期のための処理時間を短縮できる。さらに、スピーカ出力信号に提示音を加えることにより、マイク入力信号とスピーカ出力信号の同期の精度を向上して処理時間を短縮できる。そして、翻訳の対象となる音声以外の音を除去できるため、音声翻訳の精度の向上が可能になる。
【実施例２】
【００９３】
実施例１では、会議などでの音声翻訳のための前処理の例を説明したが、実施例２では、人間共生ロボットによる音声認識のための前処理の例を説明する。本実施例における人間共生ロボットは、人間の近くに移動し、人間の発する音声を人間共生ロボットのマイクで収音して、音声を認識するものである。
【００９４】
このような人間共生ロボットでは、実環境下での高精度な音声認識が求められるため、音声認識精度に影響する要因の一つである特定音源からの音であって、人間共生ロボットの移動にともない変化する特定音源から音を除去することが有効である。実環境における特定音源としては、例えば、他の人間共生ロボットの発話、構内放送の音声、人間共生ロボット自体の内部雑音などがある。
【００９５】
図１５は、音声信号処理装置９００の処理の流れの例を示す図である。図１と同じ部分は同じ符号を付けて説明を省略する。音声信号処理装置９００は、スピーカ信号強度予測部９０１を含むことにおいて、実施例１で説明した音声信号処理装置１００と異なるが、これは処理が異なることを意味するので、例えば図４〜６、１１〜１３などの音声信号処理装置１００とハードウェアとして同じであってもよい。
【００９６】
また、音声翻訳装置２０５の代わりに音声認識装置９１０が接続されるが、音声認識装置９１０は音声を認識して、人間共生ロボットの物理的な動作や発話を制御してもよいし、認識された音声を翻訳してもよい。デバイス３０１−１、音声信号処理装置９００、雑音除去装置２０３および音声認識装置９１０のいずれかが人間共生ロボットに含まれてもよい。
【００９７】
特定音源の中で人間共生ロボット自体の内部雑音、特にモーター音は、マイク入力信号２０２へ大きく影響を与える。現在、動作音の小さな高性能モーターも存在するため、このような高性能モーターを使用することにより、マイク入力信号２０２への影響を軽減することも可能であるが、このような高性能モーターは高価であり、人間共生ロボットのコストが高くなってしまう。
【００９８】
これに対し、低価格なモーターを使用すれば、人間共生ロボットのコストを抑えることは可能であるが、低価格なモーターは動作音が大きく、マイク入力信号２０２への影響が大きい。さらに、モーターそのものの動作音の大きさに加え、モーターの動作音の基となる振動が人間共生ロボットの筐体に伝わり、複数のマイクに入力されるため、空気伝搬の音よりも除去しにくい。
【００９９】
そこで、モーターの近くにマイク（音声マイクあるいは振動マイク）を設け、マイクで取得した信号を複数のスピーカ出力信号３０２の中の一つとする。モーターの近くのマイクで取得された信号は、スピーカから出力される音の信号ではないが、マイク入力信号２０２に含まれる波形と相関の高い波形を含むため、エコーキャンセリングによる分離が可能になる。
【０１００】
このため、例えばデバイス３０１−Ｎの図示を省略したマイクが、モーターの近くに設置され、デバイス３０１−Ｎは、マイクで取得された信号をスピーカ出力信号３０２−Ｎに出力してもよい。
【０１０１】
図１６は、人間共生ロボットの移動の例を示す図である。ロボットＡ９０２とロボットＢ９０３は、それぞれ人間共生ロボットである。ロボットＡ９０２は位置ｄから位置Ｄへ移動する。ここで、位置ｄに存在した時点をロボットＡ９０２ａとし、位置Ｄに存在した時点をロボットＡ９０２ｂとする。ロボットＡ９０２ａとロボットＡ９０２ｂは存在する時刻が異なるものであり、物としては同じロボットＡ９０２である。
【０１０２】
ロボットＡ９０２ａとロボットＢ９０３とは距離ｅであったが、ロボットＡ９０２が位置ｄから位置Ｄへ移動すると、ロボットＡ９０２ｂとロボットＢ９０３とは距離Ｅとなり、距離ｅから距離Ｅへ距離が変化する。また、ロボットＡ９０２ａと構内放送用スピーカ９０４とは距離ｆであったが、ロボットＡ９０２が位置ｄから位置Ｄへ移動すると、ロボットＡ９０２ｂと構内放送用スピーカ９０４とは距離Ｆとなり、距離ｆから距離Ｆへ距離が変化する。
【０１０３】
このように、人間共生ロボット（ロボットＡ９０２）の場合は自由に移動するので、他の人間共生ロボット（ロボットＢ９０３）と固定的に設置されたデバイス３０１（構内放送用スピーカ９０４）との距離が変動し、マイク入力信号２０２に含まれるスピーカ出力信号３０２の波形の振幅が変わる。
【０１０４】
マイク入力信号２０２に含まれるスピーカ出力信号３０２の波形の振幅が小さい場合、信号の同期とエコーキャンセリングの性能が悪くなる可能性もある。そこで、スピーカ信号強度予測部９０１は、複数のデバイス３０１それぞれの位置からデバイス３０１間の距離を計算し、マイク入力信号２０２に含まれるスピーカ出力信号３０２の波形の振幅が小さいと判定されたスピーカ出力信号３０２の信号に関するエコーキャンセリングを行わない。
【０１０５】
スピーカ信号強度予測部９０１あるいはデバイス３０１は、電波あるいは音波などを使用して、スピーカ信号強度予測部９０１の位置すなわち人間共生ロボットの位置を測定する。電波あるいは音波などを使用しての位置の測定は、既に広く知られ行われていることであるので、処理の内容の説明は省略する。また、構内放送用スピーカ９０４などの固定的に設置された装置内のスピーカ信号強度予測部９０１は、位置を測定することなく、予め設定された位置を記憶してもよい。
【０１０６】
測定された位置の情報は、人間共生ロボットや構内放送用スピーカ９０４などの間で通信されて互いに記憶され、位置の間隔から距離が計算されてもよい。また、位置を測定することなく、人間共生ロボットや構内放送用スピーカ９０４などは、互いに電波あるいは音波などを照射し合って、距離を測定してもよい。
【０１０７】
例えば、実稼働する前の周囲に音のない状態で、人間共生ロボットや構内放送用スピーカ９０４などのスピーカそれぞれから順次に音を出し、音を出していない装置それぞれのスピーカ信号強度予測部９０１は、音を出している装置との距離とともにマイク入力信号２０２の音声強度（波形の振幅）を記録する。距離を変更しながら、この記録を繰り返して複数の距離それぞれにおける音声強度を記録する、あるいは空中の音波の減衰率から複数の距離それぞれにおける音声強度を計算し、図１７に示すような音声減衰曲線９０５のグラフを表す情報を作成する。
【０１０８】
図１７は、音源からの距離と音声強度の関係の例を示す図である。人間共生ロボットが移動するごと（位置および距離が変化するごと）に、人間共生ロボットや構内放送用スピーカ９０４などのスピーカ信号強度予測部９０１は、他の装置との距離を計算し、図１７に示す音声減衰曲線９０５それぞれに基づいて音声強度を求める。
【０１０９】
そして、スピーカ信号強度予測部９０１は、予め設定された閾値以上の音声強度があるスピーカ出力信号３０２の信号をエコーキャンセリング実行部１０５へ出力し、予め設定された閾値未満の音声強度であるスピーカ出力信号３０２の信号をエコーキャンセリング実行部１０５へ出力しない。これにより、無用なエコーキャンセリングによる信号の劣化を防ぐことができる。
【０１１０】
音声強度を求めるために、図１６において、ロボットＡ９０２が位置ｄから位置Ｄへ移動すると、ロボットＡ９０２とロボットＢ９０３の距離が距離ｅから距離Ｅに変わり、図１７に示す音声減衰曲線９０５からそれぞれの音声強度を求めることができる。ここで、距離ｅでは閾値以上の音声強度が得られてエコーキャンセリングされても、距離Ｅでは閾値未満の音声強度となるとエコーキャンセリングされない。
【０１１１】
なお、さらに高精度に音声強度を予測するために、距離に加えて、伝達経路情報やスピーカの音量などを用いてもよい。また、マイクが接続されたデバイス３０１−１のスピーカと、モーターの近くに設置されたデバイス３０１−Ｎのマイクは、人間共生ロボットが移動しても、距離が変わらないため、スピーカ出力信号３０２−１とスピーカ出力信号３０２−Ｎをスピーカ信号強度予測部９０１の処理対象から外してもよい。
【０１１２】
以上で説明したように、モーターで移動する人間共生ロボットであって、モーターの動作音を効果的に除去することが可能になる。また、移動により他の音源との距離が変化しても、他の音源からの音を効果的に除去することが可能になる。特に、必要以上な除去により、認識の対象となる音声の信号に影響を与えることがない。そして、認識の対象となる音声以外の音を除去できるので、音声の認識率の向上が可能になる。
【符号の説明】
【０１１３】
１００、９００  音声信号処理装置
１０２  サンプリング周波数変換部
１０３  スピーカ信号検出部
１０４  各信号間時間同期部
１０５  エコーキャンセリング実行部
２０２  マイク入力信号
３０１  デバイス
３０２  スピーカ出力信号
【図１】
2018082225.tif 000003
【図２】
2018082225.tif 000004
【図３】
2018082225.tif 000005
【図４】
2018082225.tif 000006
【図５】
2018082225.tif 000007
【図６】
2018082225.tif 000008
【図７】
2018082225.tif 000009
【図８】
2018082225.tif 000010
【図９】
2018082225.tif 000011
【図１０】
2018082225.tif 000012
【図１１】
2018082225.tif 000013
【図１２】
2018082225.tif 000014
【図１３】
2018082225.tif 000015
【図１４】
2018082225.tif 000016
【図１５】
2018082225.tif 000017
【図１６】
2018082225.tif 000018
【図１７】
2018082225.tif 000019