Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020184029 - DISPOSITIF DE TRAITEMENT D'INFORMATIONS, PROCÉDÉ DE TRAITEMENT D'INFORMATIONS ET PROGRAMME

Document

明 細 書

発明の名称 情報処理装置、情報処理方法、及びプログラム

技術分野

0001  

背景技術

0002   0003   0004  

先行技術文献

特許文献

0005  

発明の概要

発明が解決しようとする課題

0006   0007  

課題を解決するための手段

0008   0009   0010  

図面の簡単な説明

0011  

発明を実施するための形態

0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113  

符号の説明

0114  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16  

明 細 書

発明の名称 : 情報処理装置、情報処理方法、及びプログラム

技術分野

[0001]
 本開示は、情報処理装置、情報処理方法、及びプログラムに関する。

背景技術

[0002]
 近年、実世界に存在する実オブジェクトに付加的な情報である仮想オブジェクトを重畳して、人間の知覚する現実環境を拡張する拡張するAR(Augumented Reality)技術が提供されるようになってきている。
[0003]
 仮想オブジェクトはディスプレイ等に表示されるが、ディスプレイ等における仮想オブジェクトが表示される範囲であるオブジェクト表示領域には限りがある。このため、仮想オブジェクトが、オブジェクト表示領域から外側へ移動して消える際には、当該仮想オブジェクトのうち当該オブジェクト表示領域の外側にはみ出る部分が表示されなくなる。このとき、ユーザには、当該仮想オブジェクトが、オブジェクト表示領域の境界で切れているように見える。このため、ユーザは、当該オブジェクト表示領域の境界を意識してしまい、表示内容に対する没入感が低下してしまう。
[0004]
 例えば特許文献1には、このような没入感の低下を抑止する技術として、仮想オブジェクトが表示領域の境界を跨いで移動する際に、当該仮想オブジェクトの表示態様を変化させる技術が開示されている。

先行技術文献

特許文献

[0005]
特許文献1 : 国際公開第2017/169081号

発明の概要

発明が解決しようとする課題

[0006]
 しかし、特許文献1に記載の技術は、仮想オブジェクトが表示領域を跨いで移動する場合に用いられる技術である。従って、表示領域の境界付近に仮想オブジェクトが留まるような場合にもユーザの没入感を低下させない技術が求められる。
[0007]
 そこで、本開示では、オブジェクト表示領域の境界付近で留まる仮想オブジェクトが存在しても、ユーザの没入感の低下を抑止することが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提案する。

課題を解決するための手段

[0008]
 本開示によれば、光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得する位置情報取得部と、前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御する表示制御部とを備え、前記表示制御部は、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理装置が提供される。
[0009]
 また、本開示によれば、光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得することと、前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御することとを含み、前記ディスプレイを制御する際には、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理方法が提供される。
[0010]
 また、本開示によれば、コンピュータを、光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得する位置情報取得部と、前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御する表示制御部とを備え、前記表示制御部は、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理装置として機能させる、プログラムが提供される。

図面の簡単な説明

[0011]
[図1] 本開示の一実施形態に係る情報処理システム1の概略的な構成の一例について説明するための説明図である。
[図2] 本開示の一実施形態に係る入出力装置20の概略的な構成の一例について説明するための説明図である。
[図3] 本開示の一実施形態に係る情報処理システム1の機能構成の一例を示したブロック図である。
[図4] ディスプレイ211に画像が表示される範囲を説明するための視錐台300を示す図である。
[図5] 仮想オブジェクト420がオブジェクト表示領域400の右側の端でクリッピングされた場合における、表示制御部120の処理を説明するための図である。
[図6] 表示制御部120が第1の部分オブジェクトを境界310に向かって移動させることを示す図である。
[図7] 表示制御部120が、第2の部分オブジェクト431cを第2の端部426から境界310に向かって移動させることを説明するための図である。
[図8] 第1の部分オブジェクト431a、部分オブジェクト431b、及び第2の部分オブジェクト431cの運動軌道430を示す図である。
[図9] 本実施形態に係る情報処理装置10の処理の一例を示すフローチャートである。
[図10] 変形例に係る情報処理装置10による仮想オブジェクトの処理を示す図である。
[図11] 仮想オブジェクト510を分解して得られる部分オブジェクトが移動する軌道522を示す図である。
[図12] 仮想オブジェクト510の断面523dと、部分オブジェクト520dの軌道522dとの関係を示す図である。
[図13] 仮想オブジェクトの断面が複数の領域に分割される場合に、楕円状の軌道522eが生成されることを示す図である。
[図14] 仮想オブジェクトの断面が複数の領域に分割される場合に、円状の軌道522fが生成されることを示す図である。
[図15] 本開示の一実施形態に係る情報処理システム1を構成する情報処理装置10のハードウェア構成の一構成例を示す機能ブロック図である。
[図16] 仮想オブジェクトが視錐台の右側の面と左側の面とにクリッピングされる場合における部分オブジェクトの軌道を説明するための図である。

発明を実施するための形態

[0012]
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[0013]
 なお、説明は以下の順序で行うものとする。
 1.概略構成
  1.1.システム構成
  1.2.入出力装置の構成
 2.実施形態
  2.1.機能構成
  2.2.処理例
  2.3.効果
 3.変形例
 4.ハードウェア構成
 5.補足
[0014]
 <1.概略構成>
 <<1.1.システム構成>>
 まず、図1を参照して、本開示の一実施形態に係る情報処理システム1の概略的な構成の一例について説明する。図1は、本開示の一実施形態に係る情報処理システム1の概略的な構成の一例について説明するための説明図であり、所謂AR技術を応用してユーザに対して各種コンテンツを提示する場合の一例を示している。
[0015]
 図1において、参照符号m1は、実空間上に位置する物体(例えば、実オブジェクト)を模式的に示している。また、参照符号v1及びv2は、実空間上に重畳するように提示される仮想的なコンテンツ(例えば、仮想オブジェクト)を模式的に示している。即ち、本実施形態に係る情報処理システム1は、例えば、AR技術に基づき、実オブジェクトm1等の実空間上の物体に対して、仮想オブジェクトを重畳してユーザに提示する。なお、図1では、本実施形態に係る情報処理システム1の特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
[0016]
 図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置10と、入出力装置20とを含む。情報処理装置10と入出力装置20とは、所定のネットワークを介して互いに情報を送受信可能に構成されている。なお、情報処理装置10と入出力装置20とを接続するネットワークの種別は特に限定されない。具体的な一例として、当該ネットワークは、Wi-Fi(登録商標)規格に基づくネットワークのような、所謂無線のネットワークにより構成されていてもよい。また、他の一例として、当該ネットワークは、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、少なくとも一部が有線のネットワークとして構成されていてもよい。
[0017]
 入出力装置20は、各種入力情報の取得や、当該入出力装置20を保持するユーザに対して各種出力情報の提示を行うための装置である。また、入出力装置20による出力情報の提示は、情報処理装置10により、当該入出力装置20により取得された入力情報に基づき制御される。例えば、入出力装置20は、実オブジェクトm1を認識するための情報(例えば、撮像された実空間の画像)を入力情報として取得し、取得した情報を情報処理装置10に出力する。情報処理装置10は、入出力装置20から取得した情報に基づき、実空間上における実オブジェクトm1の位置を認識し、当該認識結果に基づき、入出力装置20に仮想オブジェクトv1及びv2を表示させる。このような制御により、入出力装置20は、所謂AR技術に基づき、実オブジェクトm1に対して仮想オブジェクトv1及びv2が重畳するように、当該仮想オブジェクトv1及びv2をユーザに提示することが可能となる。
