以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●通信システムの概略●
●通信ルート
まず、図1を用いて、複数の電子黒板1a,1b間で描画しながらビデオ会議を行なうための通信システムについて説明する。図1は、実施形態に係る通信システムにおける通信ルートの一例を示した概略図である。なお、「ビデオ会議」は、「テレビ会議」、「遠隔会議」等と呼ばれる場合もある。また、「ビデオ会議」「テレビ会議」または「遠隔会議」の会議は、複数の端末の間で画像データおよびストロークデータを共有するセッションの一例である。例えば、画像データおよびストロークデータを共有するセッションは、遠隔授業、遠隔診察、打ち合わせ、単なる会話等を行う、会議以外のセッションであってもよい。また、画像データおよびストロークデータを共有するセッションは、一方向での情報の提示に使用されてもよい。
通信システムは、複数の電子黒板1a,1b、中継装置3、通信管理装置5および画像保存装置7によって構築されている。電子黒板1a,1bは、通話用の画像データおよび音データ、並びに、共有用の画像データおよびストロークデータ等のコンテンツデータの相互通信を行う。ストロークデータには、ストローク画像を再生(再現)するために必要なデータであり、座標データ、線の幅データ、線の色データ、ベクトルデータ、ストロークが描画された際の筆圧を示すデータ等が含まれている。また、ストロークデータは、電子黒板1a,1bによってシリアライズされた文字列として送受信される。電子黒板1a,1bは、通話用の画像データおよび音データの送受信により、相手側の拠点の拠点画像および音を再生することで、遠隔ビデオ通話が可能となる。
電子黒板1a,1bは、共有用の背景画像の画像データを送受信することにより、通信システムを利用する参加者が、同じ背景画像を共有することができる。背景画像は、電子黒板1のディスプレイに表示された画像である。背景画像には、例えば、会議の資料等の電子ファイルがディスプレイ180に表示された資料画像が含まれている。背景画像の画像データは、例えば、JPEG(Joint Photographic Experts Group)等のファイル形式で送受信される。また、電子黒板1a,1bは、共有用のストローク画像のストロークデータを送受信することにより、通信システムを利用する参加者が、同じストローク画像を共有することができる。ストローク画像は、利用者によって電子ペン等で手書きストロークにより描画された線等を示す画像である。ストローク画像は、ディスプレイ上の座標を特定する点を示すストロークデータによって表示される。
なお、通信システムは、二つの電子黒板1a,1bに限らず、三つ以上の電子黒板によって構築されてもよい。以降、電子黒板1a,1bの総称を示す場合は、「電子黒板1」と示す。また、電子黒板1は、通信機能、描画機能および表示機能等を備える通信端末の一例である。通信端末は、例えば、通信システムに対応するアプリケーションプログラムがインストールされたPC(Personal Computer)、スマートフォン、タブレット端末、スマートウォッチ、カーナビゲーション端末、ゲーム機またはテレプレゼンスロボット等であってもよい。さらに、通信端末は、医療機器であってもよい。医療機器の場合には、背景画像が患者の画像となる。
図1では、電子黒板1a,1bの一例としてビデオ会議機能が搭載された電子黒板が示されている。なお、拠点画像データに係る拠点画像は、動画であっても静止画であってもよい。
また、ビデオ会議の開始を要求する要求元としての電子黒板は「開始端末」と表され、要求先である宛先(中継先)としての電子黒板は「宛先端末」と表されている。図1では、電子黒板1aが開始端末として、電子黒板1bが宛先端末として表されている。ただし、電子黒板1bからビデオ会議の開始を要求する場合は、電子黒板1bが開始端末となり、電子黒板1aが宛先端末となる。なお、各電子黒板1a,1bは、複数の事業所間での通信や、同じ事業所内の異なる部屋間での通信だけでなく、同じ部屋内での通信や、屋外と屋内または屋外と屋外での通信で使われてもよい。
中継装置3は、コンピュータによって構成され、複数の電子黒板1a,1b間で、通話用のコンテンツデータを中継する処理を行なう。
通信管理装置5は、コンピュータによって構成され、電子黒板1a,1bからのログイン認証、電子黒板1a,1bの通信状況の管理、宛先リストの管理、および中継装置3の通信状況等を一元的に管理する。また、通信管理装置5は、複数の電子黒板1a,1b間で、共有用のストロークデータを中継する。
画像保存装置7は、コンピュータによって構成され、電子黒板1aからアップロードされた共有用の背景画像の画像データを保存して、電子黒板1bにダウンロードする。また、この逆も実行される。すなわち、画像保存装置7は、電子黒板1bからアップロードされた画像データを保存して、電子黒板1aにダウンロードする。
なお、中継装置3、通信管理装置5および画像保存装置7は、それぞれが単一のコンピュータによって構築されてもよいし、各装置の各部(機能または手段)を分割して任意に割り当てられた複数のコンピュータによって構築されていてもよい。ここで、通信管理装置5と画像保存装置7は、複数の電子黒板1a,1b間で共有されるデータを管理するサーバシステム6を構成する。このサーバシステム6は、通信管理装置5および画像保存装置7の各部(機能または手段)を備える単一のコンピュータによって構成されてもよい。また、画像保存装置7は、通信管理装置5に変わり、複数の電子黒板1a,1b間で、共有用のストロークデータを中継する構成であってもよい。
また、通信システムにおいて、電子黒板1a,1bとの間では、通信管理装置5を介して、各種の管理情報を送受信するための管理情報用セッションseiが確立される。また、電子黒板1a,1bとの間では、中継装置3を介して、高解像度の拠点画像データ、中解像度の拠点画像データ、低解像度の拠点画像データ、および音データの四つの各データを送受信するための四つのセッションが確立される。図1では、これら四つのセッションをまとめて、画像・音データ用セッションsedとして示している。なお、画像・音データ用セッションsedは、必ずしも四つのセッションである必要はなく、四つのセッション数より少ないまたは多いセッション数であってもよい。また、開始端末と宛先端末との間で、中継装置3を介さずに、直接、通信セッションを確立してもよい。さらに、通信システムにおいて、通信管理装置5が中継装置3の機能を有しており、通信管理装置5を介して電子黒板1a,1bとの間の画像・音データ用セッションsedが確立されてもよい。
さらに、通信システムにおいて、電子黒板1a,1bとの間では、管理情報用セッションseiを利用して、ストロークデータの送受信を行うことができる。
ここで、本実施形態で扱われる拠点画像データの画像の解像度について説明する。低解像度の拠点画像データは、例えば、横が160画素、縦が120画素から成り、ベース画像となる。中解像度の拠点画像データは、横が320画素、縦が240画素から成る。高解像度の拠点画像データは、例えば、横が640画素、縦が480画素から成る。このうち、狭帯域経路を経由する場合には、ベース画像となる低解像度の拠点画像データのみから成る低画質の画像データが中継される。帯域が比較的広い場合には、ベース画像となる低解像度の拠点画像データ、および中解像度の拠点画像データから成る中画質の画像データが中継される。また、帯域が非常に広い場合には、ベース画像となる低解像度の拠点画像データ、中解像度の拠点画像データ、および高解像度の拠点画像データから成る高画質の画像データが中継される。音データは、拠点画像データに比べてデータ量が少ないため、狭帯域経路であっても中継される。
●電子黒板の使用イメージ
図2は、実施形態に係る電子黒板の使用イメージについて説明するための図である。電子黒板1は、図2に示されているように、電子黒板1は、下部側に複数のキャスタが設けられた脚部151、脚部151の上部側に設けられた支柱152、支柱152上部側に設けられた電子黒板1の本体153、および本体153の前面に設けられたディスプレイ180によって構成されている。本体153には、後述のCPU101等が内蔵されている。そして、利用者は、電子ペン190を用いて、ディスプレイ180に文字等のストローク画像を入力(描画)することができる。ディスプレイ180は、表示部の一例である。
●ハードウエア構成●
次に、図3および図4を用いて、通信システムを構成する各装置または端末のハードウエア構成について説明する。なお、図3および図4に示されているハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。
●電子黒板のハードウエア構成
図3は、実施形態に係る電子黒板のハードウエア構成の一例を示す図である。図3に示されているように、電子黒板1は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、SSD(Solid State Drive)104、ネットワークI/F(Interface)105、および外部機器接続I/F106を備えている。
これらのうち、CPU101は、電子黒板1全体の動作を制御する。ROM102は、CPU101やIPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶する不揮発性のメモリである。RAM103は、CPU101のワークエリアとして使用される揮発性のメモリである。SSD104は、電子黒板用のプログラム等の各種データを記憶する大容量の記憶装置である。ネットワークI/F105は、電子黒板1を通信ネットワーク100に接続し、通信を行うための通信インターフェースである。外部機器接続I/F106は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリ130、外付け機器(マイク140、スピーカ150、カメラ160)である。
また、電子黒板1は、キャプチャデバイス111、GPU(Graphics Processing Unit)112、ディスプレイコントローラ113、接触センサ114、センサコントローラ115、電子ペンコントローラ116、近距離通信回路119、近距離通信回路119のアンテナ119a、電源スイッチ122および選択スイッチ類123を備えている。
これらのうち、キャプチャデバイス111は、外付けのPC170のディスプレイ等に対して画像データ(画像情報)を静止画または動画として表示させる。GPU112は、グラフィクスを専門に扱う半導体チップ(プロセッサ)である。ディスプレイコントローラ113は、GPU112からの出力画像をディスプレイ180等へ出力するために画面表示の制御および管理を行う。接触センサ114は、ディスプレイ180上に電子ペン190や利用者の手H等が接触したことを検知する。センサコントローラ115は、接触センサ114の処理を制御する。接触センサ114は、赤外線遮断方式による座標の入力および座標の検出を行う。この座標の入力および座標の検出する方法は、ディスプレイ180の上側両端部に設置された二つの受発光装置が、ディスプレイ180に平行して複数の赤外線を放射し、ディスプレイ180の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ114は、物体によって遮断された二つの受発光装置が放射した赤外線のIDをセンサコントローラ115に出力し、センサコントローラ115が、物体の接触位置である座標位置を特定する。電子ペンコントローラ116は、電子ペン190と通信することで、ディスプレイ180へのペン先のタッチやペン尻のタッチの有無を判断する。近距離通信回路119は、NFC(Near Field Communication)やBluetooth(登録商標)等の通信回路である。電源スイッチ122は、電子黒板1の電源のON/OFFを切り換えるためのスイッチである。選択スイッチ類123は、例えば、ディスプレイ180の表示の明暗や色合い等を調整するためのスイッチ群である。
さらに、電子黒板1は、バスライン110を備えている。バスライン110は、図3に示されているCPU101等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
なお、接触センサ114は、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する二つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネル等の種々の検出手段を用いてもよい。また、電子ペンコントローラ116が、電子ペン190のペン先およびペン尻だけでなく、電子ペン190の利用者が握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
●通信管理装置、中継装置、および画像保存装置のハードウエア構成
図4は、実施形態に係る通信管理装置、中継装置および画像保存装置のハードウエア構成の一例を示す図である。通信管理装置5の一例としてのコンピュータは、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、キーボード511、ポインティングデバイス512、DVD−RW(Digital Versatile Disk ReWritable)ドライブ514、メディアI/F516、およびバスライン510を備えている。
これらのうち、CPU501は、通信管理装置5全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する不揮発性のメモリである。RAM503は、CPU501のワークエリアとして使用される揮発性のメモリである。HD504は、通信管理用プログラム等の各種データを記憶する大容量の記憶装置である。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出しまたは書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。ネットワークI/F509は、インターネット等の通信ネットワーク100を利用してデータ通信をするためのインターフェースである。キーボード511は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行う入力手段の一種である。DVD−RWドライブ514は、DVD−RW513に対するデータの読み出しまたは書き込み(記憶)を制御する。なお、DVD−RW513は、DVD−R等であってもよい。また、DVD−RWドライブ514は、BD−RE(Blu-ray(登録商標) Disc Rewritable)またはCD−RW(Compact Disc-ReWritable)等のディスクに対するデータの読み出しまたは書き込み(記憶)を制御するブルーレイドライブまたはCD−RWドライブ等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出しまたは書き込み(記憶)を制御する。また、バスライン510は、図4に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、中継装置3は、一般的なコンピュータによって構築されており、図6に示されているように、CPU301、ROM302、RAM303、HD304、HDDコントローラ305、ディスプレイ306、外部機器接続I/F308、ネットワークI/F309、キーボード311、ポインティングデバイス312、DVD−RWドライブ314、メディアI/F316およびバスライン310を備えている。これらは、それぞれ通信管理装置5におけるCPU501、ROM502、RAM503、HD504、HDDコントローラ505、ディスプレイ506、外部機器接続I/F508、ネットワークI/F509、キーボード511、ポインティングデバイス512、DVD−RWドライブ514、メディアI/F516、およびバスライン510と同様の構成であるため、説明を省略する。ただし、中継装置3の場合は、HD304に中継用プログラムが記憶されている。
さらに、画像保存装置7は、一般的なコンピュータによって構築されており、図6に示されているように、CPU701、ROM702、RAM703、HD704、HDDコントローラ705、ディスプレイ706、外部機器接続I/F708、ネットワークI/F709、キーボード711、ポインティングデバイス712、DVD−RWドライブ714、メディアI/F716およびバスライン710を備えている。これらは、それぞれ通信管理装置5におけるCPU501、ROM502、RAM503、HD504、HDDコントローラ505、ディスプレイ506、外部機器接続I/F508、ネットワークI/F509、キーボード511、ポインティングデバイス512、DVD−RWドライブ514、メディアI/F516、およびバスライン510と同様の構成であるため、説明を省略する。また、画像保存装置7の場合は、HD704に画像保存用プログラムが記憶されている。
また、上記各プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例として、CD−R(Compact Disc Recordable)、DVD、ブルーレイディスク、SDカードまたはUSBメモリ等が挙げられる。また、記録媒体は、プログラム製品(Program Product)として、国内または国外へ提供されることができる。例えば、電子黒板1bは、本発明に係るプログラムが実行されることで本発明に係る画面共有方法を実現する。
●通信システムの全体構成●
続いて、図5を用いて、通信システムの全体構成について説明する。図5は、実施形態に係る通信システムのシステム構成の一例を示す図である。
図5において、電子黒板1aは拠点A、電子黒板1bは拠点B、電子黒板1cは拠点Cに設置されている。例えば、拠点Aは日本の東京事業所で、拠点Bは中国の北京事業所、拠点CはアメリカのワシントンD.C.事業所である。拠点Aでは利用者A1が電子黒板1aを利用し、拠点Bでは利用者B1,B2が電子黒板1bを利用し、拠点Cでは利用者C1が電子黒板1cを利用しているものとする。
さらに、電子黒板1a,1b,1c、中継装置3、通信管理装置5、および画像保存装置7は、例えば、インターネットやLAN(Local Area Network)等の通信ネットワーク100を介して、相互にデータの送受信を行なうことができる。なお、通信ネットワーク100には、有線だけでなく、Wi−Fi(登録商標)等の無線による通信が行われる箇所があってもよい。
●通信システムの機能構成●
次に、図6乃至図15を用いて、本実施形態に係る通信システムの機能構成について説明する。図6は、実施形態に係る通信システムの機能構成の一例を示す図である。なお、図6では、図5に示されている各端末、装置およびサーバのうち、後述の処理または動作に関連しているものが示されている。
●電子黒板の機能構成
まず、図6を用いて、電子黒板1a,1b,1cの機能構成について説明する。なお、電子黒板1a,1b,1cが有している機能は同様であるため、ここでは、電子黒板1が有している機能として説明する。電子黒板1は、通信部11、受付部12、画像・音処理部13、表示制御部14、判断部15、画像処理部16、近距離通信部18、表示画面管理部21、共有状態切替部22および記憶・読出処理部19を有している。これら各部は、図3に示されている各構成要素のいずれかが、SSD104からRAM103上に展開されたプログラムに従ったCPU101からの命令によって動作することで実現される機能、または機能する手段である。また、電子黒板1は、図3に示されているRAM103、SSD104またはUSBメモリ130によって構築される記憶部1000を有している。
通信部11は、図3に示されているCPU101からの命令、およびネットワークI/F105によって実現され、通信ネットワーク100を介して、他の端末、装置またはシステムと各種データ(または情報)の送受信を行う機能である。通信部11は、例えば、開始部としての役割も果たし、他の電子黒板1と通信を開始する処理を行う。また、通信部11は、例えば、他の電子黒板との間で、ディスプレイ180に表示させる描画画面データを、通信管理装置5を介して送受信する。受付部12は、図3に示されているCPU101からの命令、並びに接触センサ114および電子ペンコントローラ116によって実現され、利用者から電子ペン190等による各種入力を受け付ける。
画像・音処理部13は、図3に示されているCPU101からの命令によって実現され、ビデオ会議機能の主な処理を行う。画像・音処理部13は、例えば、マイク140の出力信号およびカメラ160の出力信号に共づき、拠点画像データおよび音データのエンコード等のデジタル処理を行う。また、画像・音処理部13は、例えば、通信部11で受信された拠点画像データおよび音データに基づき、画像信号を生成したり音信号を生成したりする。さらに、画像・音処理部13は、例えば、解像度の異なる拠点画像データを組み合わせる処理を行う。
表示制御部14は、図3に示されているCPU101からの命令、および図3に示されているディスプレイコントローラ113によって実現され、ディスプレイ180に画像信号等を出力するための制御を行う機能である。表示制御部14は、例えば、画像処理部16によって生成された表示画面データに係る表示画面を、ディスプレイ180に表示させる。判断部15は、図3に示されているCPU101からの命令によって実現され、各種判断を行う機能である。
画像処理部16は、図3に示されているCPU101からの命令、およびキャプチャデバイス111によって実現され、電子黒板機能の主な処理を行う機能である。画像処理部16は、例えば、受付部12によって受け付けられた電子ペン190等のストロークに基づいてストロークデータおよびストローク画像を生成する。また、画像処理部16は、例えば、通信部11によって受信されたストロークデータに基づいてストローク画像を生成する。さらに、画像処理部16は、例えば、生成したストローク画像を含む描画画面データを生成する。
近距離通信部18は、図3に示されているCPU101からの命令、並びに近距離通信回路119およびアンテナ119aによって実行され、ICカードやスマートフォン等の近距離通信部を有する各端末との間で、近距離無線通信により、データの取得および提供を行なう機能である。
表示画面管理部21は、図3に示されているCPU101からの命令によって実現され、他の電子黒板1との間で共有される表示画面を構成する画面データを管理する機能である。
共有状態切替部22は、図3に示されているCPU101からの命令によって実現され、他の電子黒板1との間における表示画面の共有状態を切り替える機能である。共有状態切替部22は、例えば、表示画面に対する特定の操作が受け付けられた場合、他の電子黒板1との間における画面共有が停止された非同期状態に移行させる。
記憶・読出処理部19は、図3に示されているCPU101からの命令によって実行され、記憶部1000に各種データを記憶させ、または記憶部1000から各種データを読み出す機能である。記憶部1000には、他の端末との通信を行う際に受信される拠点画像データおよび音データが、受信される度に上書き記憶される。このうち、上書きされる前の拠点画像データによってディスプレイ180に画像が表示され、上書きされる前の音データによってスピーカ150から音声が出力される。さらに、記憶部1000には、ディスプレイ180に描画されたストローク画像に係るストロークデータ、およびディスプレイ180に表示された背景画像に係る背景画像データが記憶される。
○表示画面情報
図7は、実施形態に係る表示画面情報の一例を概略的に説明するための図である。図7は、表示画面管理DB1001に記憶されている電子黒板1に表示される表示画面の状態の一例のイメージを示している。
図7の例では、表示画面は、「会議」、「ページ(ページ1〜3)」、「ストローク(ストローク1〜5)」の階層構造を有している。「ストローク」は、本実施形態に係るストロークデータに対応しており、「ページ」毎に管理されている。また、「ページ」とは、ディスプレイ180に表示された1ページの画面(表示画面)に係る画像データが記憶された状態を示す。さらに、「会議」とは、電子黒板1によって実行されている会議の情報を示す。例えば、ストローク1には、ストローク1を識別するストロークID(id=aaaaa)、ストローク1が存在するページ1を特定するための情報(parent=pag01)、描画データ1のgid(global id)「g001」、および描画データ1等が含まれている。例えば、ストローク1が表すストローク画像に対して、移動等の操作が行われると、ストロークID(id=aaaaa)は、そのまま引き継がれるが、描画データ1と描画データ1を識別するgid「g001」は、更新される。描画データ1は、ストローク1を再現するための描画データである。描画データ1には、例えば、座標データ、線の幅データ、線の色データ、およびベクトルデータ等が含まれている。
電子黒板1は、ページの切り替えが可能であり、「ページ」は、電子黒板1の各ページに対応している。例えば、ページ1には、ページ1を識別するページID(id=pag01)、電子黒板1で実行されている「会議」を特定するための情報(parent=se01)、ページ(ページデータ)を識別するgid「g01」、および画像データ1等が含まれている。画像データ1は、ページ1を構成する背景画像の画像データである。すなわち、画像データ1は、ページ1に表示されている背景画像を示す。なお、ページには、画像データが含まれていなくてもよい。この場合、画像データが含まれているページは、背景画像を有していない(空白の背景である)ことを意味する。
「会議」は、電子黒板1で実行されている会議に対応しており、会議を識別するための会議ID、会議(会議情報)のgid「g1」、会議によって生成されたページを示す情報(pages)、および電子黒板1に現在表示されている表示画面を構成するページを示す情報(current page)によって管理されている。また、電子黒板1が他の電子黒板との遠隔通信を行っている場合、会議IDは、セッションを識別するためのセッションID(id=se01)に対応している。例えば、電子黒板1の画像処理部16は、ストローク1〜3に含まれている描画データ1〜3を用いて、ページ1に描画されたストローク画像を生成することができる。なお、各階層に示されいるgidは、他の電子黒板との間でデータの共有を行う際に、通信管理装置5によって採番される。また、図7に示されている共有データの階層構造は、複数の電子黒板1の間で共有される。
○操作情報
ここで、図8を用いて、電子黒板1で実行された表示画面に対する操作を示す操作情報について説明する。図8は、実施形態に係る操作情報の一例を概略的に説明するための図である。図8に示されている操作情報には、電子黒板1に表示される表示画面に対して実行された操作の情報が記憶されている。図8に示されている操作情報には、ストロークデータを識別するためのストロークID(Id)、ストロークデータが描画されたページを識別するためのページID(DistId)、表示画面に対して実行された操作の種類を示す操作種別情報(Operation Type)、操作対象となるデータの種別を示すデータ種別情報(Data Type)、操作対象となるデータの内容を示すデータ詳細情報(Date)が含まれている。
このうち、操作種別情報には、表示画面に含まれているストロークやページに対して、利用者によって実行された操作の種類が示されている。例えば、操作対象がストロークである場合において、操作種別情報は、ストロークが描画されたときには「Add(追加)」、ストロークが削除されたときには「Remove(削除)」、ストロークが移動されたときには「Update」が示される。また、データ種別情報には、操作対象がストロークである場合には「Stroke」、ページである場合には「Page」が示される。さらに、操作対象がストロークである場合において、データ詳細情報は、ストロークデータに対応し、座標データ、線の幅データ、線の色データ等の情報が含まれる。データ詳細情報は、後述する共有データ管理テーブル(図14参照)に示されているbodyの情報に対応している。
なお、操作対象となるデータは、ストロークまたはページ単位に限られず、複数のストロークの集合であるオブジェクト単位であってもよい。このオブジェクトには、ストロークが文字もしくは数値等の記号としてOCR(Optical Character Reader)処理されたテキスト、日付もしくは時刻等のシステム生成文字、三角形、星もしくは円形等の予め定められた図形、または矢印、線分もしくはベジェ曲線等の線等が含まれる。
●中継装置の機能構成
続いて、図6を用いて、中継装置3の機能構成について説明する。中継装置3は、転送部を兼ねた通信部31、判断部35および記憶・読出処理部39を有している。これら各部は、図4に示されている各構成要素のいずれかが、HD304からRAM303上に展開された中継用プログラムに従ったCPU501からの命令によって動作することで実現される機能、または機能する手段である。また、中継装置3は、図4に示されているRAM303、HD304または記録メディア315によって構築される記憶部3000を有している。
通信部31は、図4に示されているCPU301からの命令、およびネットワークI/F309によって実現され、通信ネットワーク100を介して、他の端末、装置またはシステムと各種データ(または情報)の送受信を行う機能である。また、通信部31は、転送部としての役割も果たし、所定の端末ら送信されて来た拠点画像データおよび音データを、他の端末に転送する。判断部35は、図4に示されているCPU301からの命令によって実現され、データの遅延状態等の判断等の各種判断を行なう機能である。
記憶・読出処理部39は、図4に示されているCPU301からの命令によって実行され、記憶部3000に各種データを記憶させ、または記憶部3000に記憶された各種データを読み出す機能である。
●通信管理装置の機能構成
続いて、図6を用いて、通信管理装置5の機能構成について説明する。通信管理装置5は、通信部51、認証部52、判断部53、端末管理部54、セッション管理部55、中継装置管理部56、共有データ管理部57、画面共有状態管理部58および記憶・読出処理部59を有している。これら各部は、図4に示されている各構成要素のいずれかが、HD504からRAM503上に展開された通信管理用プログラムに従ったCPU501からの命令によって動作することで実現される機能または機能する手段である。また、通信管理装置5は、図4に示されているRAM503、HD504または記録メディア515によって構築される記憶部5000を有している。
通信部51は、図4に示されているCPU501からの命令、およびネットワークI/F509によって実現され、通信ネットワーク100を介して、他の端末または装置と各種データ(または情報)の送受信を行う機能である。通信部51は、例えば、電子黒板1に対して、他の電子黒板1から送信されたストロークデータの送受信を行う。
認証部52は、図4に示されているCPU501からの命令によって実現され、ログイン要求元の認証を行う機能である。認証部52は、通信部51によってログイン要求情報を受信した場合、認証管理DB5001を用いて、ログイン要求元の認証処理を実行する。判断部53は、図4に示されているCPU501からの命令によって実現され、各種判断を行う機能である。
端末管理部54は、図4に示されているCPU501からの命令によって実現され、電子黒板1の状態に応じて、端末管理DB5002で管理されている電子黒板1に関する各種情報を管理する機能である。端末管理部54は、例えば、端末管理DB5002における稼動状態、受信日時、端末のIPアドレス等の情報を更新する。また、端末管理部54は、宛先リスト管理DB5003を管理し、電子黒板1からの要求に応じて、宛先リスト管理DB5003で管理されている宛先端末の端末IDを含む宛先リスト情報を提供する。
セッション管理部55は、図4に示されているCPU501からの命令によって実現され、通信システムで開催されるセッションを管理する機能である。セッション管理部55は、例えば、電子黒板1から通信の開始を要求する開始要求情報に応じて、セッションを識別するためのセッションIDを生成する。また、セッション管理部55は、例えば、セッションIDに対応づけて、セッションに関する各種情報をセッション管理DB5004に記憶させて管理する。
中継装置管理部56は、図4に示されているCPU501からの命令によって実現され、複数の中継装置3からセッションの中継に用いる中継装置3を選択する機能である。中継装置管理部56は、例えば、中継装置管理DB5005を管理し、中継装置管理DB5005に記憶されている各中継装置3に関する各種情報を用いて、中継装置3を選択する。中継装置管理部56は、例えば、中継装置管理DB5005に記憶されている各中継装置3のIPアドレスと、開始端末のIPアドレスとから、開始端末の近くにある中継装置3を選択する。また、中継装置管理部56は、例えば、中継装置管理DB5005に記憶されている各中継装置3の最大データ伝送速度等に基づいて、中継装置3を選択する。なお、本実施形態では、セッションの中継に用いる中継装置3の選択方法は任意の方法であって良い。また、通信システムが有する中継装置3の数は、一つであってもよい。
共有データ管理部57は、図4に示されているCPU501からの命令によって実現され、各電子黒板1(通信端末)の間で送受信される表示画面に関する各種データを管理する機能である。共有データ管理部57は、例えば、セッションに参加している電子黒板1から、セッションseiで送信される各種データを、セッションIDと関連づけて、共有データ管理DB5006に記憶して管理する。
画面共有状態管理部58は、図4に示されているCPU501からの命令によって実現され、電子黒板1の画面共有状態を管理する機能である。画面共有状態管理部58は、例えば、電子黒板1から送信された、電子黒板1の画面共有状態を示す共有状態情報に応じて、画面共有状態管理DB5007に記憶されているデータを更新する。
記憶・読出処理部59は、図4に示されているCPU501からの命令によって実行され、記憶部5000に各種データを記憶させ、または記憶部5000に記憶された各種データを読み出す機能である。
○認証管理テーブル
図9は、実施形態に係る認証管理テーブルの一例を示す概念図である。記憶部5000には、図9に示されているような認証管理テーブルによって構成されている認証管理DB5001が構築されている。この認証管理テーブルでは、通信管理装置5によって管理される全ての電子黒板1の各端末IDに対して、各パスワードが関連づけられて管理される。例えば、図9に示されている認証管理テーブルにおいて、電子黒板1a(通信端末)の端末IDは「01aa」で、パスワードは「aaaa」であることが示されている。なお、パスワードは認証情報の一例であり、認証情報にはアクセストークンも含まれる。
○端末管理テーブル
図10は、実施形態に係る端末管理テーブルの一例を示す概念図である。記憶部5000には、図10に示されているような端末管理テーブルによって構成されている端末管理DB5002が構築されている。この端末管理テーブルでは、各電子黒板1(通信端末)を識別するための端末ID毎に、各電子黒板1を宛先とした場合の宛先名、各電子黒板1の稼動状態、後述のログイン要求情報が通信管理装置5で受信された受信日時、および各電子黒板1(通信端末)のIPアドレスが関連づけられて管理される。例えば、図10に示されている端末管理テーブルにおいて、端末IDが「01aa」の電子黒板1aは、端末名が「日本 東京事業所 AA端末」で、稼動状態が「Online(通信可能)」で、通信管理装置5でログイン要求情報が受信された日時が「2020年2月10日の13時40分」で、この端末1aaのIPアドレスが「1.2.1.3」であることが示されている。なお、端末ID、宛先名、および端末のIPアドレスは、各電子黒板1が、通信管理装置5によるサービスの提供を受けるために事前登録する際に記憶される。
○宛先リスト管理テーブル
図11は、実施形態に係る宛先リスト管理テーブルの一例を示す概念図である。記憶部5000には、図11に示されているような宛先リスト管理テーブルによって構成されている宛先リスト管理DB5003が構築されている。この宛先リスト管理テーブルでは、通信の開始を要求する電子黒板1(開始端末)の端末IDに対して、電子黒板1(宛先端末)の候補として登録されている宛先端末の端末IDが全て関連づけられて管理される。例えば、図11に示されている宛先リスト管理テーブルにおいて、端末IDが「01aa」である開始端末(電子黒板1a)から通信の開始を要求することができる宛先端末の候補は、端末IDが「01ba」の電子黒板1b等であることが示されている。この宛先端末の候補は、任意の開始端末から通信管理装置5に対する追加または削除の要請により、追加または削除されることで更新される。
なお、宛先リストは、宛先情報の一例であり、宛先情報には、リスト形式になっておらず、端末ID等の宛先に関する情報が羅列されていてもよい。
○セッション管理テーブル
図12は、実施形態に係るセッション管理テーブルの一例を示す概念図である。記憶部5000には、図12に示されているようなセッション管理テーブルによって構成されているセッション管理DB5004が構築されている。このセッション管理テーブルでは、各電子黒板1(通信端末)と中継装置3との間で相互通信を行なうためのセッションを識別するためのセッションID毎に、使用される中継装置3の中継装置ID、電子黒板1(開始端末)の端末ID、電子黒板1(宛先端末)の端末ID、宛先端末において拠点画像データが受信される際の受信の遅延時間(ms)、およびこの遅延時間が示されている遅延情報を宛先端末から送られて来て通信管理装置5で受信された受信日時が関連づけられて管理される。例えば、図12に示されているセッション管理テーブルにおいて、セッションID「se01」を用いて実行された通信セッションで、中継装置(中継装置ID「111a」)は、端末IDが「01aa」の電子黒板と、端末IDが「01db」の電子黒板との間で、拠点画像データおよび音データを中継しており、電子黒板(宛先端末)において「2020年2月10日の13時41分」時点における拠点画像データの遅延時間が200(ms)であることが示されている。
○中継装置管理テーブル
図13は、実施形態に係る中継装置管理テーブルの一例を示す概念図である。記憶部5000には、図13に示されているような中継装置管理テーブルによって構成されている中継装置管理DB5005が構築されている。この中継装置管理テーブルでは、中継装置3の中継装置ID毎に、各中継装置3の稼動状態、稼動状態が示される状態情報が通信管理装置5で受信された受信日時、中継装置3のIPアドレス、および、中継装置3における最大データ伝送速度(Mbps)が関連づけられて管理される。例えば、図13に示されている中継装置管理テーブルにおいて、中継装置IDが「111a」の中継装置3は、稼動状態が「Online」で、通信管理装置5で状態情報が受信された日時が「2020年2月10日の13時30分」で、この中継装置3のIPアドレスが「1.2.1.2」で、この中継装置3における最大データ伝送速度が100Mbpsであることが示されている。
○共有データ管理テーブル
図14は、実施形態に係る共有データ管理テーブルの一例を示す概念図である。記憶部5000には、図14に示されているような共有データ管理テーブルによって構成されている共有データ管理DB5006が構築されている。この共有データ管理テーブルには、各電子黒板1(通信端末)と中継装置3との間で相互通信を行なうためのセッションを識別するためのセッションID毎に、電子黒板1の間で共有して記憶される表示画面に関する各種データが記憶されて管理されている。共有データ管理テーブルに示されているデータは、各電子黒板1の表示画面管理DB1001に記憶されている表示画面の状態(図7参照)に対応している。
共有データ管理テーブルに示されているデータには、各データを識別するためのID、各データの発生順序を示すシーケンス番号、データの内容を示す情報(body)、および上位層(親)となるデータを特定するための情報(parent)が含まれている。例えば、複数の電子黒板1によって実行されている遠隔会議を示す会議情報の場合、共有データ管理テーブルには、実行されている会議を識別するための会議ID(セッションID)、会議によって生成されたページを示す情報(children)および電子黒板1に現在表示されている表示画面を構成するページを示す情報(current page)が含まれている。また、例えば、ページデータの場合、共有データ管理テーブルには、ページ(ページデータ)を識別するためのページID、および該当するページを構成する背景画像データの記憶位置を示すURL(Uniform Resource Locator)が含まれている。
さらに、例えば、ストロークデータの場合、共有データ管理テーブルには、「ストローク描画」イベントによって生成されたストロークデータを識別するためのストロークID、ストロークデータの内容を示す情報、およびストロークが存在するページ(ページデータ)を特定するための情報(parent)が含まれている。この場合、ストロークデータの内容を示す情報(body)には、描画されたストロークの色、描画されたストロークの線の太さを示す幅、および描画されたストロークの頂点(x,y)の情報が含まれている。
ここで、「ストローク描画」は、利用者による描画情報の入力処理であり、例えば、利用者が電子ペン190をディスプレイ180に押し付け、この状態で電子ペン190を移動させ、ディスプレイ180から電子ペン190を離すまでのイベントである。また、ストロークの色は、RGBA(Red Green Blue Alpha)のデータ形式で、各要素が0−255の数値で表される。さらに、描画されたストロークの線の太さの幅は、ピクセル数で表される。また、描画されたストロークの頂点は、XY座標で表され、それぞれの頂点をベジェ曲線で結ぶとストロークを示す線分となる。この共有データ管理テーブルにより、通信管理装置5は、特定の通信セッションを用いたビデオ会議等によって発生したストロークデータを含む表示画面に関する各種データを管理することができる。
○画面共有状態管理テーブル
図15は、実施形態に係る画面共有状態管理テーブルの一例を示す概念図である。記憶部5000には、図15に示されているような画面共有状態管理テーブルによって構成されている画面共有状態管理DB5007が構築されている。この画面共有状態管理テーブルには、各電子黒板1(通信端末)と中継装置3との間で相互通信を行なうためのセッションを識別するためのセッションID毎に、各電子黒板1の表示画面の共有状態を示すデータが記憶されて管理されている。画像共有状態管理テーブルは、各電子黒板1(通信端末)を識別するための端末IDに、各電子黒板1の表示画面の共有状態が関連づけられて記憶されている。例えば、図15に示されている画面共有状態管理テーブルにおいて、端末ID「01aa」の電子黒板1aは、画面共有状態が「非同期状態」であり、端末ID「01ba」の電子黒板1bは、画面共有状態が「同期状態」であり、端末ID「01ca」の電子黒板1cは、画面共有状態が「同期状態」であることが示されている。
●画像保存装置の機能構成
続いて、図6を用いて、画像保存装置7の機能構成について説明する。画像保存装置7は、通信部71、生成部73および記憶・読出処理部79を有している。これら各部は、図4に示されている各構成要素のいずれかが、HD704からRAM703上に展開された画像保存用プログラムに従ったCPU701からの命令によって動作することで実現される機能、または機能する手段である。また、画像保存装置7は、図4に示されているRAM703、HD704または記録メディア715によって構築される記憶部7000を有している。
通信部71は、図4に示されているCPU701からの命令、およびネットワークI/F709によって実現され、通信ネットワーク100を介して、他の端末または装置と各種データ(または情報)の送受信を行う機能である。生成部73は、図4に示されているCPU701からの命令によって実現され、背景画像データの記憶位置を示すURLを生成する機能である。記憶・読出処理部79は、図4に示されているCPU701からの命令によって実行され、記憶部7000に各種データを記憶させ、または記憶部7000に記憶された各種データを読み出す機能である。
●実施形態の処理または動作●
次に、図16乃至図31を用いて、本実施形態に係る通信システムにおける処理または動作を説明する。
●遠隔通信の準備段階の処理
まず、図16および図17を用いて、ログイン要求端末としての電子黒板1aが行なう通信の準備処理を説明する。図16は、電子黒板間で遠隔通信を開始する準備段階の処理の一例を示すシーケンス図である。図17は、電子黒板に表示される宛先リスト画面の一例を示す図である。なお、電子黒板1bがログイン共有を行う処理も電子黒板1aの処理と同様であるため、説明を省略する。
まず、電子黒板1aで電源スイッチ122がONされると、受付部12aが、電源ONを受け付ける(ステップS11)。
次に、通信部11aは、通信ネットワーク100を介して、通信管理装置5へログイン認証の要求を示すログイン要求情報を送信する(ステップS12)。このログイン要求情報には、電子黒板1aの端末IDおよびパスワードが含まれている。これら端末IDおよびパスワードは、記憶・読出処理部19aによって記憶部1000aから読み出されて、通信部11aに送られたデータである。なお、これら端末IDおよびパスワードは、これに限るものではなく、利用者がキーボード等の入力手段によって入力した端末IDやパスワードが送信されてもよい。また、電子黒板1aに接続されたSIM(Subscriber Identity Module Card)カードやSDカード等の記録媒体から読み出された端末IDやパスワードが送信されてもよい。これにより、通信管理装置5の通信部51は、電子黒板1aから送信されたログイン要求情報を受信する。
次に、通信管理装置5の認証部52は、通信部51を介して受信したログイン要求情報に含まれている端末IDおよびパスワードを検索キーとして、認証管理テーブル(図9参照)を検索する。また、認証部52は、ログイン要求情報に含まれている端末IDおよびパスワードの組み合わせが、認証管理テーブルで管理されている場合、電子黒板1aのログインを許可する(ステップS13)。ここで、ログイン要求情報に含まれている端末IDおよびパスワードの組合せが、認証管理テーブルで管理されている場合、ステップS14以降の処理が実行される。
電子黒板1aのログインが許可された場合、端末管理部54は、端末管理テーブル(図10参照)において、電子黒板1aの端末ID「01aa」に対応する情報を更新する。例えば、端末管理部54は、端末ID「01aa」に対応する「稼動状態」の情報を「Online(通信可能)」」に変更するとともに、「受信日時」の情報を、ログイン要求情報を受信した日時に更新する(ステップS14)。なお、端末のIPアドレスの情報は、事前に登録されているのではなく、上記ステップS12で電子黒板1aから送信されたIPアドレスを用いるようにしても良い。これにより、端末管理テーブルには、例えば、図10に示されているように端末ID「01aa」に、稼動状態「Online(通信可能)」、受信日時「2020.2.10.13:40」およびIPアドレス「1.2.1.3」が関連づけて管理されることになる。
次に、セッション管理部55は、ステップS12によって受信された電子黒板1aの端末ID「01aa」を、「開始端末の端末ID」とする新しいレコードを、セッション管理テーブル(図12参照)に追加して管理する(ステップS15)。そして、通信部51は、ステップ13の処理によって得られた認証結果が示された認証結果情報を、通信ネットワーク100を介して、上記ログイン要求してきた電子黒板1aへ送信する(ステップS16)。
電子黒板1a(ログイン要求端末)の通信部11aは、ログインが許可されたことを示す認証結果情報を受信すると、通信ネットワーク100を介して通信管理装置5へ、宛先リストを要求する旨が示された宛先リスト要求情報を送信する(ステップS17)。これにより、通信管理装置5の通信部51は、宛先リスト要求情報を受信する。
次に、端末管理部54は、電子黒板1a(ログイン要求端末)の端末ID「01aa」を検索キーとして、宛先リスト管理テーブル(図11参照)を検索し、電子黒板1aと通信することができる宛先候補の端末IDを読み出す。また、端末管理部54は、端末管理テーブル(図10参照)から、宛先候補の端末IDに対応する宛先名を読み出す(ステップS18)。ここでは、電子黒板1aの端末ID「01aa」に対応する宛先候補のそれぞれの端末IDと、これらに対応する宛先名が抽出される。
次に、通信部51は、記憶・読出処理部59を介して、例えば、記憶部5000から宛先リスト枠のデータおよび稼動状態を示すアイコンのデータ等を読み出す(ステップS19)。また、通信部51は、読み出した宛先リスト枠およびアイコン、並びにステップS18で抽出した端末IDおよび宛先名を含めた「宛先リスト情報(宛先リスト枠、アイコン、端末ID、宛先名)」を、電子黒板1aへ送信する(ステップS20)。これにより、電子黒板1aは、通信部11aが宛先リスト情報を受信し、記憶・読出処理部19aが記憶部1000aに、受信した宛先リスト情報を記憶する(ステップS21)。
このように、本実施形態では、各端末で宛先リスト情報を管理するのではなく、通信管理装置5が全ての端末の宛先リスト情報を一元管理している。よって、通信システムに新たな電子黒板1が含まれるようになったり、既に含まれている端末に替えて新機種の端末を含めるようになったり、宛先リスト枠の見栄え等を変更することになった場合でも、本実施形態に係る通信システムは、通信管理装置5側で一括して対応するため、各端末側で宛先リスト情報の変更を行う手間を省くことができる。
また、端末管理部54は、ステップ18で抽出した宛先候補の端末IDを検索キーとして、端末管理テーブル(図10参照)を検索し、宛先候補の端末ID毎に、対応する稼動状態を読み出す。これにより、端末管理部54は、宛先候補の端末IDに対応する各電子黒板1の各稼動状態を取得する(ステップS22)。
次に、通信部51は、ステップS22で検索キーとして使用された端末IDと、対応する各宛先端末の稼動状態とが含まれた「端末の状態情報」を、通信ネットワーク100を介して、電子黒板1aに送信する(ステップS23)。
次に、電子黒板1aの記憶・読出処理部19aは、順次、通信管理装置5から受信した端末の状態情報を記憶部1000aに記憶する(ステップS24)。よって、電子黒板1aは、上記各電子黒板の状態情報を受信することで、電子黒板1aと通信することができる宛先候補である電子黒板1b等の現時点のそれぞれの稼動状態を取得することができる。
次に、表示制御部14aは、記憶部1000aに記憶されている宛先リスト情報、および端末の状態情報に基づいて、宛先候補としての端末の状態を反映させた宛先リストを作成する。また、表示制御部14aは、作成した宛先リストを用いて、電子黒板1aのディスプレイ180に対して、図17に示されているような宛先リスト画面800を表示させる(ステップS25)。この宛先リスト画面800には、宛先候補毎に、稼動状態を示すアイコン、端末ID、および宛先名が表示されている。図17では、各端末の稼動状態を示したアイコンが、上から「Offline」、「Online(通信可能)」として表示されている。
一方、通信管理装置5の端末管理部54は、電子黒板1aの端末ID「01aa」に基づいて宛先リスト管理テーブル(図10(A)参照)を検索することにより、電子黒板1aを宛先候補として登録している他の端末の端末IDを抽出する(ステップS26)。図10(A)に示されている宛先リスト管理テーブルでは、読み出される他の端末の端末IDは、「01ba」、「01ca」、「01da」等である。
次に、端末管理部54は、電子黒板1aの端末ID「01aa」に基づいて端末管理テーブル(図10参照)を検索し、電子黒板1aの稼動状態を取得する(ステップS27)。
そして、通信部51は、ステップS26で抽出された端末IDに係る端末のうち、端末管理テーブル(図10参照)で稼動状態が「Online」となっている端末に、ステップS27で取得された電子黒板1aの端末ID「01aa」と稼動状態「Online」が含まれる「端末の状態情報」を送信する(ステップS28)。なお、通信部51が電子黒板1bに端末の状態情報を送信する際に、各端末IDに基づいて、端末管理テーブル(図10参照)で管理されている電子黒板のIPアドレスを参照する。これにより、電子黒板1aを宛先候補として通信することができる他の宛先端末のそれぞれに、電子黒板1aの端末ID「01aa」、および稼動状態「Online」を伝えることができる。よって、宛先候補(電子黒板1b等)においても、宛先候補の状態を表示させることができる(ステップS29)。
●遠隔通信の開始処理
続いて、図18を用いて、電子黒板1aが電子黒板1bに対して遠隔通信を開始する処理を説明する。図18は、遠隔通信を開始する処理の一例を示すシーケンス図である。
まず、開始端末(電子黒板1a)の利用者A1が図17に示されている宛先候補(端末ID「01ba」)を押下して電子黒板1bを選択すると、受付部12aは、宛先端末(電子黒板1b)との通話を開始する要求を受け付ける(ステップS31)。そして、開始端末(電子黒板1a)の通信部11aは、通信管理装置5に対して、通話を開始したい旨を示す開始要求情報を送信する(ステップS32)。この開始要求情報には、開始端末(電子黒板1a)の端末ID「01aa」、および宛先端末(電子黒板1b)の端末ID「01ba」が含まれている。これにより、通信管理装置5の通信部51は、上記開始要求情報を受信すると共に、送信元である開始端末(電子黒板1a)のIPアドレスを受信する。
そして、端末管理部54は、開始要求情報に含まれる開始端末(電子黒板1a)の端末ID「01aa」および宛先端末(電子黒板1b)の端末ID「01ba」に基づき、端末管理テーブル(図10参照)を更新する。例えば、端末管理部54は、開始要求情報に含まれる開始端末の端末ID「01aa」、宛先端末の端末ID「01ba」に基づき、端末管理テーブルにおいて、端末ID「01aa」、「01ba」に対応する「稼動状態」を「Online(通信中)」に更新する。なお、この状態では、開始端末である電子黒板1a、および宛先端末である電子黒板1bは、セッションに参加していないが、通信中状態として管理する(ステップS33)。なお、この状態では、開始端末(電子黒板1a)、および宛先端末(電子黒板1b)は、ビデオ会議を開始していないが、通話中状態となり、第3の電子黒板(例えば、途中参加端末)が開始端末(電子黒板1a)または宛先端末(電子黒板1b)と通話しようとする(途中参加しようとする)と、いわゆる通話中状態を示す旨の通知音または表示が出力される。
次に、実際に利用される中継装置3を選択するためのセッションを実行する処理を説明する。まず、通信管理装置5のセッション管理部55は、電子黒板1aと電子黒板1bとの間で開催されるセッションを識別するためのセッションIDを生成する(ステップS34)。ここでは、セッションID「se01」が生成された場合について説明する。
そして、セッション管理部55は、セッション管理テーブル(図12参照)に、ステップS34で生成されたセッションID「se01」、開始端末(電子黒板1a)の端末ID「01aa」、および宛先端末(電子黒板1b)の端末ID「01ba」を関連づけて記憶して管理する(ステップS35)。
次に、中継装置管理部56は、開始端末(電子黒板1a)と宛先端末(電子黒板1b)との間のセッションを中継する中継装置3を選択する(ステップ36)。例えば、中継装置管理部56は、中継装置管理テーブル(図13参照)において稼動状態が「Online」の中継装置3に係る中継装置IDのうち、端末管理テーブル(図10参照)において開始端末(電子黒板1a)のIPアドレスに近いIPアドレスの中継装置3を選択する。ここでは、中継装置ID「111a」の中継装置3が選択された場合について、以降、続けて説明する。
以上のステップS36における中継装置の選択の処理が終了すると、通信管理装置5の通信部51は、開始端末(電子黒板1a)に対して、中継装置選択情報を送信する(ステップS37−1)。この中継装置選択情報には、ステップS36によって選択された中継装置3のIPアドレス、およびステップS34によって生成されたセッションID「se01」が含まれている。これにより、開始端末(電子黒板1a)は、中継装置選択情報の送信元である通信管理装置5のIPアドレスを取得することができる。
さらに、通信管理装置5の通信部51は、宛先端末(電子黒板1b)に対して、中継装置選択情報を送信する(ステップS37−2)。この中継装置選択情報には、ステップS36によって選択された中継装置3のIPアドレス、開始端末(電子黒板1a)の端末ID「01aa」、およびステップS34によって生成されたセッションID「se01」が含まれている。これにより、宛先端末(電子黒板1b)は、セッションID「se01」におけるセッションの実行において、中継装置選択情報の送信元である通信管理装置5のIPアドレスを取得することができる。
次に、開始端末(電子黒板1a)の通信部11は、通信管理装置5に対して、ステップS37−1の処理により中継装置選択情報の受信が完了した旨を示す受信完了情報を送信する(ステップS38−1)。この受信完了情報には、ステップS37−1の処理で送受信されたセッションIDが含まれている。これにより、通信管理装置5は、特定のセッションID「se01」で実行されている中継装置選択情報の伝達が完了した旨を取得する。
さらに、宛先端末(電子黒板1b)は、同様に通信管理装置5へ、ステップS37−2の処理により中継装置選択情報の受信が完了した旨を示す受信完了情報を送信する(ステップS38−2)。この場合も、通信管理装置5は、特定のセッションID「se01」で実行されている中継装置選択情報の伝達が完了した旨を取得する。
以上により、電子黒板1a,1bは、上記ステップS36で選択された中継装置3を介して、拠点画像データおよび音データを送受信することで、ビデオ会議を行うことができる。
●電子黒板間でのデータの共有処理
続いて、図19乃至図23を用いて、電子黒板1の間でデータを共有する処理について説明する。図19乃至図22は、実施形態に係る通信システムにおける電子黒板間でデータを共有する処理の一例を示すシーケンス図である。ここでは、電子黒板1a,1bで背景画像データおよびストロークデータを共有する場合であって、電子黒板1aで表示された背景画像および入力されたストローク画像が、電子黒板1bでも表示される場合について説明する。また、図19乃至図22の処理において、図7等に示されているページ2に対応する画面データが共有されるものとする。
まず、拠点Aにおいて、利用者A1が電子ペン190や手Hを電子黒板1aのディスプレイ180上に接触して移動させることで、電子黒板1aの受付部12aは、移動のストローク(軌跡)の入力を受け付ける(ステップS51)。画像処理部16aは、受付部12aによって入力が受け付けられたストロークに基づいて、2次元のディスプレイ180上にストローク画像を表示させるためのストロークデータ(例えば、座標データ(x,y))を作成する(ステップS52)。そして、表示制御部14aは、電子黒板1aのディスプレイ180上に、ストローク画像を表示させる(ステップS53)。
次に、通信部11aは、通信管理装置5に対して、ステップS52で作成されたストローク画像を再生するためのストロークデータを送信する(ステップS54)。これにより、通信管理装置5の通信部51は、電子黒板1aから送信されたストロークデータを受信する。そして、共有データ管理部57は、共有データ管理DB5006(図14参照)に、ステップS54によって受信されたストロークデータを記憶させる(ステップS55)。この場合、共有データ管理部57は、図14に示されるように、通信部11aによって受信されたストロークデータを、発生順(シーケンス順)に、実行されている遠隔会議を示す会議ID(セッションID)に関連づけて共有データ管理テーブルに記憶させる。また、共有データ管理部57は、ステップS54によって受信されたストロークデータに対応するgidを採番する。
次に、通信部51は、電子黒板1aに対して、ステップS55によって記憶されたストロークデータ、および共有データ管理部57によって採番されたgidを送信する(ステップS56)。これにより、電子黒板1aは、通信管理装置5から送信されたストロークデータおよびgidを受信する。電子黒板1aは、ストロークデータが受け付けられたことを把握することができるとともに、採番されたgidを知ることができる。
また、通信部51は、相手側の電子黒板1bに対して、ストロークデータおよびgidを送信する(ステップS57)。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたストロークデータおよびgidを受信する。電子黒板1bの画像処理部16bは、通信部11bによって受信されたストロークデータに基づいて、ストローク画像を生成する(ステップS58)。そして、表示制御部14bは、ステップS67によって生成されたストローク画像を、電子黒板1bのディスプレイ180上に表示させる(ステップS59)。これにより、通信システムは、電子黒板1aに描画されたストローク画像を、電子黒板1bに共有させることができる。
続いて、図20に示されているように、拠点Aの電子黒板1aの受付部12aは、背景画像の共有処理を受け付ける(ステップS61)。具体的には、電子黒板1aの利用者A1が、ディスプレイ180に表示されている所定の共有ボタンを押下すると、受付部12aは、背景画像の共有処理を受け付ける。
次に、通信部11aは、通信管理装置5に対して、ページ情報の追加を要求する旨を示すページ情報追加要求を送信する(ステップS62)。このページ情報追加要求には、追加を要求するページを識別するためのページID、および電子黒板1aで実行されている会議を特定するための情報(parent)が含まれている。この場合、通信部11aは、例えば、通信管理装置5に対して、ページID「pag02」およびparent「se01」を含むページ情報追加要求を送信する。なお、ページIDは、電子黒板1aの表示画面管理部21aによって採番される。これにより、通信管理装置5の通信部51は、電子黒板1aから送信されたページ情報追加要求を受信する。
次に、共有データ管理部57は、共有データ管理DB5006に、ステップS62によって受信された各種情報をページ情報として記憶させる(ステップS63)。また、共有データ管理部57は、共有データ管理DB5006に記憶させるページ(ページデータ)に対応するgidを採番する。
そして、通信部51は、電子黒板1aに対して、共有データ管理DB5006にページ情報が追加されたことを示すページ情報追加通知を送信する(ステップS64)。このページ情報追加通知には、追加されたページを識別するためのページID、電子黒板1aで実行されている会議を特定するための情報(parent)、共有データ管理部57によって採番されたgidの情報が含まれている。この場合、通信部51は、例えば、電子黒板1aに対して、ページID「pag02」、parent「se01」およびgid「gid02」を含むページ情報追加通知を送信する。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信されたページ情報追加通知を受信する。さらに、通信部51は、相手側の電子黒板1bに対して、ページ情報追加通知を送信する(ステップS65)。このページ情報追加通知に含まれている情報は、ステップS64によって電子黒板1aに対して送信された情報と同様である。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたページ情報追加通知を受信する。
続いて、電子黒板1aの通信部11aは、通信管理装置5に対して、会議情報の更新を要求する旨を示す会議情報更新要求を送信する(ステップS66)。この会議情報更新要求には、更新を要求する会議情報のgid、会議を識別するための会議ID、会議によって生成されたページを示す情報(children)、および電子黒板1aに現在表示されているページの情報(current page)が含まれている。この場合、通信部11aは、通信管理装置5に対して、gid「gid1」、会議ID「se01」、children「pag01、pag02、pag03」およびcurrent page「pag02」を含む会議情報更新要求を送信する。これにより、通信管理装置5の通信部51は、電子黒板1aから送信された会議情報更新要求を受信する。
次に、共有データ管理部57は、ステップS66によって受信された各種情報に基づいて、共有データ管理DB5006に記憶された会議情報を更新する(ステップS67)。この場合、共有データ管理部57は、共有データ管理テーブルを検索することにより、通信部51によって受信された会議IDに関連づけられているbodyの情報を更新する。また、共有データ管理部57は、ステップS66によって受信された会議情報のgid(「gid1」)を更新する(例えば、gid「gid1a」)。
そして、通信部51は、電子黒板1aに対して、会議情報が更新されたことを示す会議情報更新通知を送信する(ステップS68)。この会議情報更新通知には、ステップS67によって更新されたgid、会議を識別するための会議ID、会議によって生成されたページを示す情報(children)、電子黒板1aに現在表示されているページの情報(current page)が含まれている。この場合、通信部51は、例えば、電子黒板1aに対して、gid「gid2」、会議ID「se01」、children「pag01、pag02、pag03」およびcurrent page「pag02」を含む会議情報更新通知を送信する。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信された会議情報更新通知を受信する。さらに、通信部51は、相手側の電子黒板1bに対して、会議情報更新通知を送信する(ステップS69)。この会議情報更新通知に含まれている情報は、ステップS68によって電子黒板1aに対して送信された情報と同様である。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信された会議情報更新通知を受信する。
続いて、電子黒板1aの通信部11aは、画像保存装置7に対して、背景画像データのアップロード要求を送信する(ステップS70)。この場合、通信部51は、例えば、予め定められた所定のアップロード用のURL(例えば、「http://○○○.jp/upload」)に対して、背景画像データを送信する。これにより、画像保存装置7の通信部71は、電子黒板1aから送信されたアップロード要求を受信する。画像保存装置7の記憶・読出処理部79は、記憶部7000に対して、ステップS70によって受信された背景画像データを記憶する(ステップS71)。また、生成部73は、ステップS71によって記憶された背景画像データの記憶位置を示すURLを生成する(ステップS72)。ここで、URLは記憶位置情報の一例であり、記憶位置情報にはURI(Uniform Resource Identifier)も含まれる。そして。通信部71は、電子黒板1aに対して、背景画像データのアップロードが完了した旨を示すアップロード完了通知を送信する(ステップS73)。このアップロード完了通知には、ステップS72によって生成されたURLが含まれている。これにより、電子黒板1aの通信部11aは、画像保存装置7から送信されたアップロード完了通知を受信する。
続いて、図21および図22を用いて、電子黒板1aから画像保存装置7に背景画像データがアップロードされた後の処理について説明する。まず、図21を用いて、ステップS62に示されているように、電子黒板1aがページ情報追加通知を送信していた場合の処理について説明する。
図21に示されているように、電子黒板1aの通信部11aは、通信管理装置5に対して、ページ情報の更新を要求する旨を示すページ情報更新要求を送信する(ステップS81)。このページ情報更新要求には、ページを識別するためのページID、電子黒板1aで実行されている会議を特定するための情報(parent)、ステップ64によって受信されたページのgidの情報、およびステップS73によって受信されたURLの情報が含まれている。この場合、通信部11aは、例えば、通信管理装置5に対して、ページID「pag02」、parent「se01」、gid「gid02」、URL「△△△.jpeg」を含むページ情報更新要求を送信する。これにより、通信管理装置5の通信部51は、電子黒板1aから送信されたページ情報更新要求を受信する。
次に、共有データ管理部57は、ステップS81によって受信された各種情報に基づいて、共有データ管理DB5006に記憶されているページ情報を更新する(ステップS82)。具体的には、共有データ管理部57は、共有データ管理テーブルを検索することにより、ステップS81によって受信されたページIDに関連づけられているbodyの情報を更新する。また、共有データ管理部57は、ステップS81によって受信されたページのgid(「gid02」)を更新する(例えば、gid「gid02a」)。
そして、通信管理装置5の通信部51は、電子黒板1aに対して、ページ情報が更新されたことを示すページ情報更新通知を送信する(ステップS83)。このページ情報更新通知には、ページを識別するためのページID、電子黒板1aで実行されている会議を特定するための情報(parent)、ステップ82によって更新されたページのgidの情報、および背景画像データのURLの情報が含まれている。この場合、通信部51は、例えば、電子黒板1aに対して、ページID「pag02」、parent「se01」、gid「gid02a」およびURL「△△△.jpeg」を含むページ情報更新通知を送信する。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信されたページ情報更新通知を受信する。また、通信管理装置5の通信部51は、相手方の電子黒板1bに対して、ページ情報更新通知を送信する(ステップS84)。このページ情報更新通知に含まれている情報は、ステップS83によって電子黒板1aに対して送信された情報と同様である。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたページ情報更新通知を受信する。
電子黒板1bの通信部11bは、ステップS84によって受信された画像保存装置7に係るURLに対して、背景画像データのダウンロードを要求する旨を示すダウンロード要求を送信する(ステップS85)。これにより、画像保存装置7の通信部71は、電子黒板1bから送信されたダウンロード要求を受信する。
次に、画像保存装置7の記憶・読出処理部79は、通信部71によって受信されたダウンロード要求に示されているURLに基づいて、記憶部7000から要求対象である背景画像データを読み出す(ステップS86)。そして、通信部71が、要求元である電子黒板1bに対して、要求対象である背景画像データを送信する(ステップS87)。これにより、電子黒板1bの通信部11bは、背景画像データのダウンロード(受信)を行う。そして、電子黒板1bの表示制御部14bは、通信部11bによってダウンロード(受信)された背景画像データに係る背景画像を、ディスプレイ180に表示させる(ステップS88)。
続いて、図22を用いて、電子黒板1aから通信管理装置5に対して、ステップS62に示されているようなページ情報追加通知を送信していない場合の処理について説明する。すなわち、図22は、図20においてステップS62〜ステップS69の処理が行われていない場合の処理を示す。
図22に示されているように、まず、電子黒板1aの通信部11aは、通信管理装置5に対して、ページ情報の追加を要求する旨を示すページ情報追加要求を送信する(ステップS91)。このページ情報追加要求には、追加を要求するページを識別するためのページID、電子黒板1aで実行されている会議を特定するための情報(parent)、およびステップS73によって受信された背景画像データのURLの情報が含まれている。この場合、通信部11aは、例えば、通信管理装置5に対して、ページID「pag02」、parent「se01」、およびURL「△△△.jpeg」を含むページ情報追加要求を送信する。これにより、通信管理装置5の通信部51は、電子黒板1aから送信されたページ情報追加要求を受信する。
次に、共有データ管理部57は、共有データ管理DB5006に、ステップS91によって受信された各種情報をページ情報として記憶させる(ステップS92)。また、共有データ管理部57は、共有データ管理DB5006に記憶させるページ(ページデータ)に対応するgidを採番する。
そして、通信部51は、電子黒板1aに対して、共有データ管理DB5006にページ情報が追加されたことを示すページ情報追加通知を送信する(ステップS93)。このページ情報追加通知には、追加されたページを識別するためのページID、電子黒板1aで実行されている会議を特定するための情報(parent)、共有データ管理部57によって採番されたgidの情報、および背景画像データのURLの情報が含まれている。この場合、通信部51は、例えば、電子黒板1aに対して、ページID「pag02」、parent「se01」、gid「gid02」および「△△△.jpeg」を含むページ情報追加通知を送信する。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信されたページ情報追加通知を受信する。さらに、通信部51は、相手側の電子黒板1bに対して、ページ情報追加通知を送信する(ステップS94)。このページ情報追加通知に含まれている情報は、ステップS93によって電子黒板1aに対して送信された情報と同様である。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたページ情報追加通知を受信する。
続いて、電子黒板1aの通信部11aは、通信管理装置5に対して、会議情報の更新を要求する旨を示す会議情報更新要求を送信する(ステップS95)。この会議情報更新要求には、更新を要求する会議情報のgid、会議を識別するための会議ID、会議によって生成されたページを示す情報(children)、および電子黒板1aに現在表示されているページの情報(current page)が含まれている。この場合、通信部11aは、通信管理装置5に対して、gid「gid1」、会議ID「se01」、children「pag01、pag02、pag03」およびcurrent page「pag02」を含む会議情報更新要求を送信する。これにより、通信管理装置5の通信部51は、電子黒板1aから送信された会議情報更新要求を受信する。
次に、共有データ管理部57は、ステップS95によって受信された各種情報に基づいて、共有データ管理DB5006に記憶された会議情報を更新する(ステップS96)。この場合、共有データ管理部57は、共有データ管理テーブルを検索することにより、通信部51によって受信された会議IDに関連づけられているbodyの情報を更新する。また、共有データ管理部57は、ステップS95によって受信された会議情報のgid(「gid1」)を更新する(例えば、gid「gid1a」)。
そして、通信部51は、電子黒板1aに対して、会議情報が更新されたことを示す会議情報更新通知を送信する(ステップS97)。この会議情報更新通知には、ステップS96によって更新されたgid、会議を識別するための会議ID、会議によって生成されたページを示す情報(children)、電子黒板1aに現在表示されているページの情報(current page)が含まれている。この場合、通信部51は、例えば、電子黒板1aに対して、gid「gid1a」、会議ID「se01」、children「pag01、pag02、pag03」およびcurrent page「pag02」を含む会議情報更新通知を送信する。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信された会議情報更新通知を受信する。さらに、通信部51は、相手側の電子黒板1bに対して、会議情報更新通知を送信する(ステップS98)。この会議情報更新通知に含まれている情報は、ステップS97によって電子黒板1aに対して送信された情報と同様である。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信された会議情報更新通知を受信する。以降のステップS99〜ステップS102の処理は、図21に示されているステップS85〜ステップS88の処理と同様であるため説明を省略する。
これにより、電子黒板1aと電子黒板1bは、ディスプレイ180に表示されるストローク画像および背景画像を共有することができる。一方の電子黒板1(例えば、電子黒板1a)に表示された背景画像に係る背景画像データは、画像保存装置7にアップロードされ、他方の電子黒板1(例えば、電子黒板1b)にダウンロード可能な状態となる。また、一方の電子黒板1(例えば、電子黒板1a)に描画されたストロークに係るされたストロークデータは、通信管理装置5を経由して他方の電子黒板1(例えば、電子黒板1b)に共有される。さらに、電子黒板1に表示される表示画面(ページ)の作成および表示画面(ページ)の変更等の操作情報(図8参照)についても、通信管理装置5を経由して、それぞれの電子黒板1に共有される。なお、ステップS51〜ステップS59に示されているストロークデータの共有処理と図20乃至図22に示されている背景画像データの共有処理の順序は前後してもよく、または並行して行われてもよい。
ここで、図23を用いて、電子黒板1aと電子黒板1bとの間で共有される表示画面について説明する。まず、図23(A)に示されている表示画面200aには、背景画像d1およびストローク画像st1が表示されている。また、図23(B)に示されている表示画面200bには、背景画像d2およびストローク画像st2が表示されている。さらに、図23(C)に示されている表示画面200cは、背景画像d3およびストローク画像st3が表示されている。
このように、電子黒板1aと電子黒板1bには、図23(A)〜(C)に示されているような複数の表示画面が共有されている。また、電子黒板1aおよび電子黒板1bは、図7に示されている表示画面情報として、ディスプレイ180に表示させる表示画面を構成する画面データ(背景画像データおよびストロークデータ)を管理している。例えば、図23(A)に示されている表示画面200aは、「ページ1」の画面データに対応する表示画面であり、図23(B)に示されている表示画面200bは、「ページ2」の画面データに対応する表示画面である。また、例えば、図23(C)に示されている表示画面200cは、「ページ3」の画面データに対応する表示画面である。
●画面共有状態の変更
続いて、図24乃至図31を用いて、複数の拠点の電子黒板1を用いて行われている遠隔会議(ビデオ会議)中において、拠点間での表示画面の共有状態を変更する場合の処理について説明する。以下の例では、電子黒板1a,1b,1cの三拠点の間で遠隔会議が行われている場合の例を説明する。また、電子黒板1a,1b,1cは、それぞれ図7に示されている「ページ1」〜「ページ3」の画面データによって構成される表示画面情報を共有しているものとする。さらに、電子黒板1a,1b,1cには、「ページ2」の画面データに対応する表示画面(例えば、図23(B)に示されている表示画面200b)が表示されているものとする。
図24は、実施形態に係る電子黒板における画面共有状態の変更処理の一例を示すシーケンス図である。電子黒板1aでは、上述のように、電子黒板1b,1cとの間で表示画面の画面共有が行われている(ステップS101)。この場合、電子黒板1aの表示制御部14aは、ディスプレイ180に、図25(A)に示されている表示画面400aを表示させる。表示画面400aには、電子黒板1b,1cとの間で共有されている複数のページのうち、page2(ページ2)が電子黒板1b,1cと共有して表示されている。この状態では、電子黒板1aは、非同期状態へ移行しておらず、電子黒板1b,1cとの間で画面共有が行われている。また、表示画面400a上には、電子黒板1b,1cとの間で共有されている複数のページが一覧表示された一覧画像450が表示されている。この一覧画像450は、遠隔会議において複数の拠点の電子黒板1の間で共有済みのページが表示画面400a上にハイライト表示されている。電子黒板1の利用者は、一覧画像450に示されているページを選択することで、表示画面400aに表示されるページを切り替えることができる。また、一覧画像450には、現在電子黒板1a,1b,1cとの間で共有して表示されているページ(例えば、ページ2)を示す画像460が含まれている。
電子黒板1aの利用者A1が、表示画面400a上に表示された特定の操作ボタンである非同期ボタン430(図25(B)参照)を選択することで、受付部12aは、表示画面の非同期設定を受け付ける(ステップS102)。ここで、図25(B)に示されている非同期ボタン430は、表示画面400a上に常時表示されていてもよいし、表示画面400aに対して所定の入力操作が行われた場合に表示されてもよい。
次に、共有状態切替部22aは、ステップS102で非同期設定が受け付けられた場合、画面共有状態を非同期状態に変更する(ステップS103)。ここで、ステップ102における非同期ボタン430に対する選択操作は、非同期状態に移行するための特定の操作の一例である。特定の操作には、例えば、非同期ボタン430が選択した後に一覧画像450に示されている現在表示されているページとは異なるページが選択する操作、または特定のジェスチャ操作の後に、表示画面全体をスワイプすることによる表示画面に対するスワイプ操作等も含まれる。これにより、電子黒板1aは、他の電子黒板1b,1cとの間で表示画面を共有しない非同期状態へ移行する。
次に、通信部11aは、通信管理装置5に対して、電子黒板1aの画面共有状態を示す共有状態情報を送信する(ステップS104)。この共有状態情報には、電子黒板1aの端末IDおよび非同期状態である旨を示す非同期情報が含まれている。これにより、通信管理装置5の通信部51は、電子黒板1aから送信された共有状態情報を受信する。
画面共有状態管理部58は、ステップS104で共有状態情報が受信されると、画面共有状態管理DB5007(図15参照)に記憶された共有状態を更新する(ステップS105)。この場合、画面共有状態管理部58は、ステップS104で受信された端末IDに関連づけられている共有状態を、「同期」から「非同期」に変更する。次に、通信部51は、電子黒板1b,1cに対して、電子黒板1aの共有状態が更新されたことを示す更新情報を送信する(ステップS106,ステップS107)。この更新情報には、共有状態が更新された電子黒板1aの端末IDおよび更新後の共有状態の情報が含まれている。この場合、更新情報には、端末ID「01aa」および非同期状態である旨を示す非同期情報が含まれている。これにより、電子黒板1bの通信部11bおよび電子黒板1cの通信部11cは、通信管理装置5から送信された更新情報をそれぞれ受信する。
そして、電子黒板1aの利用者A1が、例えば、図25(A)に示されている一覧画像450に示されている現在表示されているページとは異なるページを選択することによって、表示制御部14aは、表示画面に示されるページを切り替える(ステップS108)。この場合、表示制御部14aは、例えば、図25(A)に示されているページ2から、図27(A)に示されているようページ1に表示画面400aを切り替える。この際、電子黒板1aがステップS103において非同期状態に移行しているため、電子黒板1b,1cでは、ページの切り替えは行われない。このように、電子黒板1aは、利用者A1の操作によって非同期状態に移行することで、他の電子黒板1b,1cとの間でページの切替操作を共有せずに、自拠点のみでページの切り替えを行うことができる。
次に、図26および図28を用いて、電子黒板1aが非同期状態の場合において、新たにストロークの描画が行われた処理について説明する。図26および図28は、実施形態に係る通信システムにおける非同期状態の電子黒板との間におけるストロークデータの共有処理の一例を示すシーケンス図である。図26は、画面共有状態が同期状態の電子黒板1cの利用者C1がストローク描画を行った場合の例を示す。
上述のように、非同期状態である電子黒板1aの表示画面400a(図27(A))には、ページ1が表示されている(ステップS201a)。図27(A)に示されている電子黒板1aの表示画面400a上には、電子黒板1aが非同期状態であることを示す非同期表示画像403が示されている。また、表示画面400a上の一覧画像450には、上述の画像460とともに、非同期状態である電子黒板1aに現在表示されているページを示す画像470が含まれている。これにより、電子黒板1aの利用者A1は、非同期状態においても、一覧画像450を確認することで、電子黒板1aに表示されているページと他の電子黒板1b,1cに共有して表示されているページを、容易に把握することができる。
一方で、電子黒板1bおよび電子黒板1cの表示画面400b,400c(図27(B))には、ページ2が表示されて共有されている(ステップS201b,201c)。図27(B)に示されている表示画面400b,400c上には、ステップS106またはステップS107で受信された非同期情報に基づいて、電子黒板1aが非同期状態である旨を示す非同期表示画像407が示されている。これにより、電子黒板1bの利用者B1,B2および電子黒板1cの利用者C1は、非同期表示画像407を確認することで、拠点Aの電子黒板1aが非同期状態であることを把握することができる。
そして、拠点Cにおいて、利用者C1が電子ペン190や手Hを電子黒板1cのディスプレイ180上に接触して移動させることで、電子黒板1cの受付部12cは、移動のストロークの入力を受け付ける(ステップS202)。画像処理部16cは、受付部12cによって入力が受け付けられたストロークに基づいて、2次元のディスプレイ180上にストローク画像を表示させるためのストロークデータを作成する(ステップS203)。そして、表示制御部14cは、電子黒板1cのディスプレイ180上に、ストローク画像を表示させる(ステップS204)。
通信部11cは、通信管理装置5に対して、ステップS203で作成されたストローク画像を再生するためのストロークデータを送信する(ステップS205)。これにより、通信管理装置5の通信部51は、電子黒板1cから送信されたストロークデータを受信する。そして、共有データ管理部57は、共有データ管理DB5006に、ステップS205によって受信されたストロークデータを記憶させる(ステップS206)。また、共有データ管理部57は、ステップS205によって受信されたストロークデータに対応するgidを採番する。
次に、通信部51は、電子黒板1aに対して、ステップS206によって記憶されたストロークデータ、および共有データ管理部57によって採番されたgidを送信する(ステップS207)。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信されたストロークデータおよびgidを受信する。
次に、電子黒板1aの判断部15aは、表示画面の共有状態を判断する(ステップS208)。判断部15aは、受信されたストロークデータが、表示画面400aに示されているページに関連づけられているデータであるかを判断する。この場合、受信されたストロークデータは、表示画面400aに現在表示されているページ1とは異なるページ2に関連づけられたデータである。そのため、判断部15aは、受信したストロークデータが表示画面400aに表示されているページとは異なるページに関連づけられたデータであると判断する。そして、電子黒板1aの表示画面管理部21aは、受信されたストロークデータを、表示画面管理DB1001aに記憶させる(ステップS209)。この場合、電子黒板1aは、ステップS208で受信したストロークデータが表示画面400aに表示されているページとは異なるページに関連づけられたデータであると判断されたため、すなわち非同期状態であるため、表示画面管理DB1001aに記憶させたストロークデータを、表示画面400aには反映させない。
通信管理装置5の通信部51は、電子黒板1bに対して、ステップS206によって記憶されたストロークデータ、および共有データ管理部57によって採番されたgidを送信する(ステップS210)。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたストロークデータおよびgidを受信する。そして、電子黒板1bの判断部15bは、表示画面の共有状態を判断する(ステップS211)。電子黒板1bは、受信されたストロークデータが、表示画面400bに示されているページに関連づけられているデータであるかを判断する。この場合、受信されたストロークデータは、表示画面400bに現在表示されているページ2に関連づけられたデータであるため、判断部15bは、受信したストロークデータが表示画面400bに表示されているページに関連づけられたデータであると判断する。表示画面管理部21bは、受信されたストロークデータを、表示画面管理DB1001bに記憶させる(ステップS212)。
そして、電子黒板1bの画像処理部16bは、通信部11bによって受信されたストロークデータに基づいて、ストローク画像を生成する(ステップS213)。そして、表示制御部14bは、ステップS213によって生成されたストローク画像を、電子黒板1bのディスプレイ180上に表示させる(ステップS214)。これにより、電子黒板1bは、電子黒板1cに描画されたストローク画像を、電子黒板1cとの間で共有して表示させることができる。
このように、電子黒板1cにおいてストロークの描画が行われた場合、非同期状態である電子黒板1aは、ストローク描画が行われたページ2を表示していないので、ストローク描画は見送られ、表示画面管理DB1001aへの処理の追加のみが行われる。一方で、同期状態が維持されている電子黒板1bには、電子黒板1cにおいた描画されたストロークに係るストローク画像が共有して表示される。なお、ステップS207〜ステップS209の処理とステップS210〜ステップS214の処理の順序は、前後してもよく、または並行して行われてもよい。
続いて、図28を用いて、画面共有状態が非同期状態の電子黒板1aの利用者A1がストローク描画を行った場合の例を示す。拠点Aにおいて、利用者A1が電子ペン190や手Hを電子黒板1aのディスプレイ180上に接触して移動させることで、電子黒板1aの受付部12aは、移動のストロークの入力を受け付ける(ステップS251)。画像処理部16aは、受付部12aによって入力が受け付けられたストロークに基づいて、2次元のディスプレイ180上にストローク画像を表示させるためのストロークデータを作成する(ステップS252)。表示画面管理部21aは、作成されたストロークデータを、表示画面管理DB1001aに記憶させる(ステップS253)。そして、表示制御部14aは、電子黒板1aのディスプレイ180上に、ストローク画像を表示させる(ステップS254)。
通信部11aは、通信管理装置5に対して、ステップS252で作成されたストローク画像を再生するためのストロークデータを送信する(ステップS255)。これにより、通信管理装置5の通信部51は、電子黒板1aから送信されたストロークデータを受信する。そして、共有データ管理部57は、共有データ管理DB5006に、ステップS255によって受信されたストロークデータを記憶させる(ステップS256)。また、共有データ管理部57は、ステップS255によって受信されたストロークデータに対応するgidを採番する。
次に、通信部51は、電子黒板1bに対して、ステップS256によって記憶されたストロークデータ、および共有データ管理部57によって採番されたgidを送信する(ステップS257)。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたストロークデータおよびgidを受信する。
電子黒板1bの判断部15bは、表示画面の共有状態を判断する(ステップS258)。具体的には、判断部15bは、受信されたストロークデータが、表示画面400bに示されているページに関連づけられているデータであるかを判断する。この場合、受信されたストロークデータは、表示画面400bに現在表示されているページ2とは異なるページ1に関連づけられたデータである。そのため、判断部15bは、受信したストロークデータが表示画面400bに表示されているページとは異なるページに関連づけられたデータであると判断する。
そして、電子黒板1bの表示画面管理部21bは、通信部11bによって受信されたストロークデータを、表示画面管理DB1001bに記憶させる(ステップS259)。この場合、電子黒板1bは、表示画面管理DB1001bに記憶させたストロークデータを、表示画面400bには反映させない。
同様に、通信部51は、電子黒板1cに対して、ステップS256によって記憶されたストロークデータ、および共有データ管理部57によって採番されたgidを送信する(ステップS260)。これにより、電子黒板1cの通信部11cは、通信管理装置5から送信されたストロークデータおよびgidを受信する。
電子黒板1cの判断部15cは、表示画面の共有状態を判断する(ステップS261)。判断部15cは、受信されたストロークデータが、表示画面400cに示されているページに関連づけられているデータであるかを判断する。この場合、ステップS258における電子黒板1bの例と同様に、判断部15cは、受信したストロークデータが表示画面400cに表示されているページとは異なるページに関連づけられたデータであると判断する。
そして、電子黒板1cの表示画面管理部21cは、通信部11cによって受信されたストロークデータを、表示画面管理DB1001cに記憶させる(ステップS262)。この場合、電子黒板1cは、表示画面管理DB1001cに記憶させたストロークデータを、表示画面400cには反映させない。
このように、非同期状態である電子黒板1aにおいてストロークの描画が行われた場合、非同期状態である電子黒板1b,1cは、ストローク描画が行われたページ1を表示していないので、表示画面管理DB1001b,1001cへの書き込み処理の追加のみを行う。なお、ステップS257〜ステップS259の処理とステップS260〜ステップS262の処理の順序は、前後してもよく、または並行して行われてもよい。
ここで、図29を用いて、図28に示されている処理が行われた場合に、電子黒板1b,1cに表示される表示画面400b,400cについて説明する。図29に示されている表示画面400b,400cは、非同期状態である電子黒板1aによってストロークが追加された場合に表示される画面例である。表示画面400b,400c上の一覧画像450には、表示画面400b,400cに現在表示されているページとは異なるページが更新された旨を示す画像480が示されている。すなわち、画像480は、非同期状態である他の電子黒板1(この場合、電子黒板1a)が電子黒板1b,1cに表示されているページとは異なるページを更新したことを示す。これにより、電子黒板1bの利用者B1,B2および電子黒板1cの利用者C1は、表示画面400b,400cに表示されているページ2とは異なるページ1が更新されたことを、ページの切り替えを行わずに把握することができるため、非同期状態である電子黒板1aにおいて行われた操作を適宜確認することができる。
次に、図30を用いて、画面共有状態が同期状態の電子黒板1によるページ切替処理について説明する。図30は、実施形態に係る通信システムにおける非同期状態の電子黒板との間における表示画面の切替処理の一例を示すシーケンス図である。図30は、電子黒板1cの利用者C1が表示画面400cに示されているページを切り替えた場合の例を示す。
上述のように、非同期状態である電子黒板1aの表示画面400a(図27(A))には、ページ1が表示されている(ステップS301a)。一方で、電子黒板1bおよび電子黒板1cの表示画面400b,400c(図29)には、ページ2が共有して表示されている(ステップS301b,301c)。
この状態において、電子黒板1cの利用者C1が、図29に示されている一覧画像450に示されている現在表示されているページとは異なるページを選択することによって、表示制御部14cは、表示画面に示されるページを切り替える(ステップS302)。この場合、表示制御部14cは、例えば、表示画面400cに表示されているページを、ページ2からページ3へ切り替える。そして、表示画面管理部21cは、表示画面管理DB1001cに記憶された会議情報を更新する(ステップS303)。この場合、表示画面管理部21cは、会議情報である会議ID「se01」に関連づけられている「current page」のデータを、ページ2(pag2)からページ3(pag3)に変更する。
次に、通信部11cは、通信管理装置5に対して、表示画面400cのページが切り替えられた旨を示すページ切替情報を送信する(ステップS304)。このページ切替情報には、切り替え前後のページ(例えば、ページ2およびページ3)を識別するページIDが含まれている。これにより、通信管理装置5の通信部51は、電子黒板1cから送信されたページ切替情報を受信する。
通信管理装置5の共有データ管理部57は、共有データ管理DB5006に記憶された会議情報を更新する(ステップS305)。この場合、共有データ管理部57は、ステップS304で受信されたページIDを用いて、会議情報である会議ID「se01」に関連づけられている「current page」のデータを、ページ2(pag02)からページ3(pag03)に変更する。次に、通信部51は、電子黒板1aに対して、ステップS304で受信されたページ切替情報を送信する(ステップS306)。これにより、電子黒板1aの通信部11aは、通信管理装置5から送信されたページ切替情報を受信する。
電子黒板1aの判断部15aは、表示画面の共有状態を判断する(ステップS307)。判断部15aは、受信されたページ切替情報に示されているページ切り替え前のページIDが、表示画面400aに示されているページのIDであるかを判断する。この場合、受信されたページIDは、表示画面400aに現在表示されているページ1とは異なるページ2のIDであるため、判断部15aは、受信されたページIDが表示画面400aに表示されているページとは異なるページのIDであると判断する。表示画面管理部21aは、通信部11aによって受信されたページ切替情報に基づいて、表示画面管理DB1001aに記憶された会議情報を更新する(ステップS308)。この場合、表示画面管理部21aは、ステップS306で受信されたページIDを用いて、会議情報である会議ID「se01」に関連づけられている「current page」のデータを、ページ2(pag2)からページ3(pag3)に変更する。この際に、電子黒板1aは、ステップS307で受信されたページIDが表示画面400aに表示されているページとは異なるページのIDと判断されたため、すなわち非同期状態であるため、表示画面400aに表示されているページの切り替えは行わない。
同様に、通信部51は、電子黒板1bに対して、ステップS304で受信されたページ切替情報を送信する(ステップS309)。これにより、電子黒板1bの通信部11bは、通信管理装置5から送信されたページ切替情報を受信する。電子黒板1bの判断部15bは、表示画面の共有状態を判断する(ステップS310)。判断部15bは、受信されたページ切替情報に示されているページ切り替え前のページIDが、表示画面400bに示されているページのIDであるかを判断する。この場合、受信されたページIDは、表示画面400bに現在表示されているページ2のIDであるため、判断部15bは、受信されたページIDが表示画面400bに表示されているページのIDであると判断する。表示画面管理部21bは、通信部11bによって受信されたページ切替情報に基づいて、表示画面管理DB1001bに記憶された会議情報を更新する(ステップS311)。この場合、表示画面管理部21bは、ステップS309で受信されたページIDを用いて、会議情報である会議ID「se01」に関連づけられている「current page」のデータを、ページ2(pag2)からページ3(pag3)に変更する。そして、表示制御部14bは、受信されたページ切替情報に基づいて、表示画面400bに表示されているページを切り替える(ステップS312)。この場合、表示制御部14bは、電子黒板1cと同様に、表示画面400cに表示されているページを、ページ2(page2)からページ3(page3)へ切り替える。これにより、電子黒板1bは、電子黒板1cによって行われたページの切替操作を共有することで、表示させるページの切り替えを行うことができる。
このように、電子黒板1cにおいてページの切り替えが行われた場合、非同期状態である電子黒板1aでは、ページの切り替えが行われずに、同期状態が維持されている電子黒板1bでは、電子黒板1bの操作に追随してページの切り替えが行われる。なお、ステップS306〜ステップS308の処理とステップS309〜ステップS312の処理の順序は、前後してもよく、または並行して行われてもよい。
ここで、図31を用いて、図30に示されている処理が行われた場合に、電子黒板1aおよび電子黒板1b,1cに表示される表示画面について説明する。図31(A)に示されている表示画面400aは、電子黒板1aが非同期状態であるため、電子黒板1cによってページの切り替えが行われた場合においても、ページ1が表示されたままの状態である。一方で、表示画面400a上の一覧画像450に含まれる画像460は、図27(A)のように、ページ2が共有されて表示されていることを示す状態から、ページ3が共有されて表示されていることを示す状態に変更されている。図31(B)に示されている表示画面400b,400cには、ページ2(page2)から切り替えられたページ3(page3)が表示されている。また、図31(A)に示されている表示画面400aと同様に、表示画面400b,400c上の一覧画像450に含まれる画像460は、ページ3が共有されて表示されていることを示す状態になっている。
このように、非同期状態である電子黒板1aの利用者A1は、他の電子黒板1b,1cにおいてページの切り替えが行われた場合であっても、現在表示されているページ1を継続して表示し続けることができるとともに、一覧画像450に含まれる画像460によって、他の電子黒板1b,1cにおいてページがページ2からページ3に切り替えられたことを確認することができる。
ここで、電子黒板1aの利用者A1の所定の操作によって、電子黒板1aの非同期状態が解除された場合、表示制御部14aは、図31(A)に示されている表示画面400aに表示されているページを、電子黒板1b,1cに現在表示されているページ3に切り替える構成であってもよい。この場合、電子黒板1aは、非同期状態が解除された旨を、通信管理装置5を介して、電子黒板1b,1cへ送信する。そして、電子黒板1b,1cは、表示画面400b,400c上に示されている非同期表示画像407を非表示、または電子黒板1aの同期中である旨のメッセージを表示させる。
また、電子黒板1b,1cは、図31(B)に示されているページ3が表示された表示画面400b,400cの表示を、ページ1に切り替えた場合、ページ1が更新された旨を示す画像480を非表示にする構成であってもよい。これにより、電子黒板1b,1cは、非同期状態である電子黒板1aにおいて更新された内容のうち、利用者B1,B2または利用者C1が未確認な内容のみに、画像480を表示させることができる。
従来、複数のページで構成される表示画面が共有される遠隔会議において、ある拠点の電子黒板に表示されているページが更新された場合、他拠点の通信端末に表示されているページも追随して更新されていた。そのため、例えば、遠隔会議中に利用者が自らの拠点のみで議論を行いたい場合等において、他拠点の電子黒板と共有せずに自拠点のみでページの更新を行うことができなかった。
そこで、電子黒板1aは、他の電子黒板1b,1cとの間で複数のページの共有中に、利用者A1が行ったページの切替操作を他拠点の電子黒板1b,1cに対して共有せず、自拠点の表示のみを切り替えることが可能な非同期状態に移行することができる。これにより、電子黒板1aの利用者A1は、他拠点の利用者の議論を妨げることなく、過去の議論や参考情報を確認することができるので、遠隔会議の効率を向上させることができる。
なお、図24乃至図31において、電子黒板1a,1b,1cの三拠点の間で遠隔会議が行われている場合の例を説明したが、遠隔会議が行われる拠点または電子黒板の数は、これに限られず、複数の拠点または電子黒板の間で遠隔会議が行われる構成であればよい。
●まとめ●
以上説明したように、本発明の一実施形態に係る電子黒板は、電子黒板1a(他の通信端末の一例)との間において表示画面を共有する電子黒板1b(通信端末の一例)である。電子黒板1bは、電子黒板1aから送信された、表示画面400bを構成する複数のページ(例えば、ページ1〜ページ3)に係るデータを受信し、複数のページが一覧表示された一覧画像450を表示画面400b上に表示させるとともに、当該複数のページのうちの第1のページ(例えば、ページ2)を電子黒板1aと共有してディスプレイ180(表示部の一例)に表示させる。そして、電子黒板1bは、第1のページとは異なる第2のページ(例えば、ページ1)を構成するデータが受信された場合、第2のページが更新された旨(例えば、画像480)を一覧画像450に表示させる。これにより、電子黒板1bの利用者B1,B2は、表示画面400bに表示されている第1のページとは異なる第2のページが更新されたことを、ページの切り替えを行わずに把握することができるため、非同期状態である電子黒板1aにおいて行われた操作を適宜確認することができる。そして、電子黒板1bは、表示画面400bを利用者B1,B2に確認させることで、遠隔会議の効率を向上させることができる。
また、本発明の一実施形態に係る電子黒板1b(通信端末の一例)は、表示画面400bを構成する複数のページ(例えば、ページ1〜ページ3)に係るデータを記憶し、電子黒板1a(他の通信端末の一例)と共有して表示されている第1のページ(例えば、ページ2)とは異なる第2のページ(例えば、ページ1)を構成するデータが受信された場合、第2のページを構成するデータを記憶し、第1のページをディスプレイ180(表示部の一例)に表示させる。これにより、電子黒板1bは、表示画面400bに表示されている第1のページとは異なる第2のページに対する操作が行われた場合、ページの切り替えは行わずに、更新された第2のページを構成するデータを記憶しておくことで、利用者B1,B2に更新された内容を適宜確認させることができる。
さらに、本発明の一実施形態に係る通信システムは、電子黒板1b(通信端末の一例)と、電子黒板1a(他の通信端末の一例)とを備える。電子黒板1aは、電子黒板1bとの間における画面共有に係る特定の操作を受け付けられた場合、電子黒板1aとの間における画面共有が停止された非同期状態に移行し、非同期状態において、電子黒板1aに表示された表示画面400aに対する操作の共有を停止する。これにより、本発明の一実施形態に係る通信システムは、電子黒板1aの利用者A1に対して、他拠点の利用者の議論を妨げることなく、過去の議論や参考情報を確認させることができるので、遠隔会議の効率を向上させることができる。
また、本発明の一実施形態に係る通信システムにおいて、電子黒板1a(他の通信端末)は、非同期状態において、電子黒板1aのディスプレイ180(表示部の一例)に、第2のページ(例えば、ページ1)を表示させるとともに、第1のページ(例えば、ページ2)が電子黒板1b(通信端末の一例)に表示されている旨(例えば、画像460)を示す一覧画像450を表示させる。これにより、本発明の一実施形態に係る通信システムは、非同期状態である電子黒板1aの利用者A1に対して、電子黒板1aに表示されているページと他の電子黒板1b,1cに共有して表示されているページを、容易に把握させることができる。
●補足●
上記で説明した実施形態の各機能は、一または複数の処理回路によって実現することが可能である。ここで、本実施形態における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウエアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPUおよび従来の回路モジュール等のデバイスを含むものとする。
また、上記で説明した実施形態の各種テーブルは、機械学習の学習効果によって生成されたものでもよく、関連づけられている各項目のデータを機械学習にて分類付けすることで、テーブルを使用しなくてもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが,データ識別等の判断に必要なアルゴリズムを,事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
これまで本発明の一実施形態に係る通信端末、通信システム、画面共有方法およびプログラムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。