説明

エコーキャンセル装置、それを用いた会議システム、およびエコーキャンセル方法

【課題】マイクの特性によらずエコーを低減することができるエコーキャンセル装置、それを用いた会議システム、およびエコーキャンセル方法を提供することを目的とする。
【解決手段】スピーカ信号を出力するスピーカ15a、15bと、スピーカー15a、15bからの音を収音しマイク素子を有するマイク3a、3bが接続されたTV会議端末1において、マイク素子から得られる複数のマイク信号を基にマイク3a、3bの指向性を示す感度パターンが異なる複数の相関関数を生成し、複数の相関関数からそれぞれ求められる遅延時間のうち最短の遅延時間を推定する遅延制御回路9と、最短の遅延時間を用いて複数のマイク信号のエコーを抑圧するエコー抑圧部8a、8bと、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TV会議システム等に用いるエコーキャンセル装置、それを用いた会議システム、およびエコーキャンセル方法に関するものである。
【背景技術】
【0002】
従来、エコーキャンセル装置としてTV会議システムに用いるものがあり、TVを接続してそのスピーカから音声を出力する場合に生じる音響エコーをTVのスピーカの遅延時間に応じて抑圧するものがあった(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−214976号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の技術では、TVのスピーカからTV会議システムのマイクに到達する時間を用いてTVのスピーカの遅延時間を計算しているため、マイクの特性によっては遅延時間を正確に測定することができず、エコーを抑圧することができなかった。
【0005】
つまり、エコーが入らないように話者の方に感度が高い指向性を有するマイクを用いた場合、スピーカの方向の感度が低く、壁などに反射した音(反射波)などの音と比較してスピーカからの音(直接波)が小さくなり、直接波を検知できないため、反射波を直接波と誤認して遅延時間を推定することがあり、正確な遅延時間が測定できず、適切にエコー処理を行えない場合があった。
【0006】
そこで、本発明は、上記問題に鑑み、マイクの特性によらずエコーを低減することができるエコーキャンセル装置、それを用いた会議システム、およびエコーキャンセル方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は、スピーカ信号を出力するスピーカとスピーカからの音を収音し複数のマイク素子を有するマイクが接続されたエコーキャンセル装置において、複数のマイク素子から得られる複数のマイク信号を基にマイクの指向性を示す感度パターンが異なる複数の感度信号を生成する生成部と、複数の感度信号からそれぞれ求められるマイク信号とスピーカ信号との遅延時間のうち最短の遅延時間を推定する遅延時間推定部と、推定された最短の遅延時間を用いて複数のマイク信号のエコーを抑圧するエコー抑圧部と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、マイクの特性によらずエコーを低減することができる。
【図面の簡単な説明】
【0009】
【図1】TV会議システムの概念図
【図2】TV会議システムのブロック図
【図3】エコーキャンセル装置のブロック図
【図4】遅延制御回路のブロック図
【図5】遅延制御回路のフロー図
【図6】相関関数のピークを示した概念図
【図7】エコー処理を示す概念図
【図8】マイク周辺の概念図
【図9】Lchのマイクの概念図
【図10】Rchのマイクの概念図
【図11】Lch+Rchのマイクの概念図
【図12】Lch−Rchのマイクの概念図
【図13】遅延制御回路のブロック図
【図14】遅延制御回路のブロック図
【図15】遅延制御回路のブロック図
【発明を実施するための形態】
【0010】
本発明のエコーキャンセル装置は、スピーカ信号を出力するスピーカとスピーカからの音を収音し複数のマイク素子を有するマイクが接続されたエコーキャンセル装置において、複数のマイク素子から得られる複数のマイク信号を基にマイクの指向性を示す感度パターンが異なる複数の感度信号を生成する生成部と、複数の感度信号からそれぞれ求められるマイク信号とスピーカ信号との遅延時間のうち最短の遅延時間を推定する遅延時間推定部と、最短の遅延時間を用いて複数のマイク信号のエコーを抑圧するエコー抑圧部と、を備えることを特徴とする。
【0011】
これにより、マイクの特性によらずエコーを低減することができる。
【0012】
また、複数のマイク素子が2つのとき、感度信号は、1つのマイク信号から得られる感度信号をc1、c2、任意の実数をk1、k2とするとき、所定の式で求められることを特徴とする。
【0013】
また、最短の遅延時間が所定時間より大きい場合、最短の遅延時間から所定時間を引いた時間をスピーカ信号の遅延時間とし、最短の遅延時間が所定時間より小さい場合、最短の遅延時間をスピーカ信号の遅延時間とすることにより、使用中にマイクの移動などの変化があったとしても、確実にエコーを低減することができる。
【0014】
また、遅延時間が変化したとき、その変化時間が第2の所定時間より小さい場合、変化前の遅延時間をスピーカ信号の遅延時間とすることにより、スピーカ信号の遅延時間を変化させることによって生じるエコーを低減することができる。
【0015】
また、マイク信号とスピーカ信号の周波数帯域を制限する周波数帯域制限部を有し、遅延時間推定部において、周波数帯域制限部で帯域制限しダウンサンプリングされたマイク信号とスピーカ信号を遅延時間推定部に送ることを特徴とする。
【0016】
これにより、周波数帯域を制限することによって、演算すべきデータ数が少なくなるため、演算量を低減することができる。
【0017】
また、マイク信号とスピーカ信号の周波数帯域を分割し、ダウンサンプリングする周波数帯域分割部を有し、周波数帯域分割部により分割されたそれぞれの周波数帯域におけるマイク信号とスピーカ信号の周波数帯域別遅延時間を推定し、推定した周波数帯域別遅延時間のうち、最短の周波数帯域別遅延時間をマイクとスピーカ間の遅延時間とすることを特徴とする。
【0018】
これにより、周波数帯域を分割することによって、演算すべきデータ数が少なくなるため、演算量を低減することができる。
【0019】
また、マイク信号とスピーカ信号の周波数帯域を分割し、ダウンサンプリングする周波数帯域分割部と、分割されたそれぞれの周波数帯域におけるスピーカ信号のパワーを推定するパワー推定部と、パワーに基づいて使用する周波数帯域を選択する判定部とを有し、判定部において判定された周波数帯域のマイク信号とスピーカ信号を遅延時間推定部に送ることを特徴とする。
【0020】
これにより、周波数帯域を分割し、使用する周波数帯域を限定することによって、演算すべきデータ数が少なくなるため、演算量を低減することができる。
【0021】
また本発明のエコーキャンセル方法は、スピーカ信号を出力するスピーカとスピーカからの音を収音し複数のマイク素子を有するマイクが接続されたエコーキャンセル装置において、複数のマイク素子から得られる複数のマイク信号を基にマイクの指向性を示す感度パターンが異なる複数の感度信号を生成するステップと、複数の感度信号からそれぞれ求められるスピーカ信号とマイク信号との遅延時間のうち最短の遅延時間を推定するステップと、最短の遅延時間を用いて複数のマイク信号のエコーを抑圧するステップと、を備えることを特徴とする。
【0022】
これにより、マイクの特性によらずエコーを低減することができる。
【0023】
また本発明の会議システムは、スピーカ信号を出力するスピーカと、スピーカからの音を収音し複数のマイク素子を有するマイクと、スピーカとマイクが接続されるエコーキャンセル装置と、を備えた会議システムにおいて、エコーキャンセル装置は、複数のマイク素子から得られる複数のマイク信号を基にマイクの指向性を示す感度パターンが異なる複数の感度信号を生成する生成部と、複数の感度信号からそれぞれ求められるスピーカ信号とマイク信号との遅延時間のうち最短の遅延時間を推定する遅延時間推定部と、最短の遅延時間を用いて複数のマイク信号のエコーを抑圧するエコー抑圧部と、を備えることを特徴とする。
【0024】
これにより、マイクの特性によらずエコーを低減することができる。
【実施例】
【0025】
本発明の実施例について以下図面を用いて説明する。なお、本実施例では、TV会議システムを例に説明するが、電話会議システム等のスピーカとマイクとを用いてエコーキャンセルを行うものであれば適宜利用可能である。
【0026】
図1を用いて、TV会議システムの構成について説明する。図1は、TV会議システムの概念図である。
【0027】
図1において、TV会議システムは、TV会議端末1に、映像、音声を出力するTV2、会議者参加者の音声を拾うマイク3、および会議者参加者を撮像するカメラ4が接続されており、インターネット5を介して他のTV会議端末に接続されている。
【0028】
TV会議端末1は、詳細は後述するが、会議参加者の映像、音声をマイク3、カメラ4から取得し、その映像、音声信号(マイク信号)を、インターネット5を通じて他のTV会議端末に送信し、同様に他のTV会議端末から映像信号、音声信号(スピーカ信号)を受信し、TV2に出力する。
【0029】
TV2は、一般的なTVであって、TV会議システムから送られてくる映像信号を表示するためのディスプレイとTV会議システムから送られてくる音声信号(スピーカ信号)を出力するスピーカ(本実施例ではステレオスピーカ)等を有し、スピーカ信号は映像信号と同期させるために所定時間(例えば100msec)遅延させて出力し、TV2において映像と音声との同期をとっている。
【0030】
マイク3は、複数のマイク素子を有するマイクで、本実施例のマイク3は円形状のマイクであり、内部に2つのマイク素子が配置されている。その2つのマイク素子3a、3bは、マイク3の中心を基準にマイク素子3aとマイク素子3bのなす角が120°、それぞれのマイク素子3a、3bはマイク3のケーブル接続部分となす角が120°になるように設計されている。
【0031】
なお、本実施例のマイク素子3a、3bは、指向性を持つマイクであり、マイク3全体では、マイク素子3a、3bが配置されている側の感度が高く、反対側のケーブルが接続されている側の感度が低くなっている。
【0032】
図1で示したTV会議システムについて、図2を用いて詳細に説明する。図2は、TV会議システムのブロック図である。なお、図中の矢印はデータの送信方向を示している。
【0033】
TV会議端末1は、カメラ4からのアナログ映像信号をデジタル映像信号に変換する映像ADC6、マイク3からのアナログマイク信号をデジタルマイク信号に変換する音声ADC7、マイク信号の音響エコー(以下エコーとする)を低減(抑圧)するエコーキャンセル装置26、映像ADC6から出力されたデジタル映像信号、エコーキャンセル装置26から出力されたマイク信号をエンコードするAVエンコーダ10、エンコードした映像、音声データを他のTV会議端末に送信し他のTV会議端末から映像、音声データを受信する通信部11、通信部11にて受信した他のTV会議端末からの映像、音声データをデコードするAVデコーダ12、AVデコーダ12からのデジタルスピーカ信号をアナログスピーカ信号に変換する音声DAC13、AVデコーダ12からのデジタル映像信号をアナログ映像信号に変換する映像DAC14により構成されている。
【0034】
ここで、エコーキャンセル装置26は、スピーカとマイク間の音響特性を推定し、マイク信号からエコーを差し引くエコー抑圧部8、エコーを抑圧するために必要な遅延時間を推定する遅延制御回路9を備えている。
【0035】
なお、エコーキャンセル装置26は本実施例において音声DSPに搭載されているが、汎用のCPUで実現してもよい。
【0036】
また、本実施例ではエコーキャンセル装置26を用いてエコーの抑圧を行っているが、対象のマイク信号を線形あるいは非線形的に減衰させるエコーサプレッサを用いてエコーの抑圧を行ってもよく、エコーキャンセル装置26、エコーサプレッサの両方を用いてもよい。
【0037】
また、本実施例において、マイク3はステレオマイクであるため、2チャンネルのマイク信号を有するが、図2においては簡略化のため1チャンネルのマイク信号としている。
【0038】
TV2は、スピーカ15、ディスプレイ16、TV会議端末1からのアナログ映像信号を受信しディスプレイ16に表示するための表示信号に変換する映像処理回路17、ディスプレイ16の表示映像と音声を同期させるためにTV会議システムのからのアナログスピーカ信号を遅延させる遅延回路18により構成されている。
【0039】
なお、TV2のスピーカ15もステレオであるため2チャンネルのスピーカ信号を有するが、図2においては簡略化のため1チャンネルのスピーカ信号としている。
【0040】
また、TV2、マイク3、カメラ4は、それぞれアナログ信号にて入出力しているため、映像ADC6、音声ADC7、音声DAC13、映像DAC14を設けているが、TV2、マイク3、カメラ4が、それぞれデジタル信号で入出力されるのであれば、上記回路は不要である。
【0041】
ここで、上述するエコーについて説明する。上記のようなTV会議システムにおいては、TV2のスピーカ15から出力された音声が直接あるいは壁面などを反射して、マイク3に入力され、その結果、スピーカ15から直接マイク3に入る音や壁などに反射して入る音によってエコーが発生し、そのエコーによって音声品質を低下させることがある。
【0042】
そのため、上記エコーキャンセル装置26を用いてマイク3からのマイク信号のエコーを抑圧するようにしている。
【0043】
上記のように構成されたTV会議システムの動作について説明する。
【0044】
TV会議端末1と他のTV会議端末によってTV会議を開始すると、カメラ4で撮像された映像が映像信号として映像ADC6を介して、AVエンコーダ10に送られ、同様にマイク3で取得した音声がマイク信号としてエコーキャンセル装置26を介して、エコーが抑圧されたマイク信号としてAVエンコーダ10に送られる。
【0045】
そして、AVエンコーダ10によってエンコードされた映像、音声データを通信部11からインターネット5を介して他のTV会議端末に送信される。
【0046】
また、通信部11にて他のTV会議端末から受信した映像、音声データは、AVデコーダ12によってデコードされ、音声DAC13、映像DAC14を介して、映像信号、スピーカ信号それぞれをTV2に出力する。
【0047】
TV会議端末1から出力された映像信号は、ディスプレイ16に表示するために映像処理回路17によって処理を行うが、一般的に100msec程度の遅延が生じる。そのため、TV会議端末1から出力されたスピーカ信号をそのままTV2のスピーカ15から出力してしまうと、映像処理回路17において画像処理している時間に応じて、TV2の映像と音声のずれが生じるため、予め遅延回路18にて、映像処理回路17によって生じる遅延時間分、音声信号を遅延させて出力し、TV2の映像と音声のずれをなくしている。
【0048】
ここで、本実施例におけるTV会議端末を用いた場合のエコーの抑圧方法について図3を用いて詳細に説明する。
【0049】
本実施例において音声は2チャンネルであるため、マイク3はマイク素子3a、3bを、スピーカ15は、スピーカ15a、スピーカ15bを備え、マイク素子3a、3bから得られたマイク信号はそれぞれ音声ADC7a、7bを介してエコー抑圧部8a、8bと遅延制御回路9に送られる。
【0050】
その後、エコー抑圧部8a、8bによって処理されたマイク信号は、AVエンコーダ10の中のオーディオエンコーダ27によりエンコードされた後、他のTV会議端末に送信される。
【0051】
また、他のTV会議端末から送信されたスピーカ信号はAVデコーダ12のオーディオデコーダ28によってデコードされ、デコードされたスピーカ信号は、エコー抑圧部8、遅延制御回路9、スピーカ15にそれぞれ送られる。
【0052】
ここで、遅延制御回路9は、マイク素子3aから得られたマイク信号と、マイク素子3bから得られたマイク信号を基に後述する複数の感度信号を生成し、その感度信号とスピーカ信号との相関関数を演算する相関算出回路19とその相関算出回路19により求めた相関関数からTV2におけるスピーカ信号の遅延時間を求める遅延時間推定部29を備える。
【0053】
そして、エコー抑圧部8a、8は、遅延時間推定部29で推定した遅延時間分スピーカ信号を遅延させ、その遅延させたスピーカ信号とマイク信号を基にエコー抑圧部8内部の適応フィルタにより擬似エコー信号を推定し、擬似エコー信号をマイク信号から差し引くことにより、マイク信号に含まれるエコー成分を抑圧し、そのエコーを抑圧したマイク信号をオーディオエンコーダ27に送る。
【0054】
なお、本実施例でエコー抑圧部8に用いる遅延時間はスピーカ信号に対してマイク信号が遅延している遅延時間のことであり、スピーカ信号はエコー抑圧部8に入力されるスピーカ信号であり、マイク信号はスピーカ信号と同様にエコー抑圧部8に入力されるマイク信号である。
【0055】
そのため、上記遅延時間は、音声DAC13、遅延回路18、スピーカ15、マイク3、音声ADC7によって生じる遅延時間と、スピーカ15から出力された音声がマイク3に到達するまでの遅延時間を含むものとなる。
【0056】
ここで、上記エコー処理に必要な遅延時間を推定(算出)する遅延制御回路9の詳細について図4を用いて説明する。図4は、遅延制御回路のブロック図である。
【0057】
なお、本実施例では、上述したように2つのマイク素子を使用しているため、2チャンネルのマイク信号があり、マイク素子3aから得られるマイク信号をマイク信号Lch、マイク素子3bから得られるマイク信号をマイク信号Rchとする。
【0058】
また、他のTV会議端末から得られるスピーカ信号も2チャンネルあるため、それぞれのスピーカ信号をスピーカ信号Lch、スピーカ信号Rchとする。
【0059】
図4において、遅延制御回路9は、マイク信号、スピーカ信号を用いて、マイクの感度信号に相当する複数の相関関数を出力する相関算出回路19、その相関関数を元に遅延時間を推定する遅延時間推定部29により構成されている。
【0060】
また、遅延時間推定部29は、算出した相関関数のうち相関値が凸になる複数のピークを検出するピーク検出回路20、ピーク検出回路20の出力の内、遅延時間が最短となるピークを検出し、スピーカとマイク間の遅延時間を決定する遅延推定回路21により構成されている。
【0061】
上記のように構成された遅延制御回路9の動作について図5を用いて説明する。図5は、遅延制御回路のフロー図である。
【0062】
遅延制御回路9は、まず、相関算出回路19にて、入力されたLchマイク信号mL
t)、Rchマイク信号mR(t)と、Lch、Rchスピーカ信号を合成したスピーカ
信号s(t)について、Lch、Rchの相関関数を算出する(step1)。
【0063】
ここで、上記相関関数は(数1)、(数2)を用いて算出する。
【0064】
【数1】

