説明

音声処理装置および方法、並びにプログラム

【課題】通話等の音声処理の開始を遅延させることなく、より迅速に適切なフィルタ係数を得ることができるようにする。
【解決手段】音響エコーキャンセラ装置11は、コンテンツを再生してスピーカ25からコンテンツの音声を出力する。音響エコーキャンセラ装置11は、この音声を利用して、マイクロホン26で収音される音声から、スピーカ25からマイクロホン26に到達するエコー成分を除去する処理に用いられるフィルタ係数を学習しておく。そして、音響エコーキャンセラ装置11は、テレビジョン電話の通話が指示されると、通話処理を開始する。このとき、音響エコーキャンセラ装置11は、予めコンテンツの音声を利用して更新されたフィルタ係数を用いて、ユーザにより発せられた音声から、スピーカ25からのエコー成分を除去する。本発明は、音声処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声処理装置および方法、並びにプログラムに関し、特に、音響エコーをキャンセルする場合に用いて好適な音声処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、テレビジョン電話機などにおいて、話者音声の音響結合によりエコーを除去する音響エコーキャンセラが知られている。例えば、テレビジョン電話機では、話者の音声を通話相手に送信するために収音すると、話者の音声だけでなく、スピーカから出力された通話相手の音声も収音されてしまうので、このような通話相手の音声(音響エコー)が音響エコーキャンセラで除去される。
【0003】
具体的には、スピーカから出力しようとする通話相手の音声に対して、適応デジタルフィルタを用いたフィルタ処理が行われて、マイクロホンにより収音される通話相手の音声の予測結果である擬似エコー信号が生成される。そして、実際にマイクロホンにより収音された音声から擬似エコー信号が減算されて得られた残差信号が、話者の音声として、通話相手に対して送信される。
【0004】
このとき音響エコーキャンセラでは、収音される通話相手の音声の予測精度を向上させるために、受信された通話相手の音声と残差信号とが用いられて、適応デジタルフィルタのフィルタ係数が随時更新される。
【0005】
このような音響エコーキャンセラを実際のテレビジョン電話機に適応すると、設置環境にもよるが、部屋の残響時間は数100msecにもおよぶため、この残響時間に対応するために必要なフィルタタップ数は数1000タップにもなり、膨大な演算が必要となる。また、フィルタ係数の値が収束するまでに長い時間を要するため、通話開始直後では、充分なエコー消去量を得ることができない。すなわち、通話開始直後は、充分に音響エコーを除去することができない。
【0006】
そこで、通話に先立って、白色雑音などのトレーニング信号をスピーカから出力させ、これを収音してフィルタ係数の更新を行なっておくことで、通話開始後、より迅速にフィルタ係数を収束させる学習方法が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平9−247246号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した技術では、フィルタ係数の学習により通話開始が遅延してしまうだけでなく、その学習には膨大な量の演算が必要となる。また、学習時にスピーカから出力される白色雑音等は、話者にとって耳障りであった。
【0009】
本発明は、このような状況に鑑みてなされたものであり、通話等の音声処理の開始を遅延させることなく、より迅速に適切なフィルタ係数を得ることができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の第1の側面の音声処理装置は、第1の音声処理の実行が指示された場合、前記第1の音声処理として、第1の音声信号に基づく音声を出力する音声出力手段と、周囲の音声を収音することでエコー信号を生成する収音手段と、前記第1の音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成するフィルタ手段と、前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成する減算手段と、前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタを更新する更新手段と、前記更新手段による前記適応デジタルフィルタの更新の頻度を制御する更新頻度制御手段とを備え、前記音声出力手段は、前記第1の音声処理後、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記第2の音声処理として、第2の音声信号に基づいて音声を出力し、前記フィルタ手段は、前記第2の音声処理時において、前記第2の音声信号に対して、前記第1の音声処理時に前記更新手段により更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、前記減算手段は、前記第2の音声処理時において、前記エコー信号から前記擬似エコー信号を減算することで、前記第2の音声処理に用いられる前記残差信号を生成する。
【0011】
前記更新頻度制御手段には、前記エコー信号と前記残差信号とに基づいてエコー消去量を算出させ、前記エコー消去量に応じて前記更新の頻度を増減させることができる。
【0012】
前記更新頻度制御手段には、前記エコー消去量が所定の閾値未満である場合、前記更新の頻度を増加させることができる。
【0013】
前記更新頻度制御手段には、前記エコー消去量が前記閾値未満である場合、前記更新手段を実現する制御装置により新たに処理可能な演算量が予め定めた値以上であるとき、前記更新の頻度を所定値だけ増加させ、前記演算量が前記予め定めた値未満であるとき、前記更新の頻度を前記所定値よりも少ない値だけ増加させることができる。
【0014】
前記更新頻度制御手段には、前記エコー消去量が所定の閾値以上である場合、前記更新の頻度を減少させることができる。
【0015】
前記第1の音声処理を、コンテンツを再生する処理とし、前記第2の音声処理を、相手との通話処理とすることができる。
【0016】
前記第1の音声処理を、音声によるルートガイド処理とし、前記第2の音声処理を、相手との通話処理とすることができる。
【0017】
前記更新頻度制御手段には、前記擬似エコー信号と前記残差信号の類似の度合い、または前記エコー信号と前記残差信号の類似の度合いに応じて、前記更新の頻度を増減させることができる。
【0018】
前記更新頻度制御手段には、ダブルトーク状態であると検知された場合、前記更新の頻度を減少させるか、または前記適応デジタルフィルタの更新を停止させることができる。
【0019】
本発明の第1の側面の音声処理方法またはプログラムは、第1の音声処理の実行が指示された場合、前記第1の音声処理として、第1の音声信号に基づく音声を音声出力手段に出力させ、収音手段に周囲の音声を収音させることでエコー信号を生成させ、前記第1の音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成し、前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成し、前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタを更新し、前記適応デジタルフィルタの更新の頻度を制御し、前記第1の音声処理後、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記第2の音声処理として、前記音声出力手段に第2の音声信号に基づいて音声を出力させ、前記第2の音声処理時において、前記第2の音声信号に対して、前記第1の音声処理時に更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、前記第2の音声処理時において、前記エコー信号から前記擬似エコー信号を減算することで、前記第2の音声処理に用いられる前記残差信号を生成するステップを含む。
【0020】
本発明の第1の側面においては、第1の音声処理の実行が指示された場合、前記第1の音声処理として、第1の音声信号に基づく音声が音声出力手段から出力され、収音手段により周囲の音声が収音されてエコー信号が生成され、前記第1の音声信号に対して、適応デジタルフィルタを用いたフィルタ処理が施されて擬似エコー信号が生成され、前記エコー信号から前記擬似エコー信号が減算されることで、前記音声出力手段から出力され、前記収音手段に到達する音声成分が前記エコー信号から除去されて、残差信号が生成され、前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタが更新され、前記適応デジタルフィルタの更新の頻度が制御される。そして、前記第1の音声処理後、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記第2の音声処理として、前記音声出力手段から第2の音声信号に基づいて音声が出力され、前記第2の音声処理時において、前記第2の音声信号に対して、前記第1の音声処理時に更新された前記適応デジタルフィルタを用いた前記フィルタ処理が施されることにより前記擬似エコー信号が生成され、前記第2の音声処理時において、前記エコー信号から前記擬似エコー信号を減算することで、前記第2の音声処理に用いられる前記残差信号が生成される。
【0021】
本発明の第2の側面の音声処理装置は、第1の音声処理の実行が指示された場合、前記第1の音声処理として、音声信号に基づく音声を出力する音声出力手段と、周囲の音声を収音することでエコー信号を生成する収音手段と、前記音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成するフィルタ手段と、前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成する減算手段と、前記残差信号および前記音声信号に基づいて、前記適応デジタルフィルタを更新する更新手段と、前記更新手段による前記適応デジタルフィルタの更新の頻度を制御する更新頻度制御手段とを備え、前記フィルタ手段は、前記第1の音声処理の実行中に、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記音声信号に対して、前記第1の音声処理時に前記更新手段により更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、前記第2の音声処理として、前記残差信号に基づいて、前記音声信号の再生制御、音量制御、または音色制御が行なわれる。
【0022】
本発明の第2の側面においては、第1の音声処理の実行が指示された場合、前記第1の音声処理として、音声信号に基づく音声が音声出力手段から出力され、収音手段により周囲の音声が収音されてエコー信号が生成され、前記音声信号に対して、適応デジタルフィルタを用いたフィルタ処理が施されて擬似エコー信号が生成され、前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分が前記エコー信号から除去されて、残差信号が生成され、前記残差信号および前記音声信号に基づいて、前記適応デジタルフィルタが更新され、前記適応デジタルフィルタの更新の頻度が制御される。そして、前記第1の音声処理の実行中に、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記音声信号に対して、前記第1の音声処理時に更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号が生成され、前記第2の音声処理として、前記残差信号に基づいて、前記音声信号の再生制御、音量制御、または音色制御が行なわれる。
【発明の効果】
【0023】
本発明の第1の側面および第2の側面によれば、音声処理の開始を遅延させることなく、より迅速に適切なフィルタ係数を得ることができる。
【図面の簡単な説明】
【0024】
【図1】本発明を適用した音響エコーキャンセラ装置の一実施の形態の構成例を示す図である。
【図2】音響エコーキャンセル処理を説明するフローチャートである。
【図3】事前学習処理を説明するフローチャートである。
【図4】フィルタ係数の更新頻度について説明する図である。
【図5】更新頻度制御処理を説明するフローチャートである。
【図6】通話処理を説明するフローチャートである。
【図7】音響エコーキャンセラ装置の他の構成例を示す図である。
【図8】音響エコーキャンセル処理を説明するフローチャートである。
【図9】事前学習処理を説明するフローチャートである。
【図10】通話処理を説明するフローチャートである。
【図11】音響エコーキャンセラ装置の他の構成例を示す図である。
【図12】音響エコーキャンセル処理を説明するフローチャートである。
【図13】事前学習処理を説明するフローチャートである。
【図14】再生制御処理を説明するフローチャートである。
【図15】音響エコーキャンセラ装置の他の構成例を示す図である。
【図16】音響エコーキャンセル処理を説明するフローチャートである。
【図17】事前学習処理を説明するフローチャートである。
【図18】音量制御処理を説明するフローチャートである。
【図19】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【0025】
以下、図面を参照して、本発明を適用した実施の形態について説明する。
【0026】
〈第1の実施の形態〉
[音響エコーキャンセラ装置の構成例]
図1は、本発明を適用した音響エコーキャンセラ装置の一実施の形態の構成例を示す図である。この音響エコーキャンセラ装置11は、例えばテレビジョン放送された番組を受信して再生するとともに、テレビジョン電話機としても機能する。
【0027】
すなわち、音響エコーキャンセラ装置11の受信部21は、テレビジョン放送された放送波を受信して、放送波から番組を構成する映像信号および音声信号を抽出する。受信部21は、抽出した映像信号を受信映像処理部22に供給し、抽出した音声信号を受信音声処理部23に供給する。
【0028】
受信映像処理部22は、受信部21からの映像信号をデコードし、液晶ディスプレイ等からなる表示部24に供給して映像を表示させる。受信音声処理部23は、受信部21から供給された音声信号をデコードし、スピーカ25−1およびスピーカ25−2に供給して音声を出力させる。
【0029】
例えば、スピーカ25−1には右チャンネルの音声信号が供給され、スピーカ25−2には左チャンネルの音声信号が供給される。なお、以下、スピーカ25−1およびスピーカ25−2を特に区別する必要のない場合、単にスピーカ25とも称する。
【0030】
このようにしてスピーカ25から出力された音声は、音響エコーキャンセラ装置11が設置された室内の壁や物体に反射され、エコー成分となってマイクロホン26−1およびマイクロホン26−2に収音される。マイクロホン26−1およびマイクロホン26−2は、周囲の音声を収音して得られた信号(以下、エコー信号と称する)を加算器27に供給する。なお、以下、マイクロホン26−1およびマイクロホン26−2を特に区別する必要のない場合、単にマイクロホン26とも称する。
【0031】
マイクロホン26から出力されたエコー信号は、加算器27で加算されてモノラル信号化された後、LPF(Low Pass Filter)28によりフィルタ処理され、さらに間引き器29により所定のサンプリング周波数にダウンサンプリングされる。間引き器29によりダウンサンプリングされたエコー信号は、減算器30および更新頻度制御部31に供給される。
【0032】
また、音響エコーキャンセラ装置11では、番組の再生時には、受信音声処理部23からスピーカ25−1およびスピーカ25−2に出力される音声信号は、スイッチ32−1およびスイッチ32−2を介して加算器33にも供給される。
【0033】
スイッチ32−1およびスイッチ32−2から加算器33に供給された音声信号は、加算器33において加算されてモノラル信号化された後、LPF34によりフィルタ処理され、さらに間引き器35により所定のサンプリング周波数にダウンサンプリングされる。そして、間引き器35から出力された音声信号は、スイッチ36を介してフィルタ部37、係数更新部38、および更新頻度制御部31に供給される。なお、以下、スイッチ32−1およびスイッチ32−2を特に区別する必要のない場合、単にスイッチ32とも称する。
【0034】
フィルタ部37は、スイッチ36からの音声信号に対し、係数更新部38から供給された、適応デジタルフィルタのフィルタ係数を用いたフィルタ処理を施すことで、スピーカ25から出力され、音響エコーキャンセラ装置11の周囲の環境を通ってマイクロホン26に収音されたエコー成分を予測する。フィルタ部37は、予測により得られた擬似エコー信号を減算器30に供給する。例えば、適応デジタルフィルタは、FIR(Finite Impulse Response)型のデジタルフィルタなどとされる。
【0035】
減算器30は、間引き器29から供給されたエコー信号から、フィルタ部37から供給された擬似エコー信号を減算して残差信号を生成し、係数更新部38、更新頻度制御部31、およびスイッチ39に供給する。
【0036】
ここで、マイクロホン26には、スピーカ25から出力された音声と、その他の音響エコーキャンセラ装置11周囲の音声(以下、環境音とも称する)とが含まれている。また、擬似エコー信号は、スピーカ25から出力され、マイクロホン26に収音される音声の予測信号である。したがって、エコー信号から擬似エコー信号を除去(減算)して得られる残差信号は、環境音の予測結果であるということができる。
【0037】
更新頻度制御部31は、制御部40から供給される演算リソース情報、スイッチ36からの音声信号、間引き器29からのエコー信号、および減算器30からの残差信号に基づいて、フィルタ係数の更新頻度を示す更新頻度情報を生成し、係数更新部38に供給する。
【0038】
ここで、演算リソース情報とは、係数更新部38を実現する図示せぬ制御装置が、現時点において新たに処理可能な演算量を示す情報である。係数更新部38は、更新頻度制御部31から供給された更新頻度情報に応じた頻度で、スイッチ36からの音声信号、および減算器30からの残差信号に基づき、フィルタ係数を更新する。
【0039】
さらに、音響エコーキャンセラ装置11は、テレビジョン電話機としての機能も備えている。すなわち、ネットワーク制御部41は、図示せぬ通信網や基地局を介して通話相手の装置(以下、遠端側とも称する)とIP(Internet Protocol)パケットの送受信を行なう。ネットワーク制御部41が受信するIPパケットには、通話相手からの音声信号と映像信号が格納されている。
【0040】
ネットワーク制御部41は、IPパケットから抽出した音声信号を、通話用受信音声処理部42に供給するとともに、IPパケットから抽出した映像信号を、図示せぬ通話用受信映像処理部を介して表示部24に供給し、映像を表示させる。
【0041】
通話用受信音声処理部42は、ネットワーク制御部41から供給された音声信号をデコードし、出力する。通話用受信音声処理部42から出力された音声信号は、スイッチ43−1およびスイッチ43−2を介して、スピーカ25−1およびスピーカ25−2に供給されるとともに、スイッチ36を介してフィルタ部37、係数更新部38、および更新頻度制御部31に供給される。以下、スイッチ43−1およびスイッチ43−2を特に区別する必要のない場合、単にスイッチ43とも称する。
【0042】
制御部40は、演算リソース情報を更新頻度制御部31に供給する。また、制御部40は、テレビジョン放送の番組の再生時において、スイッチ32をオンし、スイッチ36を間引き器35に接続するとともに、スイッチ43とスイッチ39をオフする。
【0043】
さらに、制御部40は、テレビジョン電話機能による通話を行なう場合、スイッチ32をオフし、スイッチ36を通話用受信音声処理部42に接続するとともに、スイッチ43とスイッチ39をオンする。したがって、この場合、通話用受信音声処理部42からの音声信号は、スイッチ36を介してフィルタ部37、係数更新部38、および更新頻度制御部31に供給され、この音声信号が用いられて、フィルタ係数の更新や擬似エコー信号の生成が行なわれる。
【0044】
通話用送信音声処理部44は、スイッチ39を介して減算器30から供給された残差信号を、音響エコーキャンセラ装置11を所持するユーザ(以下、近端側とも称する)により発せられた音声の音声信号としてエンコードし、ネットワーク制御部41に供給する。
【0045】
カメラ45は、近端側のユーザを撮影し、その結果得られた映像信号を、通話用送信画像処理部46に供給する。通話用送信画像処理部46は、カメラ45からの映像信号をエンコードし、ネットワーク制御部41に供給する。
【0046】
ネットワーク制御部41は、通話用送信音声処理部44からの音声信号と、通話用送信画像処理部46からの映像信号をIPパケットに格納し、図示せぬ通信網等を介して遠端側の装置に送信する。
【0047】
[音響エコーキャンセル処理の説明]
ところで、音響エコーキャンセラ装置11は、ユーザによりテレビジョン放送の番組の再生が指示されると、音響エコーキャンセル処理を開始して、指定された番組を再生する。
【0048】
この音響エコーキャンセル処理では、番組の再生が行われている間に、その番組の音声信号が利用されて、適応デジタルフィルタのフィルタ係数の学習が行なわれる。そして、ユーザによりテレビジョン電話による通話が指示されると、遠端側との通話が行なわれるとともに、通話時において、学習により得られたフィルタ係数が用いられて音響エコーがキャンセルされ、音響エコーのない音声が遠端側に送信される。
【0049】
以下、図2のフローチャートを参照して、音響エコーキャンセラ装置11による音響エコーキャンセル処理について説明する。
【0050】
ステップS11において、音響エコーキャンセラ装置11は、事前学習処理を行う。事前学習処理では、受信された番組が再生されるとともに、番組の音声信号が利用されて、フィルタ係数の学習が行なわれる。
【0051】
そして、番組の再生中に、ユーザにより音響エコーキャンセラ装置11が操作され、テレビジョン電話の通話の開始が指示されると、処理はステップS11からステップS12へと進む。なお、事前学習処理の詳細は後述する。
【0052】
ステップS12において、制御部40は、音響エコーキャンセラ装置11の各スイッチを制御して、情報の出力を切り替える。
【0053】
例えば、制御部40は、スイッチ32をオフし、スイッチ36を通話用受信音声処理部42に接続するとともに、スイッチ43とスイッチ39をオンする。これにより、テレビジョン電話による通話が可能となる。
【0054】
ステップS13において、音響エコーキャンセラ装置11は通話処理を行って、音響エコーキャンセル処理は終了する。なお、通話処理の詳細は後述するが、この通話処理においては、テレビジョン電話による通話が行なわれるとともに、事前学習処理により得られたフィルタ係数が用いられて、音響エコーをキャンセルする処理が行われる。
【0055】
このようにして、音響エコーキャンセラ装置11は、音響エコーをキャンセルする処理が行われるテレビジョン電話の通話処理が行われる前に、再生されている番組の音声信号を利用して、予めフィルタ係数の学習をしておく。
【0056】
したがって、実際に通話処理を行うときに、通話処理の開始を遅延させることなく、音響エコーキャンセラ装置11の周囲の環境により適したフィルタ係数を用いて、音響エコーのキャンセルを開始することができる。そのため、通話処理の開始後、少ない演算量で、より迅速にフィルタ係数を収束させることができる。しかも、フィルタ係数の学習には、再生されている番組の音声信号が用いられるため、白色雑音等を学習に用いる場合のように、ユーザが耳障りに感じるようなこともない。
【0057】
[事前学習処理の説明]
次に、図3のフローチャートを参照して、図2のステップS11の処理に対応する事前学習処理について説明する。なお、この事前学習処理の開始時においては、スイッチ32はオンされ、スイッチ36は間引き器35に接続され、スイッチ43とスイッチ39はオフされた状態となっている。
【0058】
ステップS41において、受信部21は放送波を受信して、放送波に含まれる映像信号および音声信号を、それぞれ受信映像処理部22および受信音声処理部23に供給する。
【0059】
ステップS42において、受信映像処理部22は、受信部21からの映像信号をデコードして表示部24に出力する。すると、表示部24は、供給された映像信号に基づいて、番組の映像を表示する。
【0060】
ステップS43において、受信音声処理部23は、受信部21から供給された音声信号をデコードして出力する。受信音声処理部23から出力された音声信号は、スピーカ25−1およびスピーカ25−2に供給されるとともに、スイッチ32を介して加算器33にも供給される。
【0061】
スピーカ25は、受信音声処理部23から供給された音声信号に基づいて、番組の音声を出力する。この音声は、スピーカ25から出力された後、音響エコーキャンセラ装置11の周囲の物体等で反射されてマイクロホン26に到達する。なお、以下、スピーカ25から出力された音声が通る、スピーカ25からマイクロホン26までの経路をエコー経路とも称することとする。
【0062】
また、加算器33は、スイッチ32−1およびスイッチ32−2から供給された音声信号を加算し、LPF34は加算器33により加算された音声信号に対してフィルタ処理を施し、間引き器35に供給する。そして、間引き器35は、LPF34から供給された音声信号をダウンサンプリングし、スイッチ36を介してフィルタ部37、係数更新部38、および更新頻度制御部31に供給する。
【0063】
ステップS44において、フィルタ部37は、間引き器35から供給された音声信号に基づいて擬似エコー信号を生成する。
【0064】
すなわち、フィルタ部37は係数更新部38からフィルタ係数を取得する。このフィルタ係数は、予め定められた初期値であってもよいし、最後に係数更新部38により更新されて保持された値であってもよい。
【0065】
フィルタ部37は、係数更新部38から取得したフィルタ係数を用いて次式(1)の計算を行なうことで、間引き器35からの音声信号に対してフィルタ処理を行い、擬似エコー信号y’(n)を生成する。
【0066】
【数1】