[0018]
 また、入出力装置20は、例えば、ユーザが頭部の少なくとも一部に装着して使用する所謂頭部装着型デバイスとして構成されており、当該ユーザの視線を検出可能に構成されていてもよい。このような構成に基づき、情報処理装置10は、例えば、入出力装置20によるユーザの視線の検出結果に基づき、当該ユーザが所望の対象(例えば、実オブジェクトm1や、仮想オブジェクトv1及びv2等)を注視していることを認識した場合に、当該対象を操作対象として特定してもよい。また、情報処理装置10は、入出力装置20に対する所定の操作をトリガとして、ユーザの視線が向けられている対象を操作対象として特定してもよい。以上のようにして、情報処理装置10は、操作対象を特定し、当該操作対象に関連付けられた処理を実行することで、入出力装置20を介して各種サービスをユーザに提供してもよい。
[0019]
 また、情報処理装置10は、入出力装置20により取得された入力情報に基づき、ユーザの身体の少なくとも一部の部位の動き(例えば、位置や向きの変化、ジェスチャ等)をユーザの操作入力として認識し、当該操作入力の認識結果に応じて各種処理を実行してもよい。具体的な一例として、入出力装置20は、ユーザの手を認識するための情報(例えば、撮像された手の画像)を入力情報として取得し、取得した情報を情報処理装置10に出力する。情報処理装置10は、入出力装置20から取得した情報に基づき、手の動き(例えば、ジェスチャ)を認識し、当該動きの認識結果に応じて、ユーザからの指示(即ち、ユーザの操作入力)を認識する。そして、情報処理装置10は、ユーザの操作入力の認識結果に応じて、例えば、ユーザに提示する仮想オブジェクトの表示(例えば、仮想オブジェクトの表示位置や姿勢)を制御してもよい。なお、本開示において、“ユーザの操作入力”とは、前述の通り、ユーザからの指示に対応する入力、即ち、ユーザの意図を反映した入力として見做されてよい。以下、「ユーザの操作入力」を、単に「ユーザ入力」と称する場合がある。
[0020]
 なお、図1では、入出力装置20と情報処理装置10とが互いに異なる装置として示されているが、入出力装置20及び情報処理装置10は一体的に構成されていてもよい。また、入出力装置20及び情報処理装置10の構成及び処理の詳細については別途後述する。
[0021]
 以上、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明した。
[0022]
 <<1.2.入出力装置の構成>>
 続いて、図2を参照して、図1に示した本実施形態に係る入出力装置20の概略的な構成の一例について説明する。図2は、本開示の一実施形態に係る入出力装置20の概略的な構成の一例について説明するための説明図である。
[0023]
 前述したように、本実施形態に係る入出力装置20は、ユーザが頭部の少なくとも一部に装着して使用する所謂頭部装着型デバイスとして構成されている。例えば、図2に示す例では、入出力装置20は、所謂アイウェア型(メガネ型)のデバイスとして構成されており、レンズ293a及び293bのうち少なくともいずれかが光学的透過性を有するディスプレイ211として構成されている。また、入出力装置20は、撮像部201a及び201bと、操作部207と、メガネのフレームに相当する保持部291とを備える。なお、撮像部201a及び201bを特に区別しない場合には、単に「撮像部201」と称する場合がある。また、入出力装置20は、撮像部203a及び203bを備えてもよい。なお、以降では、入出力装置20が、撮像部203a及び203bを備えているものとして各種説明を行う。保持部291は、入出力装置20がユーザの頭部に装着されたときに、ディスプレイ211と、撮像部201a及び201bと、撮像部203a及び203bと、操作部207とを、当該ユーザの頭部に対して所定の位置関係となるように保持する。また、図2には図示していないが、入出力装置20は、ユーザの音声を集音するための集音部を備えていてもよい。なお、図2には、入出力装置20として、メガネ型のデバイスを例示しているが、これに限らず、入出力装置20は、任意の形状であってもよい。
[0024]
 ここで、入出力装置20のより具体的な構成について説明する。例えば、図2に示す例では、レンズ293aが、右眼側のレンズに相当し、レンズ293bが、左眼側のレンズに相当する。即ち、保持部291は、入出力装置20が装着された場合に、ディスプレイ211(換言すると、レンズ293a及び293b)がユーザの眼前に位置するように、当該ディスプレイ211を保持する。
[0025]
 撮像部201a及び201bは、所謂ステレオカメラとして構成されており、入出力装置20がユーザの頭部に装着されたときに、当該ユーザの頭部が向いた方向(即ち、ユーザの前方)を向くように、保持部291によりそれぞれ保持される。このとき、撮像部201aが、ユーザの右眼の近傍に保持され、撮像部201bが、当該ユーザの左眼の近傍に保持される。このような構成に基づき、撮像部201a及び201bは、入出力装置20の前方に位置する被写体(換言すると、実空間に位置する実オブジェクト)を互いに異なる位置から撮像する。これにより、入出力装置20は、ユーザの前方に位置する被写体の画像を取得するとともに、撮像部201a及び201bそれぞれにより撮像された画像間の視差に基づき、当該入出力装置20(ひいては、ユーザの視点の位置)から、当該被写体までの距離を算出することが可能となる。
[0026]
 なお、入出力装置20と被写体との間の距離を測定可能であれば、その構成や方法は特に限定されない。具体的な一例として、マルチカメラステレオ、移動視差、TOF(Time Of Flight)、Structured Light等の方式に基づき、入出力装置20と被写体との間の距離が測定されてもよい。ここで、TOFとは、被写体に対して赤外線等の光を投光し、投光された光が当該被写体で反射して戻るまでの時間を画素ごとに測定することで、当該測定結果に基づき被写体までの距離(深度)を含めた画像(所謂距離画像)を得る方式である。また、Structured Lightは、被写体に対して赤外線等の光によりパターンを照射しそれを撮像することで、撮像結果から得られる当該パターンの変化に基づき、被写体までの距離(深度)を含めた距離画像を得る方式である。また、移動視差とは、所謂単眼カメラにおいても、視差に基づき被写体までの距離を測定する方法である。具体的には、カメラを移動させることで、被写体を互いに異なる視点から撮像し、撮像された画像間の視差に基づき被写体までの距離を測定する。なお、このとき各種センサによりカメラの移動距離及び移動方向を認識することで、被写体までの距離をより精度良く測定することが可能となる。なお、距離の測定方法に応じて、撮像部201a及び201bの構成(例えば、単眼カメラ、ステレオカメラ等)を変更してもよい。
[0027]
 また、撮像部203a及び203bは、入出力装置20がユーザの頭部に装着されたときに、それぞれの撮像範囲内に当該ユーザの眼球が位置するように、保持部291によりそれぞれ保持される。具体的な一例として、撮像部203aは、撮像範囲内にユーザの右眼が位置するように保持される。このような構成に基づき、撮像部203aにより撮像された右眼の眼球の画像と、当該撮像部203aと当該右眼との間の位置関係と、に基づき、当該右眼の視線が向いている方向を認識することが可能となる。同様に、撮像部203bは、撮像範囲内に当該ユーザの左眼が位置するように保持される。即ち、撮像部203bにより撮像された左眼の眼球の画像と、当該撮像部203bと当該左眼との間の位置関係と、に基づき、当該左眼の視線が向いている方向を認識することが可能となる。なお、図2に示す例では、入出力装置20が撮像部203a及び203bの双方を含む構成について示しているが、撮像部203a及び203bのうちいずれかのみが設けられていてもよい。
[0028]
 操作部207は、入出力装置20に対するユーザからの操作を受け付けるための構成である。操作部207は、例えば、タッチパネルやボタン等のような入力デバイスにより構成されていてもよい。操作部207は、保持部291により、入出力装置20の所定の位置に保持されている。例えば、図2に示す例では、操作部207は、メガネのテンプルに相当する位置に保持されている。
