日本音響学会2020年秋季研究発表会 ビギナーズセミナー

Web会議システムにおけるエコーキャンセリング技術
2020.9.9
金沢工業大学
島内 末廣
1

もくじ
1. エコーキャンセリングとは？
2. エコーキャンセリングの動作原理
3. エコーキャンセリングの理想と現実
4. まとめ2

1. エコーキャンセリングとは？

3

そもそも、エコーとは？
Web会議などで発言した自分の声が、こだまのように遅れてスピーカから聴こえる現象

では、早速始めましょうか？
4エコーが発生すると・・・
 参加者にとって音声が反響したり、ハウリングしたりと非常に聴き取りにくい 発話者にとっても発言中に自分の声が遅れて聞こえてくると非常に話しにくい

5

エコーはなぜ生じる？
相手地点のスピーカ・マイク間の音の回り込み＝"音響エコー"
相互の地点の回り込みのループによる発振現象＝"ハウリング”
音の回り込みでは、早速始めましょうか？

送信受信

では、早速始めましょうか？
6

エコーの発生を回避するには？
 発話者以外のマイクをミュート(OFF)にする
大規模会議、遠隔授業、講演会など
 ヘッドホンやイヤホンで音声を聞く
Web会議に参加しない人が周囲にいる場合など
 エコーキャンセリング技術を用いる
１地点に複数人が参加する会議、双方向のかけ合いが多い会議、長時間の会議など
7

エコーキャンセリング技術
 不要なエコーを除去し、通話相手の音声のみを受聴できるようにする技術
 巷のノイズキャンセリング技術との違いは？
（どちらも不要な音を除去するのが目的）

8

不要な音を除去する技術の例
ノイズキャンセリング付
ヘッドホン

ノイズキャンセリング付
ボイスレコーダ

不要な音 ＝ 音波

不要な音 ＝ 信号
9不要な音を除去する技術の例
音を音で消す技術

信号ノイズを除去する技術（音波の伝達特性を考慮）
騒音源（音源の性質の違いを考慮）

騒音参照
マイク

騒音源

伝達特性の補償−1

位相反転

必要に応じて音楽・音声を加算
騒音制御
スピーカ

騒音制御
スポット

不要な音 ＝ 音波

目的音

収音信号
（目的信号＋ノイズ）
特徴分析
目的音成分の強調

ノイズ成分が低減された
目的信号不要な音 ＝ 信号
10

エコーを除去するには？
音で音を消す技術が適用できるかもけれども

わざわざ音として消さなくても・・・

音の回り込み

伝達特性の補償

音の回り込み−1伝達特性の補償
位相反転
−1

位相反転

エコーキャンセリング技術：
音波の伝達特性を考慮して、信号から不要音(エコー)を除去
11

Web会議などに適用する場合
各地点のスピーカとマイクの間に（通話相手のために）実装
・Web会議アプリと連携したソフトウェアとして・専用のハードウェア端末としてエコーキャンセラ

エコーキャンセラ

Bさん

Aさん
−1

Bさんにエコーを戻さない−1

Aさんにエコーを戻さない12

2. エコーキャンセリングの動作原理

13これで解決すればよいですが・・・
スピーカ信号をマイク信号から差し引くだけではほとんどエコーは消えません

通話相手からスピーカ信号

音の回り込み

−1

通話相手へ
マイク信号

14

複雑な反射を経て音は回り込む
室内の壁・天井・床、人やモノからの反射の影響を考慮する必要がある

音の回り込み※厳密にはスピーカ、マイク、アンプ、PCのオーディオ入出力の特性なども影響しますが簡単のため無視します15

反射の様子 ⇒ インパルス応答
スピーカからインパルス信号を再生
インパルス信号𝑥𝑛

1 (𝑛 = 0)𝑥𝑛 = 𝛿𝑛 = ቊ0 (𝑛 ≠ 0)

0

離散時間

𝑛

反射波の様子が時系列で観測できるℎ𝑛

インパルス応答
直接波
反射波

0

離散時間

𝑛16

インパルス応答 ⇒ 任意のエコー信号
スピーカから任意の信号を再生
𝑥𝑛

任意の信号

0𝑛

伝達特性

𝑥𝑛

インパルス応答ℎ𝑛

直接波

エコー信号＝インパルス応答との畳み込み
𝑦𝑛

0

反射波

エコー信号

0𝑦𝑛

離散時間

𝑛𝑛
𝑦𝑛 = ෍ ℎ𝑘 𝑥𝑛−𝑘𝑘

畳み込み演算17

ディジタルフィルタでエコー信号を模擬
任意のスピーカ信号 𝑥𝑛

ディジタルフィルタ𝑧 −1

インパルス応答がそのまま係数(FIR型)

𝑥𝑛෢0ℎ

音の回り込み𝑧 −1・・・

𝑥𝑛−1
෢1 ・・・ℎ𝑥𝑛−𝐿෢𝐿ℎエコー模擬信号𝑦ෞ𝑛𝑦
ෞ𝑛 = ෍ ℎ෢𝑘 𝑥𝑛−𝑘−1𝑘𝑒𝑛𝑦𝑛
マイク信号（エコー信号）