【0067】
なお、式(1)において、x(n)は、時刻nにおける音声信号のサンプルの値(サンプル値)を示している。また、h(k)は、時刻nの擬似エコー信号y’(n)を得るために、音声信号の時刻(n−k)(但し、0≦k≦N−1)のサンプルに乗算されるフィルタ係数である。
【0068】
したがって、時刻nのサンプルを含む、音声信号の連続する過去N個のサンプル値のそれぞれに、各サンプルのフィルタ係数h(k)が乗算され、それらのフィルタ係数が乗算されたサンプル値の総和が、時刻nの擬似エコー信号の値とされる。この例では、フィルタ係数h(k)は、Nタップで構成されるFIR型の適応デジタルフィルタとされている。
【0069】
ステップS45において、マイクロホン26−1およびマイクロホン26−2は、周囲の音声を収音し、その結果得られたエコー信号を加算器27に供給する。
【0070】
加算器27は、マイクロホン26から供給されたエコー信号を加算し、LPF28は加算器27により加算されたエコー信号に対してフィルタ処理を施し、間引き器29に供給する。そして、間引き器29は、LPF28から供給されたエコー信号をダウンサンプリングし、減算器30および更新頻度制御部31に供給する。
【0071】
なお、間引き器29および間引き器35において、収音されたエコー信号、および番組の音声信号のダウンサンプリングが行なわれるのは、これらの信号のサンプリング周波数を、テレビジョン電話の音声信号のサンプリング周波数にあわせるためである。
【0072】
ステップS46において、減算器30は、間引き器29から供給されたエコー信号と、フィルタ部37から供給された擬似エコー信号とに基づいて、次式(2)を計算し、残差信号e(n)を生成する。
【0073】
【数2】