[0029]
 また、本実施形態に係る入出力装置20は、例えば、加速度センサや、角速度センサ(ジャイロセンサ)等といった公知の各種のセンサ(図示せず。)が設けられることで、当該入出力装置20を装着したユーザの頭部の動き(換言すると、入出力装置20自体の動き)を検出可能に構成されていてもよい。具体的な一例として、入出力装置20は、ユーザの頭部の動きとして、ヨー(yaw)方向、ピッチ(pitch)方向、及びロール(roll)方向それぞれの成分を検出することで、当該ユーザの頭部の位置及び姿勢のうち少なくともいずれかの変化を認識してもよい。
[0030]
 以上のような構成に基づき、本実施形態に係る入出力装置20は、ユーザの頭部の動きに応じた、実空間上における自身の位置や姿勢の変化を認識することが可能となる。また、このとき入出力装置20は、所謂AR技術に基づき、実空間に位置する実オブジェクトに対して、仮想的なコンテンツ(即ち、仮想オブジェクト)が重畳するように、ディスプレイ211に当該コンテンツを提示することも可能となる。また、このとき入出力装置20は、例えば、SLAM(simultaneous localization and mapping)と称される技術等に基づき、実空間上における自身の位置及び姿勢(即ち、自己位置)を推定してもよく、当該推定結果を仮想オブジェクトの提示に利用してもよい。
[0031]
 ここで、参考として、SLAMの概要について説明する。SLAMとは、カメラ等の撮像部、各種センサ、エンコーダ等を利用することにより、自己位置推定と環境地図の作成とを並行して行う技術である。より具体的な一例として、SLAM(特に、Visual SLAM)では、撮像部により撮像された動画像に基づき、撮像されたシーン(または、被写体)の3次元形状を逐次的に復元する。そして、撮像されたシーンの復元結果を、撮像部の位置及び姿勢の検出結果と関連付けることで、周囲の環境の地図の作成と、当該環境における撮像部(ひいては、入出力装置20)の位置及び姿勢の推定とが行われる。なお、撮像部の位置及び姿勢については、例えば、入出力装置20に加速度センサや角速度センサ等の各種センサを設けることで、当該センサの検出結果に基づき相対的な変化を示す情報として推定することが可能である。もちろん、撮像部の位置及び姿勢を推定可能であれば、その方法は、必ずしも加速度センサや角速度センサ等の各種センサの検知結果に基づく方法のみには限定されない。
[0032]
 ここで、本明細書において、光学的透過性を有するディスプレイには、光学的透過性を有するディスプレイと実質的に同等の機能を有するディスプレイも含まれる。すなわち、光学的透過性を有するディスプレイとは、ユーザがディスプレイの向こう側の風景を観ることが可能なディスプレイを意味する。従って、入出力装置20として適用可能な頭部装着型の表示装置(HMD:Head Mounted Display)の一例としては、例えば、シースルー型HMD、ビデオシースルー型HMD、及び網膜投射型HMDなどが挙げられる。
[0033]
 シースルー型HMDは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザの眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型HMDを装着したユーザは、虚像光学系の内側に表示された画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型HMDは、例えば、AR技術に基づき、当該シースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型HMDの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。例えば、図2に示した入出力装置20は、シースルー型HMDの一例に相当する。
[0034]
 ビデオシースルー型HMDは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型HMDは、例えば、AR技術に基づき、当該ビデオシースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
[0035]
 網膜投射型HMDは、ユーザの眼前に投影部が保持されており、当該投影部からユーザの眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型HMDでは、ユーザの眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザの場合においても、より鮮明な映像を視聴することが可能となる。また、網膜投射型HMDを装着したユーザは、投影部から投影される画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型HMDは、例えば、AR技術に基づき、当該網膜投射型HMDの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
[0036]
 また、上記では、AR技術を適用することを前提として、本実施形態に係る入出力装置20の構成の一例について説明したが、必ずしも、当該入出力装置20の構成を限定するものではない。例えば、VR技術を適用することを想定した場合には、本実施形態に係る入出力装置20は、没入型HMDと呼ばれるHMDとして構成されていてもよい。没入型HMDは、ビデオシースルー型HMDと同様に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。そのため、没入型HMDを装着したユーザは、外部の風景(即ち、現実世界の風景)を直接視野に入れることが困難であり、表示部に表示された映像のみが視界に入ることとなる。このような構成により、没入型HMDは、画像を視聴しているユーザに対して没入感を与えることが可能となる。
[0037]
 <2.実施形態>
 <<2.1.機能構成>>
 続いて、図3を参照して、本開示の一実施形態に係る情報処理システム1の機能構成について説明する。図3は、本開示の一実施形態に係る情報処理システム1の機能構成の一例を示したブロック図である。そこで、以降では、図1を参照して説明したように、情報処理システム1が情報処理装置10と入出力装置20とを含むものとして、当該情報処理装置10及び入出力装置20それぞれの構成についてより詳しく説明する。
[0038]
 まず、入出力装置20の構成について説明する。図3に示すように、入出力装置20は、撮像部201と、ディスプレイ211とを含む。撮像部201は、図2を参照して説明した撮像部201に相当する。撮像部201が撮像した画像に関わる情報は、情報処理装置10に送信される。
[0039]
 また、ディスプレイ211は、図2を参照して説明したディスプレイ211に相当する。ディスプレイ211は、情報処理装置10から入出力装置20へ送信された情報に基づいて、画像を表示する。また、入出力装置20は、音響出力部(図3に図示しない)を含んでもよい。音響出力部は、スピーカ等のような音響デバイスで構成され、出力対象となる情報に応じた音声や音響を出力する。
[0040]
 次いで、情報処理装置10の構成について説明する。図3に示すように、情報処理装置10は、位置情報取得部110、表示制御部120、及び記憶部130を備える。
[0041]
 (位置情報取得部)
 位置情報取得部110は、ユーザの位置情報を取得する。例えば、位置情報取得部110は、GPS(Global Positioning System)センサなどの位置情報を測定する公知の各種のセンサを含み、当該センサから位置情報を取得してもよい。なお、位置情報を測定するセンサは、入出力装置20に設けられてもよい。
[0042]
 (表示制御部)
 表示制御部120は、オブジェクト表示領域における仮想オブジェクトの表示を制御する。オブジェクト表示領域は、ディスプレイ211における仮想オブジェクトが表示される領域である。オブジェクト表示領域は、ディスプレイ211として使用される領域と同一であってもよいし、ディスプレイとして使用される領域よりも狭い領域であってもよい。本実施形態では、ディスプレイ211として使用される領域と、オブジェクト表示領域とが同一であるものとして説明する。
[0043]
 表示制御部120は、世界座標系における所定の位置に仮想オブジェクトを配置する。次いで、表示制御部120は、世界座標系における所定の位置に配置された仮想オブジェクトがオブジェクト表示領域内に表示されるように、ディスプレイ211を制御する。例えば、表示制御部120は、SLAM(Simultaneous Localization and Mapping)などの公知の自己位置推定技術を用いて上記の処理を行ってもよい。
[0044]
 次いで、図4~図8を参照して、表示制御部120の処理をより詳細に説明する。図4は、ディスプレイ211に画像が表示される範囲を説明するための視錐台300を示す図である。原点Oにユーザが位置しているものとする。視錐台300の内側に仮想オブジェクトが位置する場合に、ディスプレイ211のオブジェクト表示領域に仮想オブジェクトが表示される。図4に示すz方向は、世界座標系におけるユーザにとっての奥行き方向である。また、xy平面は、ディスプレイ211に平行な面である。
