本発明の一実施形態について、図面を用いて以下に説明する。本実施形態では、情報処理システムの一例として、ネットワークを介して接続され相互に通信する複数の端末間で資料等の電子データ、及び、音声データ及び画像データ等のメディアデータを共有(同期)する電子会議システムを例に挙げて説明する。
図1は、本実施形態に係る電子会議システムの全体構成図である。電子会議システム100(情報処理システム)は、会議に出席する複数のユーザがそれぞれ使用(操作)する複数の端末10と、端末10を管理する端末管理サーバ20と、会議における音声及び映像等のメディアデータを管理するメディアデータ管理サーバ30と、を含んで構成されている。端末管理サーバ20とメディアデータ管理サーバ30とは1つの情報処理装置に含まれてもよい。また、端末10と端末管理サーバ20とが1つの情報処理装置に含まれてもよいし、端末10とメディアデータ管理サーバ30とが1つの情報処理装置に含まれてもよいし、端末10と端末管理サーバ20とメディアデータ管理サーバ30とが1つの情報処理装置に含まれてもよい。本実施形態では、必要に応じて、会議において発表を担当するユーザを「発表者」といい、発表者が使用する端末を「発表者用端末」という。また、発表者以外の、会議に出席するユーザを「参加者」といい、参加者が使用する端末を「参加者用端末」という。例えば図1において、端末10aが発表者用端末となる場合、他の5台の端末10b、10c、10d、10e、10fは参加者用端末となる。各端末10は、発表者用端末及び参加者用端末の何れにもなり得る。また発表者用端末には操作権限が付与され、これにより発表者用端末において発表者が操作した内容に応じた表示画面が他の参加者用端末に同期表示される。また、発表者は、会議において資料等に関する発言を行う発言権(音声送信権)を有していてもよい。なお、発言権は、1人のユーザが有していてもよいし、複数のユーザが有していてもよい。以下では、発表者用端末及び参加者用端末において共通する機能を説明する際は、端末10と総称して説明する。
各端末10は、ユーザが発言した音声データを送信する送信機能と、該音声データを受信する受信機能との両機能を兼ね備えている。これにより、例えば、発表者は自身の端末10に表示された資料を操作して参加者の端末10に同期表示させるとともに、資料に関する説明を発言し、発言した音声を参加者の端末10から出力させることができる。
図1に示すように、各端末10a、10b、10c、10d、10e、10fと、端末管理サーバ20と、メディアデータ管理サーバ30とは、LAN(Local Area Network)やインターネット等の通信ネットワーク50を介して相互に接続されている。
図2は、端末10、端末管理サーバ20及びメディアデータ管理サーバ30のハードウェア構成を示すブロック図である。
端末10は、CPU101、メモリ102、記憶部103、通信部104、操作部105、表示部106、音声入力部107、及び音声出力部108を含むコンピュータで構成されている。これらのハードウェア要素はバスにより相互にデータの授受が可能に接続されている。CPU101は、端末10の各部を制御したり、各種の情報処理を実行したりする。メモリ102は、各種のプログラムやデータを保持する。メモリ102には、CPU101の作業領域も確保される。記憶部103は、各種のファイルやドキュメント等のデータを記憶する。通信部104は、通信ネットワーク50を介して、端末管理サーバ20やメディアデータ管理サーバ30や他の端末10とデータ通信を行う。操作部105は、キーボード、マウス、ペンツール、タッチパネル等の入力デバイスである。表示部106は、Webブラウザ等のアプリケーションソフトを介して各種のファイルやドキュメント等を表示する表示画面である。また、表示部106は、会議においてユーザの操作を受け付けるための操作画面や会議に使用される資料等を表示する。音声入力部107は、会議において発言したユーザの音声が入力されるマイクである。音声出力部108は、会議において、他の端末10から受信した音声データを音声として出力するスピーカである。これら記憶部103、操作部105、表示部106、音声入力部107、及び音声出力部108は、端末10の外部に設けられ、通信ネットワーク50を介して端末10に接続されていてもよい。会議の様子を撮影して映像データ(メディアデータ)として保存する場合には、端末10や端末管理サーバ20等にカメラが搭載されていてもよい。
端末10は、会議に出席するユーザが使用する端末である。端末10には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。端末10は、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末等である。なお、1つの端末10は、例えば、1つのブラウザであっても良いし、ブラウザの中の1つのウィンドウであっても良いし、1つのアプリケーションであっても良い。
端末管理サーバ20は、CPU201、メモリ202、記憶部203、及び通信部204を含むコンピュータで構成されている。これらのハードウェア要素はバスにより相互にデータの授受が可能に接続されている。CPU201は、端末管理サーバ20の各部を制御したり、各種の情報処理を実行したりする。メモリ202は、各種のプログラムやデータを保持する。メモリ202には、CPU201の作業領域も確保される。記憶部203は、各種のファイルやドキュメント等のデータを記憶する。通信部204は、通信ネットワーク50を介して、他の端末やサーバとデータ通信を行う。記憶部203は、端末管理サーバ20の外部に設けられ、通信ネットワーク50を介して端末管理サーバ20に接続されていてもよい。
メディアデータ管理サーバ30は、CPU301、メモリ302、記憶部303、及び通信部304を含むコンピュータで構成されている。これらのハードウェア要素はバスにより相互にデータの授受が可能に接続されている。CPU301は、メディアデータ管理サーバ30の各部を制御したり、各種の情報処理を実行したりする。メモリ302は、各種のプログラムやデータを保持する。メモリ302には、CPU301の作業領域も確保される。記憶部303は、各種の音声データや映像データ等のメディアデータを記憶する。なお、以下では、メディアデータの一例として、音声データを例に挙げる。通信部304は、通信ネットワーク50を介して、他の端末やサーバとデータ通信を行う。記憶部303は、メディアデータ管理サーバ30の外部に設けられ、通信ネットワーク50を介してメディアデータ管理サーバ30に接続されていてもよい。
図3は、電子会議システム100の具体的な構成を示す機能ブロック図である。図3には、端末管理サーバ20及びメディアデータ管理サーバ30の具体的な構成を示している。
端末管理サーバ20は、受付処理部21、通信接続部22、通知部23、送信要求受信部24、受信要求受信部25、判定処理部26、及び、端末情報生成部27を含んでいる。これらの要素はメモリ202に格納されたプログラムをCPU201が実行することにより実現される。記憶部203には、端末情報を保存する端末情報データベース(端末情報DB28)が含まれている。
上記プログラムは、CD−ROM、DVD−ROM、メモリカード等のコンピュータが読み取り可能な情報記憶媒体から端末管理サーバ20にインストールされてもよいし、インターネット等の通信ネットワーク50を介してダウンロードされてもよいし、上記プログラムが予め記憶されたサーバからダウンロードされてもよい。
また、上記プログラムは、各端末10にインストールされてもよい。例えば、各端末10が端末管理サーバ20に接続された時点で、上記プログラムが端末管理サーバ20から各端末10のメモリにダウンロードされ、会議用の資料データが記憶部にダウンロードされてもよい。上記プログラム及び資料データは、例えばJavaScript(登録商標)により構成されてもよい。上記プログラムがダウンロード又は記録された端末10は、情報処理装置として機能する。また、上記プログラムがダウンロードされたコンピュータは、端末10であってもよいし、端末管理サーバ20であってもよい。
本実施形態に係る電子会議システム100では、端末管理サーバ20は、図3に示す各機能を実現するためのプログラムを有する。また各端末10が端末管理サーバ20に接続され認証されると、例えば、各端末10に、会議に使用される資料のデータと、端末10の表示部における表示内容(同期表示を含む)等を制御する表示制御プログラムと、音声データを送受信するための通信路の確立や切断等を制御する通信路制御プログラムと、がダウンロードされる。
[同期表示処理]
次に、電子会議システム100における同期表示処理を実現するための機能について説明する。
受付処理部21は、各端末10においてユーザが操作した内容に応じた各種情報(操作情報、要求情報等)を受け付ける(受信する)とともに、その情報に応じた処理を実行する。操作情報の例としては、会議開催中における発表者による操作内容(新規資料の表示、資料のページ切り替え等)が挙げられる。要求情報の例としては、端末10の端末管理サーバ20への接続要求や切断要求等が挙げられる。
通信接続部22は、端末10から受信する接続要求や切断要求に応じて、端末10との通信の接続及び切断を行う。電子会議システム100において利用される通信規格は特に限定されないが、例えば、Web Socketが好適である。なお、端末10との接続を認証する方法は特に限定されず、公知の技術を適用することができる。
通知部23は、会議の開始時及び会議中において、発表者の操作情報(発表者操作情報)を各参加者用端末に通知する。発表者操作情報は、例えば、新規資料の表示、ペンツール(手書き用ツール)による資料への書き込み、投稿コメントのピックアップ(選択)、資料のページ切り替え、マウスポインタの入力及び移動等の操作内容を示す情報である。例えば通知部23は、発表者用端末から発表者操作情報(例えば発表者が資料のページを切り替えた場合の資料ID、ページ番号の情報)を受信すると、該情報を参加者用端末に通知する。参加者用端末は、該情報を受信すると、自身の記憶部から資料ID及びページ番号に対応する資料データを読み出して表示画面に表示する。
ここで、会議における同期表示の具体例を説明する。ここでは、端末10aが発表者用端末に決定され(操作権限を付与され)、端末10b、10c、10d、10e、10fが参加者用端末に決定されたと仮定する。受付処理部21が発表者用端末10aから発表者操作情報を受信すると、通知部23が、該発表者操作情報を参加者用端末10b、10c、10d、10e、10fに通知する。例えば、受付処理部21は、発表者用端末10aから、新規資料の表示、ペンツール(手書き用ツール)による資料への書き込み、投稿コメントのピックアップ(選択)、資料のページ切り替え、マウスポインタの入力及び移動等の操作内容を示す情報を受信する。
図4は、発表者用端末10aの表示画面に表示される表示内容の一例を示している。例えば、発表者が発表者用端末10aにおいて、マウス等の操作部105を操作して、自身の記憶部103に保存されている資料の読み込み(資料画面へ新規資料を表示させる操作)を行った場合、受付処理部21は、発表者用端末10aから、資料ID及びページ番号を示す情報を含む発表者操作情報を受信する。また、例えば、発表者が発表者用端末10aにおいて、マウスを操作して、表示部106に表示された資料画面(図4参照)にマウスポインタを入力した場合、受付処理部21は、発表者用端末10aから、マウスポインタの位置(座標)、入力された資料のID及びページ番号等を示す情報を含む発表者操作情報を受信する。また、例えば、発表者が発表者用端末10aにおいて、ペンツールを操作して、表示部106に表示された資料画面(図4参照)に文字等を書き込んだ場合、受付処理部21は、発表者用端末10aから、書き込まれた位置(座標)、書き込まれた資料のID及びページ番号等を示す情報を含む発表者操作情報を受信する。さらに、例えば、発表者が発表者用端末10aにおいて、マウスを操作して、表示部106に表示された資料画面(図4参照)のページを切り替えた場合、受付処理部21は、発表者用端末10aから、表示された資料のID及び指定されたページ番号を示す情報を含む発表者操作情報を受信する。
受付処理部21が上記発表者操作情報を受信すると、通知部23が、各参加者用端末10b、10c、10d、10e、10fに上記発表者操作情報を通知する。参加者用端末10b、10c、10d、10e、10fは、上記発表者操作情報を受信すると、上記発表者操作情報に応じた表示画面を表示部106に表示する。例えば、自身の記憶部103から資料ID及びページ番号に対応する資料データを読み出して表示部106に表示する。このようにして、会議に参加する複数の参加者が使用する複数の端末10それぞれの表示画面に、会議で共有する資料に対して操作を行う発表者が使用する端末10の表示画面の表示内容を同期して表示させる。電子会議システム100における同期表示や非同期表示の方法は公知の技術を適用することができる。なお、参加者用端末は、表示制御プログラムを実行して、発表者操作情報に対応する表示内容を自身の表示部に表示させる。各端末10は、表示制御手段としての機能を有する。
[通信路確立処理]
次に、電子会議システム100における通信路確立処理を実現するための機能について説明する。
図5及び図6は、電子会議システム100における端末10の具体的な構成を示す機能ブロック図である。以下では説明の便宜上、図5に示す端末10(以下、送信端末ともいう。)では、送信機能に対応する機能ブロックを示し、図6に示す端末10(以下、受信端末ともいう。)では、受信機能に対応する機能ブロックを示している。なお、上述のように、各端末10は、送信機能(図5参照)及び受信機能(図6参照)の両機能を備えている。また、送信端末10及び受信端末10の何れか1台が上記操作権限を有してしてもよいし、何れも上記操作権限を有していなくてもよい。
送信端末10は、図5に示すように、送信要求送信部11、判定結果取得部12、端末情報取得部13、通信路制御部14、音声送信部15、及び、表示制御部16を含んでいる。受信端末10は、図6に示すように、受信要求送信部41、判定結果取得部42、表示制御部43、及び、音声受信部44を含んでいる。
各端末10に含まれる上記各要素は、それぞれのメモリ102(図2参照)に格納されたプログラムをそれぞれのCPU101が実行することにより実現される。上記プログラムは、CD−ROM、DVD−ROM、メモリカード等のコンピュータが読み取り可能な情報記憶媒体から端末10にインストールされてもよいし、インターネット等の通信ネットワーク50を介してダウンロードされてもよいし、上記各要素に対応するプログラムが予め記憶された端末管理サーバ20から、所定の要素に対応するプログラムが各端末10にダウンロードされてもよい。
上記プログラムに対応する各機能について説明する。以下では、会議の進行に応じた電子会議システム100の処理の流れに準じて説明する。
まず、会議において、ユーザは、自身の発言(音声)を他の端末10へ送信することを希望する場合、すなわち、自身の端末と他の端末との間に音声データを送信するための通信路を確立することを要求する場合、端末10の操作部105を操作して、その旨の指示を与える。例えば、ユーザAは、会議において、自身が使用する端末10(図5参照)の表示部106に表示された「音声送信」の選択画面(例えば、チェックボックスや電子的ボタン)を、キーボードやマウス等を使用して選択する。端末10の送信要求送信部11は、受け付けたユーザAの要求(以下、送信要求という。)を、端末管理サーバ20に送信する。なお、例えば、ユーザAが「音声送信」のチェックボックスを外した場合や所定の条件を満たした場合(後述)は、送信要求送信部11は、送信の解除要求を送信する。例えば、送信要求送信部11は、送信要求を送信する場合は「+1」を送信し、解除要求を送信する場合は「−1」を送信する。
また、会議において、ユーザは、他のユーザの発言(音声)を受信することを希望する場合、端末10の操作部105を操作して、その旨の指示を与える。例えば、ユーザBは、会議において、自身が使用する端末10(図6参照)の表示部106に表示された「音声受信」の選択画面(例えば、チェックボックスや電子的ボタン)を、キーボードやマウス等を使用して選択する。端末10の受信要求送信部41は、受け付けたユーザBの要求(以下、受信要求という。)を、端末管理サーバ20に送信する。なお、例えば、ユーザBが「音声受信」のチェックボックスを外した場合や所定の条件を満たした場合(後述)は、受信要求送信部41は、受信の解除要求を送信する。例えば、受信要求送信部41は、受信要求を送信する場合は「+1」を送信し、解除要求を送信する場合は「−1」を送信する。
なお、各端末10では、「音声送信」及び「音声受信」の両方の選択画面が表示されており、各ユーザは、各選択画面を別個に選択することが可能になっている。例えば、端末10において、ユーザAは、「音声送信」及び「音声受信」の両方を選択することもできる。
端末管理サーバ20(図3参照)の送信要求受信部24は、端末10の送信要求送信部11から送信された送信要求を受信する。例えば、端末10a、10fのそれぞれから送信要求が送信された場合、送信要求受信部24は、両端末10a、10fの送信要求を受信する。
端末管理サーバ20の受信要求受信部25は、端末10の受信要求送信部41から送信された受信要求を受信する。例えば、端末10a〜10fのそれぞれから受信要求が送信された場合、受信要求受信部25は、各端末10a〜10fの受信要求を受信する。
端末管理サーバ20の判定処理部26は、送信要求受信部24により受信された送信要求に基づいて、該送信要求を送信した端末10における音声送信の許否を判定する。具体的には、判定処理部26は、送信要求受信部24により受信された送信要求を行った端末10の合計台数と、予め設定された設定台数とを比較し、合計台数が設定台数以下であるか否かを判定する。そして、判定処理部26は、合計台数が設定台数以下である場合は、送信要求を行った端末10における音声送信を許可し、合計台数が設定台数を超える場合は、音声送信を拒否する。例えば、設定台数が「3」に設定されている場合に、端末10a、10fが送信要求を行った場合、合計台数(2台)は設定台数(3台)以下であるため、端末10a、10fにおける音声送信を許可する。
ここで、判定処理部26は、現時点(判定対象の端末が送信要求を行った時点)で送信要求を行っている端末10の合計台数を算出する。例えば、端末10a、10fが既に送信要求を行っており、新たに端末10bが送信要求を行った場合、現時点の上記合計台数は3台となる。よって、例えば、設定台数が「2」に設定されている場合に、端末10a、10fが既に送信要求を行っており(音声送信が既に行われていてもよい)、新たに端末10bが送信要求を行った場合は、合計台数(3台)が設定台数(2台)を超えるため、新たに送信要求を行った端末10bの音声送信を拒否する。
このように、音声送信は、送信要求を行った順に設定台数に達するまで許可が与えられる。また、音声送信が許可された端末10の台数が設定台数に達した場合は、何れかの端末10において音声送信(通信路)が解除された場合に、他の端末10の音声送信の許可が与えられ得る。
判定処理部26は、上記判定結果(許可通知、拒否通知)を、送信要求を送信した端末10に送信する。
また、判定処理部26は、受信要求受信部25により受信された受信要求に基づいて、該受信要求を送信した端末10における音声受信の許否を判定してもよい。例えば、判定処理部26は、受信要求受信部25により受信された受信要求を行った端末10の合計台数と、予め設定された設定台数とを比較し、合計台数が設定台数以下であるか否かを判定してもよい。また、判定処理部26は、受信要求受信部25により受信された全ての受信要求について、音声受信を許可してもよい。判定処理部26は、上記判定結果(許可通知、拒否通知)を、受信要求を送信した端末10に送信する。
さらに、判定処理部26は、送信要求を行える端末10の合計台数が設定台数に達した場合に、送信端末数が規定値(設定台数)に達し、これ以上の送信要求が行えないことを示す通知(メッセージ)を、端末管理サーバ20に接続されている全端末10に送信してもよい。同様に、送信解除要求を受けて送信要求を行える台数が設定台数を下回った場合に、送信要求が可能になったことを示す通知を、全端末10に送信してもよい。また、設定台数に達するまでの残りの台数自体を示す通知を送信しても良い。例えば、設定台数が2台だった場合に、端末10aからの送信要求があった場合には端末10aに送信許可を通知するとともに、全端末10に設定台数に達するまでの残りの台数である「1(台)」を送信し、次に端末10fからの送信要求があった場合には端末10fに送信許可を通知するとともに、全端末10に「0(台)」を送信し、さらに今度は端末10aから送信解除要求があった場合には全端末10に「1(台)」を送信する、といった具合である。なお、判定処理部26は、受信要求に対しても上記と同様の処理を実行しても良い。
端末管理サーバ20の端末情報生成部27は、送信要求受信部24により受信された送信要求と、判定処理部26における上記判定結果に基づいて、送信端末情報を生成する。具体的には、端末情報生成部27は、合計台数が設定台数以下である場合に、音声送信を許可する端末10の端末情報を一覧にした送信端末リストを生成する。例えば、端末10a、10fから受信した送信要求が許可された場合、端末情報生成部27は、端末10a、10fの名称、識別情報(端末ID、IPアドレス等)等の端末情報を一覧にした送信端末リストを生成する。図7には、送信端末リストの一例を示している。端末情報生成部27は、受信された送信要求が許可される度、又は送信要求が解除される度に、送信端末リストを更新する。生成された送信端末リストは、端末情報DB28に保存される。
また、端末情報生成部27は、受信要求受信部25により受信された受信要求に基づいて、受信端末情報を生成する。具体的には、端末情報生成部27は、受信要求を許可する端末10の端末情報を一覧にした受信端末リストを生成する。例えば、端末10a〜10fから受信した受信要求が許可された場合、端末情報生成部27は、端末10a〜10fの名称、識別情報(端末ID、IPアドレス等)等の端末情報を一覧にした受信端末リストを生成する。図8には、受信端末リストの一例を示している。端末情報生成部27は、受信された受信要求が許可される度、又は受信要求が解除される度に、受信端末リストを更新する。図9には、図8の状態において、ネットワーク接続された端末10g(図示せず)から受信された新たな受信要求が許可された場合の、更新された受信端末リストを示している。生成された受信端末リストは、端末情報DB28に保存される。
また、端末情報生成部27は、判定処理部26において音声送信が許可された端末10に対して、上記受信端末リストを送信する。さらに、端末情報生成部27は、上記受信端末リストが更新(変更)された際も音声送信が許可された端末10に対して、更新された受信端末リストを送信する。例えば、端末10a、10fに対して音声送信が許可された場合、端末情報生成部27は、上記受信端末リスト(図8参照)を端末10a、10fに送信する。また、上記受信端末リストが更新された際も、端末情報生成部27は、更新された受信端末リストを端末10a、10fに送信する。その際、変更された(追加された)受信端末リストだけを送信しても良い。
端末10の判定結果取得部12(図5参照)は、端末管理サーバ20の判定処理部26における上記判定結果を受信(又は取得)する。例えば、端末10a、10fの判定結果取得部12は、端末管理サーバ20から、音声送信の許可通知を取得する。
端末10の端末情報取得部13(端末情報受信部)(図5参照)は、端末管理サーバ20の端末情報生成部27から受信端末リストを取得(又は受信)する。例えば、端末10a、10fの端末情報取得部13は、端末管理サーバ20から、図8に示す受信端末リストを取得する。
端末10の通信路制御部14(制御手段)(図5参照)は、端末情報取得部13により取得された受信端末リストに基づいて、他の端末10との間に、音声データを送信する(送受信させる)ための通信路を確立する。取得した受信端末リストは、記憶部103に保存される。例えば、端末10aの通信路制御部14は、端末10aと、端末10b、10c、10d、10e、10fそれぞれとの間に通信路を確立する。図10には、端末10aと端末10b、10c、10d、10e、10fそれぞれとの間に確立された通信路を示すネットワーク構成を示している。同様に、端末10fの通信路制御部14は、端末10fと、端末10a、10b、10c、10d、10eそれぞれとの間に通信路を確立する。図11には、端末10fと端末10a、10b、10c、10d、10eそれぞれとの間に確立された通信路を示すネットワーク構成を示している。図12には、上記の例において確立される全通信路を示すネットワーク構成を示している。図10〜図12において、矢印の向きは、音声データの送信方向を示している。なお、図10〜図12では、端末管理サーバ20を介さずに音声データを送受信する構成を示しているが、ネットワーク構成はこれに限定されず、端末管理サーバ20を中継器として音声データを送受信する構成であってもよい。
また、通信路の確立は、例えば、音声送信する端末(送信端末)が、音声受信する端末(受信端末)に対して、受信端末情報のIPアドレス及びポート番号に基づいて行われる。また、例えば、ユーザAが端末10aの表示部106に表示された「音声送信」のチェックボックスを外した場合、通信路制御部14は、確立した通信路を解除する。
端末10の音声送信部15(図5参照)は、通信路制御部14により上記通信路が確立されると、音声入力部107に入力された音声データを、上記通信路を介して各端末10に送信(配信)する。例えば、音声送信部15は、端末10aの音声入力部107に入力されたユーザAの発言(音声)に対応する音声データを、通信路(図12の一重線)を介して端末10b、10c、10d、10e、10fに送信し、端末10fの音声入力部107に入力されたユーザFの発言(音声)に対応する音声データを、通信路(図12の二重線)を介して端末10a、10b、10c、10d、10eに送信する。これにより、ユーザAとユーザFの発言(音声データ)が、例えば同じタイミングで他の端末10に送信され得る。なお、音声送信部15は、各端末10に、ストリーム送信(ストリーミング)を行ってもよいし、音声データファイルを送信してもよい。また、送信端末及び受信端末ともにWebブラウザが組み込まれている場合は、WebRTC(Web Real-Time Communication)を用いて、送信端末の音声ストリームを受信端末に接続させてもよい良い。
また、音声送信部15は、音声入力部107に入力された音声データを、メディアデータ管理サーバ30に送信(配信)する。メディアデータ管理サーバ30は、受信した音声データを記憶部303に保存する。メディアデータ管理サーバ30の詳細は後述する。
端末10の表示制御部16(図5参照)は、判定結果取得部12により取得された上記判定結果に応じた表示内容を、表示部106に表示させる。例えば、判定結果取得部12が端末管理サーバ20から音声送信の許可通知を取得した場合は、表示制御部16は、表示部106に、音声送信が許可された旨のメッセージを表示させる。また、判定結果取得部12が端末管理サーバ20から音声送信の拒否通知を取得した場合は、表示制御部16は、表示部106に、音声送信の拒否を示すエラーメッセージを表示させるとともに、表示部106に表示された「音声送信」の選択画面(チェックボックスや電子的ボタン)を選択できないように変更する。例えば、音声送信(送信要求)を選択するための電子的ボタンを、グレーアウト(不活性化)表示して選択(押下)できないようにしたり、表示部106に、「現在送信要求はできない」という旨の注記を表示したりしてもよい。このように、表示制御部16は、ユーザが新たな音声送信(送信要求)ができないように表示部106の表示内容を制御してもよい。
端末10の判定結果取得部42(図6参照)は、端末管理サーバ20の判定処理部26における上記判定結果を受信(又は取得)する。例えば、端末10a〜10fの判定結果取得部42は、端末管理サーバ20から、音声受信の許可通知を取得する。
端末10の表示制御部43(図6参照)は、判定結果取得部42により上記許可通知が取得されると、表示部106に、音声受信が許可された旨のメッセージを表示させる。また、判定結果取得部42が端末管理サーバ20から音声受信の拒否通知を取得した場合は、表示制御部43は、表示部106に、音声受信の拒否を示すエラーメッセージを表示させるとともに、表示部106に表示された「音声受信」の選択画面(チェックボックスや電子的ボタン)を選択できないように変更する。
端末10の音声受信部44(図6参照)は、上記通信路を介して送信される音声データを受信する。音声出力部108は、受信された音声データを変換して音声を出力する。例えば、端末10b、10c、10d、10e、10fのそれぞれの音声受信部44は、端末10aから通信路(図12の一重線)を介して送信されるユーザAの発言(音声)に対応する音声データを受信し、それぞれの音声出力部108は音声を出力する。また、端末10a、10b、10c、10d、10eのそれぞれの音声受信部44は、端末10fから通信路(図12の二重線)を介して送信されるユーザFの発言(音声)に対応する音声データを受信し、それぞれの音声出力部108は音声を出力する。これにより、例えば端末10b、10c、10d、10eのユーザB、ユーザC、ユーザD、及びユーザEは、ユーザAの発言とユーザFの発言を同じタイミングで聞くことができる。
次に、電子会議システム100における通信路確立処理の流れについて、フロー図を用いて説明する。図13は、端末管理サーバ20が端末10から送信要求を受信した場合のフロー図を示している。この処理は、例えば、会議を開始する際、端末管理サーバ20が会議の開始案内を端末管理サーバ20にネットワーク接続された複数の端末10に通知することにより実行される。後述する図14及び図15の処理も同様である。
まず、端末10から送信要求が送信されると、送信要求受信部24は該送信要求を受信する(S101)。次に、判定処理部26は、送信要求を行った端末10の合計台数と、予め設定された設定台数とを比較し、合計台数が設定台数以下であるか否かを判定する(S102)。
上記合計台数が上記設定台数以下である場合は、判定処理部26は、送信要求を行った端末10に音声送信の許可通知を送信するとともに、端末情報生成部27は、送信端末リスト(図7参照)を生成する(S103)。続いて、端末情報生成部27は、送信端末リストに登録した端末10に対して、受信要求を行った端末の情報を一覧にした受信端末リストを送信する(S104)。
S102の処理において、上記合計台数が上記設定台数を超える場合は、判定処理部26は、送信要求を送信した端末10に音声送信の拒否通知を送信する(S105)。上記S101からS105の処理は、会議が終了するまで繰り返される(S106)。
図14は、端末管理サーバ20が端末10から受信要求を受信した場合のフロー図を示している。
まず、端末10から受信要求が送信されると、受信要求受信部25は該受信要求を受信する(S201)。次に、端末情報生成部27は、受信端末リスト(図8参照)を生成又は更新する(S202)。次に、端末情報生成部27は、受信端末リストに登録した端末10に対して、音声受信の許可通知を送信する(S203)。なおここでは、受信要求受信部25により受信された全ての受信要求について音声受信が許可された場合を示しているが、判定処理部26は、予め設定された設定台数以下である場合のみ音声受信を許可し、拒否の場合は、音声受信の拒否通知を端末10に送信するようにしても良い。次に、端末情報生成部27は、送信端末リストを取得して、送信端末リストに登録されている端末10の1台毎に、受信端末リストを送信する(S204)。なお、受信端末リストが変更(更新)された場合は、変更があった(追加された)受信端末リストだけを送信しても良い。上記S201からS204の処理は、会議が終了するまで繰り返される(S205)。
図15は、端末10においてユーザが送信要求を行った場合の端末10における処理(通信路確立処理)のフロー図を示している。
まず、会議において、端末10がユーザから送信要求を受け付ける(S301)。次に、送信要求送信部11は、受け付けた送信要求を端末管理サーバ20に送信する(S302)。端末管理サーバ20は、送信要求を受信すると、図13に示すS101からS105の処理を実行する。
次に、端末10の判定結果取得部12は、端末管理サーバ20から送信許可通知又は送信拒否通知を取得する(S303)。送信許可通知を取得した場合は、端末情報取得部13は、端末管理サーバ20から受信端末リストを取得する(S304)。
次に、通信路制御部14は、受信端末リストから任意の1つの端末10の端末情報(端末ID)を取得する(S305)。次に、通信路制御部14は、取得した端末情報に対応する端末10に対して音声データを送信するための通信路を確立する(S306)。通信路制御部14は、受信端末リストに登録されている全ての端末10について、通信路を確立する処理を実行する(S307)。
次に、音声送信部15は、確立された通信路を介して、音声データを各端末10に送信する(S308)。
上記S303の処理において、判定結果取得部12が端末管理サーバ20から送信拒否通知を取得した場合は、端末10の表示制御部16は、表示部106にエラーメッセージを表示させる(S309)。上記S301からS309の処理は、会議が終了するまで繰り返される(S310)。
以上のように、本実施形態に係る電子会議システム100は、発言権が付与された(音声を送信する)送信端末数に上限を設けるとともに、送信を許可する端末をユーザの指示に応じて動的に変化させて、送信が許可された端末と、他の端末との間に通信路を確立する構成を有している。これにより、ネットワークを介して接続される端末の台数が多くなっても、端末間で高品質なデータ通信が実現される。また、各ユーザは、発言(音声)を送信したい場合や、音声を受信したい場合など、自身の意思に応じて選択することができ、ネットワーク上の端末間には、ユーザの意思に反映して動的に通信路が変化して確立される。
また、電子会議システム100によれば、資料(表示内容)の共有状態(同期、非同期)とは独立して、音声データの通信が制御される。すなわち、複数の端末間において資料及び音声を別個に同期制御することができる。このため例えば、会議中において、音声データを送受信するための通信路のネットワークが図12に示すように構築されており、端末10aのユーザAが表示内容に関する操作を行う発表者である場合は、ユーザAは、上記操作を行いつつ発言(例えば表内容に対する説明)を行うこともできる。これにより、他の端末10b、10c、10d、10e、10fの各ユーザB〜ユーザFは、端末10aにおける操作内容に応じた表示画面を各自の端末の表示画面で確認しつつ、各自の端末の音声出力部108から出力されるユーザAの発言(説明)を聞くことができる。
以上に説明した構成は、例えば、発表者のユーザAが端末10aの表示部106に表示された資料Xを、参加者のユーザB〜Fの端末10b〜10fの表示部106に同期表示させるとともに、ユーザAが発言した音声を端末10b〜10fから出力させる構成である。また、ユーザAが資料Xに対する操作、例えば、ペンツールによる資料Xへの書き込み、投稿コメントのピックアップ、資料Xのページ切り替え、資料Xへのマウスポインタの入力及び移動等の操作が行われた場合に、その操作に応じた内容が端末10b〜10fの表示部106に同期して表示される構成である。
本実施形態に係る電子会議システム100は、上記「同期表示処理」及び「通信路確立処理」を実行する構成に加えて、会議の音声・映像等のメディアデータを記録して管理するメディアデータ管理処理を実行する構成を有している。具体的には、電子会議システム100は、会議の音声データに、会議で発生したイベントに関連するイベント情報(以下、メタデータという。)を付与する(関連付ける)。例えば、会議において、ユーザAが資料Xを別の資料Yに変更(新規資料を表示)した場合に、変更した資料Yの情報と変更した時刻の情報とを、音声データに関連付ける。
本実施形態に係る電子会議システム100では、メディアデータ管理サーバ30は、図3に示す各機能を実現するためのプログラムを有する。また各端末10がメディアデータ管理サーバ30に接続され認証されると、例えば、各端末10に、メディアデータを管理するメディアデータ管理プログラムがダウンロードされてもよい。
以下では、電子会議システム100におけるメディアデータ管理処理を実現するための機能について説明する。
[メディアデータ管理処理]
図3には、メディアデータ管理サーバ30の具体的な構成を示している。
メディアデータ管理サーバ30は、イベント検知部31、メタデータ種別判定部32(判定手段)、時間情報取得部33、メタデータ生成部34(生成手段)、及び、メタデータ付与部35(関連付手段)を含んでいる。これらの要素はメモリ302に格納されたプログラムをCPU301が実行することにより実現される。
記憶部303には、メディアデータベース(メディアDB36)及びメタデータ管理データベース(メタデータ管理DB37)が含まれている。メディアDB36には、会議の音声・映像等のメディアデータが保存される。ここでは、メディアデータの一例として、音声データを例に挙げる。例えば、会議において、各端末10の音声送信部15から送信された音声データが時系列に記録されていき、会議終了と同時に1つの音声データとして保存される。なお、音声データには時間情報が関連付けられている。時間情報は、会議開始時点からの経過時間の情報であってもよいし、会議が行われたリアルタイムの日時の情報であってもよい。メタデータ管理DB37には、メタデータに関する各種の情報が保存される。
上記プログラムは、CD−ROM、DVD−ROM、メモリカード等のコンピュータが読み取り可能な情報記憶媒体から端末10にインストールされてもよいし、インターネット等の通信ネットワーク50を介してダウンロードされてもよいし、上記各要素に対応するプログラムが予め記憶されたメディアデータ管理サーバ30から、所定の要素に対応するプログラムが各端末10にダウンロードされてもよい。
イベント検知部31は、電子会議システム100において発生した各種のイベントを検知する。イベントは、複数の端末10が相互に通信しているときに発生した動作に関するものである。例えばイベントには、会議中に各端末10においてユーザが操作した行為(「ユーザ操作」)や、ユーザが会議に参加するために行った行為(「入室」)や、ユーザが会議から抜けるために行った行為(「退室」)等が含まれる。また、ユーザ操作には、新規資料の表示、ペンツール(手書き用ツール)による資料への書き込み(文字入力)、投稿コメント(質問等)のピックアップ(選択)、資料のページ切り替え、マウスポインタの入力及び移動、アンケート集計等の発表者又は参加者による操作や、発表者を交代するための操作等が含まれる。
メタデータ種別判定部32は、イベント検知部31により検知されたイベントに対応するメタデータ種別を判定する。ここでメタデータは、上述の通り、音声データに関連付けられる、会議で発生したイベントに関連する情報(イベント情報)であり、メタデータ種別は、メタデータの種類(カテゴリー)を示す情報(イベント情報種別)である。メタデータ種別判定部32は、メタデータ種別判定テーブルを参照してイベントに対応するメタデータ種別を判定する。図16には、メタデータ種別判定テーブルの一例を示している。例えば、上記イベントが「発表者のページ切り替え」であった場合、発表者は切り替え後のページの説明に入ったと判断できるため、メタデータ種別判定部32は、対応するメタデータ種別を、「P(説明):ページ番号」と判定する。また上記イベントが「コメントピックアップ」であった場合、ピックアップされているコメントは参加者からの質問であり、発表者がこれに対する回答をしていると判断できるため、メタデータ種別判定部32は、対応するメタデータ種別を、「A(回答):メッセージ番号」と判定する。メタデータ種別判定テーブルは、例えば管理者により予め設定される。
時間情報取得部33は、会議においてイベントを検知した現在時刻(イベントが発生した時刻)(時間情報)を取得する。現在時刻は、会議開始時点からの経過時間であってもよいし、実際の日時であってもよい。ここでは、会議開始時点からの経過時間を例に挙げる。
メタデータ生成部34は、メタデータ種別判定部32により判定されたメタデータ種別と、時間情報取得部33により取得された時間情報とに基づいて、対応するメタデータを生成する。具体的には、メタデータ生成部34は、メタデータ管理テーブルにメタデータを構成する各種情報(メタデータ情報)を記録していくことによりイベントに対応するメタデータを生成する。メタデータ生成部34は、会議中にイベントが発生する度に、メタデータ管理テーブルにメタデータ情報を記録してメタデータを生成する。図17には、メタデータ管理テーブルの一例を示している。図17は、会議が終了した時点のメタデータ管理テーブルを示している。1つのイベント毎に、管理番号「MD」と、音声の開始時刻及び終了時刻(時間情報)と、イベントの内容(イベント情報)が記録される。これら開始時刻、終了時刻、イベント情報のそれぞれがメタデータ情報となる。そして、1つの管理番号に対応する時間情報とインベント情報とが、1つのメタデータとなる。図17に示すメタデータ管理テーブルは、図18に示す、1つの会議で発生した一連のイベントの内容に対応している。
図18において、「音声データ」は、会議中に録音されメディアDB36に保存されたデータであり、ここでは、全体で20分間の容量を有することを示している。「発表者」は、会議において発表を担当したユーザを示し、ここでは、時系列で発表者がユーザA、B、Aの順に変更したことを示している。「参加者数」は、会議に参加したユーザの人数を示し、ここでは、時系列で参加者数が10人、25人、8人の順に増減したことを示している。「参加者」は、会議に参加しているユーザを示し、例えば、ユーザCは会議の最初から最後まで参加し、ユーザD、Eは会議の途中で退室し、ユーザF、Gは会議の途中から参加(入室)したことを示している。「P(説明)」は、会議で使用(表示)された資料のページ番号を示しており、ここでは、時系列でページ番号が1ページから6ページまで順に切り替えられたことを示している。「Q(質問)」は、ユーザ(参加者)が投稿した質問(メッセージ番号「M3」)を示し、参加者が手書き文字入力した時刻から文字入力を終了した時刻までを示している。「A(回答)」は、上記質問に対する発表者の回答(メッセージ番号「M2」)を示し、発表者が上記質問をピックアップ(選択)した時刻からクローズした(閉じた)時刻までを示している。「C(補足)」は、ユーザが投稿したコメント(メッセージ番号「M1」)を示し、発表者が手書き文字入力した時刻から文字入力を終了した時刻までを示している。なお、質問、回答及び補足の内容は、メッセージ管理テーブルに保存され、それぞれにメッセージ番号が付されて管理されている。図19には、メッセージ管理テーブルの一例を示している。メッセージ管理テーブルは、記憶部303に保存される。
図17に示すように、例えば、管理番号「MD1」は、会議中の「01:00」から「05:00」の期間において、メッセージ番号「M3」の質問(「Q」)がされたことを示し、管理番号「MD2」は、会議中の「05:00」から「08:00」の期間において、メッセージ番号「M2」の回答(「A」)がされたことを示し、管理番号「MD3」は、会議中の「08:00」から「12:00」の期間において、メッセージ番号「M1」のコメント(「C」)がされたことを示している。また、管理番号「MD4」は、会議中の「00:00」から「02:00」の期間において、資料の1ページが表示及び説明(「P」)されたことを示し、管理番号「MD5」は、会議中の「02:00」から「07:00」の期間において、資料の2ページが表示及び説明(「P」)されたことを示している。また、管理番号「MD10」は、会議中の「00:00」から「08:00」の期間において、ユーザAが発表を担当したことを示し、管理番号「MD11」は、会議中の「08:00」から「14:00」の期間において、ユーザBが発表を担当したことを示している。
メタデータ付与部35は、メタデータ生成部34により生成されたメタデータをメディアDB221に保存されている音声データに付与する。具体的には、音声データには時間情報が関連付けられているため、メタデータ付与部35は、メタデータの時間情報に一致する音声データの位置にメタデータを付与する。図20には、音声データと、該音声データに付与されたメタデータとを模式的に示している。ここでは、一例として、メタデータ「MD1」、「MD2」、「MD3」、「MD4」、「MD5」、「MD10」、「MD11」を示している。
なお、メタデータ付与部35は、メディアDB221に保存されている音声データを、メタデータ生成部34により生成されたメタデータ毎に分割して、分割した音声データそれぞれにメタデータを付与してもよい。この場合は、メタデータの個数分の音声データファイルが生成される。また、メタデータ付与部35は、生成されたメタデータを、音声データに関連付けて、音声データとは異なるフォルダに保存してもよい。
上記の構成によれば、保存された音声データにおいて、イベントに対応する部分の音声データの検索が容易になるため、所望の音声だけを効率よく再生することができる。例えば、音声データを再生する際に、資料の2ページの説明に対応する部分の音声だけを迅速に再生させることができる。また、例えば、発表者がAからBに変更されている場合に、Bが発表した部分の音声だけを迅速に再生させることができる。
音声を再生させる構成は特に限定されない。例えば、端末管理サーバ20の受付処理部21が、ユーザからイベントに対応する音声データの再生要求を受け付け、該イベントに対応する音声データをユーザの端末に送信して再生してもよい。受付処理部21は、受付手段及び再生手段として機能する。
例えば、メタデータ管理テーブルに応じた画面をユーザの端末に表示させて、ユーザが表示画面上で所望のイベント内容を選択した場合に、端末管理サーバ20の受付処理部21が、ユーザが選択したイベントを受け付け、これに関連付けられた音声データをユーザの端末に送信して再生させるように構成してもよい。
ここで、メディアデータ管理処理、すなわちメタデータの生成及び付与処理(関連付処理)の流れについて、図21及び図22のフロー図を用いて説明する。図21は、発表者Aが会議中に資料のページを1ページから2ページに切り替えた場合の処理の流れを示し、図22は、会議中に参加者が質問したコメントを発表者Aがピックアップした場合の処理の流れを示している。
図21に示す例において、先ず、イベント検知部31が発表者Aによる資料のページ切り替えのイベントを検知する(S51)。次に、メタデータ種別判定部32が、メタデータ種別判定テーブル(図16)を参照して、上記イベントに対応するメタデータ種別を判定する(S52)。ここでは、図16に示すように、メタデータ種別として、「P(説明):ページ番号」と判定する。次に、メタデータ生成部34は、切り替え前後のページ番号を取得する(S53)。ここでは、ページ番号として「1」及び「2」を取得する。
次に、時間情報取得部33が、現在時刻(時間情報)、すなわちイベントを検知した時刻(イベントが発生した時刻)を取得する(S54)。ここでは、時間情報取得部33は、発表者Aが資料のページを1ページから2ページに切り替えた時刻を取得する。例えば現在時刻「02:00」を取得する(図18参照)。なお、本実施例では、現在時刻は、会議開始時を基準(「00(分):00(秒)」)とした経過時間としているが、これに限定されず、実際の日時でもよい。
次に、メタデータ生成部34は、切り替え前の表示ページが存在するか否かを判定する(S55)。例えば、会議の途中で初めて資料の所望のページを表示した場合には、これ以前に表示していたページは存在しない。ここでは、1ページから2ページに切り替えているため、切り替え前の表示ページ(1ページ)は存在する。
切り替え前の表示ページが存在する場合は(S55でYES)、メタデータ生成部34は、時間情報取得部33が取得した現在時刻(「02:00」)を、メタデータ管理テーブルの切り替え前の表示ページ(1ページ)の終了時刻に記録する(図23参照)(S56)。
次に、メタデータ生成部34は、切り替え後のページ(2ページ)のイベントの内容を記録するとともに、時間情報取得部33が取得した現在時刻(「02:00」)を、切り替え後のページ(2ページ)の開始時刻に記録する(図24参照)(S57)。
切り替え前の表示ページが存在しない場合は(S55でNO)、S57の処理に移行する。
上記の処理により、全音声データのうち時刻「00:00」から「02:00」までの音声データに対するメタデータ(管理番号「MD4」)が生成される。なお、管理番号「MD5」のメタデータは、発表者Aが2ページから3ページに切り替えたとき(図18の時刻「07:00」参照)に生成される(図17参照)。このようにして生成された各メタデータには、イベントが発生した時間を示す情報(時間情報)と、イベントの内容を示す情報とが含まれる。
最後に、メタデータ付与部35は、メタデータ生成部34により生成されたメタデータ(管理番号「MD4」)をメディアDB221に保存されている音声データの所定の位置に付与する(図20参照)(S58)。
図22に示す例のメタデータの生成及び付与処理を説明する。
先ず、イベント検知部31が、発表者Aによるコメントピックアップのイベントを検知する(S61)。次に、メタデータ種別判定部32が、メタデータ種別判定テーブルを参照して、上記イベントに対応するメタデータ種別を判定する(S62)。ここでは、図16に示すように、メタデータ種別として、「A(回答):メッセージ番号」と判定する。次に、メタデータ生成部34は、ピックアップされたメッセージ番号を取得する(S63)。ここでは、メッセージ番号として「M2」を取得する。
次に、時間情報取得部33が、現在時刻、すなわちイベントを検知した時刻(イベントが発生した時刻)を取得する(S64)。ここでは、時間情報取得部33は、発表者Aがコメントをピックアップした時刻を取得する。例えば現在時刻「05:00」を取得する(図18参照)。
次に、メタデータ生成部34は、イベントの内容を記録するとともに、時間情報取得部33が取得した現在時刻(「05:00」)を、イベントに対応する開始時刻に記録する(図25参照)(S65)。
次に、イベント検知部31が、発表者Aによるコメントピックアップ終了のイベントを検知する(S66)。次に、時間情報取得部33が、現在時刻、すなわちイベントを検知した時刻を取得する(S67)。ここでは、時間情報取得部33は、ピックアップを終了した時刻(クローズした時刻)を取得する。例えば現在時刻「08:00」を取得する(図18参照)。
次に、メタデータ生成部34は、時間情報取得部33が取得した現在時刻(「08:00」)を、終了時刻に記録する(図26参照)(S68)。
上記の処理により、全音声データのうち時刻「05:00」から「08:00」までの音声データに対するメタデータ(管理番号「MD2」)が生成される。
最後に、メタデータ付与部35は、メタデータ生成部34により生成されたメタデータ(管理番号「MD2」)をメディアDB221に保存されている音声データの所定の位置に付与する(図20参照)(S69)。
[変形例1]
電子会議システム100における音声を送受信する構成は上記構成に限定されず、様々な構成を採用することができる。以下では、変形例1に係る電子会議システム100について、上記構成との相違点を中心に説明する。以下の変形例1に係る電子会議システム100において、上記電子会議システム100と機能が共通する要素については説明を省略する。
変形例1に係る電子会議システム100では、端末管理サーバ20は、さらに、各端末10の現在地を取得する現在地取得部29を含んでもよい。図27は、変形例1に係る端末管理サーバ20の具体的な構成を示す機能ブロック図である。
現在地取得部29は、例えば、各端末10に設けられた位置検出部(図示せず)(例えば、GPS等)の検出値を受信して、各端末10の現在地(住所地等)を取得する。また、現在地取得部29は、IPアドレスやネットワークのサブネット等と位置情報を予め設定しておき、各端末10のIPアドレスを取得することで各端末10の現在地を取得しても良い。
判定処理部26は、受信要求受信部25により受信された受信要求と、現在地取得部29により取得された各端末10の現在地とに基づいて、該受信要求を送信した端末10における音声受信の許否を判定する。
端末情報生成部27は、受信要求受信部25により受信された受信要求と、判定処理部26の判定結果とに基づいて、受信端末情報を生成する。具体的には、端末情報生成部27は、受信要求を行った端末10のうち、判定処理部26により許可された端末10の情報を一覧にした受信端末リストを生成する。端末情報生成部27は、判定処理部26において音声送信が許可された端末10に対して、上記受信端末リストを送信する。
以下、具体例を挙げて説明する。図28は、端末10a、10b、10cが同一の会議室101に設けられ、端末10dが会議室101から遠隔の地P1に設けられ、端末10eが会議室101から遠隔の地P2に設けられ、端末10fが会議室101から遠隔の地P3に設けられている場合のネットワーク構成を示している。
図28のネットワーク構成において、端末10a、10fが送信要求を送信し、端末10a〜10fが受信要求を送信したと仮定する。端末10a、10fは、送信要求の合計台数(2台)が設定台数(3台)以下であるため、音声送信が許可される。
現在地取得部29は、各端末10a〜10fから現在地を取得する。すなわち、現在地取得部29は、端末10a、10b、10cの現在地として「会議室101」を取得し、端末10dの現在地として「遠隔地P1」を取得し、端末10eの現在地として「遠隔地P2」を取得し、端末10fの現在地として「遠隔地P3」を取得する。
判定処理部26は、各端末10の現在地が、同一又は予め設定された範囲内の場所(所定場所)であるか否かを判定し、複数の端末10が所定場所に存在する場合は、複数の端末10のうちの1台の端末10については音声受信を許可し、その他の端末10については音声受信を拒否する。図28のネットワーク構成では、所定の場所(会議室101)に存在する端末10a、10b、10cのうち、端末10aの音声受信を許可し、端末10b、10cの音声受信を拒否する。判定処理部26は、判定結果(許可通知、拒否通知)を、受信要求を送信した端末に送信する。
端末情報生成部27は、上記判定結果に基づいて、図29に示す受信端末リストを生成し、端末10a、10fに送信する。端末10a、10fは、取得した受信端末リストに基づいて通信路を確立する。図30は、変形例1に係る電子会議システム100において確立される通信路を示すネットワーク構成を示している。
なお、複数の端末10が所定場所に存在し、これらのうちの複数の端末10において送信要求が行われた場合は、判定処理部26は、送信要求を行った複数の端末10のうちの1台の端末10については音声送信を許可し、その他の端末10については音声送信を拒否しても良い。例えば、会議室101に存在する端末10a、10b、10cにおいて送信要求を行なわれた場合、端末10aの音声送信を許可し、端末10b、10cの音声送信を拒否する。端末情報生成部27は、音声送信を許可した端末10aに受信端末リストを送信し、端末10aは、取得した受信端末リストに基づいて通信路を確立する。
上記ネットワーク構成の会議では、同一の会議室に存在する複数の端末10の複数のユーザ(例えばユーザB、C)は、そのうちの一人のユーザ(例えばユーザA)の発言内容を直接聞くことができるし、遠隔地の他のユーザ(例えば、ユーザD、E、F)の発言内容を、該複数の端末10の何れかの端末10(例えば端末10a)が受信して出力することにより聞くことができる。よって、変形例1に係る電子会議システム100によれば、必要な通信路の数を減らすことができる。
[変形例2]
変形例2に係る電子会議システム100では、上記設定台数を動的に変化させてもよい。具体的には、通信ネットワーク50を介して接続された全ての端末10の台数に応じて、設定台数を設定してもよい。例えば、端末10の台数が多くなる程、設定台数を少なくする構成とすることができる。この構成は、例えば、発言者(発表者)が決まっているセミナー等の電子会議に好適である。また、ネットワークを介して接続された全ての端末10の台数に対する割合によって設定台数を算出し設定してもよい。さらに、受信要求を行った端末10の台数に応じて、設定台数を設定してもよい。
[変形例3]
変形例3に係る電子会議システム100では、通信路が確立された後、音声送信が許可された端末10から音声データが送信されない時間が、予め設定された時間に達した場合は、通信路制御部14(図5参照)は、該端末10に対応する通信路を解除してもよい。例えば、音声送信が許可されたユーザAが一定時間発言しなかった場合、通信路制御部14は、ユーザAの端末10aに確立した通信路を強制的に解除する。また、上記構成において、送信端末を使用するユーザをカメラにより撮影し、撮影画像を解析して、ユーザの発言の有無及び無言状態の時間を測定してもよい。カメラは端末10に内蔵されていてもよいし、外部(例えば会議室)に設置されていてもよい。
[変形例4]
上記実施形態では、図15に示したように、送信拒否通知を取得した場合に、端末10の表示制御部16が、表示部106にエラーメッセージを表示させているが、音声送信が拒否された場合の構成はこれに限定されない。
例えば、変形例4に係る電子会議システム100では、端末10が端末管理サーバ20に接続された時点で、送信端末の合計台数が既に設定台数に達している場合はチェックボックスをチェックできないように制御しても良い。また、送信端末の合計台数の増減に合わせて端末管理サーバ20から情報を取得してチェックボックスの制御を行ってもよい。送信端末の合計台数の取得は、端末管理サーバ20に対してポーリングで行っても良いが、好適には、Web Socket等を利用して接続した状態にしておき、端末管理サーバ20側から各端末に通知すれば良い。
なお、上記電子会議システム100では、以下の構成を有していてもよい。
電子会議システム100は、多数の端末を繋いでいても、ある瞬間では同時に発言している人(話者端末)は限られていることから、同時に発言できる人数(送信端末の台数)を制限しつつ、送信端末を切り替えながら動的に通信路の確立状態を変化させる構成を有する。これにより、擬似的に多数の端末間で音声データを相互に送受信することが可能となる。
また、電子会議システム100は、音声送信・音声受信をそれぞれの端末で選択可能とし、各端末の音声送信・音声受信の状態が変わったときに端末管理サーバ20に通知する構成を有する。
また、端末管理サーバ20では、音声送信が選択されている端末に対して、音声受信が選択されている端末の一覧(リスト)を通知する。なお、このとき、これまでの状態に変化がない端末の情報は通知しなくてもよい。通知を受けた送信端末は新たに登録された受信端末に対してのみ、自身のストリーム情報を受信するように受信端末にコールをかける(接続要求を発呼する)。
また、電子会議システム100では、同時に送信できる端末の合計台数を端末管理サーバ20が管理し、合計台数が上限値(設定台数)に達した場合は、端末において送信要求の選択を不可にする構成を有する。
また、電子会議システム100では、送信端末には、常時送信端末と、一時的送信端末の2種類が含まれ、このうち一時的送信端末をある一定時間のみ送信可能とし、一定時間経過後は音声送信を解除(送信要求のチェックボックスが解除)する構成としてもよい。また、一時的送信端末では、ユーザが音声送信ボタンを押している間のみ送信可能とする構成としてもよい。また、一時的送信端末では、一定時間無言状態が続くと送信要求が解除される構成としてもよい。
また、電子会議システム100では、発言したいユーザが端末において送信要求を行い、特定の端末(マスター端末)において指名されたユーザに発言権を与える(送信端末として許可する)構成としてもよい。
また、電子会議システム100は、上記通信路確立処理を含まない構成であってもよい。すなわち、電子会議システム100は、従来の音声通信処理を含んでいてもよい。
以上説明した各電子会議システムの各実施形態及び各変形例は一例であって、各形態を組み合わせることもできる。
また、各電子会議システムのネットワーク構成は、端末管理サーバ20を有しない構成(図31)であってもよい。図31に示す構成では、上記電子会議システムに含まれる各要素に対応するプログラムが各端末10a〜10fにダウンロードされることにより実現される。具体的には、各端末10a〜10fのメモリに格納されたプログラムを、各端末のCPUが実行することにより、各電子会議システムが実現される。なお、ダウンロードされるプログラムは、例えばJavaScript(登録商標)により構成されてもよい。また、上記プログラムがダウンロード又は記録された端末10は、情報処理装置として機能する。また、上記プログラムがダウンロードされたコンピュータは、端末10であってもよいし、端末管理サーバ20であってもよい。
電子会議システム100は、音声データの送受信に限定されない。すなわち、電子会議システム100は、音声データ及び映像データ(動画像データ)の少なくとも何れかを含むメディアデータの送受信に適用することができる。また、各電子会議システムは、テレビ会議、電話会議等の各種の電子会議に適用することができる。なお、テレビ会議では、各端末に搭載されたカメラが撮影した映像を上記通信路を介して端末間で双方向通信する。また、各電子会議システムは、会議出席者が互いに遠隔地にいる遠隔会議に適用することもできる。
以上の説明では、情報処理システムの一例として電子会議システムを例に挙げたが、当該情報処理システムは、電子会議システムに限定されず、ネットワーク接続された端末間でメディアデータを共有する多種多様なシステムを含むものである。