以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●通信システムの概略●
●通信ルート
まず、図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は、一般的なコンピュータによって構築されており、図4に示されているように、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は、一般的なコンピュータによって構築されており、図4に示されているように、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カード等が挙げられる。また、記録媒体は、プログラム製品(Program Product)として、国内または国外へ提供されることができる。例えば、電子黒板1は、本発明に係るプログラムが実行されることで本発明に係る通信方法を実現する。
●通信システムの全体構成●
次に、図5を用いて、通信システムの全体構成について説明する。図5は、実施形態に係る通信システムのシステム構成の一例を示す図である。
図5において、電子黒板1aは拠点A、電子黒板1bは拠点Bに設置されている。例えば、拠点Aは日本の東京事業所で、拠点Bは中国の北京事業所である。拠点Aでは利用者A1が電子黒板1aを利用し、拠点Bでは利用者B1,B2が電子黒板1bを利用しているものとする。
さらに、電子黒板1a,1b、中継装置3、通信管理装置5、および画像保存装置7は、例えば、インターネットやLAN(Local Area Network)等の通信ネットワーク100を介して、相互にデータの送受信を行なうことができる。なお、通信ネットワーク100には、有線だけでなく、Wi-Fi(登録商標)等の無線による通信が行われる箇所があってもよい。
●通信システムの機能構成●
次に、図6乃至図11を用いて、本実施形態に係る通信システムの機能構成について説明する。図6は、実施形態に係る通信システムの機能構成の一例を示す図である。なお、図6では、図5に示されている各端末、装置およびサーバのうち、後述の処理または動作に関連しているものが示されている。
●電子黒板1の機能構成
まず、図6を用いて、電子黒板1a,1bの機能構成について説明する。なお、電子黒板1a,1bが有している機能は同様であるため、ここでは、電子黒板1が有している機能として説明する。電子黒板1は、通信部11、受付部12、画像・音処理部13、表示制御部14、判断部15、画像処理部16、近距離通信部18、表示画面管理部21および記憶・読出処理部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との間で共有される表示画面を構成する画面データを管理する機能である。
記憶・読出処理部19は、図3に示されているCPU101からの命令によって実行され、記憶部1000に各種データを記憶させ、または記憶部1000から各種データを読み出す機能である。記憶部1000には、他の端末との通信を行う際に受信される拠点画像データおよび音データが、受信される度に上書き記憶される。このうち、上書きされる前の拠点画像データによってディスプレイ180に画像が表示され、上書きされる前の音データによってスピーカ150から音声が出力される。さらに、記憶部1000には、ディスプレイ180に描画されたストローク画像に係るストロークデータ、およびディスプレイ180に表示された背景画像に係る背景画像データが記憶される。
○表示画面情報
図7は、実施形態に係る表示画面情報の一例を概略的に説明するための図である。図7は、表示画面管理DB1001に記憶されている電子黒板1に表示される表示画面の状態の一例のイメージを示している。
図7の例では、表示画面は、「会議」、「ページ(ページ1~4)」、「ストローク(ストローク1~5)」の階層構造を有している。「ストローク」は、本実施形態に係るストロークデータに対応しており、「ページ」毎に管理されている。また、「ページ」とは、ディスプレイ180に表示された1ページの画面(表示画面)に係る画像データが記憶された状態を示す。さらに、「会議」とは、電子黒板1によって実行されている会議の情報を示す。例えば、ストローク1には、ストローク1を識別するストロークID(id=aaaaa)、ストローク1が存在するページ1を特定するための情報(parent=pag04)、描画データ1のgid(global id)「g048」、および描画データ1等が含まれている。例えば、ストローク1が表すストローク画像に対して、移動等の操作が行われると、ストロークID(id=aaaaa)は、そのまま引き継がれるが、描画データ1と描画データ1を識別するgid「g048」は、更新される。描画データ1は、ストローク1を再現するための描画データである。描画データ1には、例えば、座標データ、線の幅データ、線の色データ、およびベクトルデータ等が含まれている。
電子黒板1は、ページの切り替えが可能であり、「ページ」は、電子黒板1の各ページに対応している。例えば、ページ1には、ページ1を識別するページID(id=pag01)、電子黒板1で実行されている「会議」を特定するための情報(parent=se01)、ページ(ページデータ)を識別するgid「g01」、および画像データ1等が含まれている。画像データ1は、ページ1を構成する背景画像の画像データである。すなわち、画像データ1は、ページ1に表示されている背景画像を示す。また、ページ2には、画像データが含まれていない。これは、ページ2が背景画像を有していない(空白の背景である)ことを意味する。
「会議」は、電子黒板1で実行されている会議に対応しており、会議を識別するための会議IDおよび会議(会議情報)のgid「g2」によって管理されている。また、電子黒板1が他の電子黒板との遠隔通信を行っている場合、会議IDは、セッションを識別するためのセッションID(id=se01)に対応している。例えば、電子黒板1の画像処理部16は、ストローク1~5に含まれている描画データ1~5を用いて、ページ4に描画されたストローク画像を生成することができる。なお、各階層に示されている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上に展開された中継用プログラムに従ったCPU301からの命令によって動作することで実現される機能、または機能する手段である。また、中継装置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および記憶・読出処理部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に記憶して管理する。
記憶・読出処理部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が関連づけられて管理される。例えば、図12に示されているセッション管理テーブルにおいて、セッションID「se01」を用いて実行された通信セッションで、中継装置(中継装置ID「111a」)は、端末IDが「01aa」の電子黒板と、端末IDが「01db」の電子黒板との間で、拠点画像データおよび音データを中継していることが示されている。
○中継装置管理テーブル
図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は、特定の通信セッションを用いたビデオ会議等によって発生したストロークデータを含む表示画面に関する各種データを管理することができる。
●画像保存装置の機能構成
続いて、図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に記憶された各種データを読み出す機能である。
●実施形態の処理または動作●
次に、図15乃至図22を用いて、本実施形態に係る通信システムにおける処理または動作を説明する。
●遠隔通信の準備段階の処理
まず、図15および図16を用いて、ログイン要求端末としての電子黒板1aが行なう通信の準備処理を説明する。図15は、電子黒板間で遠隔通信を開始する準備段階の処理の一例を示すシーケンス図である。図16は、電子黒板に表示される宛先リスト画面の一例を示す図である。なお、電子黒板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に対して、図16に示されているような宛先リスト画面800を表示させる(ステップS25)。この宛先リスト画面800には、宛先候補毎に、稼動状態を示すアイコン、端末ID、および宛先名が表示されている。図16では、各端末の稼動状態を示したアイコンが、上から「Offline」、「Online(通信可能)」として表示されている。
一方、通信管理装置5の端末管理部54は、電子黒板1aの端末ID「01aa」に基づいて宛先リスト管理テーブル(図11参照)を検索することにより、電子黒板1aを宛先候補として登録している他の端末の端末IDを抽出する(ステップS26)。図11に示されている宛先リスト管理テーブルでは、読み出される他の端末の端末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)。
●遠隔通信の開始処理
続いて、図17を用いて、電子黒板1aが電子黒板1bに対して遠隔通信を開始する処理を説明する。図17は、遠隔通信を開始する処理の一例を示すシーケンス図である。
まず、開始端末(電子黒板1a)の利用者A1が図16に示されている宛先候補(端末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を介して、拠点画像データおよび音データを送受信することで、ビデオ会議を行うことができる。
以下、本発明の実施形態に係る通信端末に対する操作の内容に応じた他の通信端末での該操作の共有について説明する。
本発明の実施形態では、ある種類の操作では第1の通信端末に対する操作を第2の通信端末に共有させず(例えば、即時に共有させず)、別の種類の操作では第1の通信端末に対する操作を第2の通信端末に共有させる(例えば、即時に共有させる)ことができる。
通信端末に対する操作は、通信端末に表示される画面に対して実行される操作である。例えば、通信端末に対する操作は、ストロークの追加、ストロークの消去、ストロークの移動、ストロークの拡大・縮小、ページの追加、ページの切り替え、ページの消去等である。
まず、図18を参照しながら、通信端末間で操作を共有する処理の流れについて説明する。
図18は、本発明の実施形態に係る操作(例えば、ストロークに関する操作)の通信端末(例えば、電子黒板)間での共有の一例を概略的に説明するための図である。例えば、利用者が電子黒板の画面に対して"ストロークaを移動する"という操作をしたとする(図18の(1))。そうすると、電子黒板は、該操作(つまり、"ストロークaを移動する"という操作)を画面に仮反映させる(具体的には、ストロークaが移動された画面を表示する)。次に、電子黒板は、該操作についての操作情報(図8参照)をサーバシステム6へ送信する(図18の(2))。次に、サーバシステム6は、受信した操作情報に対して、gid(global id)を採番する(図18の(3))。次に、サーバシステム6は、他の電子黒板および利用者によって操作された電子黒板へ、操作情報およびgidを送信する(図18の(4))。そうすると、他の電子黒板および利用者によって操作された電子黒板は、gidの順序にしたがって操作を画面に本反映させる(具体的には、ストロークaが移動された画面を表示する)。
次に、図19を参照しながら、通信端末間で操作を即時に共有する場合(つまり、他の通信端末に即時に操作を反映させる場合)と、通信端末間で操作を即時に共有しない場合(つまり、他の通信端末に即時に操作を反映させない場合)と、について説明する。
図19は、実施形態に係る即時反映する場合と即時反映しない場合を説明するための図である。図19の上部は、<即時反映する場合>を示し、図19の下部は、<即時反映しない場合>を示す。
<即時反映する場合>
図19に示されるように、<即時反映する場合>では、第1の通信端末は、利用者によって操作(例えば、ストロークに関する操作)されると、操作についての操作情報(図8参照)を即時にサーバシステム6へ送信する。サーバシステム6は、受信した操作情報を即時に第2の通信端末へ送信する。そのため、第2の通信端末は、第1の通信端末に対する操作を即時に表示する(つまり、第2の通信端末に即時に操作を反映させる)ことができる。以下、より具体的に説明する。
第1の通信端末(例えば、電子黒板)の記憶部1000には、通信端末に対する操作の種類(例えば、ストロークの追加、ストロークの消去、ストロークの移動、ストロークの拡大・縮小、ページの追加、ページの切り替え、ページの消去等)ごとに、即時反映する操作であるか即時反映しない操作であるかの情報が記憶されている。第1の通信端末の受付部12は、利用者から電子ペン190等による各種入力を受け付ける。第1の通信端末の画像処理部16は、受付部12によって受け付けられた操作に基づいて、描画する画面データ(つまり、操作が反映された画面データ)を生成する。第1の通信端末の表示制御部14は、画像処理部16によって生成された画面データをディスプレイ180に表示させる。第1の通信端末の判断部15は、記憶部1000を参照して、受付部12によって受け付けられた操作が即時反映する操作であるか即時反映しない操作であるかを判断する。即時反映する場合、第1の通信端末の通信部11は、受付部12によって受け付けられた操作の操作情報をサーバシステム6へ送信する。
なお、上記では、第1の通信端末の判断部15が判断する実施形態を説明したが、サーバシステム6が、第1の通信端末の判断部15と同様の機能を有する(つまり、サーバシステム6が判断部を備える)ようにしてもよい。
サーバシステム6の通信管理装置5の通信部51は、第1の通信端末から操作情報を受信すると、その操作情報を第2の通信端末へ送信する。
第2の通信端末(例えば、電子黒板)の通信部11は、第1の通信端末に対する操作の操作情報をサーバシステム6から受信する。第2の通信端末の画像処理部16は、通信部11によって受信された操作情報に基づいて、描画する画面データ(つまり、操作が反映された画面データ)を生成する。第2の通信端末の表示制御部14は、画像処理部16によって生成された画面データをディスプレイ180に表示させる。
<即時反映しない場合>
図19に示されるように、<即時反映しない場合>では、第1の通信端末は、利用者によって操作(例えば、ストロークに関する操作)されると、操作についての操作情報(図8参照)を第1の通信端末に記憶させる。つまり、第1の通信端末は、操作情報を送信しない。その後、所定の条件が満たされたときに、第1の通信端末は、記憶しておいた操作情報をサーバシステム6へ送信する。サーバシステム6は、受信した操作情報を即時に第2の通信端末へ送信する。つまり、所定の条件が満たされたときに、第1の通信端末が操作情報を送信する。以下、より具体的に説明する。
第1の通信端末(例えば、電子黒板)の記憶部1000には、通信端末に対する操作の種類(例えば、ストロークの追加、ストロークの消去、ストロークの移動、ストロークの拡大・縮小、ページの追加、ページの切り替え、ページの消去等)ごとに、即時反映する操作であるか即時反映しない操作であるかの情報が記憶されている。第1の通信端末の受付部12は、利用者から電子ペン190等による各種入力を受け付ける。第1の通信端末の画像処理部16は、受付部12によって受け付けられた操作に基づいて、描画する画面データ(つまり、操作が反映された画面データ)を生成する。第1の通信端末の表示制御部14は、画像処理部16によって生成された画面データをディスプレイ180に表示させる。第1の通信端末の判断部15は、記憶部1000を参照して、受付部12によって受け付けられた操作が即時反映する操作であるか即時反映しない操作であるかを判断する。即時反映しない場合、第1の通信端末の判断部15は、受付部12によって受け付けられた操作の操作情報を記憶部1000に記憶させる。その後、所定の条件が満たされたときに、第1の通信端末の通信部11は、受付部12によって受け付けられた操作の操作情報をサーバシステム6へ送信する。
サーバシステム6の通信管理装置5の通信部51は、第1の通信端末から操作情報を受信すると、その操作情報を第2の通信端末へ送信する。
第2の通信端末(例えば、電子黒板)の通信部11は、第1の通信端末に対する操作の操作情報をサーバシステム6から受信する。第2の通信端末の画像処理部16は、通信部11によって受信された操作情報に基づいて、描画する画面データ(つまり、操作が反映された画面データ)を生成する。第2の通信端末の表示制御部14は、画像処理部16によって生成された画面データをディスプレイ180に表示させる。
このように、本発明の実施形態では、通信端末1は、通信端末1に対する操作の種類ごとに、他の通信端末に即時に共有させる操作であるか他の通信端末に即時に共有させない操作であるかを予め記憶部1000に登録しておく。そして、通信端末1は、通信端末1に対して操作がなされたときに、その操作を他の通信端末に即時に共有させるべきか即時に共有させざるべきかを判断することができる。その後、通信端末1は、所定の条件が満たされたときに、未だ共有させていない操作を他の通信端末に共有させることができる。
なお、通信端末1は、例えば以下のような所定の条件が満たされたときに、記憶しておいた操作情報をサーバシステム6へ送信することができる。具体的には、通信端末1は、記憶部1000に、以下のような所定の条件の情報を記憶しておき、所定の条件が満たされたときに、記憶しておいた操作情報をサーバシステム6へ送信する。
<<所定の操作がなされたとき>>
通信端末1は、通信端末1に対して予め定められた操作(例えば、利用者が画面上の所定のボタンを押下する、利用者が所定のジェスチャーをする等)がなされると、記憶しておいた操作情報をサーバシステム6へ送信することができる。
<<所定の時間が経過したとき>>
通信端末1は、通信端末1に対する操作が所定の時間なされないと、記憶しておいた操作情報をサーバシステム6へ送信することができる。
<<即時に共有させる操作がなされたとき>>
通信端末1は、通信端末1に対して即時に共有させる操作がなされると、記憶しておいた操作情報をサーバシステム6へ送信することができる。
次に、図20を参照しながら、通信端末1で管理される表示画面情報について説明する。
図20は、実施形態に係る表示画面情報(ストロークの場合)の一例を示す図である。図8を参照しながら説明したように、表示画面情報は、ストロークを識別するストロークID(図20の例では、id=aaaaa)、ストロークが存在するページを特定するための情報(図20の例では、parent=bbbbb)、サーバシステム6が採番するgid(図20の例では、gid=g001)を有する。さらに、本発明の実施形態では、表示画面情報は、他の通信端末と操作を共有させているか共有させないないかを示すフラグ(例えば、syncフラグ)を有する。例えば、他の通信端末と操作を共有させている(つまり、操作情報を既にサーバシステム6へ送信済みである)場合には、syncフラグをtrueとし、他の通信端末と操作を共有させていない(つまり、操作情報を未だサーバシステム6へ未送信である)場合には、syncフラグをfalseとする。
図21は、実施形態に係る同期処理の一例を示すシーケンス図である。
ステップ101(S101)において、通信端末1の受付部12は、通信端末1に対する操作を受け付ける。例えば、通信端末1の受付部12は、利用者から電子ペン190等による各種入力を受け付ける。
ステップ102(S102)において、通信端末1の判断部15は、記憶部1000に記憶されている所定の条件の情報(上記の<<所定の操作がなされたとき>>の場合)を参照して、S101の操作が、記憶しておいた操作情報をサーバシステム6へ送信するための所定の操作であるか否かを判断する。所定の操作ではない場合には、ステップ103へ進み、所定の操作である場合には、ステップ105へ進む。
ステップ103(S103)において、通信端末1の判断部15は、記憶部1000に記憶されている即時反映する操作であるか即時反映しない操作であるかの情報を参照して、S101の操作が、即時反映する操作(つまり、他の通信端末に即時に共有させる操作)であるか即時反映しない操作(つまり、他の通信端末に即時に共有させない操作)であるかを判断する。即時反映しない場合にはステップ104へ進み、即時反映する場合にはステップ105へ進む。
ステップ104(S104)において、通信端末1の判断部15は、S101の操作の操作情報を記憶部1000に記憶させ、S101へ戻る。
ステップ105(S105)において、通信端末1の判断部15は、サーバシステム6へ未送信の操作情報が記憶部1000に存在するか否かを判断する。サーバシステム6へ未送信の操作情報がある場合にはステップ106へ進み、サーバシステム6へ未送信の操作情報がない場合には処理を終了する。
ステップ106(S106)において、通信端末1の判断部15は、記憶部1000に存在する未送信の操作情報をサーバシステム6へ送信する。
<<操作の登録方法>>
本発明の実施形態では、通信端末に対する操作の種類ごとに、即時反映する操作であるか即時反映しない操作であるかの情報が通信端末1の記憶部1000に記憶されている。例えば、通信端末1の利用者は、図22のような画面で即時反映の操作を設定することができる。
図22は、実施形態に係る即時反映の操作を設定する画面の一例を示す図である。利用者は、図22のような画面で、即時反映する操作(あるいは即時反映しない操作)を選択して登録することができる。例えば、即時反映の操作の設定は、電子黒板を用いて遠隔会議を開始する前に行う構成とすることもできるし、遠隔会議の途中で適宜利用者が行う構成とすることもできる。
<<操作の一部のみの共有>>
本発明の実施形態では、即時反映しない操作の操作情報をサーバシステム6へ送信する際に、該操作のうちの一部の操作の操作情報をサーバシステム6へ送信する構成とすることもできる。例えば、通信端末1の利用者は、図23のような画面でサーバシステム6へ送信する操作(つまり、他の通信端末に共有させる操作)を選択することができる。
図23は、実施形態に係る操作データの一部のみを共有する画面の一例を示す図である。利用者は、図23のような画面で、サーバシステム6へ送信する操作(つまり、他の通信端末に共有させる操作)を選択する(図23の例では、点線で囲む)ことができる。
<<他の通信端末との操作の共有状況の通知>>
本発明の実施形態では、他の通信端末と操作が共有されていないときに、通信端末1にその旨を通知する画面を表示する構成とすることもできる。例えば、通信端末1の利用者は、図24のような画面で操作(例えば、利用者が現在入力中の文字)が他の通信端末には共有されていないことを知ることができる。
図24は、実施形態に係る他の通信端末と操作が共有されていないことを通知する画面の一例を示す図である。利用者は、図24のような画面で、現在の操作が他の通信端末には共有されていないことを知ることができる。
<<操作の競合の発生>>
以下、通信端末に対する操作の操作情報がサーバシステム6へ未送信であるときに、他の通信端末に対して操作がなされた場合(つまり、操作の競合が発生した場合)について説明する。
図25は、実施形態に係る競合解消の処理の一例を示すフローチャートである。
ステップ201(S201)において、通信端末1の通信部11は、操作情報をサーバシステム6から受信する。
ステップ202(S202)において、通信端末1の判断部15は、通信端末1の記憶部1000内に、S201の操作情報のIDと同一のIDを有する操作情報が記憶されているか否かを判断する。記憶されていない場合にはステップ203へ進み、記憶されている場合にはステップ207へ進む。
ステップ207では、操作の競合が発生しているか否かが判断される。具体的には、S207において、通信端末1の判断部15は、S202の同一のIDを有する操作情報についての表示画面情報のフラグ(図20参照)を参照して、S201の操作が他の通信端末と共有されているか共有されていないかを判断する。共有されている(例えば、syncフラグがtrue)場合にはステップ203へ進み、共有されていない(例えば、syncフラグがfalse)場合にはステップ204へ進む。
ステップ203(S203)において、通信端末1の画像処理部16は、S201で通信部11によって受信された操作情報に基づいて、描画する画面データを生成する。通信端末1の表示制御部14は、画像処理部16によって生成された画面データをディスプレイ180に表示させる。
ステップ204(S204)において、通信端末1の画像処理部16は、図26で説明するような競合発生時の解消パターンを選択する画面の画面データを生成する。通信端末1の表示制御部14は、画像処理部16によって生成された画面データをディスプレイ180に表示させる。
ステップ205(S205)において、通信端末1の受付部12は、解消パターンの選択(つまり、自身の通信端末1の操作を反映するか、他の通信端末1の操作を反映するか)を受け付ける。
ステップ206(S206)において、通信端末1の判断部15は、S205で選択された解消パターンにしたがって、競合解消のための処理を行う。
以下、競合解消のための処理について詳細に説明する。
自身の通信端末の操作を反映する場合、通信端末1の判断部15は、記憶部1000内に記憶されている、自身の通信端末に対する操作の操作情報(つまり、S201の操作情報のIDと同一のIDを有する操作情報)を、他の通信端末に対する操作(つまり、S201で受信した操作情報の操作)がなされた後の状態から自身の通信端末に対する操作(つまり、S201の操作情報のIDと同一のIDを有する操作情報の操作)がなされた後の状態へと操作する操作情報に変更する。そして、通信端末1の通信部11は、変更された操作情報をサーバシステム6へ送信する。その結果、通信端末1に対する操作が、他の通信端末に反映されることとなる。
他の通信端末の操作を反映する場合、通信端末1の判断部15は、記憶部1000内に記憶されている、自身の通信端末に対する操作の操作情報(つまり、S201の操作情報のIDと同一のIDを有する操作情報)を削除する。その結果、他の通信端末に対する操作が、通信端末1に反映されることとなる。
図26は、実施形態に係る競合発生時の解消パターンを選択する画面の一例を示す図である。例えば、図25のS204において、通信端末1は、図26の下部に示す画面を表示する。
例えば、自拠点(例えば、第1の通信端末)と他拠点(例えば、第2の通信端末)に図26の左上[変更前]のような画面が表示されているときに、自拠点の利用者が、第1の通信端末に対して、図26の中央上[自拠点の変更]の状態に変更する操作をしたとする。自拠点での変更の操作情報がサーバシステム6へ未送信であるときに、他拠点の利用者が、第2の通信端末に対して、図26の右上[他拠点の変更]の状態に変更する操作をしたとする。そうすると、操作の競合が発生する。このとき、第1の通信端末上に、図26の下部に示す競合発生時の解消パターンを選択する画面が表示される。解消パターンは、自拠点の変更を反映する、他拠点の変更を反映する、の2つである。このように、通信端末1の利用者は、自拠点の変更(つまり、自分の操作)を反映するか、他拠点の変更(つまり、他の者の操作)を反映するかを選択することができる。
●まとめ●
以上説明したように、本発明の一実施形態では、通信端末に対する操作の内容に応じて、他の通信端末に操作を即時に共有させないようにしたり、他の通信端末に操作を即時に共有させたりすることができる。
●補足●
上記で説明した実施形態の各機能は、一または複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウエアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、上記で説明した実施形態の各種テーブルは、機械学習の学習効果によって生成されたものでもよく、関連づけられている各項目のデータを機械学習にて分類付けすることで、テーブルを使用しなくてもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが,データ識別等の判断に必要なアルゴリズムを,事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
これまで本発明の一実施形態に係る通信端末、通信システム、通信方法およびプログラムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。