[0045]
 本実施形態では、オブジェクト表示領域の画角は、ユーザの視野よりも狭い。このため、例えば、視錐台300の内側に位置する仮想オブジェクトの一部が、視錐台300におけるx方向の右端の境界310からはみ出ると、当該仮想オブジェクトはクリッピングされる。つまり、仮想オブジェクトのうち、境界310からはみ出た部分はオブジェクト表示領域に表示されなくなる。このとき、入出力装置20を装着したユーザには、仮想オブジェクトが境界310で切れているように見えるため、オブジェクト表示領域の境界がユーザに意識されてしまい、没入感が低下する。さらに、ディスプレイ211の画角は、ユーザの視野よりも狭い場合もある。この場合、ユーザは、ディスプレイ211の境界も意識してしまい、より没入感が低下する場合がある。しかしながら、本実施形態では、以下で説明する表示制御部120の処理により、没入感の低下が抑止される。
[0046]
 上述したクリッピングにより仮想オブジェクトの一部がオブジェクト表示領域に表示されなくなる場合における、表示制御部120の処理を説明する。図5は、仮想オブジェクト420がオブジェクト表示領域400の右側の端でクリッピングされた場合における、表示制御部120の処理を説明するための図である。
[0047]
 図5に示す例において、オブジェクト表示領域400は、例えばx方向に40分割されているものとする。この際に、図5では、オブジェクト表示領域400に表示された仮想オブジェクト420が、オブジェクト表示領域における右側の境界でクリッピングされることにより、仮想オブジェクト420の一部が表示されていない。このとき、表示制御部120は、オブジェクト表示領域400の右側の境界に実質的に接する仮想オブジェクト420の一部を第1の端部425として認識する。図5に示す例では、表示制御部120は、オブジェクト表示領域400を分割することで得られた、オブジェクト表示領域における右端から4枚の分割領域410a、410b、410c、及び410dに含まれる仮想オブジェクト420を、第1の端部425として認識する。つまり、図5における第1の端部425は、仮想オブジェクト420のうち斜線を付した領域に相当する。なお、第1の端部425として認識される仮想オブジェクトの領域は、これに限らず、オブジェクト表示領域400の縦横比等に応じて適宜決定されてもよい。
[0048]
 次に、表示制御部120は、第1の端部425を第1の部分オブジェクトに分解する。なお、ここでは、説明を簡単にするために、第1の端部425を構成する、図5において三角形で表されている1つのメッシュ421aのみを分解する。勿論、これに限らず、表示制御部120は、第1の端部425を構成する任意の部分を分解してもよい。また、図5に示すメッシュの形状は三角形であるが、メッシュの形状は四角形等任意の形状であってもよい。
[0049]
 表示制御部120は、第1の端部425を、以下で詳述するように確率的に分解することが好ましい。例えば、表示制御部120が、第1の端部425のうち、仮に、3つのメッシュ421a、421b、及び421cを分解する場合について説明する。仮に、表示制御部120が、これらのメッシュ421a、421b、及び421cを例えば所定の時間が経過するごとに分解する等の規則的な処理をすると、ユーザは、当該規則的な処理を意識してしまう。そこで、表示制御部120は、メッシュ421a、421b、及び421cを確率的に分解する。換言すれば、表示制御部120は、メッシュ421a、421b、及び421cを分解するか否かを、ある確率に基づき決定する。これにより、メッシュを分解する処理の規則性が低下して、ユーザが第1の端部425の分解に規則性を認識することがなくなる。これにより、第1の端部425が分解されることへのユーザの意識が薄くなり、没入感の低下が抑止される。
[0050]
 さらに、表示制御部120は、第1の端部425のうちオブジェクト表示領域400の境界310に近い部分ほど、高い確率で分解してもよい。例えば、表示制御部120は、第1の端部425の部分のうち、分割領域410aに含まれる部分を100%、分割領域410bに含まれる部分を90%、分割領域410cに含まれる部分を60%、分割領域410dに含まれる部分を30%の確率で分解する。第1の端部425を構成する部分どの分割領域に含まれるかは、例えば、メッシュ421aの先端422の位置が含まれる分割領域により決定されてもよい。また、メッシュ421aの重心等に基づいて、当該メッシュ421aが含まれる分割領域が決定されてもよい。第1の端部425に含まれる部分のうち境界310に近い部分が高い確率で分解されると、ユーザは境界310を意識しにくくなり、仮想オブジェクト420が境界310にクリッピングされることによる没入感の低下が抑止される。さらに、境界310から遠い第1の端部425は、分解される確率が低いため、第1の端部425の分解による仮想オブジェクト420の認識し易さの低下が抑止される。
[0051]
 次いで、図6を参照して、表示制御部120が第1の端部425を分解した後の処理について説明する。図6は、表示制御部120が第1の部分オブジェクトを境界310に向かって移動させることを示す図である。表示制御部120は、第1の端部425(メッシュ421a)を分解することで、第1の部分オブジェクト431aを生成させる。表示制御部120は、第1の部分オブジェクト431aが境界310に向かって移動しているとユーザが認識するように、当該第1の部分オブジェクト431aを表示させる。より具体的には、表示制御部120は、矢印433aに示す方向に向かって第1の部分オブジェクト431aが移動しているように、第1の部分オブジェクト431aを表示させる。これにより、ユーザの注意は、第1の部分オブジェクト431aの動きに向けられるため、ユーザの意識が境界310へ向きにくくなる。これにより、没入感の低下が抑止される。また、分解された第1の端部以外の残部は、元の位置に表示されるため、ユーザは仮想オブジェクト420を認識することができる。なお、本明細書では、以下、「オブジェクトが移動しているとユーザが認識するように、オブジェクトを表示させる」という意味で「オブジェクトを移動させる」という表現を用いる場合がある。
[0052]
 また、表示制御部120は、第1の部分オブジェクト431aが境界310に近いほど、第1の部分オブジェクト431aの速度を速くしてもよい。これにより、第1の部分オブジェクト431aは、境界310を跨ぐことによりオブジェクト表示領域400から表示されなくなる際に、ユーザは、当該第1の部分オブジェクト431aを目で追えなくなる。このため、第1の部分オブジェクト431aが表示されなくなることによる、没入感の低下が抑止される。
[0053]
 さらに、表示制御部120は、第1の部分オブジェクト431aが境界310に近いほど、第1の部分オブジェクト431aのオブジェクト表示領域400に平行な方向の速度を速くしてもよい。ユーザは、第1の部分オブジェクト431aの速度の成分のうち、オブジェクト表示領域に平行な成分(すなわち、xy平面に平行な成分)に敏感である。このため、第1の部分オブジェクト431aのオブジェクト表示領域400に平行な方向の速度が速くなると、ユーザは、第1の部分オブジェクト431aをより目で追いにくくなる。このため、第1の部分オブジェクト431aが表示されなくなることによる没入感の低下がより抑止される。
[0054]
 また、表示制御部120は、部分オブジェクトの世界座標系における位置がユーザから近いほど、当該部分オブジェクトの速度を遅くしてもよい。一般的には、世界座標系においてユーザから近くに位置する部分オブジェクトほど、ユーザには大きく見える。大きな部分オブジェクトが速く移動すると、ユーザには、当該部分オブジェクトを目で追うため、負担が生じる。表示制御部120が、部分オブジェクトの世界座標系における位置がユーザから近いほど、当該部分オブジェクトの速度を遅くすることにより、ユーザが当該部分オブジェクトを目で追う負担が軽減される。
