情報処理装置、情報処理方法、およびプログラム
【課題】エコー成分を迅速に抑圧できるようにする。
【解決手段】スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数が推定される。第1の信号と振幅周波数関数とから推定エコー信号が生成される。第2の信号から推定エコー信号が抑圧される。そして、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、振幅周波数関数の係数が変更される。
【解決手段】スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数が推定される。第1の信号と振幅周波数関数とから推定エコー信号が生成される。第2の信号から推定エコー信号が抑圧される。そして、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、振幅周波数関数の係数が変更される。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は情報処理装置、情報処理方法、およびプログラムに関し、特にエコー成分を迅速に抑圧する情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
テレビ会議システムにおいては、第1の装置と第2の装置との間で通信が行われる。第1の装置において、相手側の音声(すなわち第2の装置から送られてきた音声)がスピーカから放音されると、その音声がマイクロフォンで集音され、相手側(すなわち第2の装置)に送信されることがある。このような場合、いわゆるエコー現象が発生する。
【0003】
このエコー現象を抑圧するために、種々の提案がなされている(例えば特許文献1)。
【0004】
特許文献1の技術では、マイクロフォンの出力信号、またはスピーカの出力信号から線形エコーキャンセラの出力信号を減算した信号の一方が第1の信号とされ、線形エコーキャンセラの出力信号が第2の信号とされる。近端音声の有無を表す音声検出信号に基づいて、第1および第2の信号の各周波数成分毎に、第1の信号と第2の信号とからエコーの漏れこみ具合の推定値が算出される。そしてこの算出された推定値に基づいて第1の信号を補正することで、第1の信号からエコー成分を除去した近端信号が生成される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−56453号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、提案されている技術では、音声の出力レベルが変更された場合、エコー成分を十分抑圧できるようになるのに時間がかかる。
【0007】
本技術はこのような状況に鑑みてなされたものであり、エコー成分を迅速に抑圧できるようにするものである。
【課題を解決するための手段】
【0008】
本技術の一側面は、スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定部と、前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成部と、前記第2の信号から前記推定エコー信号を抑圧する抑圧部とを備え、前記推定部は、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、前記振幅周波数関数の係数を変更する情報処理装置である。
【0009】
前記相関が、予め定められている閾値より高い場合、前記係数を一定値だけ変更することができる。
【0010】
前記相関が、前記閾値より低い場合、前記係数を変更しないことができる。
【0011】
前記第1の信号は、前記スピーカに出力される信号の周波数領域の信号とし、前記第2の信号は、前記マイクロフォンから入力された信号の周波数領域の信号とすることができる。
【0012】
前記周波数領域の第1の信号と第2の信号から、瞬時振幅周波数関数を算出する算出部をさらに備え、前記推定部は、前記瞬時振幅周波数関数から前記振幅周波数関数を推定することができる。
【0013】
前記推定エコー信号が抑圧された、前記周波数領域の前記第2の信号は、時間領域の信号に変換されることができる。
【0014】
本技術の一側面の方法およびプログラムは、上述した本技術の一側面の情報処理装置に対応する方法およびプログラムである。
【0015】
本技術の一側面においては、スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数が推定され、第1の信号と振幅周波数関数とから推定エコー信号が生成され、第2の信号から推定エコー信号が抑圧され、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、振幅周波数関数の係数が変更される。
【発明の効果】
【0016】
以上のように、本技術の一側面によれば、エコー成分を迅速に抑圧することができる。
【図面の簡単な説明】
【0017】
【図1】本技術の情報処理システムの構成を示すブロック図である。
【図2】適応エコーサブトラクション部の構成を示すブロック図である。
【図3】振幅周波数関数推定部の構成を示すブロック図である。
【図4】第1の情報処理装置の出力処理を説明するフローチャートである。
【図5】第1の情報処理装置の入力処理を説明するフローチャートである。
【図6】振幅周波数関数推定処理を説明するフローチャートである。
【図7】更新係数の具体的な例を示す図である。
【図8】情報処理システムの動作の概略を説明する図である。
【図9】情報処理システムの動作を模式的に説明する図である。
【図10】振幅周波数関数推定部の比較する構成を示すブロック図である。
【図11】比較する情報処理システムの動作を模式的に説明する図である。
【図12】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。なお、説明は以下の順序で行う。
1.情報処理システムの構成
2.情報処理システムの動作
3.動作の概念的な説明
4.本技術のプログラムへの適用
5.その他
【0019】
<1.情報処理システムの構成>
【0020】
図1は、本技術の情報処理システム1の構成を示すブロック図である。
【0021】
例えばテレビ会議システムを構成する情報処理システム1は、第1の情報処理装置11、第2の情報処理装置12、並びに両者を接続する通信回線13により構成されている。通信回線13は、例えばイーサーネット(商標)等のデジタル通信が可能な通信回線である。なお、通信回線13には、インターネットその他のネットワークを含むことができる。また、この情報処理システム1においては、映像信号の処理に関する構成については省略されている。
【0022】
第1の情報処理装置11は、近端装置31、スピーカ32、およびマイクロフォン33により構成される。
【0023】
近端装置31は、増幅部51、A/D変換器52、適応エコーサブトラクション部53、音声コーデック部54、通信部55、D/A変換器56、および増幅部57により構成されている。
【0024】
マイクロフォン33は、第1の情報処理装置11のユーザの声を入力する。増幅部51は、マイクロフォン33からの入力を増幅する。増幅部51の増幅率はユーザがボリューム(図示せず)を操作することで、任意の値に設定、変更することができる。A/D変換器52は、増幅部51からの音声信号をアナログ信号からデジタル信号に変換する。適応エコーサブトラクション部53は、例えばデジタルシグナルプロセッサ(DSP)により構成され、A/D変換器52から入力される信号に対して、スピーカ32から出力される音声に起因する雑音成分としてのエコー成分を抑圧する処理を実行する。
【0025】
音声コーデック部54は、マイクロフォン33より入力された音声信号を、通信回線13を介して第2の情報処理装置12に送信するために、テレビ会議システム1で定められている符号に変換する処理、すなわちエンコードする処理を実行する。また、音声コーデック部54は、第2の情報処理装置12から通信回線13を介して第1の情報処理装置11に送信されてきた符号をデコードする処理を実行する。
【0026】
D/A変換器56は、音声コーデック部54より供給された音声信号を、デジタル信号からアナログ信号に変換する。増幅部57はD/A変換器56から出力されたアナログの音声信号を増幅する。増幅部57の増幅率はユーザがボリューム(図示せず)を操作することで、任意の値に設定、変更することができる。スピーカ32は増幅部57により増幅された音声信号に基づく音声を出力する。
【0027】
第2の情報処理装置12は、第1の情報処理装置11と同様に構成されている。すなわち、第2の情報処理装置12は、遠端装置71、スピーカ72、およびマイクロフォン73を有している。そして、図示は省略するが、遠端装置71は、近端装置31と同様に、増幅部、A/D変換器、適応エコーサブトラクション部、音声コーデック部、通信部、D/A変換器、および増幅部により構成されている。
【0028】
図2は、適応エコーサブトラクション部53の構成を示すブロック図である。適応エコーサブトラクション部53は、マイク入力FFT(First Fourie Transform)部101、参照入力FFT部102、瞬時振幅周波数関数算出部103、振幅周波数関数推定部104、推定エコー生成部105、エコー抑圧部106、および逆FFT部107を有している。
【0029】
マイク入力FFT部101は、A/D変換器52から入力される音声信号をFFTにより周波数領域の信号に変換し、所定の単位周波数毎に帯域分割する。参照入力FFT部102は、音声コーデック部54から入力される音声信号をFFTにより周波数領域の信号に変換し、所定の単位周波数毎に帯域分割する。瞬時振幅周波数関数算出部103は、マイク入力FFT部101からの周波数帯域毎の瞬時マイク入力信号を、参照入力FFT部102からの周波数帯域毎の瞬時スピーカ出力信号で割り算し、瞬時振幅周波数関数を演算する。なお、振幅周波数関数は、各周波数の信号の振幅の大きさを表す特性である。
【0030】
振幅周波数関数推定部104は、瞬時振幅周波数関数算出部103から入力された瞬時振幅周波数関数に基づいて、振幅周波数関数を推定する。振幅周波数関数推定部104の詳細は、図3を参照して後述する。推定エコー生成部105は、振幅周波数関数推定部104により生成された推定振幅周波数関数と、参照入力FFT部102により周波数領域に変換された瞬時スピーカ出力信号とから、推定エコー信号を生成する。
【0031】
エコー抑圧部106は、マイク入力FFT部101より出力されたマイク入力周波数データから、推定エコー生成部105により生成された推定エコー信号を減算して、エコー成分を抑圧したエコー抑圧信号を生成する。逆FFT部107は、エコー抑圧部106より出力されたエコー抑圧信号を、時間領域のエコー抑圧信号に変換し、音声コーデック部54に出力する。
【0032】
図3は、振幅周波数関数推定部104の構成を示すブロック図である。振幅周波数関数推定部104は、平均計算部151、分散計算部152、更新係数算出部153、更新係数変更部154、記憶部155、および相関計算部156を有している。
【0033】
平均計算部151は、瞬時振幅周波数関数算出部103から入力された帯域毎の瞬時振幅周波数関数の平均を計算する。分散計算部152は、瞬時振幅周波数関数算出部103から入力された瞬時振幅周波数関数と、平均計算部151から入力された平均値に基づいて、帯域毎の分散を計算する。更新係数算出部153は、分散計算部152が出力する分散に基づいて、帯域毎の更新係数を算出する。更新係数変更部154は、更新係数算出部153により算出された帯域毎の更新係数を、相関計算部156により計算された相関に基づいて変更し、記憶部155に出力する。
【0034】
記憶部155は、更新係数変更部154より出力された変更後更新係数と、瞬時振幅周波数関数算出部103から入力された帯域毎の瞬時振幅周波数関数を用いて、帯域ごとの推定振幅周波数関数を演算し、記憶する。相関計算部156は、瞬時振幅周波数関数算出部103から入力された全帯域の瞬時振幅周波数関数と、記憶部155から供給された全体域の推定振幅周波数関数との相関を計算する。
【0035】
<2.情報処理システムの動作>
【0036】
次に、図4乃至図6を参照して、情報処理システム1の動作について説明する。
【0037】
最初に図4を参照して、第1の情報処理装置11の出力処理について説明する。図4は、第1の情報処理装置の出力処理を説明するフローチャートである。
【0038】
ステップS1において第1の情報処理装置11の通信部55は、第2の情報処理装置12の遠端装置71からの音声データを受信する。つまり、第2の情報処理装置12のユーザの音声信号が、マイクロフォン73により取得され、通信回線13を介して送信されてきた場合、それが受信される。ステップS2において音声コーデック部54は、データをデコードする。すなわちステップS1で通信部55により受信された音声データがデコードされる。デコードされた音声データは、D/A変換器56に供給されるとともに、適応エコーサブトラクション部53に供給される。
【0039】
ステップS3においてD/A変換器56は、音声コーデック部54によりデコードされた音声データをアナログ信号に変換する。ステップS4においてスピーカ32は、音声を出力する。すなわち、D/A変換器56によりD/A変換された音声信号は、増幅部57により増幅され、スピーカ32より対応する音声、つまり第2の情報処理装置12のユーザの音声が出力される。
【0040】
第1の情報処理装置11のユーザは、この第2の情報処理装置12のユーザの音声を聞き、対応する音声を発する。
【0041】
次に、この音声を入力する処理について説明する。図5は、第1の情報処理装置11の入力処理を説明するフローチャートである。
【0042】
ステップS21においてマイクロフォン33は、音声を入力する。すなわち、第1の情報処理装置11のユーザが、第2の情報処理装置12のユーザの音声を聞いて発した音声がマイクロフォン33により集音される。このとき、スピーカ32より出力された第1の情報処理装置12から送られてきた音声、つまりエコー成分がマイクロフォン33に入力されることがある。このエコー成分がそのまま第2の情報処理装置12に送信されると、第2の情報処理装置12のユーザは、自分の発した音声がこだまのように少し遅れて自身のスピーカ72から聞こえることになり、いわゆるエコー現象が発生する。
【0043】
ステップS22においてA/D変換器52は、入力された音声信号をA/D変換する。すなわち、ステップS21でマイクロフォン33に入力された音声信号が、増幅部51により増幅され、さらにA/D変換器52によりアナログ信号からデジタル信号に変換され、適応エコーサブトラクション部53に入力される。
【0044】
ステップS23において参照入力FFT部102は、参照入力信号をFFTする。つまり、図4のステップS2で音声コーデック部54より入力された、第2の情報処理装置12のユーザの音声データがFFTされ、周波数帯域毎の周波数領域の音声データに変換される。ステップS24においてマイク入力FFT部101は、マイク入力信号をFFTする。つまり、ステップS22において、A/D変換器52より供給された、第1の情報処理装置11のユーザの音声データがFFTされ、周波数帯域毎の周波数領域の音声データに変換される。
【0045】
ステップS25において瞬時振幅周波数関数算出部103は、瞬時振幅周波数関数を計算する。具体的には、ステップS24で演算された瞬時マイク入力信号を、ステップS23で演算された瞬時スピーカ出力信号で除算することで、瞬時振幅周波数関数が演算される。次にステップS26において振幅周波数関数推定部104は、振幅周波数関数推定処理を実行する。この振幅周波数関数推定処理の詳細は、図6に示されている。ここで図6を参照して、振幅周波数関数推定処理について説明する。
【0046】
図6は、振幅周波数関数推定処理を説明するフローチャートである。ステップS71において平均計算部151は、帯域毎に瞬時振幅周波数関数の平均を計算する。例えば、帯域n、時間tの瞬時振幅周波数関数の値xn(t)の平均値Avexnが、次式から計算される。
【0047】
【数1】
【0048】
ステップS72において分散計算部152は、平均計算部151がステップS72で計算した平均値Avexnと、帯域n、時間tの瞬時振幅周波数関数の値xn(t)とに基づいて、帯域毎に瞬時振幅周波数関数の分散を計算する。具体的には、帯域n、時間tの瞬時振幅周波数関数の値xn(t)の分散値σ2nが、次式から演算される。
【0049】
【数2】
【0050】
ステップS73において更新係数算出部153は、ステップS72で計算された分散から振幅周波数関数の帯域毎の更新係数を算出する。帯域nの更新係数μnは、次式で表される。
μn= f(σn) (3)
【0051】
図7は、更新係数μnの具体的な例を示す図である。この例においては、更新係数μnは、σnの値が0乃至aまでのとき0であり、σnの値がb以上であるとき0.3である。そして、σnの値がa乃至bまでのとき、更新係数μnはσnの値に比例して0から0.3まで直線的に増加する。
【0052】
ステップS74において相関計算部156は、ステップS71で計算された帯域毎の瞬時振幅周波数関数の平均から、全体域の短時間平均の振幅周波数関数を演算する。ステップS75において相関計算部156は、推定振幅周波数関数と、全帯域の短時間平均の振幅周波数関数との相関を演算する。推定振幅周波数関数は、ステップS77で過去に演算されたものであり、全帯域の短時間平均の振幅周波数関数は、ステップS74で演算されたものである。
【0053】
ステップS76において更新係数変更部154は、帯域毎の更新係数μnを変更する。変更後の更新係数をμ’nとする。ステップS75において演算された相関値が、予め定められている所定の閾値以上の大きさである場合、つまり、相関が高い場合、帯域毎の更新係数μnは、予め定められている変更後更新係数α(一定の値)に変更される。これに対して、相関値が、閾値未満の大きさである場合、つまり、相関が低い場合、変更後更新係数μ’nは、更新係数μnのまま(μ’n=μn)とされる。
【0054】
ステップS77において記憶部155は、帯域毎の瞬時振幅周波数関数と、変更後更新係数とに基づいて、帯域毎の振幅周波数関数を推定する。推定振幅周波数関数は記憶部155に記憶される。帯域毎の瞬時振幅周波数関数は、図5のステップS25で計算された値であり、変更後更新係数は、ステップS76で変更された値μ’n(=αまたはμn)である。帯域nの推定振幅周波数関数zn(t)は、次式で表される。
zn(t)=(1−μn)×zn(t−1)+μn×xn(t) (4)
【0055】
式(4)のzn(t−1)は、前回の処理で記憶部155に記憶された推定振幅周波数関数である。
【0056】
図5に戻って、ステップS26において以上のようにして振幅周波数関数推定処理が実行された後、ステップS27において推定エコー生成部105は、推定エコー信号を生成する。具体的には、ステップS77で生成された推定振幅周波数関数と、参照入力FFT部102より出力された瞬時スピーカ出力信号とが乗算され、エコー信号に対応する推定エコー信号が生成される。
【0057】
ステップS28においてエコー抑圧部106は、エコー抑圧信号を生成する。つまり、マイク入力FFT部101より出力された瞬時マイク入力信号から、ステップS27で推定エコー生成部105により生成された推定エコー信号が減算される。瞬時マイク入力信号から、エコー信号に対応する推定エコー信号が減算されるので、エコー成分が抑圧された信号が得られる。
【0058】
ステップS29において逆FFT部107は、エコー抑圧信号を逆FFTする。これにより時間領域のエコー抑圧信号が得られる。このエコー抑圧信号は、音声コーデック部54に供給される。
【0059】
ステップS30において音声コーデック部54は、エコー抑圧信号をエンコードする。ステップS31において通信部55は、遠端装置71へデータを送る。つまり、エンコードされたエコー抑圧データが、通信回線13を介して第2の情報処理装置12に送信される。
【0060】
情報処理装置12においても、上述した第1の情報処理装置11における出力処理と入力処理と同様の処理が実行される。
【0061】
<3.動作の概念的な説明>
【0062】
次に、以上の動作の概念について説明する。図8は、情報処理システム1の動作の概略を説明する図である。同図に示されるように、瞬時振幅周波数関数算出部103としての除算器191において、A/D変換器52より出力された瞬時マイク入力信号が、音声コーデック部54より出力された瞬時スピーカ出力信号により除算される。これにより瞬時振幅周波数関数が得られる。
【0063】
振幅周波数関数推定部104は、瞬時振幅周波数関数から推定振幅周波数関数を推定する。推定エコー生成部105を構成する乗算器192は、スピーカ出力信号と推定振幅周波数関数とを乗算して、推定エコー信号を生成する。エコー抑圧部106を構成する減算器193は、瞬時マイク入力信号から推定エコー信号を減算し、エコー抑圧信号を生成する。
【0064】
このようにしてエコー抑圧信号が相手側の装置に送信されるので、相手側の装置のユーザは、相手側の発話を、自身の発話に妨害されることなく、確実に聞き取ることができる。
【0065】
ユーザが例えば増幅部57または増幅部51のボリュームを操作して、増幅率を変更した場合、瞬時振幅周波数関数が変化するが、上述した処理がリアルタイムで繰り返されるので、新たな係数が学習され、学習された係数が設定されるので、増幅率を変更してもエコー成分を抑圧することができる。
【0066】
図9は、情報処理システム1の動作を模式的に説明する図である。同図に示されるように、いま、ボリューム変更前の推定振幅周波数関数がg1で示される特性であるとする。増幅率を変更することで、g3で示される特性が、ボリューム変更後の目標振幅周波数関数として設定されたとする。この場合、推定振幅周波数関数g1と目標振幅周波数関数g3の相関が高い場合、上述したように、変更後更新係数μ’nがαという一定値に設定される。その結果、推定振幅周波数関数g1から目標振幅周波数関数g3まで特性が次第に変化する際、遷移途中の全帯域の短時間平均振幅周波数関数g2は、各周波数帯域のゲインが同じ値だけ変化するので、迅速に目標振幅周波数関数g3の特性に収束する。
【0067】
ここで比較のために、振幅周波数関数推定部104として、異なる構成を考える。図10は、振幅周波数関数推定部104の比較する構成を示すブロック図である。この構成例においては、図3に示した平均計算部151、分散計算部152、更新係数算出部153、および記憶部155に対応する平均計算部251、分散計算部252、更新係数算出部253、および記憶部254が設けられている。しかし、更新係数変更部154と相関計算部156に対応する構成が設けられていない。つまりこの構成においては、相関に基づいて係数が更新されることはない。その結果、増幅率を変更した場合の遷移途中の振幅周波数関数は、図11に示されるようになる。
【0068】
図11は、比較する情報処理システム1の動作を模式的に説明する図である。同図に示されるように、ボリューム変更前の推定振幅周波数関数がg11で示される特性であるとする。増幅率を変更することで、g13で示される特性が、ボリューム変更後の目標振幅周波数関数として設定されたとする。この場合、推定振幅周波数関数g11から目標振幅周波数関数g13まで特性が変化する際、遷移途中の全帯域の短時間平均振幅周波数関数g12は、各周波数帯域毎にゲインが異なる値だけ変化する。その結果、目標振幅周波数関数g13の特性に収束するまでに長い時間がかかる。
【0069】
この情報処理システム1は、テレビ会議システム1に限らず、ハンズフリー電話システム、監視カメラシステム等のシステム、カーステレオを再生しながら音声認識する装置においても適用することができる。
【0070】
<4.本技術のプログラムへの適用>
【0071】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0072】
図12は、上述した一連の処理をプログラムにより実行するコンピュータ300のハードウェアの構成例を示すブロック図である。
【0073】
コンピュータ300において、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
【0074】
バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
【0075】
入力部306は、キーボード、マウス、マイクロフォンなどよりなる。出力部307は、ディスプレイ、スピーカなどよりなる。記憶部308は、ハードディスクや不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア311を駆動する。
【0076】
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。
【0077】
コンピュータでは、プログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
【0078】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0079】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0080】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0081】
<5.その他>
【0082】
本技術は、以下のような構成もとることができる。
【0083】
(1)
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定部と、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成部と、
前記第2の信号から前記推定エコー信号を抑圧する抑圧部と
を備え、
前記推定部は、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
情報処理装置。
(2)
前記相関が、予め定められている閾値より高い場合、前記係数を一定値だけ変更する
前記(1)に記載の情報処理装置。
(3)
前記相関が、前記閾値より低い場合、前記係数を変更しない
前記(2)に記載の情報処理装置。
(4)
前記第1の信号は、前記スピーカに出力される信号の周波数領域の信号であり、
前記第2の信号は、前記マイクロフォンから入力された信号の周波数領域の信号である
前記(1)、(2)または(3)に記載の情報処理装置。
(5)
前記周波数領域の第1の信号と第2の信号から、瞬時振幅周波数関数を算出する算出部をさらに備え、
前記推定部は、前記瞬時振幅周波数関数から前記振幅周波数関数を推定する
前記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記推定エコー信号が抑圧された、前記周波数領域の前記第2の信号は、時間領域の信号に変換される
前記(1)乃至(5)のいずれかに記載の情報処理装置。
(7)
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
情報処理方法。
(8)
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
コンピュータに実行させるプログラム。
【符号の説明】
【0084】
1 情報処理システム, 11 第1の情報処理装置, 12 第2の情報処理装置, 13 通信回線, 31 近端装置, 51 増幅部, 53 適応エコーサブトラクション部, 54 音声コーデック部, 55 通信部, 57 増幅部, 101 マイク入力FFT部, 102 参照入力FFT部, 103 瞬時振幅周波数関数算出部, 104 振幅周波数関数推定部, 105 推定エコー生成部, 106 エコー抑圧部, 107 逆FFT部
【技術分野】
【0001】
本技術は情報処理装置、情報処理方法、およびプログラムに関し、特にエコー成分を迅速に抑圧する情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
テレビ会議システムにおいては、第1の装置と第2の装置との間で通信が行われる。第1の装置において、相手側の音声(すなわち第2の装置から送られてきた音声)がスピーカから放音されると、その音声がマイクロフォンで集音され、相手側(すなわち第2の装置)に送信されることがある。このような場合、いわゆるエコー現象が発生する。
【0003】
このエコー現象を抑圧するために、種々の提案がなされている(例えば特許文献1)。
【0004】
特許文献1の技術では、マイクロフォンの出力信号、またはスピーカの出力信号から線形エコーキャンセラの出力信号を減算した信号の一方が第1の信号とされ、線形エコーキャンセラの出力信号が第2の信号とされる。近端音声の有無を表す音声検出信号に基づいて、第1および第2の信号の各周波数成分毎に、第1の信号と第2の信号とからエコーの漏れこみ具合の推定値が算出される。そしてこの算出された推定値に基づいて第1の信号を補正することで、第1の信号からエコー成分を除去した近端信号が生成される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−56453号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、提案されている技術では、音声の出力レベルが変更された場合、エコー成分を十分抑圧できるようになるのに時間がかかる。
【0007】
本技術はこのような状況に鑑みてなされたものであり、エコー成分を迅速に抑圧できるようにするものである。
【課題を解決するための手段】
【0008】
本技術の一側面は、スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定部と、前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成部と、前記第2の信号から前記推定エコー信号を抑圧する抑圧部とを備え、前記推定部は、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、前記振幅周波数関数の係数を変更する情報処理装置である。
【0009】
前記相関が、予め定められている閾値より高い場合、前記係数を一定値だけ変更することができる。
【0010】
前記相関が、前記閾値より低い場合、前記係数を変更しないことができる。
【0011】
前記第1の信号は、前記スピーカに出力される信号の周波数領域の信号とし、前記第2の信号は、前記マイクロフォンから入力された信号の周波数領域の信号とすることができる。
【0012】
前記周波数領域の第1の信号と第2の信号から、瞬時振幅周波数関数を算出する算出部をさらに備え、前記推定部は、前記瞬時振幅周波数関数から前記振幅周波数関数を推定することができる。
【0013】
前記推定エコー信号が抑圧された、前記周波数領域の前記第2の信号は、時間領域の信号に変換されることができる。
【0014】
本技術の一側面の方法およびプログラムは、上述した本技術の一側面の情報処理装置に対応する方法およびプログラムである。
【0015】
本技術の一側面においては、スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数が推定され、第1の信号と振幅周波数関数とから推定エコー信号が生成され、第2の信号から推定エコー信号が抑圧され、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、振幅周波数関数の係数が変更される。
【発明の効果】
【0016】
以上のように、本技術の一側面によれば、エコー成分を迅速に抑圧することができる。
【図面の簡単な説明】
【0017】
【図1】本技術の情報処理システムの構成を示すブロック図である。
【図2】適応エコーサブトラクション部の構成を示すブロック図である。
【図3】振幅周波数関数推定部の構成を示すブロック図である。
【図4】第1の情報処理装置の出力処理を説明するフローチャートである。
【図5】第1の情報処理装置の入力処理を説明するフローチャートである。
【図6】振幅周波数関数推定処理を説明するフローチャートである。
【図7】更新係数の具体的な例を示す図である。
【図8】情報処理システムの動作の概略を説明する図である。
【図9】情報処理システムの動作を模式的に説明する図である。
【図10】振幅周波数関数推定部の比較する構成を示すブロック図である。
【図11】比較する情報処理システムの動作を模式的に説明する図である。
【図12】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。なお、説明は以下の順序で行う。
1.情報処理システムの構成
2.情報処理システムの動作
3.動作の概念的な説明
4.本技術のプログラムへの適用
5.その他
【0019】
<1.情報処理システムの構成>
【0020】
図1は、本技術の情報処理システム1の構成を示すブロック図である。
【0021】
例えばテレビ会議システムを構成する情報処理システム1は、第1の情報処理装置11、第2の情報処理装置12、並びに両者を接続する通信回線13により構成されている。通信回線13は、例えばイーサーネット(商標)等のデジタル通信が可能な通信回線である。なお、通信回線13には、インターネットその他のネットワークを含むことができる。また、この情報処理システム1においては、映像信号の処理に関する構成については省略されている。
【0022】
第1の情報処理装置11は、近端装置31、スピーカ32、およびマイクロフォン33により構成される。
【0023】
近端装置31は、増幅部51、A/D変換器52、適応エコーサブトラクション部53、音声コーデック部54、通信部55、D/A変換器56、および増幅部57により構成されている。
【0024】
マイクロフォン33は、第1の情報処理装置11のユーザの声を入力する。増幅部51は、マイクロフォン33からの入力を増幅する。増幅部51の増幅率はユーザがボリューム(図示せず)を操作することで、任意の値に設定、変更することができる。A/D変換器52は、増幅部51からの音声信号をアナログ信号からデジタル信号に変換する。適応エコーサブトラクション部53は、例えばデジタルシグナルプロセッサ(DSP)により構成され、A/D変換器52から入力される信号に対して、スピーカ32から出力される音声に起因する雑音成分としてのエコー成分を抑圧する処理を実行する。
【0025】
音声コーデック部54は、マイクロフォン33より入力された音声信号を、通信回線13を介して第2の情報処理装置12に送信するために、テレビ会議システム1で定められている符号に変換する処理、すなわちエンコードする処理を実行する。また、音声コーデック部54は、第2の情報処理装置12から通信回線13を介して第1の情報処理装置11に送信されてきた符号をデコードする処理を実行する。
【0026】
D/A変換器56は、音声コーデック部54より供給された音声信号を、デジタル信号からアナログ信号に変換する。増幅部57はD/A変換器56から出力されたアナログの音声信号を増幅する。増幅部57の増幅率はユーザがボリューム(図示せず)を操作することで、任意の値に設定、変更することができる。スピーカ32は増幅部57により増幅された音声信号に基づく音声を出力する。
【0027】
第2の情報処理装置12は、第1の情報処理装置11と同様に構成されている。すなわち、第2の情報処理装置12は、遠端装置71、スピーカ72、およびマイクロフォン73を有している。そして、図示は省略するが、遠端装置71は、近端装置31と同様に、増幅部、A/D変換器、適応エコーサブトラクション部、音声コーデック部、通信部、D/A変換器、および増幅部により構成されている。
【0028】
図2は、適応エコーサブトラクション部53の構成を示すブロック図である。適応エコーサブトラクション部53は、マイク入力FFT(First Fourie Transform)部101、参照入力FFT部102、瞬時振幅周波数関数算出部103、振幅周波数関数推定部104、推定エコー生成部105、エコー抑圧部106、および逆FFT部107を有している。
【0029】
マイク入力FFT部101は、A/D変換器52から入力される音声信号をFFTにより周波数領域の信号に変換し、所定の単位周波数毎に帯域分割する。参照入力FFT部102は、音声コーデック部54から入力される音声信号をFFTにより周波数領域の信号に変換し、所定の単位周波数毎に帯域分割する。瞬時振幅周波数関数算出部103は、マイク入力FFT部101からの周波数帯域毎の瞬時マイク入力信号を、参照入力FFT部102からの周波数帯域毎の瞬時スピーカ出力信号で割り算し、瞬時振幅周波数関数を演算する。なお、振幅周波数関数は、各周波数の信号の振幅の大きさを表す特性である。
【0030】
振幅周波数関数推定部104は、瞬時振幅周波数関数算出部103から入力された瞬時振幅周波数関数に基づいて、振幅周波数関数を推定する。振幅周波数関数推定部104の詳細は、図3を参照して後述する。推定エコー生成部105は、振幅周波数関数推定部104により生成された推定振幅周波数関数と、参照入力FFT部102により周波数領域に変換された瞬時スピーカ出力信号とから、推定エコー信号を生成する。
【0031】
エコー抑圧部106は、マイク入力FFT部101より出力されたマイク入力周波数データから、推定エコー生成部105により生成された推定エコー信号を減算して、エコー成分を抑圧したエコー抑圧信号を生成する。逆FFT部107は、エコー抑圧部106より出力されたエコー抑圧信号を、時間領域のエコー抑圧信号に変換し、音声コーデック部54に出力する。
【0032】
図3は、振幅周波数関数推定部104の構成を示すブロック図である。振幅周波数関数推定部104は、平均計算部151、分散計算部152、更新係数算出部153、更新係数変更部154、記憶部155、および相関計算部156を有している。
【0033】
平均計算部151は、瞬時振幅周波数関数算出部103から入力された帯域毎の瞬時振幅周波数関数の平均を計算する。分散計算部152は、瞬時振幅周波数関数算出部103から入力された瞬時振幅周波数関数と、平均計算部151から入力された平均値に基づいて、帯域毎の分散を計算する。更新係数算出部153は、分散計算部152が出力する分散に基づいて、帯域毎の更新係数を算出する。更新係数変更部154は、更新係数算出部153により算出された帯域毎の更新係数を、相関計算部156により計算された相関に基づいて変更し、記憶部155に出力する。
【0034】
記憶部155は、更新係数変更部154より出力された変更後更新係数と、瞬時振幅周波数関数算出部103から入力された帯域毎の瞬時振幅周波数関数を用いて、帯域ごとの推定振幅周波数関数を演算し、記憶する。相関計算部156は、瞬時振幅周波数関数算出部103から入力された全帯域の瞬時振幅周波数関数と、記憶部155から供給された全体域の推定振幅周波数関数との相関を計算する。
【0035】
<2.情報処理システムの動作>
【0036】
次に、図4乃至図6を参照して、情報処理システム1の動作について説明する。
【0037】
最初に図4を参照して、第1の情報処理装置11の出力処理について説明する。図4は、第1の情報処理装置の出力処理を説明するフローチャートである。
【0038】
ステップS1において第1の情報処理装置11の通信部55は、第2の情報処理装置12の遠端装置71からの音声データを受信する。つまり、第2の情報処理装置12のユーザの音声信号が、マイクロフォン73により取得され、通信回線13を介して送信されてきた場合、それが受信される。ステップS2において音声コーデック部54は、データをデコードする。すなわちステップS1で通信部55により受信された音声データがデコードされる。デコードされた音声データは、D/A変換器56に供給されるとともに、適応エコーサブトラクション部53に供給される。
【0039】
ステップS3においてD/A変換器56は、音声コーデック部54によりデコードされた音声データをアナログ信号に変換する。ステップS4においてスピーカ32は、音声を出力する。すなわち、D/A変換器56によりD/A変換された音声信号は、増幅部57により増幅され、スピーカ32より対応する音声、つまり第2の情報処理装置12のユーザの音声が出力される。
【0040】
第1の情報処理装置11のユーザは、この第2の情報処理装置12のユーザの音声を聞き、対応する音声を発する。
【0041】
次に、この音声を入力する処理について説明する。図5は、第1の情報処理装置11の入力処理を説明するフローチャートである。
【0042】
ステップS21においてマイクロフォン33は、音声を入力する。すなわち、第1の情報処理装置11のユーザが、第2の情報処理装置12のユーザの音声を聞いて発した音声がマイクロフォン33により集音される。このとき、スピーカ32より出力された第1の情報処理装置12から送られてきた音声、つまりエコー成分がマイクロフォン33に入力されることがある。このエコー成分がそのまま第2の情報処理装置12に送信されると、第2の情報処理装置12のユーザは、自分の発した音声がこだまのように少し遅れて自身のスピーカ72から聞こえることになり、いわゆるエコー現象が発生する。
【0043】
ステップS22においてA/D変換器52は、入力された音声信号をA/D変換する。すなわち、ステップS21でマイクロフォン33に入力された音声信号が、増幅部51により増幅され、さらにA/D変換器52によりアナログ信号からデジタル信号に変換され、適応エコーサブトラクション部53に入力される。
【0044】
ステップS23において参照入力FFT部102は、参照入力信号をFFTする。つまり、図4のステップS2で音声コーデック部54より入力された、第2の情報処理装置12のユーザの音声データがFFTされ、周波数帯域毎の周波数領域の音声データに変換される。ステップS24においてマイク入力FFT部101は、マイク入力信号をFFTする。つまり、ステップS22において、A/D変換器52より供給された、第1の情報処理装置11のユーザの音声データがFFTされ、周波数帯域毎の周波数領域の音声データに変換される。
【0045】
ステップS25において瞬時振幅周波数関数算出部103は、瞬時振幅周波数関数を計算する。具体的には、ステップS24で演算された瞬時マイク入力信号を、ステップS23で演算された瞬時スピーカ出力信号で除算することで、瞬時振幅周波数関数が演算される。次にステップS26において振幅周波数関数推定部104は、振幅周波数関数推定処理を実行する。この振幅周波数関数推定処理の詳細は、図6に示されている。ここで図6を参照して、振幅周波数関数推定処理について説明する。
【0046】
図6は、振幅周波数関数推定処理を説明するフローチャートである。ステップS71において平均計算部151は、帯域毎に瞬時振幅周波数関数の平均を計算する。例えば、帯域n、時間tの瞬時振幅周波数関数の値xn(t)の平均値Avexnが、次式から計算される。
【0047】
【数1】
【0048】
ステップS72において分散計算部152は、平均計算部151がステップS72で計算した平均値Avexnと、帯域n、時間tの瞬時振幅周波数関数の値xn(t)とに基づいて、帯域毎に瞬時振幅周波数関数の分散を計算する。具体的には、帯域n、時間tの瞬時振幅周波数関数の値xn(t)の分散値σ2nが、次式から演算される。
【0049】
【数2】
【0050】
ステップS73において更新係数算出部153は、ステップS72で計算された分散から振幅周波数関数の帯域毎の更新係数を算出する。帯域nの更新係数μnは、次式で表される。
μn= f(σn) (3)
【0051】
図7は、更新係数μnの具体的な例を示す図である。この例においては、更新係数μnは、σnの値が0乃至aまでのとき0であり、σnの値がb以上であるとき0.3である。そして、σnの値がa乃至bまでのとき、更新係数μnはσnの値に比例して0から0.3まで直線的に増加する。
【0052】
ステップS74において相関計算部156は、ステップS71で計算された帯域毎の瞬時振幅周波数関数の平均から、全体域の短時間平均の振幅周波数関数を演算する。ステップS75において相関計算部156は、推定振幅周波数関数と、全帯域の短時間平均の振幅周波数関数との相関を演算する。推定振幅周波数関数は、ステップS77で過去に演算されたものであり、全帯域の短時間平均の振幅周波数関数は、ステップS74で演算されたものである。
【0053】
ステップS76において更新係数変更部154は、帯域毎の更新係数μnを変更する。変更後の更新係数をμ’nとする。ステップS75において演算された相関値が、予め定められている所定の閾値以上の大きさである場合、つまり、相関が高い場合、帯域毎の更新係数μnは、予め定められている変更後更新係数α(一定の値)に変更される。これに対して、相関値が、閾値未満の大きさである場合、つまり、相関が低い場合、変更後更新係数μ’nは、更新係数μnのまま(μ’n=μn)とされる。
【0054】
ステップS77において記憶部155は、帯域毎の瞬時振幅周波数関数と、変更後更新係数とに基づいて、帯域毎の振幅周波数関数を推定する。推定振幅周波数関数は記憶部155に記憶される。帯域毎の瞬時振幅周波数関数は、図5のステップS25で計算された値であり、変更後更新係数は、ステップS76で変更された値μ’n(=αまたはμn)である。帯域nの推定振幅周波数関数zn(t)は、次式で表される。
zn(t)=(1−μn)×zn(t−1)+μn×xn(t) (4)
【0055】
式(4)のzn(t−1)は、前回の処理で記憶部155に記憶された推定振幅周波数関数である。
【0056】
図5に戻って、ステップS26において以上のようにして振幅周波数関数推定処理が実行された後、ステップS27において推定エコー生成部105は、推定エコー信号を生成する。具体的には、ステップS77で生成された推定振幅周波数関数と、参照入力FFT部102より出力された瞬時スピーカ出力信号とが乗算され、エコー信号に対応する推定エコー信号が生成される。
【0057】
ステップS28においてエコー抑圧部106は、エコー抑圧信号を生成する。つまり、マイク入力FFT部101より出力された瞬時マイク入力信号から、ステップS27で推定エコー生成部105により生成された推定エコー信号が減算される。瞬時マイク入力信号から、エコー信号に対応する推定エコー信号が減算されるので、エコー成分が抑圧された信号が得られる。
【0058】
ステップS29において逆FFT部107は、エコー抑圧信号を逆FFTする。これにより時間領域のエコー抑圧信号が得られる。このエコー抑圧信号は、音声コーデック部54に供給される。
【0059】
ステップS30において音声コーデック部54は、エコー抑圧信号をエンコードする。ステップS31において通信部55は、遠端装置71へデータを送る。つまり、エンコードされたエコー抑圧データが、通信回線13を介して第2の情報処理装置12に送信される。
【0060】
情報処理装置12においても、上述した第1の情報処理装置11における出力処理と入力処理と同様の処理が実行される。
【0061】
<3.動作の概念的な説明>
【0062】
次に、以上の動作の概念について説明する。図8は、情報処理システム1の動作の概略を説明する図である。同図に示されるように、瞬時振幅周波数関数算出部103としての除算器191において、A/D変換器52より出力された瞬時マイク入力信号が、音声コーデック部54より出力された瞬時スピーカ出力信号により除算される。これにより瞬時振幅周波数関数が得られる。
【0063】
振幅周波数関数推定部104は、瞬時振幅周波数関数から推定振幅周波数関数を推定する。推定エコー生成部105を構成する乗算器192は、スピーカ出力信号と推定振幅周波数関数とを乗算して、推定エコー信号を生成する。エコー抑圧部106を構成する減算器193は、瞬時マイク入力信号から推定エコー信号を減算し、エコー抑圧信号を生成する。
【0064】
このようにしてエコー抑圧信号が相手側の装置に送信されるので、相手側の装置のユーザは、相手側の発話を、自身の発話に妨害されることなく、確実に聞き取ることができる。
【0065】
ユーザが例えば増幅部57または増幅部51のボリュームを操作して、増幅率を変更した場合、瞬時振幅周波数関数が変化するが、上述した処理がリアルタイムで繰り返されるので、新たな係数が学習され、学習された係数が設定されるので、増幅率を変更してもエコー成分を抑圧することができる。
【0066】
図9は、情報処理システム1の動作を模式的に説明する図である。同図に示されるように、いま、ボリューム変更前の推定振幅周波数関数がg1で示される特性であるとする。増幅率を変更することで、g3で示される特性が、ボリューム変更後の目標振幅周波数関数として設定されたとする。この場合、推定振幅周波数関数g1と目標振幅周波数関数g3の相関が高い場合、上述したように、変更後更新係数μ’nがαという一定値に設定される。その結果、推定振幅周波数関数g1から目標振幅周波数関数g3まで特性が次第に変化する際、遷移途中の全帯域の短時間平均振幅周波数関数g2は、各周波数帯域のゲインが同じ値だけ変化するので、迅速に目標振幅周波数関数g3の特性に収束する。
【0067】
ここで比較のために、振幅周波数関数推定部104として、異なる構成を考える。図10は、振幅周波数関数推定部104の比較する構成を示すブロック図である。この構成例においては、図3に示した平均計算部151、分散計算部152、更新係数算出部153、および記憶部155に対応する平均計算部251、分散計算部252、更新係数算出部253、および記憶部254が設けられている。しかし、更新係数変更部154と相関計算部156に対応する構成が設けられていない。つまりこの構成においては、相関に基づいて係数が更新されることはない。その結果、増幅率を変更した場合の遷移途中の振幅周波数関数は、図11に示されるようになる。
【0068】
図11は、比較する情報処理システム1の動作を模式的に説明する図である。同図に示されるように、ボリューム変更前の推定振幅周波数関数がg11で示される特性であるとする。増幅率を変更することで、g13で示される特性が、ボリューム変更後の目標振幅周波数関数として設定されたとする。この場合、推定振幅周波数関数g11から目標振幅周波数関数g13まで特性が変化する際、遷移途中の全帯域の短時間平均振幅周波数関数g12は、各周波数帯域毎にゲインが異なる値だけ変化する。その結果、目標振幅周波数関数g13の特性に収束するまでに長い時間がかかる。
【0069】
この情報処理システム1は、テレビ会議システム1に限らず、ハンズフリー電話システム、監視カメラシステム等のシステム、カーステレオを再生しながら音声認識する装置においても適用することができる。
【0070】
<4.本技術のプログラムへの適用>
【0071】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0072】
図12は、上述した一連の処理をプログラムにより実行するコンピュータ300のハードウェアの構成例を示すブロック図である。
【0073】
コンピュータ300において、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
【0074】
バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
【0075】
入力部306は、キーボード、マウス、マイクロフォンなどよりなる。出力部307は、ディスプレイ、スピーカなどよりなる。記憶部308は、ハードディスクや不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア311を駆動する。
【0076】
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。
【0077】
コンピュータでは、プログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
【0078】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0079】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0080】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0081】
<5.その他>
【0082】
本技術は、以下のような構成もとることができる。
【0083】
(1)
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定部と、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成部と、
前記第2の信号から前記推定エコー信号を抑圧する抑圧部と
を備え、
前記推定部は、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
情報処理装置。
(2)
前記相関が、予め定められている閾値より高い場合、前記係数を一定値だけ変更する
前記(1)に記載の情報処理装置。
(3)
前記相関が、前記閾値より低い場合、前記係数を変更しない
前記(2)に記載の情報処理装置。
(4)
前記第1の信号は、前記スピーカに出力される信号の周波数領域の信号であり、
前記第2の信号は、前記マイクロフォンから入力された信号の周波数領域の信号である
前記(1)、(2)または(3)に記載の情報処理装置。
(5)
前記周波数領域の第1の信号と第2の信号から、瞬時振幅周波数関数を算出する算出部をさらに備え、
前記推定部は、前記瞬時振幅周波数関数から前記振幅周波数関数を推定する
前記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記推定エコー信号が抑圧された、前記周波数領域の前記第2の信号は、時間領域の信号に変換される
前記(1)乃至(5)のいずれかに記載の情報処理装置。
(7)
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
情報処理方法。
(8)
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
コンピュータに実行させるプログラム。
【符号の説明】
【0084】
1 情報処理システム, 11 第1の情報処理装置, 12 第2の情報処理装置, 13 通信回線, 31 近端装置, 51 増幅部, 53 適応エコーサブトラクション部, 54 音声コーデック部, 55 通信部, 57 増幅部, 101 マイク入力FFT部, 102 参照入力FFT部, 103 瞬時振幅周波数関数算出部, 104 振幅周波数関数推定部, 105 推定エコー生成部, 106 エコー抑圧部, 107 逆FFT部
【特許請求の範囲】
【請求項1】
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定部と、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成部と、
前記第2の信号から前記推定エコー信号を抑圧する抑圧部と
を備え、
前記推定部は、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、前記振幅周波数関数の係数を変更する
情報処理装置。
【請求項2】
前記相関が、予め定められている閾値より高い場合、前記係数を一定値だけ変更する
請求項1に記載の情報処理装置。
【請求項3】
前記相関が、前記閾値より低い場合、前記係数を変更しない
請求項2に記載の情報処理装置。
【請求項4】
前記第1の信号は、前記スピーカに出力される信号の周波数領域の信号であり、
前記第2の信号は、前記マイクロフォンから入力された信号の周波数領域の信号である
請求項3に記載の情報処理装置。
【請求項5】
前記周波数領域の第1の信号と第2の信号から、瞬時振幅周波数関数を算出する算出部をさらに備え、
前記推定部は、前記瞬時振幅周波数関数から前記振幅周波数関数を推定する
請求項4に記載の情報処理装置。
【請求項6】
前記推定エコー信号が抑圧された、前記周波数領域の前記第2の信号は、時間領域の信号に変換される
請求項5に記載の情報処理装置。
【請求項7】
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、前記振幅周波数関数の係数を変更する
情報処理方法。
【請求項8】
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
コンピュータに実行させるプログラム。
【請求項1】
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定部と、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成部と、
前記第2の信号から前記推定エコー信号を抑圧する抑圧部と
を備え、
前記推定部は、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、前記振幅周波数関数の係数を変更する
情報処理装置。
【請求項2】
前記相関が、予め定められている閾値より高い場合、前記係数を一定値だけ変更する
請求項1に記載の情報処理装置。
【請求項3】
前記相関が、前記閾値より低い場合、前記係数を変更しない
請求項2に記載の情報処理装置。
【請求項4】
前記第1の信号は、前記スピーカに出力される信号の周波数領域の信号であり、
前記第2の信号は、前記マイクロフォンから入力された信号の周波数領域の信号である
請求項3に記載の情報処理装置。
【請求項5】
前記周波数領域の第1の信号と第2の信号から、瞬時振幅周波数関数を算出する算出部をさらに備え、
前記推定部は、前記瞬時振幅周波数関数から前記振幅周波数関数を推定する
請求項4に記載の情報処理装置。
【請求項6】
前記推定エコー信号が抑圧された、前記周波数領域の前記第2の信号は、時間領域の信号に変換される
請求項5に記載の情報処理装置。
【請求項7】
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数との相関に基づいて、前記振幅周波数関数の係数を変更する
情報処理方法。
【請求項8】
スピーカに出力される第1の信号と、マイクロフォンから入力される第2の信号から、振幅周波数関数を推定する推定ステップと、
前記第1の信号と前記振幅周波数関数とから推定エコー信号を生成する生成ステップと、
前記第2の信号から前記推定エコー信号を抑圧する抑圧ステップと
を含み、
前記推定ステップでは、推定振幅周波数関数と短時間平均振幅周波数関数に基づいて、前記振幅周波数関数の係数を変更する
コンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−42334(P2013−42334A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−177568(P2011−177568)
【出願日】平成23年8月15日(2011.8.15)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願日】平成23年8月15日(2011.8.15)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]