【0074】
なお、式(2)において、y(n)およびy’(n)は、それぞれ時刻nにおけるエコー信号および擬似エコー信号の値(サンプル値)を示している。つまり、エコー信号y(n)から擬似エコー信号y’(n)が減算されて、時刻nの残差信号e(n)が求められる。
【0075】
減算器30は、得られた残差信号e(n)を係数更新部38および更新頻度制御部31に供給する。なお、番組の再生中は、スイッチ39はオフされているので、残差信号は通話用送信音声処理部44には供給されない。
【0076】
ステップS47において、更新頻度制御部31は、更新頻度制御処理を行う。なお、更新頻度制御処理の詳細は後述するが、更新頻度制御処理では、間引き器29からのエコー信号、減算器30からの残差信号、スイッチ36からの音声信号、および制御部40からの演算リソース情報に基づいて、フィルタ係数の更新頻度を示す更新頻度情報が生成され、係数更新部38に供給される。
【0077】
ここで、フィルタ係数の更新頻度とは、フィルタ係数の更新時において、適応デジタルフィルタを構成するN個のフィルタ係数のうちのいくつを1度に更新するかをいう。
【0078】
例えば、図4に示すように、適応デジタルフィルタのタップ数Nが16であり、更新頻度が4である場合、1度のフィルタ係数の更新時には16個のフィルタ係数のうちの4つのフィルタ係数が更新される。
【0079】
なお、図4において、1つの四角形は1つのフィルタ係数を示しており、図中、縦方向は時間を示している。また、各フィルタ係数の図中、上側には便宜上、フィルタ係数を特定するための番号が付されている。例えば、図中、左端のフィルタ係数は、1番目のフィルタ係数であり、式(1)におけるフィルタ係数h(0)に相当する。
【0080】
図4の例では、M回目のフィルタ係数の更新時(例えば、時刻M)には、1番目、5番目、9番目、および13番目の合計4つのフィルタ係数が更新され、他のフィルタ係数は更新されない。そして、(M+1)回目のフィルタ係数の更新時(例えば、時刻(M+1))には、2番目、6番目、10番目、および14番目の4つのフィルタ係数が更新される。
【0081】
さらに、(M+2)回目のフィルタ係数の更新時には、3番目、7番目、11番目、および15番目の4つのフィルタ係数が更新され、(M+3)回目のフィルタ係数の更新時には、4番目、8番目、12番目、および16番目の4つのフィルタ係数が更新される。
【0082】
したがって、この場合には、4回の更新により、適応デジタルフィルタを構成する全てのフィルタ係数が更新されることになる。なお、図4では、1度の更新時には、等間隔で並ぶ4つのフィルタ係数が更新される場合について説明したが、不等間隔に並ぶフィルタ係数など、まだ更新されていないフィルタ係数が更新されれば、どのフィルタ係数が更新されてもよい。
【0083】
図3のフローチャートの説明に戻り、ステップS47の更新頻度制御処理が行われ、更新頻度制御部31から係数更新部38に更新頻度情報が供給されると、その後、処理はステップS48に進む。
【0084】
ステップS48において、係数更新部38は、更新頻度制御部31から供給された更新頻度情報に応じた頻度で、間引き器35からの音声信号、および減算器30からの残差信号に基づいてフィルタ係数を更新する。
【0085】
例えば、係数更新部38は、時刻nから時刻(n−N+1)までの各時刻の音声信号x(n−j)(但し、0≦j≦N−1)、時刻nの残差信号e(n)、およびk番目のフィルタ係数h(k)に基づいて次式(3)を計算し、フィルタ係数を更新する。これにより、時刻(n+1)のk番目のフィルタ係数hn+1(k)が得られることになる。
【0086】
【数3】

【0087】
なお、式(3)において、μは収束係数であり、0<μ≦1である。また、更新が行なわれないフィルタ係数については、時刻nのフィルタ係数h(k)が、そのまま時刻(n+1)のフィルタ係数hn+1(k)として用いられる。このように式(3)にしたがってフィルタ係数を更新していく手法は、学習同定法アルゴリズムと呼ばれている。
【0088】
式(3)の演算により、新たにフィルタ係数を求めて更新していくことで、フィルタ係数は、エコー経路の伝達関数を模擬するように収束していき、実際にマイクロホン26で収音される、スピーカ25からの音声により近い擬似エコー信号が得られるようになる。つまり、エコー成分をより高精度に予測することができるようになる。
【0089】
係数更新部38は、フィルタ係数を更新すると、更新後の新たなフィルタ係数をフィルタ部37に供給し、処理はステップS49に進む。
【0090】
ステップS49において、音響エコーキャンセラ装置11は、ユーザによりテレビジョン電話の通話開始が指示されたか否かを判定する。ステップS49において、通話開始が指示されていないと判定された場合、処理はステップS41に戻り、上述した処理が繰り返される。
【0091】
これに対して、ステップS49において、通話開始が指示されたと判定された場合、事前学習処理は終了し、その後、処理は図2のステップS12に進む。これにより、音響エコーキャンセラ装置11における各スイッチが切り替えられて、テレビジョン電話の通話処理が行われる。
【0092】
このように事前学習処理では、テレビジョン電話の通話が開始される直前の、テレビジョン放送の番組の再生時にフィルタ係数を予め更新しておくので、フィルタ係数の更新に充分な時間と演算量を割り当てることができる。したがって、音響エコーキャンセラ装置11の周囲の環境に適したフィルタ係数を、それらのフィルタ係数が必要となる実際の通話処理前に得ることができる。
【0093】
[更新頻度制御処理の説明]
次に、図5のフローチャートを参照して、図3のステップS47の処理に対応する更新頻度制御処理について説明する。
【0094】
ステップS71において、更新頻度制御部31は、制御部40から演算リソース情報を取得する。
【0095】
例えば、制御部40は、係数更新部38やフィルタ部37を実現する、図示せぬCPU(Central Processing Unit)やDSP(Digital Signal Processor)等の制御装置が、現時点において、新たに処理可能な単位時間当たりの演算量を算出する。
【0096】
この新たに処理可能な演算量は、制御装置が処理可能な単位時間当たりの演算量の最大値から、現時点において制御装置により行なわれている処理の単位時間当たりの演算量を減算することで求められる。例えば、現時点で行なわれている処理とは、フィルタ部37によるフィルタ処理や、係数更新部38によるフィルタ係数の更新処理である。
【0097】
更新頻度制御部31は、このようにして求められた新たに処理可能な演算量を示す演算リソース情報を、制御部40から取得する。
【0098】
ステップS72において、更新頻度制御部31は、間引き器29からのエコー信号y(n)、および減算器30からの残差信号e(n)に基づいて、次式(4)を計算し、エコー消去量ERLE(Echo Return Loss Enhancement)を算出する。
【0099】
【数4】

