エコーキャンセラ向けのNormalized LMSアルゴリズムの改良
- エコーキャンセラにNormalized LMS(NLMS)アルゴリズムを適用すると,ダブルトーク状態においてLMSアルゴリズムよりも収束特性が劣ることが知られています. しかし,わずかな改良によりNLMSアルゴリズムはダブルトーク状態でも良好なエコー消去量を維持することが出来ます. この改良NLMSアルゴリズムを用いると,後付けのダブルトーク検出処理とそれに基づく回線利得制御等は不要になります.
PDF資料 nlms_txt.pdf (492KB)
PDF資料 nlms_txt_data.pdf (下記のwavファイルを埋込済,3301KB)
- 上記のシミュレーション結果のwavファイルの先頭約18秒分のスペクトログラム
- エコーキャンセラ無し nlms_data1(off).wav (782KB)
- エコーキャンセラが無いなので、男声と女声(エコー成分)が完全に混じり合っています
- LMSアルゴリズム nlms_data2(lms).wav (782KB)
- 除去しきれなかったエコー成分(女声)がゴモゴモした異音のように聞こえます
- ステップサイズ・パラメータμを小さくするとエコーが小さくなりますが、代わりに収束が大幅に遅くなります
- 改良NLMSアルゴリズム nlms_data3(improved_nlms).wav (782KB)
- LMSより初期の収束は遅くなっていますが、エコー減衰量は良好です
- ステップサイズ・パラメータμの値を変えると、特性のバランス(収束速度 vs. エコー減衰量)が変化します
- 良くある質問とその答
- Q1.従来の Normalized LMS (NLMS) アルゴリズムと何が違うのか?
- A1.
- エコーキャンセラへの応用において生じる、いわゆるダブルトーク状態の存在を前提とした改良を従来の Normalized LMS (NLMS) アルゴリズムに加えたものです.
- 後付けのダブルトーク対応処理(ダブルトーク状態検出、回線利得制御等)を不要とすることが可能となります.(ただし使用条件による)
- わずかな演算量の増加で、リーズナブルな効果が得られます.
- Q2.ダブルトーク状態のエコーキャンセラの動作特性改善を目的としたLMS/NLMSベースの適応アルゴリズムは他にも多数あるが、それらとは何が違うのか?
- A2.
- 技術的なトーレドオフが明らかになっていることが最大の特徴です. 音声処理としての評価が甘い怪しげな「魔法のアルゴリズム」ではありません.
- 利点としてダブルトーク状態での収束特性が向上しますが、その代償として適応初期の収束速度が遅くなるとともに、ダブルトーク状態で無い場合のエコー消去量が低下します.
- 処理の前提条件となっているのは、異なる話者の音声のパワーは無相関に変動しているという自明の事実です. 現実の音声では成り立ちがたい仮定・前提条件に依存した複雑精緻な処理ではありません. 単純なアルゴリズムですが、安定して動作します.
- Q3.デメリット(適応初期の収束速度低下等)があるということは、性能が悪いということではないのか?
- A3.
- LMS/NLMSを部分的に改良しただけで、外乱・ノイズがあるのに(ダブルトーク状態なのに)一切のデメリット無しに収束特性が向上する「魔法のアルゴリズム」など原理的に有り得ません.
- きちんと理論的なメリットとデメリットが明らかになっているということは、過去の技術には無かった当社の改良NLMSアルゴリズムの好ましい特徴です.
- Q4.NLMSの改良版であるにもかかわらず、PDF資料の中ではLMSアルゴリズムを比較対象としているのは何故か? NLMSアルゴリズムと比較するべきではないのか?
- A4.
- ダブルトーク状態においては従来のNLMSアルゴリズムの収束特性はLMSよりも劣ることが知られています. したがってダブルトーク状態の収束特性を比較する対象は、より特性の良いLMSアルゴリズムとしなければなりません.(査読付学術論文にも評価のいい加減なものがあります)
- Q5.他のLMS/NLMSアルゴリズムを用いたエコー・キャンセラと比較して、PDF資料に示されている改良NLMSの収束が非常に遅いのではないか?
- A5.
- エコー・キャンセラ製品のカタログや学術論文等では意図的に甘い条件で評価・シミュレーションをおこなっていることが多いようです. 比較は同一の条件でおこなわなければ意味がありません. 当社のPDF資料の中の同一条件でシミュレーションをおこなっているLMSアルゴリズムの収束特性と(当社の)改良NLMSアルゴリズムの収束特性を比較してください.
- エコー・キャンセラ製品のカタログにしばしば見られる、「エコー消去時間 XX ms」・「エコー除去量 XX dB」というスペック表記は測定条件が明らかでない限り無意味です. カタログ・スペックは気休め程度に考えてください.
- Q6.改良NLMSアルゴリズムはどのようなアプリケーションに適用出来るのか?
- A6.
- 現在、LMS/NLMSベースのアルゴリズムが用いられているアプリケーションの性能改善に向いています. 比較的ローエンドのアプリケーション向けです.
- ハンズフリー・インターホンや個人向けのTV電話システム等への応用が考えられます.
- 一般的な電話は現在ある手法、エコーキャンセラ製品で間に合っているので、新たな技術を導入する必要性は低いかもしれません. 現状の製品で性能が不十分なのであれば、採用を検討してみる価値はあります.
- 残響の多い部屋に複数の参加者が集まって使用する法人向けTV会議システム等は(システム全体の単価が高く)コストの制約が緩いため、大きな演算量を必要とするより複雑・高性能なアルゴリズムを用いた方が良い場合もあるでしょう.
- Q7.上記の答だけではよく分からない. 技術的な内容をもう少し具体的に教えて欲しい.
- A7.
- すでにLMS/NLMSアルゴリズムをベースとしたエコーキャンセラを使用されていて、その性能に不満がなければ改良NLMSを用いる必要性はありません.
- ダブルトーク状態でのエコー抑圧性能低下の問題、およびそれに対処するための後付けのダブルトーク検出・回線利得制御等の処理に関してお困りでしたら、改良NLMSの採用を検討する価値があると思われます. 改良NLMSを用いれば、後付けのダブルトーク対応処理無しで良好な収束特性を得られる可能性があります.
- 一般に市販のエコーキャンセラIP(ソフトウェア・ライブラリ)にはダブルトーク対応処理は含まれていません. ダブルトーク状態での収束性能低下を補うためのダブルトーク検出・回線利得制御等の処理はユーザー側が付け加えることになっています. あるいはベンダーがカスタム対応でダブルトーク対応処理付加に関して有償のサポートをすることが可能であっても、一切の性能保証はしないのが普通です.
- 改良NLMSはもともとダブルトーク状態の存在を想定したアルゴリズムですので、適応信号処理(適応フィルタ)の利点を損なう後付けのダブルトーク対応処理は不要です. ごく少数のパラメータの設定(ステップサイズ・パラメータμと積分定数の2つだけ)で、使用状況に応じた最適な動作特性の設定が可能です.
- ダブルトークがまったく生じないのであれば、改良NLMSを用いるメリットはありません.
- Q8.製品化の予定はどうなっているのか? 特定のプロセッサへの実装は可能か?
- A8.
- 現在、ソフトウェアIPとして製品化の準備中です. ご要望に応じて任意のプロセッサへの実装を承ります.
- FPGAへの実装、LSIのハードウェアIP化も可能です.