残差

𝑒𝑛 = 𝑦𝑛 − 𝑦ෞ𝑛ℎ෢𝑘 と ℎ𝑘 が一致するほど、残差は小さくなる（エコーが消える）

𝑦𝑛 = ෍ ℎ𝑘 𝑥𝑛−𝑘𝑘

18インパルス応答を手に入れたい
インパルス応答は• 個々のユーザ環境によって異なる• 人の動きなどに応じて時々刻々と変化する

このため• 会議中、リアルタイムでの観測が必要• 会議を中断しないよう、特殊な観測信号を用いずに通話音声の情報に基づき観測（推定）したい
19

適応ディジタルフィルタ
任意のスピーカ信号 𝑥𝑛

残差𝑒𝑛 を評価してフィルタ係数がℎ෢𝑘 → ℎ𝑘となるようにオンライン学習させる

𝑧 −1𝑥𝑛෢0ℎ

音の回り込み𝑧 −1・・・

𝑥𝑛−1
෢1 ・・・
ℎ𝑥𝑛−𝐿
෢𝐿ℎ𝑦ෞ
𝑛−1

残差 𝑒𝑛𝑦𝑛20

適応学習アルゴリズムの簡単な例
インパルス応答長が２サンプルの場合
実際のエコー信号
1𝑦𝑛 = ෍ ℎ𝑘 𝑥𝑛−𝑘 = ℎ0 𝑥𝑛 + ℎ1 𝑥𝑛−1 = ℎ0 , ℎ1
𝑘=0𝑥𝑛𝑥𝑛−1

エコー模擬信号
1𝑥𝑛෢
෢
෢
෢
෢
𝑦
ෞ
𝑛 = ෍ ℎ𝑘 𝑥𝑛−𝑘 = ℎ0 𝑥𝑛 + ℎ1 𝑥𝑛−1 = ℎ0 , ℎ1 𝑥
𝑛−1
𝑘=0

残差𝑥𝑛
෢
෢
𝑒𝑛 = 𝑦𝑛 − 𝑦ෞ𝑛 = ℎ0 − ℎ0 , ℎ1 − ℎ1 𝑥𝑛−121

残差の2乗を評価する
残差の2乗を損失関数として評価する
1 2 1𝑥𝑛෢෢
𝐽 = 𝑒𝑛 =ℎ0 − ℎ0 , ℎ1 − ℎ1 𝑥𝑛−1222

この損失関数をグラフ化するとこちらではなく𝐽

こちら(底が1点ではない)𝐽෢1ℎ෢0ℎ෢1ℎ෢0ℎ22

フィルタ係数の更新のイメージ
未知の目標値෢1ℎ(ℎ0 , ℎ1 )初期値
※上下反転表示෢0ℎ
繰り返しフィルタ係数を更新することでしだいに目標値へ収束していく23フィルタ係数の更新式
1 2 1𝑥𝑛 2෢0 , ℎ1 − ℎ෢1ℎ0 − ℎ損失関数 𝐽 = 𝑒𝑛 =𝑥𝑛−122𝜕𝐽෢0𝑥𝑛𝜕ℎの勾配ベクトルから更新の方向(逆向き)がまず分かる。
= −𝑒𝑛 𝑥𝜕𝐽
𝑛−1෢1𝜕ℎ
さらに、勾配ベクトルの大きさをスピーカ信号のパワで正規化すれば、最短距離でピンポイントに残差曲面の極小値へ

෢0
෢0𝑥𝑛ℎℎ𝑒𝑛𝑥𝑛−1 NLMSアルゴリズム（学習同定法）
෢1 ⟵ ℎ෢1ℎ+𝜇 𝐿
更新2σ𝑘=0 𝑥𝑛−𝑘+𝜆 ⋮⋮⋮𝑥𝑛−𝐿 𝜇, 𝜆 :学習制御パラメータ෢𝐿෢𝐿ℎℎ24

3. エコーキャンセリングの理想と現実

25

エコーキャンセリング寄りの立場

Web会議などを利用する側の立場

マイクに入るのはエコーだけ・フィルタの学習も簡単
・そもそもエコーキャンセル不要？

マイクは発話するためにある・エコーの他、発話音声(残したい音)背景雑音(消したい音)が混合

音源分離やノイズキャンセリングとの融合

音の回り込みの特性・線形(インパルス応答で表現可能)・時不変(変動してもゆっくり）

会議の環境や使われ方は様々
・大音量で歪みが発生
・動き回りながら通話伝達モデルの拡張
Web会議は１部屋で１組・通話相手の部屋とは音響的に独立・1組のスピーカ・マイク系を考慮

自席から個々人参加のパーソナル会議
・自分の声が隣のマイクへ
・隣のスピーカから自分のマイクへ

会議系全体での連携

26

4. まとめ27

エコーキャンセリング技術

 スピーカ・マイク間の音の伝達特性に基づきマイク信号からエコーを除去
 時々刻々と変化する音の伝達特性を、通話音声を用いてリアルタイムで絶えず学習 エコーと上手に付き合いながら快適な通信会議を！

ご清聴ありがとうございました29