1:第1実施形態
以下、図1~図10を参照しつつ、本発明の第1実施形態に係る表示制御装置としての端末装置10を含む情報処理システム1の構成について説明する。
1-1:第1実施形態の構成
1-1-1:全体構成
図1は、本発明の第1実施形態に係る情報処理システム1の全体構成を示す図である。情報処理システム1は、後述のXRグラス20を装着したユーザU1に対して、XR技術を用いて、仮想空間を提供するシステムである。
情報処理システム1は、端末装置10、XRグラス20、及びサーバ30を備える。端末装置10は、表示制御装置の一例である。情報処理システム1において、端末装置10とサーバ30とは、通信網NETを介して互いに通信可能に接続される。また、端末装置10とXRグラス20とは互いに通信可能に接続される。以下の説明において、ユーザごとに使用される端末装置10とXRグラス20を区別する場合は、符号に添え字「-X」を用いる。Xは1以上の任意の整数である。また、端末装置10とXRグラス20各々の構成要素についても同様である。なお、図1において、端末装置10-1とXRグラス20とが互いに通信可能に接続される。また、図1においては、2台の端末装置10、1台のXRグラス20が示されるが、これらの台数は1例に過ぎず、情報処理システム1は、任意の台数の端末装置10及びXRグラス20を備えてもよい。
図1において、ユーザU1が端末装置10-1及びXRグラス20の組を使用することを前提とする。図1に示される情報処理システム1において、XRグラス20には、ユーザU1宛てのメッセージに対応する、後述の複数の個別オブジェクトが表示される。当該メッセージは、端末装置10-1から端末装置10-2に対して送信されたメッセージを含んでもよい。また、当該メッセージは、図1に図示されない他の端末装置から端末装置10-1に対して送信されたメッセージを含んでもよい。更に、当該メッセージは、端末装置10-1自身が生成したメッセージであってもよい。
サーバ30は、通信網NETを介して、端末装置10に対して各種データ及びクラウドサービスを提供する。
端末装置10-1は、ユーザが頭部に装着するXRグラス20に対して、仮想空間に配置される仮想オブジェクトを表示させる。当該仮想空間は、一例として、天球型の空間である。また、仮想オブジェクトは、例として、静止画像、動画、3DCGモデル、HTMLファイル、及びテキストファイル等のデータを示す仮想オブジェクト、及びアプリケーションを示す仮想オブジェクトである。ここで、テキストファイルとしては、例として、メモ、ソースコード、日記、及びレシピが挙げられる。また、アプリケーションとしては、例として、ブラウザ、SNSを用いるためのアプリケーション、及びドキュメントファイルを生成するためのアプリケーションが挙げられる。なお、端末装置10は、例として、スマートフォン、及びタブレット等の携帯端末装置であることが好適である。なお、端末装置10-1は、表示制御装置の一例である。
端末装置10-2は、ユーザU2が、ユーザU1に対してメッセージを送信するための装置である。当該端末装置10-2は、後述のディスプレイ14、又は当該端末装置10-2に接続される図示しないXRグラスに対して、仮想空間に配置される仮想オブジェクトを表示させてもよい。とりわけ、当該端末装置10-2が、仮想オブジェクトを表示する装置である場合、端末装置10-2が有する構成は、基本的には端末装置10-1と同一の構成を含む。また、端末装置10-2も端末装置10-1と同様に、例として、スマートフォン、及びタブレット等の携帯端末装置であることが好適である。
XRグラス20は、ユーザU1の頭部に装着するシースルー型のウェアラブルディスプレイである。XRグラス20は、端末装置10-1が制御することによって、両眼用のレンズの各々に設けられた表示パネルに仮想オブジェクトを表示させる。なお、XRグラス20は、表示装置の一例である。また、以下ではXRグラス20がARグラスである場合の例について説明する。しかし、XRグラス20がARグラスであることはあくまで一例であり、XRグラス20は、VRグラス又はMR(Mixed Reality)グラスであってもよい。
1-1-2:XRグラスの構成
図2は、XRグラス20の外観を示す斜視図である。図2に示されるようにXRグラス20の外観は、一般的な眼鏡と同様にテンプル91及び92、ブリッジ93、フレーム94及び95、並びにレンズ41L及び41Rを有する。
ブリッジ93には撮像装置26が設けられる。撮像装置26は外界を撮像する。また、撮像装置26は、撮像した画像を示す撮像情報を出力する。
レンズ41L及び41Rの各々は、ハーフミラーを備えている。フレーム94には、左眼用の液晶パネル又は有機ELパネルが設けられる。液晶パネル又は有機ELパネルは、以下、表示パネルと総称する。フレーム94には、左眼用の表示パネルから射出された光をレンズ41Lに導光する光学部材が設けられる。レンズ41Lに設けられるハーフミラーは、外界の光を透過させて左眼に導くと共に、光学部材によって導光された光を反射して、左眼に入射させる。フレーム95には、右眼用の表示パネルと、右眼用の表示パネルから射出された光をレンズ41Rに導光する光学部材が設けられる。レンズ41Rに設けられるハーフミラーは、外界の光を透過させて右眼に導くと共に、光学部材によって導光された光を反射して、右眼に入射させる。
後述するディスプレイ28は、レンズ41L、左眼用の表示パネル、及び左眼用の光学部材、並びにレンズ41R、右眼用の表示パネル、及び右眼用の光学部材を含む。
以上の構成において、ユーザU1は表示パネルが表示する画像を、外界の様子と重ね合わせたシースルーの状態で観察できる。また、XRグラス20において、視差を伴う両眼画像のうち、左眼用画像を左眼用の表示パネルに表示させ、右眼用画像を右眼用の表示パネルに表示させることによって、ユーザU1に対し、表示された画像があたかも奥行き、及び立体感を持つかのように知覚させることが可能となる。
図3は、XRグラス20の構成例を示すブロック図である。XRグラス20は、処理装置21、記憶装置22、視線検出装置23、GPS装置24、動き検出装置25、撮像装置26、通信装置27、及びディスプレイ28を備える。XRグラス20が有する各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。なお、本明細書における「装置」という用語は、回路、デバイス又はユニット等の他の用語に読替えてもよい。
処理装置21は、XRグラス20の全体を制御するプロセッサである。処理装置21は、例えば、単数又は複数のチップを用いて構成される。また、処理装置21は、例えば、周辺装置とのインタフェース、演算装置及びレジスタ等を含む中央処理装置(CPU:Central Processing Unit)を用いて構成される。なお、処理装置21が有する機能の一部又は全部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、及びFPGA(Field Programmable Gate Array)等のハードウェアによって実現してもよい。処理装置21は、各種の処理を並列的又は逐次的に実行する。
記憶装置22は、処理装置21による読取及び書込が可能な記録媒体である。また、記憶装置22は、処理装置21が実行する制御プログラムPR1を含む複数のプログラムを記憶する。
視線検出装置23は、ユーザU1の視線を検出し、検出結果を示す視線情報を生成する。視線検出装置23による視線の検出には、どのような方法を用いてもよい。視線検出装置23は、例えば、目頭の位置と虹彩の位置に基づいて視線情報を検出してもよい。視線情報はユーザU1の視線の方向を示す。視線検出装置23は、視線情報を後述の処理装置21に供給する。処理装置21に供給された視線情報は、通信装置27を介して、端末装置10に送信される。
GPS装置24は、複数の衛星からの電波を受信する。また、GPS装置24は、受信した電波から位置情報を生成する。位置情報は、XRグラス20の位置を示す。位置情報は、位置を特定できるのであれば、どのような形式であってもよい。位置情報は、例えば、XRグラス20の緯度と経度とを示す。一例として、位置情報はGPS装置24から得られる。しかし、XRグラス20は、どのような方法によって位置情報を取得してもよい。取得された位置情報は、処理装置21に供給される。処理装置21に出力された位置情報は、通信装置27を介して、端末装置10に送信される。
動き検出装置25は、XRグラス20の動きを検出する。動き検出装置25としては、加速度を検出する加速度センサ及び角加速度を検出するジャイロセンサなどの慣性センサが該当する。加速度センサは、直交するX軸、Y軸、及びZ軸の加速度を検出する。ジャイロセンサは、X軸、Y軸、及びZ軸を回転の中心軸とする角加速度を検出する。動き検出装置25は、ジャイロセンサの出力情報に基づいて、XRグラス20の姿勢を示す姿勢情報を生成できる。動き情報は、3軸の加速度を各々示す加速度データ及び3軸の角加速度を各々示す角加速度データを含む。また、動き検出装置25は、XRグラス20の姿勢を示す姿勢情報、及びXRグラス20の動きに係る動き情報を処理装置21に供給する。処理装置21に供給された姿勢情報及び動き情報は、通信装置27を介して、端末装置10に送信される。
撮像装置26は、外界を撮像して得られた撮像情報を出力する。また、撮像装置26は、例えば、レンズ、撮像素子、増幅器、及びAD変換器を備える。レンズを介して集光された光は、撮像素子によってアナログ信号である撮像信号に変換される。増幅器は撮像信号を増幅した上でAD変換器に出力する。AD変換器はアナログ信号である増幅された撮像信号をデジタル信号である撮像情報に変換する。変換された撮像情報は、処理装置21に供給される。処理装置21に供給された撮像情報は、通信装置27を介して、端末装置10に送信される。
通信装置27は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。また、通信装置27は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。通信装置27は、有線接続用のコネクターを備え、上記コネクターに対応するインタフェース回路を備えていてもよい。また、通信装置27は、無線通信インタフェースを備えていてもよい。有線接続用のコネクター及びインタフェース回路としては有線LAN、IEEE1394、及びUSBに準拠した製品が挙げられる。また、無線通信インタフェースとしては無線LAN及びBluetooth(登録商標)等に準拠した製品が挙げられる。
ディスプレイ28は、画像を表示するデバイスである。ディスプレイ28は、処理装置21による制御のもとで各種の画像を表示する。ディスプレイ28は、上記のように、レンズ41L、左眼用の表示パネル、及び左眼用の光学部材、並びにレンズ41R、右眼用の表示パネル、及び右眼用の光学部材を含む。表示パネルとしては、例えば、液晶表示パネル及び有機EL表示パネル等の各種の表示パネルが好適に利用される。
処理装置21は、例えば、記憶装置22から制御プログラムPR1を読み出して実行することによって、取得部211、及び表示制御部212として機能する。
取得部211は、端末装置10-1からXRグラス20に表示される画像を示す画像情報を取得する。
また、取得部211は、視線検出装置23から供給される視線情報、GPS装置24から供給される位置情報、動き検出装置25から供給される姿勢情報及び動き情報、及び撮像装置26から供給される撮像情報を取得する。その上で、取得部211は、取得した視線情報、位置情報、姿勢情報、動き情報、及び撮像情報を、通信装置27に供給する。
表示制御部212は、取得部211によって端末装置10-1から取得された画像情報に基づいて、ディスプレイ28に対して、当該画像情報によって示される画像を表示させる。
1-1-3:端末装置の構成
図4は、端末装置10の構成例を示すブロック図である。端末装置10は、処理装置11、記憶装置12、通信装置13、ディスプレイ14、入力装置15、及び慣性センサ16を備える。端末装置10が有する各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。以下では基本的に、端末装置10の構成として、端末装置10-1の構成について述べる。
処理装置11は、端末装置10の全体を制御するプロセッサである。また、処理装置11は、例えば、単数又は複数のチップを用いて構成される。処理装置11は、例えば、周辺装置とのインタフェース、演算装置及びレジスタ等を含む中央処理装置(CPU)を用いて構成される。なお、処理装置11が有する機能の一部又は全部を、DSP、ASIC、PLD、及びFPGA等のハードウェアによって実現してもよい。処理装置11は、各種の処理を並列的又は逐次的に実行する。
記憶装置12は、処理装置11が読取及び書込が可能な記録媒体である。また、記憶装置12は、処理装置11が実行する制御プログラムPR2を含む複数のプログラムを記憶する。
通信装置13は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。通信装置13は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、及び通信モジュール等とも呼ばれる。通信装置13は、有線接続用のコネクターを備え、上記コネクターに対応するインタフェース回路を備えていてもよい。また、通信装置13は、無線通信インタフェースを備えていてもよい。有線接続用のコネクター及びインタフェース回路としては有線LAN、IEEE1394、及びUSBに準拠した製品が挙げられる。また、無線通信インタフェースとしては無線LAN及びBluetooth(登録商標)等に準拠した製品が挙げられる。
ディスプレイ14は、画像及び文字情報を表示するデバイスである。ディスプレイ14は、処理装置11の制御のもとで各種の画像を表示する。例えば、液晶表示パネル及び有機EL(Electro Luminescence)表示パネル等の各種の表示パネルがディスプレイ14として好適に利用される。なお、端末装置10にXRグラス20が接続される場合、ディスプレイ14は、必須の構成要素としなくてもよい。この場合、当該XRグラス20が、ディスプレイ14と同一の機能を更に有することとなる。
入力装置15は、XRグラス20を頭部に装着したユーザU1からの操作を受け付ける。例えば、入力装置15は、キーボード、タッチパッド、タッチパネル又はマウス等のポインティングデバイスを含んで構成される。ここで、入力装置15は、タッチパネルを含んで構成される場合、ディスプレイ14を兼ねてもよい。
慣性センサ16は、慣性力を検出するセンサである。慣性センサ16は、例えば、加速度センサ、角速度センサ、及びジャイロセンサのうち、1以上のセンサを含む。処理装置11は、慣性センサ16の出力情報に基づいて、端末装置10の姿勢を検出する。更に、処理装置11は、端末装置10の姿勢に基づいて、天球型の仮想空間VSにおいて、仮想オブジェクトVOの選択、文字の入力、及び指示の入力を受け付ける。例えば、ユーザU1が端末装置10の中心軸を仮想空間VSの所定領域に向けた状態で、入力装置15を操作することによって、所定領域に配置される仮想オブジェクトVOが選択される。入力装置15に対するユーザU1の操作は、例えば、ダブルタップである。このようにユーザU1は端末装置10を操作することによって、端末装置10の入力装置15を見なくても仮想オブジェクトVOを選択できる。
なお、端末装置10にXRグラス20が接続されない場合、端末装置10は、XRグラス20に備わるGPS装置24と同様のGPS装置を備えることが好適である。
処理装置11は、記憶装置12から制御プログラムPR2を読み出して実行することによって、出力部111、取得部112、生成部113、及び表示制御部114として機能する。
出力部111は、ユーザU1が入力装置15を用いることによって作成されたメッセージをサーバ30に出力する。当該メッセージにおいては、メッセージの送信者、メッセージの受信者、及びメッセージの内容が指定される。当該メッセージの内容は、テキスト、及び画像のうち少なくとも一方を含む。
更に、出力部111は、端末装置10が、第1ユーザであるユーザU1によって使用される端末装置10-1である場合、後述の取得部112-1によって取得されたユーザU1宛てのメッセージが、ユーザU1によって既読となると、既読となったことを示す情報を、サーバ30に送信する。
取得部112は、ユーザU宛ての複数のメッセージを、サーバ30から取得する。端末装置10が、第1ユーザであるユーザU1によって使用される端末装置10-1である場合、取得部112-1は、ユーザU1宛ての複数のメッセージを、サーバ30から取得する。
生成部113は、取得部112によって取得された複数のメッセージに1対1に対応する複数の個別オブジェクトを生成する。
表示制御部114は、生成部113によって生成された複数の個別オブジェクトの集合体である仮想オブジェクトを、表示装置としてのXRグラス20に表示させる。
この結果、ユーザU1は、複数のメッセージの数を視認できる。
図5及び図6は、生成部113、及び表示制御部114の動作の一例を示す説明図である。以降の説明では、仮想空間VSにおいて、相互に直交するX軸、Y軸及びZ軸を想定する。一例として、X軸はユーザU1の前後方向に延伸する。更に、ユーザU1から見て、X軸に沿う前方向をX1方向とし、X軸に沿う後ろ方向をX2方向とする。また、Y軸はユーザU1の左右方向に延伸する。更に、ユーザU1から見て、Y軸に沿う右方向をY1方向とし、Y軸に沿う左方向をX2方向とする。これらのX軸とY軸とで水平面が構成される。また、Z軸はXY平面に直交し、ユーザU1の上下方向に延伸する。更に、ユーザU1から見て、Z軸に沿う下方向をZ1方向とし、Z軸に沿う上方向をZ2方向とする。
図5を参照すると、仮想空間VSにおいて、ユーザU1は座標(x,y,z)=(xu1,yu1,zu1)に位置するものとする。このユーザU1の座標は、仮想空間VSの略中心であることを前提とする。「略中心」とは、仮想空間VSの中心に加えて、当該中心から、本発明に係る情報処理システム1の動作上、支障のない範囲の領域を含む位置である。仮想空間VSにおけるユーザU1の座標は、現実空間におけるユーザU1の位置に対応する。また、現実空間におけるユーザU1の位置は、ユーザU1の頭部に装着されるXRグラス20において生成される位置情報によって示される。
図5に示される例において、表示制御部114によって、(x,y,z)=(x1,y1,z1)の座標に表示される仮想オブジェクトVO1は、各々がユーザU1宛てのメッセージに1対1に対応する個別オブジェクトSO1~個別オブジェクトSO3の集合体である。図5において、仮想オブジェクトVO1、及び個別オブジェクトSO1~個別オブジェクトSO3は、例として球体である。また、個別オブジェクトSO1の座標(x,y,z)=(x2,y2,z2)、個別オブジェクトSO2の座標(x,y,z)=(x3,y3,z3)、及び個別オブジェクトSO3の座標(x,y,z)=(x4,y4,z4)は、全て仮想オブジェクトVO1内の座標である。また、個別オブジェクトSO1~個別オブジェクトSO3としての各球体は、その全体が、仮想オブジェクトVO1としての球体の内側に存在する。すなわち、仮想オブジェクトVO1は、ユーザU1宛てのメッセージの数と同一個数の個別オブジェクトSO1~個別オブジェクトSO3を含む。
なお、表示制御部114が、XRグラス20に個別オブジェクトSO1~個別オブジェクトSO3を表示させる際に用いる画像情報は、記憶装置12に格納された情報であってもよい。あるいは、当該画像情報は、取得部112がサーバ30から取得した情報であってもよい。
また、個別オブジェクトSO1~個別オブジェクトSO3は、ユーザU1宛ての全てのメッセージに対して1対1に対応してもよい。あるいは、個別オブジェクトSO1~個別オブジェクトSO3は、ユーザU1宛ての全てのメッセージのうち、未読メッセージに対してのみ、1対1に対応してもよい。あるいは、複数の既読メッセージに対して1個の個別オブジェクトが対応してもよい。
また、図5において、ユーザU1が、仮想オブジェクトVO1を視認する際の視野角は、θ1である。
説明を図4に戻すと、表示制御部114は、更に、取得部112によって取得された複数のメッセージの数が多いほど、仮想オブジェクトVO1の大きさを大きくする。すなわち、表示制御部114は、仮想オブジェクトVO1に含まれる個別オブジェクトSOの数が増えるほど、仮想オブジェクトVO1の大きさを大きくする。また、表示制御部114は、上記の複数のメッセージの数が多いほど、仮想空間VSにおいて、ユーザU1から遠い位置に仮想オブジェクトVO1を配置する。換言すれば、表示制御部114は、上記の複数のメッセージの数が多いほど、仮想空間VSの中心から仮想オブジェクトVO1の中心までの距離を長くする。すなわち、表示制御部114は、上記の複数のメッセージの数が第1の数の場合に、仮想オブジェクトVO1の大きさを第1の大きさとすると共に、仮想空間VSの中心から、仮想オブジェクトVO1の中心までの距離を第1の距離とする。また、表示制御部114は、上記の複数のメッセージの数が第1の数よりも大きな第2の数の場合に、仮想オブジェクトVO1の大きさを第1の大きさよりも大きな第2の大きさとすると共に、仮想空間VSの中心から、仮想オブジェクトVO1の中心までの距離を第1の距離よりも長い第2の距離とする。
図6に示される例において、(x,y,z)=(x5,y5,z5)の座標に表示される仮想オブジェクトVO2は、各々がユーザU1宛てのメッセージに1対1に対応する個別オブジェクトSO1~個別オブジェクトSO6の集合体である。図6において、仮想オブジェクトVO2、個別オブジェクトSO1~個別オブジェクトSO6の形状は、例として球体である。仮想オブジェクトVO2は、ユーザU1宛てのメッセージの数と同一個数の個別オブジェクトSO1~個別オブジェクトSO6を含む。
図5に示される仮想オブジェクトVO1と、図6に示される仮想オブジェクトVO2とを比較すると、仮想オブジェクトVO2は、仮想オブジェクトVO1に比較して、より多くの個別オブジェクトSOを含む。また、仮想オブジェクトVO2は仮想オブジェクトVO1よりも大きい。更に、仮想オブジェクトVO2の座標(x,y,z)=(x5,y5,z5)は、仮想オブジェクトVO1の座標(x,y,z)=(x1,y1,z1)より、仮想空間VSの略中心であるユーザU1の座標(x,y,z)=(xU1,yU1,zU1)から見て、遠くに位置する。
また、図6において、ユーザU1が、仮想オブジェクトVO2を視認する場合の視野角は、θ2である。図5と図6とを比較すると、図5において、ユーザが仮想オブジェクトVO1を視認する場合の視野角θ1と、図6において、ユーザが仮想オブジェクトVO2を視認する場合の視野角θ2とは等しいことが好適である。θ1とθ2とが等しい場合には、ユーザU1の視野において、仮想オブジェクトVO1が占める割合と、仮想オブジェクトVO2が占める割合とは等しい。ユーザU1宛てのメッセージに1対1に対応する個別オブジェクトSOの数が増加しても、ユーザU1の視野における仮想オブジェクトVO2の面積は、仮想オブジェクトVO1の面積と等しいままであるため、ユーザU1は視界が狭くなったとは感じない。ただし、個別オブジェクトSOの数が増加すると、ユーザU1の視界における個々の個別オブジェクトSOの面積は小さくなる。なお、視野角θ1と視野角θ2は、必ずしも等しくなくてもよい。
なお、説明の便宜上、仮想オブジェクトVO1と仮想オブジェクトVO2に対しては異なる符号を用いているが、ユーザU1宛てのメッセージの数、すなわち個別オブジェクトSOの数が増加するに伴って、同一の仮想オブジェクトVO1が徐々に大きくなってもよい。
また、表示制御部114は、ユーザU1宛ての複数のメッセージの数に応じて、仮想オブジェクトVO1の表示態様を変更する。例えば、仮想オブジェクトVO1に含まれる個別オブジェクトSOの数が増加するに伴って、表示制御部114は、仮想オブジェクトVO1の色、及び仮想オブジェクトVO1に含まれる個別オブジェクトSOの色のうち少なくとも一方を変化させてもよい。あるいは、表示制御部114は、個別オブジェクトSOの数が増加するに伴って、仮想オブジェクトVO1の形状を変更してもよい。例えば、個別オブジェクトSOの数が所定個数に達するたびに、仮想オブジェクトVO1において、複数の個別オブジェクトSOは特定の文字を表すように整列してもよい。図7は、複数の個別オブジェクトSO1~個別オブジェクトSO10の整列の態様の一例を示す図である。図7に示される例では、仮想オブジェクトVO3において、複数の個別オブジェクトSO1~個別オブジェクトSO10は、「N」の文字を表すように整列する。
この結果、端末装置10は、複数のメッセージの数が増加した場合に、ユーザU1に対して、当該複数のメッセージの数が増加したことを、より訴求できる。
また、表示制御部114は、ユーザU1宛ての複数のメッセージの各々に対応する送信元装置に応じて、個別オブジェクトSOの表示態様を互いに異ならせてもよい。例えば、表示制御部114は、メッセージの送信元装置に応じて、個別オブジェクトSOの形状及び色のうち少なくとも一方を変更してもよい。
この結果、ユーザU1は、複数の個別オブジェクトSOを視認するだけで、複数のメッセージの送信元装置に応じて、当該複数の個別オブジェクトSOを区別することが可能となる。
1-1-4:サーバの構成
図8は、サーバ30の構成例を示すブロック図である。サーバ30は、処理装置31、記憶装置32、通信装置33、ディスプレイ34、及び入力装置35を備える。サーバ30が有する各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。
処理装置31は、サーバ30の全体を制御するプロセッサである。また、処理装置31は、例えば、単数又は複数のチップを用いて構成される。処理装置31は、例えば、周辺装置とのインタフェース、演算装置及びレジスタ等を含む中央処理装置(CPU)を用いて構成される。なお、処理装置31が有する機能の一部又は全部を、DSP、ASIC、PLD、FPGA等のハードウェアによって実現してもよい。処理装置31は、各種の処理を並列的又は逐次的に実行する。
記憶装置32は、処理装置31が読取及び書込が可能な記録媒体である。また、記憶装置32は、処理装置31が実行する制御プログラムPR3を含む複数のプログラムを記憶する。更に、記憶装置32は、複数のユーザU間において送受信されるメッセージに係る情報が格納されるメッセージデータベースMDを記憶する。
図9は、メッセージデータベースMDの例を示す表である。後述のように、サーバ30に備わる取得部311によって、端末装置10からユーザU間において送受信されるメッセージが取得される。より詳細には、取得部311は、端末装置10から出力されるメッセージの送信者を示す情報、メッセージの受信者を示す情報、及びメッセージの内容を示す情報を取得する。これらの情報は、メッセージデータベースMDに格納される。更に、取得部311は、各メッセージがユーザUによって既読となったことを示す情報を取得する。後述のメッセージ管理部313は、当該情報に基づいて、メッセージデータベースMDにおいて、各々のメッセージが既読となったか否かを示すフラグを付加する。例として、値が「0」のフラグは、メッセージが未読であることを示す。一方で、値が「1」のフラグは、メッセージが既読であることを示す。図9に示されるメッセージデータベースMDには、一例として、メッセージIDである「1」、当該メッセージID=1のメッセージの送信者である「U1」、受信者である「U2」、メッセージの内容、及び未読であることを示すフラグ「0」が互いに紐づけられた状態で格納される。なお、図9に示される表において、「n」は2以上の整数である。
図8に説明を戻すと、通信装置33は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。通信装置33は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。通信装置33は、有線接続用のコネクターを備え、上記コネクターに対応するインタフェース回路を備えていてもよい。また、通信装置33は、無線通信インタフェースを備えていてもよい。有線接続用のコネクター及びインタフェース回路としては有線LAN、IEEE1394、USBに準拠した製品が挙げられる。また、無線通信インタフェースとしては無線LAN及びBluetooth(登録商標)等に準拠した製品が挙げられる。
ディスプレイ34は、画像及び文字情報を表示するデバイスである。ディスプレイ34は、処理装置31による制御のもとで各種の画像を表示する。例えば、液晶表示パネル及び有機EL表示パネル等の各種の表示パネルがディスプレイ34として好適に利用される。
入力装置35は、情報処理システム1の管理者による操作を受け付ける機器である。例えば、入力装置35は、キーボード、タッチパッド、タッチパネル又はマウス等のポインティングデバイスを含んで構成される。ここで、入力装置35は、タッチパネルを含んで構成される場合、ディスプレイ34を兼ねてもよい。
処理装置31は、例えば、記憶装置32から制御プログラムPR3を読み出して実行することによって、取得部311、出力部312、及びメッセージ管理部313として機能する。
取得部311は、通信装置33を介して、端末装置10から各種のデータを取得する。当該データには、一例として、XRグラス20を頭部に装着したユーザU1によって端末装置10に入力される、仮想オブジェクトVOに対する操作内容を示すデータが含まれる。
とりわけ、取得部311は、ユーザU間において送受信されるメッセージを取得する。更に、取得部311は、一例として、端末装置10-1において、ユーザU1宛てのメッセージがユーザU1によって既読となった場合には、既読となったことを示す情報を取得する。
出力部312は、XRグラス20に表示される画像を示す画像情報を、端末装置10に送信する。当該画像情報は、記憶装置32に格納されていてもよい。あるいは、当該画像情報は、図示しない生成部によって生成されてもよい。
また出力部312は、一例として、端末装置10-1に対し、メッセージデータベースMDに格納されるユーザU1宛てのメッセージを送信する。他の端末装置10に対しても同様である。
メッセージ管理部313は、メッセージデータベースMDを管理する。一例として、端末装置10-1において、ユーザU1宛てのメッセージがユーザU1によって既読となったことを示す情報が取得部311によって取得された場合には、メッセージ管理部313は、当該メッセージに紐づく未読であることを示すフラグ「0」を、既読であることを示すフラグ「1」に変更する。
1-2:第1実施形態の動作
図10は、第1実施形態に係る端末装置10、とりわけユーザU1によって使用される端末装置10-1の動作を示すフローチャートである。以下、図10を参照して、端末装置10-1の動作について説明する。
ステップS1において、処理装置11-1は、取得部112-1として機能する。処理装置11-1は、ユーザU1宛ての複数のメッセージを取得する。
ステップS2において、処理装置11-1は、生成部113-1として機能する。処理装置11-1は、複数のメッセージに1対1に対応する複数の個別オブジェクトSOを生成する。
ステップS3において、処理装置11-1は、表示制御部114-1として機能する。処理装置11-1は、複数の個別オブジェクトSOの集合体である仮想オブジェクトVOを、表示装置としてのXRグラス20に表示させる。とりわけ、処理装置11-1は、ステップS1において取得された複数のメッセージの数が多いほど、仮想オブジェクトVOの大きさを大きくする。また、処理装置11-1は、ステップS1において取得された複数のメッセージの数が多いほど、仮想空間VSにおいて、ユーザU1から遠い位置に仮想オブジェクトVO1を配置する。その後、処理装置11-1は、ステップS1の処理を実行する。
1-3:第1実施形態が奏する効果
以上の説明によれば、表示制御装置としての端末装置10は、頭部に装着される表示装置としてのXRグラス20に、仮想オブジェクトVOを含む仮想空間VSを表示させる表示制御装置である。当該端末装置10は、取得部112、生成部113、及び表示制御部114を備える。取得部112は、複数のメッセージを取得する。生成部113は、複数のメッセージに1対1に対応する複数の個別オブジェクトSOを生成する。表示制御部114は、複数の個別オブジェクトSOの集合体である仮想オブジェクトVOを、表示装置としてのXRグラス20に表示させる。また、表示制御部114は、複数のメッセージの数が第1の数である場合に、仮想オブジェクトVOの大きさを第1の大きさとすると共に、仮想空間VSにおいて、当該仮想空間VSの中心から仮想オブジェクトVOの中心までの距離を第1の距離とする。更に、表示制御部114は、複数のメッセージの数が第1の数よりも大きな第2の数の場合に、仮想オブジェクトVOの大きさを第1の大きさよりも大きな第2の大きさとすると共に、仮想空間VSにおいて、当該仮想空間VSの中心から仮想オブジェクトVOの中心までの距離を、第1の距離よりも長い第2の距離とする。
端末装置10は、上記の構成を備えるので、仮想空間VSにメッセージの数に対応する仮想オブジェクトVOを表示しながら、メッセージの数が増加しても、ユーザの利便性の低下を抑制することが可能となる。具体的には、仮想空間VSにおいて、メッセージの数に対応した個別オブジェクトSOの数が増加するに伴って、端末装置10は、当該個別オブジェクトSOの集合体である仮想オブジェクトVOの大きさを大きくすると共に、ユーザU1からより遠い位置に仮想オブジェクトVOを表示する。端末装置10が、この構成を備えるので、ユーザU1が頭部に装着するXRグラス20に備わるディスプレイ28において、個別オブジェクトSOの数が増加しても、その一覧性が確保される。この結果、ユーザの利便性の低下が抑制される。
また以上の説明によれば、表示制御部114は、複数のメッセージの数に応じて、仮想オブジェクトVOの表示態様を変更する。
端末装置10は、上記の構成を備えるので、複数のメッセージの数が増加した場合に、当該複数のメッセージの数が増加したことを、ユーザU1に対してより訴求することが可能となる。
また以上の説明によれば、表示制御部114は、複数のメッセージの各々に対応する送信元装置に応じて、複数の個別オブジェクトSOの表示態様を互いに異ならせる。
端末装置10は、上記の構成を備えるので、ユーザU1は、複数の個別オブジェクトSOを視認するだけで、複数のメッセージの送信元装置に応じて、当該複数の個別オブジェクトSOを区別することが可能となる。
2:第2実施形態
以下、図11~図14を参照しつつ、本発明の第2実施形態に係る表示制御装置としての端末装置10Aを含む情報処理システム1Aの構成について説明する。
2-1:第2実施形態の構成
2-1-1:全体構成
本発明の第2実施形態に係る情報処理システム1Aは、第1実施形態に係る情報処理システム1に比較して、端末装置10の代わりに端末装置10Aを備える点で異なる。それ以外の点では、情報処理システム1Aの全体構成は、図1に示される第1実施形態に係る情報処理システム1の全体構成と同一であるので、その図示と説明を省略する。
2-1-2:端末装置の構成
図11は、端末装置10Aの構成例を示すブロック図である。端末装置10Aは端末装置10と異なり、処理装置11の代わりに処理装置11Aを、記憶装置12の代わりに記憶装置12Aを備える。
記憶装置12Aは、記憶装置12と異なり、制御プログラムPR2の代わりに制御プログラムPR2Aを記憶する。
処理装置11Aは、処理装置11に備わる表示制御部114の代わりに、表示制御部114Aを備える。また、処理装置11Aは、処理装置11に備わる構成要素に加えて、受付部115と決定部116を備える。
受付部115は、仮想オブジェクトVOに対するユーザU1からの操作を受け付ける。例えば、受付部115は、ユーザU1による入力装置15を用いた操作を受け付けてもよい。あるいは、受付部115は、仮想空間VSにおいて、ユーザU1が仮想オブジェクトVOに接触する操作を受け付けてもよい。これらの、仮想空間VSにおいて仮想オブジェクトVOが選択される操作は、第1操作の一例である。
また受付部115は、ユーザU1が、後述のように、仮想空間VSに表示される複数のメッセージの一覧から、一つのメッセージを選択する操作を受け付けてもよい。これらの複数のメッセージと複数の個別オブジェクトSOとは1対1に対応する。ユーザU1が複数のメッセージの一覧から一つのメッセージを選択することによって、一つの個別オブジェクトSOが選択される。あるいは受付部115は、仮想空間VSにおいて、ユーザU1が一つの個別オブジェクトSOに接触する操作を受け付けてもよい。これらの、仮想空間VSにおいて一つの個別オブジェクトSOが選択される操作は、第2操作の一例である。
表示制御部114Aは、表示制御部114と同一の機能を有する。更に、表示制御部114Aは、ユーザU1による操作が上記の第1操作である場合、複数のメッセージの一覧を、仮想空間VSに表示させる。一方で、表示制御部114Aは、ユーザU1による操作が上記の第2操作である場合、当該第2操作によって指定された一つの個別オブジェクトSOに対応するメッセージの内容を、仮想空間VSに表示させる。
図12及び図13は、表示制御部114Aと受付部115の動作例の説明図である。図12において、ユーザU1が端末装置10-1を用いて仮想オブジェクトVO2を選択する操作を行った場合、表示制御部114Aによって、仮想空間VSに複数のメッセージの一覧Lが表示される。より詳細には図12に示されるように、表示制御部114Aによって、仮想空間VSに、メッセージA~メッセージFのタイトルのリストが一覧Lとして表示される。メッセージA~メッセージFの各々は、個別オブジェクトSO1~個別オブジェクトSO6に1対1に対応する。なお、図12において、ユーザU1から見て、一覧Lは、仮想オブジェクトVO2の左側に表示されているが、当該表示場所は、あくまで一例である。一覧Lは、仮想空間VSの任意の箇所に表示されてよい。とりわけ、一覧Lは、ユーザU1から見て、仮想オブジェクトVO2と重ならない位置に表示されることが好適である。ユーザU1が、仮想空間VSにおいて仮想オブジェクトVO7に接触する操作を行った場合についても同様である。
この結果、ユーザU1は、仮想オブジェクトVOに含まれる複数の個別オブジェクトSOに1対1に対応する複数のメッセージを、一覧形式で視認できる。
図12において、ユーザU1が、一覧Lに示される複数のメッセージから一のメッセージを選択する操作を行った場合、図13に示されるように、メッセージの内容を示すメッセージオブジェクトMO1が表示される。メッセージオブジェクトMO1は、テキスト及び画像の少なくとも一方を含む。図13に示される例においては、ユーザU1が一覧Lに示される複数のメッセージから、個別オブジェクトSO6に対応する「メッセージF」を選択する操作を行った場合を示す。ユーザU1が、仮想空間VSにおいて個別オブジェクトSO6に接触する操作を行った場合についても同様である。
この結果、ユーザU1は、仮想オブジェクトVOに含まれる複数の個別オブジェクトSOに1対1に対応する複数のメッセージの各々の具体的な内容を視認できる。
説明を図11に戻すと、決定部116は、複数のメッセージの各々について重要度を決定する。例えば、決定部116は、複数のメッセージの各々の内容を解析することによって、重要度を決定してもよい。あるいは、決定部116は、複数のメッセージの各々に対応する送信元装置に基づいて、重要度を決定してもよい。あるいは、決定部116は、入力装置15を用いたユーザU1の操作に基づいて、重要度を決定してもよい。例えば、図13に示されるように、一つの個別オブジェクトSOに対応するメッセージの内容が表示された状態で、ユーザU1が当該メッセージの重要度を判断し、入力装置15を用いて判断結果を入力する。決定部116は、入力装置15からの入力内容に基づいて、重要度を決定してもよい。
表示制御部114Aは、仮想オブジェクトVOに含まれる複数の個別オブジェクトSOのうち、重要度が所定値以上のメッセージに対応する個別オブジェクトSOを、重要度が所定値未満のメッセージに対応する個別オブジェクトSOに比較して、ユーザU1の近傍、すなわち仮想空間VSの略中心の近傍に表示させる。更に、表示制御部114Aは、仮想オブジェクトVO内において、重要度が高い個別オブジェクトSOほど、ユーザU1の近傍、すなわち仮想空間VSの略中心の近傍に表示させてもよい。なお、上記の「所定値」は、「第1の値」の一例である。
この結果、ユーザU1は、自身にとってより重要度の高いメッセージを優先的に確認できる。
2-2:第2実施形態の動作
図14は、第2実施形態に係る端末装置10A、とりわけユーザU1によって使用される端末装置10A-1の動作を示すフローチャートである。以下、図14を参照しつつ、端末装置10A-1の動作について説明する。
ステップS11において、処理装置11A-1は、取得部112-1として機能する。処理装置11A-1は、ユーザU1宛ての複数のメッセージを取得する。
ステップS12において、処理装置11A-1は、生成部113-1として機能する。処理装置11A-1は、複数のメッセージに1対1に対応する複数の個別オブジェクトSOを生成する。
ステップS13において、処理装置11A-1は、表示制御部114A-1として機能する。処理装置11A-1は、複数の個別オブジェクトSOの集合体である仮想オブジェクトVOを、表示装置としてのXRグラス20に表示させる。処理装置11A-1は、ステップS11において取得された複数のメッセージの数が多いほど、仮想オブジェクトVOの大きさを大きくする。また、処理装置11A-1は、ステップS11において取得された複数のメッセージの数が多いほど、仮想空間VSにおいて、ユーザU1から遠い位置に仮想オブジェクトVO1を配置する。
ステップS14において、処理装置11A-1は、受付部115として機能する。処理装置11A-1は、ユーザU1からの操作を受け付ける。ユーザU1からの操作が、仮想オブジェクトVOに対する第1操作である場合、処理装置11A-1は、ステップS15の処理を実行する。ユーザU1からの操作が、個別オブジェクトSOに対する第2操作である場合、処理装置11A-1は、ステップS16の処理を実行する。
ステップS15において、処理装置11A-1は、表示制御部114Aとして機能する。処理装置11A-1は、複数のメッセージの一覧Lを、仮想空間VSに表示させる。その後、処理装置11A-1は、ステップS14の処理を実行する。
ステップS16において、処理装置11A-1は、表示制御部114Aとして機能する。処理装置11A-1は、一つの個別オブジェクトSOに対応するメッセージの内容を、仮想空間VSに表示させる。その後、処理装置11A-1は、ステップS11の処理を実行する。
2-3:第2実施形態が奏する効果
以上の説明によれば、表示制御装置としての端末装置10Aは、仮想オブジェクトVOに対する操作を受け付ける受付部115を更に備える。表示制御部114は、上記の操作が第1操作である場合、複数のメッセージの一覧Lを、仮想空間VSに表示させる。
端末装置10Aは、上記の構成を備えるので、ユーザU1は、仮想オブジェクトVOに含まれる複数の個別オブジェクトSOに1対1に対応する複数のメッセージを一覧形式で視認できる。
また以上の説明によれば、表示制御装置としての端末装置10Aにおいて、表示制御部114は、上記の操作が複数の個別オブジェクトSOのうち一の個別オブジェクトSOを指定する第2操作である場合、一の個別オブジェクトSOに対応するメッセージの内容を、仮想空間VSに表示させる。
端末装置10Aは、上記の構成を備えるので、ユーザU1は、仮想オブジェクトVOに含まれる複数の個別オブジェクトSOに1対1に対応する複数のメッセージの各々の具体的な内容を視認できる。
また以上の説明によれば、表示制御装置としての端末装置10Aは、複数のメッセージの各々について重要度を決定する決定部116を更に備える。表示制御部114は、仮想オブジェクトVOに含まれる複数の個別オブジェクトSOのうち、重要度が第1の値以上のメッセージに対応する個別オブジェクトSOを、重要度が第1の値未満のメッセージに対応する個別オブジェクトSOに比較して、ユーザU1の近傍に表示させる。
端末装置10Aは、上記の構成を備えるので、ユーザUは、自身にとってより重要度の高いメッセージを優先的に確認できる。
3:第3実施形態
以下、図15を参照しつつ、本発明の第3実施形態に係る表示制御装置としての端末装置10Bを含む情報処理システム1Bの構成について説明する。
3-1:第3実施形態の構成
3-1-1:全体構成
本発明の第3実施形態に係る情報処理システム1Bは、第1実施形態に係る情報処理システム1に比較して、端末装置10の代わりに端末装置10Bを備える点で異なる。それ以外の点では、情報処理システム1Bの全体構成は、図1に示される第1実施形態に係る情報処理システム1の全体構成と同一であるので、その図示と説明を省略する。
3-1-2:端末装置の構成
図15は、端末装置10Bの構成例を示すブロック図である。端末装置10Bは端末装置10と異なり、処理装置11の代わりに処理装置11Bを、記憶装置12の代わりに記憶装置12Bを備える。また、端末装置10Bは、端末装置10に備わる構成要素に加えて、収音装置17を備える。
収音装置17は、ユーザU1の音声を収音し、収音した音声を電気信号に変換する。収音装置17は、具体的にはマイクである。収音装置17によって音声から変換された電気信号は、後述の音声認識部117に出力される。
記憶装置12Bは、記憶装置12と異なり、制御プログラムPR2の代わりに制御プログラムPR2Bを記憶する。
処理装置11Bは、処理装置11と異なり、取得部112の代わりに取得部112Bを備える。また、処理装置11Bは、処理装置11に備わる構成要素に加えて、音声認識部117とメッセージ生成部118を備える。
音声認識部117は、収音装置17が収音した音声を認識する。より詳細には、音声認識部117は、収音装置17から取得した電気信号に基づいて音声認識を実行することによって、テキストを生成する。
メッセージ生成部118は、音声認識部117によって生成されたテキストに対応するメッセージを生成する。メッセージ生成部118が生成したメッセージは、取得部112Aが取得する。すなわち取得部112Aが取得する複数のメッセージには、メッセージ生成部118が生成したメッセージが含まれる。なお、取得部112Aが取得する当該複数のメッセージは、メッセージ生成部118が生成したメッセージに加えて、ユーザU1を含む複数のユーザUが生成したメッセージを含んでもよい。換言すれば、当該複数のメッセージは、表示制御装置としての端末装置10B-1、及び通信網NETを介して当該端末装置10B-1に接続する1つ又は複数の端末装置10Bが生成する。
端末装置10Bは、上記の構成を備えるので、ユーザU1が発した音声に基づいてメッセージを生成し、当該生成したメッセージに基づいて、個別オブジェクトSOを生成できる。
3-2:第3実施形態の動作
第3実施形態に係る端末装置10B、とりわけユーザU1が使用する端末装置10B-1の動作は、基本的に図10に示される第1実施形態に係る端末装置10-1の動作と同一であるため、その図示と詳細な説明は省略する。端末装置10B-1の動作では、ステップS1において取得される複数のメッセージに、メッセージ生成部118が生成したメッセージが含まれる。
3-3:第3実施形態が奏する効果
以上の説明によれば、表示制御装置としての端末装置10B-1において、複数のメッセージは、表示制御装置としての端末装置10B-1、及び通信網NETを介して当該端末装置10B-1に接続する1つ又は複数の端末装置10Bが生成する。
端末装置10Bは、上記の構成を備えるので、ユーザU1は、ユーザU1以外のユーザUによって生成されたメッセージを確認できる。
また以上の説明によれば、表示制御装置としての端末装置10Bは、収音装置17、音声認識部117、及びメッセージ生成部118を更に備える。収音装置17は、ユーザUの音声を収音し、当該音声を表す電気信号を出力する。音声認識部117は、収音装置17から出力される電気信号に基づいてテキストを生成する。メッセージ生成部118は、音声認識部117によって生成されたテキストに対応するメッセージを生成する。また、上記の複数のメッセージは、メッセージ生成部118が生成したメッセージを含む。
端末装置10Bは、上記の構成を備えるので、ユーザU1の発する音声に基づいて、個別オブジェクトSOを生成できる。
4:第4実施形態
以下、図16~図19を参照しつつ、本発明の第4実施形態に係る表示制御装置としての端末装置10Cを含む情報処理システム1Cの構成について説明する。
4-1:第4実施形態の構成
4-1-1:全体構成
本発明の第4実施形態に係る情報処理システム1Cは、第1実施形態に係る情報処理システム1に比較して、端末装置10の代わりに端末装置10Cを、サーバ30の代わりにサーバ30Aを備える点で異なる。それ以外の点では、情報処理システム1Cの全体構成は、図1に示される第1実施形態に係る情報処理システム1の全体構成と同一であるので、その図示と説明を省略する。
4-1-2:端末装置の構成
端末装置10Cは端末装置10と異なり、処理装置11の代わりに処理装置11Cを、記憶装置12の代わりに記憶装置12Cを備える。記憶装置12Cは、記憶装置12と異なり、制御プログラムPR2の代わりに制御プログラムPR2Cを記憶する。処理装置11Cは、処理装置11と異なり、出力部111の代わりに出力部111Cを備える。それ以外の点では、端末装置10Cの構成は、図4に示される第1実施形態に係る端末装置10の構成と同一であるため、その図示と説明を省略する。
出力部111Cは、出力部111が有する機能と同一の機能を有する。更に出力部111Cは、端末装置10の装置ID(identifer)、端末装置10を使用するユーザ名、及び端末装置10がXRグラス20から取得した位置情報を、サーバ30Aに出力する。例えば、端末装置10が、第1ユーザであるユーザU1が使用する端末装置10-1である場合、出力部111C-1は、端末装置10-1の機器ID、端末装置10-1のユーザ名である「U1」、及びユーザU1の頭部に装着されるXRグラス20が生成する位置情報を、サーバ30Aに出力する。端末装置10-1は、第1表示制御装置の一例である。また、出力部111Cは、表示制御部114によって仮想空間VSに表示された仮想オブジェクトVOの、当該仮想空間VSでの表示位置を示す座標を、サーバ30Aに出力する。端末装置10-1と接続されるXRグラス20には仮想オブジェクトVOを含む仮想空間VSが表示される。XRグラス20は第1表示装置の一例である。XRグラス20に表示される仮想空間VSは第1仮想空間の一例である。
4-1-3:サーバの構成
図16は、サーバ30Aの構成例を示すブロック図である。サーバ30Aは、サーバ30と異なり、処理装置31の代わりに処理装置31Aを、記憶装置32の代わりに記憶装置32Aを備える。
記憶装置32Aは、記憶装置32と異なり、制御プログラムPR3の代わりに制御プログラムPR3Aを記憶する。また、記憶装置32Aは、記憶装置32によって記憶される構成要素に加えて、位置情報データベースLDを記憶する。
図17は、位置情報データベースLDの例を示す表である。上記のように、端末装置10Cは、サーバ30Aに対して、端末装置10Cの装置ID、端末装置10を使用するユーザ名、及び端末装置10CがXRグラス20から取得した位置情報、又は当該端末装置10Cが生成した位置情報を出力する。位置情報データベースLDには、これらの装置ID、ユーザ名、及び位置情報が格納される。図17に示される位置情報データベースLDには、一例として、ユーザU1が使用する端末装置10C-1の装置IDである「0001」、ユーザU1のユーザ名である「U1」、及び端末装置10C-1がXRグラス20から取得した位置情報である(x,y,z)=(xu1,yu1,zu1)が互いに紐づけられた状態で格納される。なお、図17に示される表において、「L」は2以上の整数である。
処理装置31Aは、処理装置31と異なり、取得部311の代わりに取得部311Aを、出力部312の代わりに出力部312Aを備える。また、処理装置31Aは、処理装置31に備わる構成要素に加えて、判定部314、及び抽出部315を備える。
判定部314は、出力部312Aが端末装置10C-1に出力した複数のメッセージの数が所定数以上であるか否かを判定する。判定部314が、当該複数のメッセージの数が所定数以上であると判定した場合に、取得部311Aは、端末装置10C-1から、表示制御部114-1が仮想空間VSに表示させた仮想オブジェクトVOの、当該仮想空間VSでの表示位置を示す座標を取得する。なお、取得部311Aは、仮想オブジェクトVOの表示位置を示す座標に加えて、個別オブジェクトSOの表示位置を示す座標を取得してもよい。
抽出部315は、位置情報データベースLDを参照することによって、ユーザU1と仮想空間VSを共有することが許容されるユーザUのうち、仮想空間VSにおいて、仮想オブジェクトVOの表示位置から所定の距離以内に存在する、ユーザU1以外の他のユーザUを抽出する。抽出された他のユーザUは、第2ユーザの一例である。第2ユーザは、複数のメッセージの数が所定数以上である場合に、仮想空間VSにおいて、表示位置から所定の距離以内に存在し、仮想空間VSの共有が許容されるユーザUである。なお、この「所定の距離」は、出力部312Aによって端末装置10C-1に出力された複数のメッセージの数に応じて増加することが好適である。
出力部312Aは、抽出部315によって抽出されたユーザUが使用する端末装置10Cに対して、端末装置10C-1に出力した複数のメッセージと同一の複数のメッセージと、仮想空間VSにおける仮想オブジェクトVOの表示位置を示す座標とを送信する。同一の複数のメッセージと、仮想オブジェクトVOの表示位置を示す座標とは、制御情報の一例である。また、出力部312Aが制御情報を送信する先の端末装置10Cは、第2表示制御装置の一例である。更に、当該端末装置10Cに接続されるXRグラス20又は端末装置10Cに備わるディスプレイ14は、第2表示装置の一例である。当該同一の複数のメッセージを取得した端末装置10Cは、端末装置10C-1と同様に、当該同一の複数のメッセージに1対1に対応する複数の個別オブジェクトSOを生成する。また、当該端末装置10Cは、当該複数の個別オブジェクトSOの集合体である仮想オブジェクトVOがサーバ30Aから取得した表示位置に配置された仮想空間VSを端末装置10Cに接続されるXRグラス20又は端末装置10Cに備わるディスプレイ14に表示させる。端末装置10Cに接続されるXRグラス20又は端末装置10Cに備わるディスプレイ14に表示される仮想空間VSは、第2仮想空間の一例である。ここで、出力部312Aから出力される同一の複数のメッセージと、仮想オブジェクトVOの表示位置を示す座標とは、第2表示装置に、仮想オブジェクトVOを含む第2仮想空間を表示させるための情報である。なお、上記のように、取得部311Aが、仮想オブジェクトVOの表示位置を示す座標に加えて、個別オブジェクトSOの表示位置を示す座標を取得した場合には、出力部312Aは、端末装置10Cに対して、仮想空間VSにおける個別オブジェクトSOの表示位置を示す座標を出力する。この場合、端末装置10Cは、個別オブジェクトSOを、サーバ30Aから取得した仮想空間VSにおける表示位置に表示させる。
この結果、仮想空間VSにおいて、ユーザU1によって視認される仮想オブジェクトVOに含まれる個別オブジェクトSOの数が所定数以上である場合に、他のユーザU2も、当該仮想オブジェクトVOを視認できる。
図18は、判定部314、抽出部315、及び出力部312Aの動作の一例を示す説明図である。ユーザU1が頭部に装着するXRグラス20において、仮想オブジェクトVO4を含む仮想空間VSが表示されているものとする。ユーザU1宛ての複数のメッセージの数が増加するに伴って、仮想オブジェクトVO4に含まれる個別オブジェクトSOの数も増加する。また、仮想オブジェクトVO4に含まれる個別オブジェクトSOの数が増加するに伴って、仮想オブジェクトVO4は、ユーザU1から遠ざかる。サーバ30Aに備わる判定部314が、ユーザU1宛ての複数のメッセージの数が所定数以上であると判定した場合に、抽出部315は、仮想空間VSにおける仮想オブジェクトVO4の表示位置である(x,y,z)=(x12,y12,z12)から所定の距離以内に存在する、ユーザU1以外のユーザUを抽出する。図18に示される例において、抽出部315は、当該ユーザU1以外のユーザUとして、(x,y,z)=(xU2,yU2,zU2)に位置するユーザU2を抽出したとする。出力部312Aは、ユーザU2が使用する端末装置10C-2に対して、端末装置10C-1に送信したのと同一の複数のメッセージを送信する。端末装置10C-2に備わる取得部112は、サーバ30Aから当該同一の複数のメッセージと、仮想空間VSにおける仮想オブジェクトVO4の表示位置を示す座標を取得する。端末装置10C-2に備わる取得部112は、当該同一の複数のメッセージに1対1に対応する複数の個別オブジェクトSOを生成する。端末装置10C-2に備わる表示制御部114は、当該複数の個別オブジェクトSOの集合体である仮想オブジェクトVO4を、サーバ30Aから取得した仮想空間VSにおける表示位置である(x,y,z)=(x12,y12,z12)に表示させる。その結果、仮想空間VSにおいて、ユーザU1とユーザU2の双方が、仮想オブジェクトVO9を視認できる。
4-2:第4実施形態の動作
図19は、第4実施形態に係るサーバ30Aの動作を示すフローチャートである。以下、図19を参照しつつ、サーバ30Aの動作について説明する。
ステップS21において、処理装置31Aは、出力部312Aとして機能する。処理装置31Aは、ユーザU1が使用する端末装置10C-1に対して、複数のメッセージを送信する。端末装置10C-1は、当該複数のメッセージに基づいて、XRグラス20に、仮想オブジェクトVO4を表示させる。
ステップS22において、処理装置31Aは、判定部314として機能する。処理装置31Aは、端末装置10C-1に送信された複数のメッセージの数が所定数以上である否かを判定する。判定結果が肯定、すなわち、処理装置31Aが、当該複数のメッセージの数が所定数以上であると判定した場合には、処理装置31Aは、ステップS23の処理を実行する。判定結果が否定、すなわち、処理装置31Aが、当該複数のメッセージの数が所定数未満であると判定した場合には、処理装置31Aは、ステップS21の処理を実行する。
ステップS23において、処理装置31Aは、取得部311Aとして機能する。処理装置31Aは、端末装置10C-1から、表示制御部114-1によって仮想空間VSに表示された仮想オブジェクトVO4の、当該仮想空間VSでの表示位置を示す座標を取得する。
ステップS24において、処理装置31Aは、抽出部315として機能する。処理装置31Aは、ユーザU1と仮想空間VSを共有するユーザUのうち、仮想空間VSにおいて、仮想オブジェクトVO4の表示位置から所定の距離以内に存在する、ユーザU1以外のユーザUを抽出する。ここでは例として、処理装置31Aは、ユーザU2を抽出したものとする。
ステップS25において、処理装置31Aは、出力部312Aとして機能する。処理装置31Aは、ユーザU2が使用する端末装置10C-2に対して、端末装置10C-1に出力した複数のメッセージと同一の複数のメッセージと、仮想空間VSにおける仮想オブジェクトVO4の表示位置を示す座標とを送信する。当該同一の複数のメッセージを取得した端末装置10C-2は、端末装置10C-1と同様に、当該同一の複数のメッセージに1対1に対応する複数の個別オブジェクトSOを生成する。また、当該端末装置10C-2は、当該複数の個別オブジェクトSOの集合体である仮想オブジェクトVO4を、サーバ30Aから取得した仮想空間VSにおける表示位置に表示させる。
4-3:第4実施形態が奏する効果
以上の説明によれば、サーバ30Aは、上記の第1表示制御装置としての端末装置10~端末装置10Cに対して、複数のメッセージを送信するサーバである。この場合、第1表示装置としてのXRグラス20は、第1ユーザとしてのユーザU1の頭部に装着される。サーバ30Aは、取得部311A、及び出力部312Aを備える。取得部311Aは、第1仮想空間VSにおける仮想オブジェクトVO4の表示位置を取得する。出力部312Aは、複数のメッセージの数が所定数以上である場合に、第1仮想空間VSにおいて、上記の表示位置から所定の距離以内に存在し、仮想オブジェクトVOの共有が許容される第2表示制御装置としての端末装置10~端末装置10Cに対して、制御情報を送信する。第2表示制御装置としての端末装置10~端末装置10Cは、第2ユーザとしてのユーザU2の頭部に装着される第2表示装置としてのXRグラス20に対して、第2仮想空間を表示させる。上記の制御情報は、第2表示装置に対して、第2仮想空間における仮想オブジェクトVO4を表示させるための情報である。
サーバ30Aは、上記の構成を備えるので、XRグラス20に表示される仮想オブジェクトVO4に含まれる個別オブジェクトSOの数が所定数以上である場合に、仮想空間VSにおいて、他のユーザU2も、当該仮想オブジェクトVO4を視認できる。
5:変形例
本開示は、以上に例示した実施形態に限定されない。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を併合してもよい。
5-1:変形例1
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cの各々に含まれる構成要素、及び技術的特徴を、互いに組み合わせる構成としてもよい。例えば、第3実施形態に係る端末装置10Bと、第4実施形態に係るサーバ30Aとを組み合わせてもよい。図20は、端末装置10Bとサーバ30Aとを組み合わせる場合に生成される仮想オブジェクトVO5の説明図である。例えば、端末装置10Bが、サッカースタジアムにおける個々の観客の歓声に基づいて複数の個別オブジェクトSOを生成すると共に、ARグラスとしてのXRグラス20において、サッカースタジアムの上空に、複数の個別オブジェクトSOによって構成される仮想オブジェクトVO5を表示させてもよい。当該仮想オブジェクトVO5は、ARグラスとしてのXRグラス20を頭部に装着した複数の観客で共有されると共に、個別オブジェクトSOの個数に基づいて、例として、複数の個別オブジェクトSOが、特定の文字を表す形状に整列してもよい。この場合、複数のメッセージに1対1に対応する個別オブジェクトSOによって構成される仮想オブジェクトVO5及び仮想空間VSは、所定の場所に集まる複数のユーザUによって共有される。所定の場所は、何らかのイベントを行う会場、又は学校等の公共施設であってもよい。更に、仮想オブジェクトVO5及び仮想空間VSを共有する複数のユーザUは、同じイベントに参加する者であってもよい。例えば、eスポーツの大会がイベントに該当する。
また、第3実施形態に係る情報処理システム1B以外においても、端末装置10~端末装置10Cは、ユーザU1宛てのメッセージ、及びユーザU1自身によって生成されたメッセージ以外に、第2のユーザUから、第3のユーザUに送信されたメッセージを取得してもよい。
5-2:変形例2
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cにおいて、端末装置10~端末装置10Cは、表示制御部114又は表示制御部114Aを備える。しかし、端末装置10~端末装置10Cではなく、サーバ30~サーバ30Aが、表示制御部114又は表示制御部114Aを備える構成としてもよい。また、サーバ30~サーバ30Aが、仮想空間VSにおける、仮想オブジェクトVO及び個別オブジェクトSOの表示位置を示す座標を設定する構成としてもよい。
5-3:変形例3
第4実施形態に係る情報処理システム1Cにおいて、サーバ30Aは、判定部314を備える。しかし、サーバ30Aではなく、端末装置10Cが判定部314を備える構成としてもよい。具体的には、端末装置10Cの側が、取得した複数のメッセージの個数、又はXRグラス20に表示されている個別オブジェクトSOの個数が所定数以上であるか否かを判定し、判定結果をサーバ30Aに出力する構成としてもよい。
5-4:変形例4
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cにおいて、端末装置10~端末装置10Cに備わる表示制御部114又は表示制御部114Aは、ユーザUによってメッセージの内容が既読となった個別オブジェクトSOを消失させてもよい。とりわけ第4実施形態に係る情報処理システム1Cに備わるサーバ30Aにおいて、判定部314は、端末装置10C-1に出力された複数のメッセージの数ではなく、未読メッセージの数が所定数以上である否かを判定してもよい。
5-5:変形例5
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cにおいて、端末装置10~端末装置10Cに備わる取得部112は、サーバ30又はサーバ30Aから、複数のメッセージを取得する。しかし、当該取得部112は、サーバ30又はサーバ30Aから、複数のメッセージの各々に対応するメッセージIDのみを取得してもよい。この場合、生成部113は、複数のメッセージではなく複数のメッセージIDと1対1に対応する個別オブジェクトSOを生成する。また、この場合、一例として図13に示されるように、ユーザU1が個別オブジェクトSOに対応するメッセージの内容を視認する段階において初めて、取得部112が、サーバ30又はサーバ30Aから、当該メッセージの内容を取得してもよい。その後、表示制御部114又は表示制御部114Aが、仮想空間VSに当該メッセージの内容を表示させてもよい。
5-6:変形例6
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cにおいて、個別オブジェクトSOは、ユーザUによって生成されたメッセージに1対1に対応する。しかし、個別オブジェクトSOが対応するメッセージは、ユーザUによって生成されたメッセージに限定されない。例えば、当該メッセージは、アプリケーションによって生成された、ユーザUへの通知であってもよい。
5-7:変形例7
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cにおいて、サーバ30又はサーバ30Aは、端末装置10~端末装置10Cに対して、メッセージデータベースMDに格納されるメッセージを出力する。しかし、サーバ30又はサーバ30Aから端末装置10~端末装置10Cに対するメッセージの出力方法は、これに限定されない。例えば、第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cは、更に、コンテンツサーバを備えてもよい。より詳細には、サーバ30又はサーバ30Aは、コンテンツサーバからユーザUに対するメッセージを含むコンテンツを取得し、取得した当該コンテンツを、端末装置10~端末装置10Cに出力してもよい。
5-8:変形例8
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cにおいて、端末装置10~端末装置10CとXRグラス20とは別体として実現されている。しかし、本発明の実施形態における、端末装置10~端末装置10CとXRグラス20の実現方法は、これには限定されない。例えば、XRグラス20が、端末装置10と同一の機能を備えてもよい。換言すれば、端末装置10~端末装置10CとXRグラス20とが単一の筐体内において実現されてもよい。第2実施形態に係る情報処理システム1A~第4実施形態に係る情報処理システム1Cにおいても同様である。
5-9:変形例9
第1実施形態に係る情報処理システム1~第4実施形態に係る情報処理システム1Cは、一例として、ARグラスとしてのXRグラス20を備える。しかし、情報処理システム1~情報処理システム1Cは、XRグラス20として、VR(Virtual Reality)技術が採用されたHMD(Head Mounted Display)、MR(Mixed Reality)技術が採用されたHMD、及びMR技術が採用されたMRグラスのうちいずれか1つを備えてもよい。あるいは、情報処理システム1~情報処理システム1Cは、XRグラス20の代わりに、撮像装置を備えた通常のスマートフォン及びタブレットのうちいずれか1つを備えてもよい。これらのHMD、MRグラス、スマートフォン、及びタブレットは、表示装置の例である。
6:その他
(1)上述した実施形態では、記憶装置12~記憶装置12C、記憶装置22、及び記憶装置32~記憶装置32Aは、ROM及びRAMなどを例示したが、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体である。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。また、プログラムは、電気通信回線を介して通信網NETから送信されてもよい。
(2)上述した実施形態において、説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
(4)上述した実施形態において、判定は、1ビットを用いて表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
(6)図1~図20に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
(7)上述した実施形態において例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称を用いて呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
(9)本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
(10)上述した実施形態において、端末装置10~端末装置10C、サーバ30~サーバ30Aは、移動局(MS:Mobile Station)である場合が含まれる。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語によって呼ばれる場合もある。また、本開示においては、「移動局」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」等の用語は、互換的に使用され得る。
(11)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含められる。要素間の結合又は接続は、物理的な結合又は接続であっても、論理的な結合又は接続であっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」を用いて読み替えられてもよい。本開示において使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えられる。
(12)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
(13)本開示において使用される「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などによって読み替えられてもよい。
(14)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
(15)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
(16)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
(17)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行う通知に限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施できる。したがって、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有さない。