[0055]
 また、表示制御部120は、仮想オブジェクト420の第1の端部が境界310に接する場合、仮想オブジェクト420の第1の端部に対し仮想オブジェクト420の反対側にある仮想オブジェクト420の第2の端部から、第2の部分オブジェクトをオブジェクト表示領域400の境界310に向かって移動させる。より詳細には、図7を参照して説明する。図7は、表示制御部120が、第2の部分オブジェクト431cを第2の端部426から境界310に向かって移動させることを説明するための図である。図7では、第2の部分オブジェクト431cが、矢印433cの方向に向かって移動する。上述のように、表示制御部120は、第1の部分オブジェクト431aを境界310に向かって移動させる。このため、ユーザは、第2の部分オブジェクト431cが境界310に向かっていることを認識すると、第1の部分オブジェクト431aの運動と第2の部分オブジェクト431cの運動とが連続しているように認識する。このため、部分オブジェクトの移動に違和感がなくなり、没入感の低下が抑止される。なお、以下では、第1の部分オブジェクトと第2の部分オブジェクトとを区別しないときは、単に部分オブジェクトという。
[0056]
 なお、部分オブジェクトは、立体視されるオブジェクトであってもよい。仮想オブジェクト420は、本実施形態において、仮想オブジェクトは立体的なオブジェクトである。このため、部分オブジェクトが立体視される場合には、仮想オブジェクト420の付近を部分オブジェクトが移動してもユーザは違和感を覚えにくくなり、没入感の低下が抑止される。
[0057]
 さらに、部分オブジェクトは、仮想オブジェクト420の第1の端部が有する模様、色彩又は質感と同じ模様、色彩又は質感を有してもよい。この場合、仮想オブジェクト420の付近を部分オブジェクトが移動してもユーザは違和感を更に覚えにくくなり、没入感の低下が更に抑止される。
[0058]
 また、部分オブジェクトは、仮想オブジェクト420の第1の端部を構成するメッシュであってもよい。これにより、仮想オブジェクト420の付近を部分オブジェクトが移動しても、ユーザは違和感を更に覚えにくくなり、没入感の低下が更に抑止される。
[0059]
 次いで、図8を参照して、部分オブジェクトの軌道について説明する。図8は、第1の部分オブジェクト431a、部分オブジェクト431b、及び第2の部分オブジェクト431cの運動軌道430を示す図である。図8には、仮想オブジェクト420を、仮想オブジェクトの重心405を通るxz平面で切った断面を示している。図8に示す3つのオブジェクトのそれぞれの先端432a、432b、又は432cは、仮想オブジェクト420の重心405を重心とする運動軌道430を、それぞれ矢印433a、433b、又は433cの方向に移動する。
[0060]
 図8に示すように、第1の部分オブジェクト431aは、世界座標系における奥行き方向(z方向)においてユーザから離れる方向に速度成分434aを有するため、ユーザから離れるように移動する。このため、第1の部分オブジェクト431aは、オブジェクト表示領域の境界付近で段々と小さくなるため、第1の部分オブジェクト431aが境界を跨いで表示されなく際に、ユーザは、第1の部分オブジェクト431aが表示されなくなることを意識しづらくなる。このため、没入感の低下が抑止される。
[0061]
 さらに、図8に示すように、第2の部分オブジェクト431cは、世界座標系における奥行き方向(z方向)において、ユーザに近づく方向に速度成分434cを有する。このため、第2の部分オブジェクト431cは、第2の端部から段々と大きくなって見えるようになる。このため、ユーザは、第2の部分オブジェクト431cが突然出てきたような違和感を覚えにくくなり、没入感の低下が抑止される。
[0062]
 また、図8に示すように、第1の部分オブジェクト431aの軌道と第2の部分オブジェクト431cの軌道とが接続されることにより、実質的に閉じた運動軌道430が形成されている。これにより、ユーザは、第1の部分オブジェクト431aの運動と第2の部分オブジェクト431cの運動とに連続性を感じる。これにより、ユーザは、第1の部分オブジェクト431aの運動と第2の部分オブジェクト431cの運動とに違和感を覚えにくくなるため、没入感の低下が抑止される。
[0063]
 さらに、図8に示すように、運動軌道430は、回転軌道である。より具体的には、運動軌道430は、仮想オブジェクト420の周りを回転する回転軌道である。これにより、ユーザは、第1の部分オブジェクト431aの運動と第2の部分オブジェクト431cの運動とに、更に連続性を感じる。これにより、ユーザは、第1の部分オブジェクト431aの運動と第2の部分オブジェクト431cの運動とに違和感を覚えにくくなるため、更に没入感の低下が抑止される。
[0064]
 以上、表示制御部120の処理について説明した。
[0065]
 (記憶部)
 図3を参照して、情報処理装置10の説明に戻る。記憶部130は、表示制御部120の処理に用いられる情報を記憶する。具体的には、記憶部130は、ディスプレイ211に表示される仮想オブジェクト又は部分オブジェクトの位置情報を記憶する。例えば、記憶部130は、これらのオブジェクトの世界座標系における位置又はディスプレイ211に表示される位置を記憶する。さらに、記憶部130は、仮想オブジェクトを分解する条件又は部分オブジェクトを移動させる条件などを記憶する。なお、情報処理装置10には、記憶部130の代わりに、情報処理装置10の外部からこれらの情報が入力される入力部が備えられてもよい。また、記憶部130は、情報処理装置10の外部装置(例えば、クラウド上の各種のサーバ等)に設けられてもよい。この場合、情報処理装置10は、当該外部装置に設けられた記憶部と通信することにより、当該記憶部から情報を取得してもよい。
[0066]
 <<2.2.処理例>>
 次に、図9を参照して、本実施形態に係る情報処理装置10の処理について説明する。図9は、本実施形態に係る情報処理装置10の処理の一例を示すフローチャートである。図9に示す処理は、世界座標系に複数の仮想オブジェクト配置される場合には、複数の仮想オブジェクトの各々について実施される。
[0067]
 まず、位置情報取得部110が、ユーザの位置情報を取得する(ステップS102)。また、位置情報取得部110は、ユーザの向きに関わる情報等に基づいて、視錐台の領域を特定する。
[0068]
 次に、表示制御部120が、世界座標系における所定の位置に配置された仮想オブジェクトの位置を認識する(ステップS104)。
[0069]
 次に、表示制御部120が、視錐台の内側に仮想オブジェクトが存在するか否かを判定する(ステップS106)。仮想オブジェクトが視錐台の内側に存在すると判定された場合(ステップS106/YES)、ステップS108に進む。一方、仮想オブジェクトが視錐台の内側に存在しないことが判定された場合(ステップS106/NO)、ステップS102に戻る。
[0070]
 仮想オブジェクトが視錐台の内側に存在すると判定される(ステップS106/YES)と、表示制御部120が、当該仮想オブジェクトにおける第1及び第2の端部を認識する(ステップS108)。
[0071]
 次に、表示制御部120が、第1の端部の分解条件を決定する(ステップS110)。具体的には、表示制御部120は、第1の端部を分解させる部分、当該部分を分解する確率、第1及び第2の部分オブジェクトの形状、模様、又は色彩等の条件を決定する。
[0072]
 次に、表示制御部120が、第1及び第2の部分オブジェクトの移動条件を決定する(ステップS112)。より具体的には、部分オブジェクトの軌道又は速度等の条件を決定する。
[0073]
 次に、表示制御部120が、第1の端部を分解する(ステップS114)。これにより、ステップS110において決定された分解条件に応じて、第1の端部が分解され、第1及び第2の部分オブジェクトが得られる。
[0074]
 次に、表示制御部120が、ステップS114において得られた第1及び第2の部分オブジェクトを移動させる(ステップS116)。なお、表示制御部120は、ステップS112において決定された移動条件に基づいて、第1及び第2の部分オブジェクトを移動させる。
[0075]
 次に、表示制御部120が、ディスプレイ211の制御を終了する指示があるか否かを判定する(ステップS118)。例えば、情報処理装置10に設けられた入力装置(図示しない)に当該指示が入力されてもよい。当該指示があると判定された場合(ステップS118/YES)、図9の処理は終了する。一方、当該指示がないと判定された場合(ステップS118/NO)、ステップS102に戻る。