【0100】
すなわち、残差信号の二乗値とエコー信号の二乗値との比の対数をとることにより、エコー消去量ERLEが算出される。このエコー消去量は、エコー信号と残差信号の電力比であり、擬似エコー信号により、エコー信号からどれだけエコー成分が除去されたかを示している。また、エコー消去量の単位はdBであり、エコー成分がより多く除去されているほど、エコー消去量の値は大きくなる。
【0101】
ステップS73において、更新頻度制御部31は、ダブルトーク状態であるか否かを判定する。ここで、ダブルトーク状態とは、スピーカ25から音声が出力されており、さらに近端側のマイクロホン26近傍で他の大きい音声が発せられている状態をいう。例えば、遠端側にいる通話相手と近端側の話者が同時に発話している状態が、ダブルトーク状態である。
【0102】
したがって、例えば更新頻度制御部31は、スイッチ36から供給された音声信号のパワーと、間引き器29から供給されたエコー信号のパワーとを比較することで、ダブルトーク状態であるか否かを判定する。具体的には、スイッチ36からの音声信号のパワーに基づいて、エコー信号に含まれるスピーカ25から出力された音声成分のパワーをある程度予測することができるので、エコー信号のパワーが、予測される音声成分のパワーよりも大幅に大きい場合、ダブルトーク状態とされる。例えば、スイッチ36からの音声信号とエコー信号とのパワーの差分が閾値以上である場合、ダブルトーク状態とされる。
【0103】
ステップS73において、ダブルトーク状態であると判定された場合、ステップS74において、更新頻度制御部31は更新頻度を下げる。
【0104】
例えば、ダブルトーク状態では、エコー信号には、近端側の音声も多く含まれているため、近端側の音声までも除去されるようにフィルタ係数の学習が進められてしまう。そこで、このような誤学習を防止するため、ダブルトーク状態であると検知された場合には、更新頻度制御部31は更新頻度を減少させ、減少後の更新頻度を示す更新頻度情報を係数更新部38に供給する。そして、新たな更新頻度情報が係数更新部38に供給されると、更新頻度制御処理は終了し、その後、処理は図3のステップS48に進む。なお、ステップS74において、フィルタ係数の更新が停止されるようにしてもよい。この場合、更新頻度が0とされる。
【0105】
また、ステップS73において、ダブルトーク状態でないと判定された場合、処理はステップS75へと進む。
【0106】
ステップS75において、更新頻度制御部31は、取得した演算リソース情報に基づいて、係数更新部38を実現する制御装置の演算リソースが充分にあるか否かを判定する。例えば、演算リソース情報が、予め定められた値以上である場合、演算リソースが充分にあると判定される。
【0107】
ステップS75において、演算リソースが充分にあると判定された場合、ステップS76において、更新頻度制御部31は、エコー消去量が充分であるか否かを判定する。例えば、算出されたエコー消去量ERLEが、予め定めた所定の値以上である場合、エコー消去量が充分であると判定される。
【0108】
ステップS76において、エコー消去量が充分であると判定された場合、ステップS77において、更新頻度制御部31は、更新頻度を下げる。
【0109】
例えば、エコー消去量が充分大きい場合、フィルタ係数は充分に収束しており、現時点において、音響エコーキャンセラ装置11の周囲の環境に適したフィルタ係数が既に得られている。すなわち、現時点では、フィルタ係数を頻繁に更新する必要はない。
【0110】
そこで、更新頻度制御部31は、更新頻度を減少させ、減少後の更新頻度を示す更新頻度情報を係数更新部38に供給する。例えば、適応デジタルフィルタのタップ数Nが16である場合、更新頻度がこれまでの値から2だけ下げられる。なお、更新頻度が予め定められた所定値まで下げられるようにしてもよい。
【0111】
このように、フィルタ係数が充分に収束している場合には、更新頻度を減少させて、フィルタ係数の更新の演算量を低減させれば、その分だけ制御装置は他の処理に演算リソースを割り当てることができるようになる。これにより、音響エコーキャンセラ装置11における各処理をより効率よく行うことができる。
【0112】
新たな更新頻度情報が係数更新部38に供給されると、更新頻度制御処理は終了し、その後、処理は図3のステップS48に進む。なお、ステップS76において、エコー消去量が充分であると判定された場合、特に更新頻度が変更されないようにしてもよい。
【0113】
また、ステップS76において、エコー消去量が充分でないと判定された場合、ステップS78において、更新頻度制御部31は更新頻度を大きく上げる。
【0114】
エコー消去量が充分でない場合、フィルタ係数はまだ充分に収束しておらず、さらなるフィルタ係数の更新が必要である。そこで、更新頻度制御部31は、エコー消去量が充分でなく、演算リソースが充分にある場合には、更新頻度を大きく増加させることで、より頻繁にフィルタ係数が更新されるようにする。例えば、適応デジタルフィルタのタップ数Nが16である場合、更新頻度がこれまでの値から4だけ上げられる。これにより、係数更新部38を実現する制御装置に無理な負荷をかけることなく、より迅速にフィルタ係数を収束させることができる。なお、更新頻度が予め定められた所定値まで上げられるようにしてもよい。
【0115】
新たな更新頻度情報が係数更新部38に供給されると、更新頻度制御処理は終了し、その後、処理は図3のステップS48に進む。
【0116】
また、ステップS75において、演算リソースが充分にないと判定された場合、ステップS79において、更新頻度制御部31は、エコー消去量が充分であるか否かを判定する。
【0117】
ステップS79において、エコー消去量が充分であると判定された場合、ステップS80において、更新頻度制御部31は、更新頻度を下げる。そして、更新頻度制御部31が新たな更新頻度情報を係数更新部38に供給すると、更新頻度制御処理は終了し、その後、処理は図3のステップS48に進む。
【0118】
この場合も、ステップS77における場合と同様に、エコー消去量が充分大きく、フィルタ係数は充分に収束しているので、フィルタ係数の更新頻度が下げられる。なお、ステップS80において、特に更新頻度が変更されないようにしてもよい。
【0119】
これに対して、ステップS79において、エコー消去量が充分でないと判定された場合、ステップS81において、更新頻度制御部31は更新頻度を少し上げる。
【0120】
エコー消去量が充分でない場合、フィルタ係数はまだ充分に収束しておらず、さらなるフィルタ係数の更新が必要である。ところが、演算リソースが充分にない場合、フィルタ係数の更新頻度を大きく上げると、係数更新部38を実現する制御装置に対する負荷が過度に大きくなってしまうことになる。
【0121】
そこで、更新頻度制御部31は、エコー消去量が充分でなく、演算リソースが充分にない場合には、フィルタ係数の更新頻度を少しだけ増加させる。例えば、適応デジタルフィルタのタップ数Nが16である場合、更新頻度が1だけ上げられる。これにより、制御装置に無理な負荷をかけることなく、より迅速にフィルタ係数を収束させることができる。
【0122】
なお、ステップS81における更新頻度の増加量は、ステップS78における更新頻度の増加量よりも少ない量とされる。
【0123】
新たな更新頻度情報が係数更新部38に供給されると、更新頻度制御処理は終了し、その後、処理は図3のステップS48に進む。
【0124】
このようにして、更新頻度制御部31は、演算リソース情報とエコー消去量とに基づいて、適切にフィルタ係数の更新頻度を変化させる。これにより、より効率よく音響エコーキャンセラ装置11の周囲の環境に適したフィルタ係数を得ることができる。
【0125】
例えば、フィルタ係数の学習が不充分な場合や、エコー経路に急激な変化が生じ、充分なエコー消去量が得られない場合でも、演算リソースに応じて適切にフィルタ係数の更新頻度を制御することにより、良好なエコー消去性能を得ることができる。
【0126】
また、エコー消去量が充分にある場合などに、フィルタ係数の更新頻度を減少させれば、フィルタ係数の更新に必要な演算量を削減することができる。例えば、図4に示した例では、全体の1/4の数のフィルタ係数ずつ更新を行なうので、従来と比べてフィルタ係数の更新に必要となる演算量を1/4に削減することができる。
【0127】
なお、フィルタ係数の更新頻度は、予め定められた数だけ増減されるようにしてもよいし、エコー消去量や演算リソース情報により定まる値となるように増減されてもよい。
【0128】
また、以上においては、演算リソース情報やエコー消去量に基づいて、更新頻度を増減させると説明したが、擬似エコー信号と残差信号との類似度や、エコー信号と残差信号の類似度に基づいて、更新頻度を増減させるようにしてもよい。
【0129】
例えば、擬似エコー信号と残差信号との類似度により更新頻度が定められる場合、更新頻度制御部31は、フィルタ部37から擬似エコー信号を取得し、この擬似エコー信号と残差信号との相互相関係数を算出する。この場合、相互相関係数の値が大きいほど、擬似エコー信号と残差信号の類似の度合いが大きいことになる。
【0130】
ここで、相互相関係数が所定の閾値以上である場合、擬似エコー信号と残差信号は類似しているので、エコー信号(残差信号)から、エコー成分が充分に除去されていないことになる。そこで、相互相関係数が閾値以上である場合には、更新頻度制御部31は、更新頻度を増加させ、新たな更新頻度情報を生成する。
【0131】
また、擬似エコー信号等の信号同士の類似の度合いと、エコー消去量との両方に基づいて、更新頻度が増減されるようにしてもよい。この場合、誤学習等を防止し、より適切な更新制御を実現することができる。このように各信号同士の類似の度合い、ダブルトーク状態であるかの判定結果、演算リソース情報、およびエコー消去量を適宜組み合わせて更新頻度を増減させれば、より適切な更新制御が可能となる。
【0132】
さらに、更新頻度制御部31が、擬似エコー信号等の信号同士の類似の度合いに基づいて、ダブルトーク状態であるか否かを特定するようにしてもよい。
【0133】
[通話処理の説明]
以上のようにして、事前学習処理が行われた後、音響エコーキャンセラ装置11の各スイッチによる情報の出力が切り替えられると、図2のステップS13において、通話処理が行われる。
【0134】
以下、図6のフローチャートを参照して、ステップS13の処理に対応する通話処理について説明する。なお、通話処理の開始時においては、スイッチ32はオフされ、スイッチ36は通話用受信音声処理部42に接続され、スイッチ43とスイッチ39はオンされた状態となっている。
【0135】
ステップS101において、ネットワーク制御部41は、通信網等を介して遠端側から送信されてきたIPパケットを受信する。ネットワーク制御部41は、受信したIPパケットから映像信号および音声信号を抽出し、映像信号および音声信号を、それぞれ図示せぬ通話用受信映像処理部および通話用受信音声処理部42に供給する。
【0136】
ステップS102において、ネットワーク制御部41は、通話用受信映像処理部に映像信号をデコードさせて表示部24に出力させる。表示部24は、通話用受信映像処理部から供給された映像信号に基づいて、遠端側のユーザの映像を表示する。すなわち、テレビジョン電話の映像が表示される。
【0137】
ステップS103において、通話用受信音声処理部42は、ネットワーク制御部41からの音声信号をデコードし、その結果得られた音声信号を、スイッチ43を介してスピーカ25に出力するとともに、音声信号をスイッチ36を介してフィルタ部37、係数更新部38、および更新頻度制御部31に出力する。スピーカ25は、通話用受信音声処理部42からの音声信号に基づいて、遠端側のユーザの音声を出力する。
【0138】
これにより、音響エコーキャンセラ装置11では、遠端側からのテレビジョン電話の映像と音声が出力されることになる。これに応じて、近端側のユーザは、マイクロホン26に向かって発話し、遠端側との通話を行なう。
【0139】
ステップS104において、フィルタ部37は、係数更新部38からフィルタ係数を取得し、このフィルタ係数を用いて、通話用受信音声処理部42からの音声信号に対するフィルタ処理を行うことで、擬似エコー信号を生成する。
【0140】
ステップS104では、上述した事前学習処理のステップS44と同様の処理が行われる。なお、このとき係数更新部38から取得されるフィルタ係数は、事前学習処理により学習されたフィルタ係数である。つまり、このフィルタ係数は、充分なエコー消去量を得ることができるフィルタ係数である。
【0141】
ステップS105において、マイクロホン26−1およびマイクロホン26−2は、周囲の音声を収音し、その結果得られたエコー信号を加算器27に供給する。ここで、マイクロホン26で収音される音声には、スピーカ25から出力された遠端側の音声(エコー成分)と、近端側のユーザにより発話された音声とが含まれている。
【0142】
マイクロホン26が収音して得られたエコー信号は、加算器27で加算されてモノラル信号化され、LPF28でフィルタ処理された後、さらに間引き器29によりダウンサンプリングされる。間引き器29は、ダウンサンプリングにより得られたエコー信号を、減算器30および更新頻度制御部31に供給する。
【0143】
ステップS106において、減算器30は、間引き器29から供給されたエコー信号と、フィルタ部37から供給された擬似エコー信号とに基づいて、上述した式(2)を計算し、残差信号を生成する。
【0144】
この残差信号は、主にエコー成分と近端側のユーザの音声とからなるエコー信号から、エコー成分の予測結果である擬似エコー信号を減算して得られる信号であるから、近端側のユーザの音声の音声信号であるということができる。
【0145】
減算器30は、このようにして得られた残差信号を、テレビジョン電話の近端側の音声として、係数更新部38、更新頻度制御部31、および通話用送信音声処理部44に供給する。また、通話用送信音声処理部44は、減算器30からの残差信号をエンコードし、近端側の音声信号としてネットワーク制御部41に供給する。
【0146】
ステップS107において、カメラ45は、近端側のユーザを撮影し、その結果得られた映像信号を、テレビジョン電話の近端側の映像の映像信号として、通話用送信画像処理部46に供給する。通話用送信画像処理部46は、カメラ45からの映像信号をエンコードし、ネットワーク制御部41に供給する。
【0147】
ステップS108において、ネットワーク制御部41は、通話用送信音声処理部44からの音声信号と、通話用送信画像処理部46からの映像信号をIPパケットに格納し、図示せぬ通信網等を介して遠端側の装置に送信する。これにより、テレビジョン電話の近端側の映像と音声が、遠端側に送信されたことになる。
【0148】
ステップS109において、更新頻度制御部31は、更新頻度制御処理を行って更新頻度情報を生成し、係数更新部38に供給する。なお、ステップS109の更新頻度制御処理は、図5を参照して説明した更新頻度制御処理と同様であるので、その説明は省略する。
【0149】
ステップS110において、係数更新部38は、更新頻度制御部31から供給された更新頻度情報に応じた頻度で、通話用受信音声処理部42からの音声信号、および減算器30からの残差信号に基づいて上述した式(3)を計算し、フィルタ係数を更新する。係数更新部38は、更新後のフィルタ係数をフィルタ部37に供給する。
【0150】
ステップS111において、音響エコーキャンセラ装置11は、テレビジョン電話の通話を終了するか否かを判定する。例えば、ユーザにより通話の終了が指示された場合、通話を終了すると判定される。
【0151】
ステップS111において、通話を終了しないと判定された場合、処理はステップS101に戻り、上述した処理が繰り返される。すなわち、テレビジョン電話の通話とともに、遠端側に送信される音声について、エコー成分を除去(キャンセル)する処理が行われる。
【0152】
これに対して、ステップS111において、通話を終了すると判定された場合、通話処理は終了し、これにより図2の音響エコーキャンセル処理も終了する。
【0153】
以上のように、テレビジョン電話の通話時には、その通話の開始直前に学習された、充分に収束したフィルタ係数を用いてエコー成分をキャンセルする処理を行うので、通話開始直後から、少ない演算で充分なエコー消去量を得ることができる。しかも、通話開始前に、学習用の白色雑音等が耳障りとなるようなこともない。
【0154】
〈第2の実施の形態〉
[音響エコーキャンセラ装置の構成例]
なお、以上においては、音響エコーキャンセラ装置の例として、テレビジョン電話機能を有するテレビジョン受像機の場合について説明したが、音響エコーキャンセラ装置は、この例に限られるものではない。すなわち、音響エコーキャンセラ装置は、エコー成分をキャンセルしようとする音声処理とは異なる音声処理において、予めフィルタ係数の学習を行なうものであれば、どのようなものであってもよい。
【0155】
以下、このような音響エコーキャンセラ装置の他の例について説明する。図7は、音響エコーキャンセラ装置の他の実施の形態の構成例を示す図である。なお、図7において、図1における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【0156】
図7の音響エコーキャンセラ装置71は、例えば、いわゆるハンズフリー通話機能を有するPND(Portable Navigation Device)などから構成される。
【0157】
主制御部81は、図示せぬ加速度センサやGPS(Global Positioning System)から得られた情報を解析し、その解析結果を映像処理部82および音声処理部83に供給する。
【0158】
映像処理部82は、主制御部81からの解析結果に基づいて、音響エコーキャンセラ装置71が搭載された車両等の現在位置が表示される地図情報を生成し、表示部24に表示させる。音声処理部83は、主制御部81からの解析結果に基づいて、現在位置に応じたルートガイド音声の音声信号を生成し、スピーカ25に供給する。また、音声処理部83から出力された音声信号は、スイッチ32、LPF34、間引き器35、およびスイッチ36を介して、フィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0159】
さらに、スピーカ25から出力された音声は、音響エコーキャンセラ装置71が設置された車両内の壁や物体に反射され、エコー成分としてマイクロホン26に収音される。そして、マイクロホン26が収音して得られたエコー信号は、スイッチ84を介して減算器30および更新頻度制御部31に供給されるか、またはLPF28、間引き器29、およびスイッチ84を介して減算器30および更新頻度制御部31に供給される。
【0160】
通信制御部85は、図示せぬ通信網等を介して遠端側の装置と通信し、電話の通話を制御する。すなわち、通信制御部85は、遠端側から送信されてきた音声信号を受信して、通話用受信音声処理部42に供給するとともに、通話用送信音声処理部44から供給された音声信号を、遠端側の装置に送信する。
【0161】
制御部40は、ルートガイド時において、スイッチ32をオンし、スイッチ36を間引き器35に接続し、スイッチ84を間引き器29に接続するとともに、スイッチ43とスイッチ39をオフする。
【0162】
これに対して、制御部40は、ハンズフリー通話機能による通話を行なう場合、スイッチ32をオフし、スイッチ36を通話用受信音声処理部42に接続し、スイッチ84をマイクロホン26に接続するとともに、スイッチ43とスイッチ39をオンする。
【0163】
[音響エコーキャンセル処理の説明]
次に、音響エコーキャンセラ装置71の動作について説明する。例えば、音響エコーキャンセラ装置71は、ユーザによりルートガイドの開始が指示されると、音響エコーキャンセル処理を開始してルートガイドを行なう。
【0164】
この音響エコーキャンセル処理では、ルートガイドが行われている間に、そのルートガイドの音声信号が利用されて、適応デジタルフィルタのフィルタ係数の学習が行なわれる。そして、ユーザによりハンズフリー通話機能による通話が指示されると、遠端側との通話が行なわれるとともに、通話時において、学習により得られたフィルタ係数が用いられて音響エコーがキャンセルされ、音響エコーのない音声が遠端側に送信される。
【0165】
以下、図8のフローチャートを参照して、音響エコーキャンセラ装置71による音響エコーキャンセル処理について説明する。
【0166】
ステップS141において、音響エコーキャンセラ装置71は、事前学習処理を行う。事前学習処理では、地図情報が表示されてルートガイドの音声が出力されるとともに、ルートガイドの音声信号が利用されて、フィルタ係数の学習が行なわれる。そして、ルートガイド中に、ユーザにより音響エコーキャンセラ装置71が操作され、ハンズフリー通話機能による通話の開始が指示されると、処理はステップS141からステップS142へと進む。なお、事前学習処理の詳細は後述する。
【0167】
ステップS142において、制御部40は、音響エコーキャンセラ装置71の各スイッチを制御して、情報の出力を切り替える。
【0168】
すなわち、制御部40は、スイッチ32をオフし、スイッチ36およびスイッチ84を、それぞれ通話用受信音声処理部42およびマイクロホン26に接続するとともに、スイッチ43とスイッチ39をオンする。これにより、遠端側との通話が可能となる。
【0169】
ステップS143において、音響エコーキャンセラ装置71は通話処理を行って、音響エコーキャンセル処理は終了する。なお、通話処理の詳細は後述するが、この通話処理においては、ハンズフリー通話機能による通話が行なわれるとともに、事前学習処理により得られたフィルタ係数が用いられて、音響エコーをキャンセルする処理が行われる。
【0170】
このようにして、音響エコーキャンセラ装置71は、音響エコーをキャンセルする処理が行われる通話処理が行われる前に、ルートガイドの音声信号を利用して、予めフィルタ係数の学習をしておく。
【0171】
したがって、実際に通話処理を行うときに、通話処理の開始を遅延させることなく、適切なフィルタ係数を用いて、音響エコーのキャンセルを開始することができる。そのため、通話処理の開始後、少ない演算量で、より迅速にフィルタ係数を収束させることができる。
【0172】
[事前学習処理の説明]
次に、図9のフローチャートを参照して、図8のステップS141の処理に対応する事前学習処理について説明する。なお、この事前学習処理の開始時においては、スイッチ32はオンされ、スイッチ36は間引き器35に接続され、スイッチ84は間引き器29に接続され、スイッチ43とスイッチ39はオフされた状態となっている。
【0173】
ステップS171において、主制御部81は、加速度センサやGPSなどの各種のセンサから取得した情報を解析し、その解析結果を映像処理部82および音声処理部83に供給する。
【0174】
ステップS172において、映像処理部82は、主制御部81からの解析結果に基づいて、現在位置が表示される地図情報を生成し、表示部24に出力する。すると、表示部24は、供給された地図情報を表示する。
【0175】
ステップS173において、音声処理部83は、主制御部81からの解析結果に基づいて、現在位置に応じたルートガイド音声の音声信号を生成し、出力する。音声処理部83から出力された音声信号は、スピーカ25に供給されるとともに、スイッチ32を介してLPF34にも供給される。
【0176】
スピーカ25は、音声処理部83から供給された音声信号に基づいて、ルートガイドの音声を出力する。この音声は、エコー経路を通ってマイクロホン26に到達する。
【0177】
また、音声処理部83からLPF34に供給された音声信号は、LPF34によりフィルタ処理された後、間引き器35でダウンサンプリングされ、スイッチ36を介して、フィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0178】
ステップS174において、フィルタ部37は、上述した式(1)を計算し、係数更新部38からのフィルタ係数、および間引き器35からの音声信号に基づいて擬似エコー信号を生成する。フィルタ部37は、生成された擬似エコー信号を減算器30に供給する。
【0179】
ステップS175において、マイクロホン26は、周囲の音声を収音し、その結果得られたエコー信号をLPF28に供給する。LPF28に供給されたエコー信号は、LPF28でフィルタ処理された後、間引き器29でダウンサンプリングされ、スイッチ84を介して減算器30および更新頻度制御部31に供給される。
【0180】
ステップS176において、減算器30は上述した式(2)を計算し、残差信号を生成する。すなわち、減算器30は、スイッチ84からのエコー信号から、フィルタ部37からの擬似エコー信号を減算し、その結果得られた残差信号を係数更新部38および更新頻度制御部31に供給する。
【0181】
残差信号が生成されると、その後、ステップS177およびステップS178の処理が行われてフィルタ係数が更新されるが、これらの処理は図3のステップS47およびステップS48の処理と同様であるため、その説明は省略する。
【0182】
ステップS179において、音響エコーキャンセラ装置71は、ユーザによりハンズフリー通話機能による通話の開始が指示されたか否かを判定する。ステップS179において、通話開始が指示されていないと判定された場合、処理はステップS171に戻り、上述した処理が繰り返される。
【0183】
これに対して、ステップS179において、通話開始が指示されたと判定された場合、事前学習処理は終了し、その後、処理は図8のステップS142に進む。これにより、音響エコーキャンセラ装置71における各スイッチが切り替えられて、ハンズフリー通話機能による通話処理が行われる。
【0184】
このように事前学習処理では、ハンズフリー通話機能による通話が開始される直前の、ルートガイド処理時にフィルタ係数を予め更新しておくので、フィルタ係数の更新に充分な時間と演算量を割り当てることができる。したがって、より適切なフィルタ係数を、それらのフィルタ係数が必要となる実際の通話処理前に得ることができる。
【0185】
[通話処理の説明]
以上のようにして、事前学習処理が行われた後、音響エコーキャンセラ装置71の各スイッチによる情報の出力が切り替えられると、図8のステップS143において、通話処理が行われる。
【0186】
以下、図10のフローチャートを参照して、ステップS143の処理に対応する通話処理について説明する。なお、通話処理の開始時においては、スイッチ32はオフされ、スイッチ36およびスイッチ84は、それぞれ通話用受信音声処理部42およびマイクロホン26に接続され、スイッチ43とスイッチ39はオンされた状態となっている。
【0187】
ステップS201において、通信制御部85は、遠端側から送信されてきた音声信号を受信して、通話用受信音声処理部42に供給する。
【0188】
ステップS202において、通話用受信音声処理部42は、通信制御部85からの音声信号をデコードし、その結果得られた音声信号を、スイッチ43を介してスピーカ25に出力するとともに、スイッチ36を介してフィルタ部37、係数更新部38、および更新頻度制御部31に出力する。スピーカ25は、通話用受信音声処理部42からの音声信号に基づいて、遠端側のユーザの音声を出力する。
【0189】
これにより、音響エコーキャンセラ装置71では、遠端側からの音声が出力されることになる。これに応じて、近端側のユーザは、マイクロホン26に向かって発話し、遠端側との通話を行なう。
【0190】
ステップS203において、フィルタ部37は、係数更新部38からフィルタ係数を取得し、このフィルタ係数を用いて、通話用受信音声処理部42からの音声信号に対するフィルタ処理を行うことで、擬似エコー信号を生成する。例えば、上述した式(1)の計算が行なわれ、擬似エコー信号が生成される。この擬似エコー信号は、フィルタ部37から減算器30に供給される。
【0191】
なお、ステップS203の処理で用いられるフィルタ係数は、予め事前学習処理により学習されたフィルタ係数である。
【0192】
ステップS204において、マイクロホン26は、周囲の音声を収音し、その結果得られたエコー信号を、スイッチ84を介して減算器30および更新頻度制御部31に供給する。ここで、マイクロホン26で収音される音声には、スピーカ25から出力された遠端側の音声(エコー成分)と、近端側のユーザにより発話された音声とが含まれている。
【0193】
ステップS205において、減算器30は、マイクロホン26から供給されたエコー信号と、フィルタ部37から供給された擬似エコー信号とに基づいて、上述した式(2)を計算し、残差信号を生成する。
【0194】
減算器30は得られた残差信号を、近端側の音声として、係数更新部38、更新頻度制御部31、および通話用送信音声処理部44に供給する。また、通話用送信音声処理部44は、減算器30からの残差信号をエンコードし、近端側の音声信号として通信制御部85に供給する。
【0195】
ステップS206において、通信制御部85は、通話用送信音声処理部44からの音声信号を、図示せぬ通信網等を介して遠端側の装置に送信する。
【0196】
遠端側に音声信号が送信されると、その後ステップS207およびステップS208の処理が行われてフィルタ係数が更新されるが、これらの処理は図6のステップS109およびステップS110の処理と同様であるので、その説明は省略する。但し、ステップS208において、係数更新部38では、通話用受信音声処理部42からの音声信号が用いられて、フィルタ係数が更新される。
【0197】
ステップS209において、音響エコーキャンセラ装置71は、ハンズフリー通話機能による通話を終了するか否かを判定する。例えば、ユーザにより通話の終了が指示された場合、通話を終了すると判定される。
【0198】
ステップS209において、通話を終了しないと判定された場合、処理はステップS201に戻り、上述した処理が繰り返される。
【0199】
これに対して、ステップS209において、通話を終了すると判定された場合、通話処理は終了し、これにより図8の音響エコーキャンセル処理も終了する。
【0200】
以上のように、ハンズフリー通話機能による通話時には、その通話の開始直前に学習された、充分に収束したフィルタ係数を用いてエコー成分をキャンセルする処理を行うので、通話開始直後から、少ない演算で充分なエコー消去量を得ることができる。
【0201】
〈第3の実施の形態〉
[音響エコーキャンセラ装置の構成例]
図11は、音響エコーキャンセラ装置の他の実施の形態の構成例を示す図である。なお、図11において、図1における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【0202】
図11の音響エコーキャンセラ装置121は、例えば、動画像や楽曲等のコンテンツを再生する際に、ユーザの音声により再生の制御を行なう音声リモートコントロール機能を有する再生装置などから構成される。
【0203】
記録装置131には、コンテンツを構成する映像信号と音声信号が記録されており、主制御部132は、指定されたコンテンツの映像信号および音声信号を記録装置131から読み出して、映像再生処理部133および音声再生処理部134に供給する。
【0204】
なお、再生対象となるコンテンツが音声信号のみから構成される場合には、その音声信号のみが読み出されて音声再生処理部134に供給されるが、以下においては、コンテンツは映像信号と音声信号から構成されるものとして、説明を続ける。
【0205】
映像再生処理部133は、主制御部132から供給された映像信号をデコードし、表示部24に供給して映像を表示させる。音声再生処理部134は、主制御部132から供給された音声信号をデコードし、スピーカ25−1、スピーカ25−2、および加算器33に供給する。例えば、スピーカ25−1には右チャンネルの音声信号が供給され、スピーカ25−2には左チャンネルの音声信号が供給される。
【0206】
音声再生処理部134から加算器33に供給された音声信号は、加算器33で加算され、LPF34および間引き器35を介してフィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0207】
また、スピーカ25から出力された音声は、音響エコーキャンセラ装置121が設置された室内の壁や物体に反射され、エコー成分となってマイクロホン26に収音される。そして、マイクロホン26が収音して得られたエコー信号は、LPF28および間引き器29を介して、減算器30および更新頻度制御部31に供給される。
【0208】
さらに制御部40は、更新頻度制御部31に演算リソース情報を供給するとともに、スイッチ135のオン、オフを制御する。このスイッチ135は、残差信号が出力される減算器30と、音声認識処理部136とを接続するものであり、スイッチ135は、音声リモートコントロール機能による再生制御が行われる場合にオンされる。
【0209】
音声認識処理部136は、減算器30から供給された残差信号に基づいて音声認識を行い、その認識結果を主制御部132に供給する。
【0210】
すなわち、音声リモートコントロール機能による再生制御が行われる場合、近端側のユーザは、再生中のコンテンツの停止、早送り、巻き戻り、再生するコンテンツの選択等の再生制御のコマンドに対応する音声をマイクロホン26に対して発する。したがって、減算器30に入力されるエコー信号には、スピーカ25からのコンテンツの音声と、ユーザから発せられた再生制御のコマンドに対応する音声とが含まれている。そのため、このエコー信号から擬似エコー信号を減算して得られる残差信号は、再生制御のコマンドに対応する音声の信号となる。
【0211】
音声認識処理部136は、このような残差信号に対する音声認識処理を行って、ユーザにより発せられた音声が示す再生制御のコマンドを特定し、主制御部132は、その特定結果に応じてコンテンツの再生を制御する。
【0212】
[音響エコーキャンセル処理の説明]
次に、音響エコーキャンセラ装置121の動作について説明する。例えば、音響エコーキャンセラ装置121は、ユーザによりコンテンツの再生開始が指示されると、音響エコーキャンセル処理を開始してコンテンツを再生する。
【0213】
この音響エコーキャンセル処理では、コンテンツの再生中に、そのコンテンツの音声信号が利用されて、適応デジタルフィルタのフィルタ係数の学習が行なわれる。そして、ユーザにより音声リモートコントロール機能による再生制御の開始が指示されると、ユーザの音声に応じてコンテンツの再生が制御されるとともに、その音声の認識精度を向上させるため、フィルタ係数が用いられて音響エコーがキャンセルされる。
【0214】
以下、図12のフローチャートを参照して、音響エコーキャンセラ装置121による音響エコーキャンセル処理について説明する。
【0215】
ステップS231において、音響エコーキャンセラ装置121は、事前学習処理を行う。事前学習処理では、コンテンツが再生されて映像と音声が出力されるとともに、コンテンツの音声信号が利用されて、フィルタ係数の学習が行なわれる。そして、コンテンツ再生中に、ユーザにより音響エコーキャンセラ装置121が操作され、音声リモートコントロール機能による再生制御の開始が指示されると、処理はステップS231からステップS232へと進む。なお、事前学習処理の詳細は後述する。
【0216】
ステップS232において、制御部40は、スイッチ135を制御して、情報の出力を切り替える。すなわち、スイッチ135がオンされて、減算器30から出力される残差信号が、音声認識処理部136に供給されるようになる。これにより、音声リモートコントロール機能による再生制御が可能となる。
【0217】
ステップS233において、音響エコーキャンセラ装置121は再生制御処理を行って、音響エコーキャンセル処理は終了する。なお、再生制御処理の詳細は後述するが、この再生制御処理においては、音声認識によるコンテンツの再生制御が行なわれるとともに、事前学習処理により得られたフィルタ係数が用いられて、音響エコーをキャンセルする処理が行われる。
【0218】
このようにして、音響エコーキャンセラ装置121は、音響エコーをキャンセルする処理が行われる再生制御処理が行われる前に、コンテンツの音声信号を利用して、予めフィルタ係数の学習をしておく。
【0219】
したがって、実際に音声認識による再生制御処理を行うときに、再生制御処理の開始を遅延させることなく、適切なフィルタ係数を用いて、音響エコーのキャンセルを開始することができる。そのため、再生制御処理の開始後、少ない演算量で、より迅速にフィルタ係数を収束させることができる。
【0220】
[事前学習処理の説明]
次に、図13のフローチャートを参照して、図12のステップS231の処理に対応する事前学習処理について説明する。なお、この事前学習処理の開始時においては、スイッチ135はオフされた状態となっている。
【0221】
ステップS261において、主制御部132は、コンテンツを再生する。すなわち、主制御部132は、ユーザにより指定されたコンテンツの映像信号および音声信号を記録装置131から読み出して、映像再生処理部133および音声再生処理部134に供給する。
【0222】
映像再生処理部133は、主制御部132からの映像信号をデコードし、表示部24に供給して映像を表示させる。また、音声再生処理部134は、主制御部132からの音声信号をデコードし、スピーカ25および加算器33に供給する。
【0223】
これにより、表示部24にはコンテンツの映像が表示され、スピーカ25からはコンテンツの音声が出力されることになる。スピーカ25から出力された音声は、エコー経路を通ってマイクロホン26に到達する。
【0224】
また、加算器33に供給された音声信号は、加算器33において加算された後、LPF34でフィルタ処理され、さらに間引き器35でダウンサンプリングされて、フィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0225】
ステップS262において、フィルタ部37は、上述した式(1)を計算し、係数更新部38からのフィルタ係数、および間引き器35からの音声信号に基づいて擬似エコー信号を生成する。フィルタ部37は、生成された擬似エコー信号を減算器30に供給する。
【0226】
ステップS263において、マイクロホン26は、周囲の音声を収音し、その結果得られたエコー信号をLPF28に供給する。LPF28に供給されたエコー信号は、LPF28でフィルタ処理された後、間引き器29でダウンサンプリングされ、減算器30および更新頻度制御部31に供給される。
【0227】
マイクロホン26により音声が収音されると、その後、ステップS264乃至ステップS266の処理が行われてフィルタ係数が更新されるが、これらの処理は図3のステップS46乃至ステップS48の処理と同様であるため、その説明は省略する。
【0228】
ステップS267において、音響エコーキャンセラ装置121は、ユーザにより音声リモートコントロール機能による再生制御の開始が指示されたか否かを判定する。ステップS267において、再生制御開始が指示されていないと判定された場合、処理はステップS261に戻り、上述した処理が繰り返される。
【0229】
これに対して、ステップS267において、再生制御開始が指示されたと判定された場合、事前学習処理は終了し、その後、処理は図12のステップS232に進む。これにより、スイッチ135がオンされて、音声リモートコントロール機能による再生制御処理が行われる。
【0230】
このように事前学習処理では、音声リモートコントロール機能による再生制御が開始される直前の、コンテンツの再生時にフィルタ係数を予め更新しておくので、フィルタ係数の更新に充分な時間と演算量を割り当てることができる。したがって、より適切なフィルタ係数を、それらのフィルタ係数が必要となる実際の再生制御処理前に得ることができる。
【0231】
[再生制御処理の説明]
以上のようにして、事前学習処理が行われた後、スイッチ135がオンされると、図12のステップS233において、再生制御処理が行われる。
【0232】
以下、図14のフローチャートを参照して、ステップS233の処理に対応する再生制御処理について説明する。
【0233】
ステップS291において、主制御部132はコンテンツを再生する。すなわち、図13のステップS261と同様の処理が行われて、これまで再生されていたコンテンツが継続して再生される。このとき、音声再生処理部134から出力された音声信号は、加算器33乃至間引き器35を介して、フィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0234】
ステップS292において、フィルタ部37は、係数更新部38からフィルタ係数を取得し、このフィルタ係数を用いて、間引き器35からの音声信号に対するフィルタ処理を行うことで、擬似エコー信号を生成する。例えば、上述した式(1)の計算が行なわれ、擬似エコー信号が生成される。この擬似エコー信号は、フィルタ部37から減算器30に供給される。なお、ステップS292の処理で用いられるフィルタ係数は、事前学習処理による学習で得られたフィルタ係数である。
【0235】
ステップS293において、マイクロホン26は、周囲の音声を収音し、その結果得られたエコー信号を、LPF28および間引き器29を介して減算器30および更新頻度制御部31に供給する。ここで、マイクロホン26で収音される音声には、スピーカ25から出力されたコンテンツの音声(エコー成分)と、近端側のユーザにより発話された音声とが含まれている。
【0236】
ステップS294において、減算器30は、間引き器29から供給されたエコー信号と、フィルタ部37から供給された擬似エコー信号とに基づいて、上述した式(2)を計算し、残差信号を生成する。減算器30は得られた残差信号を、ユーザから発せられた再生制御のコマンドに対応する音声として、係数更新部38、更新頻度制御部31、および音声認識処理部136に供給する。
【0237】
ステップS295において、音声認識処理部136は、減算器30から供給された残差信号に対する音声認識処理を行い、ユーザにより発せられた音声に対応するコンテンツの再生制御のコマンドを特定する。そして、音声認識処理部136は、再生制御のコマンドの特定結果を主制御部132に供給する。
【0238】
ステップS296において、主制御部132は、音声認識処理部136から供給された再生制御のコマンドの特定結果に応じて、コンテンツの再生を制御する。例えば、主制御部132は、再生中のコンテンツの早送りを示す特定結果が音声認識処理部136から供給された場合、映像再生処理部133および音声再生処理部134に対して、所定の再生速度で映像および音声を再生させる。
【0239】
コンテンツの再生制御が行なわれると、その後ステップS297およびステップS298の処理が行われてフィルタ係数が更新されるが、これらの処理は図6のステップS109およびステップS110の処理と同様であるので、その説明は省略する。但し、ステップS298において、係数更新部38では、間引き器35からの音声信号が用いられて、フィルタ係数が更新される。
【0240】
ステップS299において、音響エコーキャンセラ装置121は、処理を終了するか否かを判定する。例えば、ユーザによりコンテンツの再生終了や、音声リモートコントロール機能の終了が指示された場合、処理を終了すると判定される。
【0241】
ステップS299において、処理を終了しないと判定された場合、処理はステップS291に戻り、上述した処理が繰り返される。
【0242】
これに対して、ステップS299において、処理を終了すると判定された場合、再生制御処理は終了し、これにより図12の音響エコーキャンセル処理も終了する。
【0243】
以上のように、音声リモートコントロール機能の実行時には、その開始直前に学習された、充分に収束したフィルタ係数を用いてエコー成分をキャンセルする処理を行うので、再生制御処理の開始直後から、少ない演算で充分なエコー消去量を得ることができる。
【0244】
〈第4の実施の形態〉
[音響エコーキャンセラ装置の構成例]
図15は、音響エコーキャンセラ装置の他の実施の形態の構成例を示す図である。なお、図15において、図1における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【0245】
図15の音響エコーキャンセラ装置161は、例えばテレビジョン放送の番組の再生時に、周囲の環境音に応じて番組の音声に対してイコライザ処理を施し、音声をより聞き取り易くするイコライザ機能を有するテレビジョン受像機等から構成される。
【0246】
受信部21で受信された放送波から抽出され、受信音声処理部23から出力された番組の音声信号は、調整器171−1および調整器171−2に供給される。調整器171−1および調整器171−2は、受信音声処理部23からの音声信号に対し、適宜、イコライザ処理を施して音声の音量や音色を調整し、その結果得られた音声信号をスピーカ25−1およびスピーカ25−2に供給するとともに、加算器33に供給する。なお、以下、調整器171−1および調整器171−2を特に区別する必要のない場合、単に調整器171とも称する。
【0247】
調整器171から加算器33に供給された音声信号は、加算器33で加算されてモノラル信号化され、間引き器35を介してフィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0248】
また、スピーカ25から出力された音声は、音響エコーキャンセラ装置161が設置された室内の壁や物体に反射され、エコー成分となってマイクロホン26に収音される。そして、マイクロホン26が収音して得られたエコー信号は、間引き器29を介して、減算器30および更新頻度制御部31に供給される。
【0249】
制御部40は、更新頻度制御部31に演算リソース情報を供給するとともに、間引き器35および間引き器29における間引き数、つまりダウンサンプリング後の信号のサンプリング周波数を適宜、変更させる。
【0250】
また、制御部40は、スイッチ172のオン、オフを制御する。このスイッチ172は、残差信号が出力される減算器30と、イコライザ制御部173とを接続するものである。スイッチ172は、イコライザ機能によるイコライザ処理が行われる場合にオンされる。イコライザ制御部173は、減算器30から供給された残差信号に基づいて、調整器171によるイコライザ処理を制御する。
【0251】
[音響エコーキャンセル処理の説明]
次に、音響エコーキャンセラ装置161の動作について説明する。例えば、音響エコーキャンセラ装置161は、ユーザによりテレビジョン放送されている番組の再生開始が指示されると、音響エコーキャンセル処理を開始して番組を再生する。
【0252】
この音響エコーキャンセル処理では、番組の再生中に、番組の音声信号が利用されて、適応デジタルフィルタのフィルタ係数の学習が行なわれる。そして、ユーザによりイコライザ機能によるイコライザ処理が指示されると、周囲の環境音に応じて番組の音声に対するイコライザ処理が行われるとともに、より適切なイコライザ処理が施されるように、フィルタ係数が用いられて音響エコーがキャンセルされる。
【0253】
以下、図16のフローチャートを参照して、音響エコーキャンセラ装置161による音響エコーキャンセル処理について説明する。
【0254】
ステップS321において、音響エコーキャンセラ装置161は、事前学習処理を行う。事前学習処理では、番組が再生されて映像と音声が出力されるとともに、番組の音声信号が利用されて、フィルタ係数の学習が行なわれる。そして、番組再生中に、ユーザにより音響エコーキャンセラ装置161が操作され、イコライザ機能によるイコライザ処理の開始が指示されると、処理はステップS321からステップS322へと進む。なお、事前学習処理の詳細は後述する。
【0255】
ステップS322において、制御部40は、スイッチ172を制御して、情報の出力を切り替える。すなわち、スイッチ172がオンされて、減算器30から出力される残差信号が、イコライザ制御部173に供給されるようになる。これにより、イコライザ機能によるイコライザ処理が可能となる。
【0256】
また、制御部40は、間引き器35および間引き器29を制御して、これらの間引き器35および間引き器29における間引き数を、予め定められた数に変更させる。
【0257】
ステップS323において、音響エコーキャンセラ装置161は音量制御処理を行って、音響エコーキャンセル処理は終了する。なお、音量制御処理の詳細は後述するが、音量制御処理においては、イコライザ機能により、番組の音声信号にイコライザ処理が施されるとともに、事前学習処理により得られたフィルタ係数が用いられて、音響エコーをキャンセルする処理が行われる。
【0258】
このようにして、音響エコーキャンセラ装置161は、音響エコーをキャンセルする処理が行われる音量制御処理が行われる前に、番組の音声信号を利用して、予めフィルタ係数の学習をしておく。
【0259】
したがって、実際に音量制御処理を行うときに、音量制御処理の開始を遅延させることなく、適切なフィルタ係数を用いて、音響エコーのキャンセルを開始することができる。そのため、音量制御処理の開始後、少ない演算量で、より迅速にフィルタ係数を収束させることができる。
【0260】
[事前学習処理の説明]
次に、図17のフローチャートを参照して、図16のステップS321の処理に対応する事前学習処理について説明する。
【0261】
なお、この事前学習処理の開始時においては、スイッチ172はオフされた状態となっている。また、ステップS351乃至ステップS353の処理は、図3のステップS41乃至ステップS43の処理と同様であるため、その説明は省略する。
【0262】
但し、ステップS353では、受信音声処理部23から出力された番組の音声信号は、調整器171を介して、スピーカ25および加算器33に供給される。このとき、調整器171では、特に音声信号に対するイコライザ処理は行われない。
【0263】
スピーカ25から番組の音声が出力されると、この音声は、エコー経路を通ってマイクロホン26に到達する。また、マイクロホン26には、番組の音声の他、音響エコーキャンセラ装置161の周囲の環境音(騒音)も入力される。
【0264】
さらに、調整器171から加算器33に供給された音声信号は、加算器33において加算された後、間引き器35でダウンサンプリングされて、フィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0265】
ステップS354において、フィルタ部37は、上述した式(1)を計算し、係数更新部38からのフィルタ係数、および間引き器35からの音声信号に基づいて擬似エコー信号を生成する。フィルタ部37は、生成された擬似エコー信号を減算器30に供給する。
【0266】
ステップS355において、マイクロホン26は、周囲の音声を収音し、その結果得られたエコー信号を間引き器29に供給する。間引き器29に供給されたエコー信号は、間引き器29でダウンサンプリングされ、減算器30および更新頻度制御部31に供給される。
【0267】
ステップS355の処理が行われると、その後、ステップS356乃至ステップS358の処理が行われるが、これらの処理は図3のステップS46乃至ステップS48の処理と同様であるため、その説明は省略する。
【0268】
ステップS359において、音響エコーキャンセラ装置161は、ユーザによりイコライザ機能によるイコライザ処理の開始が指示されたか否かを判定する。ステップS359において、イコライザ処理の開始が指示されていないと判定された場合、処理はステップS351に戻り、上述した処理が繰り返される。
【0269】
これに対して、ステップS359において、イコライザ処理の開始が指示されたと判定された場合、事前学習処理は終了し、その後、処理は図16のステップS322に進む。これにより、スイッチ172がオンされて、イコライザ機能によるイコライザ処理が行われる。
【0270】
このように事前学習処理では、イコライザ機能の実行開始直前の、番組の再生時にフィルタ係数を予め更新しておくので、フィルタ係数の更新に充分な時間と演算量を割り当てることができる。したがって、より適切なフィルタ係数を、それらのフィルタ係数が必要となる実際のイコライザ処理前に得ることができる。
【0271】
[音量制御処理の説明]
以上のようにして、事前学習処理が行われた後、スイッチ172がオンされると、図16のステップS323において、音量制御処理が行われる。
【0272】
以下、図18のフローチャートを参照して、ステップS323の処理に対応する音量制御処理について説明する。なお、ステップS381およびステップS382の処理は、図17のステップS351およびステップS352の処理と同様であるので、その説明は省略する。
【0273】
また、ステップS381の処理が行われると、受信部21から受信音声処理部23には、番組の音声信号が供給される。受信音声処理部23は、供給された音声信号をデコードして、調整器171に供給する。
【0274】
ステップS383において、調整器171は、イコライザ制御部173の制御にしたがって、受信音声処理部23から供給された音声信号に対してイコライザ処理を施し、スピーカ25および加算器33に供給する。例えば、イコライザ処理により、番組の音声の音量や音色が制御される。
【0275】
また、加算器33に供給された音声信号は、加算器33で加算され、間引き器35でダウンサンプリングされた後、フィルタ部37、係数更新部38、および更新頻度制御部31に供給される。
【0276】
ステップS384において、スピーカ25は、調整器171から供給された音声信号に基づいて、番組の音声を出力する。この音声は、エコー経路を通ってマイクロホン26に到達する。
【0277】
ステップS385において、フィルタ部37は、係数更新部38からフィルタ係数を取得し、このフィルタ係数を用いて、間引き器35からの音声信号に対するフィルタ処理を行うことで、擬似エコー信号を生成する。例えば、上述した式(1)の計算が行なわれ、擬似エコー信号が生成される。この擬似エコー信号は、フィルタ部37から減算器30に供給される。なお、ステップS385の処理で用いられるフィルタ係数は、事前学習処理により予め学習されたフィルタ係数である。
【0278】
ステップS386において、マイクロホン26は、周囲の音声を収音し、その結果得られたエコー信号を、間引き器29を介して減算器30および更新頻度制御部31に供給する。ここで、マイクロホン26で収音される音声には、スピーカ25から出力された音声(エコー成分)と、周囲の環境音とが含まれている。
【0279】
ステップS387において、減算器30は、間引き器29から供給されたエコー信号と、フィルタ部37から供給された擬似エコー信号とに基づいて、上述した式(2)を計算し、残差信号を生成する。減算器30は得られた残差信号を環境音の信号として、係数更新部38、更新頻度制御部31、およびイコライザ制御部173に供給する。
【0280】
ステップS388において、イコライザ制御部173は、減算器30から供給された残差信号に基づいて、調整器171によるイコライザ処理を制御する。
【0281】
例えば、イコライザ制御部173は、残差信号に対する解析を行い、その結果得られた周囲の環境音の大きさや周波数特性から、番組の音声の最適な音量や音色を決定する。そして、イコライザ制御部173は、決定された音量や音色でスピーカ25から音声が出力されるように、ステップS383における調整器171の動作を制御する。これにより、音響エコーキャンセラ装置161の周囲の騒音が大きい場合でも、ユーザは、容易に番組の音声を聞き取ることができるようになる。
【0282】
イコライザ処理の制御が行われると、その後、ステップS389およびステップS390の処理が行われてフィルタ係数が更新されるが、これらの処理は図6のステップS109およびステップS110の処理と同様であるので、その説明は省略する。但し、ステップS390において、係数更新部38では、間引き器35からの音声信号が用いられて、フィルタ係数が更新される。
【0283】
ステップS391において、音響エコーキャンセラ装置161は、処理を終了するか否かを判定する。例えば、ユーザにより番組の再生終了や、イコライザ機能の終了が指示された場合、処理を終了すると判定される。
【0284】
ステップS391において、処理を終了しないと判定された場合、処理はステップS381に戻り、上述した処理が繰り返される。
【0285】
これに対して、ステップS391において、処理を終了すると判定された場合、音量制御処理は終了し、これにより図16の音響エコーキャンセル処理も終了する。
【0286】
以上のように、イコライザ機能の実行時には、その開始直前に学習された、充分に収束したフィルタ係数を用いてエコー成分をキャンセルする処理を行うので、音量制御処理開始直後から、少ない演算で充分なエコー消去量を得ることができる。
【0287】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0288】
図19は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0289】
コンピュータにおいて、CPU501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
【0290】
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、キーボード、マウス、マイクロホンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507、ハードディスクや不揮発性のメモリなどよりなる記録部508、ネットワークインターフェースなどよりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511を駆動するドライブ510が接続されている。
【0291】
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
【0292】
コンピュータ(CPU501)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0293】
そして、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
【0294】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0295】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0296】
11 音響エコーキャンセラ装置, 23 受信音声処理部, 25−1,25−2,25 スピーカ, 26−1,26−2,26 マイクロホン, 30 減算器, 31 更新頻度制御部, 37 フィルタ部, 38 係数更新部, 40 制御部, 44 通話用送信音声処理部

