(A)第1の実施形態
以下では、本発明のコミュニケーション装置、コミュニケーションプログラム、及びコミュニケーション方法の実施形態を、図面を参照しながら詳細に説明する。
第1の実施形態は、例えば、テレビ会議システムや電話会議システム等のマイク入力部に、上述した本発明のコミュニケーション装置、コミュニケーションプログラム、及びコミュニケーション方法を適用した場合を例示したものである。
(A−1)第1の実施形態の構成
図1は、第1の実施形態に係るコミュニケーション装置100の構成を示すブロック図である。
第1の実施形態のコミュニケーション装置100は、例えば、専用ボードとして構築されるようにしても良いし、DSP(デジタルシグナルプロセッサ)への遠隔コミュニケーションプログラムの書き込みによって実現されたものであっても良く、CPUと、CPUが実行するソフトウェア(例えば、遠隔コミュニケーションプログラム)によって実現されたものであっても良いが、機能的には、図1で表すことができる。
コミュニケーション装置100は、ネットワーク107を介して、遠隔地にある相手側の拠点に設置されているコミュニケーション装置との間で、映像信号及び音信号を通信して、相手側とコミュニケーションを図るものである。ここでは、相手側の拠点にも、図1に例示するコミュニケーション装置100が配置されているものとする。
図1において、第1の実施形態に係るコミュニケーション装置100は、マイクアレイ101、マイクアンプ102、アナログ−デジタル(AD)変換部103、ビデオカメラ104、呼びかけ処理部105、NW通信部106、デジタル−アナログ(DA)変換部108、スピーカアンプ109、スピーカ110a及び110b、モニター111を有する。
マイクアレイ101は、人の音声や音を受音する複数本のマイクロホン(以下、「マイク」とも呼ぶ。)を有するものである。
マイクアンプ102は、マイクアレイ101の各マイクにより受音された複数の入力信号(アナログの音信号)のそれぞれを増幅して、AD変換部103に出力する。
AD変換部103は、マイクアンプ102により増幅された複数の入力信号をアナログ信号からデジタル信号に変換して、コミュニケーション装置100に出力する。以下、AD変換部103で変換された信号を「マイク入力信号」とも呼ぶ。
ビデオカメラ104は、自拠点(コミュニケーション装置100が設置される拠点)に設置される撮影デバイス(撮像装置)である。ビデオカメラ104によって撮像された映像信号は、呼びかけ処理部105を介してNW通信部106に出力され、映像信号はNW通信部106によってネットワーク107に送信される。
呼びかけ処理部105には、ビデオカメラ104からの映像信号と、マイクアレイ101が受音したマイク入力信号とが入力する。ビデオカメラ104から入力された映像信号は、呼びかけ処理部105を介してNW通信部106に出力されてネットワーク107に送信される。
呼びかけ処理部105は、ビデオカメラ104から入力された映像信号に人が撮像されているか否かを判定する。そして、映像信号に人が映っていると判定した場合、呼びかけ処理部105は、入力された複数のマイク入力信号を信号処理して、NW通信部106に出力する共に、同時に信号処理した信号をオーディオバッファ部117に保存する。
また、呼びかけ処理部105は、信号処理した信号を用いて音声認識を行ない、音声認識結果がコマンドリスト部119のコマンドの1つと一致するか否かを判定する。音声認識結果がコマンドの1つと一致する場合、呼びかけ処理部105は、接続判定結果と、オーディオバッファ部117に保存されている音信号をNW通信部106に一定時間出力する。そして、一定時間出力が完了すると、呼びかけ処理部105は、再び信号処理した信号を、NW通信部106に出力する。音声認識結果がコマンドの1つと一致しない場合、呼びかけ処理部105は、接続判定結果と信号処理した信号とを、NW通信部106に出力する。
一方、映像信号に人が映っていないと判定した場合、呼びかけ処理部105は、信号処理を停止する。このとき、NW通信部106には音声を出力しない。
NW通信部106は、ネットワーク107を介して、相手側の拠点に設置されているコミュニケーション装置100との間で映像信号及び音信号を送受信するものである。NW通信部106は、呼びかけ処理部105からの接続判定結果に基づいて、ネットワーク107との接続処理を行う。つまり、ネットワーク107と接続指示を受けると、NW通信部106は、指示された相手側のコミュニケーション装置100と接続を開始する。ネットワーク107との接続後、コミュニケーション装置100は、NW通信部106を介して、相手側のコミュニケーション装置100との間で音声のやり取りを行なう。
また、ネットワーク107との接続切断指示を受けると、NW通信部106は、相手側のコミュニケーション装置100との接続を切断する。
DA変換部108は、ネットワーク107からの音信号(NW通信部106を介して送信されてきた音信号)をデジタル信号からアナログ信号に変換して、スピーカアンプ109に出力する。
スピーカアンプ109は、DA変換部108により変換されたアナログ信号を増幅して、スピーカ110a及び110bに出力する。
スピーカ110a、110bは、電気信号を空気の振動に変換して音として出力するスピーカである。第1の実施形態では、スピーカ110a及び110bはステレオスピーカである場合を例示するが、スピーカ110a及び110bは、ステレオスピーカに限定されるものではない。
モニター111は、映像出力デバイス(映像出力装置)である。モニター111が出力する映像は、例えば、相手側の拠点に設置されたビデオカメラ104によって撮影された映像であって、この映像(エンコードされたデータ)はネットワーク107を介してNW通信部106で受信されデコード(復号)した後、モニター111に入力される。
次に、第1の実施形態に係る呼びかけ処理部105の詳細な構成を説明する。
呼びかけ処理部105は、音入力端子115、映像入力端子112、映像出力端子113、人物位置検知部114、信号処理部116、オーディオバッファ部117、音声認識部118、コマンドリスト部119、コマンド判定部120、出力切替部121、音出力端子122、接続判定部123、接続判定結果出力端子124を有する。
映像入力端子112は、ビデオカメラ104から映像信号を入力するインタフェース部である。
映像出力端子113は、ビデオカメラ104から入力された映像信号をNW通信部106に出力するインタフェース部である。
人物位置検知部114は、ビデオカメラ104から入力された映像信号に人が映っているか否かを判定し、その判定結果を信号処理部116及び音声認識部118に出力する。例えば、人物位置検知部114は、入力される映像信号を用いた画像処理により、映像フレームに人が映っているか否かを判定し、人物を検知した場合には、人を検知したことを示す判定結果(例えば、「1」など)を出力し、それ以外の場合には、人非検知を示す判定結果(例えば、「0」など)を出力する。
また、映像信号に人が映っていると判定した場合、人物位置検知部114は、人がいる方向情報を信号処理部116に出力する。さらに、複数の人物を検知した場合には、検知した各人の方向情報を出力する。
音入力端子115は、AD変換部103からマイク入力信号を入力するインタフェース部である。
信号処理部116は、入力されたマイク入力信号を信号処理し、信号処理した信号(以下、「マイクアレイ処理信号」とも呼ぶ。)を出力切替部121、オーディオバッファ部117及び音声認識部118に出力する。
オーディオバッファ部117は、信号処理部116により信号処理信号を、一定時間保持するバッファである。オーディオバッファ部117は、一定時間経過後、保持している信号を出力切替部121に出力する。
音声認識部118は、信号処理部116により信号処理されたマイクアレイ処理信号を音声認識して、その音声認識結果をコマンド判定部120に出力する。
コマンドリスト部119は、コマンドの一覧が保持されているテキストファイルである。ここで、コマンドには、様々なコマンドを含むことができるが、この実施形態では、コマンドの一例として接続コマンドと切断コマンドとが含まれる。コマンドの一例である接続コマンドと切断コマンドの詳細な説明は後述する。
コマンド判定部120は、音声認識部118からの音声認識結果がコマンドリスト部119に保持されているコマンドに存在するか否か判定するものであり、その判定結果を、出力切替部121及び接続判定部123に出力する。コマンド判定部120による判定方法の詳細な説明は後述する。
出力切替部121は、信号処理部116とオーディオバッファ部117とに接続しており、コマンド判定部120による判定結果に応じて、信号処理部116からの出力信号と、オーディオバッファ部117からの出力信号とのいずれかを切り替えて、音出力端子122に出力する。
音出力端子122は、出力切替部121により切り替えられた音信号を出力するインタフェース部である。音出力端子122から出力される音信号が、呼びかけ処理部105から出力される音信号となる。
接続判定部123は、コマンド判定部120により判定された判定結果に基づいて、ネットワーク107との接続判定を行なうものである。
例えば、音声認識結果が、人名と接続コマンドと続けて一致するとの判定結果である場合、接続判定部123は、接続コマンドに基づいて、相手側の接続先であるコミュニケーション装置100を決定し、決定した接続先に関する情報と、当該接続先への接続指示とを含む接続判定結果をNW通信部106に出力する。音声認識結果が切断コマンドと一致するとの判定結果である場合、接続判定部123は、接続している相手側のコミュニケーション装置100との接続切断指示を含む接続判定結果をNW通信部106に出力する。
接続判定結果出力端子124は、接続判定部123からの接続判定結果を、NW通信部106に出力する。
(A−2)第1の実施形態の動作
次に、第1の実施形態に係るコミュニケーション装置100における処理動作を、図面を参照しながら詳細に説明する。
図2は、第1の実施形態において、一方の拠点の部屋内に設置されるコミュニケーション装置に係る機器の配置や使用者との位置関係の一例を説明する説明図である。なお、他方の拠点においても図2と同様に、遠隔コミュニケーション100が設置されているものとする。
図2において、部屋151は例えば会議室であり、部屋151の高さは、モニター111を簡単に設置でき、かつ十分に余裕のある高さ(例えば、モニター111の高さ+数m、または2m以上)があれば良く、部屋151の大きさ(面積)は、モニター111やマイクアレイ101、スピーカ110a及び110bなどが簡単に設置でき、かつ、十分に余裕がある広さ、または使用者152a及び152bが会話するのに十分広さ(例えば、横縦数m)があれば良い。
まず、コミュニケーション装置100の動作が開始すると、モニター111は、相手側の拠点のコミュニケーション装置100のビデオカメラ104で撮影している映像を表示する。
つまり、コミュニケーション装置100が動作開始し、自拠点のビデオカメラ104が起動すると、ビデオカメラ104で撮影された映像信号は、呼びかけ処理部105を介してNW通信部106に与えられ、NW通信部106が、ネットワーク107を通じて、相手側の拠点のNW通信部106に映像信号を送信する。これにより、自拠点の映像は相手側の拠点のモニター111に表示される。同様に、相手拠点の映像が自拠点のモニター111に表示される。
このとき、両拠点のコミュニケーション装置100は音声信号を送受信しておらず、両拠点とも相手側のビデオカメラ104で撮影した映像だけがモニター111に表示されて、お互いの拠点の様子を確認できる。
また、ビデオカメラ104により撮影された映像信号は、呼びかけ処理部105の映像入力端子112に入力され、映像信号が人物位置検知部114に入力される。
コミュニケーション装置100が動作開始後から人がコミュニケーション装置100に近づくまでは,各拠点のコミュニケーション装置100は音声信号を送受信しておらず、両拠点とも相手側のビデオカメラ104で撮影した映像だけがモニター111に表示されて、お互いの拠点の様子を確認できる状態になっている。
コミュニケーション装置100が動作開始してしばらくすると、相手拠点にいる人と通話を試みようとする使用者152a及び152bは、相手側の拠点の映像を見て、通話相手を探したり、確認したりするためにモニター111に近づく。このとき、図2に例示するように、ビデオカメラ104はモニター111付近に設置されている(図2の例では、モニター111の上部にビデオカメラ104が設置されている)ため、ビデオカメラ104は、モニター111に近づく使用者152a及び152bを撮影し、使用者152a及び152bが映っている映像信号が呼びかけ処理部105の映像入力端子112に入力される。
呼びかけ処理部105の映像入力端子112に、使用者152a及び152bが映っている映像信号が入力され始めると、ビデオカメラ104の映像信号が人物位置検知部114に入力される。
人物位置検知部114は、映像信号に映っている使用者152a及び152bの2人を検知し、人物位置検知部114は、人が映っていることを示す判定結果(例えば「1」など)を信号処理部116及び音声認識部118に出力すると共に、映像フレームにおける使用者152a及び152bの位置に関する情報(例えば、方向情報)を信号処理部116に出力する。
さらに、相手側の拠点にいる人と通話を試みようとする使用者152aと152bのいずれかは、通話したい相手を呼びかけるために、呼びかけ音声を発声する。ここで、呼びかけ音声とは、相手側の拠点で通話したい相手を呼びかける音声であると共に、相手側の拠点との通話を開始するものとして機能する。呼びかけ音声は、実際に対面して会話をする際に用いられる言葉を含むことが望ましい(例えば、「人名+こんにちは」、「人名+こんばんは」など)。これにより、コミュニケーション装置100を通じて相手側の拠点の人と通話をする際に違和感なく通話を開始させることができる。
使用者152a又は152bのいずれかが発話した呼びかけ音声は、マイクアレイ101の各マイクに受音される。このとき、部屋151における環境音も各マイクに受音されるため、各マイクに受音される音信号は、使用者152a及び152bが発話した音声信号に環境音が重畳した信号となる。
マイクアレイ101の各マイクに入力したアナログの音信号は、マイクアンプ102で増幅され、AD変換部103でアナログ信号からデジタル信号に変換され、呼びかけ処理部105の音入力端子115にマイク入力信号x(m,n)として入力される。なお、マイク入力信号x(m,n)において、mはマイクアレイ101内の各マイクを識別するパラメータであり、nは入力信号の時系列を示すパラメータである。
呼びかけ処理部105の音入力端子115に信号が入力され始めると、まず、マイク入力信号x(m,n)が信号処理部116に入力される。
人物位置検知部114でビデオカメラ104の映像信号に人が映っていると判定されたとき、信号処理部116は、人物位置検知部114から各人物の位置に関する情報(例えば、方向情報)を用いて、マイク入力信号x(m,n)に対してマイクアレイ処理を行い、指向性処理や音源を分離する音源分離処理をする。
このように、映像信号に人が映っていると判定されたときに、信号処理部116が信号処理を行うことで、使用環境となる部屋151に使用者以外の人がいるような場合でも、使用者以外の人の音声をマイクが受音して、誤って相手側の拠点と接続することなく、モニター111の前にいる使用者の音声を正しく捉えることができる。
また、映像信号に人が映っていると判定されたとき、信号処理部116は、人物位置検知部114からの人の方向情報に基づいて、映像信号に映っている各人の音声として扱い、マイクアレイ101に形成される指向性や音源分離処理を行なう。人物位置検知部114による人の検知方法は特に限定されるものではなく、種々の方法を広く適用することができ、例えば、ビデオカメラ104が撮影する映像信号(映像フレーム)のX−Y座標系と、マイクアレイ101の各マイクの位置を決めるX−Y座標系との対応させるために、映像信号(映像フレーム)のX−Y座標系と、マイクアレイ101の各マイク位置のX−Y座標系の原点との間で座標変換処理を行ない、人のいる方向情報を算出するようにしても良い。
指向性処理の手法は、例えば、従来のマイクアレイ処理である遅延和アレイ処理でマイクアレイ101が直線型のマイクアレイの場合に、以下の(1)式に従い、処理する手法がある。
上記(1)式のx’_k(n)はマイクアレイ処理信号、Dmは各マイク信号に付加する遅延量、Kは指向性を形成する数、Mはマイクの本数、(2)式のD0は固定遅延量、(3)式のτ_kはマイク間の遅延量、dはマイク間隔、θkは指向性を形成する角度(人物位置検知部114からの人の方向情報)、cは音速である。
例えば、1つの指向性をマイクアレイ101の正面方向に指向性を形成する場合は、K=1、指向性を形成する角度θ1=0になるので、上記(3)式より、τ_1=0となる。また例えば、2つの指向性をマイクアレイ101の90度方向に指向性を形成する場合は、K=2、指向性を形成する角度θ2=π/2(πは円周率)になり、上記(3)式より、τ_2=d/cとなる。
なお、信号処理の算出手段は、種々の方法を広く適用することができ、例えば、遅延和アレイ処理以外の従来の別マイクアレイ処理や、マイクアレイを2組使用して、ある特定のエリアの収音できるマイクアレイ処理でも良い。
そして、信号処理部116は、人物位置検知部114でビデオカメラ104の映像信号に人が映っていると判定されたときは、算出したマイクアレイ処理信号x’_k(n)を、オーディオバッファ部117と、音声認識部118と、出力切替部121に出力し、人物位置検知部114でビデオカメラ104の映像信号に人が映っていないと判定されたときは、(4)式に示すように、無線信号をオーディオバッファ部117と、音声認識部118と、出力切替部121に出力する。
x’_k(n)=0 …(4)
また、呼びかけ処理部105は、同時にマイクアレイ処理信号x’_k(n)を、以下の(5)式に従い、オーディオバッファ部117のオーディオバッファbuffer_k(n)の書込み位置write_indexの位置に保持する。保持した後、呼びかけ処理部105は、以下の(6)式に示すように、書込み位置write_indexの値に「1」をインクリメントして処理を進める。
上記(6)式のBUFFER_SIZEは、オーディオバッファ部117のバッファの長さである。
さらに、呼びかけ処理部105は、同時にマイクアレイ処理信号x’_k(n)を音声認識部118で音声認識を行う。そして、マイクアレイ処理信号x’_k(n)の音声認識結果をマイクアレイ処理信号毎にコマンド判定部120に出力する。
コマンド判定部120は、音声認識結果とコマンドリスト部119に保持されているコマンド一覧(例えば、図3のコマンドリスト)とを比較し、コマンドリストにある「人名」とコマンドリストにある「接続コマンド」が続けて音声認識されたか否かの判定を行う。例えば、使用者が「○○さん こんにちは」などのように発話し、音声認識結果が、コマンドリストに設定されている「人名」と「接続コマンド」とが連続して音声認識された場合、判定結果として「1」を、後述する「切断コマンド」が音声認識された場合は、判定結果として「2」を、それ以外は「0」を出力する。そして、コマンド判定部120は、判定結果を出力切替部121に出力し、判定結果と音声認識結果を接続判定部123に出力する。
コマンドリスト部119は、例えば、図3のようにコマンドの一覧がテキス卜ファイルで保持されている。例えば、図3に例示するコマンドリストは、大別して、少なくとも相手側の拠点の通話相手となり得る人の名前等を示す「人名」、実際に対面する相手と会話を始める際に用いる言葉であって、且つ、相手側の拠点との接続開始を実行するコマンドとして機能する「接続コマンド」、実際に対面する相手と会話を終了する際に用いる言葉であって、且つ、相手側の拠点との接続終了を実行するコマンドとして機能する「切断コマンド」を有している。なお、図3のコマンド一覧は一例であって、コマンドリスト部119が保持するデータの内容及び形式は、種々様々な値(形式)を適用することができる。
接続判定部123は、音声認識部118による音声認識結果及びコマンド判定部120に基づくコマンド判定結果に基づいて接続判定を行い、接続判定結果をNW通信部106に出力する。
例えば、コマンド判定部120の判定結果が「1」で音声認識結果118の認識結果が「○○さん こんにちは」という音声認識結果が出力された場合、接続判定部123は、相手側の拠点のコミュニケーション装置100が設置されている近くに「○○さん」がいるとき、相手側の拠点のコミュニケーション装置100に接続する信号を接続判定結果出力端子124に出力する。拠点のコミュニケーション装置100が設置されている近くに「○○さん」が入るかどうかの判定は、事前に端末の近くにいる人を登録した情報を使用する。
NW通信部106は、接続判定結果出力端子124を介して出力された接続判定結果に基づき、ネットワーク107との接続処理を行う。
コマンド判定部120により「人名」と「接続コマンド」が続けて音声認識された場合には、オーディオバッファ部117に保持されている該当のマイクアレイ処理信号のオーディオバッファ音を出力する。
オーディオバッファ部117に保持されている音を出力するために、読出し位置read_indexを、下記の(7)式に従い計算する。
上記(7)式のLENは、オーディオバッファ部117に保持されている処理信号を再生する長さである。なお、LENの決定方法は、種々の方法を広く適用することができ、例えば、オーディオバッファ部117のバッファサイズと同じ長さ(LEN=BUFFER_SIZE)とするなどの定数とする方法が存在する。また、オーディオバッファ部117に保持されているマイク入力信号に音声区間処理を行い、バッファに保持されている音の長さを求めて、その長さをLENとする方法でも良い。
そして、出力切替部121は、以下の(8)式に示すようにオーディオバッファ部117に保持されている音信号を出力信号y(n)として音出力端子122に一定時間(例えば、LENの時間長分)出力し、以下の(9)式に示すように読出し位置read_indexを進める(インクリメン卜する)。
NW通信部106は、音出力端子122から介して出力された出力信号y(n)をネットワーク107で接続している相手側のコミュニケーション装置100のNW通信部106に送信する。
出力切替部121は、オーディオバッファ部117に保持されている音信号を一定時間出力すると、以下の(10)式に示すように、マイクアレイ処理信号x’_k(n)を出力信号y(n)として音出力端子122に出力する。
y(n)=x’_k(n) …(10)
一方、出力切替部121は、コマンド判定部120で音声認識部118の音声認識結果が「人名」と「接続コマンド」が続けて音声認識されない場合は、(4)式に示すように、x’_k(n)が無音信号になるので、(10)式に示すようにy(n)も無音信号になり、無音信号を音出力端子122に出力し続ける。
y(n)=0 …(11)
NW通信部106は、音出力端子122を介して出力された出力信号y(n)を引き続きネットワーク107に接続している相手側のコミュニケーション装置100のNW通信部106に送信する。
一方、ネットワーク107から送信されてきた相手側の音声信号は、NW通信部106を介してDA変換部108に入力する。そして、DA変換部108によりデジタル信号からアナログ信号に変換後、音声信号がスピーカアンプ109で増幅され、音声がスピーカ110から出力される。
呼びかけ音声再生後は、自拠点のコミュニケーション装置100と相手側の拠点のコミュニケーション装置100とが接続し、両拠点の間で、ビデオカメラ映像と音声のやりとりが行われる。
しばらくして、通話を終了する場合は、使用者152aと152bのいずれかが、切断音声を発話して会話を終了する。
使用者152a、152bのいずれかが発した音声は、環境音が重畳しマイクアレイ101の各マイクに入力される。
マイクアレイ101に入力されたアナログの音信号は、マイクアンプ102で増幅され、AD変換部103でアナログ信号からデジタル信号に変換され、呼びかけ処理部105の音入力端子115にマイク入力信号x_k(m,n)として入力され、マイク入力信号x_k(m,n)が信号処理部116に入力される。
信号処理部116は、マイク入力信号x_k(m,n)に対して(1)、(2)、(3)式に示すように、マイクアレイ処理を行い、指向性処理や音源を分離する音源分離処理を行い、算出したマイクアレイ処理信号x’_k(n)をオーディオバッファ部117と音声認識部118と出力切替部121に出力する。
出力切替部121は、(10)式に示すように、マイクアレイ処理信号x’_k(n)を出力信号y(n)として音出力端子122に出力する。
また、呼びかけ処理部105は、同時にマイクアレイ処理信号x’_k(n)を、(5)式に従い、オーディオバッファ部117のオーディオバッファbuffer_k(n)の書込み位置write_indexの位置に保持する。保持した後、呼びかけ処理部105は、(6)式に示すように、書込み位置write_indexを進める(すなわち、書き込み位置をインクリメン卜する)。
さらに、呼びかけ処理部105は、同時にマイクアレイ処理信号x’_k(n)を音声認識部118で音声認識を行い、音声認識結果をコマンド判定部120に出力する。
コマンド判定部120は、音声認識結果と、コマンドリスト部119に保持されているコマンド一覧(図3のコマンドリスト)とを比較し、音声認識の結果が「切断コマンド」の一覧に存在するか否かの判定を行う。そして、コマンド判定部120は、コマンドリストにある「切断コマンド」が音声認識された場合(例えば、「さようなら」など)、判定結果を出力切替部121、及び接続判定部123に出力する。例えば、使用者が「○○さん こんにちは」などのように発話し、音声認識結果が、コマンドリストに設定されている「人名」と「接続コマンド」とが連続して音声認識された場合、判定結果として「1」を、「切断コマンド」が音声認識された場合は、判定結果として「2」を、それ以外は「0」を出力する。
接続判定部123は、音声認識部118による音声認識結果及びコマンド判定部120に基づくコマンド判定結果に基づいて、切断判定を行い、NW通信部106に相手側のNW通信部と切断する信号を接続判定結果出力端子124に出力する。
NW通信部106は、接続判定結果出力端子124を介して出力された接続判定結果に基づき、相手側のコミュニケーション装置100のNW通信部106との切断処理を行う。
出力切替部121は、コマンド判定部120で音声認識部118の音声認識結果がコマンドリスト部119の切断コマンド一覧に存在しないと判定された場合には、マイクアレイ処理信号を音出力端子122に出力し続ける。
一方、コマンド判定部120で音声認識部118の音声認識結果がコマンドリスト部119の切断コマンド一覧に存在すると判定された場合には、出力切替部121は、(11)式に示すように、無音信号を出力信号y(n)として音出力端子122に出力される。
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、コミュニケーション装置100は、マイクアレイに受音される音声信号と人の方向情報から、各使用者の音声を強調する信号処理を行い、信号処理した信号を一度オーディオバッファ部に保持し、同時に音声認識部が信号処理した信号に対して音声認識を行なう。そして、音声認識結果が呼びかけ音声か否かを判定し、呼びかけ音声の場合には、相手側のコミュニケーション装置と接続してから、バッファに保持している呼びかけ音声を出力することで、呼びかけ音声が相手に伝わってから会話を開始することができる。また、相手側との会話が開始してから、音声認識部が信号処理した信号に対して音声認識を行い、その音声認識結果が切断音声か否かを判定し、切断音声の場合には切断する。このことにより、対面での会話に近い状態を再現でき、複数の話者で高い臨場感で会話を開始することができる。
また、第1の実施形態のコミュニケーション装置100は、使用環境の雑音が大きい環境においても、呼びかけ音声の収音はマイクアレイを使用して、音声を強調する信号処理を行っているため、呼びかけ音声を正しく認識でき、雑音が大きい環境でも通話を行うことができる。
(B)第2の実施形態
次に、本発明のコミュニケーション装置、コミュニケーションプログラム、及びコミュニケーション方法の第2の実施形態を、図面を参照しながら詳細に説明する。
第2の実施形態は、本発明のコミュニケーション装置の音出力方法が、第1の実施形態と異なっている場合を例示する。
(B−1)第2の実施形態の構成
図4は、第2の実施形態に係るコミュニケーション装置200の構成を示すブロック図である。
図4において、第2の実施形態に係るコミュニケーション装置200は、マイクアレイ101、マイクアンプ102、アナログ−デジタル(AD)変換部103、2台のビデオカメラ104a及び104b、呼びかけ処理部201、NW通信部106、デジタル−アナログ(DA)変換部108、スピーカアンプ109、2台のスピーカ110a及び110b、モニター111を有する。
また、呼びかけ処理部201は、音入力端子115、映像入力端子112a及び112b、映像出力端子113a及び113b、人物位置検知部202、信号処理部116、オーディオバッファ部117、音声認識部118、コマンドリスト部119、コマンド判定部120、出力切替部203、音出力端子122a及び122b、接続判定部123、接続判定結果出力端子124を有する。
第2の実施形態に係るコミュニケーション装置200は、2台のビデオカメラ104a及び104bと、2台のスピーカ110a及び110bとを備え、さらに、呼びかけ処理部201の映像入力端子112a及び112b、映像出力端子113a及び113b、音出力端子122a及び122bが2個に増えたことにより、人物位置検知部202と出力切替部203の動作が第1の実施形態と異なる。
それ以外の構成要素は、第1の実施形態に係る図1のコミュニケーション装置100の構成要素と同一、又は対応するものである。なお、図4において、第1の実施形態に係るコミュニケーション装置100の構成要素と同一、又は対応するものについては同一の符号を付している。また、第1の実施形態と同一、又は対応する構成要素の詳細な説明は重複するため、ここでは省略する。
呼びかけ処理部201は、2台のビデオカメラ104a及び104bと接続しており、入力された各々のビデオカメラ104a及び104bからの営巣信号に人が映っているか否かを判定する。いずれか又は両方の映像信号に人が映っていると判定された場合のみ、呼びかけ処理部201は、入力された複数のマイク入力信号を信号処理し、信号処理した信号を音出力端子に出力する。同時に、呼びかけ処理部201は信号処理した信号をオーディオバッファ部117に保存する。さらに、呼びかけ処理部201は、信号処理した信号を音声認識し、音声認識結果がコマンドリスト部119のコマンドの1つと一致した場合に、接続判定結果とオーディオバッファに保存されている音信号を一定時間出力し、一定時間出力が完了すると再び信号処理した信号を出力する。
次に、呼びかけ処理部201の詳細な構成を説明する。
映像入力端子112a、112bは、ビデオカメラ104a、104bからの映像信号を呼びかけ処理部201に入力するインタフェース部である。
映像出力端子113a、113bは、ビデオカメラ104a、104bからの映像信号を呼びかけ処理部201から出力するインタフェース部である。
人物位置検知部202は、映像入力端子112a、112bから入力したビデオカメラ104a、104bのそれぞれの映像信号に人が映っているか否かを判定するものである。
出力切替部203は、コマンド判定部120によるコマンド判定結果に基づいて出力する音信号を決定し、音信号を出力する。
(B−2)第2の実施形態の動作
第2の実施形態に係るコミュニケーション装置200における音声処理の基本的な動作は、第1の実施形態で説明した音声処理と同様である。
以下では、第1の実施形態と異なる点である人物位置検知部202、及び出力切替部203における処理動作を中心に詳細に説明する。
また、以下では、図5に示すように、1人の使用者152aが相手側の拠点にいる人とコミュニケーションをとっており、その後、2人目の使用者152bがコミュニケーションに参加してきた場合を想定して説明する。この場合、使用者152aはビデオカメラ104aにより撮影され、使用者152bはビデオカメラ104bに撮影されるものとして説明する。
まず、コミュニケーション装置200の動作が開始すると、モニター111は、相手側の拠点のコミュニケーション装置100のビデオカメラ104a、104bで撮影している映像を表示する。
自拠点のビデオカメラ104a、104bで撮影している映像は、呼びかけ処理部201を介してNW通信部106に与えられ、NW通信部106がNWを通して相手側の拠点に映像信号を送信する。映像信号は相手側の拠点のNW通信部106で受信され、相手の拠点のモニター111には、自拠点のビデオカメラ104a、104bで撮影された映像が表示される。
このとき、両拠点のコミュニケーション装置200は音声信号を送受信しておらず、両拠点とも相手側のビデオカメラ104a、104bで撮影した映像だけがモニター111に表示されて、お互いの拠点の様子を確認できる。また、各拠点の音声信号がお互いに送受信されるようにしても良く、その場合には、お互いの映像がモニター111に表示されると共に、お互いの音が聞こえる。
また、ビデオカメラ104a、104bで撮影している映像信号は、呼びかけ処理部201の映像入力端子112a、112bに入力され、人物位置検知部202に入力される。
人物位置検知部202は、ビデオカメラ104a、104bで撮影された映像信号に人が映っているか否かを判定し、その判定結果を、信号処理部116及び音声認識部118に出力する。例えば、人物位置検知部202は、ビデオカメラ104aに人が映っていると判定したときには判定結果を「1」、ビデオカメラ104bに人が映っていると判定したときには判定結果を「2」、それ以外は判定結果を「0」などとして出力する。
例えば、使用者152aが相手側の拠点の全体映像に映っている人と通話を行う場合は、モニター111に表示されている相手側の拠点の映像を見るために、図5に示すように、使用者152aは、モニター111に近づき、モニター111に映っている相手の拠点の映像を確認する。
このとき、図5に例示するように、モニター111付近に設置されているビデオカメラ104aが使用者152aを撮影するので、ビデオカメラ104aの映像信号を監視する人物位置検知部202は、ビデオカメラ104aの映像信号に人が映っているという判定結果(例えば、判定結果「1」等)を、信号処理部116及び音声認識部118に出力する。また、人物位置検知部202は、ビデオカメラ104aの映像フレームにおける使用者152aの方向情報を信号処理部116に出力する。
使用者152aは、通話したい相手を呼びかけるために、呼びかけ音声を発声する。使用者152aが発した音声は、環境音が重畳しマイクアレイ101aの各マイクに入力される。
マイクアレイ101aに入力されたアナログの音信号は、マイクアンプ102で増幅され、AD変換部103でアナログ信号からデジタル信号に変換され、呼びかけ処理部201の音入力端子115にマイク入力信号x(m,n)として入力される。
呼びかけ処理部201の音入力端子115に信号が入力され始めると、まず、マイク入力信号x(m,n)が信号処理部116に入力される。
人物位置検知部202でビデオカメラ104aの映像信号に人が映っていると判定されたとき、信号処理部116は入力信号に対してマイクアレイ処理を行う。このとき、信号処理部116は、人物位置検知部202から取得した、ビデオカメラ104aの映像における使用者152aの方向情報に基づいて、使用者152aの位置方向から到来する使用者152aの音声をマイクアレイ101が収音する指向性処理や、使用者152aの音声を抽出する音源分離処理を行う。
そして、信号処理部116は、人物位置検知部202でビデオカメラ104の映像信号に人が映っていると判定されたときは、算出したマイクアレイ処理信号x’_1(n)を、オーディオバッファ部117と、音声認識部118と、出力切替部203に出力し、人物位置検知部202でビデオカメラ104の映像信号に人が映っていないと判定されたときは、(12)式に示すように、無線信号をオーディオバッファ部117と、音声認識部118と、無線信号を出力切替部203に出力する。
x’_1(n)=0 …(12)
呼びかけ処理部201は、同時にマイクアレイ処理信号x’_1(n)は、(5)式に従い、オーディオバッファ部117のオーディオバッファbuffer_1(n)の書込み位置write_indexの位置に保持する。保持した後、呼びかけ処理部201は、(6)式のように、書込み位置write_indexの値をインクリメントして進める。
さらに、呼びかけ処理部201では、同時にマイクアレイ処理信号x’_1(n)を音声認識部118に入力し、音声認識部118が音声認識を行い、マイクアレイ処理信号x’_1(n)の音声認識結果をコマンド判定部120に出力する。
コマンド判定部120は、マイクアレイ処理信号x’_1(n)の音声認識結果と、コマンドリスト部119に保持されているコマンド一覧(例えば、図3のコマンドリスト)を比較し、コマンドリストにある「人名」とコマンドリストにある「接続コマンド」が続けて音声認識されたか否かの判定を行う(例えば、「○○さん こんにちは」など)。
そして、コマンド判定部120は、判定結果を出力切替部203に、判定結果と音声認識結果を接続判定部123に出力する。例えば、マイクアレイ処理信号x’_1(n)の音声認識結果が「人名」と「接続コマンド」が続けて音声認識された場合、コマンド判定部120は、判定結果を「1」、後述するマイクアレイ処理信号x’_2(n)の音声認識結果が「人名」と「接続コマンド」が続けて音声認識された場合は判定結果を「2」、それ以外は「0」などのように出力する。
接続判定部123は、音声認識部118による音声認識結果及びコマンド判定部120に基づくコマンド判定結果に基づいて、接続判定を行い、接続判定結果をNW通信部106に出力する。例えば、判定結果が「1」で、コマンド判定部120から「○○さん こんにちは」という音声認識結果が出力された場合、接続判定部123は、相手側の拠点のコミュニケーション装置100が設置されている近くに「○○さん」がいるときは、ビデオカメラ104aとマイクアレイ101aと相手側の拠点のコミュニケーション装置200の「○○さん」の近くのビデオカメラとマイクアレイに接続する信号を接続判定結果出力端子124に出力する。拠点のコミュニケーション装置200が設置されている近くに○○さんが入るかどうかの判定は、事前に端末の近くにいる人を登録した情報を使用する。
NW通信部106は、接続判定結果出力端子124を介して出力された接続判定結果に基づき、ネットワーク107との接続処理を行う。
コマンド判定部120で音声認識部118の音声認識の結果が「人名」と「接続コマンド」が続けて音声認識されない場合は、出力切替部203は、(13)式に示すように、無音信号を出力信号y_1(n)として音出力端子122aに出力する。
y_1(n)=0 …(13)
一方、コマンド判定部120で「人名」と「接続コマンド」が続けて音声認識された場合には、出力切替部203は、オーディオバッファ部117の読出し位置read_index_1を、下記の(14)式に従い計算する。
また、「人名」と「接続コマンド」が続けて音声認識されない場合は、出力切替部203は、信号処理部116からのマイク入力信号x(m,n)を出力するようにしても良い。
そして、出力切替部203は、以下の(15)式に示すようにオーディオバッファ部117に保持されている音信号を出力信号y_1(n)として音出力端子122に一定時間(例えば、LENの時間長分)出力し、以下の(16)式に示すように読出し位置read_index_1をインクリメントして進める。
NW通信部106は、音出力端子122aから出力された出力信号y_1(n)をネットワーク107で接続している相手側のコミュニケーション装置200のNW通信部106に送信する。
出力切替部203は、オーディオバッファ部117に保持されている音信号を一定時間出力すると、以下の(17)式に示すように、マイクアレイ処理信号x’_1(n)を、出力信号y_1(n)として音出力端子122aに出力する。
y_1(n)=x’_1(n) …(17)
NW通信部106は、音出力端子122から出力された出力信号y_1(n)を引き続きネットワーク107で接続している相手側のコミュニケーション装置200のNW通信部106に送信する。
一方、ネットワーク107から送信されてきた相手側の音声信号は、NW通信部106を介してDA変換部108に入力し、DA変換部108によりデジタル信号からアナログ信号に変換後、音声信号がスピーカアンプ109で増幅され、音声がスピーカ110aにより出力される。つまり、スピーカ110aから、使用者152aの音声が出力される。
呼びかけ音声再生後は、自拠点のコミュニケーション装置200と相手側の拠点のコミュニケーション装置200とが接続し、両拠点の間で、ビデオカメラ映像と音声のやりとりが行われる。
次に、図6に示すように、2人目の使用者152bがコミュニケーションに参加して、相手側の拠点にいる人と通話する場合を説明する。
この場合も、使用者152bがモニター111に表示されている相手側の拠点の映像を見るために、図6に示すように、使用者152bがモニター111に近づき、モニター111に映っている相手の拠点の映像を確認する。そうすると、人物位置検知部114は、ビデオカメラ104bに人が映っていることを判定し、その旨の判定結果を信号処理部116及び音声認識部118に出力する。
使用者152bは、映像に通話したい相手が映っていると、使用者152bが呼びかけ音声を発話する。使用者152bが発した音声は、環境音が重畳しマイクアレイ101bの各マイクに入力される。
マイクアレイ101bに入力されたアナログの音信号は、マイクアンプ102で増幅され、AD変換部103でアナログ信号からデジタル信号に変換され、音声信号が、呼びかけ処理部201の音入力端子115にマイク入力信号x(m,n)として入力される。
呼びかけ処理部201の音入力端子115に信号が入力され始めると、まず、マイク入力信号x(m,n)が信号処理部116に入力される。
人物位置検知部202でビデオカメラ104bの映像に人が映っていると判定されたとき、信号処理部116は入力信号に対してマイクアレイ処理を行い、指向性処理や音源を分離する音源分離処理をする。
そして、信号処理部116は、算出したマイクアレイ処理信号x’_2(n)、をオーディオバッファ部117と、音声認識部118と、出力切替部203に出力する。
そして、信号処理部116は、人物位置検知部202でビデオカメラ104bの映像信号に人が映っていると判定されたときは、算出したマイクアレイ処理信号x’_2(n)を、オーディオバッファ部117と、音声認識部118と、出力切替部203に出力し、人物位置検知部202でビデオカメラ104の映像信号に人が映っていないと判定されたときは、(18)式に示すように、無線信号をオーディオバッファ部117と、音声認識部118と、無線信号を出力切替部203に出力する。
x’_2(n)=0 …(18)
呼びかけ処理部201は、同時にマイクアレイ処理信号x’_2(n)は、(5)式に従い、オーディオバッファ部117のオーディオバッファbuffer_2(n)の書込み位置write_indexの位置に保持する。保持した後、呼びかけ処理部201は、(6)式のように、書込み位置write_indexの値に「1」をインクリメントして進める。
さらに、呼びかけ処理部201では、同時にマイクアレイ処理信号x’_2(n)を音声認識部118に入力し、音声認識部118が音声認識を行い、マイクアレイ処理信号x’_2(n)の音声認識結果をコマンド判定部120に出力する。
コマンド判定部120は、マイクアレイ処理信号x’_2(n)の音声認識結果とコマンドリスト部119に保持されているコマンド一覧(例えば、図3のコマンドリスト)を比較し、コマンドリストにある「人名」とコマンドリストにある「接続コマンド」が続けて音声認識されたか否かの判定を行う(例えば、「○○さん こんにちは」など)。そして、コマンド判定部120は、判定結果を出力切替部121に、判定結果と音声認識結果を接続判定部123に出力する。
接続判定部123は、音声認識部118による音声認識結果及びコマンド判定部120に基づくコマンド判定結果に基づいて、接続判定を行い、接続判定結果をNW通信部106に出力する。
例えば、音声認識部118による音声認識結果が「2」で、コマンド判定部120から「××さん こんにちは」という音声認識結果が出力された場合、接続判定部123は、相手側の拠点のコミュニケーション装置200が設置されている近くに「××さん」がいる場合は、ビデオカメラ104bとマイクアレイ101bと相手側の拠点のコミュニケーション装置100の○○さんの接続されていないビデオカメラとマイクアレイに接続する信号を接続判定結果出力端子124に出力する。拠点のコミュニケーション装置200が設置されている近くに「××さん」が入るかどうかの判定は、事前に端末の近くにいる人を登録した情報を使用する。
NW通信部106は、接続判定結果出力端子124から出力された接続判定結果に基づき、ネットワーク107との接続処理を行う。
コマンド判定部120で音声認識部118のマイクアレイ処理信号x’_2(n)の音声認識の結果が「人名」と「接続コマンド」が続けて音声認識されない場合は、出力切替部203は、(19)式に示すように、無音信号を出力信号y_2(n)として音出力端子122bに出力し続ける。
y_2(n)=0 …(19)
一方、コマンド判定部120で「人名」と「接続コマンド」が続けて音声認識された場合には、出力切替部203は、オーディオバッファ部117の読出し位置read_index_2を、下記の(20)式に従い計算する。
そして、出力切替部203は、以下の(21)式に示すようにオーディオバッファ部117に保持されている音信号を出力信号y_2(n)として音出力端子122bに、一定時間(例えば、LENの時間長分)出力し、以下の(22)式に示すように読出し位置read_index_2の値に「1」をインクリメントして進める。
NW通信部106は、音出力端子122から出力された出力信号y_2(n)をネットワーク107で接続している相手のNW通信部106に送信する。
出力切替部203は、オーディオバッファ部117に保持されている音信号を一定時間出力すると、以下の(23)式に示すように、マイクアレイ処理信号x’_2(n)を出力信号y_2(n)として音出力端子122bに出力する。
y_2(n)=x’_2(n) …(23)
NW通信部106は、音出力端子122を介して出力された出力信号y_2(n)を引き続きネットワーク107で接続している相手のNW通信部106に送信する。
一方、ネットワーク107から送信されてきた相手側の音声は、NW通信部106を介してDA変換部108に入力し、DA変換部108によりデジタル信号からアナログ信号に変換後、音声信号がスピーカアンプ109で増幅され、音声がスピーカ110bにより出力される。つまり、スピーカ110bから使用者152bの音声が出力される。
呼びかけ音声再生後は、接続後に遠隔通話装置はNW通信部106を介して、ビデオカメラ映像と音声のやりとりが行われる。
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、コミュニケーション装置は、複数のマイクアレイを使用して、複数の話者の音声を別々に強調する信号処理を行う。そして、信号処理した信号を一度オーディオバッファ部に保持し、同時に信号処理した信号に対して音声認識を行い、その音声認識結果が呼びかけ音声か否かを各マイクアレイ信号毎に判定する。呼びかけ音声の場合には、通話相手に接続してからオーディオバッファ部に保持している呼びかけ音声を出力することで、呼びかけ音声が相手に伝わってから会話を開始することができる。また通話を終了する際には、信号処理した信号に対して音声認識を行い、その音声認識結果が切断音声か否かを判定し、切断音声の場合には、相手側の拠点との接続を切断する。このことにより、対面での会話に近い状態を再現でき、複数の話者で高い臨場感で会話を開始することができる。
(C)他の実施形態
上述した各実施形態においても、種々の変形実施形態を説明したが、本発明は以下の変形実施形態についても適用することができる。
(C−1)上述した各実施形態で説明したコミュニケーション装置は、例えば、電話会議で通話を開始するときに、音声の入力によるコマンドで通話を開始する装置に搭載されるようにしても良い。
(C−2)上述した各実施形態で説明したコミュニケーション装置における、呼びかけ処理部やNW通信部は、ネットワーク上に設けられた処理装置(例えば、サーバなど)で処理されるようにしても良い。
(C−3)上述した各実施形態で説明したコミュニケーション装置では、マイクアレイ101が、図2、図5、図6で例示したように、モニター111の前方に配置される場合を例示した。しかし、マイクアレイ101の配置例は、図2、図5、図6に限定されない。例えば、マイクアレイ101は、モニター111の上部又は側面に配置されても良い。また、コミュニケーション装置がプロジェクターとスクリーンを備えている場合、プロジェクターからの投影映像を結像させるためのスクリーンをモニター111に代えて設けるようにしても良い。このスクリーンの種類は、様々なものを用いることができ、例えば投影映像を結像させる通常のスクリーンでも良いし、また例えば、音を透過するスクリーンでも良い。音を透過するスクリーンの場合、マイクアレイ101は、スクリーンの後方に配置しても良い。
(C−4)上述した各実施形態で説明したコミュニケーション装置で、1つのマイクアレイ101を用意する場合を例示しているが、2つのマイクアレイを用意するようにしても良い。ここでは、例えば、マイクアレイ101a、101bとする。その場合、例えば、マイクアレイ101aは使用者152aの音声を収音するものとし、マイクアレイ101bは使用者152bの音声を収音するものとする。