【0065】
【数2】

【0066】
なお、上記式において、τはスピーカ信号を所定時間ずらしたシフト時間であり、相関関数の時間軸に対応し、tはスピーカ信号、マイク信号における現在時刻、s(τ−t)はτ時間ずらしたスピーカ信号、cL(τ)はLchの相関関数、cR(τ)はRchの相関関数である。
【0067】
相関算出回路19にて上記Lch、Rchの相関関数cL(τ)、cR(τ)を基に、Lch+Rchの相互相関関数cadd(τ)を算出し(step2)、同様にLch−Rc
hの相互相関関数cdiff(τ)を算出する(step3)。
【0068】
なお、上記Lch+Rch、Lch−RChの相互相関関数cadd(τ)、cdiff(τ
)の算出は(数3)、(数4)を用いる。
【0069】
【数3】

【0070】
【数4】

【0071】
その後、Lch、Rchの相関関数cL(τ)、cR(τ)とLch+Rch、Lch−Rchの相互相関関数cadd(τ)、cdiff(τ)の4つの相関関数の瞬時のピークの変
動を軽減するためにそれぞれの相関関数毎に時間平均をとり、時間平均後の平均相関関数を算出し、ピーク検出回路20に出力する(step4)。
【0072】
なお、本実施例においては、瞬時のピーク変動を軽減するために時間平均を取っているが、エコー処理を簡略化するために省略してもよい。
【0073】
次に、ピーク検出回路21にてその時間平均相関関数のうち相関値が凸になる複数のピークを検出する(step5)。
【0074】
ここで、ピーク検出について図6を用いて説明する。図6は、相関関数のピークを示した概念図である。
【0075】
図6において、縦軸を相関値、横軸を遅延時間として、ある相関関数を示したものであり、この相関関数からピークを検出する。
【0076】
なお、上記相関関数とは、感度信号に相当するものであり、マイク信号とスピーカ信号の相関を示したものであり、図6においては、スピーカ信号の時間軸を所定時間ずらしたときに、マイク信号とどのくらい相関があるか(どのくらい波形が一致しているか)を示したものであり、前述した(数1)、(数2)に示すものである。
【0077】
相関関数における相関値のピークの検出は、相関関数全体の平均と偏差を用いて行い、(数5)の条件を満たす部分をピークと判定する。
【0078】
【数5】

