(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008271
(43)【公開日】2024-01-19
(54)【発明の名称】エコー抑圧装置、エコー抑圧方法及びエコー抑圧プログラム
(51)【国際特許分類】
H04B 3/23 20060101AFI20240112BHJP
【FI】
H04B3/23
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022109997
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】391008559
【氏名又は名称】株式会社トランストロン
(74)【代理人】
【識別番号】100170070
【弁理士】
【氏名又は名称】坂田 ゆかり
(72)【発明者】
【氏名】里見 祐樹
【テーマコード(参考)】
5K046
【Fターム(参考)】
5K046AA01
5K046BA05
5K046BB01
5K046HH11
5K046HH24
5K046HH37
5K046HH44
5K046HH79
(57)【要約】
【課題】誤った学習を行っていない適切な適応フィルタを用いてエコー除去を行うことができる。
【解決手段】スピーカとマイクロホンとを有する端末のうちのマイクロホンにより収音された入力信号からエコーを除去するエコー抑圧装置である。スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整部と、複数の遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成部と、複数の収束値を比較し、遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を収束値よりも小さくするフィルタ修正部と、入力信号にフィルタ修正部により修正された適応フィルタを適用することにより線形エコーを除去するエコー除去部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
スピーカとマイクロホンとを有する端末のうちの前記マイクロホンにより収音された入力信号からエコーを除去するエコー抑圧装置であって、
前記スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整部と、
複数の前記遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成部と、
複数の前記収束値を比較し、前記遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を前記収束値よりも小さくするように前記適応フィルタを修正するフィルタ修正部と、
前記入力信号に前記フィルタ修正部により修正された適応フィルタを適用することにより線形エコーを除去するエコー除去部と、
を備えたことを特徴とするエコー抑圧装置。
【請求項2】
前記フィルタ修正部は、前記第1フィルタ係数を0にする
ことを特徴とする請求項1に記載のエコー抑圧装置。
【請求項3】
前記フィルタ修正部は、前記第1フィルタ係数を、前記収束値から徐々に小さくする
ことを特徴とする請求項1又は2に記載のエコー抑圧装置。
【請求項4】
前記フィルタ修正部は、前記遅延時間の変化に応じて変化しない要素のうち、前記収束値が閾値以上である場合のフィルタ係数を前記第1フィルタ係数とする
ことを特徴とする請求項1から3のいずれか一項に記載のエコー抑圧装置。
【請求項5】
前記フィルタ修正部は、前記収束値に基づいて前記閾値を求める
ことを特徴とする請求項4に記載のエコー抑圧装置。
【請求項6】
前記参照信号調整部は、前記参照信号を取得している間、連続して複数の前記遅延参照信号を生成し、
前記フィルタ生成部は、連続して複数の前記収束値を得、
前記フィルタ修正部は、連続して前記適応フィルタを修正する
ことを特徴とする請求項1から5のいずれか一項に記載のエコー抑圧装置。
【請求項7】
シングルトーク状態かダブルトーク状態かを検知するダブルトーク検知部を備え、
前記参照信号調整部は、前記ダブルトーク状態であることが検知されなかった場合には、複数の前記遅延参照信号を生成する
ことを特徴とする請求項6に記載のエコー抑圧装置。
【請求項8】
前記参照信号調整部は、前記エコー除去部が線形エコーを除去するよりも前に一度だけ前記遅延参照信号を生成する
ことを特徴とする請求項1から5のいずれか一項に記載のエコー抑圧装置。
【請求項9】
スピーカとマイクロホンとを有する端末のうちの前記スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整ステップと、
複数の前記遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成ステップと、
複数の前記収束値を比較し、前記遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を前記収束値よりも小さくするように前記適応フィルタを修正するフィルタ修正ステップと、
前記マイクロホンにより収音された入力信号に前記フィルタ修正ステップにより修正された適応フィルタを適用することにより線形エコーを除去するエコー除去ステップと、
を含むことを特徴とするエコー抑圧方法。
【請求項10】
コンピュータを、
スピーカとマイクロホンとを有する端末の前記スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整部、
複数の前記遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成部、
複数の前記収束値を比較し、前記遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を前記収束値よりも小さくするように前記適応フィルタを修正するフィルタ修正部、
前記マイクロホンにより収音された入力信号に前記フィルタ修正部により修正された適応フィルタを適用することにより線形エコーを除去するエコー除去部、
として機能させることを特徴とするエコー抑圧プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エコー抑圧装置、エコー抑圧方法及びエコー抑圧プログラムに関する。
【背景技術】
【0002】
特許文献1には、受信信号に第1フィルタ係数又は第2フィルタ係数を畳み込むことで第1および第2エコーレプリカ信号を生成し、第1エコーレプリカ信号の通話周波数帯域の信号をエコーキャンセラ信号として出力するエコーキャンセラ装置が開示されている。この装置では、入力音信号中の任意の計測周波数の信号から第2エコーレプリカ信号を差し引いた信号が最小化するよう第2フィルタ係数を補正するとともに、当該第2フィルタ係数と予め組にされている第1フィルタ係数を求めることでフィルタ係数を設定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の発明では、適応フィルタの係数の学習において誤った解に陥った場合には十分なエコー抑圧量が確保できない場合がある。
【0005】
本発明はこのような事情を鑑みてなされたもので、誤った学習を行っていない適切な適応フィルタを用いてエコー除去を行うことができるエコー抑圧装置、エコー抑圧方法およびエコー抑圧プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係るエコー抑圧装置は、例えば、スピーカとマイクロホンとを有する端末のうちの前記マイクロホンにより収音された入力信号からエコーを除去するエコー抑圧装置であって、前記スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整部と、複数の前記遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成部と、複数の前記収束値を比較し、前記遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を前記収束値よりも小さくするように前記適応フィルタを修正するフィルタ修正部と、前記入力信号に前記フィルタ修正部により修正された適応フィルタを適用することにより線形エコーを除去するエコー除去部と、を備えたことを特徴とする。
【0007】
本発明の別の態様に係るエコー抑圧方法は、例えば、スピーカとマイクロホンとを有する端末のうちの前記スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整ステップと、複数の前記遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成ステップと、複数の前記収束値を比較し、前記遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を前記収束値よりも小さくするように前記適応フィルタを修正するフィルタ修正ステップと、前記マイクロホンにより収音された入力信号に前記フィルタ修正ステップにより修正された適応フィルタを適用することにより線形エコーを除去するエコー除去ステップと、を含むことを特徴とする。
【0008】
本発明の別の態様に係るエコー抑圧プログラムは、例えば、コンピュータを、スピーカとマイクロホンとを有する端末の前記スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する参照信号調整部、複数の前記遅延参照信号のそれぞれに基づいて複数の適応フィルタの収束値を得るフィルタ生成部、複数の前記収束値を比較し、前記遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を前記収束値よりも小さくするように前記適応フィルタを修正するフィルタ修正部、前記マイクロホンにより収音された入力信号に前記フィルタ修正部により修正された適応フィルタを適用することにより線形エコーを除去するエコー除去部、として機能させることを特徴とする。
【0009】
本発明の複数の態様によれば、スピーカへ信号を伝送する受話側信号経路を伝達される参照信号に、互いに異なる複数の遅延時間を与えて生成した複数の遅延参照信号に基づいて複数の適応フィルタの収束値を得、複数の収束値を比較した結果、遅延時間の変化に応じて変化しない要素についてのフィルタ係数である第1フィルタ係数を収束値よりも小さくし、当該修正された適応フィルタを用いて入力信号から線形エコーを除去するため、誤った学習を行っていない適切な適応フィルタを用いてエコー除去を行うことができる。
【0010】
前記フィルタ修正部は、前記第1フィルタ係数を0にしてもよい。これにより、計算負荷を少なくし、演算装置の処理負荷を軽減することができる。また、演算装置の処理負荷が軽減できるため、エコー抑圧装置を安価に構成することができる。
【0011】
前記フィルタ修正部は、前記第1フィルタ係数を、前記収束値から徐々に小さくしてもよい。これにより、適応フィルタの形状を急激に変化させることによるノイズ又は過剰な除去を防止できる。
【0012】
前記フィルタ修正部は、前記遅延時間の変化に応じて変化しない要素のうち、前記収束値が閾値以上である場合のフィルタ係数を前記第1フィルタ係数としてもよい。これにより、線形エコーの除去に影響が大きい要素のフィルタ係数を軽減することができる。
【0013】
前記フィルタ修正部は、前記収束値に基づいて前記閾値を求めてもよい。これにより、参照信号の状況に応じた適切な閾値を自動的に決定することができる。
【0014】
前記参照信号調整部は、前記参照信号を取得している間、連続して複数の前記遅延参照信号を生成し、前記フィルタ生成部は、連続して複数の前記線形フィルタを生成し、前記フィルタ修正部は、連続して前記適応フィルタを修正してもよい。これにより、使用中にエコーパスが変化した場合にもエコーを適切に除去できる。
【0015】
シングルトーク状態かダブルトーク状態かを検知するダブルトーク検知部を備え、前記フィルタ修正部は、前記ダブルトーク状態であることが検知されなかった場合には、前記第1フィルタ係数を前記収束値よりも小さくしてもよい。これにより、ダブルトークが発生している状況では外乱が多いため、当該処理の効果が小さい可能性があるところ、この構成によれば、効果の小さい処理を停止することで、計算負荷を軽減できる。
【0016】
前記参照信号調整部は、前記エコー除去部が線形エコーを除去するよりも前に一度だけ前記遅延参照信号を生成してもよい。これにより、少ない計算負荷で実現することができ、ひいてはエコー抑圧装置1を安価に構成することもできる。
【発明の効果】
【0017】
本発明によれば、演算装置の処理負荷を軽減しつつ、エコーの除去を効果的に行うことができる。
【図面の簡単な説明】
【0018】
【
図1】エコー抑圧装置1が設けられた音声通信システム100を模式的に示す図である。
【
図2】エコー抑圧装置1の概略構成を示すブロック図である。
【
図3】エコー抑圧装置1が行う処理の流れを示すフローチャートである。
【
図4】複数の適応フィルタの収束値を互いに比較する処理の様子を示すグラフである。
【
図5】エコー抑圧装置1Aの概略構成を示すブロック図である。
【
図6】エコー抑圧装置2の概略構成を示すブロック図である。
【
図7】エコー抑圧装置2が行う処理の流れを示すフローチャートである。
【
図8】エコー抑圧装置3の概略構成を示すブロック図である。
【
図9】エコー抑圧装置3が行う処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明に係るエコー抑圧装置の実施形態を、図面を参照して詳細に説明する。エコー抑圧装置は、音声通信システムにおいて、通話の際に発生するエコーを抑圧する装置であり、スピーカおよびマイクが組み込まれた製品、例えば電話会議やテレビ会議用のヘッドセット、車載用の通話装置、およびインターホン等に用いられる。
【0020】
<第1の実施の形態>
図1は、第1の実施の形態に係るエコー抑圧装置1が設けられた音声通信システム100を模式的に示す図である。音声通信システム100は、主として、マイクロホン51及びスピーカ52を有する端末50(例えば、車載装置、会議システム、携帯端末)と、2台の通信装置53、54と、スピーカアンプ55と、エコー抑圧装置1と、を有する。
【0021】
音声通信システム100は、端末50(近端端末)を利用する利用者(近端側にいる利用者A)が、通信装置54(遠端端末)を利用する利用者(遠端側にいる利用者B)と音声通信を行なうシステムである。通信装置54を介して入力された音声信号をスピーカ52によって拡声出力し、かつ、近端側にいる利用者の発する音声をマイクロホン51により集音して通信装置54へ伝送することで、利用者Aは、通信装置53を把持することなく拡声通話(ハンズフリー通話)が可能となる。通信装置53と通信装置54とは、一般的な電話回線により接続されており、相互に通話が可能である。
【0022】
エコー抑圧装置1は、マイクロホン51から入力された入力信号を、端末50から通信装置53へ伝送する送話側信号経路に設けられ、入力信号からエコーを除去する。
【0023】
エコー抑圧装置1は、例えば、音声通信システム100内の端末50等に搭載される専用ボードとして構築されてもよい。また、エコー抑圧装置1は、例えば、コンピュータのハードウエア及びソフトウエア(エコー抑圧プログラム)によって構成されてもよい。エコー抑圧プログラムは、コンピュータ等の機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記憶しておき、そこからコンピュータにインストールされてもよい。また、エコー抑圧プログラムは、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスク等のリムーバブル記憶媒体に、一時的あるいは永続的に格納(記憶)しておいてもよい。
【0024】
図2は、エコー抑圧装置1の概略構成を示すブロック図である。エコー抑圧装置1は、マイクロホン51と通信装置53の送話側の信号入力端531との間に接続されている。
図2において、上側の信号経路は、マイクロホン51から入力された入力信号を伝送する送話側信号経路であり、下側の信号経路は、スピーカ52へ信号を伝送する受話側信号経路である。
【0025】
マイクロホン51で収音される入力信号および通信装置53によって受信された音声信号は、エコー抑圧装置1に入力される。エコー抑圧装置1は、通信装置53に受信され、受話側信号経路を伝達される音声信号である参照信号に基づいて入力信号のエコーを除去し、送話側の信号入力端531へ出力する。
【0026】
エコー抑圧装置1は、主として、参照信号調整部10と、線形エコー抑圧部20と、非線形エコー抑圧部30と、を有する。なお、エコー抑圧装置1は、ノイズキャンセリングに関する一般的な構成をさらに有していてよい。
【0027】
参照信号調整部10は、受話側の信号出力端532から入力された参照信号を取得し、当該参照信号に基づいて遅延参照信号を生成する機能部である。参照信号調整部10は、互いに異なる複数の遅延時間を与えて複数の遅延参照信号を生成する。
【0028】
線形エコー抑圧部20は、参照信号を用いて適応フィルタを生成し、入力信号における線形エコーを抑圧する機能部である。線形エコー抑圧部20が用いる適応フィルタは、フィルタ特性が線形である。線形エコー抑圧部20は、主として、フィルタ生成部21と、フィルタ修正部22と、エコー除去部23と、を備える。
【0029】
フィルタ生成部21は、参照信号調整部10により生成された遅延参照信号に基づいて適応フィルタの収束値を得る機能部である。フィルタ生成部21は、線形処理を用いた学習アルゴリズムを実行可能に構成されている。線形処理による学習アルゴリズムは、例えばNLMSやLMSであるがこれに限られず、公知のあらゆるアルゴリズムが適用可能である。
【0030】
また、フィルタ生成部21は、例えば、数式(1)で示すように、適応フィルタを非巡回(FIR、Finite Impulse Response)フィルタで構成する。数式(1)において、x(k)は入力信号であり、y(k)は出力信号であり、h(l)は乗算器のフィルタ係数である。また、lは係数のインデックスであり、Nはフィルタ長である。
【数1】
【0031】
フィルタ生成部21は、複数の遅延参照信号を取得し、各遅延参照信号に基づいて複数の適応フィルタの収束値を得る。適応フィルタの収束値は、非巡回フィルタの各インデックスのフィルタ係数の収束値を含む。フィルタ生成部21は、適宜の記憶部に適応フィルタの収束値を格納する。
【0032】
なお、フィルタ生成部21は、例えば、収束値のばらつきが一定範囲内になった場合、収束値が一定範囲内に収まった場合、処理の開始から一定時間経過した場合に、適応フィルタが収束したと判断することができる。
【0033】
フィルタ修正部22は、フィルタ生成部21で生成された適応フィルタを修正する機能部である。フィルタ修正部22は、所定の遅延時間が与えられた遅延参照信号により収束した適応フィルタを、他の遅延時間が与えられた遅延参照信号により収束した適応フィルタに基づいて補正する。所定の遅延時間は、例えば音声通信システム100においてスピーカ52から出てマイクロホン51に収音される時間により見込まれる遅延時間である。フィルタ修正部22については、後に詳述する。
【0034】
エコー除去部23は、マイクロホン51で収音された入力信号から線形エコーを除去する機能部である。エコー除去部23は、フィルタ修正部22により修正が加えられた適応フィルタを用いて線形エコーを除去する。エコー除去部23の処理は既に公知であるため、説明を省略する。エコー除去部23から出力された信号は、非線形エコー抑圧部30に入力される。
【0035】
非線形エコー抑圧部30は、非線形処理を用いた学習アルゴリズムを実行する機能部である。非線形処理を用いた学習アルゴリズムは、公知の任意のアルゴリズムを適用できる。非線形エコー抑圧部30から出力された信号は、送話側の信号入力端531へ出力され、通信装置53を介して利用者Bが有する通信装置54に伝達される。なお、非線形エコー抑圧部30は必須ではない。
【0036】
図3は、エコー抑圧装置1が行う処理の流れを示すフローチャートである。まず、エコー抑圧装置1は、学習処理(ステップS1)を行う。学習処理は、事前に行われてもよいし、エコー抑圧装置1又はエコー抑圧装置1のうちの所定の機能を起動させた時点で行われてもよい。つまり、エコー抑圧装置1は、入力信号に適応フィルタを適用することにより線形エコーを除去する線形エコー除去処理(ステップS7)よりも前に一度だけ学習処理(ステップS1)を行えばよい。
【0037】
学習処理(ステップS1)は、ステップS2~S6を含む。学習処理(ステップS1)においては、まず、参照信号調整部10が、受話側の信号出力端532から参照信号を取得し(ステップS2)、参照信号を時間t1、t2…tnだけ遅延させ、複数の遅延参照信号を生成する(ステップS3)。次いで、フィルタ生成部21が、各遅延参照信号に基づいて学習させた適応フィルタの収束値を得る(ステップS4)。
【0038】
なお、ステップS3を構成するステップS3-1~S3-nは、同時に行われてもよいし、順次行われてもよい。ステップS4はステップS4-1~S4-nにより構成され、それぞれステップS3-1~S3-nに次いで行われる。
【0039】
次いで、フィルタ修正部22は、ステップS4により生成された複数の適応フィルタの収束値を比較し(ステップS5)、当該比較した結果に基づいて適応フィルタを修正する(ステップS6)。
【0040】
図4は、フィルタ修正部22がフィルタ生成部21で生成された複数の適応フィルタの収束値を互いに比較する処理の様子を示すグラフである。
図4の横軸はフィルタ係数のインデックスであり、縦軸は収束値の大きさである。
図4では、遅延時間tn(nは自然数)として、160、170、180、190、200(単位はサンプル)のときの値を示している。なお、
図4に示すグラフ作成時のサンプリング周波数は16kHzであり、例えば160サンプルの場合のサンプリング間隔は10m秒である。ただし、サンプリング周波数はこれに限られない。
【0041】
遅延時間が160m秒の遅延参照信号に基づいて生成される適応フィルタのグラフL160では、インデックスが9で+のピークが現れており、40で-のピーク(ピークP160)が現れている。ピークP160は、遅延時間tnの変化に応じて変化する要素であり、遅延時間tnの変化に応じて横方向に移動している。例えば、ピークP160は、遅延時間が170m秒の遅延参照信号に基づいて生成される適応フィルタのグラフL170においてはピークP170(インデックスが30)に移動しており、遅延時間が180m秒の遅延参照信号に基づいて生成される適応フィルタのグラフL180においてはピークP180(インデックスが20)に移動している。つまり、
図4に示す例では、参照信号に与える遅延時間が大きいほど、ピークが現れるフィルタ係数のインデックスが小さくなる。このように、遅延時間に応じて変化するピークは、適切な音響パスが学習されたことを示す。
【0042】
なお、ピークの移動有無の判定は、例えばパターンマッチングにより移動有無を判定する等、公知の適宜の技術を適用することができる。
【0043】
一方、グラフL160において、9のインデックスに生じているピークは、遅延時間tnを変化させても横方向に移動せず、遅延時間tnに応じた変化が発生していない。誤った局所最適解に陥った場合には、与えられた遅延時間によらず同一のフィルタ係数においてピークが生じる蓋然性が高い。また、参照信号に、受話側の信号出力端532からの音声信号以外の信号が混入した場合にも、遅延の影響を受けないで伝達される結果、与えられた遅延時間によらず同一のフィルタ係数においてピークが生じる場合がある。信号の混入は、例えば、CPUの基板上で信号、発生したノイズ等が回り込んでいる場合、参照信号の自己相関が高い場合、スピーカアンプ55の直後に大きく変化する信号が配線を介して回り込む場合に起こり得る。また、信号の混入は、エコー抑圧装置1自体の揺れによっても起こる場合がある。
【0044】
そこで、フィルタ修正部22は、遅延時間に応じて変化しない要素(インデックスI1)については、適応フィルタを修正し、フィルタ係数の大きさを収束値よりも小さくする(学習更新幅を小さくする)。本実施の形態では、フィルタ修正部22は、インデックスI1のフィルタ係数を0にする(学習をやめる)。これにより、エコー除去に用いる適応フィルタから不適切な学習の影響を除去し、適切な適応フィルタに改善することができる。なお、フィルタ係数を0にする(学習をやめる)形態は、フィルタ係数の大きさを小さくする(学習更新幅を小さくする)形態に含まれる。
【0045】
なお、フィルタ修正部22は、閾値に基づいて要素(インデックス)を抽出するか否かを判定する。
図4に示す例では、フィルタ修正部22は、遅延時間tnに応じて変化しない要素として、収束値が閾値以上の9のインデックスを抽出し、その他のインデックスは抽出しない。
【0046】
例えば、フィルタ修正部22は、任意の値を閾値としてもよい。例えば、ユーザにより、採用するマイクロホン51およびスピーカ52の設計値又は実験値に基づいて閾値をあらかじめ設定してもよい。この構成によれば、閾値を算出する処理が不要になるため、処理が簡素にできる。
【0047】
また、例えば、フィルタ修正部22は、収束値の大きさに基づいて閾値を求めてもよい。例えば、フィルタ修正部22は、任意の遅延時間のときの各インデックスの収束値の大きさを求め、求められた大きさの最大値より所定値又は所定割合減じた値を閾値とすることができる。また、例えば、フィルタ修正部22は、パターンマッチング等により遅延時間に応じて変化する要素を1又は複数求め、当該遅延時間に応じて変化するインデックスの収束値の最大値を求め、求められた最大値より所定値又は所定割合減じた値を閾値とすることができる。この構成によれば、参照信号の状況に応じた適切な閾値を自動的に決定することができる。
【0048】
フィルタ修正部22は、遅延時間に応じて変化しないインデックスのフィルタ係数の大きさが、このようにして求められた又は設定された閾値以上の場合には、フィルタ係数の大きさを低減する。これにより、線形エコーの除去に影響が大きいインデックスのフィルタ係数を軽減することができる。
【0049】
なお、フィルタ修正部22は、フィルタ係数のグラフにおいて、遅延時間に応じて変化しないピークが発生したインデックスI1の左右のインデックスに、インデックスI1とは上下逆向きのピークが出ることを考慮し、インデックスI1及びその前後所定範囲におけるインデックスのフィルタ係数を低減してもよい。
【0050】
図3の説明に戻る。学習処理(ステップS1)に次いで、エコー除去部23は、マイクロホン51から入力信号を収音し、入力信号にステップS6で修正された適応フィルタを適用することにより線形エコーを除去する(ステップS7)。線形エコーが除去された信号は、非線形エコー抑圧部30で非線形エコーが抑圧されて通信装置54へ出力される(ステップS8)。
【0051】
ステップS7及びステップS8は、エコー抑圧装置1が作動している間、連続して行われる。すなわち、エコー抑圧装置1は、フィルタ修正部22により最初に一度行われたステップS6において修正された適応フィルタを常時用いて線形エコーを除去する。
【0052】
本実施の形態によれば、異なる複数の遅延時間を与えられた複数の参照信号を用いて学習した複数の適応フィルタを互いに比較し、遅延時間に応じて変化しない要素(インデックス)のフィルタ係数の大きさを0にする(学習をやめる)ことで、誤った学習を行っていない適切な適応フィルタを用いてエコー除去を行うことができる。また、遅延時間に応じて変化しないインデックスの学習をやめることで、計算負荷を少なくし、演算装置の処理負荷を軽減することができる。また、演算装置の処理負荷が軽減できるため、エコー抑圧装置1を安価に構成することができる。
【0053】
例えば、演算装置の処理負荷を軽減するために、適応フィルタの係数の初期値を適切な値としておく方法も考えられる。適応フィルタの係数の初期値を適切な値とする方法として、例えば、各フィルタ係数が0の状態を初期値として学習を開始する方法(方法1)や、物理的な事前情報、すなわち音声通信システムを構成する装置の構成に応じてインデックス及び当該インデックスにおけるフィルタ係数の大きさ(ピーク値)を推定し、その他のインデックスの係数は0とする方法(方法2)が考えられる。方法2において、フィルタ係数のインデックスは、スピーカアンプ55、スピーカ52とマイクロホン51との間の物理的構成、およびマイクロホン51からエコー抑圧装置1までに必要な適宜の機器の各々において推定される寄与を合計し、参照信号調整部10による寄与を減算することで求めることができる。また、ピーク値は、スピーカアンプ55、スピーカ52、スピーカ52とマイクロホン51との間の物理的構成、およびマイクロホン51からエコー抑圧装置1までに必要な適宜の機器の各寄与を乗じることで求めることができる。
【0054】
しかしながら、方法1では、誤った局所最適解に陥るおそれは排除できない。また、方法2では、装置の物理特性をデジタル値で正確に算出するのが難しく、方法1と同様に生じた誤差により局所最適解に陥るおそれが排除できない。それに対し、エコー抑圧装置1は、誤った学習を行っていない適切な適応フィルタを用いてエコー除去を行うためエコー除去の精度が高いうえ、適切な適応フィルタを軽い処理負荷で求めることができる。
【0055】
また、本実施の形態によれば、学習処理(ステップS1~S6)を、事前に行う又はエコー抑圧装置1の所定の機能を起動させた時点で一度だけ行うことで、演算装置の処理負荷を軽減しつつ、誤った学習を行っていない適応フィルタを用いてエコー除去を行うことができる。
【0056】
なお、本実施の形態では、フィルタ修正部22は、遅延時間に応じて変化しない要素(
図4のインデックスI1)のフィルタ係数を0にしたが、フィルタ係数を0にすることは必須ではなく、フィルタ係数の大きさを低減(学習更新幅を小さく)すればよい。例えば、フィルタ修正部22は、インデックスI1のフィルタ係数の大きさを小さくし、0以外の値(例えば、0.5)を保持してもよい。インデックスI1のフィルタ係数の大きさを小さくする場合には、インデックスI1においてもわずかずつ学習が行われるので、マイクロホン51とスピーカ52が存在する空間の環境が変わる等の理由によりエコーパスが変化した場合にも適切な学習を行うことができる。
【0057】
また、本実施の形態では、学習処理(ステップS5)でインデックスI1のフィルタ係数を0にした適応フィルタを用いて線形エコー除去処理(ステップS7)を行ったが、適応フィルタのインデックスI1のフィルタ係数を徐々に小さくしながら線形エコー除去処理(ステップS7)を行ってもよい。例えば、
図4に示す例では、インデックスI1のフィルタ係数の大きさが略2と算出されているため、フィルタ修正部22は、インデックスI1のフィルタ係数を最初(t=0)は2とし、任意の時間経過後(t=t1)にフィルタ係数が最終値(例えば、0)となるように、任意の時間経過中(t=0~t1)に適応フィルタを連続して修正してもよい。この場合、最終値は、0であってもよいし、0以外の小さな値(例えば0.5)であってもよい。これにより、適応フィルタを急激に変化させることによるノイズ又は過剰な除去を防止できる。
【0058】
また、本実施の形態では、フィルタ修正部22は、遅延時間に応じて変化しないインデックスのうち、収束値が閾値以上の大きさを有するインデックス(
図4ではインデックスI1)を抽出し、抽出したインデックスのフィルタ係数を軽減したが、閾値にかかわらず遅延時間に応じて変化しないインデックスのフィルタ係数を軽減してもよい。この場合には、フィルタ係数を0にせず、0.5等の適宜の値とすることが望ましい。これにより、一旦不要な低減を行ったとしても、適切な適応フィルタに収束させることが可能である。
【0059】
<第1の実施の形態の変形例>
変形例にかかるエコー抑圧装置1Aは、遅延参照信号を生成する複数の参照信号調整部を有し、各遅延参照信号から1個のフィルタを生成する複数のフィルタ生成部を有する点において、第1の実施形態にかかるエコー抑圧装置1とは異なる。なお、以降の説明において、第1の実施形態と同様の構成については同一の符号を付し、説明を省略する。
【0060】
図5は、第1の実施の形態の変形例に係るエコー抑圧装置1Aの概略構成を示すブロック図である。エコー抑圧装置1Aは、主として、参照信号調整部10Aと、線形エコー抑圧部20Aと、非線形エコー抑圧部30と、を有する。
【0061】
参照信号調整部10Aは、複数の参照信号調整部10-1…10-n(nは自然数)を有する。参照信号調整部10-1…10-nは、参照信号を取得し、当該参照信号に基づいて遅延参照信号を生成する機能部である。参照信号調整部10-1…10-nには、互いに異なる遅延時間があらかじめ格納されている。参照信号調整部10-1…10-nは、それぞれ、格納された遅延時間に基づいて遅延参照信号を生成して出力する。
【0062】
線形エコー抑圧部20Aは、参照信号を用いて適応フィルタを生成し、入力信号における線形エコーを抑圧する機能部であり、主として、フィルタ生成部21Aと、フィルタ修正部22Aと、エコー除去部23と、を備える。
【0063】
フィルタ生成部21Aは、複数のフィルタ生成部21-1…21-n(nは自然数)を有する。参照信号調整部10-1…10-nとフィルタ生成部21-1…21-nの数は同数である。
【0064】
フィルタ生成部21-1…21-nは、それぞれ、参照信号調整部10-1…10-nから出力された遅延参照信号に基づいて適応フィルタを生成する機能部である。フィルタ生成部21-1…21-nが適応フィルタを生成する処理はフィルタ生成部21と同様であるため、説明を省略する。
【0065】
フィルタ修正部22Aは、フィルタ生成部21-1…21-nで生成された適応フィルタに基づいて、フィルタ生成部21-1…21-nのうちの任意のフィルタ生成部21(例えば、フィルタ生成部21-1)で生成された適応フィルタを修正する機能部である。
任意のフィルタ生成部21は、所定の遅延時間(例えば、音声通信システム100においてスピーカ52から出てマイクロホン51に収音される時間により見込まれる遅延時間)が与えられた遅延参照信号に基づいて適応フィルタを生成する。
【0066】
フィルタ修正部22Aは、フィルタ生成部21-1…21-nにより生成された複数の適応フィルタの収束値を比較し、遅延時間に応じて変化しない要素(インデックス)については、適応フィルタを修正し、フィルタ係数の大きさを低減する。フィルタ修正部22Aが適応フィルタを修正する処理はフィルタ修正部22と同様であるため、説明を省略する。
【0067】
エコー除去部23は、フィルタ修正部22Aにより修正が加えられた適応フィルタを用いて、マイクロホン51で収音された入力信号からエコーを除去する機能部である。
【0068】
本変形例のエコー抑圧装置1Aによれば、フィルタ生成部21-1…21-nにより生成された各フィルタ係数の大きさを比較するため、使用するメモリを減らすことができる。例えば、エコー抑圧装置1では、フィルタ生成部21が遅延時間が異なる適応フィルタを順番に生成するため、フィルタ生成部21が生成した適応フィルタ(フィルタ係数の大きさ)をそれぞれ記憶しておく機能部がフィルタ修正部22に必要となるが、エコー抑圧装置1Aではフィルタ生成部21-1…21-nがそれぞれ異なる適応フィルタを生成するため、複数の適応フィルタを比較するのにあたり、複数の適応フィルタを記憶しておく機能部が不要となり、使用するメモリを減らすことができる。
【0069】
<第2の実施の形態>
本発明の第1の実施の形態に係るエコー抑圧装置1は、学習処理(ステップS1)を一度だけ(例えば、事前に、又は、エコー抑圧装置1の起動時に)行ったが、エコー抑圧装置が連続して学習処理を行ってもよい。
【0070】
本発明の第2の実施形態に係るエコー抑圧装置2は、学習処理(ステップS1)、すなわち適応フィルタの修正を連続して行う形態である。以下、エコー抑圧装置2について、第1の実施形態と異なる部分を中心に説明する。なお、以降の説明において、第1の実施形態と同様の構成については同一の符号を付し、説明を省略する。
【0071】
図6は、エコー抑圧装置2の概略構成を示すブロック図である。エコー抑圧装置2は、主として、参照信号調整部10Bと、線形エコー抑圧部20Bと、非線形エコー抑圧部30と、を有する。
【0072】
参照信号調整部10Bは、参照信号を連続して取得し、当該参照信号に基づいて遅延参照信号を連続して生成する機能部である。参照信号調整部10Bは、参照信号を取得している間、連続して遅延参照信号を生成する。参照信号調整部10Bが行う処理は、参照信号調整部10と同様であるが、処理を連続して行う点が異なる。
【0073】
線形エコー抑圧部20Bは、参照信号を用いて適応フィルタを生成し、入力信号における線形エコーを抑圧する処理を行う機能部である。線形エコー抑圧部20Bは、主として、フィルタ生成部21Bと、フィルタ修正部22Bと、エコー除去部23Aと、を備える。
【0074】
フィルタ生成部21Bは、参照信号調整部10Bにより連続して生成された遅延参照信号に基づいて連続して適応フィルタの収束値を得る機能部である。フィルタ生成部21Bが行う処理は、フィルタ生成部21と同様であるが、処理を連続して行う点が異なる。
【0075】
フィルタ修正部22Bは、フィルタ生成部21Bで連続して生成された適応フィルタを連続して修正する機能部である。フィルタ修正部22Bが行う処理は、フィルタ修正部22と同様であるが、処理を連続して行う点が異なる。
【0076】
エコー除去部23Aは、マイクロホン51で収音された入力信号からエコーを除去する機能部である。エコー除去部23Aには、フィルタ修正部22Bで修正された適応フィルタが連続して入力され、当該連続して入力された適応フィルタを用いてエコーを除去する。エコー除去部23Aが行う処理は、エコー除去部23が行う処理と用いる適応フィルタが異なるが、その他は同様である。エコー除去部23Aから出力された信号は、非線形エコー抑圧部30に入力される。
【0077】
図7は、エコー抑圧装置2が行う処理の流れを示すフローチャートである。エコー抑圧装置2が稼働し参照信号を取得している間、例えば通話中に渡って、学習処理(ステップS1)、エコー除去処理(ステップS7)及び信号出力処理(ステップS8)が連続して行われる。
【0078】
本実施の形態によれば、エコー抑圧装置2が稼働し参照信号を取得している間、学習処理、すなわち適応フィルタを修正する処理を連続的に行い、連続して修正された適応フィルタを用いてエコー除去を行うため、使用中にエコーパスが変化した場合にもエコーを適切に除去することができる。
【0079】
<第3の実施の形態>
本発明の第2の実施の形態に係るエコー抑圧装置2は、連続して学習処理(適応フィルタの修正)を行ったが、特定の条件下では適応フィルタの修正を止めてもよい。
【0080】
本発明の第3の実施形態に係るエコー抑圧装置3は、ダブルトークの場合には適応フィルタの修正を止める形態である。以下、エコー抑圧装置3について、第1、2の実施形態と異なる部分を中心に説明する。なお、以降の説明において、第1、2の実施形態と同様の構成については同一の符号を付し、説明を省略する。
【0081】
図8は、エコー抑圧装置3の概略構成を示すブロック図である。エコー抑圧装置2は、主として、参照信号調整部10Cと、線形エコー抑圧部20Cと、非線形エコー抑圧部30と、ダブルトーク検知部40とを有する。
【0082】
ダブルトーク検知部40は、エコー抑圧装置3に入力された音声信号が、シングルトーク状態かダブルトーク状態かを検知する機能部である。ここでシングルトークとは、利用者A及び利用者Bのいずれか一方が音声を発しており、送話側信号経路及び受話側信号経路のいずれか一方に信号が伝送されている状態(近端発話又は遠端発話)のことである。ダブルトークとは、利用者A及び利用者Bが両方とも音声を発しており、送話側信号経路及び受話側信号経路に同時に信号が伝送されている状態(近端発話及び遠端発話)のことである。
【0083】
ダブルトーク検知部40は、逐次、参照信号のパワースペクトルの値と入力信号のパワースペクトルの値とを周波数帯域毎に比較し、比較した結果に基づいてダブルトーク状態であるか否かを検知する。例えば、ダブルトーク検知部40は、マイクロホン51にスピーカ52から出力された音のみが入力される遠端側の片側発話(シングルトーク)時に送話側信号経路を伝送される信号のパワースペクトルの値のうちの最大値を取得した周波数マスクを保持しており、マイクロホン51で収音された入力信号のパワースペクトルの値と周波数マスクの値とを周波数帯域毎に比較し、入力信号の値が周波数マスクの値を上回る周波数帯域の数が一定値以上の場合には、マイクロホン51から音が入力されており、送話側信号経路を信号が伝送されている(近端発話あり)ことを検知する。また、例えば、ダブルトーク検知部40は、参照信号のパワースペクトルの値と周波数マスクの値とを周波数帯域毎に比較し、参照信号の値が周波数マスクの値を上回る周波数帯域の数が一定値以上の場合には、受話側信号経路を信号が伝送されている(遠端発話あり)ことを検知する。
【0084】
ただし、ダブルトーク検知部40は、他の公知の様々な方法を用いてシングルトーク状態かダブルトーク状態かを検知してもよい。
【0085】
ダブルトーク検知部40による検知結果は、参照信号調整部10Cに入力される。参照信号調整部10Cは、ダブルトーク状態でない場合に、参照信号を連続して取得し、当該参照信号に基づいて遅延参照信号を連続して生成する機能部である。参照信号調整部10Cが遅延参照信号を連続して生成する処理は、参照信号調整部10Bと同様であるため、説明を省略する。参照信号調整部10Cが生成した遅延参照信号は、線形エコー抑圧部20Cに入力される。
【0086】
線形エコー抑圧部20Cは、参照信号を用いて適応フィルタを生成し、入力信号における線形エコーを抑圧する処理を行う機能部である。線形エコー抑圧部20Bは、主として、フィルタ生成部21Cと、フィルタ修正部22Cと、エコー除去部23Bと、を備える。
【0087】
フィルタ生成部21Cは、参照信号調整部10Cにより遅延参照信号が生成された場合に、遅延参照信号に基づいて複数の適応フィルタの収束値を得る機能部である。フィルタ生成部21Cが連続して適応フィルタの収束値を得る処理は、フィルタ生成部21Bと同様であるため、説明を省略する。
【0088】
フィルタ修正部22Cは、フィルタ生成部21Cにより複数の適応フィルタが生成された場合に、フィルタ生成部21Bで生成された適応フィルタを修正する機能部である。フィルタ修正部22Cが適応フィルタを修正する処理は、フィルタ修正部22Bと同様であるため、説明を省略する。
【0089】
エコー除去部23Bは、マイクロホン51で収音された入力信号からエコーを除去する機能部である。エコー除去部23Bには、フィルタ修正部22Bで修正された適応フィルタが入力された場合には当該入力された適応フィルタを用いてエコーを除去し、フィルタ修正部22Bで修正された適応フィルタが入力されなかった場合には、最後(直前)にフィルタ修正部22Bから入力された適応フィルタを用いてエコーを除去する。例えば、エコー除去部23Bがフィルタ修正部22Bで修正された適応フィルタを記憶しておく機能部を有し、エコー除去部23Bは、当該機能部に記憶された適応フィルタをフィルタ修正部22Bから適応フィルタが入力される度に更新し、当該機能部に記憶された適応フィルタを用いて入力信号からエコーを除去すればよい。エコー除去部23Bの処理は既に公知であるため、説明を省略する。エコー除去部23Bから出力された信号は、非線形エコー抑圧部30に入力される。
【0090】
図9は、エコー抑圧装置3が行う処理の流れを示すフローチャートである。エコー抑圧装置3が稼働し参照信号を取得している間、例えば通話中に渡って、ダブルトーク検知部40がシングルトーク状態かダブルトーク状態かを検知する(ステップS10)。
【0091】
ダブルトーク検知部40によりダブルトーク状態であることが検知されなかった場合(ステップS10でNo)には、学習処理(ステップS11)、エコー除去処理(ステップS12)を行う。ステップS11の処理はステップS1と同様であるため、説明を省略する。ステップS12では、直前のステップS6で修正された適応フィルタを用いてエコー除去を行う。
【0092】
ダブルトーク検知部40によりダブルトーク状態であることが検知された場合(ステップS10でYes)には、学習処理(ステップS11)は行われず、処理はエコー除去処理(ステップS12)に進む。エコー除去処理(ステップS12)では、直前に行われたステップS6において修正された適応フィルタを用いてエコーを除去する。エコー除去処理(ステップS12)においてエコーを除去する処理は、ステップS7と同様であるため、説明を省略する。
【0093】
エコー除去処理(ステップS12)に次いで、信号出力処理(ステップS13)を行う。ステップS13の処理はステップS8と同様であるため、説明を省略する。その後、処理はステップS10に戻り、
図9に示す処理が繰り返し行われる。
【0094】
本実施の形態によれば、ダブルトーク検知部がダブルトークを検知した場合、すなわち外乱が多く、適切な修正処理ができないと思われる場合には、適応フィルタの修正処理を中断することができる。また、外乱が多い状況で適応フィルタの修正処理を中断することで、計算負荷を軽減できる。
【0095】
なお、本実施の形態では、ダブルトーク検知部40による検知結果を参照信号調整部10Cに入力したが、ダブルトーク検知部40による検知結果をフィルタ生成部21Cやフィルタ修正部22Cに入力してもよい。例えば、ダブルトーク検知部40による検知結果をフィルタ修正部22Cに入力する場合には、ダブルトークの場合にも複数の遅延参照信号及び適応フィルタの収束値を求め、適応フィルタの修正を止める。
【0096】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0097】
1、1A、2、3:エコー抑圧装置
10、10A、10B、10C、10-1、10-n:参照信号調整部
20、20A、20B、20C:線形エコー抑圧部
21、21A、21B、21C、21-1、21-n:フィルタ生成部
22、22A、22B、22C:フィルタ修正部
23、23A、23B:エコー除去部
30 :非線形エコー抑圧部
40 :ダブルトーク検知部
50 :端末
51 :マイクロホン
52 :スピーカ
53 :通信装置
54 :通信装置
55 :スピーカアンプ
100 :音声通信システム
531 :信号入力端
532 :信号出力端