【特許請求の範囲】
【請求項1】
第1の音声処理の実行が指示された場合、前記第1の音声処理として、第1の音声信号に基づく音声を出力する音声出力手段と、
周囲の音声を収音することでエコー信号を生成する収音手段と、
前記第1の音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成するフィルタ手段と、
前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成する減算手段と、
前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタを更新する更新手段と、
前記更新手段による前記適応デジタルフィルタの更新の頻度を制御する更新頻度制御手段と
を備え、
前記音声出力手段は、前記第1の音声処理後、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記第2の音声処理として、第2の音声信号に基づいて音声を出力し、
前記フィルタ手段は、前記第2の音声処理時において、前記第2の音声信号に対して、前記第1の音声処理時に前記更新手段により更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、
前記減算手段は、前記第2の音声処理時において、前記エコー信号から前記擬似エコー信号を減算することで、前記第2の音声処理に用いられる前記残差信号を生成する
音声処理装置。
【請求項2】
前記更新頻度制御手段は、前記エコー信号と前記残差信号とに基づいてエコー消去量を算出し、前記エコー消去量に応じて前記更新の頻度を増減させる
請求項1に記載の音声処理装置。
【請求項3】
前記更新頻度制御手段は、前記エコー消去量が所定の閾値未満である場合、前記更新の頻度を増加させる
請求項2に記載の音声処理装置。
【請求項4】
前記更新頻度制御手段は、前記エコー消去量が前記閾値未満である場合、前記更新手段を実現する制御装置により新たに処理可能な演算量が予め定めた値以上であるとき、前記更新の頻度を所定値だけ増加させ、前記演算量が前記予め定めた値未満であるとき、前記更新の頻度を前記所定値よりも少ない値だけ増加させる
請求項3に記載の音声処理装置。
【請求項5】
前記更新頻度制御手段は、前記エコー消去量が所定の閾値以上である場合、前記更新の頻度を減少させる
請求項2に記載の音声処理装置。
【請求項6】
前記第1の音声処理は、コンテンツを再生する処理であり、前記第2の音声処理は、相手との通話処理である
請求項2に記載の音声処理装置。
【請求項7】
前記第1の音声処理は、音声によるルートガイド処理であり、前記第2の音声処理は、相手との通話処理である
請求項2に記載の音声処理装置。
【請求項8】
前記更新頻度制御手段は、前記擬似エコー信号と前記残差信号の類似の度合い、または前記エコー信号と前記残差信号の類似の度合いに応じて、前記更新の頻度を増減させる
請求項1に記載の音声処理装置。
【請求項9】
前記更新頻度制御手段は、ダブルトーク状態であると検知された場合、前記更新の頻度を減少させるか、または前記適応デジタルフィルタの更新を停止させる
請求項1に記載の音声処理装置。
【請求項10】
第1の音声処理の実行が指示された場合、前記第1の音声処理として、第1の音声信号に基づく音声を出力する音声出力手段と、
周囲の音声を収音することでエコー信号を生成する収音手段と、
前記第1の音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成するフィルタ手段と、
前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成する減算手段と、
前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタを更新する更新手段と、
前記更新手段による前記適応デジタルフィルタの更新の頻度を制御する更新頻度制御手段と
を備える音声処理装置の音声処理方法であって、
前記音声出力手段が、前記第1の音声処理として、前記第1の音声信号に基づく音声を出力し、
前記収音手段が、前記エコー信号を生成し、
前記フィルタ手段が、前記第1の音声信号に基づいて前記擬似エコー信号を生成し、
前記減算手段が、前記エコー信号および前記擬似エコー信号から前記残差信号を生成し、
前記更新手段が、前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタを更新し、
前記更新頻度制御手段が、前記更新の頻度を制御し、
前記音声出力手段が、前記第1の音声処理後、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記第2の音声処理として、第2の音声信号に基づいて音声を出力し、
前記フィルタ手段が、前記第2の音声処理時において、前記第2の音声信号に対して、前記第1の音声処理時に前記更新手段により更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、
前記減算手段が、前記第2の音声処理時において、前記エコー信号から前記擬似エコー信号を減算することで、前記第2の音声処理に用いられる前記残差信号を生成する
ステップを含む音声処理方法。
【請求項11】
第1の音声処理の実行が指示された場合、前記第1の音声処理として、第1の音声信号に基づく音声を音声出力手段に出力させ、
収音手段に周囲の音声を収音させることでエコー信号を生成させ、
前記第1の音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成し、
前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成し、
前記残差信号および前記第1の音声信号に基づいて、前記適応デジタルフィルタを更新し、
前記適応デジタルフィルタの更新の頻度を制御し、
前記第1の音声処理後、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記第2の音声処理として、前記音声出力手段に第2の音声信号に基づいて音声を出力させ、
前記第2の音声処理時において、前記第2の音声信号に対して、前記第1の音声処理時に更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、
前記第2の音声処理時において、前記エコー信号から前記擬似エコー信号を減算することで、前記第2の音声処理に用いられる前記残差信号を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項12】
第1の音声処理の実行が指示された場合、前記第1の音声処理として、音声信号に基づく音声を出力する音声出力手段と、
周囲の音声を収音することでエコー信号を生成する収音手段と、
前記音声信号に対して、適応デジタルフィルタを用いたフィルタ処理を施して擬似エコー信号を生成するフィルタ手段と、
前記エコー信号から前記擬似エコー信号を減算することで、前記音声出力手段から出力され、前記収音手段に到達する音声成分を前記エコー信号から除去して、残差信号を生成する減算手段と、
前記残差信号および前記音声信号に基づいて、前記適応デジタルフィルタを更新する更新手段と、
前記更新手段による前記適応デジタルフィルタの更新の頻度を制御する更新頻度制御手段と
を備え、
前記フィルタ手段は、前記第1の音声処理の実行中に、前記第1の音声処理とは異なる第2の音声処理の実行が指示された場合、前記音声信号に対して、前記第1の音声処理時に前記更新手段により更新された前記適応デジタルフィルタを用いた前記フィルタ処理を施すことにより前記擬似エコー信号を生成し、
前記第2の音声処理として、前記残差信号に基づいて、前記音声信号の再生制御、音量制御、または音色制御が行なわれる
音声処理装置。

【図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

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−134923(P2012−134923A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−287450(P2010−287450)
【出願日】平成22年12月24日(2010.12.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】