【0079】
なお、cmaxはピークを判定する部分、μcは相関関数全体の平均、νcは相関関数の全
体における偏差、λcはピークの閾値を調整するパラメータであり、大きくすると尖った
ピークしか検出されなくなり、小さくするとピークが検出しやすくなるため、目的により適宜設定する。なお、本実施例においては5〜7に設定する。
【0080】
上記条件によって、図6においては、星印の指す3つのピークが検出される。
【0081】
そして、それぞれの相関関数毎にピークを検出し、遅延推定回路21にて検出したピークに基づいてそれぞれの相関関数内で最初に出てきたピークにおける遅延時間のうち、最短の遅延時間をスピーカ信号の遅延時間と推定し、推定した遅延時間に所定のマージンを引いた値を遅延推定回路21の遅延時間として出力する(step6)。
【0082】
ここで、最短の遅延時間を推定する理由について説明する。マイク3におけるそれぞれの相関関数について、ピークを検出するとマイク信号の遅延時間を求めることができ、いくつかの遅延時間を求めることができるが、スピーカ15から到達する音は、壁などに反射してマイク3に入る反射波より直接マイク3に入る直接波の方が早く、そのため最短の遅延時間が直接波の遅延時間となる。
【0083】
また、エコー処理は、直接波成分を含む音に対して行うため、直接波の遅延時間が分かれば、効果的にエコー処理を行うことができる。
【0084】
そのため、エコー処理を行うために必要な直接波の遅延時間、つまり最短の遅延時間を推定する。
【0085】
以下、ピーク検出から遅延時間を推定するまでの方法について例を挙げて説明する。
【0086】
本実施例では、Lch、Rch、Lch+Rch、Lch−Rchの相関関数のピークを検出し、それぞれの最短の遅延時間を求め、Lch、Rch、Lch+Rch、Lch−Rchの遅延時間の内、最短の遅延時間を選択する。
【0087】
例えば、Lchの相関関数が図6の相関関数だとすると、ピークが検出された遅延時間は図6に示すように36msec、49msec、56msecとなり、Lchの遅延時間は36msecと推定する。
【0088】
同様に、Rch、Lch+Rch、Lch−Rchにて上記と同様の作業を行い、最短の遅延時間がそれぞれ、Lchが36msec、Rchが36msec、Lch+Rchが49msec、Lch−Rchが36msecだった場合、遅延推定回路21は、ピーク検出の結果より求める遅延時間を36msecと設定する。
【0089】
ここで、Lch+Rchのみ遅延時間が遅いのは、後述するが本実施例のマイク3の配置では、マイク3の感度が直接波に対して低く、ピーク検出回路20でピークが検出されず、最初のピークが反射波のピークとなって、反射波のピークの遅延時間を最短の遅延時間と判定したためである。
【0090】
なお、本実施例では、ピーク検出回路20にて、1つの相関関数中のすべてのピークを検出して、遅延推定回路21に送っているが、遅延推定回路21は、それぞれの相関関数における最短の遅延時間が分かればよいので、ピーク検出回路20は、最初のピークを検出したらピーク検出を終了し、検出したピークの遅延時間のみを遅延推定回路21に送ることも可能である。
【0091】
また、本実施例では、4つの相関関数を用いて直接波の遅延時間を推定しているが、2つ以上の相関関数を用いれば遅延時間を推定することができる。用いる相関関数が多いほうが、直接波をより確実に検知できるので、本実施例では4つの相関関数にて行っている。
【0092】
上記のように、遅延時間を決定する理由について図7を用いて説明する。図7は、エコー処理を示す概念図であり、縦軸を振幅a、横軸を時間tとし、図7(a)は、遅延時間制御をしない場合、図7(b)は、遅延時間制御が正常に行われなかった場合、図7(c)は、遅延時間を正常に行った場合を示す。なお、図7は、遅延時間を分かりやすく説明するため、スピーカとマイクとの間の音響特性に相当するインパルス応答を用いて説明する。
【0093】
図7において、Aはエコー推定可能な区間、つまりスピーカ信号に基づき擬似エコーを生成することによりエコーを抑圧できる区間とし、エコー推定可能な区間の開始時間を基準(t=0)に取る。
【0094】
また、Bはスピーカとマイクとの間の音響特性に相当するインパルス応答でありスピーカから直接マイクに到達した直接波や、壁などに反射してマイクに到達した反射波を含む。なお、図中の太線の直接波、点線の反射波であり、その他の線は、直接波や反射波によって生じる残響成分であり、また、遅延時間をT、マージンをSとする。
【0095】
図7(a)に示すように、遅延時間制御を行わないと、エコー推定可能な区間Aから外れた区間、つまりエコーを抑圧することができない区間にマイク信号のインパルス応答における後ろの部分(図7(a)のC)が残り、Cの部分について、エコーを抑圧することができず、エコー処理が適切に行うことができない。
【0096】
そのため、相関関数から求めた遅延時間で遅延制御を行うが、反射波の遅延時間を直接波の遅延時間と誤認した場合、図7(b)に示すように、今度は図7(a)とは反対にマイク信号のインパルス応答における前の部分(図7(b)のD)である直接波の部分が、エコー推定可能な区間Aから外れてしまい、図7(a)より影響が大きい直接波の部分のエコー成分が抑圧することができず、エコー処理が適切に行われない。
【0097】
つまり、本来は直接波の遅延時間Tを用いて、スピーカ信号を遅延させて、マイク信号のインパルス応答Bがエコー推定可能な区間Aに入るように行うが、反射波を直接波と誤認しているため、図7(b)に示すように、反射波の遅延時間T´を用いてスピーカ信号を遅延させるため、適切なエコー処理ができなくなる。
【0098】
そのため、上記のような遅延時間の推定方法を用いて、直接波の遅延時間を確実に測定できるようにし、図7(c)に示すようにエコー処理においてエコーが推定可能な区間Aにマイク信号のインパルス応答が入るようにする。
【0099】
このとき、所定のマージンSを設けるのは、遅延時間の推定の誤差や、マイク3をスピーカ側に少し近づけた場合などの遅延時間が短くなる変動によって、図7(b)のように直接波がエコー推定可能な区間Aから外れることを防ぎ、確実に影響が大きいエコー成分(直接波)を抑圧できるようにするためである。
【0100】
なお、本実施例においては、所定のマージンSは20msecとしており、上記の例で説明すると、選択した遅延時間36msecから20msecを減算して、最終的に遅延制御回路9としては、遅延時間を16msecとして出力する。
【0101】
遅延時間が所定のマージンSより大きい場合、上記のようにして遅延時間を算出するが、遅延時間が所定のマージンより小さい場合、遅延時間をそのまま遅延制御回路9の遅延時間として出力する(遅延時間から所定のマージンを引かない)。
【0102】
また、所定のタイミングで遅延制御回路9にて遅延時間を再算出したとき、現在推定している(エコー抑圧部8で使用している)遅延時間との差が所定時間(本実施例では10msec)より小さい場合、遅延制御回路9が出力する遅延時間を変更しないようにしている。
【0103】
これにより、エコー処理の性能を維持しつつ遅延時間を再設定してエコー処理を行うことによる一時的なエコーを軽減することができる。
【0104】
ここで、上記のように複数の相関関数を用いて遅延時間を求める理由について図8〜図12を用いて詳細に説明する。図8は、マイク周辺の音波の概念図、図9は、Lchのマイクの概念図、図10は、Rchのマイクの概念図、図11は、Lch+Rchのマイクの概念図、図12は、Lch−Rchのマイクの概念図である。
【0105】
本実施例のマイク3は、マイク素子3a、3bを前述のように配置し、2つのマイク素子3a、3bによって形成される感度パターン(Lch+Rch)においてマイク3の前方(マイク3のケーブルが接続される部分とは反対の部分)に感度が高く、マイク3の後方(マイク3のケーブルが接続される部分)に感度が低いマイクとなっている。
【0106】
このように構成されたマイク3は、一般的に図8に示すように配置され、感度の高い部分を話者側に配置し、感度が低い部分をスピーカ15側に配置する。このように配置することで、話者の音声を確実に拾い、スピーカ15の音がなるべくマイクに入らないようにしている。
【0107】
このとき、上記の感度パターン(Lch+Rch)では直接波は、マイク3の感度の低い部分に到達するため、マイク信号としての出力(振幅)は小さくなる。対して、マイク信号が壁に反射した反射波は、マイク3の感度の高い部分に到達するので、直接波より出力が大きくなる。
【0108】
そのため、上記の感度パターン(Lch+Rch)のみを用いて遅延時間を推定する場合、直接波のピークが反射波のピークより小さく直接波のピークを検出できない場合があり、そのときは反射波のピークの遅延時間をLch+Rchの相関関数の遅延時間として判定する。
【0109】
この場合、実際にマイクに到達するまでに生じるスピーカ信号の遅延時間より長い遅延時間を推定してしまい、図7(b)に示すようにマイク信号における直接波によるエコーを抑圧することができない。
【0110】
このため、本実施例では、2つのマイク素子の組合せによって、感度パターン(相関関数)を複数作り出し、遅延時間の推定において1つの相関関数によって求められる遅延時間が反射波の遅延時間を直接波の遅延時間として誤っていたとしても、その他の相関関数によって求められる遅延時間によって、直接波の遅延時間を確実に得ることができる。
【0111】
以下、複数の感度パターンの例について説明する。
【0112】
図9は、マイク素子3aの出力のみで形成されるLchのマイク信号について示したものであり、図9(b)は、図9(a)のようにマイクを配置した場合にLchのマイク信号によって形成される感度パターンであり、円の外側に線が来るものがその方向に対してより感度が高いことを示す。また、図9(c)は、図9(b)で収音したLchのマイク信号のインパルス応答を示すものである。
【0113】
なお、図9(c)において直接波を太線、反射波を破線としているが、その線のみが直接波、反射波ではなく、太線、破線は、直接波、反射波の始まりを示すものである。
【0114】
また、図10〜図12も上記と同様の図であり、図9がLchのマイク信号について示したものであることに対し、図10は、Rchのマイク信号について示したもの、図11は、Lch+Rchのマイク信号について示したもの、図12は、Lch−Rchのマイク信号について示したものである。
【0115】
図9〜図12により、2つのマイク素子の組合せによって、複数の感度パターンを形成することができ、反射波が直接波より十分に大きいLch+Rchのマイク信号における感度パターンでピークを検知し、直接波を推定し、遅延時間を推定することより、何れかの感度パターンによって、確実に直接波の遅延時間を得ることができ、エコー処理に用いる遅延時間を確実に推定することができる。
【0116】
なお、複数のマイク信号の感度パターンの形成は、上記説明したLch、Rchのマイク信号を組み合わせることによって形成することができ、それぞれの感度パターンにおける直接波の遅延時間を求めるには、Lch、Rchの相関関数を用いて行い、その関係式は(数6)に表すようになり、c(τ)は、合成後の感度パターンに対応する相互相関関数であり、cL(τ)、cR(τ)は、Lch、Rchの感度パターンに対応する相関関数であり、kL、kRは任意の実数である。なお、本実施例で使用している4つの相関関数はLchはkR=0、Rchは、kL=0、Lch+RchはkL=1、kR=1、Lch−RchはkL=1、kR=−1としており、Lch+Rch、Lch−Rchは、(数3)、(数4)に示す相互相関関数を用いている。
【0117】
【数6】

