(57)【要約】【課題】より確実にエコーを除去する。【解決手段】エコー除去装置１００は、通信相手からの受信信号を遅延させる第１遅延部１５を備え第１遅延部１５で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を通信相手への送信信号から減算するエコーキャンセル部１と、第１遅延部１５とは異なる遅延量で受信信号を遅延させる第２遅延部１９と、受信信号を第２遅延部１９で遅延させた信号と前記エコーキャンセル部１の出力とを入力とするエコーサプレッサ１８と、上記特性情報に基づいて、第１遅延部１５および第２遅延部１９の遅延量を算出し、設定する遅延量算出部１４とを有する。【選択図】図１
2017199949.tif 000002
【特許請求の範囲】
【請求項１】
通信相手からの受信信号を遅延させる第１遅延部を備え、
前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を前記通信相手への送信信号から減算するエコーキャンセル部と、
前記第１遅延部とは異なる遅延量で前記受信信号を遅延させる第２遅延部と、
前記受信信号を前記第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とを入力とするエコーサプレッサと、
前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する遅延量算出部と
を有するエコー除去装置。
【請求項２】
前記エコーサプレッサは、前記キャンセル信号が減算された前記送信信号を減衰させる請求項１に記載のエコー除去装置。
【請求項３】
前記通信相手からの音声を検出する音声検出部と、
送話者と受話者とが同時に音声を発するダブルトーク状態を検出するダブルトーク検出部をさらに有し、
前記エコーサプレッサは、前記音声検出部が音声を検出し、かつ、前記ダブルトーク検出部がダブルトーク状態を検出していない場合に前記通信相手への送信信号を減衰させ、前記音声検出部が音声を検出していない場合、または、前記ダブルトーク検出部がダブルトーク状態を検出している場合に前記通信相手への送信信号を減衰させない請求項１に記載のエコー除去装置。
【請求項４】
前記エコーキャンセル部は、
前記特性情報に基づいて前記キャンセル信号を生成する適応フィルタと、前記送信信号から前記キャンセル信号を減算する減算部とを有する請求項１から請求項３のいずれか１つに記載のエコー除去装置。
【請求項５】
前記遅延量算出部は、
前記適応フィルタが収束している状態であるときにフィルタ係数の最大絶対値を持つタップ位置を探索し、所定条件を満たす限り前記タップ位置を更新し、前記所定条件を満たさなくなった場合に、前記タップ位置に基づいて前記第２遅延部に設定する遅延量を算出する請求項４に記載のエコー除去装置。
【請求項６】
通信相手からの受信信号を第１遅延部で遅延させる工程と、
前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を生成する工程と、
前記キャンセル信号を前記通信相手への送信信号から減算する工程と、
前記受信信号を第２遅延部で前記第１遅延部とは異なる遅延量で遅延させる工程と、
前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する工程と、
前記受信信号を第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とに基づいて前記送信信号を減衰させる工程と
を有するエコー除去方法。
【請求項７】
コンピュータを、
通信相手からの受信信号を遅延させる第１遅延部を備え前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を前記通信相手への送信信号から減算するエコーキャンセル部、
前記第１遅延部とは異なる遅延量で前記受信信号を遅延させる第２遅延部、
前記受信信号を前記第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とを入力とするエコーサプレッサ、
前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する遅延量算出部、
として機能させるためのエコー除去プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコー除去装置、エコー除去方法およびエコー除去プログラムに関する。
【背景技術】
【０００２】
自動車内のハンズフリー通話、テレビ会議システム等で発生する音響エコーを除去するために、エコーキャンセラやエコーサプレッサが用いられることがある。エコーキャンセラとエコーサプレッサとを組合せて用いる装置が特許文献１に開示されている。特許文献１では、適応フィルタを用いたエコーパスの推定によるエコーキャンセラによってエコーを減衰させ、かつ、エコーキャンセラによって消去しきれなかった残留エコーを、エコーサプレッサ等によりさらに減衰させることで、エコー除去を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２７３３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
送信側の背景ノイズによるエコー減衰量の低下や、送話者と受話者とが同時に音声を発するダブルトーク時のエコー除去性能に関しては、まだ課題が多く、改善の余地がある。
【０００５】
本発明は、上記に鑑みてなされたものであって、その目的は、より確実にエコーを除去できるエコー除去装置、エコー除去方法およびエコー除去プログラムを提供することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明のある態様によるエコー除去装置は、通信相手からの受信信号を遅延させる第１遅延部を備え前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を前記通信相手への送信信号から減算するエコーキャンセル部と、前記第１遅延部とは異なる遅延量で前記受信信号を遅延させる第２遅延部と、前記受信信号を前記第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とを入力とするエコーサプレッサと、前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する遅延量算出部とを有する。
【０００７】
本発明のある態様によるエコー除去方法は、通信相手からの受信信号を第１遅延部で遅延させる工程と、前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を生成する工程と、前記キャンセル信号を前記通信相手への送信信号から減算する工程と、前記受信信号を第２遅延部で前記第１遅延部とは異なる遅延量で遅延させる工程と、前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する工程と、前記受信信号を第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とに基づいて前記送信信号を減衰させる工程とを有する。
【０００８】
本発明のある態様によるエコー除去プログラムは、コンピュータを、通信相手からの受信信号を遅延させる第１遅延部を備え前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を前記通信相手への送信信号から減算するエコーキャンセル部、前記第１遅延部とは異なる遅延量で前記受信信号を遅延させる第２遅延部、前記受信信号を前記第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とを入力とするエコーサプレッサ、前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する遅延量算出部、として機能させるプログラムである。
【発明の効果】
【０００９】
本発明にかかるエコー除去装置、エコー除去方法およびエコー除去プログラムによれば、より確実にエコーを除去できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態によるエコー除去装置の構成例を示す図である。
【図２】図２は、一般的なエコー除去装置の構成例を示す図である。
【図３】図３は、エコーキャンセル部によるエコーキャンセル動作の例を示すフローチャートである。
【図４】図４は、図１中のエコーサプレッサの動作の例を示すフローチャートである。
【図５】図５は、図１中のダブルトーク検出部の動作の例を示すフローチャートである。
【図６】図６は、図１中の遅延量算出部の動作の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施形態を図面に基づいて詳細に説明する。以下の実施形態の説明において、同一又は同等の構成部分については同一の符号を付し、その説明を簡略又は省略する。なお、実施形態により本発明が限定されるものではない。また、実施形態の構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。また、この実施形態に記載された複数の変形例は、当業者自明の範囲内にて任意に組み合わせが可能である。
【００１２】
（エコー除去装置の構成例）
図１は、本実施形態によるエコー除去装置の構成例を示す図である。図１に示すように、本実施形態によるエコー除去装置１００は、エコーキャンセル部１と、エコーサプレッサ１８と、遅延部１９とを有する。エコーキャンセル部１、エコーサプレッサ１８および遅延部１９は、例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を利用して実現することができる。
【００１３】
エコー除去装置１００は、受話側信号経路４に、Ａ／Ｄ変換部２１と、Ｄ／Ａ変換部２２と、スピーカ２とを有する。また、エコー除去装置１００は、送話側信号経路５に、マイクロホン（以下、マイクと略称する）３と、Ａ／Ｄ変換部２３と、Ｄ／Ａ変換部２４とを有する。スピーカ２は、受信信号を音に変換して出力する。マイク３は、音を電気信号に変換して入力する。Ａ／Ｄ変換部２１および２３は、アナログ信号をデジタル信号に変換する。Ｄ／Ａ変換部２２および２４は、デジタル信号をアナログ信号に変換する。エコー除去装置１００は、スピーカ２の出力がマイク３へ入力されることによる音響エコーを除去する。
【００１４】
（エコーキャンセル部）
エコーキャンセル部１は、キャンセル信号を生成し、キャンセル信号を通信相手への送信信号から減算する。エコーキャンセル部１は、適応フィルタ１１と、減算部１２と、ダブルトーク検出部１３と、遅延量算出部１４と、遅延部１５と、音声検出部１６および１７とを備えている。遅延部１５は、通信相手からの受信信号を入力し、遅延させて出力する。遅延部１５は、遅延量算出部１４から与えられる遅延量が設定され、受信信号を遅延させる。
【００１５】
適応フィルタ１１は、スピーカ２の出力からマイク３への入力までの空間すなわちエコーパスの特性を模擬した特性情報を、遅延部１５で遅延させた受信信号に掛けてキャンセル信号を生成し、減算部１２に入力する。減算部１２は、マイク３への入力信号からキャンセル信号を減算する。減算部１２の出力は誤差信号として適応フィルタ１１に入力される。適応フィルタ１１は、フィルタ係数を更新し、誤差信号が最小になるように収束させる動作を行う。
【００１６】
遅延量算出部１４は、第１遅延部である遅延部１５および第２遅延部である遅延部１９に、互いに異なる遅延量を算出し、設定する。遅延量算出部１４は、適応フィルタ１１のフィルタ係数更新量を算出し、適切な遅延量を遅延部１５に設定する。また、遅延量算出部１４は、エコーサプレッサ１８に与える受信信号の遅延量を算出し、遅延部１９に設定する。遅延量算出部１４は、適応フィルタ１１の特性情報すなわちフィルタ係数の形状から遅延量を算出する。遅延量算出部１４は、適応フィルタ１１が収束したかどうかを判断し、収束している状態の時に、適応フィルタ１１の係数をもとに、適応フィルタ１１が最も有効にエコーを除去できる遅延時間（インパルス応答の立ち上がり前から含む）を算出する。また、遅延量算出部１４は、受信信号と送信信号とに含まれるエコーの遅延時間を算出する。このとき、例えば、インパルス応答の最大値、または、最大値と最小値との差が一定の範囲内にある場合は最大値ではなく最初のピーク値、をサンプル位置とする。
【００１７】
遅延量算出部１４は、それぞれ算出した各遅延時間すなわち遅延量を、別々の遅延部１５、遅延部１９にそれぞれ設定する。遅延部１５には、本装置によるシステム処理の遅延時間に相当する遅延量が設定される。なお、エコーパスが非常に長い場合等、遅延量はエコー経路による遅延を含んでもよい。また、遅延部１９には、本装置によるシステム処理の遅延時間に、スピーカ２とマイク３との間のエコー経路による遅延時間を加えた時間に相当する遅延量が設定される。このため、遅延部１５、遅延部１９には、互いに異なる遅延量が設定される。通信相手からの受信信号は遅延部１５を通して適応フィルタ１１に入力される。また、受信信号は遅延部１９を通してエコーサプレッサ１８に入力される。こうすることにより、適応フィルタ１１およびエコーサプレッサ１８によるエコー減衰量、およびエコー除去品質を向上させる。これにより、エコーキャンセル部１によるエコー減衰量を最大限にするとともに、エコーキャンセル部１により消去しきれなかった残留エコーを、エコーサプレッサ１８で効果的に推定し、除去することが可能となる。
【００１８】
ダブルトーク検出部１３は、送話者と受話者とが同時に音声を発するダブルトーク状態を検出する。ダブルトーク状態になると、適応フィルタ１１の係数が乱される。このため、ダブルトーク検出部１３がダブルトーク状態を検出した時には適応フィルタ１１の係数の更新を休止してその乱れを小さく抑える。
【００１９】
ダブルトーク検出部１３は、受信信号をＡ／Ｄ変換部２１で変換したデジタル信号を遅延部１９で遅延させた信号と、マイク３への入力信号をＡ／Ｄ変換部２３で変換したデジタル信号とを入力とする。なお、適応フィルタ１１を用いてエコーキャンセル処理を行った後の信号をダブルトーク検出部１３へ入力してもよい。ダブルトーク検出部１３は、例えば、入力される信号のレベルを比較してダブルトーク状態を検出する。ダブルトーク検出部１３がダブルトークを検出した結果を示す信号は、適応フィルタ１１およびエコーサプレッサ１８に入力される。ダブルトーク検出部１３の動作例については、後述する。
【００２０】
音声検出部１６および音声検出部１７は、通信相手からの音声を検出する。例えば、音声検出部１６および音声検出部１７は、入力される受信信号について、処理の単位である処理フレームごとに音声が含まれているか否かを判定する。音声検出部１６は、遅延部１５で遅延させた受信信号に音声が含まれているか否かを判定する。音声検出部１６が受信信号に音声が含まれていると判定した場合に、適応フィルタ１１が適応動作をする。音声検出部１７は、遅延部１９が遅延させた受信信号に音声が含まれているか否かを判定する。音声検出部１７が受信信号に音声が含まれていると判定した場合に、ダブルトーク検出部１３およびエコーサプレッサ１８が動作する。なお、ダブルトーク検出部１３およびエコーサプレッサ１８は、受信信号に音声が含まれているか否かに関わらず、種々のデータ収集動作を行ってもよい。遅延部１９は、受信信号に、遅延時間を付与し、遅延させた受信信号をエコーサプレッサ１８に与える。
【００２１】
（エコーサプレッサ）
エコーサプレッサ１８は、減算部１２によってキャンセル信号が減算された入力信号に減衰係数を乗算することによって、エコーを抑制する。エコーサプレッサ１８は、ダブルトーク検出部１３がダブルトークまたは送話側のシングルトークを検出していない場合に、送話側信号経路５に減衰係数を乗算して減衰量を付与し、エコーを抑圧する。エコーサプレッサ１８は、ダブルトーク検出部１３がダブルトークまたは送話側のシングルトークを検出している場合に、送話側信号経路５に減衰量を付与しないことが望ましい。
【００２２】
エコーサプレッサ１８は、遅延部１９を通して得られた受信信号を周波数領域に変換し、また送信信号を周波数領域に変換し、各変換されたデータの各周波数帯域における時間的な変化を観測し、時間変化の比較や相関から減衰量すなわちエコー抑圧量を決定する。エコーサプレッサ１８は、決定したエコー抑圧量で、エコーを効果的に減衰させる。エコーサプレッサ１８の動作例については、後述する。
【００２３】
なお、本例では、エコーサプレッサ１８に、ダブルトーク検出部１３からの検出結果が入力される。エコーサプレッサ１８は、その検出結果の情報を用いてエコー抑圧量をさらにコントロールしてもよい。例えば、ダブルトーク検出部１３は、検出結果を検出確率等の段階的な指標で表し、エコーサプレッサ１８は、その指標の大小に応じてエコー抑圧量を算出したり、その指標に基づいたテーブルを用いてエコー抑圧量を決定したりしてもよい。また、エコーサプレッサ１８は、遅延部１９によって遅延させた受信信号とマイク３から入力される送信信号との相関からダブルトーク状態を推定して抑圧量をコントロールしてもよい。
【００２４】
（エコー除去装置の動作）
次に、エコー除去装置１００の動作の概略を説明する。エコー除去装置１００において、アナログ信号である受信信号はＡ／Ｄ変換部２１によってデジタル信号に変換される。Ａ／Ｄ変換部２１によって変換されたデジタル信号は、遅延部１９およびエコーキャンセル部１内の遅延部１５に入力される。また、Ａ／Ｄ変換部２１によって変換されたデジタル信号は、Ｄ／Ａ変換部２２に入力され、アナログ信号に変換される。Ｄ／Ａ変換部２２によって変換されたアナログ信号はスピーカ２から出力される。
【００２５】
エコー除去装置１００において、マイク３への入力信号は、スピーカ２の出力による音響エコーと送話者の音声とを含むアナログ信号である。マイク３への入力信号は、Ａ／Ｄ変換部２３によってデジタル信号に変換される。Ａ／Ｄ変換部２３によって変換されたデジタル信号は、エコーキャンセル部１に入力される。エコーキャンセル部１は、音響エコーを除去するためのキャンセル信号を生成し、Ａ／Ｄ変換部２３で変換されたデジタル信号からキャンセル信号を減算する。キャンセル信号が減算されたデジタル信号は、エコーサプレッサ１８に入力される。
【００２６】
（比較例）
図２は、一般的なエコー除去装置の構成例を示す図である。図２に示すエコー除去装置１００ａは、エコーキャンセル部１と、エコーサプレッサ１８とを備えている。エコーキャンセル部１は、適応フィルタ１１と、減算部１２と、ダブルトーク検出部１３と、遅延部１５と、音声検出部１６とを備えている。
【００２７】
図２に示すように、適応フィルタ１１およびエコーサプレッサ１８には、１つの遅延部１５から、同じ遅延量が付与される。このため、エコーサプレッサ１８が正確に機能しないおそれがある。例えば、エコーサプレッサ１８に入力される受信信号と送信信号とで時間的なずれがあるため、ダブルトークを正しく判定することができず、送話側信号経路５に減衰量を適切に付与することができない場合がある。
【００２８】
図２に示す構成では、遅延部１５によって遅延させた受信信号が適応フィルタ１１に入力されるとともに、エコーサプレッサ１８にも同じ信号が入力される。このため、適応フィルタ１１、エコーサプレッサ１８には、遅延部１５によって同様に遅延させた受信信号が入力される。この構成では、エコーサプレッサ１８の動作のタイミングがずれてしまうことがある。このため、実際には既にダブルトークの状態であるにも関わらず、ダブルトーク検出部１３がダブルトーク状態を検出せず、エコーサプレッサ１８が動作したり、逆に実際には既にダブルトークの状態が終了しているにも関わらず、ダブルトークを検出し、エコーサプレッサ１８が動作しなくなったりするおそれがある。
【００２９】
一方、図１を参照して説明した本実施形態によるエコー除去装置１００は、エコーキャンセル部１内の遅延部１５の他に、遅延部１９を有する。遅延部１９によって、エコーサプレッサ１８には、エコーキャンセル部１内の遅延部１５で付与される遅延量とは独立した別の遅延量を与えた受信信号を入力することができる。
【００３０】
（エコーキャンセルの処理の例）
図３は、エコーキャンセル部１によるエコーキャンセル動作の例を示すフローチャートである。ステップＳ１０１では、遅延部１５は、受信信号に、本装置によるシステム処理の遅延時間（以下、システム遅延時間と呼ぶ）を付加する。ステップＳ１０２では、適応フィルタ１１が、適応フィルタ係数で畳み込み処理を行い、キャンセル信号を生成する。ステップＳ１０３では、減算部１２が、マイク３への入力信号からキャンセル信号を減算する。
【００３１】
ステップＳ１０４では、音声検出部１６は、遅延部１５が遅延させた受信信号の処理フレームに音声が含まれているか否かを判定する。ステップＳ１０４において、遅延部１５が遅延させた受信信号の処理フレームに音声が含まれている場合（ステップＳ１０４においてＹｅｓ）、ステップＳ１０５に移行する。
【００３２】
ステップＳ１０５では、ダブルトーク検出部１３がダブルトークを検出したか否かを判定する。ステップＳ１０５において、ダブルトーク検出部１３がダブルトークを検出していない場合（ステップＳ１０５においてＮｏ）、ステップＳ１０６に移行する。
【００３３】
ステップＳ１０６では、適応フィルタ１１が、減算後の信号を最小化するように適応フィルタ係数を更新する。ステップＳ１０７では、適応フィルタ１１が、更新した適応フィルタ係数で畳み込み処理を行い、キャンセル信号を生成する。ステップＳ１０８では、減算部１２、マイク３への入力信号からキャンセル信号を減算する。ステップＳ１０９では、キャンセル信号を減算した後の信号を出力する。
【００３４】
なお、ステップＳ１０４において、遅延部１５が遅延させた受信信号の処理フレームに音声が含まれていない場合（ステップＳ１０４においてＮｏ）、ステップＳ１０９に移行し、キャンセル信号を減算した後の信号を出力する。
【００３５】
また、ステップＳ１０５において、ダブルトーク検出部１３がダブルトークを検出した場合（ステップＳ１０５においてＹｅｓ）、ステップＳ１０９に移行し、キャンセル信号を減算した後の信号を出力する。
【００３６】
（エコーサプレッサの処理の例）
図４は、図１中のエコーサプレッサ１８の動作の例を示すフローチャートである。ステップＳ２０１では、エコーサプレッサ１８は、音声検出部１７が音声を検出したか否かを判定する。ステップＳ２０１において、音声検出部１７が音声を検出した場合（ステップＳ２０１においてＹｅｓ）、ステップＳ２０２に移行する。
【００３７】
ステップＳ２０２では、エコーサプレッサ１８は、ダブルトーク検出部１３がダブルトークを検出したか否かを判定する。ステップＳ２０２において、ダブルトーク検出部１３がダブルトークを検出していない場合（ステップＳ２０２においてＮｏ）、ステップＳ２０３に移行する。ステップＳ２０３では、エコーサプレッサ１８は、減衰係数を乗算する。
【００３８】
なお、ステップＳ２０１において音声検出部１７が音声を検出していない場合（ステップＳ２０１においてＮｏ）、および、ステップＳ２０２においてダブルトーク検出部１３がダブルトークを検出した場合（ステップＳ２０２においてＹｅｓ）、いずれもそのまま処理は終了となる。
【００３９】
（ダブルトーク検出部の処理の例）
図５は、図１中のダブルトーク検出部１３の動作の例を示すフローチャートである。ステップＳ３０１では、遅延部１９が遅延させた受信信号において、音声検出部１７が音声を検出したか否かを判定する。ステップＳ３０１において、音声検出部１７が音声を検出した場合（ステップＳ３０１においてＹｅｓ）、ステップＳ３０２に移行する。
【００４０】
ステップＳ３０２では、ダブルトーク検出部１３は、マイク３への入力信号とエコーキャンセル後の信号とに基づいて減衰量を計算する。ステップＳ３０３では、ダブルトーク検出部１３は、減衰量が一定値を超えているか否かを判定する。
【００４１】
ステップＳ３０３において、減衰量が一定値を超えていない場合（ステップＳ３０３においてＮｏ）、ステップＳ３０４に移行し、ダブルトーク状態であると判定し、そのことを示す信号を出力する。その後、処理は終了する。
【００４２】
一方、ステップＳ３０３において、減衰量が一定値を超えている場合（ステップＳ３０３においてＹｅｓ）、ステップＳ３０５に移行し、シングルトーク状態であると判定し、そのことを示す信号を出力する。その後、処理は終了する。
【００４３】
なお、ステップＳ３０１において、音声検出部１７が音声を検出していない場合（ステップＳ３０１においてＮｏ）も同様に、ステップＳ３０５に移行し、シングルトーク状態であると判定し、そのことを示す信号を出力する。その後、処理は終了する。
【００４４】
（遅延量算出部の処理の例）
図６は、図１中の遅延量算出部１４の動作の例を示すフローチャートである。ステップＳ４０１において、遅延量算出部１４は、適応フィルタのフィルタ係数更新量を算出する。ステップＳ４０２において、遅延量算出部１４は、フィルタ係数更新量に基づいて適応フィルタ１１の収束状態を判定する。
【００４５】
ステップＳ４０３において、遅延量算出部１４は、適応フィルタ１１が収束しているか否かを判定する。ステップＳ４０３において、適応フィルタ１１が収束していると判定した場合（ステップＳ４０３においてＹｅｓ）、ステップＳ４０４に移行する。
【００４６】
ステップＳ４０４において、遅延量算出部１４は、フィルタ係数の絶対値和の１０％を最初に超えるタップ位置を探索する。ステップＳ４０５において、遅延量算出部１４は、探索したタップ位置から所定時間前のサンプル位置が適応フィルタ１１のフィルタ係数の先頭になるように遅延量を決定する。ステップＳ４０６において、遅延量算出部１４は、算出した遅延量を適応フィルタ１１用の遅延部１５に設定する。
【００４７】
ステップＳ４０７において、遅延量算出部１４は、フィルタ係数の最大絶対値を持つタップ位置を探索する。
【００４８】
ステップＳ４０８において、遅延量算出部１４は、現タップ位置の一つ前の絶対ピーク値が現絶対ピーク値の９０％以上であるか否かを判定する。ステップＳ４０８において、現タップ位置の一つ前の絶対ピーク値が現絶対ピーク値の９０％以上であると判定した場合（ステップＳ４０８においてＹｅｓ）、ステップＳ４０９に移行する。
【００４９】
ステップＳ４０９において、遅延量算出部１４は、現タップ位置の一つ前の絶対ピーク値が最大絶対値の５０％以上であるか否かを判定する。ステップＳ４０９において、現タップ位置の一つ前の絶対ピーク値が最大絶対値の５０％以上であると判定した場合（ステップＳ４０９においてＹｅｓ）、ステップＳ４１０に移行する。ステップＳ４１０において、遅延量算出部１４は、タップ位置を更新し、ステップＳ４０８の処理に戻る。
【００５０】
ステップＳ４０８において、遅延量算出部１４は、現タップ位置の一つ前の絶対ピーク値が現絶対ピーク値の９０％以上でないと判定した場合（ステップＳ４０８においてＮｏ）、および、ステップＳ４０９において、現タップ位置の一つ前の絶対ピーク値が最大絶対値の５０％以上でないと判定した場合（ステップＳ４０９においてＮｏ）、ステップＳ４１１に移行する。
【００５１】
ステップＳ４１１において、遅延量算出部１４は、取得したタップ位置に基づき、システム遅延時間とエコー経路の正確な遅延時間とを遅延部１９に設定する遅延量として算出する。ステップＳ４１２において、遅延量算出部１４は、算出した遅延量をエコーサプレッサ１８用の遅延部１９に設定する。
【００５２】
なお、ステップＳ４０３において、適応フィルタ１１が収束していないと判定した場合（ステップＳ４０３においてＮｏ）、遅延量算出部１４による処理は終了する。
【００５３】
上記ステップＳ４０７からＳ４１２の処理によれば、遅延量算出部１４は、適応フィルタ１１が収束している状態であるときにフィルタ係数の最大絶対値を持つタップ位置を探索し、所定条件を満たす限りタップ位置を更新し、所定条件を満たさなくなった場合に、タップ位置に基づいて遅延部１９に設定する遅延量を算出する。このような処理によれば、エコーサプレッサ１８用の遅延部１９に適切な遅延量を設定することができる。なお、ステップＳ４０８の判定における「現絶対ピーク値の９０％以上」、および、ステップＳ４０９の判定における「最大絶対値の５０％以上」の各数値は例示であり、タップ位置を更新する場合の条件を任意に設定することができる。
【００５４】
（まとめ）
本実施形態によるエコー除去装置は、例えば、自動車内でのハンズフリー通話、テレビ電話、スマートフォンを用いたハンズフリー通話について適用できる。
【００５５】
（エコー除去方法）
上記エコー除去装置により、以下のエコー除去方法が実現される。すなわち、通信相手からの受信信号を第１遅延部で遅延させる工程と、前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を生成する工程と、前記キャンセル信号を前記通信相手への送信信号から減算する工程と、前記受信信号を第２遅延部で前記第１遅延部とは異なる遅延量で遅延させる工程と、前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する工程と、前記受信信号を第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とに基づいて前記送信信号を減衰させる工程とを有するエコー除去方法が実現される。このエコー除去方法によれば、より確実にエコーを除去できる。
【００５６】
（エコー除去プログラム）
上記エコー除去装置は、コンピュータを、通信相手からの受信信号を遅延させる第１遅延部を備え前記第１遅延部で遅延させた信号とエコーパスの特性を模擬した特性情報とに基づいて生成したキャンセル信号を前記通信相手への送信信号から減算するエコーキャンセル部、前記第１遅延部とは異なる遅延量で前記受信信号を遅延させる第２遅延部、前記受信信号を前記第２遅延部で遅延させた信号と前記エコーキャンセル部の出力とを入力とするエコーサプレッサ、前記特性情報に基づいて、前記第１遅延部および前記第２遅延部の遅延量を算出し、設定する遅延量算出部、として機能させるためのエコー除去プログラムを利用して実現してもよい。このエコー除去プログラムを利用すれば、より確実にエコーを除去できる。
【符号の説明】
【００５７】
１  エコーキャンセル部
２  スピーカ
３  マイク
１１  適応フィルタ
１２  減算部
１３  ダブルトーク検出部
１４  遅延量算出部
１５、１９  遅延部
１６、１７  音声検出部
１８  エコーサプレッサ
２１、２３  Ａ／Ｄ変換部
２２、２４  Ｄ／Ａ変換部
１００、１００ａ  エコー除去装置
【図１】
2017199949.tif 000003
【図２】
2017199949.tif 000004
【図３】
2017199949.tif 000005
【図４】
2017199949.tif 000006
【図５】
2017199949.tif 000007
【図６】
2017199949.tif 000008