[0076]
 以上、本実施形態に係る情報処理装置10の処理の一例について説明した。
[0077]
 <<2.3.効果>>
 以上のように、本実施形態では、情報処理装置10は、光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得し、当該位置情報に基づいて、ディスプレイに世界座標系における所定の位置に配置された仮想オブジェクトを表示するようにディスプレイを制御する。さらに、情報処理装置10は、ディスプレイを制御する際には、ディスプレイにおいて、仮想オブジェクト420が表示される領域であるオブジェクト表示領域400の境界に実質的に接する仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、オブジェクト表示領域の境界に向かって移動させつつ、仮想オブジェクトの残部の表示を前記所定の位置に維持する。このため、ユーザは、オブジェクト表示領域の境界を認識しづらくなる。一方、分解されずに残った残部は、オブジェクト表示領域に表示された状態が維持される。これにより、仮想オブジェクト420がオブジェクト表示領域の境界に留まるようなオブジェクトが存在しても、ユーザはオブジェクト表示領域の境界を意識しにくくなり、ユーザの没入感の低下が抑止される。
[0078]
 <3.変形例>
 次いで、本実施形態に係る情報処理装置10の変形例について説明する。本実施形態に係る情報処理装置10は、仮想オブジェクトを構成するメッシュを分解し、当該メッシュと同じ形状及び模様を有する第1及び第2の部分オブジェクトを、当該仮想オブジェクトの周りで移動させた。これに対し、変形例に係る情報処理装置10は、オブジェクト表示領域の境界に実質的に接する仮想オブジェクトを分解して得られる球体の部分オブジェクトを、所定の軌道で移動させる。以下、図10~14を用いて、変形例に係る情報処理装置10の処理について説明する。
[0079]
 図10は、変形例に係る情報処理装置10による仮想オブジェクトの処理を示す図である。図10では、仮想オブジェクト510は、オブジェクト表示領域500における右側の境界に接する。表示制御部120は、仮想オブジェクト510におけるオブジェクト表示領域500に示される破線530よりも右側の領域を第1の端部525として分解し、3つの球状の部分オブジェクト520a、520b及び520cを得る。ここで、第1の端部525は、仮想オブジェクト510のうち破線530よりも右側の領域に相当する。これらの3つの部分オブジェクトの中心は、それぞれ521a、521b及び521cである。それぞれの中心は、それぞれの軌道522a、522b及び522cを通って回転する。なお、仮想オブジェクト510における破線530よりも左側の残部については、元の表示が維持される。
[0080]
 このように、変形例においても、仮想オブジェクト510における第1の端部525を分解することにより得られる部分オブジェクト520a、520b及び520cが、オブジェクト表示領域500における右側の境界に向かって移動するため、ユーザは、当該境界を意識しにくくなり、没入感の低下が抑止される。また、仮想オブジェクト510における第1の端部525以外の残部については、元の表示が維持されるため、ユーザは、当該仮想オブジェクト510を認識し易くなる。
[0081]
 なお、ここでは、表示制御部120は、第1の端部525の全てを分解しているが、第1の端部525の一部を分解してもよい。さらに、表示制御部120は、仮想オブジェクト510の全てを分解してもよい。
[0082]
 次いで、図11を参照して、変形例に係る情報処理装置10が仮想オブジェクト510を分解することで得られる部分オブジェクトが移動する軌道を決定する方法について説明する。図11は、仮想オブジェクト510を分解して得られる部分オブジェクトが移動する軌道522を示す図である。
[0083]
 平面540は、回転軸yを法線とする面である。ここで、仮想オブジェクト510をy軸に射影するとき、仮想オブジェクト510の範囲がymaxからyminまでであるとする。平面540は、ymaxとyminを等間隔dのN点で分割された点のうちの1つの点を通る。例えば、Nが3である場合には、ymax-yminが1であるとき、dは0.25となる。
[0084]
 次に、仮想オブジェクト510の断面と、当該仮想オブジェクト510を分解して得られるオブジェクトの軌道522との関係について、図12~14を参照して、説明する。図12は、仮想オブジェクト510の断面523dと、部分オブジェクト520dの軌道522dとの関係を示す図である。図12に示す例では、軌道522dは、断面523dが内包する最小半径を有する円である。より具体的には、表示制御部120は、軌道522dを表す円のパラメトリック表現を求める。つまり、円状の軌道522dを表現するfx(θ)とfz(θ)とを生成する。ここで、位相θは、たとえば、軌道522dにおける点と原点とを結ぶ直線と、x軸と、がなす角であってもよい。当該パラメトリック表現を生成する方法は、特に限られないが、例えば、断面523dの重心を軌道522dの中心とする。断面523dの点群のうち当該中心から最も遠い点と、当該中心との距離を半径することで上記のパラメトリック表現が生成される。なお、図12では、軌道522dを円状の軌道としたが、これに限らず、軌道522は、楕円状の軌道であってもよい。さらに、軌道522は、軌道522dをおよそ一致する楕円状の軌道であってもよい。
[0085]
 また、図12の例では、仮想オブジェクトの断面は1つの断面で表されるが、仮想オブジェクトの断面は複数の互いに分離した断面で表されてもよい。図13は、仮想オブジェクトの断面が複数の領域に分割される場合に、楕円状の軌道522eが生成されることを示す図である。図13に示す例では、仮想オブジェクトの断面を表す3つの断面523eを内包する楕円状の軌道522eを部分オブジェクト520eが移動する。ここで、軌道522eは、3つの断面523eを内包する楕円のうち、最小の面積を有する楕円を形成する軌道であってもよい。また、図14に示すように、仮想オブジェクトの断面が複数の領域523fに分割される場合であっても、部分オブジェクト520fの軌道522fは円状であってもよい。なお、図13及び図14に示す例では、仮想オブジェクトが3つの断面に分割される例を示しているが、これに限らず、仮想オブジェクトが2つの断面に分割されてもよいし、4つ以上の断面に分割されてもよい。
[0086]
 図12~14に示す例のいずれの場合であっても、y軸上のN個の断面のそれぞれにパラメトリック曲線が生成される。表示制御部120は、当該パラメトリック曲線に球状のオブジェクトを配置する。また、N個のパラメトリック曲線の位相θは、乱数で定めた位相差のオフセットuと、時間係数αとで定義されてもよい。具体的には、1≦k≦θ(k)=u(k)+α(k)×tと定義される。例えば、およそ1秒で軌道を一周するとして、α(k)=2π×j(k)としてもよい。ここで、j(k)は、1.0を中心とし、σ=0.1で正規分布する乱数としてもよい。また、u(k)は、0から2πの一様乱数などにしてもよい。
[0087]
 以上のようにして、仮想オブジェクトを視錐台の端に描画する場合には、その境界となるy軸と平行な回転軸で回転する複数のオブジェクトで、当該仮想オブジェクトを表現することができる。これにより、オブジェクト表示領域の境界で仮想オブジェクトの一部がクリッピングされても、ユーザは、オブジェクトの運動から想起される形状を感じやすくなる。また、ユーザは、オブジェクト表示領域の境界を認識しにくくなる。これにより、ユーザの没入感の低下が抑止される。
[0088]
 <4.ハードウェア構成>
 続いて、図15を参照しながら、前述した情報処理装置10や入出力装置20のように、本開示の一実施形態に係る情報処理システム1を構成する情報処理装置10のハードウェア構成の一例について、詳細に説明する。図15は、本開示の一実施形態に係る情報処理システム1を構成する情報処理装置10のハードウェア構成の一構成例を示す機能ブロック図である。