【0118】
なお、(数6)はマイク素子が2つの場合を示したものであり、マイク素子がn個のとき、(数7)によって相関関数c´(τ)を求めることができる。ここで、kは任意の実数、c(τ)はそれぞれの相関関数である。
【0119】
【数7】

【0120】
つまり、複数の感度パターンは、Lch、Rchのような元々得られるマイク信号に対応する感度パターンのほかに、Lch、Rchのマイク信号を組み合わせることによって形成する感度パターンの2つがある。
【0121】
本実施例では以上のようにしてスピーカ15からマイク3に音声が到達するまでの遅延時間を推定したが、後述のようにすることで更に演算量を削減することができる。以下、演算量を削減する構成について3つ例を挙げて説明する。
【0122】
1つ目として、遅延制御回路9を図13のように置き換える方法がある。図13は、遅延制御回路のブロック図である。
【0123】
具体的には、マイク信号とスピーカ信号の周波数帯域を制限して相関関数を算出する。図13において、遅延制御回路9は、マイク信号、スピーカ信号の周波数帯域を制限する周波数帯域制限回路23a、23b、23c、23d、周波数帯域を制限されたマイク信号とスピーカ信号を用いて相関関数を出力する相関算出回路19、算出した相関関数のピークを検出するピーク検出回路20、複数の相関関数にて検出されたピークを用いて遅延時間を決定する遅延推定回路21により構成されている。
【0124】
各周波数帯域制限回路にはマイク信号またはスピーカ信号が入力され、FIRフィルタもしくはIIRフィルタなどの帯域制限フィルタを用いて帯域制限を行う。マイク信号とスピーカ信号の周波数帯域を制限する周波数帯域制限回路の制限周波数帯域は全て同じである必要がある。上記例では、帯域を制限しない方法では0〜12kHzの周波数帯域を用いて相関関数を算出していたが、図13では、6kHz以上の帯域を通すハイパスフィルターを用いて6〜12kHzに帯域制限を行なって相関関数算出を行なっている。
【0125】
上記のように周波数帯域を制限することで、ダウンサンプリングを行うことができる為、演算すべきデータ数が少なくなり、全帯域を用いて相関関数を算出する場合と比較して、演算量を削減することができる。(数1)、(数2)で示したように相関関数算出の演算はマイク信号とスピーカ信号との畳込み演算であるため、単位時間あたりの相関関数の演算量はサンプリング周波数の2乗に比例して大きくなる。
【0126】
そのため、帯域制限を行い、サンプル数Kでダウンサンプリングを行うことによって、単位時間あたりの相互相関関数の演算量を1/K2に削減することができる。本実施例においては、サンプリング周波数を12kHzから1/2の6kHzにダウンサンプリングしているため、全帯域を用いて演算を行う場合と比較して相関関数算出の演算量が1/4になる。
【0127】
なお、帯域制限によってダウンサンプリングを行ったマイク信号とスピーカ信号は、相関算出回路19に入力され、図5と同じ手順で遅延時間の推定を行う。
【0128】
なお、ローパスフィルターやバンドパスフィルターを使って任意の帯域に帯域制限を行なっても良いが、高域信号の方が反射の影響を受けにくい為、ハイパスフィルターを用いる方がより直接音を推定しやすくなる。
【0129】
2つ目として、遅延制御回路9を図14のように置き換える方法がある。図14は、遅延制御回路のブロック図である。
【0130】
具体的には、マイク信号とスピーカ信号を周波数帯域毎に分割し、それぞれの周波数帯域において遅延時間を推定し、複数の遅延時間の中から最短の遅延時間を選択する。図14において、遅延制御回路9は、マイク信号、スピーカ信号の周波数帯域を分割しダウンサンプリングする周波数帯域分割回路24a、24b、24c、24d、各周波数帯域におけるマイク信号とスピーカ信号を用いて各周波数帯域の相関関数を算出する相関算出回路19、算出した各周波数帯域における相関関数のピークを検出するピーク検出回路20、各周波数帯域にて求められた遅延時間のうち、最短の遅延時間を算出しスピーカとマイク間の遅延時間を決定する遅延推定回路21により構成されている。
【0131】
各周波数帯域分割回路にはマイク信号またはスピーカ信号が入力され、それぞれの信号毎に周波数帯域をK分割する。分割された周波数帯域毎に分割数Kでダウンサンプリングされる。分割された周波数帯域毎に図5と同じ手順で遅延時間の推定を行う。各周波数帯域での遅延時間を遅延推定回路21に入力し、最短の遅延時間をマイク信号とスピーカ信号との遅延時間とする。
【0132】
例えば、本実施例では周波数帯域の分割数を4つとし、各周波数帯域をf1=0〜3kHz、f2=3〜6kHz、f3=6〜9kHz、f4=9〜12kHzとして、それぞれの周波数帯域で相関関数を算出する。各周波数帯域における遅延時間の推定値が、f1:50ms、f2:50ms、f3:30ms、f4:40msの場合、推定される遅延時間は最短の30msとなる。
【0133】
上記の方法では全ての周波数帯域において遅延時間を推定できるとしているが、遅延時間を推定できない周波数帯域がある場合、遅延時間を推定できた周波数帯域のみで相関関数算出を行い、遅延時間推定を行なってもよい。
【0134】
上述したように、相関関数の演算はマイク信号とスピーカ信号との畳込み演算であるため、単位時間あたりの相関関数の演算量はサンプリング周波数の2乗に比例して大きくなる。
【0135】
そのため、処理帯域をK分割し、Kでダウンサンプリングすることによって、1つの周波数帯域における単位時間あたりの相互相関関数の演算量は1/K2になる。そのため、K個の帯域を合計した全帯域の演算量は1/Kとなり、全帯域を用いて相関関数を算出する場合と比較して演算量を削減することができる。本実施例においては、周波数帯域12kHzを4つに分割しているため、全帯域を用いて演算を行う場合と比較して相関関数算出の演算量が1/4になる。
【0136】
3つ目として、遅延制御回路9を図15のように置き換える方法がある。図15は、遅延制御回路のブロック図である。
【0137】
具体的には、マイク信号とスピーカ信号を周波数帯域毎に分割し、各周波数帯域のスピーカ信号のパワーを算出し、パワーが大きい帯域のみを用いて遅延時間を推定する方法がある。図15において、遅延制御回路9は、マイク信号、スピーカ信号の周波数帯域を分割しダウンサンプリングする周波数帯域分割回路24a、24b、24c、24d、各周波数帯域におけるスピーカ信号のパワーを算出するパワー算出回路22、スピーカ信号のパワーに基づいて、相関関数算出のために用いる周波数帯域を決定するパワー判定回路25、各周波数帯域におけるマイク信号とスピーカ信号を用いて相関関数を算出する相関算出回路19、算出した各相関関数のピークを検出するピーク検出回路20、各周波数帯域にて求められた遅延時間のうち、最短の遅延時間を算出しスピーカとマイク間の遅延時間を決定する遅延推定回路21により構成されている。
【0138】
各周波数帯域分割回路にはマイク信号またはスピーカ信号が入力され、それぞれの信号毎に周波数帯域をK分割する。分割された周波数帯域毎に分割数Kでダウンサンプリングされる。分割されたスピーカ信号を周波数帯域ごとにミックスして、パワー算出回路24に入力し、各帯域におけるスピーカ信号のパワーを算出する。算出された各周波数帯域のパワーをパワー判定回路25に入力し、判定条件をもとに、遅延推定に用いる周波数帯域を決定する。相関算出回路19は、パワー判定回路により決定された周波数帯域の相関関数を算出し、図5と同じ手順で遅延時間の推定を行う。推定された遅延時間を遅延推定回路21に入力し、複数の遅延時間のうち最短の遅延時間をマイク信号とスピーカ信号との遅延時間とする。
【0139】
本実施例では、4つの周波数帯域のうちパワーの大きい上位2つの周波数帯域を用いて相関関数を算出し、遅延時間を推定している。
【0140】
上述したように、処理帯域をK分割し、Kでダウンサンプリングすることによって、帯域分割して相関関数を算出した場合の演算量は1/Kとなる。本実施例においては、周波数帯域12kHzを4つに分割し、更に4つの周波数帯域のうち半分の2つを用いて相関関数を算出しているため、全帯域を用いて演算を行う場合と比較して相関関数算出の演算量が1/8になる。
【0141】
なお、周波数帯域制限回路23や周波数帯域分割回路24にて帯域制限されたマイク信号とスピーカ信号は遅延時間推定のためだけに使われるため、他地点へ送られる音声の音質には影響は無い。
【0142】
以上のように、本発明によれば、複数の感度パターンを用いて、遅延時間を算出するので、確実にスピーカ15からマイク3に到達するまでの遅延時間を推定することができ、マイクの特性によらずエコー処理を安定的に行うことができる。
【0143】
つまり、複数の感度パターンによって、直接波の遅延時間を求めるため、1つの感度パターンにて反射波を直接波と誤認しても、他の感度パターンの遅延時間をスピーカ15からマイク3に到達するまでの遅延時間と推定するため、マイクの指向性を気にすることなく使用することができ、エコー処理を安定的に行うことができる。
【0144】
また、マイク素子が多数あって、何れかのマイク素子で直接波を確実に検知できる場合は、新たな感度パターンを生成せず遅延時間の推定を行うことができる。
【0145】
また、通常、TV会議端末1は、現在使用しているマイクが無指向性のマイクであるか、指向性のマイクであるか認識することができないが、本実施例のように行うことで、マイクの指向性を気にすることなく、TV会議を行うことができる。
【0146】
また、マイク素子のゲインによって直接波が検出しづらい状況でも、上記(数6)を使って、ゲインの補正を行いつつ遅延時間の推定を行うことができる。
【0147】
また、マイク信号とスピーカ信号の周波数帯域を制限、分割することで、演算量を削減することができる。
【産業上の利用可能性】
【0148】
本発明のエコーキャンセル装置、それを用いた会議システム、およびエコーキャンセル方法によれば、確実にエコー処理を行うことができるので、エコー処理を行う必要があり、複数のマイクを有するTV会議システム等に有用である。
【符号の説明】
【0149】
1 TV会議端末
2 TV
3 マイク
4 カメラ
5 インターネット
6 映像ADC
7 音声ADC
8 エコー抑圧部
9 遅延制御回路
10 AVエンコーダ
11 通信部
12 AVデコーダ
13 音声DAC
14 映像DAC
15 スピーカ
16 ディスプレイ
17 映像処理回路
18 遅延回路
19 相関算出回路
20 ピーク検出回路
21 遅延推定回路
22 パワー算出回路
23 周波数帯域制限回路
24 周波数帯域分割回路
25 パワー判定回路
26 エコーキャンセル装置
27 オーディオエンコーダ
28 オーディオデコーダ
29 遅延時間推定部

