(57)【特許請求の範囲】
【請求項１】
メイン・フィルタのスパース・ウエイトから計算されたメイン結合係数と陰影フィルタの陰影ウエイトから計算された陰影結合係数とに基づくダブルトーク条件、および、陰影エラー・パワーを超過するメイン・エラー・パワーに基づくインパルス応答変化の少なくとも１つの検出に応答してメイン・ウエイト更新器にスパース更新イネーブルをアサートするイネーブル生成器と、
前記スパース更新イネーブルに従って前記陰影フィルタの陰影ウエイトを前記メイン・フィルタにおけるＮ個のスパース・フィルタ中のＮ個のスパース・ウエイトのセットに転送するメイン・ウエイト更新器と、遠端入力を非適応に濾波してメイン出力を生成し前記メイン出力と近端入力との差であるメイン・エラーが出力される前記メイン・フィルタと、前記遠端入力を適応して濾波して陰影出力を生成し、前記陰影出力と前記近端入力との差である陰影エラーが出力され、前記スパース・ウエイトのピークの遅延を推定する前記陰影フィルタと、
を含むことを特徴とする装置。
【請求項２】
前記メイン・ウエイト更新器は、
前記陰影ウエイト中のＮ個のピークのＮ個のピーク位置を検出するピーク検出器と、
前記Ｎ個のピーク位置に従う前記陰影ウエイトに基づいて前記Ｎ個のスパース・ウエイトのセットを置き換えるスパース・ウエイト更新器と、
を含むことを特徴とする請求項１記載の装置。
【請求項３】
前記ピーク検出器は、
前記陰影ウエイトを格納する陰影バッファと、
前記陰影バッファに格納された前記陰影ウエイトの最大の絶対値の位置を識別する最大ファインダであって、前記位置は前記Ｎ個のピーク位置のうちの１つに対応する、最大ファインダと、
前記位置の周辺に位置する陰影ウエイトのサブセットを無効にするヌリファイアであって、前記無効にされたサブセットは前記陰影バッファに書き戻される、ヌリファイアと、
を含むことを特徴とする請求項２記載の装置。
【請求項４】
前記スパース・ウエイト更新器は、
前記位置を低い位置閾値および高い位置閾値と比較する閾値比較器と、
前記位置が前記低い位置閾値未満であることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第１のスパース・サブセットを、前記陰影ウエイトの第１の陰影サブセットに置き換える第１の更新器と、
前記位置が前記高い位置閾値を超えることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第２のスパース・サブセットおよび第３のスパース・サブセットを、前記陰影ウエイトの第２の陰影サブセットおよび第３の陰影サブセットにそれぞれ置き換える第２の更新器と、
前記位置が前記低い位置閾値と前記高い位置閾値との間にあることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第２のスパース・サブセットおよび第４のスパース・サブセットを、前記陰影ウエイトの第２の陰影サブセットおよび第４の陰影サブセットにそれぞれ置き換える第３の更新器と、
を含むことを特徴とする請求項３記載の装置。
【請求項５】
前記スパース・ウエイト更新器は、
前記Ｎ個のスパース・ウエイトのセットを格納するスパース・ウエイト・バッファ、
をさらに含むことを特徴とする請求項４記載の装置。
【請求項６】
前記イネーブル生成器は、
前記遠端入力の短期パワーを推定する短期パワー推定器と、
前記遠端入力の長期パワーを推定する長期パワー推定器と、
前記短期パワーが前記長期パワーの表示より大きいことに応答して前記陰影フィルタの適応をイネーブルにする適応イネーブラと、
を含むことを特徴とする請求項１記載の装置。
【請求項７】
前記イネーブル生成器は、
前記メイン・フィルタのための前記メイン結合係数および前記陰影フィルタのための前記陰影結合係数を計算する遅延係数生成器と、
前記メイン結合係数が前記陰影結合係数の表示未満であることに応答して前記ダブルトーク条件を検出するダブルトーク検出器と、
を含むことを特徴とする請求項１記載の装置。
【請求項８】
前記イネーブル生成器は、
前記メイン出力および前記近端入力から決定された前記メイン・エラーの前記メイン・エラー・パワーを推定するメイン・エラー・パワー推定器と、
前記陰影出力および前記近端入力から決定された前記陰影エラーの前記陰影エラー・パワーを推定する陰影エラー・パワー推定器と、
前記メイン・エラー・パワーが前記陰影エラー・パワーの表示を超過することに応答して前記インパルス応答変更を検出する変更検出器と、
を含むことを特徴とする請求項７記載の装置。
【請求項９】
前記イネーブル生成器は、
検出された前記ダブルトークおよび前記インパルス応答変更を結合し、前記スパース更新イネーブルをアサートする結合器、
をさらに含むことを特徴とする請求項８記載の装置
【請求項１０】
前記適応イネーブラは、前記陰影フィルタのアフィン射影（ＡＰ）の適応を可能にすることを特徴とする請求項６記載の装置。
【請求項１１】
メイン・フィルタのスパース・ウエイトから計算されたメイン結合係数と陰影フィルタの陰影ウエイトから計算された陰影結合係数とに基づくダブルトーク条件、および、陰影エラー・パワーを超過するメイン・エラー・パワーに基づくインパルス応答変化の少なくとも１つの検出に応答してメイン・ウエイト更新器にスパース更新イネーブルをアサートする段階と、
前記スパース更新イネーブルに従って前記陰影フィルタの陰影ウエイトを前記メイン・フィルタにおけるＮ個のスパース・フィルタ中のＮ個のスパース・ウエイトのセットに転送する段階であって、前記メイン・フィルタは遠端入力を非適応に濾波してメイン出力を生成しかつ前記メイン出力と近端入力との差であるメイン・エラーを出力し、前記陰影フィルタは前記遠端入力を適応して濾波して陰影出力を生成し、前記陰影出力と前記近端入力との差である陰影エラーを出力し、かつ前記スパース・ウエイトのピークの遅延を推定する、段階と、
を含むことを特徴とする方法。
【請求項１２】
前記Ｎ個のスパース・ウエイトのセットを更新する段階は、
前記陰影ウエイト中のＮ個のピークのＮ個のピーク位置を検出する段階と、
前記Ｎ個のピーク位置に従う前記陰影ウエイトに基づいて前記Ｎ個のスパース・ウエイトのセットを置き換える段階と、
を含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記Ｎ個のピーク位置を検出する段階は、
陰影バッファに前記陰影ウエイトを格納する段階と、
前記陰影バッファに格納された前記陰影ウエイトの最大の絶対値の位置を識別する段階であって、前記位置は前記Ｎ個のピーク位置のうちの１つに対応する、段階と、
前記位置の周辺に位置する陰影ウエイトのサブセットを無効にする段階であって、前記無効にされたサブセットは前記陰影バッファに書き戻される、段階と、
を含むことを特徴とする請求項１２記載の方法。
【請求項１４】
前記Ｎ個のスパース・ウエイトのセットを置き換える段階は、
前記位置を低い位置閾値および高い位置閾値と比較する段階と、
前記位置が前記低い位置閾値未満であることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第１のスパース・サブセットを、前記陰影ウエイトの第１の陰影サブセットに置き換える段階と、
前記位置が前記高い位置閾値を超えることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第２のスパース・サブセットおよび第３のスパース・サブセットを、前記陰影ウエイトの第２の陰影サブセットおよび第３の陰影サブセットにそれぞれ置き換える段階と、
前記位置が前記低い位置閾値と前記高い位置閾値との間にあることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第２のスパース・サブセットおよび第４のスパース・サブセットを、前記陰影ウエイトの第２の陰影サブセットおよび第４の陰影サブセットにそれぞれ置き換える段階と、
を含むことを特徴とする請求項１３記載の方法。
【請求項１５】
前記Ｎ個のスパース・ウエイトのセットを置き換える段階は、
前記スパース・ウエイトの前記Ｎ個のセットを格納する段階、
を含むことを特徴とする請求項１４記載の方法。
【請求項１６】
スパース更新イネーブルをアサートする段階は、
前記遠端入力の短期パワーを推定する段階と、
前記遠端入力の長期パワーを推定する段階と、
前記短期パワーが前記長期パワーの表示より大きいことに応答して前記陰影フィルタの適応をイネーブルにする段階と、
を含むことを特徴とする請求項１１記載の方法。
【請求項１７】
スパース更新イネーブルをアサートする段階は、
前記メイン・フィルタのための前記メイン結合係数および前記陰影フィルタのための前記陰影結合係数を計算する段階と、
前記メイン結合係数が前記陰影結合係数の表示未満であることに応答して前記ダブルトーク条件を検出する段階と、
を含むことを特徴とする請求項１１記載の方法。
【請求項１８】
スパース更新イネーブルをアサートする段階は、
前記メイン出力および前記近端入力から決定された前記メイン・エラーの前記メイン・エラー・パワーを推定する段階と、
前記陰影出力および前記近端入力から決定された前記陰影エラーの前記陰影エラー・パワーを推定する段階と、
前記メイン・エラー・パワーが前記陰影エラー・パワーの表示を超過することに応答して前記インパルス応答変更を検出する段階と、
を含むことを特徴とする請求項１７記載の方法。
【請求項１９】
スパース更新イネーブルをアサートする段階は、
検出された前記ダブルトークおよび前記インパルス応答変更を結合し、前記スパース更新イネーブルをアサートする段階、
を含むことを特徴とする請求項１８記載の方法。
【請求項２０】
前記適応イネーブラは、前記陰影フィルタのアフィン射影（ＡＰ）の適応を可能にする段階を含むことを特徴とする請求項１６記載の方法。
【請求項２１】
マシンによってアクセスされたとき、前記マシンに動作を行なわせる命令を具備するソフトウェア・プログラムにおいて、前記マシンは、
メイン・フィルタのスパース・ウエイトから計算されたメイン結合係数と陰影フィルタの陰影ウエイトから計算された陰影結合係数とに基づくダブルトーク条件、および、陰影エラー・パワーを超過するメイン・エラー・パワーに基づくインパルス応答変化の少なくとも１つの検出に応答してメイン・ウエイト更新器にスパース更新イネーブルをアサートし、
前記スパース更新イネーブルに従って前記陰影フィルタの陰影ウエイトを前記メイン・フィルタのＮ個のスパース・フィルタ中のＮ個のスパース・ウエイトのセットに転送する段階であって、前記メイン・フィルタは遠端入力を非適応に濾波してメイン出力を生成しかつ前記メイン出力と近端入力との差であるメイン・エラーを出力し、前記陰影フィルタは前記遠端入力を適応して濾波して陰影出力を生成し、前記陰影出力と前記近端入力との差である陰影エラーを出力し、前記スパース・ウエイトのピークの遅延を推定する、
ことを特徴とするソフトウェア・プログラム。
【請求項２２】
前記マシンに前記Ｎ個のスパース・ウエイトのセットを更新する動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記陰影ウエイト中のＮ個のピークのＮ個のピーク位置を検出し、
前記Ｎ個のピーク位置に従う前記陰影ウエイトに基づいて前記Ｎ個のスパース・ウエイトのセットを置き換える、
動作を実行する命令を含むことを特徴とする請求項２１記載のソフトウェア・プログラム。
【請求項２３】
前記マシンに前記Ｎ個のピーク位置を検出する動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
陰影バッファに前記陰影ウエイトを格納し、
前記陰影バッファに格納された前記陰影ウエイトの最大の絶対値の位置を識別し、前記位置は前記Ｎ個のピーク位置のうちの１つに対応し、
前記位置の周辺に位置する陰影ウエイトのサブセットを無効にする段階であって、前記無効にされたサブセットは前記陰影バッファに書き戻される、
動作を実行する命令を含むことを特徴とする請求項２２記載のソフトウェア・プログラム。
【請求項２４】
前記マシンに前記Ｎ個のスパース・ウエイトのセットを置き換える動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記位置を低い位置閾値および高い位置閾値と比較し、
前記位置が前記低い位置閾値未満であることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第１のスパース・サブセットを、前記陰影ウエイトの第１の陰影サブセットに置き換え、
前記位置が前記高い位置閾値を超えることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第２のスパース・サブセットおよび第３のスパース・サブセットを、前記陰影ウエイトの第２の陰影サブセットおよび第３の陰影サブセットにそれぞれ置き換え、
前記位置が前記低い位置閾値と前記高い位置閾値との間にあることに応答して、前記Ｎ個のスパース・ウエイトのセットのうちの１つの第２のスパース・サブセットおよび第４のスパース・サブセットを、前記陰影ウエイトの第２の陰影サブセットおよび第４の陰影サブセットにそれぞれ置き換える、
動作を実行する命令を含むことを特徴とする請求項２３記載のソフトウェア・プログラム。
【請求項２５】
前記マシンに前記Ｎ個のスパース・ウエイトのセットを置き換える動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記スパース・ウエイトの前記Ｎ個のセットを格納する、
動作を実行する命令を含むことを特徴とする請求項２４記載のソフトウェア・プログラム。
【請求項２６】
前記マシンにスパース更新イネーブルをアサートする動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記遠端入力の短期パワーを推定し、
前記遠端入力の長期パワーを推定し、
前記短期パワーが前記長期パワーの表示より大きいことに応答して前記陰影フィルタの適応をイネーブルにする、
動作を実行する命令を含むことを特徴とする請求項２１記載のソフトウェア・プログラム。
【請求項２７】
前記マシンにスパース更新イネーブルをアサートする動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記メイン・フィルタのための前記メイン結合係数および前記陰影フィルタのための前記陰影結合係数を計算し、
前記メイン結合係数が前記陰影結合係数の表示未満であることに応答して前記ダブルトーク条件を検出する、
動作を実行する命令を含むことを特徴とする請求項２１記載のソフトウェア・プログラム。
【請求項２８】
前記マシンにスパース更新イネーブルをアサートする動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記メイン出力および前記近端入力から決定された前記メイン・エラーの前記メイン・エラー・パワーを推定し、
前記陰影出力および前記近端入力から決定された前記陰影エラーの前記陰影エラー・パワーを推定し、
前記メイン・エラー・パワーが前記陰影エラー・パワーの表示を超過することに応答して前記インパルス応答変更を検出する、
動作を実行するデータ命令を含むことを特徴とする請求項２７記載のソフトウェア・プログラム。
【請求項２９】
前記マシンにスパース更新イネーブルをアサートする動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
検出された前記ダブルトークおよび前記インパルス応答変更を結合し、前記スパース更新イネーブルをアサートする、
動作を実行する命令を含むことを特徴とする請求項２８記載のソフトウェア・プログラム。
【請求項３０】
前記マシンに前記陰影フィルタの適応をイネーブルにする動作を行なわせる前記命令は、前記マシンによってアクセスされたとき、前記マシンが、
前記陰影フィルタのアフィン射影（ＡＰ）の適応を可能にする、
動作を実行する命令を含むことを特徴とする請求項２６記載のソフトウェア・プログラム。
【請求項３１】
エコー・チャンネル中の遠端入力を非適応に濾波するためにＮ個のスパース・ウエイトのセットを備えるＮ個のスパース・フィルタを有するメイン・フィルタであって、前記メイン・フィルタはメイン出力を生成しかつ前記メイン出力と近端入力との差であるメイン・エラーを出力する、メイン・フィルタと、
前記遠端入力を濾波して前記エコー・チャンネル中のインパルス応答変化に適応させる陰影ウエイトを有する陰影フィルタであって、前記陰影フィルタは陰影出力を生成し、前記陰影出力と前記近端入力との差である陰影エラーを出力し、前記スパース・ウエイト中のピークの遅延を推定する、陰影フィルタと、
ダブルトーク条件およびインパルス応答変更の少なくとも１つを検出するために前記メイン・フィルタおよび前記陰影フィルタに結合された制御論理と、を含むシステムであって、前記制御論理は、
前記メイン・フィルタのスパース・ウエイトから計算されたメイン結合係数と前記陰影フィルタの陰影ウエイトから計算された陰影結合係数とに基づく前記ダブルトーク条件、および、陰影エラー・パワーを超過するメイン・エラー・パワーに基づく前記インパルス応答変更の少なくとも１つの検出に応答してメイン・ウエイト更新器にスパース更新イネーブルをアサートするイネーブル生成器、および
前記イネーブル生成器に結合され、前記スパース更新イネーブルに従って陰影フィルタの陰影ウエイトを前記Ｎ個のスパース・ウエイトのセットに転送するメイン・ウエイト更新器、
を含むことを特徴とするシステム。
【請求項３２】
近端から符号化された音声を受信する送信入力デコーダと、
音声圧縮を提供するための送信出力エンコーダと、
を含むことを特徴とする請求項３１記載のシステム。
【請求項３３】
遠端から受信された音声データを圧縮解除する受信機入力デコーダと、
前記エコー・チャンネルからの線形データのサンプルを符号化する受信機出力エンコーダであって、前記符号化された線形データ・サンプルは前記近端へ送出される、受信機出力エンコーダと、
を含むことを特徴とする請求項３２記載のシステム。
【請求項３４】
前記送信入力デコーダは、μ−ＬａｗおよびＡ−Ｌａｗデコーダの１つであることを特徴とする請求項３３記載のシステム。
【請求項３５】
前記送信出力エンコーダは、前記エコー・チャンネルからの音声データを圧縮し、前記圧縮された音声データは前記遠端に送られることを特徴とする請求項３４記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、通信の分野、さらに詳しくは、エコーキャンセルに関する。
【背景技術】
【０００２】
アコースティック・エコーは、電話回路網およびワイヤレス送受器(ハンドセット)のような音声処理機器における設計上の固有の問題である。エコーキャンセルは、送信側のマイクロホンまたはライン上で拾い上げられたエコーを推定することにより、音声伝送中のエコーの量を減少させる技術で、受信側のイヤーピースまたはハンズフリーのスピーカからエコーを差し引く。正確な環境モデルは知られていないが、時間変動、適応型技術がエコーを推定するためによく用いられる。
【０００３】
エコーキャンセルには現実の世界において２つの軽視できない問題、すなわち、ダブルトークおよびラウドスピーカ・エンクロージャ・マイクロホン（ＬＥＭ：Loudspeaker Enclosure Microphone）における変更（変化）に起因するインパルス応答の変化がある。ダブルトーク（double-talk）は、４線式通信システム用の電子送受切換器の遠端および近端ポートの両方からの音声信号の同時発生によって引き起こされる。ＬＥＭ変更（LEM changes）は、話者の移動、環境騒音および温度変動のような様々な局所的な変化によって引き起こされる。これらの２つの問題は、エコー・キャンセラの側に相対立する振る舞いを要求する。ダブルトークは適応ウエイト（adaptive weights）が不変に保持されること、すなわち非適応を要求し、これに対してＬＥＭ変更は迅速な適応を必要とする。さらに、チャンネル・インパルス応答が希薄なとき、その演算は非能率的となり、また正確ではないことがある。
【発明の開示】
【０００４】
本発明はエコー・チャンネル中のスパース・チャンネル（sparse channel）のためのエコー・キャンセラである。エコー・チャンネルは、遠端入力および近端入力を受信する。イネーブル生成器は、ダブルトーク条件およびインパルス応答変更の少なくとも１つの検出に応答してスパース更新イネーブル（sparse update enable）をアサートする。メイン・ウエイト更新器は、スパース更新イネーブルに応答して陰影フィルタ（shadow filter）の陰影ウエイト（shadow weights）をメイン・フィルタのＮ個のスパース・フィルタ（sparse filter）中のＮ個のスパース・ウエイトのセット（sparse weight set）に転送する。スパース・メイン・フィルタ（sparse main filter）は、遠端入力を非適応で濾波し、メイン出力を生成する。ロング陰影フィルタは、遠端入力を適応して濾波し、陰影出力を生成し、かつメイン・フィルタのスパース・ウエイトのピークにおける遅延を推定する。
【０００５】
下記の記述では、多くの特定の詳細な説明が述べられる。しかしながら、本発明の実施例は、これらの特定の詳細な説明がなくても実施することができることを理解すべきである。他の例では、周知の回路、構造および技術は、この記述についての理解を不明瞭にしないために示されていない。
【０００６】
本発明の一実施例の要素は、ハードウェア、ファームウェア、ソフトウェアまたはこれらのあらゆる組合せによって実現される。ソフトウェアで実現される場合、本発明の実施例の要素は、本質的に必要なタスクを実行する命令セグメントである。ソフトウェアは、本発明にある実施例に記述された動作を実行する実際のコード、あるいはその動作をエミュレートするかシミュレートするコードを含んでもよい。このプログラムまたは命令セグメントは、プロセッサまたはマシンアクセス可能な媒体に格納するか、または伝送媒体を介して搬送波中に具現化されたコンピュータ・データ信号、または搬送波によって変調された信号によって送信することができる。「プロセッサ可読なまたはアクセス可能な媒体」または「マシン可読なまたはアクセス可能な媒体」は、情報を格納、送信または転送することができるあらゆる媒体を含む。マシンアクセス可能な媒体の例は、電子回路、半導体記憶装置、リード・オンリ・メモリ（ＲＯＭ）、フラッシュ・メモリ、消去可能なＲＯＭ（ＥＲＯＭ）、フレキシブル・ディスク、コンパクト・ディスク（ＣＤ）ＲＯＭ、光ディスク、ハードディスク、光ファイバー媒体、無線周波数（ＲＦ）リンクなどを含む。コンピュータのデータ信号は、電子ネットワーク・チャンネル、光ファイバー、大気、電磁気、ＲＦリンクなどのような伝送媒体を介して伝播することができるあらゆる信号を含む。命令セグメントは、インターネット、イントラネットなどのようなコンピュータ・ネットワークによってダウンロードすることができる。マシンアクセス可能な媒体は、製品中に具体化されてもよい。マシンアクセス可能な媒体は、マシンによってアクセスされる場合、マシンが下記に記述された動作を実行するデータを含めてもよい。この用語「データ」は、マシンアクセス可能な目的のために符号化されるあらゆるタイプの情報を指す。したがって、それは、プログラム、命令コード、データ、ファイルなどを含めることができる。
【０００７】
本発明の実施例のすべてまたは一部がソフトウェアによって実現されてもよい。ソフトウェアは互いに結合されたいくつかのモジュールを有する。ソフトウェア・モジュールは、変数、パラメータ、引き数、ポインタなどを受信するため、および／または、その結果、更新された変数、ポインタなどを生成しパスするために、別のモジュールに結合される。ソフトウェア・モジュールは、さらにプラットフォーム上で実行するオペレーティング・システムと相互に作用するソフトウェア・ドライバまたはインターフェイスであってもよい。ソフトウェア・モジュールは、さらにハードウェア装置間のデータを形成し、設定し、初期化し、送りかつ受け取るハードウェア・ドライバであってもよい。
【０００８】
本発明の一実施例は、フローチャート、フローダイヤグラム、構造ダイヤグラムまたはブロック図として通常描かれるプロセスとして記述される。フローチャートは動作を連続するプロセスと描くことができるが、その動作の多くはパラレルまたは同時に実行することができる。さらに、その動作の順序は再構成することができる。その動作が完了すると、プロセスは終了する。プロセスは、方法、プログラム、手順などに対応することができる。
【０００９】
図１は、本発明の一実施例が実施されるシステム１００を図示するダイヤグラムである。システム１００は、送信入力デコーダ１１０、エコー・チャンネル１２０、送信出力エンコーダ１３０、受信入力デコーダ１４０、受信出力エンコーダ１５０、ネットワーク１４５、送信入力デコーダ１６０、エコー・チャンネル１７０、送信出力エンコーダ１８０、受信入力デコーダ１９０および受信出力エンコーダ１９５を含む。
【００１０】
送信入力デコーダ１１０は、第１の近端から符号化（エンコード）された音声を受信し、その符号化された音声を線形音声データＳｉｎへ復号化（デコード）する。ある実施例において、送信入力デコーダ１１０はμ−Ｌａｗ／Ａ−Ｌａｗデコーダである。エコー・チャンネル１２０はエコー・キャンセラ１２５を含む。エコー・キャンセラ１２５は、線形データ・サンプルＳｉｎからエコー推定信号を除去し、線形データ・サンプルＳｏｕｔを生成する。送信出力エンコーダ１３０は、パケット化する前に音声圧縮を提供する。ある実施例において、送信出力エンコーダ１３０は、国際電気通信連合電気通信標準化部門（ＩＴＵ）−Ｔで国際的に標準化されたＧ．７ｘｘシリーズを含む低ビット・レート音声（ＬＢＲＶ）用圧縮標準規格のいずれか１つを使用して、エコー・チャンネル１２０からの音声データＳｏｕｔを圧縮するＧ．７ｘｘエンコーダである。圧縮音声データはネットワークによって遠端へ送られる。受信入力デコーダ１４０は、ネットワーク１４５を介して第１の遠端から受け取られた音声データを圧縮解除（逆圧縮）する。圧縮解除技術は、送信出力エンコーダ１３０で使用される圧縮と互換性をもつ。エコー・チャンネル１２０は、受信入力デコーダ１４０からＲｉｎを受信し、Ｒｏｕｔの線形データ・サンプルを送出する。受信出力エンコーダ１５０は、線形データ・サンプルＲｏｕｔを第１の近端に送出するためにμ−ＬａｗおよびＡ−ｌａｗの符号化音声へ符号化する。
【００１１】
ネットワーク１４５は、パケット化されたデータを送信出力エンコーダ１３０、送信入力デコーダ１６０、受信入力デコーダ１４０および受信出力エンコーダ１９５の間で伝送する能力を有するあらゆるネットワークである。ネットワーク１４５は、インターネット、イントラネット、エクストラネット、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）であってもよい。送信入力デコーダ１６０は、ネットワーク１４５から符号化された音声を受信し、その符号化された音声を線形音声データＳｉｎへ復号化する。ある実施例では、送信入力デコーダ１６０は、μ−Ｌａｗ／Ａ−Ｌａｗデコーダである。エコー・チャンネル１７０はエコー・キャンセラ１７５を含む。エコー・キャンセラ１７５は、線形データ・サンプルＳｉｎからエコー推定信号を取り除き、線形データ・サンプルＳｏｕｔを生成する。送信出力エンコーダ１８０はパケット化する前に音声圧縮を行なう。ある実施例において、送信出力エンコーダ１８０は、国際電気通信連合電気通信標準化部門（ＩＴＵ）−Ｔで国際的に標準化されたＧ．７ｘｘシリーズを含む低ビット・レート音声（ＬＢＲＶ）用圧縮標準規格のいずれか１つを使用して、エコー・チャンネル１７０からの音声データＳｏｕｔを圧縮するＧ．７ｘｘエンコーダである。圧縮音声データは第２遠端で受信装置へ送られる。受信入力デコーダ１９０は、第２の遠端から受け取られた音声データを圧縮解除する。圧縮解除技術は、送信出力エンコーダ１８０で使用される圧縮と互換性をもつ。エコー・チャンネル１７０は、受信入力デコーダ１９０からＲｉｎを受信し、Ｒｏｕｔの線形データ・サンプルを送出する。受信出力エンコーダ１９５は、線形データ・サンプルＲｏｕｔをネットワーク１４５の第２の近端に送出するためにμ−ＬａｗおよびＡ−ｌａｗの符号化音声へ符号化する。ある実施例では、送信入力デコーダ１６０、エコー・チャンネル１７０、送信出力エンコーダ１８０、受信入力デコーダ１９０および受信出力エンコーダ１９５は、デジタル信号プロセサ１６５へ集積される。
【００１２】
以下の記述において、上付きのＴは、ベクトルまたは行列の置換（transposition）を表示し、記号＊は乗算を表示し、‖．‖は絶対値を表示する。
【００１３】
図２は、本発明の一実施例に従うエコー・キャンセラ１２５を図示するダイヤグラムである。エコー・キャンセラ１２５は、メイン・フィルタ２１０、減算器２２０、陰影フィルタ２３０、減算器２５０および制御論理２６０を含む。
【００１４】
スパース・メイン・フィルタ２１０は、ショートまたはスパース・フィルタである。それは、遠端入力Ｒｉｎを非適応でまたは適応なしで濾波し、メイン出力ｙｍ（ｋ）を生成する。メイン・フィルタ２１０は、ベクトライザ２１２、乗算器２１４およびウエイト結合器２１６を含む。ベクトライザ２１２は、ベクトルｕ（ｋ）を生成するためにタップされた遅延線によって遠端入力Ｒｉｎを遅らせる。ベクトライザ２１２は、バッファ・メモリ、シフト・レジスタまたは指標付アレイによって実行することができる。乗算器２１４は、ｕ（ｋ）にウエイト結合器２１６によって提供される結合ウエイトＷｃ（ｋ）を掛け、以下のフィルタ・プロセスを達成する。
ｙｍ（ｋ）＝ｕ（ｋ）＊Ｗｃ（ｋ）Ｔ      （１）
【００１５】
ウエイト結合器２１６は、メイン・フィルタ２１０のＮ個のスパース・ウエイトＷｍ１，  Ｗｍ２，．．．，ＷｍＮのセットを組み合わせるか合体させ、結合ウエイトＷｃ（ｋ）を以下のように生成する。
【００１６】
【数１】
0004663323.tif 000002
ここでＮＤは結合距離である。結合距離はダブルトークを検出するために使用され、後述されるであろう。
【００１７】
減算器２２０はメイン出力から近端入力Ｓｉｎを差し引き、以下のようにメイン・エラーｅｍ（ｋ）を生成する。
ｅｍ（ｋ）＝Ｓｉｎ（ｋ）−ｙｍ（ｋ）      （４）
【００１８】
メイン・エラーｅｍ（ｎ）は制御論理によって使用され、スパース・ウエイトＷｍｉ（ｋ）を更新するためのイネーブルを生成する。ここで、ｉ＝１，．．．，Ｎである。
【００１９】
陰影フィルタ２３０は、ロング適応フィルタである。それは、遠端入力Ｒｉｎを適応して濾波し、陰影出力ｙｓ（ｋ）を生成する。ある実施例では、適応ルールは、オーダー２のアフィン射影（ＡＰ：Affine Projection）、ＡＰ（２）または更新ルールである。陰影フィルタ２３０は、ベクトライザ２３２、乗算器２３４、陰影ウエイトＷｓｈ２４０および陰影ウエイト更新器２４５を含む。ベクトライザ２３２は、遅延線２１２に近似し、メイン・フィルタ２１０と共有することができる。ベクトライザ２３２は、タップされた遅延線によって遠端入力Ｒｉｎを遅延させ、ベクトルｕ（ｋ）を生成する。乗算器２３４は、ベクトルｕ（ｋ）に陰影ウエイトＷｓｈ２４０を掛け、フィルタ・プロセスを以下のように実行する。
ｙｓ（ｋ）＝ｕ（ｋ）＊Ｗｓｈ（ｋ）Ｔ      （５）
【００２０】
陰影ウエイト更新器２４５は、制御論理２６０によって可能にされたとき、ＡＰ（２）適応規則を使用して、陰影ウエイトＷｓｈを更新する。
【００２１】
減算器２５０は、陰影出力ｙｓ（ｋ）から近端入力Ｓｉｎを差し引き、以下のように、陰影エラーｅｓ（ｋ）を生成する。
ｅｓ（ｋ）＝Ｓｉｎ（ｋ）−ｙｓ（ｋ）      （６）
【００２２】
制御論理２６０は陰影エラーｅｓ（ｋ）を使用し、スパース更新イネーブルを生成する。さらに、ＡＰ（２）規則を使用して、陰影ウエイトＷｓｈを更新するために以下のように使用される。
【００２３】
【数２】
0004663323.tif 000003
ここで、Ｕ（ｋ）は、Ｐの過去のベクトルＵ（ｋ）＝［ｕ（ｋ−１），ｕ（ｋ−２），．．．，ｕ（ｋ−Ｐ）］の集合である。
【００２４】
制御論理２６０は、濾波動作およびメインおよび陰影フィルタ２１０，２３０のウエイト更新を制御する多くの機能を行なう。制御論理は、遠端入力Ｒｉｎおよびメインと陰影エラーｅｍ（ｋ），ｅｓ（ｎ）を受信する。制御論理２６０は、イネーブル生成器２６２およびメイン・ウエイト更新器２６５を含む。イネーブル生成器２６２は、陰影更新イネーブルを生成し、陰影フィルタ２３０中の陰影ウエイト更新器２４５をイネーブルにする。さらに、それはメイン・ウエイト更新器２６５をイネーブルにするスパース更新イネーブルを生成する。それは、エコー・チャンネルのラウドスピーカ・エンクロージャ・マイクロホン（ＬＥＭ）の条件のようなダブルトーク条件およびインパルス応答の変化の少なくとも１つを検出することに応答してスパース更新イネーブルをアサートする。メイン・ウエイト更新器２６５は、スパース更新イネーブルがアサートされたとき、陰影ウエイトＷｓｈ２４０のサブセットを使用して、メイン・フィルタ２１０のＮ個のスパース・フィルタ中のＮ個のスパース・ウエイトのセットを更新する。
【００２５】
図３は、本発明の一実施例に従う図２に示されるイネーブル生成器２６２を図示するダイヤグラムである。イネーブル生成器２６２は、陰影更新イネーブル生成器３０１およびスパース更新イネーブル生成器３０２を含む。
【００２６】
陰影更新イネーブル生成器３０１は陰影更新イネーブルを生成する。陰影更新イネーブルによって、アサートされると、陰影ウエイト更新器２４５（図２）は陰影ウエイトＷｓｈ２４０（図２）を更新することができる。それは短期パワー推定器３１０、長期パワー推定器３２０および適応イネーブラ３３０を含む。短期パワー推定器３１０は、遠端入力Ｒｉｎの短期パワーｐｓを以下のように推定する。
【００２７】
【数３】
0004663323.tif 000004
ここで、γｒとγｆは、１−（１／２４）および１−（１／２４０）それぞれの典型的な値を有する過去のサンプル数に関連する時定数であり、Ｍは陰影フィルタのタップの数であり、Ｍ１は各スパース・フィルタのタップの数である。ある実施例では、Ｍ＝５１２＋ＮＤ＝５４４およびＭ１＝１２８である。
【００２８】
長期パワー推定器３２０は、遠端入力Ｒｉｎの長期パワーｐＬを以下のように推定する。
もし、ｐＳ（ｋ）＞ｒ１ｐＬ（ｋ−１）なら、そのときｐＬ（ｋ）＝（１−α）ｘ１（ｋ）＋αｐＬ（ｋ−１）      （１３）
それ以外なら  ｐＬ（ｋ）＝ｐＬ（ｋ−１）      （１４）
ここで、ｒ１は４から１０が典型的な値である正の整数である。
【００２９】
適応イネーブラ３３０は、陰影更新イネーブルを生成する。それは、長期的なパワーｐＬの表示を超過する短期パワーｐＳに応答して、陰影フィルタ２３０の適応をイネーブルにする陰影更新イネーブルをアサートする。ｒ１が正の整数である場合、長期パワーの表示は長期パワーの倍数、例えばｒ１ｐＬである。言いかえれば、陰影ウエイトＷｓｈ（ｋ）は、ｐＳ＞ｒ１ｐＬのとき、更新される。ある実施例では、ｒ１は４から１０までの範囲である。
【００３０】
スパース更新イネーブル生成器３０２は、遅延係数生成器３４０、ダブルトーク検出器３５０、メイン・エラー・パワー推定器３６０、陰影エラー・パワー推定器３７０、インパルス応答変更検出器３８０および結合器３９０を含む。遅延係数生成器３４０は、メイン・フィルタ２１０のためのメイン結合係数βｍおよび陰影フィルタ２３０のための陰影結合係数βｓを以下のように計算する。
βｍ＝（Ｍ／ＮＤ）＊［Ｗｍ（１：ＮＤ）＊Ｗｍ（１：ＮＤ）Ｔ］        （１５）
βｓ＝（Ｍ／ＮＤ）＊［Ｗｓｈ（１：ＮＤ）＊Ｗｓｈ（１：ＮＤ）Ｔ］  （１６）
ここで、Ｗｍ（１：ＮＤ）およびＷｓｈ（１：ＮＤ）は、スパース・ウエイトおよび陰影ウエイトの第１のＮＤウエイトに関連し、ＮＤは、フィルタ・サイズＭおよびＭ１に依存する値を備える結合距離である。ある実施例において、Ｍ＝５４４、Ｍ１＝１２８およびＮＤ＝３２である。
【００３１】
ダブルトーク検出器は、陰影結合係数βｓの表示を超過するメイン結合係数βｍに応答してダブルトーク条件を検出する。ｒ２が正の整数である場合、陰影結合係数βｓの表示は、βｓの倍数、つまりｒ２＊βｓである。ある実施例において、ｒ２＝２である。言いかえれば、その条件はβｍ＞２＊βｓである。ダブルトーク検出器３５０は、ダブルトーク条件の検出に応答してダブルトーク・イネーブルをアサートする。
【００３２】
メイン・エラー・パワー推定器３６０は、メイン・エラーｅｍ（ｋ）のメイン・エラー・パワーｅｐｍを以下のように推定する。
【００３３】
【数４】
0004663323.tif 000005
ここで従前のように、γｒとγｆは定義される。
【００３４】
陰影エラー・パワー推定器３７０は、陰影エラーｅｓ（ｋ）の陰影エラー・パワーｅｐｓを以下のように推定する。
【００３５】
【数５】
0004663323.tif 000006
【００３６】
変更検出器３８０は、陰影エラー・パワーｅｐｓの表示を超過するメイン・エラー・パワーｅｐｍに応答してインパルス応答変更条件を検出する。ｒ３が正の整数である場合、陰影エラー・パワーｅｐｓの表示はｅｐｓの倍数（例えばｒ３ｅｐｓ）である。ある実施例において、ｒ３＝１００である。言いかえれば、ｅｐｍ＞ｒ３ｅｐｓであるとき、インパルス応答変更が検出される。変更条件が検出されるとき、または変更条件の検出に応答して、変更検出器３８０は変更イネーブルをアサートする。
【００３７】
ダブルトーク検出器３５０およびＬＥＭ検出器３８０によってそれぞれアサートされるとき、結合器３９０は検出されたダブルトークおよびＬＥＭ変更条件を結合し、スパース更新イネーブルをアサートする。これらの条件のいずれか１つがアサートされる場合、メイン・ウエイト更新器によってメイン・フィルタ２１０中のＮ個のスパース・ウエイトのセットを更新することができる。ある実施例において、結合器３９０は論理和演算子である。
【００３８】
図４は、本発明の一実施例に従う図２中に示されるメイン・ウエイト更新器２６５を図示するダイヤグラムである。メイン・ウエイト更新器２６５は、ピーク検出器４１０およびスパース・ウエイト更新器４２０を含む。
【００３９】
ピーク検出器４１０は、陰影ウエイトＷｓｈ２４０（図２）中のＮ個のピークにおけるＮ個のピーク位置を検出する。ピーク検出器４１０は、陰影バッファ４１２、最大ファインダ４１４およびローカル・ヌリファイア４１６を含む。プロセスが最初からスタートするとき、陰影バッファ４１２は陰影ウエイトＷｓｈ２４０を格納する。陰影バッファ４１２は、ピーク検出器４１０の動作中に更新される。最大ファインダ４１４は、陰影ウエイトＷｓｈの最大の絶対値の場所を識別し発見する。この場所はＮ個のピーク位置の１つに対応する。ピーク位置が見つけられ識別されると、ヌリファイア４１６はその場所の近くに位置する陰影ウエイトＷｓｈのサブセットを無効にする。このサブセットはその場所の付近に中心が置かれる。サブセットの幅Ｗは、スパース・フィルタのサイズＭに依存する。ある実施例において、Ｍは８０−１３０の範囲およびＷ＝５０である。その後、無効にされたサブセットは、そのとき、陰影バッファ４１２に書き戻され、最大ファインダ４１４は更新された陰影バッファ４１２中の次のピークを捜し続ける。ピーク位置が検出される度に、ピーク検出器４１０はスパース・ウエイト更新に使用される場所を保存する。典型的には、検出されるピーク数は、スパース・ウエイトＷｍｉ’ｓセット数に等しい。
【００４０】
スパース・ウエイト更新器４２０は、Ｎ個のピーク位置に従って、陰影ウエイトＷｍｉ’ｓに基づくかあるいは用いてＮ個のスパース・ウエイトのセットを交換する。スパース・ウエイト更新器４２０は、閾値比較器４３０、第１の更新器４４１、第２の更新器４４２、第３の更新器４４３およびスパース・ウエイト・バッファ４５０を含む。
【００４１】
Ｎ個のスパース・ウエイトのセットを交換する方法を決定するために、閾値比較器４３０は、ピークの場所ｊを、低い位置閾値（location threshold）ＴＬおよび高い位置閾値ＴＨと比較する。本質において、スパース・ウエイトＷｍｉ（ｋ）は陰影ウエイトＷｓｈのサブセットと交換される。そのサブセットは、場所索引によって以下のように識別される。
第１サブセット：１とＭ１＋ＮＤの間のインデックスｋに対する、ここでＮＤは結合距離である。
第２サブセット：１とＮＤの間のインデックスｋに対する。
第３サブセット：Ｍ−Ｎ１＋１≦ｋ≦Ｍのインデックスｋに対する。
第４サブセット：ｊ−Ｍ１／２とｊ＋Ｍ１／２との間のインデックスｋに対する、つまり、ｊはピーク位置で、第４のサブセットの中心である。
【００４２】
スパース・フィルタＷｍｉ（ｋ）の置換または更新は次の方程式に従って行なわれる。
If  ｊ≦ＴＬ，then
Ｗｍｉ（ｋ）＝Ｗｓｈ（ｋ）  for  １≦ｋ≦Ｍ１＋ＮＤ（第１サブセット），and
Ｗｍｉ（ｋ）＝０  otherwise
If  ｊ≧ＴＨ，then
Ｗｍｉ（ｋ）＝Ｗｓｈ（ｋ）  for  １≦ｋ≦ＮＤ（第２サブセット），and  Ｍ−Ｍ１＋１≦ｋ≦Ｍ（第３サブセット），and
Ｗｍｉ（ｋ）＝０  otherwise
If  ＴＨ＜ｊ＜ＴＬ，then
Ｗｍｉ（ｋ）＝Ｗｓｈ（ｋ）  for  １≦ｋ≦ＮＤ（第２サブセット），and  ｊ−Ｍ１／２≦ｋ≦ｊ＋Ｍ１／２（第４サブセット），and
Ｗｍｉ（ｋ）＝０  otherwise.
【００４３】
第１の更新器４４１は、Ｎ個のスパース・ウエイトのセットにおける１つである第１のスパース・サブセットを、低い位置閾値ＴＬ未満である場所に応答して、陰影ウエイトの第１の陰影サブセットに置き換える。第２の更新器４４２は、Ｎ個のスパース・ウエイトのセットの１つである第２のスパース・サブセットおよび第３のスパース・サブセットを、高い位置閾値ＴＨを超過する場所に応答して、陰影ウエイトの第２の陰影サブセットおよび第３の陰影サブセットのそれぞれに置き換える。第３の更新器４４３は、Ｎ個のスパース・ウエイトのセットの１つである第２のスパース・サブセットおよび第４のスパース・サブセットを、低い位置閾値ＴＬと高い位置閾値ＴＨとの間にある場所に応答して、陰影ウエイトの第２の陰影サブセットおよび第４の陰影サブセットのそれぞれに置き換える。第４の陰影サブセットはその場所の付近に中心が置かれる。
【００４４】
図５は、本発明の一実施例に従うエコーキャンセルを行なうためのプロセス５００を図示するフローチャートである。
【００４５】
スタートに際して、プロセス５００は、メイン・フィルタおよび陰影フィルタをそれぞれ使用して、メイン出力および陰影出力を生成する（ブロック５１０）。これは、遠端入力を遅らせることにより達成され、遅延した遠端入力にそれぞれのフィルタ・ウエイトを乗算する。次に、プロセス５００は、メイン・エラーおよび陰影エラーを計算する（ブロック５１５）。これは、メイン出力および陰影出力からそれぞれ近端入力を差し引くことにより達成される。
【００４６】
その後、プロセス５００は、遠端入力の短期および長期パワーを推定する（ブロック５２０）。次に、プロセス５００は、陰影更新が可能かどうかを判断する（ブロック５２５）。これは、短期パワーを、長期パワーの表示と比較することにより達成される。陰影更新が可能である場合、プロセス５００はＡＰ適応規則を使用して、陰影ウエイトを更新する（ブロック５３５）。そうでなければ、プロセス５００は、同じ陰影ウエイトを維持する（ブロック５３０）。
【００４７】
次に、プロセス５００は、メインと陰影の結合係数を生成する（ブロック５４０）。その後、プロセス５００は、ダブルトーク条件が検出されたかどうか検出する（ブロック５４５）。これは、メイン結合係数を、陰影結合係数の表示と比較することにより達成される。ダブルトーク条件が検出される場合、プロセス５００は、Ｎ個のスパース・ウエイトのセットを更新し（ブロック５６０）、プロセス５００は終了する。そうでなければ、プロセス５００は、メインおよび陰影エラー・パワーを推定する（ブロック５５０）。その後、プロセス５００は、インパルス応答の変更条件が検出されたかどうかどうかを判断する（ブロック５５５）。これは、メイン・エラー・パワーを、陰影エラー・パワーの表示と比較することにより達成される。インパルス応答の変更条件が検出されている場合、プロセス５００は、Ｎ個のスパース・ウエイトのセットを更新し（ブロック５６０）、次に、その後終了する。そうでなければ、プロセス５００は、Ｎ個のスパース・ウエイトの同じセットを維持し、次に終了する。
【００４８】
図６は、本発明の一実施例に従う図５で示されるスパース・ウエイトのセットを更新するためにプロセス５６０を図示するフローチャートである。
【００４９】
スタートに際して、プロセス５６０は、陰影ウエイトの最大の絶対値を識別しまたは見つけ、保存する（ブロック６１０）。この場所は、陰影ウエイト中のピーク位置に対応する。次に、プロセス５６０は、その位置を中心とする位置の周辺にあるローカルのサブセットを無効にする（ブロック６１５）。その後、プロセス５６０は、すべてのセットが処理されたかどうかを判断する（ブロック６２０）。そうでなければ、プロセス５６０は、次のピーク位置を捜し続けるために、ブロック６１０に戻る。
【００５０】
すべてのセットが処理されている場合、プロセス５６０は、第１のピーク位置から開始する（ブロック６２５）。次に、プロセス５６０は、ピーク位置が低い位置閾値未満かどうか決める（ブロック６３０）。そうならば、プロセス５６０は、スパース・ウエイトの第１のサブセットを更新し（ブロック６３５）、ブロック６６０へ進む。そうでなければ、プロセス５６０は、ピーク位置が高い位置閾値より大きいか、または越えているかどうかを判断する（ブロック６４０）。そうならば、プロセス５６０は、スパース・ウエイトの第２および第３のサブセットを更新し（ブロック６４５）、ブロック６６０へ進む。そうでなければ、プロセス５６０は、スパース・ウエイトの第２および第４のサブセットを更新する（ブロック６５０）。
【００５１】
その後、プロセス５６０は、すべてのピーク位置が処理されたかどうかを判断する（ブロック６６０）。そうでなければ、プロセス５６０は、次のピーク位置へ進み（ブロック６６５）、ブロック６３０へ戻る。すべてのピーク位置が処理されると、プロセス５６０は終了する。
【００５２】
図７−図１１は、シミュレーションの結果を示す。パラメータは、最初の１０００００回の反復のために８、１６０および３２０の遅延を備えた３つのタイプ１フィルタに対してＭ＝５１２＋３２＝５４４およびＭ１＝１４０であり、その後８８、２４０および４００の遅延を備えたフィルタで行なわれた。
【００５３】
図７は、本発明の一実施例による２００Ｋ回の反復の後に結合メイン・ウエイトを図示するダイヤグラムである。図８は、本発明の一実施例に従ってスムーズにされた平均二乗誤差（ＭＳＥ）を図示するダイヤグラムである。図９は、本発明の一実施例に従って遅延係数を使用して、ダブルトーク条件を図示するダイヤグラムである。この図において、ｚ＝βｍ（ｋ）−２βｓ（ｋ）である。図１０は、本発明の一実施例に従ってスムーズにされたＬＥＭ変更条件を図示するダイヤグラムである。この図において、ｚ１＝ｅｐｍ−ｒ３ｅｐｓである。図１１は、本発明の一実施例に従って反復１０４８００から１０６８００でスムーズにされたＬＥＭ変更条件を図示するダイヤグラムである。
【００５４】
図８は、いくつかの局面があることを示す。０から３５，０００回の反復における第１段階中に、陰影フィルタはチャンネル・インパルス応答を学習する。制御論理は、約４０デシベルから０デシベルへ減少するメイン・フィルタＭＳＥ（ｅｓｑｔａ）に反映して適切なウエイトをメイン・フィルタに転送する。３５，０００回から９９，０００回の反復における第２段階では、ダブルトークが現われ、図９および図１０で示されるようなダブルトーク検出器およびＬＥＭ検出器の両方によって検出される。メイン・チャンネル・フィルタ・ウエイトは、Ｗｓｈがダブルトークに適合している間、凍結される。１００，０００回から１２５，０００回の反復における第３段階では、ダブルトーク条件は消え、ＬＥＭ変更が生じる。陰影フィルタは、ＬＥＭ変更を学習し、新しいウエイト設定をメイン・チャンネル・フィルタに転送する。この手順は、最初、約１０４，０００回の反復でダブルトーク検出（図９参照）を生じ、１０３Ｋ回の反復でおよび約１０５Ｋ回の反復で再びＬＥＭ変更（図１１参照）を生じる。従って、最初のＬＥＭ変更の過渡が約５／８秒で消える。ＭＳＥが減少し続けると、陰影フィルタは適合し続ける（図８参照）。第１の学習局面と比較して、取り消し（cancellation）が４０ｄＢから１０ｄＢまであることに注意すること。しかしながら、これは恐らく減少した学習時間による。追加のトレーニング・サンプルによって取り消しの動作をもっと減少させることができる。
【００５５】
本発明はいくつかの実施例の点から説明されているが、当業者は、本発明が記述された実施例に制限されることはなく、付帯した請求項の精神およびその範囲内における修正および変更で実施することができることを認識するであろう。ここにおける記述は、制限するのではなく、実施例として扱われるべきである。
【図面の簡単な説明】
【００５６】
本発明は本記述および添付図面を参照することにより最もよく理解され、本発明の実施例を図示するために用いられる。
【図１】本発明の一実施例が実施されるシステムを図示するダイヤグラムである。
【図２】本発明の一実施例に従ってエコー・キャンセラを図示するダイヤグラムである。
【図３】本発明の一実施例に従って図２に示されるイネーブル生成器を図示するダイヤグラムである。
【図４】本発明の一実施例による図２の中で示されるメイン・ウエイトの更新を図示するダイヤグラムである。
【図５】本発明の一実施例に従ってエコーキャンセルを実行するためのプロセスを図示するフローチャートである。
【図６】本発明の一実施例に従って図５に示されるスパース・ウエイト・セットを更新するためのプロセスを図示するフローチャートである。
【図７】本発明の一実施例に従って２００Ｋ回の反復の後に結合したメイン・ウエイトを図示するダイヤグラムである。
【図８】本発明の一実施例に従ってスムーズにされた平均二乗誤差（ＭＳＥ）を図示するダイヤグラムである。
【図９】本発明の一実施例に従って遅延係数を使用して、ダブルトーク条件を図示するダイヤグラムである。
【図１０】本発明の一実施例に従ってスムーズにされたＬＥＭ変更の条件を図示するダイヤグラムである。
【図１１】本発明の一実施例に従って１０４８００から１０６８００回の反復でスムーズにされたＬＥＭ変更の条件を図示するダイヤグラムである。
【図１】
0004663323.tif 000007
【図２】
0004663323.tif 000008
【図３】
0004663323.tif 000009
【図４】
0004663323.tif 000010
【図５】
0004663323.tif 000011
【図６】
0004663323.tif 000012
【図７】
0004663323.tif 000013
【図８】
0004663323.tif 000014
【図９】
0004663323.tif 000015
【図１０】
0004663323.tif 000016
【図１１】
0004663323.tif 000017