[0089]
 本実施形態に係る情報処理システム1を構成する情報処理装置10は、主に、CPU601と、ROM602と、RAM603と、を備える。また、情報処理装置10は、更に、ホストバス604と、ブリッジ605と、外部バス606と、インタフェース607と、入力装置608と、出力装置609と、ストレージ装置610と、ドライブ612と、接続ポート614と、通信装置616とを備える。
[0090]
 CPU601は、演算処理装置及び制御装置として機能し、ROM602、RAM603、ストレージ装置610又はリムーバブル記録媒体613に記録された各種プログラムに従って、情報処理装置10内の動作全般又はその一部を制御する。ROM602は、CPU601が使用するプログラムや演算パラメータ等を記憶する。RAM603は、CPU601が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス604により相互に接続されている。例えば、図3に示す位置情報取得部110及び表示制御部120は、CPU601により構成され得る。
[0091]
 ホストバス604は、ブリッジ605を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス606に接続されている。また、外部バス606には、インタフェース607を介して、入力装置608、出力装置609、ストレージ装置610、ドライブ612、接続ポート614及び通信装置616が接続される。
[0092]
 入力装置608は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置608は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器615であってもよい。さらに、入力装置608は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU601に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置608を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
[0093]
 出力装置609は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置609は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
[0094]
 ストレージ装置610は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置610は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置610は、CPU601が実行するプログラムや各種データ等を格納する。例えば、図3に示す記憶部130は、ストレージ装置610により構成され得る。
[0095]
 ドライブ612は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ612は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体613に記録されている情報を読み出して、RAM603に出力する。また、ドライブ612は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体613に記録を書き込むことも可能である。リムーバブル記録媒体613は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体613は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体613は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。
[0096]
 接続ポート614は、情報処理装置10に直接接続するためのポートである。接続ポート614の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート614の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート614に外部接続機器615を接続することで、情報処理装置10は、外部接続機器615から直接各種のデータを取得したり、外部接続機器615に各種のデータを提供したりする。
[0097]
 通信装置616は、例えば、通信網(ネットワーク)917に接続するための通信デバイス等で構成された通信インタフェースである。通信装置616は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置616は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置616は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置616に接続される通信網617は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。
[0098]
 以上、本開示の実施形態に係る情報処理システム1を構成する情報処理装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図15では図示しないが、情報処理システム1を構成する情報処理装置10に対応する各種の構成を当然備える。
[0099]
 なお、上述のような本実施形態に係る情報処理システム1を構成する情報処理装置10の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。
[0100]
 <5.補足>
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
[0101]
 例えば、上記実施形態では、オブジェクト表示領域の右側の境界に仮想オブジェクトがクリッピングされる例について説明した。これに限らず、仮想オブジェクトが、オブジェクト表示領域の左側、上側、又は下側のいずれの境界にクリッピングされる場合にも、情報処理装置10は、本実施形態のように、仮想オブジェクトの第1の端部を分解し、第1及び第2の部分オブジェクトを移動させることができる。例えば、下側に仮想オブジェクトがクリッピングされる場合には、実際には仮想オブジェクトが浮いているにもかかわらず、ユーザには地面に埋もれているように見えてしまう。この場合、ユーザは、距離感又は奥行き感を誤ってしまう恐れがある。しかし、上記実施形態に係る情報処理装置10の処理により、ユーザが距離感又は奥行き感を誤ることが抑止される。
[0102]
 また、仮想オブジェクトが、視錐台の右側の面と左側の面とにクリッピングされる場合がある。この場合には、表示制御部120は、仮想オブジェクトの第1の端部を分解し、図16に示すように、視錐台の右側の面と下側の面とを通る斜めの面320に平行な軸を回転軸として移動する、第1及び第2の部分オブジェクトを生成する。面320の向きは、ディスプレイの表示領域又はオブジェクト表示領域のアスペクト比等から予め決められてもよい。また、面320の向きは、仮想オブジェクトが視錐台の右側でクリッピングされる量と、下側でクリッピングされる量に応じて、決定されてもよい。また、同様にして、視錐台の右側及び上側の面、左側及び上側の面、又は左側及び下側の面でクリッピングされる場合にも、表示制御部120は、斜めの面320に平行な軸を回転軸とする第1及び第2の部分オブジェクトを生成する。
[0103]
 上記実施形態では、表示制御部120が、仮想オブジェクトの第1の端部を分解した。仮想オブジェクトには、例えば文字列のラベル(例えば「Look Here」など)がテクスチャーとして付与されている場合がある。この場合、表示制御部120は、当該ラベルを分解しなくてもよい。これにより、文字列のラベルの表示が維持されるため、ユーザは、文字列を読み取ることができる。
[0104]
 また、表示制御部120は、オブジェクト表示領域において所定の面積以上の面積を占める仮想オブジェクトを分解の対象外としてもよい。例えば、仮想オブジェクトがオブジェクト表示領域における上端と下端との境界又は右端と左端との境界でクリッピングされる場合には、表示制御部120は、当該仮想オブジェクトを分解しなくてもよい。所定の面積を有する仮想オブジェクトを分解すると、ユーザは当該仮想オブジェクトを認識しづらくなる場合がある。表示制御部120が所定の面積以上の面積を有する仮想オブジェクトを分解の対象外とすることにより、ユーザによる仮想オブジェクトの認識し易さの低下が抑止される。表示制御部120は、仮想オブジェクトが例えば、オブジェクト表示領域の面積の所定の割合以下の面積を有する場合に、当該仮想オブジェクトを分解してもよい。また、表示制御部120は、仮想オブジェクトが例えば、オブジェクト表示領域における左側の1/n以内に収まる場合に、当該仮想オブジェクトを分解してもよい。nの値は、例えば、2又は4等の数値であってもよい。
[0105]
 さらに、表示制御部120は、仮想オブジェクトがオブジェクト表示領域において所定の面積以上の面積を占める場合には、当該仮想オブジェクトを複数のオブジェクトに分割してもよい。この場合、表示制御部120が前述のように、所定の面積以上の面積を占める仮想オブジェクトを分解しない場合であっても、分割されたオブジェクトが所定の面積よりも小さい場合には、表示制御部120は、分割されたオブジェクトを分解することができる。
[0106]
 情報処理装置10は、ユーザの動きを検出する機能を、図3に示す機能に加えて更に有してもよい。情報処理装置10は、当該動きに基づいて、その後のユーザの動きを予測し、仮想オブジェクトが視錐台にクリッピングされる前に当該仮想オブジェクトの第1の端部を分解してもよい。
[0107]
 また、表示制御部120は、視錐台の外側から入ってくる仮想オブジェクトについては、第1の端部を分解しなくてもよい。これにより、ユーザは、視錐台の外側に存在する仮想オブジェクトに基づく第1又は第2の部分オブジェクトを認識しなくて済むため、当該第1又は第2の部分オブジェクトが認識されることによる没入感の低下が抑止される。
[0108]
 また、表示制御部120は、視錐台の外側から入ってくる仮想オブジェクトの第1の端部を分解して、第1又は第2の部分オブジェクトを移動させてもよい。これにより、ユーザは、視錐台の外側に仮想オブジェクトが存在していることを認識することができる。このため、当該仮想オブジェクトが視錐台の内側に入る場合にも、ユーザは、当該仮想オブジェクトがオブジェクト表示領域に表示されることによる違和感を覚えにくくなる。このため、没入感の低下が抑止される。
[0109]
 また、表示制御部120は、仮想オブジェクトが視錐台からはみ出す量に応じて、当該仮想オブジェクトを分解する大きさを変更してもよい。また、表示制御部120は、仮想オブジェクトが視錐台からはみ出す量に応じて、第1及び第2の部分オブジェクトの大きさ又は速度を変更してもよい。
