以下に添付図面を参照して、本発明に係る通信装置、通信システム、通信装置の制御方法およびプログラムの実施形態を詳細に説明する。以下では、本発明を適用した通信システムの一例として、地理的に離れた拠点間での遠隔会議を可能にするテレビ会議システムを例示する。このテレビ会議システムでは、各拠点に配置されたテレビ会議用端末(以下、「端末」と表記する)が通信ネットワークを利用した通信を行うことにより遠隔会議を実現する。ただし、本発明が適用可能な通信システムはこの例に限らない。本発明は、複数の通信装置の間で映像を送受信する各種の通信システム、および、この通信システムで用いられる各種の通信装置に対して、広く適用可能である。
図1は、本実施形態のテレビ会議システム1の概略構成図である。本実施形態のテレビ会議システム1は、図1に示すように、各拠点に配置された端末10(「通信装置」に相当)と、中継サーバ20(「中継装置」に相当)とが、通信ネットワーク30を介して接続された構成である。通信ネットワーク30は、例えば、インターネットやLAN(Local Area Network)などのネットワーク技術を単独または組み合わせて構築される。この通信ネットワーク30には、有線だけでなく、WiFi(Wireless Fidelity)やBluetooth(登録商標)などの無線による通信が行われる箇所が含まれていてもよい。
テレビ会議システム1に含まれる端末10の数は、会議に参加する拠点数に対応する。本実施形態では、一例として、拠点A〜Gの7拠点間での遠隔会議を行うことを想定し、7つの端末10が通信ネットワーク30に接続されているものとする。なお、各端末10の登録や管理、会議に参加する各拠点の端末10がテレビ会議システム1にログインする処理、各拠点の端末10間で通信を行うためのセッションを確立する処理などは、例えば特開2014−209299号公報などに開示された公知の技術を用いることができるので、ここでは詳細な説明は省略する。
端末10は、他拠点の端末10との間でのデータの送受信や、受信したデータの出力制御などを行う。ここで扱われるデータは、カメラにより撮影された映像や、マイクにより収録された音声などである。端末10間の映像や音声のデータ伝送は、中継サーバ20を介して行われる。なお、端末10は、テレビ会議システム1に専用の専用端末であってもよいし、PC(パーソナルコンピュータ)やスマートフォン、タブレット端末などの汎用端末であってもよい。これらの汎用端末は、後述の端末用プログラムをインストールすることによって、アプリケーションの一つとして端末10の機能を実現する。
端末10には、図1に示すように、少なくとも1つの表示装置40と複数のカメラ50とが、有線または無線により接続されている。表示装置40は、他拠点の端末10から中継サーバ20を介して送信された映像を表示するために用いられる。複数のカメラ50は、他拠点の端末10に中継サーバ20を介して送信する映像を撮影するために用いられる。なお、図1では便宜上、拠点Aの端末10のみに表示装置40と複数のカメラ50とが接続された様子を図示しているが、拠点B〜Gの他の拠点の端末10にも同様に、表示装置40と複数のカメラ50とが接続される。
中継サーバ20は、各拠点の端末10間における映像や音声のデータ伝送を中継するサーバコンピュータであり、どの端末10からのデータをどの端末10に送信するかの管理などを行う。なお、中継サーバ20を介したデータ伝送の形式は任意である。例えば、映像のデータ伝送はH.264/SVCの形式で行ってもよいし、H.264/MPEG4 AVC、H.265などの他の形式で行ってもよい。
図2は、各拠点の端末10に接続される表示装置40と複数のカメラ50を説明する模式図である。テレビ会議システム1では、多拠点(本実施形態では拠点A〜Gの7拠点)間での遠隔会議における各拠点の表示装置40による表示を効率よく行うため、各拠点の表示装置40の表示画面を領域分割して、複数の他拠点の端末10から送信された映像を同時に表示できるようにしている。
具体的には、表示装置40は、複数の他拠点の端末10(「複数の外部通信装置」に相当)のうち、所定基準に従って決定された順位が上位の端末10(「第1外部通信装置」に相当)からの映像を表示する上位表示領域40a〜40d(「第1表示領域」に相当)と、決定された順位が下位の端末10(「第2外部通信装置」に相当)からの映像を切り替え可能に表示する下位表示領域40e(「第2表示領域」に相当)とを含む。図2は拠点Aに設けられた表示装置40を例示しており、拠点B〜Gの6つの他拠点の端末10のうち、順位が1位から4位までの上位4つの端末10からの映像を表示するための4つの上位表示領域40a〜40dと、順位が5位と6位の下位2つの端末10からの映像を切り替え可能に表示する下位表示領域40eとを含んでいる。
拠点Aの端末10は、拠点B〜Gの6つの他拠点の端末10のうち、所定基準に従って決定された順位が1位から4位までの上位4つの端末10からの映像を上位表示領域40a〜40dに表示させ、決定された順位が5位と6位の下位2つの端末10からの映像を選択的に下位表示領域40eに表示させるように、表示装置40の表示を制御する。
図2の例では、拠点B〜Gの6つの他拠点の端末10のうち、拠点B,C,D,Eの端末10の順位が1位から4位であり、拠点F,Gの端末10の順位が5位と6位であった場合を想定している。このため、表示装置40の4つの上位表示領域40a〜40dには拠点B,C,D,Eの端末10からの映像が各々表示され、下位表示領域40eには拠点Fからの映像が表示されている。下位表示領域40eに表示される映像は、例えば周期的に、あるいはユーザ操作に応じて、拠点Fからの映像と拠点Gからの映像とで交互に切り替えられる。また、上位表示領域40a〜40dに表示されている拠点B,C,D,Eの端末10からの映像は、その端末10の順位が上位である間は、上位表示領域40a〜40dの中で現在表示されている位置での表示が継続される。つまり、上位表示領域40a〜40dに表示されている映像は、その送信元の端末10の順位が下位(5位以降)にならない限り、表示位置が変更されない。
なお、図2の例では、表示装置40の表示画面に4つの上位表示領域40a〜40dを設けているが、上位表示領域の数は、表示装置40の表示画面の大きさや会議に参加する拠点数に応じて適宜設定すればよく、図2の例に限定されるものではない。また、図2の例では、表示装置40の画面中央に下位表示領域40eを設けているが、下位表示領域の位置は任意であり、図2の例に限定されるものではない。また、図2の例では、単一の表示装置40の表示画面に4つの上位表示領域40a〜40dと下位表示領域40eとを設けているが、端末10に複数の表示装置40を接続し、これら複数の表示装置40に上位表示領域40a〜40dと下位表示領域40eとを分散して設ける構成であってもよい。
複数の他拠点の端末10の順位は、例えば、各拠点の端末10が送信する音声データから検出された発話の発生時刻が現在に近いほど当該発話を含む音声データの送信元の端末10を上位とするといった基準に従って決定することができる。以下、このように決定された端末10の順位を「話者順位」と呼ぶ。話者順位は、いずれかの端末10が送信する音声データから発話が検出されるたびに更新される。つまり、いずれかの端末10が送信する音声データから発話が検出されると、その端末10の話者順位が1位となり、他の端末10の話者順位が1つずつ繰り下がる。
なお、音声データから発話を検出する方法としては、例えば、音声データの音圧パワーが所定の閾値を超えた場合に発話とみなす方法など、公知の技術を用いればよい。音声データから発話を検出する機能や話者順位を決定する機能は、各拠点の端末10が備えていてもよいし、中継サーバ20が備えていてもよい。中継サーバ20がこれらの機能を持つ構成の場合、中継サーバ20により決定された話者順位が、その都度(話者順位が更新されるたびに)、各拠点の端末10に通知される。また、複数の他拠点の端末10の順位は、以上のような話者順位に限らず、例えば各拠点の端末10に対して静的または動的に与えられる優先度など、他の基準に従って決定してもよい。
複数のカメラ50は、図2に示すように、表示装置40の分割された各領域に対応して各々設けられる。図2の例では、上位表示領域40aに対応するカメラ50aと、上位表示領域40bに対応するカメラ50bと、上位表示領域40cに対応するカメラ50cと、上位表示領域40dに対応するカメラ50dと、下位表示領域40eに対応するカメラ50eの5つのカメラ50が設けられる。これらのうち、上位表示領域40a〜40dに対応するカメラ50a〜50d(「第1カメラ」に相当)は、対応する上位表示領域を注視するユーザUの視線を捉えるように配置される。すなわち、カメラ50aは、ユーザUが上位表示領域40aを注視したときにその視線を捉えるように配置される。また、カメラ50bは、ユーザUが上位表示領域40bを注視したときにその視線を捉えるように配置される。また、カメラ50cは、ユーザUが上位表示領域40cを注視したときにその視線を捉えるように配置される。また、カメラ50dは、ユーザUが上位表示領域40dを注視したときにその視線を捉えるように配置される。
ここで、「ユーザUの視線を捉える」とは、ユーザUの視線方向がカメラ50の光軸方向と完全に一致することを意味するのではなく、ユーザUがカメラ50の方を向いていると見做せる映像を撮影することを意味する。すなわち、ユーザUの視線方向とカメラ50の光軸方向とにずれがあっても、ユーザUの顔をほぼ正面から捉えた映像を撮影できれば、カメラ50がユーザUの視線を捉えているといえる。一例として、対応する上位表示領域の近傍に配置されたカメラ50は、その上位表示領域を注視するユーザUの顔をほぼ正面から捉えた映像を撮影できるので、ユーザUの視線を捉えるように配置されているといえる。
一方、下位表示領域40eに対応するカメラ50e(「第2カメラ」に相当)は、上位表示領域40a〜40dと下位表示領域40eのいずれか(つまり、表示装置40のいずれかの位置)を注視するユーザUの視線を捉えないように配置される。すなわち、カメラ50eは、表示装置40に正対しているユーザUの横顔など、ユーザUの正面ではない映像を撮影するように、表示装置40から離れた位置に配置される。
端末10は、これらのカメラ50a〜50eにより各々撮影された映像のうち、カメラ50a〜50dにより撮像された映像を、対応する上位表示領域に表示されている映像の送信元である他拠点の端末10に送信するように制御する。すなわち、図2の例では、上位表示領域40aには拠点Bの端末10から送信された映像が表示されているため、拠点Aの端末10は、カメラ50aにより撮像された映像を拠点Bの端末10に送信するように制御する。また、上位表示領域40bには拠点Cの端末10から送信された映像が表示されているため、拠点Aの端末10は、カメラ50bにより撮像された映像を拠点Cの端末10に送信するように制御する。また、上位表示領域40cには拠点Dの端末10から送信された映像が表示されているため、拠点Aの端末10は、カメラ50cにより撮像された映像を拠点Dの端末10に送信するように制御する。また、上位表示領域40dには拠点Eの端末10から送信された映像が表示されているため、拠点Aの端末10は、カメラ50dにより撮像された映像を拠点Eの端末10に送信するように制御する。
また、端末10は、カメラ50eにより撮影された映像を、話者順位が下位の他拠点の端末10に送信するように制御する。図2の例では、話者順位が下位(5位と6位)の端末10は、拠点Fの端末10と拠点Gの端末10であるので、拠点Aの端末10は、カメラ50eにより撮影された映像を、拠点Fの端末10と拠点Gの端末10とに送信するように制御する。
本実施形態のテレビ会議システム1では、各拠点の端末10が、以上のように表示装置40の表示を制御するとともに、複数のカメラ50で撮影された映像の送信を制御することにより、会議に参加する拠点数が多い場合でも各拠点の映像の表示や送信を適切に行い、対話中のユーザの視線を一致させて自然な対話を実現することができる。すなわち、図2に示した例において、拠点AのユーザUが拠点Bのユーザと対話するシーンを考えた場合、拠点Aの表示装置40の上位表示領域40aには、拠点AのユーザUの対話相手である拠点Bのユーザの視線を捉えた映像が表示される。拠点AのユーザUは、この上位表示領域40aを注視して対話を行うため、ユーザUの視線を捉えたカメラ50aの映像が拠点Bの端末10に送信され、拠点Bの表示装置40の上位表示領域に表示される。拠点Bにおいても同様に、拠点Bのユーザが拠点Aからの映像が表示されている上位表示領域を注視して対話を行うため、拠点Bのユーザの視線を捉えた映像が拠点Aの端末10に送信される。その結果、拠点AのユーザUと拠点Bのユーザとの間で視線を一致させて自然な対話を実現することができる。さらに、話者順位が下位の端末10からの映像は、下位表示領域40eに切り替え可能に表示される構成であるため、会議に参加する拠点数が多くなっても表示装置40の表示画面を不用意に煩雑化することなく、適切な映像の表示を実現することができる。
次に、本実施形態のテレビ会議システム1における端末10および中継サーバ20のハードウェア構成について説明する。図3は、端末10のハードウェア構成の一例を示し、図4は、中継サーバ20のハードウェア構成の一例を示している。
端末10は、図3に示すように、端末10全体の動作を制御するCPU(Central Processing Unit)101、IPL(Initial Program Loader)などのCPU101の駆動に用いられるプログラムを記憶したROM(Read Only Memory)102、CPU101のワークエリアとして使用されるRAM(Random Access Memory)103、端末用プログラム、画像データや音声データなどの各種データを記憶するフラッシュメモリ104、CPU101の制御に従ってフラッシュメモリ104に対する各種データの読み出しや書き込みを制御するSSD(Solid State Drive)105、メディア106に対するデータの読み出しや書き込み(記憶)を制御するメディアドライブ107、通信相手となる他の端末10を選択する場合などに操作される操作ボタン108、端末10の電源のオン/オフを切り換えるための電源スイッチ109、通信ネットワーク30を利用してデータ伝送をするためのネットワークI/F(Interface)111を備えている。
また、端末10は、CPU101の制御に従って被写体を撮像して画像データを得る内蔵型のカメラ112、このカメラ112の駆動を制御する撮像素子I/F113、音声を入力する内蔵型のマイク114、音声を出力する内蔵型のスピーカ115、CPU101の制御に従ってマイク114およびスピーカ115との間で音声信号の入出力を処理する音声入出力I/F116、CPU101の制御に従って表示装置40に表示する映像のデータを伝送するディスプレイI/F117、各種の外部機器を接続するための外部機器接続I/F118、端末10の各種機能の異常を知らせるアラームランプ119、および上記各構成要素を電気的に接続するためのアドレスバスやデータバスなどのバスライン110を備えている。
上述した複数のカメラ50(図2の例ではカメラ50a〜50e)は、例えば外付けの外部機器として、外部機器接続I/F118に接続される。また、複数のカメラ50の一部として内蔵型のカメラ112を用いてもよい。表示装置40は、端末10に外付けされる液晶パネルやプロジェクタなどの投影装置を想定するが、端末10に内蔵された構成であってもよい。なお、図3に示す端末10のハードウェア構成はあくまで一例であり、上記以外の他のハードウェアが追加されていてもよい。
上述した端末用プログラムは、例えばフラッシュメモリ104に格納され、CPU101の制御によりRAM103上に読み出されて実行される。なお、端末用プログラムを格納するメモリは不揮発性メモリであればよく、フラッシュメモリ104に限らず、EEPROM(Electrically Erasable and Programmable ROM)などを用いてもよい。また、端末用プログラムは、インストール可能な形式または実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体であるメディア106に記録されて提供されるようにしてもよい。また、端末用プログラムは、ROM102などに予め格納された組み込みプログラムとして提供されるようにしてもよい。
中継サーバ20は、図4に示すように、中継サーバ20全体の動作を制御するCPU201、IPLなどのCPU201の駆動に用いられるプログラムを記憶したROM202、CPU201のワークエリアとして使用されるRAM203、中継サーバ用プログラムなどの各種データを記憶するHD(Hard Disc)204、CPU201の制御に従ってHD204に対する各種データの読み出しまたは書き込みを制御するHDD(HD Drive)205、メディア206に対するデータの読み出しや書き込み(記憶)を制御するメディアドライブ207、各種情報を表示するディスプレイ208、通信ネットワーク30を利用してデータ伝送をするためのネットワークI/F209、キーボード211、マウス212、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)213に対する各種データの読み出しまたは書き込みを制御するCD−ROMドライブ214、および上記各構成要素を電気的に接続するためのアドレスバスやデータバスなどのバスライン210を備えている。
上述した中継サーバ用プログラムは、例えばHD204に格納され、CPU201の制御によりRAM203上に読み出されて実行される。また、中継サーバ用プログラムは、インストール可能な形式または実行可能な形式のファイルによって、メディア206やCD−ROM213などのコンピュータで読み取り可能な記録媒体に記録されて提供されるようにしてもよい。また、中継サーバ用プログラムは、ROM202などに予め格納された組み込みプログラムとして提供されるようにしてもよい。
なお、着脱可能な記録媒体の他の例としては、CD−R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスクなどのコンピュータで読み取り可能な記録媒体が挙げられる。上述した各種のプログラムは、これらの記録媒体に記録されて提供されるようにしてもよい。
次に、端末10の機能構成について説明する。図5は、端末10の機能的な構成例を示すブロック図であり、図6は、端末10が保持する話者履歴情報の一例を示す図、図7は、端末10が保持する表示管理テーブルの一例を示す図である。
端末10は、図5に示すように、操作入力受付部11、映像入力部12、音声入力部13、記憶・読出処理部14、送受信部15、音声出力部16、話者順位決定部17、表示制御部18および送信制御部19を有している。これら各部は、例えば、図3に示したフラッシュメモリ104からRAM103上に展開された端末用プログラムをCPU101が実行することにより実現される機能である。また、端末10は、例えば、図3に示したRAM103およびフラッシュメモリ104によって構成される記憶部1000を有している。
記憶部1000には、図6に示すような話者履歴情報を格納する話者履歴DB1100と、図7に示すような表示管理テーブルを格納する表示管理DB1200とが構築されている。また、記憶部1000は、他拠点の端末10から中継サーバ20を介して送信された映像や音声のデータを一時的に保持する受信バッファとしても用いられる。
なお、本実施形態のテレビ会議システム1では、テレビ会議のセッションが確立すると、会議に参加する各拠点の端末10間で送受信されるすべての映像および音声のデータに対して、各端末10と中継サーバ20とが共通に識別可能な一意のデータIDが割り振られるものとする。また、会議に参加する各拠点の端末10は、他拠点の端末10のIPアドレスを事前に把握しており、このIPアドレスにより各端末10を識別するものとする。ただし、IPアドレスの代わりに各端末10に付与された固有の端末IDにより各端末10を識別する構成であってもよい。この場合、端末IDから端末10のIPアドレスを特定する機能を、例えば中継サーバ20に持たせておけばよい。なお、端末IDは端末10に固有である必要はなく、各端末10のユーザを識別する情報であってもよい。
話者履歴DB1100に格納される話者履歴情報は、テレビ会議のセッションが継続している間に、どの端末10の音声データから発話が検出されたかを、その発話の発生時刻順に記録した情報である。例えば、図6に示す話者履歴情報の例では、発話が検出された音声データのデータIDと、その音声データの送信元である端末10のIPアドレスと、発話発生時刻とを対応付けたかたちで、発話の発生時刻順に(番号の値が小さいほど発話の発生時刻が現在に近い)記録されている。なお、図6に示す話者履歴情報の形式はあくまで一例であり、この例に限定されるものではない。この話者履歴情報は、いずれかの音声データから発話が検出されるたびに更新される。音声データからの発話の検出は、端末10の内部で行ってもよいし、外部で行われてもよい。
表示管理DB1200に格納される表示管理テーブルは、表示装置40のどの表示領域にどの端末からの映像を表示しているかを、その表示領域に対応するカメラ50で撮影される映像のデータIDとともに管理する。例えば、図7に示す表示管理テーブルの例では、表示装置40の表示画面において領域分割された各表示領域(図2の例では上位表示領域40a〜40dおよび下位表示領域40e)ごとに、その表示領域に表示している映像のデータIDと、その映像の送信元である端末10のIPアドレスと、その表示領域に対応するカメラ50で撮影される映像のデータIDとを対応付けたかたちで管理している。なお、図7に示す表示管理テーブルの形式はあくまで一例であり、この例に限定されるものではない。この表示管理テーブルは、話者順位の更新などに応じて表示装置40の表示が更新されるたびに書き換えられる。
操作入力受付部11は、端末10を使用するユーザによる各種の入力操作を受け付ける。操作入力受付部11は、例えば、図3に示した操作ボタン108、電源スイッチ109およびCPU101によって実現される。
映像入力部12は、複数のカメラ50により撮影された映像を入力する。映像入力部12は、例えば、図3に示した外部機器接続I/F118およびCPU101によって実現される。
音声入力部13は、マイク114により収録された音声を入力する。音声入力部13は、例えば、図3に示した音声入出力I/F116およびCPU101によって実現される。
記憶・読出処理部14は、記憶部1000に対して各種データを記憶したり、読み出したりする処理を行う。記憶・読出処理部14は、例えば、図3に示したSSD105およびCPU101によって実現される。
送受信部15は、通信ネットワーク30を介して、中継サーバ20との間で各種データの送受信を行う。送受信部15は、例えば、図3に示したネットワークI/F111およびCPU101によって実現される。
音声出力部16は、送受信部15により受信された音声をスピーカ115から再生出力させる処理を行う。音声出力部16は、例えば、図3に示した音声入出力I/F116およびCPU101によって実現される。
話者順位決定部17は、記憶部1000の話者履歴DB1100に格納された話者履歴情報を参照して、上述した話者順位を決定する処理を行う。すなわち、話者順位決定部17は、発話が検出された音声データの送信元として話者履歴情報にIPアドレスが記録されている他拠点の端末10に対して、発話発生時刻が現在に近い(図6の例では番号の値が小さい)ほど上位となるように、これら他拠点の端末10の話者順位を決定する。また、テレビ会議に参加しているが話者履歴情報にIPアドレスが記録されていない(つまり発話が検出されていない)他拠点の端末10については、下位の順位を任意に割り当てる。話者履歴情報は、上述したように、いずれかの音声データから発話が検出されるたびに更新される。このため、話者順位決定部17は、いずれかの音声データから発話が検出されるたびに最新の話者履歴情報を参照して、他拠点の端末10に対する話者順位を更新することが望ましい。話者順位決定部17は、例えば、図3に示したCPU101によって実現される。
なお、本実施形態では、話者順位決定部17の機能を端末10に持たせているが、上述したように、話者順位決定部17の機能を中継サーバ20に持たせるようにしてもよい。この場合、中継サーバ20が話者履歴情報を保持し、いずれかの音声データから発話が検出されると話者履歴情報を参照して話者順位を決定して、決定した話者順位を各端末10に通知する。各端末10は、話者順位決定部17の代わりに、この中継サーバ20から通知された話者順位を取得する機能を持てばよい。
表示制御部18は、送受信部15により受信された他拠点の映像を1つの表示画面上で表示させるための描画処理などを行い、処理したデータを表示装置40に受け渡すことにより、図2に示したような表示画面を表示装置40に表示させる。具体的には、表示制御部18は、まず、話者順位決定部17により決定された他拠点の端末10の話者順位に従って、話者順位が上位の端末10からの映像を上位表示領域40a〜40dに表示させ、話者順位が下位の端末10からの映像を下位表示領域40eに表示させるように、他拠点の端末10から送信される各映像に対する表示領域の割り当てを決定する。また、話者順位が下位の端末10が複数ある場合は、周期的な表示切り替えのタイミングに応じて、あるいは、操作入力受付部11が受け付けたユーザの操作入力(表示する映像を指定する操作入力)に応じて、話者順位が下位の複数の端末10のうち、どの端末10からの映像を下位表示領域40eに表示させるかを決定する。
次に、表示制御部18は、決定した表示領域の割り当てに従って、記憶部1000の表示管理DB1200に格納された表示管理テーブルを必要に応じて書き換えるとともに、受信すべき映像のデータIDと自身のIPアドレスとを含む受信要求を、送受信部15から中継サーバ20に送信する。そして、この受信要求に応じて中継サーバ20から送信された映像が送受信部15により受信されると、決定した表示領域の割り当てに従って受信した各映像を画面内に配置した表示画面の描画処理などを行い、図2に示したような表示画面を表示装置40に表示させる。表示制御部18は、例えば、図3に示したCPU101およびディスプレイI/F117によって実現される。
送信制御部19は、記憶部1000の表示管理DB1200に格納された表示管理テーブルを参照して、話者順位が上位の端末10に対しては当該端末10からの映像を表示している上位表示領域に対応するカメラ50により撮影された映像を送信し、話者順位が下位の端末10に対しては下位表示領域に対応するカメラ50により撮影された映像を送信するように、複数のカメラ50により撮影された映像の宛先となる端末10を決定する。そして、送信制御部19は、各カメラ50により撮影された映像のデータIDと、その映像の宛先となる端末10のIPアドレスとを各々対応付けた映像対応指示を、送受信部15から中継サーバ20に送信する。中継サーバ20では、この映像対応指示に従って各カメラ50により撮影された映像を転送するため、送信制御部19が決定した宛先の端末10に対して、各カメラ50により撮影された映像が送信されることになる。送信制御部19は、例えば、図3に示したCPU101によって実現される。
ここで、図8のフローチャートを参照して、本実施形態に特徴的な端末10の処理の概要について説明する。図8は、端末10の処理手順の一例を示すフローチャートである。この図8のフローチャートで示す一連の処理は、各拠点の端末10間で送受信されるいずれかの音声データから発話が検出され、話者履歴DB1100の話者履歴情報が更新されるたびに実行される。
話者履歴DB1100の話者履歴情報が更新されると、まず、話者順位決定部17が、更新された話者履歴情報に基づいて、他拠点の端末10の話者順位を決定する(ステップS101)。
次に、表示制御部18が、ステップS101で決定された話者順位に従って、他拠点の端末10から送信される各映像に対する表示領域の割り当てを決定する(ステップS102)。そして、表示制御部18は、ステップS102で決定した表示領域の割り当てに従い、中継サーバ20に対して、受信すべき映像を指定した受信要求を送受信部15から送信する(ステップS103)。
また、送信制御部19は、ステップS102で決定された表示領域の割り当てに従い、中継サーバ20に対して、複数のカメラ50により撮影された映像の宛先となる端末10を指定した映像対応指示を送受信部15から送信する(ステップS104)。なお、ステップS103の処理とステップS104の処理は各々独立に行われるため、処理の順番はどちらが先であっても構わない。
その後、中継サーバ20から送信された他拠点の映像を送受信部15が受信すると、表示制御部16が、受信した映像をステップS102で決定した表示領域に配置した表示画面を表示装置40に表示させる(ステップS105)。また、複数のカメラ50により撮影された映像が、映像入力部12により入力され、送受信部15から中継サーバ20に送信される(ステップS106)。これら複数のカメラ50からの映像は、ステップS104で中継サーバ20に送信した映像対応指示に従って、中継サーバ20から宛先として指定した他拠点の端末10に各々転送される。
次に、中継サーバ20の機能構成について説明する。図9は、中継サーバ20の機能的な構成例を示すブロック図であり、図10は、中継サーバ20が保持する映像対応管理テーブルの一例を示す図、図11は、中継サーバ20が保持する受信要求管理テーブルの一例を示す図である。
中継サーバ20は、図9に示すように、記憶・読出処理部21、送受信部22および転送制御部23を有している。これら各部は、例えば、図4に示したHD204からRAM203上に展開された中継サーバ用プログラムをCPU201が実行することにより実現される機能である。また、中継サーバ20は、例えば、図4に示したHD204によって構成される記憶部2000を有している。
記憶部2000には、図10に示すような映像対応管理テーブルを格納する映像対応管理DB2100と、図11に示すような受信要求管理テーブルを格納する受信要求管理DB2200とが構築されている。
映像対応管理DB2100に格納される映像対応管理テーブルは、各端末10から送信される映像の宛先となる端末10を管理する。例えば、図10に示す映像対応管理テーブルの例では、各端末10から送信される映像のデータIDと、その映像の宛先となる端末10のIPアドレスとを対応付けたかたちで管理している。映像の宛先となる端末10は1つであってもよいし、2つ以上であってもよい。なお、図10に示す映像対応管理テーブルの形式はあくまで一例であり、この例に限定されるものではない。この映像対応管理テーブルは、いずれかの端末10から中継サーバ20に対して、上述した映像対応管理指示が送信されるたびに更新される。
受信要求管理DB2200に格納される受信要求管理テーブルは、各端末10から送信される映像について、どの端末10が受信を要求しているかを管理する。例えば、図11に示す受信要求管理テーブルの例では、各端末10から送信される映像のデータIDと、その映像の宛先となる端末10のIPアドレスと、宛先となる端末10がその映像の受信を要求しているか否かを示す受信許可状態(許可/不許可)とを対応付けたかたちで管理している。1つの映像に対して宛先となる端末10が複数ある場合は、それぞれの端末10ごとに受信許可状態が管理されている。なお、図11に示す受信要求管理テーブルの形式はあくまで一例であり、この例に限定されるものではない。この受信要求管理テーブルは、いずれかの端末10から中継サーバ20に対して、上述した受信要求が送信されるたびに更新される。
記憶・読出処理部21は、記憶部2000に対して各種データを記憶したり、読み出したりする処理を行う。記憶・読出処理部21は、例えば、図4に示したHDD205およびCPU201によって実現される。
送受信部22は、通信ネットワーク30を介して、各端末10との間で各種データの送受信を行う。送受信部22は、例えば、図4に示したネットワークI/F209およびCPU201によって実現される。
転送制御部23は、記憶部2000の映像対応管理DB2100に格納された映像対応管理テーブルと、受信要求管理DB2200に格納された受信要求テーブルとを参照しながら、端末10間における映像のデータ転送を制御する。すなわち、転送制御部23は、ある端末10から映像が送信されると、その映像のデータIDをキーとして、映像対応管理テーブルおよび受信要求管理テーブルから宛先となる端末10のIPアドレスを取得する。そして、宛先となる端末10の受信許可状態が許可となっていることを条件として、宛先となる端末10のIPアドレスにその映像を転送する。なお、音声データについては、すべての音声データを各端末10に転送してもよいし、発話が検出された音声データを含む一部の音声データを各端末10に転送してもよい。転送制御部23は、例えば、図4に示したCPU201によって実現される。
次に、中継サーバ20による映像の転送動作の具体例について、図12および図13を参照して説明する。図12は、端末10からの映像対応指示に応じた中継サーバ20の転送動作の一例を示すシーケンス図であり、図13は、端末10からの受信要求に応じた中継サーバ20の転送動作の一例を示すシーケンス図である。なお、ここでは、図2に示した例において、拠点Aの端末10(以下、「端末10A」と表記する。)と、拠点B,C,F,Gの端末10(以下、それぞれ「端末10B」、「端末10C」、「端末10F」、「端末10G」と表記する。)との間で送受信される映像の転送動作について説明する。端末10Aと拠点D,Fの端末10との間の映像の転送動作については、便宜上、図示および説明を省略している。
まず、図12を参照しながら、映像対応指示に応じた中継サーバ20の転送動作について説明する。図2に示した例では、拠点Aの端末10Aは、カメラ50aで撮影された映像の宛先として端末10B、カメラ50bで撮影された映像の宛先として端末10Cを指定し、カメラ50eで撮影された映像の宛先として端末10Fおよび端末10Gを指定した映像対応指示を中継サーバ20に送信する。
端末10Aから中継サーバ20に対して映像対応指示が送信されると(ステップS1)、中継サーバ20は、映像対応管理DB2100の映像対応管理テーブルを更新する(ステップS2)。端末10Aから中継サーバ20に送信される映像対応指示では、端末10Aに接続されている各カメラ50により撮影される映像のデータIDと、その映像の宛先となる端末10のIPアドレスとが対応付けられている。
その後、中継サーバ20は、端末10Aから映像が送信されると(ステップS3,S6,S9)、その映像に付加されているデータIDをもとに、映像対応管理DB2100の映像対応管理テーブルおよび受信要求管理DB2200の受信要求管理テーブルを参照して、映像の転送先を決定する(ステップS4,S7,S10)。具体的には、中継サーバ20は、受信した映像のデータIDに対応付けられている宛先端末IPアドレスを映像対応管理テーブルおよび受信要求管理テーブルから取得し、さらに、その宛先端末IPアドレスとデータIDとの組み合わせに対応付けられている受信要求管理テーブルの受信許可状態を参照して、受信許可状態が許可となっていれば、その宛先端末IPアドレスを映像の転送先として決定する。そして、中継サーバ20は、決定した転送先に端末10Aから受信した映像を転送する(ステップS5,S8,S11,S12)。なお、図12の例では、端末10B,10C,10F,10Gがそれぞれ、端末10Aからの映像の受信を要求(受信許可)しているものとする。
図12の例において、ステップS3〜S5の処理により端末10Aから端末10Bに送信される映像は、図2に示したカメラ50aにより撮影された映像である。すなわち、端末10Aに接続された表示装置40では、端末10Bから送信された映像が上位表示領域40aに表示されている。このため、ユーザが上位表示領域40aを注視したときにその視線を捉えるカメラ50aの映像が、端末10Bに送信される。これにより、端末10Aのユーザと端末10Bのユーザとが対話する際に、双方の端末10に接続された表示装置40を通じて、両者の視線を一致させることができる。
また、図12の例において、ステップS6〜S8の処理により端末10Aから端末10Cに送信される映像は、図2に示したカメラ50bにより撮影された映像である。すなわち、端末10Aに接続された表示装置40では、端末10Cから送信された映像が上位表示領域40bに表示されている。このため、ユーザUが上位表示領域40bを注視したときにその視線を捉えるカメラ50bの映像が、端末10Cに送信される。これにより、端末10AのユーザUと端末10Cのユーザとが対話する際に、双方の端末10に接続された表示装置40を通じて、両者の視線を一致させることができる。
また、図12の例において、ステップS9〜S12により端末10Aから端末10Fおよび端末10Gに送信される映像は、図2に示したカメラ50eにより撮影された映像である。すなわち、図2に示した例では、端末10Fおよび端末10Gの話者順位が下位であり、これら端末10Fから送信された映像と端末10Gから送信された映像とが下位表示領域40eに選択的に表示される。このため、ユーザUの視線を捉えないように配置されたカメラ50eの映像が、端末10Fおよび端末10Gに送信される。端末10Fと端末10Gは、話者順位が下位の端末10(つまり、比較的長い時間に亘って発話をしていないユーザが使用している端末)であるため、視線が一致しない映像が表示される方が自然である。
次に、図13を参照しながら、受信要求に応じた中継サーバ20の転送動作について説明する。図2に示した例では、拠点Aの端末10Aは、端末10B、端末10Cおよび端末10Fからの映像については受信を要求(受信許可)し、端末10Gからの映像については受信を要求しない(受信不許可)旨の受信要求を中継サーバ20に送信する。
端末10Aから中継サーバ20に対して受信要求が送信されると(ステップS21)、中継サーバ20は、受信要求管理DB2200の受信要求管理テーブルを更新する(ステップS22)。端末10Aから中継サーバ20に送信される受信要求では、各映像のデータIDと端末10AのIPアドレスと受信許可状態(許可/不許可)とが対応付けられている。
その後、中継サーバ20は、端末10B、端末10C、端末10Fから端末10Aを宛先に指定した映像が送信されると(ステップS23,S26,S29)、その映像に付加されているデータIDをもとに、映像対応管理DB2100の映像対応管理テーブルおよび受信要求管理DB2200の受信要求管理テーブルを参照して、映像の転送先を端末10Aに決定する(ステップS24,S27,S30)。そして、中継サーバ20は、端末10B、端末10C、端末10Fから受信した映像を端末10Aに転送する(ステップS25,S28,S31)。
また、中継サーバ20は、端末10Gから端末10Aを宛先に指定した映像が送信されると(ステップS32)、その映像に付加されているデータIDをもとに、映像対応管理DB2100の映像対応管理テーブルおよび受信要求管理DB2200の受信要求管理テーブルを参照し、端末10Aがその映像の受信を要求していない(受信不許可)ことを確認し、その映像を端末10Aに転送しないことを決定する(ステップS33)。
その後、端末10Aが図2に示した下位表示領域40eに表示する映像を、端末10Fの映像から端末10Gの映像に切り替えたとする。この場合、端末10Aから中継サーバ20に対して新たな受信要求が送信されるので(ステップS34)、中継サーバ20は、この受信要求に応じて、受信要求管理DB2200の受信要求管理テーブルを更新する(ステップS35)。受信要求管理テーブルを更新した後に、端末10Gから端末10Aを宛先に指定した映像が送信された場合は(ステップS36)、中継サーバ20は、その映像に付加されているデータIDをもとに、映像対応管理DB2100の映像対応管理テーブルおよび受信要求管理DB2200の受信要求管理テーブルを参照して、映像の転送先を端末10Aに決定する(ステップS37)。そして、中継サーバ20は、端末10Gから受信した映像を端末10Aに転送する(ステップS38)。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のテレビ会議システム1では、各拠点の端末10が、他拠点の端末10のうちで、話者順位が上位の端末10からの映像を上位表示領域に表示させ、話者順位が下位の端末10からの映像を下位表示領域に表示させるように、表示装置40の表示を制御する。このとき、話者順位が下位の端末10が複数あれば、これら複数の端末10からの映像を切り替えながら下位表示領域に表示させるように、表示装置40の表示を制御する。また、本実施形態のテレビ会議システム1では、各拠点の端末10が、話者順位が上位の端末10に対しては、その端末10からの映像を表示している上位表示領域をユーザが注視したときに視線を捉えるカメラ50の映像を送信し、話者順位が下位の端末10に対しては、ユーザの視線を捉えないカメラ50の映像を送信する。したがって、このテレビ会議システム1によれば、会議に参加する拠点数が多い場合でも各拠点の映像の表示や送信を適切に行い、対話中のユーザの視線を一致させて自然な対話を実現することができる。
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で様々な変形や変更を加えて具体化することができる。つまり、上述した実施形態で説明したテレビ会議システム1、端末10、中継サーバ20などの具体的な構成や動作はあくまで一例であり、用途や目的に応じて様々な変形が可能である。
例えば、上述した実施形態では、各拠点の端末10間における映像や音声のデータ伝送を、中継サーバ20を介して行うようにしているが、各拠点の端末10間における映像や音声のデータ伝送を、中継サーバ20を介さずに直接行うように構成してもよい。また、上述した実施形態における中継サーバ20は、単一のコンピュータによって構築されてもよいし、複数のコンピュータによって構築されていてもよい。また、中継サーバ20のほかに、端末10の管理やセッションの管理などを行う管理サーバを別途設けるようにしてもよい。そのほか、様々な機能を持つサーバをシステムに組み込むことにより、様々な機能拡張が実現できる。
また、上述した実施形態では、本発明を適用した通信システムの一例としてテレビ会議システム1を例示したが、これに限られるものではない。本発明は、通信装置間で映像や音声のデータを双方向に送受信するシステム、例えば、管理センタの端末から自動車に搭載されたカーナビゲーション装置に対して地図データやルート情報などを配信するカーナビゲーションシステムなど、各種の通信システムに対して有効に適用可能である。
また、上述した実施形態では、本発明を適用した通信装置の一例としてテレビ会議端末(端末)10を例示したが、これに限られるものではない。本発明は、例えばPCやタブレット端末、スマートフォン、電子黒板、自動車に搭載されるカーナビゲーション装置、IP(Internet Protocol)電話、インターネット電話等の電話端末、ウェアラブルコンピュータ、カメラ、ゲーム機、通信機能を備えた産業機器など、外部の機器と通信を行う各種の機器(通信装置)に対して有効に適用可能である。ウェアラブルコンピュータには、腕時計やヘッドマウントディスプレイなどが含まれる。また、産業機器には、MFP(Multifunction Peripheral/Printer/Product)等のオフィス機器、内視鏡等の医療用機器、耕運機等の農業用機器などが含まれる。