(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177885
(43)【公開日】2024-12-24
(54)【発明の名称】仮想空間システム、情報処理システム、同期方法、電子黒板
(51)【国際特許分類】
G09G 5/00 20060101AFI20241217BHJP
G06F 3/01 20060101ALI20241217BHJP
G09G 5/08 20060101ALI20241217BHJP
G09G 5/14 20060101ALI20241217BHJP
G09G 5/377 20060101ALI20241217BHJP
H04L 67/131 20220101ALI20241217BHJP
【FI】
G09G5/00 555D
G06F3/01 510
G09G5/00 510V
G09G5/00 510H
G09G5/08 D
G09G5/00 550B
G09G5/14 A
G09G5/00 530T
G09G5/377 100
H04L67/131
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023096272
(22)【出願日】2023-06-12
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】藤岡 進
【テーマコード(参考)】
5C182
5E555
【Fターム(参考)】
5C182AA03
5C182AA04
5C182AB04
5C182AB06
5C182AB08
5C182AB12
5C182AB14
5C182AB21
5C182AB31
5C182AB33
5C182AB37
5C182AC02
5C182AC12
5C182AC33
5C182AC38
5C182AC39
5C182BA03
5C182BA06
5C182BA65
5C182BB02
5C182BB03
5C182BB11
5C182BB21
5C182BB28
5C182BC25
5C182BC26
5C182CB52
5C182CB54
5C182CC11
5C182CC21
5C182DA44
5C182DA65
5C182DA68
5E555AA29
5E555AA61
5E555BA08
5E555BA13
5E555BA28
5E555BB08
5E555BB13
5E555BB28
5E555BC17
5E555BD09
5E555BE17
5E555DA08
5E555DA09
5E555DB33
5E555DB42
5E555DB43
5E555DC13
5E555FA00
(57)【要約】
【課題】仮想空間に表示されている複数の仮想電子黒板表示データからユーザが選択した仮想電子黒板表示データを現実の電子黒板と同期させること。
【解決手段】本発明は、仮想空間に表示された表示データを、現実の電子黒板に表示させる仮想空間システムであって、前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データを、前記電子黒板が表示する画面データと同期させる同期制御部、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
仮想空間に表示された表示データを、現実の電子黒板に表示させる仮想空間システムであって、
前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データを、前記電子黒板が表示する画面データと同期させる同期制御部、
を有する仮想空間システム。
【請求項2】
前記同期制御部は、前記仮想空間に表示されている複数の前記表示データから任意の前記表示データの選択を受け付け、
選択を受け付けた前記表示データを、前記電子黒板が表示する前記画面データと同期させる請求項1に記載の仮想空間システム。
【請求項3】
前記仮想空間システムは情報処理システムを有し、
前記情報処理システムは前記仮想空間で表示される表示データを表示するデバイスと通信し、
前記情報処理システムは前記デバイスから送信されたコマンドに基づいて、前記表示データを指し示すポインターを前記仮想空間に表示させるバーチャル表示制御部を有し、
前記ポインターが前記仮想空間にある前記表示データと重なった状態で所定の操作情報を前記デバイスから受信した場合、前記同期制御部は、前記ポインターと重なっている前記表示データを前記電子黒板が表示する前記画面データと同期させる請求項1又は2に記載の仮想空間システム。
【請求項4】
所定の前記操作情報は、前記デバイスと通信するコントローラのボタンを長押しする操作を含む、請求項3に記載の仮想空間システム。
【請求項5】
前記仮想空間システムは情報処理システムを有し、
前記情報処理システムは前記仮想空間にある任意の表示データを表示するデバイスと通信し、
前記情報処理システムは前記デバイスから送信されたコマンドに基づいて、前記表示データを指し示すポインターを前記仮想空間に表示させるバーチャル表示制御部を有し、
前記ポインターが前記仮想空間に表示されている前記表示データと重なった場合に、前記バーチャル表示制御部は該表示データを強調して表示し、
前記同期制御部は、該表示データを強調して表示している状態で、所定の操作情報を前記デバイスから受信した場合、前記ポインターと重なっている前記表示データを前記電子黒板が表示する前記画面データと同期させる請求項1又は2に記載の仮想空間システム。
【請求項6】
前記仮想空間に複数の前記表示データが表示されており、前記同期制御部が、第一の表示データを前記電子黒板と同期させている場合に、
第二の表示データを前記電子黒板と同期させる所定の前記操作情報を受信した場合、前記同期制御部は、前記第二の表示データを前記電子黒板と同期させる所定の前記操作情報を無効にする請求項3に記載の仮想空間システム。
【請求項7】
前記同期制御部が、前記第一の表示データを前記電子黒板と同期させている場合であっても、
前記電子黒板からペンアップを受信してから所定の時間が経過した後に、前記第二の表示データを前記電子黒板と同期させる所定の前記操作情報を受信した場合、前記同期制御部は、前記操作情報を無効にせず、前記第二の表示データを前記電子黒板が表示する前記画面データと同期させる請求項6に記載の仮想空間システム。
【請求項8】
前記仮想空間に生成された仮想電子黒板のリストを前記電子黒板に送信し、
前記電子黒板において選択された前記仮想電子黒板の識別情報を受信した場合、前記同期制御部は、前記仮想電子黒板の識別情報で特定される前記表示データの選択を受け付け、
選択を受け付けた前記表示データを前記電子黒板が表示する画面データと同期させる請求項1に記載の仮想空間システム。
【請求項9】
前記仮想空間に表示されている1つ以上の前記表示データのサムネイル画像を前記電子黒板に送信し、
前記電子黒板において選択された前記表示データの識別情報を受信した場合、前記同期制御部は、選択された前記表示データの識別情報に対応付けられている前記表示データを前記電子黒板が表示する画面データと同期させる請求項8に記載の仮想空間システム。
【請求項10】
前記同期制御部が前記第一の表示データを前記電子黒板と同期させた後に、
第二の表示データを前記電子黒板と同期させる場合、
前記同期制御部は、前記第二の表示データが前記電子黒板が表示していない表示データであっても、前記仮想空間で更新された前記表示データを前記電子黒板に送信することで同期させる請求項7に記載の仮想空間システム。
【請求項11】
前記電子黒板は、ユーザの操作に応じて、前記電子黒板が表示している表示データから、前記電子黒板が表示していない表示データに切り替えて表示する請求項10に記載の仮想空間システム。
【請求項12】
前記同期制御部が、ユーザにより選択された前記表示データを、前記電子黒板が表示する前記画面データと同期させた場合、
前記電子黒板に手書きされた描画データを、ユーザにより選択された前記表示データに重ねて表示する請求項1に記載の仮想空間システム。
【請求項13】
端末装置から受信した、前記端末装置がディスプレイに表示する画面データが前記仮想空間に表示されており、
前記表示データは、前記画面データがコピーされたものであり、
前記同期制御部は、ユーザにより前記画面データがコピーされた前記表示データが選択された場合、選択された前記表示データを前記電子黒板の画面データと同期させる請求項1に記載の仮想空間システム。
【請求項14】
仮想空間に表示された表示データを、現実の電子黒板に表示させる情報処理システムであって、
前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データを、前記電子黒板が表示する画面データと同期させる同期制御部、
を有する情報処理システム。
【請求項15】
仮想空間に表示された表示データを、現実の電子黒板に表示させる仮想空間システムが行う同期方法であって、
前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データを、前記電子黒板が表示する画面データと同期させる、同期方法。
【請求項16】
仮想空間に表示された表示データを、現実の電子黒板に表示させる仮想空間システムとネットワークを介して通信できる電子黒板であって、
前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データと前記電子黒板が表示する画面データを同期させるため、前記表示データを受信するLAN通信制御部と、
前記LAN通信制御部が受信した前記表示データをディスプレイに表示する表示制御部と、
を有する電子黒板。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間システム、情報処理システム、同期方法、及び電子黒板に関する。
【背景技術】
【0002】
PC(Personal Computer)の画面や電子黒板の画面を仮想空間に表示させ、ユーザはVR(Virtual Reality)ゴーグルを装着して仮想空間の画面を見ながら会議などの業務を可能にする技術が知られている。従来のオンライン会議などではPCの画面に電子黒板などの画面も表示させる必要があるが、仮想空間(VRゴーグルの視界の中)ではPCの画面や電子黒板の画面等をそれぞれ表示させることができる。
【0003】
仮想空間に表示される電子黒板の画面を現実の電子黒板の画面と連携させる技術が知られている(例えば、特許文献1参照)。特許文献1には、現実の電子黒板への手書きによる描画データを仮想空間内の電子黒板の画面に反映させる技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、仮想空間に複数の仮想電子黒板表示データが表示されている場合、現実の電子黒板への書き込みを同期させる仮想電子黒板表示データをユーザが選択できないという問題がある。現実の電子黒板が1つしかなくても、仮想空間には複数の電子黒板を生成可能なため、現実の電子黒板を仮想空間内のどの電子黒板と同期させるかをユーザが選択できないと種々の不都合が生じる。
【0005】
本発明は、上記課題に鑑み、仮想空間に表示されている複数の仮想電子黒板表示データからユーザが選択した仮想電子黒板表示データを現実の電子黒板と同期させる技術を提供する。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、仮想空間に表示された表示データを、現実の電子黒板に表示させる仮想空間システムであって、前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データを、前記電子黒板が表示する画面データと同期させる同期制御部、を有する。
【発明の効果】
【0007】
仮想空間に表示されている複数の仮想電子黒板表示データからユーザが選択した仮想電子黒板表示データを現実の電子黒板と同期させることができる。
【図面の簡単な説明】
【0008】
【
図1】仮想空間システムの一例のシステム構成図である。
【
図2】電子黒板の一例のハードウェア構成図である。
【
図3】バーチャル会議サーバ及びノートPCの一例のハードウェア構成図である。
【
図4】VRゴーグルの一例のハードウェア構成図である。
【
図5】VR用操作コントローラの一例のハードウェア構成図である。
【
図6】バーチャル会議サーバ、ノートPC、電子黒板、VRゴーグル、及び、VR用操作コントローラの機能をブロックに分けて説明する一例の機能ブロック図である。
【
図7】ユーザAがバーチャル会議スペースにおける会議を開始するまでの処理を説明する一例のシーケンス図である。
【
図8】ユーザBがバーチャル会議スペースにおける会議に参加するまでの処理を説明する一例のシーケンス図である。
【
図9】バーチャル会議スペースに表示される一例のメニュー一覧画面を示す図である。
【
図10】バーチャル会議スペースに表示された一例のノートPC表示データを示す図である。
【
図11A】ユーザAが仮想電子黒板表示データの画面を電子黒板に表示するために、ポインターを仮想電子黒板表示データに移動させる操作の一例のシーケンス図である(その1)。
【
図11B】ユーザAが仮想電子黒板表示データの画面を電子黒板に表示するために、ポインターを仮想電子黒板表示データに移動させる操作の一例のシーケンス図である(その2)。
【
図12】VRゴーグルにより閲覧可能な、バーチャル会議スペースに表示された一例の問い合わせ画面を示す図である。
【
図13】手書きされた描画データが表示された電子黒板とバーチャル会議スペースの表示例を示す図である。
【
図14】ユーザがポインターを仮想電子黒板に重ねることで枠が強調表示された一例の仮想電子黒板表示データを示す図である。
【
図15】バーチャル会議スペースに表示された一例のメッセージを示す図である。
【
図16】バーチャル会議スペースに表示された一例の同期確認画面250を示す図である。
【
図17】バーチャル会議サーバの一例の機能構成図である。
【
図18】バーチャル会議スペースに表示させている仮想電子黒板表示データのサムネイル画像を電子黒板が表示する処理を説明する一例のシーケンス図である。
【
図19】電子黒板が有する一例の仮想ホワイトボード一覧表示ボタンを示す図である。
【
図20】電子黒板が表示した仮想電子黒板表示データの一例のサムネイル画像を示す図である。
【
図21】ユーザがディスプレイに表示させる仮想電子黒板表示データを切り替える操作を説明する図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として仮想空間システムと、仮想空間システムが行う同期方法について図面を参照しながら説明する。
【0010】
<用語について>
電子黒板とは、タッチパネルを利用して手書きされた文字や図形などをリアルタイムにディスプレイ等に表示する機器である。電子黒板はネットワークに接続する機能を有したり、手書きされた文字をOCRにてフォントデータに変換したりする機能などを有していてよい。
【0011】
画面データとは、電子黒板やPCがディスプレイ(画面)に表示している画面を構成するデータである。画面データは画面から取り込まれた画像データでもよい。
【0012】
同期とは、2つ以上の異なる機器間で、データやファイルを同じ状態に保つことをいう。本実施形態では、同期は、仮想空間の電子黒板の表示データと現実の電子黒板の画面データを実用的な遅延(例えばリアルタイム)で同じ状態に保つことである。
【0013】
リアルタイムとは、何らかの状況変化に応じて、その変化とほぼ同時とみなせる許容時間の範囲内で、コンピュータが何らかの処理を行うことをいう。
【0014】
仮想空間とは、例えば360°の3次元空間をコンピュータで再現した仮想的な空間である。仮想空間は、ネットワーク上で人々が現実世界のように交流を持ったり社会的な営みを行ったりする場であることを、物理的な空間に例えた用語である。本実施形態では、主に仮想空間により会議室が再現されるが、仮想空間は任意の3次元空間を再現できる。また、本実施形態では、平面的である表示データが表示されればよいので仮想空間は2次元空間でもよい。
【0015】
仮想電子黒板表示データは、電子黒板が表示する画面データが、仮想空間で表示されたものをいう。したがって仮想電子黒板表示データは電子黒板が表示する画面データと同じものである。
【0016】
ユーザによる操作情報とは、VR用操作コントローラや電子黒板などの操作に関し、ユーザが同期させる仮想電子黒板表示データを選択する操作に関するものであればよい。
【0017】
ポインターとは、コンピュータの操作画面で入力位置を示すカーソルのひとつで、例えば矢印の形をしたアイコンのことをいう。ポインターは、通常は矢印の形をしている場合が多いが、コンピュータの状態やマウスポインタの位置に応じてカーソルの形状が変化することもある。
【0018】
仮想空間をユーザが閲覧するための表示装置は、本実施形態では、VRゴーグルという用語で説明される。VRゴーグルはAR(Augmented Reality)ゴーグル、又は、MR(Mixed Reality)ゴーグルでもよい。
【0019】
[第一実施形態]
<システム構成例>
図1は、仮想空間システム300のシステム構成図である。仮想空間システム300には、バーチャル会議サーバ1とネットワークNを介して、会議室17や自宅18のWi-Fiルータ3,10、及び、電子黒板2が通信可能に接続されている。また、Wi-Fiルータ3,10にはノートPC4,11,14が通信可能に接続できる。ネットワークNは例えばインターネットであるが、社内ネットワークなどオンプレミスネットワークでもよい。
【0020】
バーチャル会議サーバ1は一台以上の情報処理装置を有する情報処理システムである。バーチャル会議サーバ1はメモリ上にバーチャル会議スペース8のデータを記憶してバーチャル会議アプリを実行する。以降、バーチャル会議サーバ1にて実行されるバーチャル会議アプリが提供するサービスをバーチャル会議サービスと称する。また、バーチャル会議スペース8とは、会議室を仮想空間で模倣した例えば360°の3次元空間である。VRゴーグル5,12,15は仮想空間にある任意の表示データを表示するものであり、会議の参加者はVRゴーグル5,12,15によりバーチャル会議スペース8の任意の視点を閲覧できる。参加者はあたかも会議室に入室しているかのように会議室内に配置された機器の画面を見ることができる。
【0021】
バーチャル会議スペース8は、現実の電子黒板2から取得した画面であってこの画面と同期する仮想空間上の電子黒板(以降、仮想電子黒板40と呼ぶ)の画面を有する。バーチャル会議スペース8は、ノートPC4,11,14から取得した画面であってこの画面と同期する仮想空間上のノートPC(以降、仮想ノートPCと呼ぶ)の画面を有する。バーチャル会議スペース8において仮想電子黒板40の画面データを仮想電子黒板表示データ9c,9dといい、ノートPC4,11,14の画面データをPC表示データ9a,9bという。
図1では、仮想電子黒板40と仮想電子黒板表示データ9c,9dを同じものとして示した。なお、仮想電子黒板表示データ9c,9d、及び、PC表示データ9a,9bを区別しない場合、バーチャル会議スペース8に表示されるデータを表示データ9という。
【0022】
会議室17には電子黒板2とWi-Fiルータ3が設置されており、ユーザAがノートPC4、VRゴーグル5、及び、VR用操作コントローラ6を持参して会議室17にいる。電子黒板2とWi-Fiルータ3はネットワークNに接続されている。ノートPC4とVRゴーグル5は、Wi-Fiルータ3と無線LANで通信する。VRゴーグル5とVR用操作コントローラ6は例えばBluetooth(登録商標。以下省略する)で接続されている。Bluetoothは無線LANでもよい。ノートPC4とVRゴーグル5もBluetooth(無線LANでもよい)で接続されている。また、ノートPC4と電子黒板2との間もBluetooth(無線LANでもよい)で接続されている。
【0023】
ユーザCはノートPC14、VRゴーグル15、及び、VR用操作コントローラ16を持参して会議室にいる。ノートPC14とVRゴーグル15は、Wi-Fiルータ3と無線LANで通信する。VRゴーグル15とVR用操作コントローラ16は例えばBluetooth(無線LANでもよい)で接続されている。ノートPC14とVRゴーグル15もBluetooth(無線LANでもよい)で接続されている。また、ノートPC14と電子黒板2との間もBluetooth(無線LANでもよい)で接続されている。
【0024】
会議室17にある電子黒板2とノートPC4,14はそれぞれバーチャル会議アプリを実行している。バーチャル会議アプリはネイティブアプリでもWebアプリでもよい。
【0025】
一方、ユーザBは自宅18から会議に参加する。自宅18にはWi-Fiルータ10が設置されている。ユーザBはノートPC11、VRゴーグル12、及び、VR用操作コントローラ13を使用している。ユーザBの自宅18にあるWi-Fiルータ10は、ネットワークNと通信可能に接続されている。
【0026】
ユーザBのノートPC11とVRゴーグル12はWi-Fiルータ10と無線LANで通信する。VRゴーグル12とVR用操作コントローラ13はBluetooth(無線LANでもよい)で接続されている。また、ノートPC11とVRゴーグルもBluetooth(無線LANでもよい)で接続されている。ユーザBのノートPC11はバーチャル会議アプリを実行している。
【0027】
なお、ノートPC4,11,14はユーザが操作する端末装置の一例である。ノートPC4,11,14は、単なるPC、タブレット端末、スマートフォン、PDA(Personal Digital Assistant)等、通信機能を備えバーチャル会議アプリが動作する情報処理装置であればよい。
【0028】
図1のような構成では、現実の電子黒板2が1つしかなくても、バーチャル会議スペース8には複数の仮想電子黒板をユーザが生成できる。仮に、現実の電子黒板2を仮想空間内のどの仮想電子黒板と同期させるかをユーザが選択できないと、ユーザが意図しない仮想電子黒板に、電子黒板2に手書きされた描画データが反映されるおそれがある。また、電子黒板2と同期する仮想電子黒板表示データが固定されてしまう。
【0029】
<ハードウェア構成例>
<<電子黒板>>
図2は、電子黒板2のハードウェア構成図である。
図2に示されているように、電子黒板2は、CPU(Central Processing Unit)401、ROM(Read Only Memory)402、RAM(Random Access Memory)403、SSD(Solid State Drive)404、ネットワークI/F405、及び、外部機器接続I/F(Interface)406を備えている。
【0030】
これらのうち、CPU401は、電子黒板2全体の動作を制御する。ROM402は、IPL(Initial Program Loader)等のOSの起動に用いられるプログラムを記憶する。RAM403は、CPU401のワークエリアとして使用される。SSD404は、電子黒板2用のプログラム等の各種データを記憶する。ネットワークI/F405は、通信ネットワークとの通信を制御する。外部機器接続I/F406は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリ430、外付け機器(マイク440、スピーカ450、カメラ460)である。
【0031】
また、電子黒板2は、キャプチャデバイス411、GPU412、ディスプレイコントローラ413、接触センサ414、センサコントローラ415、電子ペンコントローラ416、近距離通信回路419、及び近距離通信回路419のアンテナ419a、電源スイッチ422及び選択スイッチ類423を備えている。
【0032】
これらのうち、キャプチャデバイス411は、外付けのPC470のディスプレイの表示情報を静止画又は動画として表示させる。GPU(Graphics Processing Unit)412は、グラフィクスを専門に扱う半導体チップである。ディスプレイコントローラ413は、GPU412からの出力画像をディスプレイ480等へ出力するために画面表示の制御及び管理を行う。接触センサ414は、ディスプレイ480上に電子ペン490やユーザの手H等が接触したことを検知する。センサコントローラ415は、接触センサ414の処理を制御する。接触センサ414は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ480の上側両端部に設置された2つ受発光装置が、ディスプレイ480に平行して複数の赤外線を放射し、ディスプレイ480の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ414である受発光装置は、物体によって赤外線が遮断された位置(受光素子上の位置)をセンサコントローラ415に出力し、センサコントローラ415が、これらの2つの受光素子上の赤外線の遮断位置情報から物体の接触位置である座標位置を特定する。電子ペンコントローラ416は、電子ペン490とBluetooth通信することで、ディスプレイ480へのペン先のタッチやペン尻のタッチの有無を判断する。近距離通信回路419は、NFC(Near Field Communication)やBluetooth(登録商標)等の通信回路である。電源スイッチ422は、電子黒板2の電源のON/OFFを切り換えるためのスイッチである。選択スイッチ類423は、例えば、ディスプレイ480の表示の明暗や色合い等を調整するためのスイッチ群である。
【0033】
更に、電子黒板2は、バスライン410を備えている。バスライン410は、
図2に示されているCPU401等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0034】
なお、接触センサ414は、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネルでもよい。接触センサ414は、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネルでもよい。接触センサ414は、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルでもよい。この他、接触センサ414は種々の検出手段を用いてもよい。また、電子ペンコントローラ416が、電子ペン490のペン先及びペン尻だけでなく、電子ペン490のユーザが握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
【0035】
<<バーチャル会議サーバ及びノートPC>>
図3は、バーチャル会議サーバ1及びノートPC4,11,14の一例のハードウェア構成を示す図である。
図3に示されているように、バーチャル会議サーバ1及びノートPC4,11,14はコンピュータ500によって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、光学ドライブ514、メディアI/F516を備えている。
【0036】
これらのうち、CPU501は、バーチャル会議サーバ1及びノートPC4,11,14全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、
図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0037】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光記憶媒体513に対する各種データの読み出し又は書き込みを制御する。なお、光記憶媒体513は、CD,DVD、Blu-ray(登録商標)等でよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0038】
<<VRゴーグル>>
図4は、VRゴーグル5,12,15のハードウェア構成図である。VRゴーグル5,12,15は、バス94を介して接続されたCPU80、メインメモリ81、ROM82、表示コントローラ86、無線LANコントローラ88、音声コーデック90、及び動画像コーデック93を有する。
【0039】
CPU80は、ROM82からメインメモリ81に読み出されたOSや制御処理プログラムを実行し、処理する。メインメモリ81は、DRAMを有し、CPU80のワークエリア等で使用される。
【0040】
ROM82は、OS及び電源オン時のシステムプログラム、及び、VRゴーグル5,12,15を制御するプログラムが予め書き込まれている。
【0041】
CPU80にはUART83が接続されている。UART83は、CPU80とBluetoothモジュール84との間でシリアルデータの授受を行うインターフェースであり、FIFO(First In, First Out)やシフトレジスタ等から構成される。
【0042】
Bluetoothモジュール84は、RF部とベースバンド部から構成されており、またアンテナ85が接続されており、Bluetooth規格に準拠した無線通信を実行する。
【0043】
表示コントローラ86は文字データやグラフィックデータ、画像データ等をD/A変換すると共に、これらのデータをLCD87に表示するための制御を行う。
【0044】
無線LANコントローラ88は、IEEE(Institute of Electrical and Electronics Engineers)802.11ax規格に準拠した通信プロトコルを実行して、アンテナ89を介した電波の送受信により他の機器との通信を制御する。
【0045】
マイク91から入力された音声信号はA/D(Analog/Digital)変換回路により音声データに変換され、この音声データは音声コーデック90によりAAC(Advanced Audio Coding)方式で符号化される。また、外部の機器から受信したAACの符号化データは音声コーデック90により復号され、D/A変換回路によりアナログに変換された音声がスピーカ92から出力される。動画像コーデック93は外部の機器から受信した動画像圧縮データ(例えば、ITU-T勧告H.264に準拠した方式)を復号する。上記の各構成要素間はバス94を介してデータの受け渡しを行う。
【0046】
<<VR用操作コントローラ>>
図5は、VR用操作コントローラ6,13,16のハードウェア構成図である。VR用操作コントローラ6,13,16は、CPU110に接続された、UART117、メインメモリ111、ROM112、6軸加速度・角速度センサ113、メニュー表示ボタン114、ポインター表示ボタン115、及び、確定ボタン116を有する。
【0047】
CPU110は、ROM112からメインメモリ111に読み出された制御処理プログラムを実行し、処理する。メインメモリ111は、DRAMを有し、CPU110のワークエリア等として使用される。
【0048】
ROM112には、電源オン時のシステムプログラム、メニュー表示ボタン114、ポインター表示ボタン115、及び、確定ボタン116の押下情報をBluetoothにより送信するプログラムが予め書き込まれている。
【0049】
6軸加速度・角速度センサ113は加速度と角速度の測定データを出力する。UART117は、CPU110とBluetoothモジュール118との間でシリアルデータの授受を行うインターフェースであり、FIFOやシフトレジスタ等から構成される。Bluetoothモジュール118は、RF部とベースバンド部から構成されており、またアンテナ119が接続されており、Bluetooth規格に準拠した無線通信を実行する。
【0050】
<機能について>
次に、
図6を参照して、仮想空間システム300が有する機能構成について説明する。
図6は、仮想空間システム300におけるバーチャル会議サーバ1、ノートPC4,11,14、電子黒板2、VRゴーグル5,12,15、及び、VR用操作コントローラ6,13,16の機能をブロックに分けて説明する機能ブロック図の一例である。
【0051】
<<バーチャル会議サーバ>>
バーチャル会議サーバ1は、バーチャル会議制御部20、ホワイトボード生成・管理部21、同期制御部22、通信制御部23、会議データ記憶部24、表示データ生成部25、バーチャル表示制御部26、ポインター位置算出部27、ユーザ認証部28、及び、ユーザ情報記憶部29を有する。バーチャル会議サーバ1が有するこれら各部は、
図3に示されている各構成要素のいずれかが、HD504からRAM503に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能、又は機能する手段である。
【0052】
バーチャル会議制御部20は、会議の参加者と会議に接続する機器(ノートPC4,11,14、電子黒板2、VRゴーグル5,12,15)を会議の識別情報(会議ID)と対応付けて会議データ記憶部24に記憶させる。バーチャル会議制御部20は、会議IDごとに、各機器との間でリモート会議を実行する。また、バーチャル会議制御部20は、仮想電子黒板の画面データやバーチャル会議に接続する機器から受信する音声データ等を会議データ記憶部24に記憶させる。
【0053】
ホワイトボード生成・管理部21は、バーチャル会議スペース8内に仮想電子黒板を生成したり、仮想電子黒板表示データ9c,9d、PC表示データ9a,9bを管理したりする。
【0054】
同期制御部22は、電子黒板2の画面データと仮想電子黒板表示データ9c,9dが同じになるように、両者の同期をさせる手段である。同期制御部22は、具体的には、電子黒板2の画面データ及び仮想電子黒板表示データ9c,9dの更新を検知する機能、更新された電子黒板2の画面データを仮想電子黒板表示データ9c,9dに反映させる機能、及び、更新された仮想電子黒板表示データ9c,9dを電子黒板2の画面データに反映させる機能を含む。また、同期制御部22は、バーチャル会議スペース8に表示されている複数の仮想電子黒板表示データから任意の仮想電子黒板表示データの選択を受け付ける。また、同期制御部22は、電子黒板2に表示されユーザにより選択された仮想電子黒板表示データの選択を受け付ける。
【0055】
通信制御部23は、ノートPC4,11,14、VRゴーグル5,12,15、及び電子黒板2との間でデータの送受信を実行する。
【0056】
会議データ記憶部24は、仮想電子黒板表示データ9c,9d、PC表示データ9a,9b、及び、バーチャル会議に接続する機器から受信する音声データ等を記憶する。
【0057】
表示データ生成部25は、バーチャル会議スペース8に表示されるメニューやVR用操作コントローラ6,13,16によって表示指示されたポインター170等を生成する。
【0058】
バーチャル表示制御部26は、VRゴーグル5,12,15から送信された操作情報に基づいて、仮想電子黒板表示データを指し示すポインター170をバーチャル会議スペース8に表示させる手段である。バーチャル表示制御部26は、具体的には、バーチャル会議スペース8に種々の表示データを表示させる。バーチャル表示制御部26は、表示データ生成部25によって生成されたメニュー、ポインター170、ホワイトボード生成・管理部21によって生成された仮想電子黒板に関する仮想電子黒板表示データ9c,9d、及び、ノートPC4,11,14に関するPC表示データ9a,9b等をバーチャル会議スペース8に表示させる。バーチャル表示制御部26はバーチャル会議スペース8の表示データをVRゴーグル5,12,15に通信制御部23を介して送信して、VRゴーグル5,12,15にバーチャル会議スペース8が表示される。
【0059】
ポインター位置算出部27は、VR用操作コントローラ6,13,16の向きと動きによって指し示されたポインター170の位置(バーチャル会議スペース8における)を算出する。
【0060】
ユーザ認証部28は、通信制御部23を介して受信するユーザ名・パスワードと、ユーザ情報記憶部29に記憶されたユーザ名・パスワードとを照合して、バーチャル会議に参加するユーザを認証する。
【0061】
ユーザ情報記憶部29はバーチャル会議に参加するユーザのユーザ名及びパスワードを記憶している。
【0062】
<<ノートPC>>
ノートPC4,11,14は、バーチャル会議接続部30、リモートデスクトップ制御部31、無線LAN通信制御部32、Bluetooth通信制御部33、表示制御部34、及び、データ記憶部35を有している。ノートPC4,11,14が有するこれら各部は、
図3に示されている各構成要素のいずれかが、HD504からRAM503に展開されたプログラム(バーチャル会議アプリ)に従ったCPU501からの命令によって動作することで実現される機能、又は機能する手段である。
【0063】
バーチャル会議接続部30は、バーチャル会議サーバ1のバーチャル会議サービスに接続して、認証用データであるユーザ名とパスワードを送信する。また、バーチャル会議接続部30は、バーチャル会議サービスから受信するバーチャル会議スペース8のURLと会議IDを管理すると共に、バーチャル会議スペース8のURLに接続して、バーチャル会議に参加する処理を行う。更に、バーチャル会議接続部30は、バーチャル会議スペース8のURLと会議IDをVRゴーグル5,12,15と電子黒板2へBluetooth通信制御部33を介して送信する。
【0064】
リモートデスクトップ制御部31は、ノートPC4,11,14の画面データをバーチャル会議スペース8に表示させるためにバーチャル会議サービスに送信する。
【0065】
無線LAN通信制御部32は、Wi-Fiルータ3,10を介したバーチャル会議サーバ1との通信を実行する。
【0066】
Bluetooth通信制御部33は、VRゴーグル5,12,15及び電子黒板2とBluetooth規格に準拠した通信を実行する。表示制御部34は画面データをディスプレイ(LCD)に表示するための制御を行う。
【0067】
データ記憶部35は、バーチャル会議サーバ1にて提供されるバーチャル会議サービスのアドレス(URL)や、バーチャル会議サービスから受信するバーチャル会議スペース8のURL、会議ID、ノートPC4,11,14を使用するユーザのユーザ名、及び、パスワード等を記憶する。
【0068】
<<電子黒板>>
電子黒板2は、接触位置検出部70、表示制御部71、LAN通信制御部72、Bluetooth通信制御部73、描画データ生成部74、バーチャル会議接続部75、及び、データ記憶部76を有している。電子黒板2が有するこれら各部は、
図2に示されている各構成要素のいずれかが、SSD404からRAM403に展開されたプログラム(バーチャル会議アプリ)に従ったCPU401からの命令によって動作することで実現される機能、又は機能する手段である。
【0069】
接触位置検出部70は、指や電子ペン490等がディスプレイ480に接することで、接触センサ414が検出した部分(光が遮断された部分)の座標データを検出する。
【0070】
表示制御部71は、LAN通信制御部72が受信した仮想電子黒板表示データをディスプレイ480に表示する手段である。表示制御部71は、具体的には、電子黒板2の画面データをディスプレイ480に表示するための制御を行う。
【0071】
LAN通信制御部72は、バーチャル会議スペース8に複数の仮想電子黒板表示データが表示されている場合、ユーザにより選択された仮想電子黒板表示データと電子黒板が表示する前記画面データを同期させるため、仮想電子黒板表示データを受信する手段である。 LAN通信制御部72は、具体的には、Wi-Fiルータ3やイーサネット(登録商標)等のネットワークに接続して、他の機器とネットワークNを介したデータの送受信を行う。
【0072】
Bluetooth通信制御部73は、ノートPC4,11,14とBluetooth規格に準拠した通信を実行する。描画データ生成部74は、ユーザが手書きした際に接触位置検出部70から入力した座標列から描画データを生成したり、円や矩形等の図形を生成したりする。
【0073】
バーチャル会議接続部75は、ノートPC4から送信されるバーチャル会議サービスのURLと会議IDを使用して、バーチャル会議サーバ1にて実行されるバーチャル会議サービスに接続するための制御を行う。
【0074】
データ記憶部76は、バーチャル会議サーバ1にて提供されるバーチャル会議サービスのアドレス(URL)や会議ID、及び、ディスプレイ480に表示された画面データ等を記憶する。
【0075】
<<VRゴーグル>>
VRゴーグル5,12,15は、表示制御部100、無線LAN通信制御部101、Bluetooth通信制御部102、バーチャル会議接続部103、ボタン情報転送部104、及び、データ記憶部105を有している。VRゴーグル5,12,15が有するこれら各部は、
図4に示されている各構成要素のいずれかが、ROM82からメインメモリ81に展開されたプログラム(バーチャル会議アプリ)に従ったCPU80からの命令によって動作することで実現される機能、又は機能する手段である。
【0076】
表示制御部100は、バーチャル会議サービスから送信される表示データをLCD87に表示させるための制御を行う。無線LAN通信制御部101は、Wi-Fiルータ3,10を介したバーチャル会議サーバ1との通信を実行する。
【0077】
Bluetooth通信制御部102は、VR用操作コントローラ6,13,16とBluetooth規格に準拠した通信を実行する。バーチャル会議接続部103はノートPC4から送信されるバーチャル会議サービスのURLと会議IDを使用して、バーチャル会議サーバ1にて実行されるバーチャル会議サービスに接続するための制御を行う。
【0078】
ボタン情報転送部104は、VR用操作コントローラ6,13,16からボタン押下情報を受信して、押下されたボタンに関する情報を、無線LAN通信制御部101を介して、バーチャル会議サーバ1へ送信する。
【0079】
データ記憶部105はバーチャル会議サーバ1にて提供されるバーチャル会議サービスのアドレス(URL)や会議ID、VRゴーグル5,12を使用するユーザのユーザ名、及び、パスワード等を記憶する。
【0080】
<<VR用操作コントローラ>>
VR用操作コントローラ6,13,16は、Bluetooth通信制御部120、ボタン情報送信部121、及び、向き・動き検出部122を有している。VR用操作コントローラ6,13,16が有するこれらの機能は、
図5に示したROM112からメインメモリ111に展開されたプログラムに従ったCPU110からの命令によって動作することで実現される機能、又は機能する手段である。
【0081】
Bluetooth通信制御部120は、VRゴーグル5,12,15とBluetooth規格に準拠した通信を実行する。ボタン情報送信部121は、メニュー表示ボタン114、ポインター表示ボタン115、確定ボタン116の押下情報をBluetooth通信制御部120へ渡す。
【0082】
向き・動き検出部122は、6軸加速度・角速度センサ113から得られた加速度と角速度のデータからVR用操作コントローラ6,13,16の向き(3次元空間の姿勢)と動きを検出して、これらの情報をBluetooth通信制御部120へ渡す。
【0083】
<動作又は処理>
続いて、
図7を参照して、ユーザAとユーザBがノートPC4,11とVRゴーグル5,12を使用してバーチャル会議サーバ1にあるバーチャル会議スペース8に参加して、仮想空間における会議を開始するまでの手順について説明する。
【0084】
まず、ユーザAがノートPC4、VRゴーグル5、及びVR用操作コントローラ6を持参して会議室17に入ると、ノートPC4はBluetoothにより電子黒板2があることを検出する。Bluetoothデバイスは定期的に周辺に(Bluetoothの電波が届く範囲に)Bluetoothデバイスが存在しているか否かをチェックしている。ノートPC4は、Bluetoothデバイスを検出すると、デバイス識別プロファイル(Device Identification Profile)に含まれる製品IDにより、そのデバイスが電子黒板2であることを検出する。
【0085】
会議主催者であるユーザAはノートPC4のバーチャル会議アプリを起動すると、バーチャル会議接続部30はバーチャル会議サーバ1のバーチャル会議サービスに接続して、ユーザ名とパスワードの入力画面を表示する。以下では、バーチャル会議サーバ1とバーチャル会議サービスを特に区別せず、主にバーチャル会議サービスを用いて説明する。なお、バーチャル会議サービスのURLはバーチャル会議アプリの設定データとしてノートPC4に予め登録されている。
【0086】
ユーザAがユーザ名とパスワードを入力すると、バーチャル会議接続部30は、無線LAN通信制御部32を介して、ユーザ名とパスワードをバーチャル会議サービスへ送信する。バーチャル会議サービスはこのユーザを認証して認証OKのレスポンスをノートPC4に送信する。
【0087】
図7は、ユーザAがバーチャル会議スペース8における会議を開始するまでの処理を説明するシーケンス図である。
【0088】
S1:バーチャル会議接続部30が無線LAN通信制御部32を介して、認証OKのレスポンスを受信すると、ノートPC4で動作するバーチャル会議アプリの表示制御部34はバーチャル会議の開始ボタンと参加ボタンを表示する。ユーザAは主催者なので開始ボタンを選択する。
【0089】
S2:バーチャル会議接続部30は無線LAN通信制御部32を介して、バーチャル会議の開始コマンドをバーチャル会議サービスへ送信する。この送信は例えばHTTPが使用される。
【0090】
S3:バーチャル会議サービスのバーチャル会議制御部20は通信制御部23を介してこの開始コマンドを受信すると、バーチャル会議スペース8と会議IDを生成する。
【0091】
S4:通信制御部23は、バーチャル会議スペース8のURLと会議IDをノートPC4へ送信する。
【0092】
S5:ノートPC4の無線LAN通信制御部32がこれらのデータを受信すると、バーチャル会議接続部30は、無線LAN通信制御部32を介してバーチャル会議スペース8のURLに接続して、受信した会議IDを含めた会議参加コマンドを送信する。
【0093】
S6:バーチャル会議サービスのバーチャル会議制御部20は、この会議IDをステップS3で生成した会議IDと照合して一致を確認すると、ノートPC4とバーチャル会議スペース8との接続(会議IDに対応したバーチャル会議への参加)を許可する。
【0094】
S7:バーチャル会議制御部20は通信制御部23を介して、レスポンスOKをノートPC4に送信する。
【0095】
S8:ノートPC4の無線LAN通信制御部32がレスポンスOKを受信すると、バーチャル会議接続部30は、Bluetooth通信制御部33を介して、バーチャル会議スペース8のURLと会議IDをユーザAのVRゴーグル5へBluetoothで送信する。
【0096】
S9:VRゴーグル5のBluetooth通信制御部102がこれらのデータを受信すると、バーチャル会議接続部103は無線LAN通信制御部101を介して、バーチャル会議スペース8のURLに接続して、受信した会議IDを含めた会議参加コマンドを送信する。
【0097】
S10:バーチャル会議サービスのバーチャル会議制御部20は、この会議IDをステップS3で生成した会議IDと照合して一致を確認すると、VRゴーグル5とバーチャル会議スペース8との接続(会議IDに対応したバーチャル会議への参加)を許可する。
【0098】
S11:バーチャル会議制御部20は通信制御部23を介してレスポンスOKをVRゴーグル5に送信する。
【0099】
S11-2:バーチャル会議サービスのバーチャル表示制御部26はバーチャル会議スペース8の表示データをVRゴーグル5に通信制御部23を介して送信する。
【0100】
S11-3:VRゴーグル5の無線LAN通信制御部101がこのデータを受信すると、表示制御部100が受信したバーチャル会議スペース8の表示データをLCD87に表示する。
【0101】
S12:ノートPC4はバーチャル会議スペース8のURLと会議IDをVRゴーグル5へ送信した後、バーチャル会議接続部30は、Bluetooth通信制御部33を介して、バーチャル会議スペース8のURLと会議IDを電子黒板2へBluetoothで送信する。
【0102】
S13:電子黒板2のBluetooth通信制御部73がこれらのデータを受信すると、バーチャル会議接続部75がLAN通信制御部72を介して、バーチャル会議スペース8のURLに接続して、受信した会議IDを含めた会議参加コマンドを送信する。
【0103】
S14:バーチャル会議サービスのバーチャル会議制御部20は、この会議IDをステップS3で生成した会議IDと照合して一致を確認すると、電子黒板2とバーチャル会議スペース8との接続(会議IDに対応したバーチャル会議への参加)を許可する。
【0104】
S15:バーチャル会議制御部20は通信制御部23を介してレスポンスOKを電子黒板2に送信する。
【0105】
S16:ノートPC4はバーチャル会議スペース8のURLと会議IDを電子黒板2へ送信した後、バーチャル会議アプリの表示制御部34は、リモートデスクトップの選択ボタンを表示する。
【0106】
S17:ユーザAがリモートデスクトップの選択ボタンを押下する。
【0107】
S18:リモートデスクトップ制御部31は、無線LAN通信制御部32を介して、ノートPC4の画面データをバーチャル会議サービスに送信する。
【0108】
S19:バーチャル会議サービスのバーチャル表示制御部26は通信制御部23が受信したこの画面データをバーチャル会議スペース8に表示する(PC表示データ9a)。
【0109】
S20-1:バーチャル会議サービスのバーチャル表示制御部26は通信制御部23を介して受信したPC表示データ9aをVRゴーグル5へ送信する。
【0110】
S20-2:VRゴーグル5の表示制御部100は、このPC表示データ9aをLCD87に表示させる。
【0111】
以上で、ユーザAがバーチャル会議に参加し、ノートPC4の画面データがVRゴーグル5に表示された。なお、バーチャル会議スペース8に表示されるノートPC4の画面データはユーザAのVRゴーグル5にしか表示させないように、バーチャル会議サービスのバーチャル表示制御部26が制御する。
【0112】
<<ユーザBのバーチャル会議への参加>>
続いて、ユーザAはノートPC4からバーチャル会議スペース8のURLと会議IDを会議の他の参加者のノートPCにメールやインスタントメッセージで送信する。会議の参加者であるユーザBはノートPC11のバーチャル会議アプリを起動すると、バーチャル会議接続部30はバーチャル会議サービスに接続して、ユーザ名とパスワードの入力画面を表示する。なお、バーチャル会議サービスのURLはバーチャル会議アプリの設定データとしてノートPC11に予め登録されている。
【0113】
ユーザBがユーザ名とパスワードを入力すると、バーチャル会議接続部30はこれらのデータをバーチャル会議サービスへ送信する。バーチャル会議サービスはこのユーザを認証して認証OKのレスポンスをノートPC11に送信する。ノートPC11のバーチャル会議アプリはバーチャル会議の開始ボタンと参加ボタンを表示する。
【0114】
図8は、ユーザBがバーチャル会議スペース8における会議に参加するまでの処理を説明するシーケンス図である。
【0115】
S21:ユーザBは参加者なので参加ボタンを選択する。
【0116】
S22:ノートPC11の表示制御部34は、バーチャル会議スペース8のURLと会議IDの入力画面を表示する。
【0117】
S23:ユーザBはユーザAから通知されたバーチャル会議スペース8のURLと会議IDを入力してOKボタンを押下する。
【0118】
S24:バーチャル会議接続部30は無線LAN通信制御部32を介して、この会議IDを含めた接続コマンドをバーチャル会議スペース8のURLに送信する。
【0119】
S25:バーチャル会議サービスのバーチャル会議制御部20は、この会議IDをステップS3で生成した会議IDと照合して一致を確認すると、ノートPC11とバーチャル会議スペース8との接続を許可する。
【0120】
S26:バーチャル会議制御部20は通信制御部23を介して、レスポンスOKをノートPC11に送信する。
【0121】
S27:続いて、ノートPC11のBluetooth通信制御部33は、バーチャル会議スペース8のURLと会議IDをユーザBのVRゴーグル12へBluetoothで送信する。
【0122】
S28:VRゴーグル12のBluetooth通信制御部102がこれらのデータを受信すると、バーチャル会議接続部103が無線LAN通信制御部101を介して、この会議IDを含めた接続コマンドをバーチャル会議スペース8のURLに送信する。
【0123】
S29:バーチャル会議サービスのバーチャル会議制御部20は、この会議IDをステップS3で生成した会議IDと照合して一致を確認すると、VRゴーグル12とバーチャル会議スペース8との接続を許可する。
【0124】
S30:バーチャル会議制御部20は通信制御部23を介して、レスポンスOKをVRゴーグル12に送信する。
【0125】
S30-2:バーチャル会議サービスのバーチャル表示制御部26はバーチャル会議スペース8の表示データをVRゴーグル12に通信制御部23を介して送信する。
【0126】
S30-3:VRゴーグル12の無線LAN通信制御部101がこのデータを受信すると、表示制御部100が受信したバーチャル会議スペース8の表示データをLCD87に表示する。
【0127】
S31:ノートPC11で動作するバーチャル会議アプリのバーチャル会議接続部30は、バーチャル会議スペース8に接続すると、表示制御部34がリモートデスクトップの選択ボタンを表示する。
【0128】
S32:ユーザBがリモートデスクトップの選択ボタンを選択する。
【0129】
S33:ノートPC11のリモートデスクトップ制御部31が無線LAN通信制御部32を介して、ノートPC11の画面データをバーチャル会議サービスに送信する。
【0130】
S34:バーチャル会議サービスのバーチャル表示制御部26は、ノートPC11の画面データをバーチャル会議スペース8に表示する(PC表示データ9b)。
【0131】
S35:バーチャル会議サービスのバーチャル表示制御部26は、PC表示データ9bをVRゴーグル12へ送信する。
【0132】
S36:VRゴーグル12の表示制御部100は、PC表示データ9bをLCD87に表示させる。
【0133】
なお、バーチャル会議スペース8に表示されるノートPC11の画面データはユーザBのVRゴーグル12にしか表示させないように、バーチャル会議サービスのバーチャル表示制御部26が制御する。
【0134】
会議の他の参加者も上記のユーザBと同様な操作を行い、各参加者のノートPCとVRゴーグルをバーチャル会議スペース8に接続させる。
【0135】
<VR用操作コントローラの操作>
ユーザA又はユーザBがVR用操作コントローラ6,13にあるメニュー表示ボタン114を押すと、VR用操作コントローラ6,13のBluetooth通信制御部120はメニュー表示コマンドをVRゴーグル5,12へBluetoothで送信する。
【0136】
VRゴーグル5,12の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。バーチャル会議サービスはこのコマンドを受信すると、表示データ生成部25がバーチャル会議に関するメニュー一覧を生成し、バーチャル会議スペース8に表示させる。このメニュー一覧の例を
図9に示す。
【0137】
図9は、バーチャル会議スペース8に表示されるメニュー一覧画面200を示す。メニュー一覧画面200は、参加者一覧ボタン201、ホワイトボード生成ボタン202、及び、設定ボタン203を有する。参加者一覧ボタン201は、現在、会議IDで特定される会議に参加している参加者の一覧を表示させるボタンである。ホワイトボード生成ボタン202は、バーチャル会議スペース8に仮想電子黒板を作成するためのボタンである。設定ボタン203は言語や文字サイズなど各種の設定画面を表示させるボタンである。
【0138】
また、ユーザA又はユーザBがVR用操作コントローラ6,13にあるポインター表示ボタン115を押下すると、VR用操作コントローラ6,13のBluetooth通信制御部120は、自デバイスの向きと動きの情報を含めたポインター表示コマンドをVRゴーグル5,12へBluetoothで送信する。VRゴーグル5,12の無線LAN通信制御部101は、このコマンドをバーチャル会議サービスへ送信する。バーチャル会議サービスはこのコマンドを受信すると、ポインター位置算出部27がVR用操作コントローラ6,13の向きと動きの情報を基にポインター170の表示位置を算出する。バーチャル表示制御部26は、バーチャル会議スペース8の算出された表示位置にポインター170を表示させる。
【0139】
なお、ユーザがポインター表示ボタン115を押している間、VR用操作コントローラ6,13のBluetooth通信制御部120は自デバイスの向きと動きの情報を含めたポインター表示コマンドを定期的に(例えば100ミリ秒毎)VRゴーグル5,12へ送信する。VRゴーグル5,12の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。ポインター位置算出部27がVR用操作コントローラ6,13の向きと動きの情報を基にポインター170の表示位置を算出する。バーチャル会議サービスのバーチャル表示制御部26は、ポインター170が移動してバーチャル会議スペース8の表示に変化があると、バーチャル会議スペース8の表示データをVRゴーグル5,12に送信する。したがって、バーチャル会議スペース8をポインター170が移動するように制御される。
【0140】
ユーザA又はユーザBがVR用操作コントローラ6,13にある確定ボタン116を押すと、VR用操作コントローラ6,13のBluetooth通信制御部120は確定コマンドをVRゴーグル5,12へBluetoothで送信する。VRゴーグル5,12の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。バーチャル会議サービスはこのコマンドを受信すると、ポインター170の表示位置に該当するメニューが選択(押下)されたと判断して、そのメニューに従った動作を行う。
【0141】
ユーザA(又はユーザB)が
図9に示されたホワイトボード生成ボタン202にポインター170を移動して確定ボタン116を押下すると、VR用操作コントローラ6,13は確定コマンドをVRゴーグル5,12を介して、バーチャル会議サービスに送信する。バーチャル会議サービスはこのコマンドを受信するとホワイトボード生成・管理部21が仮想電子黒板を生成し、バーチャル表示制御部26がバーチャル会議スペース8に表示する。なお、仮想電子黒板の生成時の画面は白紙である。つまり、白紙の仮想電子黒板表示データがバーチャル会議スペース8に表示される。
【0142】
<仮想電子黒板表示データの生成>
この仮想電子黒板にユーザは、ノートPC4,11の画面データを表示させたり、任意の表示コンテンツ(写真や図形等)を表示させたりすることができる。
図1では2つの仮想電子黒板(仮想電子黒板表示データ9c、仮想電子黒板表示データ9d)の画面が表示されている。仮想電子黒板表示データ9cには、バーチャル会議に参加しているユーザCが操作するノートPC14の画面データが表示されている。
【0143】
ユーザCのノートPC14の画面データを仮想電子黒板に表示させる処理及び動作について説明する。ユーザCがノートPC14のバーチャル会議アプリを起動して、上記のユーザBと同様な操作を行うと、ノートPC14とVRゴーグル15がバーチャル会議スペース8に接続する。そして、ユーザCがノートPC14に表示されたリモートデスクトップの選択ボタンを選択すると、ノートPC14の画面データがバーチャル会議サービスに送信され、バーチャル会議スペース8にノートPC14の画面データ(仮想電子黒板表示データ9c)が表示される。
【0144】
図10は、バーチャル会議スペース8に表示されたノートPC14のノートPC表示データ210を示す。ノートPC表示データ210は、バーチャル会議スペース8のノートPC14の画面データが表示される画面表示領域212に移動用バー211が付加されている。画面表示領域212に仮想電子黒板表示データ9cが表示されている。ユーザCがVR用操作コントローラ16にあるポインター表示ボタン115を押してポインター170をこの移動用バー211に重ねて長押しすると、ノートPC14の画面表示領域212を移動できる状態となる。ユーザCがポインター表示ボタン115を押下しながらポインター170を移動させると、ノートPC14の画面表示領域212もそれに追従して移動する。
【0145】
ユーザCがこの操作によりノートPC14の画面表示領域212を仮想電子黒板(白紙の仮想電子黒板表示データ)に重ねると、バーチャル会議サービスのバーチャル表示制御部26はノートPC14の画面データを仮想電子黒板の画面にコピーして、仮想電子黒板40にノートPC14の画面データ(仮想電子黒板表示データ9c)が表示される。また、バーチャル表示制御部26は、ノートPC14の画面データが表示されていた画面表示領域212及び移動用バー211を削除する。
【0146】
<動作又は処理>
図11A、
図11Bは、ユーザAが仮想電子黒板表示データ9cの画面を電子黒板2に表示するために、ポインター170を仮想電子黒板表示データ9cに移動させる操作以降のシーケンス図を示す。
【0147】
S41:ユーザAがVR用操作コントローラ6にあるポインター表示ボタン115を押下する。
【0148】
S42:VR用操作コントローラ6のBluetooth通信制御部120は、自デバイスの向きと動きの情報を含めたポインター表示コマンドをVRゴーグル5へBluetoothで送信する。
【0149】
S43:VRゴーグル5の無線LAN通信制御部101は、このコマンドをバーチャル会議サービスへ送信する。
【0150】
S44:バーチャル会議サービスの通信制御部23がコマンドを受信すると、ポインター位置算出部27がVR用操作コントローラ6の位置と動きの情報を基にポインター170の表示位置を算出する。バーチャル表示制御部26は、バーチャル会議スペース8におけるポインター170のアイコンと位置を決定する(ポインター表示処理)。
【0151】
S45:バーチャル会議サービスのバーチャル表示制御部26は、通信制御部23を介して、ポインター170を含むバーチャル会議スペース8の更新された表示データをVRゴーグル5に送信する。
【0152】
S46:VRゴーグル5の無線LAN通信制御部101が表示データを受信し、表示制御部100が更新された表示データを表示する。
【0153】
S47~S58:ユーザがポインター表示ボタン115を押している間、VR用操作コントローラ6のBluetooth通信制御部120は自デバイスの向きと動きの情報を含めたポインター表示コマンドを定期的に(例えば100ミリ秒毎)VRゴーグル5へ送信する。VRゴーグル5の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。バーチャル会議サービスのポインター位置算出部27がVR用操作コントローラ6の向きと動きの情報を基にポインター170の表示位置を算出する。バーチャル会議サービスのバーチャル表示制御部26は、ポインター170が移動してバーチャル会議スペース8の表示に変化があると、通信制御部23を介して、バーチャル会議スペース8の表示データをVRゴーグル5に送信する。VRゴーグル5の無線LAN通信制御部101が表示データを受信し、表示制御部100が更新された表示データを表示する。
【0154】
S59:次に、ユーザAはポインター表示ボタン115を押しながらポインター170を仮想電子黒板表示データ9cの表示領域に移動させる。そして、ユーザAがポインター170を仮想電子黒板表示データ9cに重ねた状態でVR用操作コントローラ6にあるポインター表示ボタン115を所定の時間、長押しする。
【0155】
S60:VR用操作コントローラ6のBluetooth通信制御部120は、自デバイスの向きと動きの情報を含めたポインター表示コマンドを所定の時間間隔毎にVRゴーグル5へBluetoothで送信する。
【0156】
S61:VRゴーグル5の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。ここではVR用操作コントローラ6の向きと動きに変化がなかったとする。
【0157】
S62:バーチャル会議サービスの通信制御部23がこのコマンドを受信すると、ポインター位置算出部27がVR用操作コントローラ6の向きと動きの情報を基にポインター170の表示位置を算出する。ここではVR用操作コントローラ6の向きと動きに変化がなかったとする。
【0158】
S63~S65:ユーザAがポインター170を仮想電子黒板表示データ9cに重ねた状態でVR用操作コントローラ6にあるポインター表示ボタン115を所定の時間、長押ししている間、ステップS63~S65が繰り返し実行される。
【0159】
S66:ポインター170の表示位置の変化量が所定の値以下の場合が所定の回数(すなわち、所定時間)続くと、同期制御部22はポインター170が同じ位置にある状態でポインター表示ボタン115が長押しされたこと(操作情報の一例)を検出し、ポインター170の表示位置にある仮想電子黒板表示データ9cの選択を受け付ける。ユーザが同期させる意図がないのに、単にポインター170を仮想電子黒板表示データ9cに所定時間、重ねただけかもしれないので、同期制御部22は同期させて良いかをユーザに問い合わせる。
【0160】
同期制御部22はポインター170の表示位置に対応したアクションをユーザに選択させる情報をバーチャル表示制御部26へ渡す。バーチャル表示制御部26はこの情報を受けると、「この画面を電子黒板に表示しますか?」というメッセージの表示データを生成して、バーチャル会議スペース8に表示する。
【0161】
S67:バーチャル会議サービスのバーチャル表示制御部26は、通信制御部23を介して、上記のメッセージの表示を含むバーチャル会議スペース8の更新された表示データをVRゴーグル5に送信する。
【0162】
S68:VRゴーグル5の無線LAN通信制御部101は表示データを受信し、表示制御部100が更新された表示データを表示する。
【0163】
図12は、VRゴーグル5により閲覧可能な、バーチャル会議スペース8に表示された問い合わせ画面230を示す。問い合わせ画面230は、メッセージ231、YESボタン232、及びNOボタン233を表示する。ここでは、ユーザAがYESボタン232を押下する場合を説明する。
【0164】
S69~80:ユーザAはポインター表示ボタン115を押しながらポインター170をYESボタン232の表示領域に移動させる。ユーザがポインター表示ボタン115を押している間、VR用操作コントローラ6のBluetooth通信制御部120は自デバイスの向きと動きの情報を含めたポインター表示コマンドを定期的に(例えば100ミリ秒毎)VRゴーグル5へ送信する。VRゴーグル5の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。バーチャル会議サービスのポインター位置算出部27がVR用操作コントローラ6の向きと動きの情報を基にポインター170の表示位置を算出する。バーチャル会議サービスのバーチャル表示制御部26は、ポインター170が移動してバーチャル会議スペース8の表示に変化があると、通信制御部23を介して、バーチャル会議スペース8の表示データをVRゴーグル5に送信する。VRゴーグル5の無線LAN通信制御部101は表示データを受信し、表示制御部100が更新された表示データを表示する。これにより、バーチャル会議スペース8のポインター170がYESボタン232に移動する。
【0165】
S81:ユーザAが、ポインター170がYESボタン232に重なった状態で確定ボタン116を押下する。
【0166】
S82:VR用操作コントローラ6のBluetooth通信制御部120は確定コマンドをVRゴーグル5へBluetoothで送信する。
【0167】
S83:VRゴーグル5の無線LAN通信制御部101はこのコマンドをバーチャル会議サービスへ送信する。
【0168】
S84:バーチャル会議サービスの通信制御部23がこのコマンドを受信すると、同期制御部22がポインター170の位置に基づいてYESボタン232の押下を検出し、ステップS66のポインター表示ボタン115の長押しで特定されている仮想電子黒板表示データ9cが選択されたことを確定する。同期制御部22は通信制御部23を介して、仮想電子黒板表示データ9cを会議室にある電子黒板2に送信する。
【0169】
S85:電子黒板2のLAN通信制御部72は仮想電子黒板表示データ9cを受信し、表示制御部71は、仮想電子黒板表示データ9cを画面データとしてディスプレイ480に表示する。なお、元々、仮想電子黒板表示データ9cは、ユーザCが操作するノートPC14のPC表示データがコピーされたものなので、ノートPC14の画面データが更新されると、これに同期してバーチャル会議スペース8の仮想電子黒板表示データ9cも更新され、更に電子黒板2が表示した仮想電子黒板表示データ9cも更新される。
【0170】
S86:ユーザAはこの表示画面に対して文字等を手書きするため、VRゴーグル5を外して、電子黒板2に手書きを行う。
【0171】
S87:電子黒板2の接触位置検出部70は電子ペン490のペン先などの接触位置を検出し、描画データ生成部74が描画データを生成する。表示制御部71はこの手書きされた描画データをディスプレイ480に表示する。
【0172】
S88:電子黒板2のLAN通信制御部72は、この手書きされた描画データをリアルタイムにバーチャル会議サービスへ送信する。
【0173】
S89:バーチャル会議サービスの通信制御部23は描画データ受信し、同期制御部22は描画データをバーチャル表示制御部26へ渡す。バーチャル表示制御部26はこの手書きの描画データを仮想電子黒板表示データ9cの画面データに合成することで仮想電子黒板表示データ9cを更新する。
【0174】
S90-1:バーチャル会議サービスの通信制御部23は、更新後の仮想電子黒板表示データ9cをVRゴーグル5に送信する。
【0175】
S90-2:VRゴーグル5の無線LAN通信制御部101が仮想電子黒板表示データ9cを受信し、表示制御部100が仮想電子黒板表示データ9cを更新する。
【0176】
図13は、描画データが表示された電子黒板2とバーチャル会議スペース8の表示例を示す。
図13では、電子黒板2が、ユーザCのノートPC14の画面データを表示している。電子黒板2の画面データに手書きされた描画データ150が表示されている。そして、バーチャル会議スペース8においても仮想電子黒板表示データ9cに同じ描画データ150が表示されている。
【0177】
このように、ユーザがバーチャル会議スペース8で複数の仮想電子黒板から任意の1つをポインター170等で選択すると、仮想電子黒板の画面データを現実の電子黒板2と同期させることができる。また、現実の電子黒板2への描画データは、リアルタイムに、ユーザが選択した、仮想電子黒板の表示データに反映できる。
【0178】
なお、本実施形態では、ノートPC14のノートPC表示データ210が仮想電子黒板表示データ9cとして表示され、仮想電子黒板表示データ9cが電子黒板2の画面データに反映(同期)された。この流れと逆に、バーチャル会議サービスが電子黒板2の画面データ(仮想電子黒板表示データ)をバーチャル会議スペース8に表示させてもよい。この場合、電子黒板2がリモートデスクトップ制御部を有していればよい。リモートデスクトップ制御部が電子黒板2の画面データをバーチャル会議サービスに送信すれば、バーチャル会議サービスは仮想電子黒板を生成し、生成した直後に電子黒板2の画面データを仮想電子黒板表示データとしてバーチャル会議スペース8に表示できる。
【0179】
仮想電子黒板表示データ9cと重なったポインター表示ボタン115の長押しで、仮想電子黒板表示データ9cの選択の受け付けを確定してもよい。
また、本実施形態では、バーチャル会議スペース8に2つの仮想電子黒板が表示されている場合について説明したが、仮想電子黒板の数は1つでも3つ以上でもよい。
【0180】
また、本実施形態では、バーチャル会議スペース8に表示された複数の仮想電子黒板の中から電子黒板2に表示させる仮想電子黒板の画面データを選択する方法として、ポインター170を仮想電子黒板に重ねた状態でVR用操作コントローラ6にあるポインター表示ボタン115を長押しする場合について示した。しかし、ユーザがポインター170を仮想電子黒板に重ねると、その仮想電子黒板の枠が強調表示され、この状態で確定ボタン116を押すことにより仮想電子黒板表示データを選択してもよい。
【0181】
図14は、ユーザがポインター170を仮想電子黒板に重ねることで枠160が強調表示された仮想電子黒板表示データ9cを示す。ユーザは枠160が表示された状態で確定ボタン116を押す。この操作情報がVR用操作コントローラ6からVRゴーグル5へ、VRゴーグル5からバーチャル会議サービスに送信され、同期制御部22が仮想電子黒板表示データ9cの選択を受け付ける。ユーザがポインター表示ボタン115を長押ししなくても、仮想電子黒板表示データを選択できる。
【0182】
<主な効果>
本実施形態の仮想空間システム300は、バーチャル会議スペース8に表示された複数の仮想電子黒板の任意の仮想電子黒板に対して、現実の電子黒板2を用いて手書きすることが可能となり、ユーザの利便性が向上する。現実の電子黒板2を用いてバーチャル会議スペース8上の任意の仮想電子黒板を、手書き対象の電子黒板2として、ユーザがVR用操作コントローラ6を使用して簡単に選択できるため、ユーザの利便性が向上する。
【0183】
[第二実施形態]
バーチャル会議スペース8に複数の仮想電子黒板が生成されており、現実には1つ電子黒板2がある場合、1つの電子黒板2が複数の仮想電子黒板により共有される。しかし、あるユーザが第一の仮想電子黒板表示データ(第一の表示データの一例)を電子黒板2と同期させている状態で、別のユーザが第二の仮想電子黒板表示データ(第二の表示データの一例)を電子黒板2と同期させると、あるユーザが電子黒板2において第一の仮想電子黒板表示データに対し手書きしているのに、突然、電子黒板2の画面が第二の仮想電子黒板表示データに切り替わるおそれがある。
【0184】
そこで、本実施形態では、別のユーザが第2の仮想電子黒板と電子黒板2を同期させた場合に、所定の条件の下、同期させる操作を無効にする仮想空間システム300について説明する。
【0185】
なお、本実施形態では、上記の実施形態にて説明した
図6の機能ブロック図を援用できるものとして説明する。
【0186】
<仮想電子黒板と電子黒板を同期させる操作を無効>
電子黒板2はディスプレイ480に電子ペン490が接触している状態(ペンダウン状態)からペンがタッチパネルを離れた(ペンアップ状態)後、所定の時間が経過するまで「手書き入力状態」であるとする。手書き入力状態は、現在、ユーザが電子黒板2に手書きしていることを示す。
【0187】
会議室17にはユーザCも存在し、ユーザAと同様にノートPC14、VRゴーグル15、VR用操作コントローラ16を使用して会議に参加している。第一実施形態で説明したように、電子黒板2と仮想電子黒板表示データ9cの画面データが同期しており、ユーザAが電子黒板2に手書き入力している間(手書き入力状態の時)に、ユーザCが仮想電子黒板表示データ9dの画面に手書きをしたいと考えた。ユーザCが、VR用操作コントローラ16にあるポインター表示ボタン115を押してポインター170を表示させて、このポインター170を仮想電子黒板表示データ9dに重ねた状態でポインター表示ボタン115を長押しした。同期制御部22は電子黒板2が手書き入力状態であると判断し、「他のユーザが使用中のため、この画面は電子黒板に表示できません」というメッセージを、バーチャル表示制御部26を介してバーチャル会議スペース8に表示させる。
【0188】
図15は、バーチャル会議スペース8に表示されたメッセージ241の一例を示す。このメッセージ241は、例えば仮想電子黒板表示データ9dに重ねて表示される。ユーザCはメッセージ241を確認して、仮想電子黒板表示データ9dを電子黒板2と同期できないと判断できる。
【0189】
なお、
図14のように仮想電子黒板表示データに枠160が表示される場合のメッセージ241の表示について説明する。ユーザCが、ポインター170を仮想電子黒板表示データ9dに重ねた状態でポインター確定ボタン116を押下する。同期制御部22は電子黒板2が手書き入力状態であると判断し、メッセージ241をバーチャル表示制御部26を介してバーチャル会議スペース8に表示させる。
【0190】
その後、ユーザAが電子黒板2への手書き入力を終了して手書き入力状態が解除された。すなわち、ペンアップ後、所定の時間が経過した。電子黒板2は手書きされた描画データをリアルタイムにバーチャル会議サービスに送信するので、バーチャル会議サービスはペンアップ及びペンアップ後、所定の時間が経過したことを検出できる。
【0191】
ペンアップ後、所定の時間が経過した後に、ユーザCがポインター170を仮想電子黒板表示データ9dに重ねた状態でポインター表示ボタン115を長押しした。同期制御部22は、電子黒板2が手書き入力状態でないと判断する。同期制御部22は、すでに仮想電子黒板表示データ9cが電子黒板2と同期していたので、バーチャル表示制御部26を介して、確認のため「この画面を電子黒板に表示しますか?」というメッセージをバーチャル会議スペース8に表示させる。
【0192】
図16は、バーチャル会議スペース8に表示された同期確認画面250の一例である。同期確認画面250には、メッセージ251と共に、YESボタン252とNOボタン253が表示されている。YESボタン252が押下されると、バーチャル会議サービスの同期制御部22は通信制御部23を介して、仮想電子黒板表示データ9dの表示データを会議室にある電子黒板2に送信する。電子黒板2は受信したこの画面データを表示する。
【0193】
図14のように仮想電子黒板表示データに枠160が表示される場合も同様であり、ユーザCが、ポインター170を仮想電子黒板表示データ9dに重ねた状態でポインター確定ボタン116を押下する。同期制御部22は、電子黒板2が手書き入力状態でないと判断する。同期制御部22は、すでに仮想電子黒板表示データ9cが電子黒板2と同期していたので、バーチャル表示制御部26を介して、メッセージ251をバーチャル会議スペース8に表示させる。
【0194】
<主な効果>
会議室に複数の参加者がいる場合で、ある参加者がバーチャル会議スペース8に表示された仮想電子黒板に、電子黒板2への手書き描画を表示させている間は、バーチャル会議スペース8に表示された他の仮想電子黒板の画面を電子黒板2に表示させないようにできる。ユーザが手書きしている状態で意図しない表示に切り替わることを防止でき、ユーザの利便性が向上する。
【0195】
[第三実施形態]
第一実施形態では、電子黒板2に表示させるバーチャル会議スペース8内の仮想電子黒板を、ユーザがVR用操作コントローラ6にあるポインター表示ボタン115の長押しで指定した。本実施形態では、バーチャル会議スペース8内に複数の仮想電子黒板がある場合に、ユーザは仮想電子黒板表示データのサムネイル画像の一覧を電子黒板2に表示して、電子黒板2にて電子黒板2と同期させる仮想電子黒板表示データを指定する。
【0196】
<機能について>
図17は、本実施形態のバーチャル会議サーバ1の機能構成図を示す。
図17ではバーチャル会議サーバ1の機能のみを示す。
図17において、
図6と同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
図17には、サムネイル生成部130が追加されている。サムネイル生成部130は、バーチャル会議スペース8に表示されている仮想電子黒板表示データのサムネイル画像を生成する。
【0197】
<動作又は処理>
図18,
図19を参照し、仮想電子黒板表示データのサムネイル画像の一覧を電子黒板2が表示して、電子黒板2と同期させる仮想電子黒板表示データをユーザが指定する処理について説明する。
【0198】
図18は、バーチャル会議スペース8に表示させている仮想電子黒板表示データのサムネイル画像を電子黒板2が表示する処理を説明するシーケンス図である。
図19は、電子黒板2が有する仮想ホワイトボード一覧表示ボタン260の一例を示す。仮想ホワイトボード一覧表示ボタン260はメニュー一覧の一部のボタン(ソフトキー)でもよいし、ハードキーでもよい。仮想ホワイトボード一覧表示ボタン260は、バーチャル会議スペース8に複数の仮想電子黒板が生成された場合に、バーチャル会議サービスが電子黒板2にその旨を通知して、電子黒板2が自動的に表示してよい。
【0199】
こうすることで、バーチャル会議スペース8に仮想電子黒板が1つしかないのに、仮想ホワイトボード一覧表示ボタン260が表示され、ユーザが押下する手間を低減できる。すなわち、バーチャル会議スペース8に仮想電子黒板が1つしかない場合には、第一実施形態や本実施形態のようにユーザが仮想電子黒板表示データを選択しなくても、バーチャル会議サービスの同期制御部22が仮想電子黒板表示データを電子黒板2と自動的に同期させてよい。
【0200】
S91:電子黒板2で実行されているバーチャル会議アプリは、バーチャル会議スペース8内の仮想電子黒板表示データのサムネイル画像を一覧表示させるための仮想ホワイトボード一覧表示ボタン260(
図19参照)を有する。まず、ユーザAがこの仮想ホワイトボード一覧表示ボタン260を選択する。
【0201】
S92:仮想ホワイトボード一覧表示ボタン260の押下に応じて、電子黒板2のLAN通信制御部72は仮想ホワイトボード一覧取得コマンドをバーチャル会議サービスへ送信する。
【0202】
S93:バーチャル会議サービスの通信制御部23がこのコマンドを受信すると、サムネイル生成部130がバーチャル会議スペース8に表示させている仮想電子黒板表示データのサムネイル画像を生成する。
図1のように2つの仮想電子黒板がある場合、サムネイル生成部130は、仮想電子黒板表示データ9cのサムネイル画像と仮想電子黒板表示データ9dのサムネイル画像を生成する。
【0203】
S94:バーチャル会議サービスの通信制御部23は、これらのサムネイル画像と各サムネイル画像に対応した仮想電子黒板の識別情報を、仮想ホワイトボード一覧取得コマンドに対するレスポンスメッセージに含めて電子黒板2へ送信する。
【0204】
S95:電子黒板2のLAN通信制御部72はこれらのデータを受信し、表示制御部71は、受信したサムネイル画像をディスプレイ480に表示させる。この電子黒板2におけるサムネイル画像の表示例を
図20(a)に示す。
【0205】
図20(a)は電子黒板2が表示した仮想電子黒板表示データのサムネイル画像261,262を示す。
図20に示すように、仮想ホワイトボード一覧表示ボタン260の押下時にバーチャル会議スペース8に存在する仮想電子黒板表示データのサムネイル画像261,262が一覧で表示される。ユーザは手Hや電子ペン490でサムネイル画像261,262を選択する。選択されたサムネイル画像261,262の識別情報がバーチャル会議サービスに送信される。
【0206】
なお、電子黒板2は、同期させる仮想電子黒板を選択可能に表示すればよく、仮想電子黒板表示データのサムネイル画像以外に、仮想電子黒板の識別情報リストを表示してもよい。
【0207】
図20(b)は電子黒板2が表示した仮想電子黒板のユーザ名リスト46を示す。ユーザは手Hや電子ペン490でユーザ名を選択する。選択されたユーザ名がバーチャル会議サービスに送信される。ユーザ名は仮想電子黒板にコピーされたノートPCのオーナーであり、仮想電子黒板の識別情報である。ユーザ名リスト46として表示される仮想電子黒板の識別情報は、例えば、バーチャル会議スペース8に生成されている仮想電子黒板の作成番号(例えば連番)、ユーザの場所、顔写真、アバター等でもよい。
【0208】
S96:ユーザが例えば仮想電子黒板表示データ9cのサムネイル画像をダブルクリックする。
【0209】
S97:電子黒板2のLAN通信制御部72は仮想電子黒板表示データ9cのサムネイル画像に対応付けられた仮想電子黒板の識別情報を仮想ホワイトボード画面取得コマンドに含めてバーチャル会議サービスへ送信する。
【0210】
S98:バーチャル会議サービスの通信制御部23がこのコマンドを受信すると、同期制御部22は、仮想電子黒板の識別情報で特定される仮想電子黒板表示データの選択を受け付ける。同期制御部22はバーチャル会議スペース8から選択を受け付けた仮想電子黒板表示データ9cを取得する。同期制御部22は通信制御部23を介して、電子黒板2に仮想電子黒板表示データ9cを送信する。
【0211】
S99:電子黒板2のLAN通信制御部72が仮想電子黒板表示データ9cを受信し、表示制御部71は仮想電子黒板表示データ9cを画面データとしてディスプレイ480に表示させる。
【0212】
S100:次に、ユーザが、仮想電子黒板表示データ9cを表示した電子黒板2に手書きを行った。
【0213】
S101:電子黒板2の接触位置検出部70は電子ペン490のペン先などの接触位置を検出し、描画データ生成部74が描画データを生成する。表示制御部71はこの手書きされた描画データをディスプレイ480の画面に重畳させて表示する。
【0214】
S102:電子黒板2のLAN通信制御部72は、この描画データをリアルタイムにバーチャル会議サービスへ送信する。
【0215】
S103:バーチャル会議サービスの通信制御部23がこの描画データを受信すると、バーチャル表示制御部26が仮想電子黒板表示データ9cに描画データを合成(重畳)することで、仮想電子黒板表示データ9cを更新する。描画データが同期した電子黒板2とバーチャル会議スペース8の表示例は
図13と同様である。
【0216】
<同期後の画面データの切り替え>
複数の仮想電子黒板表示データと電子黒板2が同期した後、電子黒板2は、1画面分、ディスプレイ480の画面データをスライドさせて、バーチャル会議スペース8に表示されている複数の仮想電子黒板表示データ9c,9dを1画面ずつ切り替えて表示してもよい。
【0217】
図21は、ユーザがディスプレイ480に表示させる仮想電子黒板表示データを切り替える操作を説明する図である。すでに、バーチャル会議スペース8の仮想電子黒板表示データ9c,9dが選択された後であり、電子黒板2の画面データ41,42と仮想電子黒板表示データ9c,9dが同期したことがある。電子黒板2は画面データ41,42がどの仮想電子黒板表示データ9c,9dと対応付けられているかを保持しておく。
【0218】
例えばユーザが、仮想電子黒板表示データ9cが表示されている状態で左方向にフリックすると、電子黒板2は仮想電子黒板表示データ9dを画面データ42として表示する。仮想電子黒板表示データ9dが表示されている状態でユーザが右方向にフリックすると、電子黒板2は仮想電子黒板表示データ9cを画面データ41として表示する。電子黒板2が表示していない仮想電子黒板表示データがバーチャル会議スペース8で更新された場合、バーチャル会議サービスの同期制御部22が、通信制御部23を介して、更新後の仮想電子黒板表示データを電子黒板2に送信する。電子黒板2が表示していない仮想電子黒板表示データとは、ユーザが同期させるために最後に選択した仮想電子黒板表示データでない全ての仮想電子黒板表示データである。
【0219】
したがって、仮想電子黒板表示データといったん電子黒板2が同期した後は、ユーザは簡単な操作で画面データ41、42を切り替えることができる。ユーザが画面をスライドさせた直後から、画面データ41、42を仮想電子黒板表示データ9c,9dと同期した状態で表示させることができる。
【0220】
<主な効果>
本実施形態によれば、電子黒板2に表示させるバーチャル会議スペース8の複数の仮想電子黒板を、ユーザが電子黒板2を操作して選択できるため、ユーザの利便性が向上する。1台の電子黒板2しかなくても、バーチャル会議スペース8に複数の仮想電子黒板表示データを保存しておけるので、ユーザは仮想電子黒板表示データを切り替えて、手書きすることができる。
【0221】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0222】
例えば、本実施形態では、ユーザがVR用操作コントローラを操作して仮想電子黒板表示データを選択したが、音声操作が利用されてよい。
【0223】
また、本実施形態では電子黒板の画面データをバーチャル会議スペース8に表示したが、プロジェクター、HUD(Head Up Display)装置、テレビ受像機、デジタルカメラ、医療機器、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、ウェアラブルPC等の画面データが表示されてもよい。2次元又は3次元で表示できる情報はバーチャル会議スペース8にて表示できる。
【0224】
また、電子黒板は、電子ホワイトボード、電子情報ボード、などと呼ばれてよい。また、本実施形態は、電子黒板に限らずタッチパネルを有する情報処理装置であれば好適に適用できる。タッチパネルを搭載した情報処理装置としては、タッチパネルを有するPC、タブレット端末、スマートフォンなどがある。これらは、普段は汎用的な情報処理装置であるが、表示装置として機能するアプリケーションを実行した場合に、ユーザが表示装置として操作可能となる。
【0225】
また、本実施形態では、バーチャル会議スペース8に表示データが表示されているが、参加者のアバターがバーチャル会議スペース8に表示されてもよい。アバターとは、コンピューターグラフィックスで作成した参加者の分身をいう。参加者はVRゴーグル5,12,15を装着することで、バーチャル会議スペース8に存在する各参加者のアバターが現実の空間に存在するかのように把握できる。
【0226】
電子黒板2に手書きされている間、バーチャル表示制御部26は同期されている仮想電子黒板表示データに手書きしている参加者のアバターを表示してもよい。この場合、電子黒板2は顔認証やログイン情報を使用して、手書きしている参加者を特定し、参加者の識別情報をバーチャル会議サービスに送信する。バーチャル表示制御部26は、識別情報で特定した参加者のアバターを同期されている仮想電子黒板表示データの近くに表示させる。更に、バーチャル表示制御部26は、アバターにペンのアイコンを持たせ、仮想電子黒板表示データにリアルタイムに表示される描画データの先端にアイコンのペン先を追従して表示するとよい。なお、アイコンが描画データや仮想電子黒板表示データを隠さないように半透明で表示されるとよい。
【0227】
また、バーチャル会議スペース8に複数の仮想電子黒板表示データが表示されており、任意の1つが現実の電子黒板2と同期されている場合、バーチャル表示制御部26は電子黒板2と同期されている仮想電子黒板表示データを強調してもよい。強調とは、例えば仮想電子黒板表示データの枠を点滅させたり、やや大きく表示したりすることをいう。
【0228】
また、
図6などの構成例は、仮想空間システム300による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。仮想空間システム300の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0229】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0230】
本発明の実施形態は、コンピュータの能力及び機能性に大きな改善をもたらす。これらの改善により、ユーザは、情報処理装置において情報を格納し提示する方法であるテーブルとの、より効率的で堅牢な対話を提供するコンピュータを利用することができる。更に、本発明の実施形態は、より効率的で強力かつ堅牢なユーザーインターフェイスの使用を通じて、より良いユーザ体験を提供する。このようなユーザーインターフェイスは、人間と機械との間のより良い相互作用を提供する。
【0231】
<付記>
[付記1]
仮想空間に表示された表示データを、現実の電子黒板に表示させる仮想空間システムであって、
前記仮想空間に複数の前記表示データが表示されている場合、ユーザにより選択された前記表示データを、前記電子黒板が表示する画面データと同期させる同期制御部、
を有する仮想空間システム。
[付記2]
前記同期制御部は、前記仮想空間に表示されている複数の前記表示データから任意の前記表示データの選択を受け付け、
選択を受け付けた前記表示データを、前記電子黒板が表示する前記画面データと同期させる付記1に記載の仮想空間システム。
[付記3]
前記仮想空間システムは情報処理システムを有し、
前記情報処理システムは前記仮想空間で表示される表示データを表示するデバイスと通信し、
前記情報処理システムは前記デバイスから送信されたコマンドに基づいて、前記表示データを指し示すポインターを前記仮想空間に表示させるバーチャル表示制御部を有し、
前記ポインターが前記仮想空間にある前記表示データと重なった状態で所定の操作情報を前記デバイスから受信した場合、前記同期制御部は、前記ポインターと重なっている前記表示データを前記電子黒板が表示する前記画面データと同期させる付記1又は2に記載の仮想空間システム。
[付記4]
所定の前記操作情報は、前記デバイスと通信するコントローラのボタンを長押しする操作を含む、付記3に記載の仮想空間システム。
[付記5]
前記仮想空間システムは情報処理システムを有し、
前記情報処理システムは前記仮想空間にある任意の表示データを表示するデバイスと通信し、
前記情報処理システムは前記デバイスから送信されたコマンドに基づいて、前記表示データを指し示すポインターを前記仮想空間に表示させるバーチャル表示制御部を有し、
前記ポインターが前記仮想空間に表示されている前記表示データと重なった場合に、前記バーチャル表示制御部は該表示データを強調して表示し、
前記同期制御部は、該表示データを強調して表示している状態で、所定の操作情報を前記デバイスから受信した場合、前記ポインターと重なっている前記表示データを前記電子黒板が表示する前記画面データと同期させる付記1又は2に記載の仮想空間システム。
[付記6]
前記仮想空間に複数の前記表示データが表示されており、前記同期制御部が、第一の表示データを前記電子黒板と同期させている場合に、
第二の表示データを前記電子黒板と同期させる所定の前記操作情報を受信した場合、前記同期制御部は、前記第二の表示データを前記電子黒板と同期させる所定の前記操作情報を無効にする付記3又は4に記載の仮想空間システム。
[付記7]
前記同期制御部が、前記第一の表示データを前記電子黒板と同期させている場合であっても、
前記電子黒板からペンアップを受信してから所定の時間が経過した後に、前記第二の表示データを前記電子黒板と同期させる所定の前記操作情報を受信した場合、前記同期制御部は、前記操作情報を無効にせず、前記第二の表示データを前記電子黒板が表示する前記画面データと同期させる付記6に記載の仮想空間システム。
[付記8]
前記仮想空間に生成された仮想電子黒板のリストを前記電子黒板に送信し、
前記電子黒板において選択された前記仮想電子黒板の識別情報を受信した場合、前記同期制御部は、前記仮想電子黒板の識別情報で特定される前記表示データの選択を受け付け、
選択を受け付けた前記表示データを前記電子黒板が表示する画面データと同期させる付記1に記載の仮想空間システム。
[付記9]
前記仮想空間に表示されている1つ以上の前記表示データのサムネイル画像を前記電子黒板に送信し、
前記電子黒板において選択された前記表示データの識別情報を受信した場合、前記同期制御部は、選択された前記表示データの識別情報に対応付けられている前記表示データを前記電子黒板が表示する画面データと同期させる付記8に記載の仮想空間システム。
[付記10]
前記同期制御部が前記第一の表示データを前記電子黒板と同期させた後に、
第二の表示データを前記電子黒板と同期させる場合、
前記同期制御部は、前記第二の表示データが前記電子黒板が表示していない表示データであっても、前記仮想空間で更新された前記表示データを前記電子黒板に送信することで同期させる付記7に記載の仮想空間システム。
[付記11]
前記電子黒板は、ユーザの操作に応じて、前記電子黒板が表示している表示データから、前記電子黒板が表示していない表示データに切り替えて表示する付記10に記載の仮想空間システム。
[付記12]
前記同期制御部が、ユーザにより選択された前記表示データを、前記電子黒板が表示する前記画面データと同期させた場合、
前記電子黒板に手書きされた描画データを、ユーザにより選択された前記表示データに重ねて表示する付記1~10のいずれか1項に記載の仮想空間システム。
[付記13]
端末装置から受信した、前記端末装置がディスプレイに表示する画面データが前記仮想空間に表示されており、
前記表示データは、前記画面データがコピーされたものであり、
前記同期制御部は、ユーザにより前記画面データがコピーされた前記表示データが選択された場合、選択された前記表示データを前記電子黒板の画面データと同期させる付記1~12のいずれか1項に記載の仮想空間システム。
【符号の説明】
【0232】
1 バーチャル会議サーバ
2 電子黒板
4,11,14 ノートPC
5,12,15 VRゴーグル
6,13,16 VR用操作コントローラ
8 バーチャル会議スペース
9 表示データ
【先行技術文献】
【特許文献】
【0233】