[0110]
 表示制御部120は、表示制御部120は、第1及び第2の部分オブジェクトが視錐台の境界の近くに位置するほど、第1及び第2の部分オブジェクトの大きさを小さくしてもよい。これにより、ユーザは、オブジェクト表示領域を跨ぎ、第1及び第2の部分オブジェクトが表示されなくなることによる違和感を覚えにくくなる。
[0111]
 表示制御部120は、第1及び第2の部分オブジェクトが視錐台からはみ出るにしたがって、透過するようにしてもよい。これにより、ユーザは、第1及び第2の部分オブジェクトが視錐台からはみ出ることにより、オブジェクト表示領域において表示されなくなることによる違和感を覚えにくくなる。
[0112]
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
[0113]
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得する位置情報取得部と、
 前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御する表示制御部と
 を備え、
 前記表示制御部は、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理装置。
(2)
 前記表示制御部は、前記仮想オブジェクトの第1の端部が前記オブジェクト表示領域の境界に接する場合、前記仮想オブジェクトの第1の端部に対し前記仮想オブジェクトの反対側にある前記仮想オブジェクトの第2の端部から、第2の部分オブジェクトを前記オブジェクト表示領域の境界に向かって移動させる、前記(1)に記載の情報処理装置。
(3)
 前記表示制御部は、前記第1の部分オブジェクトの軌道と前記第2の部分オブジェクトの軌道との接続により、実質的に閉じた運動軌道を形成する、前記(2)に記載の情報処理装置。
(4)
 前記表示制御部は、前記運動軌道を回転軌道とする、前記(3)に記載の情報処理装置。
(5)
 前記表示制御部は、前記第2の部分オブジェクトを、前記世界座標系における奥行方向において前記ユーザに近づくように移動させる、前記(2)又は(3)に記載の情報処理装置。
(6)
 前記表示制御部は、前記第1の部分オブジェクトを、前記世界座標系における奥行方向において前記ユーザから離れるように移動させる、前記(1)~(5)のいずれか1項に記載の情報処理装置。
(7)
 前記表示制御部は、前記第1の端部を、確率的に分解する、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
 前記表示制御部は、前記第1の端部のうち前記境界に近い部分ほど、前記第1の端部を高い確率で分解する、前記(7)に記載の情報処理装置。
(9)
 前記第1及び第2の部分オブジェクトは、立体視されるオブジェクトである、前記(2)又は(3)に記載の情報処理装置。
(10)
 前記第1及び第2の部分オブジェクトは、前記第1の端部を構成するメッシュである、
 前記(9)に記載の情報処理装置。
(11)
 前記表示制御部は、前記第1の部分オブジェクトが前記境界に近いほど、前記第1の部分オブジェクトの速度を速くする、前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)
 前記表示制御部は、前記第1の部分オブジェクトが前記境界に近いほど、前記第1の部分オブジェクトの前記オブジェクト表示領域に平行な方向の速度を速くする、前記(11)に記載の情報処理装置。
(13)
 前記オブジェクト表示領域の画角は、前記ユーザの視野よりも狭い、前記(1)~(12)のいずれか1項に記載の情報処理装置。
(14)
 前記ディスプレイの画角は、前記ユーザの視野よりも狭い、前記(13)に記載の情報処理装置。
(15)
 前記ディスプレイは、前記ユーザに装着される、前記(1)~(14)のいずれか1項に記載の情報処理装置。
(16)
 前記ディスプレイは、ヘッドマウントディスプレイのディスプレイ装置である、前記(15)に記載の情報処理装置。
(17)
 光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得することと、
 前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御することと
 を含み、
 前記ディスプレイを制御する際には、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理方法。
(18)
 コンピュータを、
 光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得する位置情報取得部と、
 前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御する表示制御部と
 を備え、
 前記表示制御部は、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理装置として機能させる、プログラム。

符号の説明

[0114]
 10        情報処理装置
 110       位置情報取得部
 120       表示制御部
 20        入出力装置
 201       撮像部
 211       ディスプレイ
 400、500   オブジェクト表示領域
 420、510   仮想オブジェクト
 431a      第1の部分オブジェクト
 431c      第2の部分オブジェクト
 430       運動軌道

請求の範囲

[請求項1]
 光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得する位置情報取得部と、
 前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御する表示制御部と
 を備え、
 前記表示制御部は、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理装置。
[請求項2]
 前記表示制御部は、前記仮想オブジェクトの第1の端部が前記オブジェクト表示領域の境界に接する場合、前記仮想オブジェクトの第1の端部に対し前記仮想オブジェクトの反対側にある前記仮想オブジェクトの第2の端部から、第2の部分オブジェクトを前記オブジェクト表示領域の境界に向かって移動させる、請求項1に記載の情報処理装置。
[請求項3]
 前記表示制御部は、前記第1の部分オブジェクトの軌道と前記第2の部分オブジェクトの軌道との接続により、実質的に閉じた運動軌道を形成する、請求項2に記載の情報処理装置。
[請求項4]
 前記表示制御部は、前記運動軌道を回転軌道とする、請求項3に記載の情報処理装置。
[請求項5]
 前記表示制御部は、前記第2の部分オブジェクトを、前記世界座標系における奥行方向において前記ユーザに近づくように移動させる、請求項2に記載の情報処理装置。
[請求項6]
 前記表示制御部は、前記第1の部分オブジェクトを、前記世界座標系における奥行方向において前記ユーザから離れるように移動させる、請求項1に記載の情報処理装置。
[請求項7]
 前記表示制御部は、前記第1の端部を、確率的に分解する、請求項1に記載の情報処理装置。
[請求項8]
 前記表示制御部は、前記第1の端部のうち前記境界に近い部分ほど、前記第1の端部を高い確率で分解する、請求項7に記載の情報処理装置。
[請求項9]
 前記第1及び第2の部分オブジェクトは、立体視されるオブジェクトである、請求項2に記載の情報処理装置。
[請求項10]
 前記第1及び第2の部分オブジェクトは、前記第1の端部を構成するメッシュである、
 請求項9に記載の情報処理装置。
[請求項11]
 前記表示制御部は、前記第1の部分オブジェクトが前記境界に近いほど、前記第1の部分オブジェクトの速度を速くする、請求項1に記載の情報処理装置。
[請求項12]
 前記表示制御部は、前記第1の部分オブジェクトが前記境界に近いほど、前記第1の部分オブジェクトの前記オブジェクト表示領域に平行な方向の速度を速くする、請求項11に記載の情報処理装置。
[請求項13]
 前記オブジェクト表示領域の画角は、前記ユーザの視野よりも狭い、請求項1に記載の情報処理装置。
[請求項14]
 前記ディスプレイの画角は、前記ユーザの視野よりも狭い、請求項13に記載の情報処理装置。
[請求項15]
 前記ディスプレイは、前記ユーザに装着される、請求項1に記載の情報処理装置。
[請求項16]
 前記ディスプレイは、ヘッドマウントディスプレイのディスプレイ装置である、請求項15に記載の情報処理装置。
[請求項17]
 光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得することと、
 前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御することと
 を含み、
 前記ディスプレイを制御する際には、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理方法。
[請求項18]
 コンピュータを、
 光学的透過性を有するディスプレイのユーザの世界座標系における位置情報を取得する位置情報取得部と、
 前記位置情報に基づいて、前記ディスプレイに前記世界座標系における所定の位置に配置された仮想オブジェクトを表示するように前記ディスプレイを制御する表示制御部と
 を備え、
 前記表示制御部は、前記ディスプレイにおいて、前記仮想オブジェクトが表示される領域であるオブジェクト表示領域の境界に実質的に接する前記仮想オブジェクトの第1の端部を分解することで得られる第1の部分オブジェクトを、前記オブジェクト表示領域の境界に向かって移動させつつ、前記仮想オブジェクトの残部の表示を前記所定の位置に維持する、情報処理装置として機能させる、プログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]