【特許請求の範囲】
【請求項1】
スピーカ信号を出力するスピーカと前記スピーカからの音を収音し複数のマイク素子を有するマイクが接続されたエコーキャンセル装置において、
前記複数のマイク素子から得られる複数のマイク信号を基に前記マイクの指向性を示す感度パターンが異なる複数の感度信号を生成する生成部と、
前記複数の感度信号からそれぞれ求められる前記マイク信号と前記スピーカ信号との遅延時間のうち最短の遅延時間を推定する遅延時間推定部と、
前記推定された最短の遅延時間を用いて前記複数のマイク信号のエコーを抑圧するエコー抑圧部と、を備えることを特徴とするエコーキャンセル装置。
【請求項2】
前記複数のマイク素子が2つのとき、前記感度信号は、1つの前記マイク信号から得られる感度信号をc1、c2、任意の実数をk1、k2とするとき、前記マイク信号から得られる感度信号cは以下の式であることを特徴とする請求項1に記載のエコーキャンセル装置。
c=k1・c1+k2・c2
【請求項3】
前記最短の遅延時間が第1の所定時間より大きい場合、前記最短の遅延時間から前記第1の所定時間を引いた時間を前記スピーカ信号の遅延時間とし、前記最短の遅延時間が前記第1の所定時間より小さい場合、前記最短の遅延時間を前記スピーカ信号の遅延時間とすることを特徴とする請求項1から2に記載のエコーキャンセル装置。
【請求項4】
前記遅延時間が変化したとき、その変化時間が第2の所定時間より小さい場合、変化前の前記遅延時間を前記スピーカ信号の遅延時間とすることを特徴とする請求項1から3に記載のエコーキャンセル装置。
【請求項5】
前記マイク信号と前記スピーカ信号の周波数帯域を制限する周波数帯域制限部を有し、前記遅延時間推定部において、前記周波数帯域制限部で帯域制限しダウンサンプリングされたマイク信号とスピーカ信号を前記遅延時間推定部に送ることを特徴とする請求項1から4に記載のエコーキャンセル装置。
【請求項6】
前記マイク信号と前記スピーカ信号の周波数帯域を分割し、ダウンサンプリングする周波数帯域分割部を有し、前記遅延時間推定部において、前記周波数帯域分割部により分割されたそれぞれの周波数帯域におけるマイク信号とスピーカ信号の周波数帯域別遅延時間を推定し、推定した前記周波数帯域別遅延時間のうち、最短の周波数帯域別遅延時間を前記遅延時間とすることを特徴とする請求項1から4に記載のエコーキャンセル装置。
【請求項7】
前記マイク信号と前記スピーカ信号の周波数帯域を分割し、ダウンサンプリングする周波数帯域分割部と、前記周波数帯域分割部により分割されたそれぞれの周波数帯域におけるスピーカ信号のパワーを算出するパワー算出部と、パワーに基づいて使用する周波数帯域を選択する判定部とを有し、前記判定部において判定された周波数帯域のマイク信号とスピーカ信号を前記遅延時間推定部に送ることを特徴とする請求項1から4に記載のエコーキャンセル装置。
【請求項8】
スピーカ信号を出力するスピーカと前記スピーカからの音を収音し複数のマイク素子を有するマイクが接続されたエコーキャンセル装置において、
前記複数のマイク素子から得られる複数のマイク信号を基に前記マイクの指向性を示す感度パターンが異なる複数の感度信号を生成するステップと、
前記複数の感度信号からそれぞれ求められる前記スピーカ信号と前記マイク信号との遅延時間のうち最短の遅延時間を推定するステップと、
前記最短の遅延時間を用いて前記複数のマイク信号のエコーを抑圧するステップと、を備えることを特徴とするエコーキャンセル方法。
【請求項9】
スピーカ信号を出力するスピーカと、
前記スピーカからの音を収音し複数のマイク素子を有するマイクと、
前記スピーカと前記マイクが接続されるエコーキャンセル装置と、を備えた会議システムにおいて、
前記エコーキャンセル装置は、
前記複数のマイク素子から得られる複数のマイク信号を基に前記マイクの指向性を示す感度パターンが異なる複数の感度信号を生成する生成部と、
前記複数の感度信号からそれぞれ求められる前記スピーカ信号と前記マイク信号との遅延時間のうち最短の遅延時間を推定する遅延時間推定部と、
前記最短の遅延時間を用いて前記複数のマイク信号のエコーを抑圧するエコー抑圧部と、を備えることを特徴とする会議システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−38763(P2013−38763A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2012−79156(P2012−79156)
【出願日】平成24年3月30日(2012.3.30)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】