JP6152888B2 - 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム - Google Patents

情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム Download PDF

Info

Publication number
JP6152888B2
JP6152888B2 JP2015244601A JP2015244601A JP6152888B2 JP 6152888 B2 JP6152888 B2 JP 6152888B2 JP 2015244601 A JP2015244601 A JP 2015244601A JP 2015244601 A JP2015244601 A JP 2015244601A JP 6152888 B2 JP6152888 B2 JP 6152888B2
Authority
JP
Japan
Prior art keywords
dimensional model
display
information processing
mounted displays
head mounted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015244601A
Other languages
English (en)
Other versions
JP2016122443A (ja
Inventor
弘貴 深草
弘貴 深草
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Publication of JP2016122443A publication Critical patent/JP2016122443A/ja
Application granted granted Critical
Publication of JP6152888B2 publication Critical patent/JP6152888B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複合現実感(Mixed Reality)技術に関し、複数のユーザが視認しやすい三次元モデルに調整して三次元モデルを表示することの可能な仕組みを提供することの可能な情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラムに関する。
従来、ヘッドマウントディスプレイ(以下、HMDという。)で現実の世界を撮影した画像に、コンピュータで生成した仮想の世界の画像を重畳させて、HMDの画面に表示する技術が存在する。
ユーザはHMDを装着することで、あたかも現実空間上に仮想の三次元モデルが存在しているかのような視界を得ることが可能になる。
下記の特許文献1には、HMDで撮影した現実の画像に人の顔画像を検出した場合に、検出した人の顔画像にHMDで表示する仮想の世界の画像が重複しないよう、画像の位置や大きさを制御する仕組みが開示されている。
特開2010−211662号公報
前述した仕組みでは、複数のユーザがHMDを装着し、共通の三次元モデルを同時に閲覧することが可能である。この仕組みは、例えば製造業の開発現場で、複数の設計者が製品の三次元モデルを各自のHMDに表示させて、製品レビューを行うようなケースで活用される。
製品レビューの場合、ユーザは製品の全体のバランスなどを見る必要があるため、表示する三次元モデルは、当該三次元モデルが示す製品の実物と同等のサイズで表示されること(原寸大であること)が望ましい。そのため、三次元モデルを原寸大となるよう作成し、仮想空間にこれを原寸大で配置している。
しかしながら、三次元モデルの原寸大の大きさが非常に大きい場合がある。例えば飛行機などである。サイズの大きい三次元モデルを原寸大で表示させてしまうと、三次元モデルの全体のバランスを見ることができず正常に製品レビューを行うことができない。そのためこういった場合にはユーザのレビューに適した大きさで表示するべく、三次元モデルの大きさ(三次元モデルの表示倍率)を変更する手間が生じる。
そこで本発明は、複数のユーザが視認しやすい三次元モデルに調整して三次元モデルを表示することの可能な仕組みを提供することを目的とする。
本発明の情報処理装置は、仮想空間上に配置するための三次元モデルを記憶する記憶手段と、仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置を取得する取得手段と、前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置に基づいて、前記三次元モデルの表示の大きさを決定する決定手段と、前記決定手段で決定された大きさで前記三次元モデルを前記複数のヘッドマウントディスプレイで表示させるよう制御する表示制御手段とを備え、前記取得手段は、前記複数のヘッドマウントディスプレイの向き及び視野角も取得し、前記決定手段は、前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示の大きさを決定することを特徴とする。
本発明によれば、複数のユーザが視認しやすい三次元モデルに調整して三次元モデルを表示することの可能な仕組みを提供することの可能な効果を奏する。
本発明の実施形態における遠隔MRシステムのシステム構成の一例を示す図である。 拠点に構成されるMRシステムのシステム構成の一例を示す図である。 情報処理装置101とHMD102のハードウェア構成の一例を示す図である。 情報処理装置101の機能構成の一例を示す図である。 本実施形態の一連の処理の流れの一例を示すフローチャートである。 図5に示す三次元モデル倍率決定処理の詳細な処理の流れを示すフローチャートである。 図6に示すフローチャートにおける三次元モデルの大きさを決定するイメージである表示イメージ700の一例を示す図である。 図6に示すフローチャートにおける三次元モデルの大きさを決定するイメージである表示イメージ800の一例を示す図である。 各種テーブルのテーブル構成の一例を示す図である。 本発明の第2の実施形態における一連の処理の流れの一例を示すフローチャートである。 図10に続く、本発明の第2の実施形態における一連の処理の流れの一例を示すフローチャートである。 第2の実施形態において決定された倍率で三次元モデルが表示されるイメージ図である。 本発明の第3の実施形態における一連の処理の流れの一例を示すフローチャートである。 図13に続く、本発明の第3の実施形態における一連の処理の流れの一例を示すフローチャートである。 第3の実施形態において、領域の内接円の半径によって決定された大きさで三次元モデルが表示されるイメージ図である。 第3の実施形態において、各座標から等距離にある位置から各座標までの距離によって決定された大きさで三次元モデルが表示されるイメージ図である。
以下、図面を参照しながら、本発明の実施形態の一例について説明する。
図1は、本発明の実施形態におけるMRシステム(情報処理システム)のシステム構成の一例を示す図である。図1に示すMRシステムは、MR技術を用いて、複数の拠点のユーザに同一の仮想空間を閲覧させるシステムである。MRシステムは、情報処理装置101にHMD102が相互にデータ通信可能に接続される複数のMRシステムを含み、各MRシステムの情報処理装置101はネットワーク103を介して通信可能に接続されている。情報処理装置101とHMD102との接続は、有線接続であってもよいし、無線接続であってもよい。また、MRシステムに含まれるMRシステムはいくつでもよい。本実施形態では、情報処理装置101−1とHMD102−1とが接続されるMRシステムと、情報処理装置101−2とHMD102−2とが接続されるMRシステムと、その他複数のMRシステムとを含むMRシステムとして説明を行う。尚、図1のシステム上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は、汎用的なコンピュータである。情報処理装置101は、HMD102で撮影(撮像)された現実空間の画像(以下、現実空間画像という。)と、情報処理装置101で生成された仮想空間の画像(以下、仮想空間画像という。)とを重畳した画像(以下、複合現実画像という。)を生成し、HMD102に送信する。尚、MR技術に関しては従来技術を用いるため、詳細な説明は省略する。また、情報処理装置101は、パーソナルコンピュータであってもよいし、サーバのような大型のコンピュータであってもよい。更には、携帯電話やタブレット端末といった携帯端末であってもよい。コンピュータの種類は特に問わない。また、拠点ごとに情報処理装置101を設置せず、1台の情報処理装置101で処理するようにしてもよい。すなわち、1台の情報処理装置101が本実施形態における各MRシステムを構築してもよい。
HMD102は、ヘッドマウントディスプレイである。HMD102は、ユーザの頭部に装着する装置であり、右目用と左目用のビデオカメラと、右目用と左目用のディスプレイを備えている。HMD102は、HMD102のビデオカメラで撮影された現実空間画像を情報処理装置101に送信する。そして、情報処理装置101から送信されてきた複合現実画像を受信し、ディスプレイに表示する。HMD102では、右目用と左目用のディスプレイを設けているので、視差によって立体感を得ることができる。尚、HMD102で撮影する現実空間画像とHMD102で表示する複合現実画像は、動画(映像)が望ましいが、所定の間隔で撮影された画像であってもよい。
図2は、各拠点のMRシステムのシステム構成の一例を示す図である。前述した通り、情報処理装置101はHMD102と通信可能に接続されている。更に、情報処理装置101には赤外線カメラ202が接続されている。赤外線カメラ202は、赤外線を用いた光学式のセンサである。赤外線カメラ202は、現実空間に赤外線を照射し、現実空間の物体で反射した赤外線を撮影することにより、赤外線カメラ202が定義する座標系における、現実空間の物体の位置及び姿勢を特定する。この赤外線カメラ202を用いて、現実空間におけるHMD102(すなわちユーザ)の位置及び姿勢(向きや傾き、視線の方向等)を特定する。HMD102には、オプティカルマーカ201という赤外線を反射する物体を備えており、赤外線カメラ202はこのオプティカルマーカ201で反射した赤外線を撮影することで、HMD102の位置及び姿勢を特定できるようになっている。ユーザがどのような位置や姿勢であっても、当該ユーザが装着するHMD102のオプティカルマーカ201を撮影または検知できるように、MRシステムでは赤外線カメラ202を複数台設置することが望ましい。また、位置及び姿勢を特定可能なHMD102は、赤外線カメラ202の撮影範囲に存在するHMD102である。
尚、本実施形態においては、現実空間におけるHMD102の位置及び姿勢を特定するために、赤外線カメラ202を用いるが、HMD102の現実空間における位置及び姿勢を特定できるのであれば、これに限らない。例えば、磁気センサを用いてもよいし、HMD102が撮影した画像を解析して位置及び姿勢を特定してもよい。
図3は、情報処理装置101とHMD102の各ハードウェア構成の一例を示す図である。
まず、情報処理装置101は、CPU301、ROM302、RAM303、システムバス304、入力コントローラ305、ビデオコントローラ306、メモリコントローラ307、通信I/Fコントローラ308、汎用バス309、入力デバイス310、外部メモリ311、ディスプレイ312等を備える。
CPU301は、システムバス304に接続される各デバイスやコントローラを統括的に制御する。
また、ROM302あるいは外部メモリ311(記憶手段に相当する)には、CPU301の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムや、各種装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM303は、CPU301の主メモリ、ワークエリア等として機能する。
CPU301は、処理の実行に際して必要なプログラム等をRAM303にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)305は、キーボードやマウス等のポインティングデバイス(入力デバイス310)からの入力を制御する。
情報処理装置101のビデオコントローラ(VC)306は、HMD102が備える右目・左目ディスプレイ322やディスプレイ312等の表示器への表示を制御する。右目・左目ディスプレイ322に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて出力される。また、右目・左目ディスプレイ322は、右目用のディスプレイと左目用のディスプレイとから構成されている。また、ディスプレイ312は、液晶ディスプレイ等であり、右目・左目ディスプレイ322と同様の表示、または仮想空間を操作するためのGUI(Graphical User Interface)が表示される。
メモリコントローラ(MC)307は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ311へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)308は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。特に、情報処理装置101の通信I/Fコントローラ308は、赤外線カメラ202との通信も制御する。
情報処理装置101の汎用バス309は、情報処理装置101に接続されるHMD102の右目・左目ビデオカメラ321で撮影した画像を取り込むために使用される。右目・左目ビデオカメラ321からは、外部入力端子(例えば、IEEE1394端子)を用いて入力される。また、右目・左目ビデオカメラ321は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
尚、CPU301は、例えばRAM303内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ上での表示を可能としている。また、CPU301は、ディスプレイ上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ311に記録されており、必要に応じてRAM303にロードされることによりCPU301によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ311に格納されている。
図4は、情報処理装置101の機能構成を示す機能構成図である。尚、図4の情報処理装置101の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は機能部として、通信制御部401と、位置・姿勢取得部402と、位置・姿勢特定部403と、現実空間画像取得部404と、仮想空間生成部405と、仮想空間画像取得部406と、複合現実画像生成部407とを備える。また、表示制御部408と、記憶部409と、三次元モデル制御部410と、重複視界領域特定部411と、表示倍率決定部412と、座標特定部413と、マウス制御部414とを備える。
通信制御部401は、情報処理装置101と通信可能なHMD102と赤外線カメラ202との各種情報の送受信を行う機能部である。通信制御部401は、前述したビデオコントローラ306、通信I/Fコントローラ308、汎用バス309等を通じてこれらの装置と情報の送受信を行う。
位置・姿勢取得部402は、オプティカルマーカ201を備える装置の現実空間における位置及び姿勢を示す情報を赤外線カメラ202から取得する機能部である。本実施形態では、HMD102がオプティカルマーカ201を備えているため、位置・姿勢取得部402は赤外線カメラ202が解析した、現実空間におけるHMD102の位置及び姿勢(HMD102を装着しているユーザの位置及び姿勢。以下同じ。)を示す情報を取得する。また、位置・姿勢取得部402は、現実空間画像取得部404で右目・左目ビデオカメラ321から取得した右目用の現実空間画像と左目用の現実空間画像とを用いて、三角測量等の方法により、現実空間の物体の位置及び姿勢を特定することもできる。
位置・姿勢特定部403は、位置・姿勢取得部402で取得した、現実空間におけるHMD102の位置及び姿勢に対応する仮想空間上の位置及び姿勢を特定する機能部である。現実空間の座標系(赤外線カメラ202の座標系)と仮想空間の座標系とはあらかじめキャリブレーションがなされており、現実空間と仮想空間とが対応付けられている。つまり、この対応付けに基づいて現実空間におけるHMD102の位置及び姿勢に対応する仮想空間上の位置及び姿勢を特定する。
現実空間画像取得部404は、HMD102の右目・左目ビデオカメラ321で撮影された現実空間画像を取得する機能部である。
仮想空間生成部405は、情報処理装置101の外部メモリ311に記憶されている情報に基づいて仮想空間を生成する機能部である。仮想空間は情報処理装置101の内部に生成される仮想的な空間であるので、その空間の形や大きさに関する情報が外部メモリ311に記憶されており、これに基づいて仮想空間を生成する。仮想空間には三次元モデルからなる三次元モデルを配置可能である。三次元モデルは三次元モデル制御部410によって配置される。
仮想空間画像取得部406は、仮想空間生成部405で生成した仮想空間の画像を取得する機能部である。仮想空間画像取得部406が仮想空間の画像を取得する場合には、位置・姿勢特定部403で特定した仮想空間におけるHMD102の位置及び姿勢に基づいて仮想空間上の視点を決定し、当該視点から見た場合の仮想空間画像を生成し、これを取得する。この視点に仮想的なカメラを設置し、仮想空間を撮像するようにすればよい。
複合現実画像生成部407は、現実空間画像取得部404で取得した現実空間画像に仮想空間画像取得部406で取得した仮想空間画像を重畳することにより、複合現実画像を生成する機能部である。
表示制御部408は、情報処理装置101に接続されたHMD102の右目・左目ディスプレイ322や情報処理装置101に接続されたディスプレイ312における各種情報の表示制御を行う機能部である。特に、複合現実画像生成部407で生成された複合現実画像をHMD102の右目・左目ディスプレイ322に表示させる機能を有する。
記憶部409は、後述する各種テーブルの情報や仮想空間を生成するための情報、三次元モデル等の情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。本実施形態においては、三次元モデルや三次元モデルを管理する三次元モデル管理テーブル900が各情報処理装置101の記憶部409で記憶されているものとして説明を行う。
三次元モデル制御部410は、三次元モデルを仮想空間に配置するための機能部である。仮想空間が生成された場合には、あらかじめ定義された位置及び姿勢で三次元モデルを配置する。必要に応じて、配置された三次元モデルを異なる位置及び姿勢で再配置する。
重複視界領域特定部411は、位置・姿勢特定部403で特定した仮想空間における位置や姿勢に基づいて、仮想空間におけるユーザの視界(視野角)が重複している領域を特定するための機能部である。
表示倍率決定部412は、仮想空間に配置する三次元モデルの大きさを規定する表示倍率を決定するための機能部である。具体的には、ユーザの位置関係に応じて三次元モデルの大きさを規定する表示倍率を決定する。
座標特定部413は、仮想空間や三次元モデルの座標系において、任意の位置の座標を特定するための機能部である。特に、三次元モデルを表示する位置の座標等を特定する。
マウス制御部414は、入力デバイス310であるマウスからの入力を受け付けるための機能部である。マウス制御部414は、マウスのどのボタンが押下されたのかを検知することができる。
(第1の実施形態)
次に、本発明の第1の実施形態における情報処理装置101によって行われる一連の処理について、図5に示すフローチャートを用いて説明する。尚、以下説明する図5以降のフローチャートは、説明の都合上、情報処理装置101−1と情報処理装置101−2とに処理の主体を分けて表現しているが、どの情報処理装置101もステップS501乃至ステップS512の処理を実行可能である。すなわち、図5に示すステップS501乃至512、図6に示すステップS601乃至603及び607乃至616の各処理は、情報処理装置101−2も実行可能である。また、図6のステップS604乃至606の各処理は、情報処理装置101−1も実行可能である。また、これ以外の情報処理装置101が存在する場合にも同じくステップS501乃至ステップS512を実行可能である。
ステップS501では、情報処理装置101−1のCPU301は、仮想空間生成部405の機能により、外部メモリ311から仮想空間の形や大きさに関する情報を取得し、仮想空間を生成する。また、三次元モデル制御部410の機能により、外部メモリ311から三次元モデルを取得し、所定の位置及び姿勢で仮想空間に配置する。三次元モデルの配置について具体的に説明する。まず、情報処理装置101−1は、外部メモリ311に記憶された図9の三次元モデル管理テーブル900と仮想空間管理テーブル920とを参照する。そして、三次元モデル保存場所902が示すファイルパスから三次元モデルに関する情報(三次元モデルのデータ等)を取得し、これを三次元モデル位置姿勢情報921が示す位置及び姿勢(ベクトル)で仮想空間に配置する。
図9に示す三次元モデル管理テーブル900には、三次元モデルID901、三次元モデル保存場所902、大きさ情報903が対応付けて保存されている。三次元モデルID901は、三次元モデルを一意に識別するためのIDを示す。三次元モデル保存場所902は、三次元モデルの保存場所であるファイルパスを示す。大きさ情報903は、三次元モデルの大きさを示す情報である。具体的には、三次元モデルの中心座標から最も遠い点までの距離を示すものである。この大きさ情報903により、大きさ情報903を半径とすれば、三次元モデルが入る最も半径の小さい球を特定することができる。三次元モデル管理テーブル900は一例であってこれに限定されない。
図9に示す仮想空間管理テーブル920には、三次元モデルID901と、三次元モデル位置姿勢情報921と表示倍率922とが対応付けて保存されている。三次元モデル位置姿勢情報921は、仮想空間上の三次元モデルを配置する座標と、三次元モデルの姿勢を規定するベクトルの情報が格納されている。表示倍率922は、三次元モデルを表示する倍率を規定する値が格納されている。ユーザなどから三次元モデルの表示指示を受け付けると、情報処理装置101は表示指示のあった三次元モデルの三次元モデルID901に紐づく三次元モデル保存場所902から三次元モデルのデータを取得し、三次元モデル位置姿勢情報921が示す座標とベクトルで、表示倍率922が示す倍率を乗じた大きさの三次元モデルを仮想空間に配置し、HMDで表示させる。詳細は後述する。三次元モデルを表示させる際には、三次元モデルの原点(三次元モデルのX軸成分、Y軸成分、Z軸成分が最も小さい点)が三次元モデル位置姿勢情報921が示す座標と一致するように制御することで三次元モデルを仮想空間上に配置しHMDで表示可能となる。
ステップS502では、情報処理装置101−1のCPU301は、現実空間画像取得部404の機能により、HMD102−1の右目・左目ビデオカメラ321から現実空間画像を取得し、これをRAM303に記憶する。
ステップS503では、情報処理装置101−1のCPU301は、位置・姿勢取得部402の機能により、情報処理装置101−1と通信可能なHMD102−1の現実空間における位置及び姿勢を示す情報を取得し、これをRAM303に記憶する。前述した通り、HMD102が備えるオプティカルマーカ201を赤外線カメラ202が検知することで特定した位置及び姿勢を示す情報を、赤外線カメラ202から取得する。
ステップS504では、情報処理装置101−1のCPU301は、三次元モデルの表示指示をユーザから受け付けたか否かを判定する。例えば入力デバイス310により、三次元モデルの表示指示を受け付ける。表示指示を受け付けた三次元モデルの三次元モデルID901をRAM303に記憶する。三次元モデルの表示指示をユーザから受け付けたと判定した場合には処理をステップS505に進める。三次元モデルの表示指示をユーザから受け付けないと判定した場合には処理をステップS507に進める。
ステップS505では、情報処理装置101−1のCPU301は、図9に示す仮想空間管理テーブルにステップS504でRAM303に記憶した三次元モデルID901を追加する。この時点では、三次元モデル位置姿勢情報921と表示倍率922は空欄状態である。
ステップS506では、情報処理装置101−1のCPU301は、ステップS504で表示指示を受け付けた三次元モデルの表示倍率を決定する処理を行う。三次元モデルは、現実空間と重畳表示した場合に違和感の無いよう、あらかじめサイズが定められている。例えば車の三次元モデルであれば、現実空間と重畳表示した場合に実際の車と同等のサイズで表示できるよう、サイズが規定されている。ステップS506では、このように原寸大として定められた三次元モデルの大きさを変更するために、三次元モデルの表示倍率を決定する処理を行う。なお、三次元モデルが表示される大きさの決定方法の一つとして表示倍率で説明をしたが、三次元モデルの大きさ情報自体を修正することにより三次元モデルの表示される大きさを変更するなど、三次元モデルの表示される大きさを変更できればなんでもよい。
ステップS507では、情報処理装置101−1のCPU301は、ユーザから三次元モデルの表示倍率と表示位置を固定する指示を受け付けたか否かを判定する。例えば、入力デバイス310により、三次元モデルの表示倍率と表示位置を固定する指示を受け付ける(受付手段に相当する)。三次元モデルの表示倍率と表示位置を固定する指示を受け付けたと判定した場合には、処理をステップS508に進め、三次元モデルの表示倍率と表示位置を固定する指示を受け付けないと判定した場合には処理をステップS506に進める。なお、必ずしも表示倍率と表示位置の両方について固定する指示である必要は無く、いずれか一方に対する固定指示であってもよい。
ステップS508では、情報処理装置101−1のCPU301は、ステップS507で固定する指示を受け付けた三次元モデルの三次元モデル位置姿勢情報921と表示倍率922を固定する処理を行う。三次元モデル倍率決定処理で決定された三次元モデル位置姿勢情報921と表示倍率922で固定する。三次元モデル位置姿勢情報921と表示倍率922を固定することで、ユーザが三次元モデルに近づいたとしても三次元モデルの表示位置や表示倍率が変更せずに、三次元モデルを視認することができ、視認性が向上する効果がある。
ステップS509では、情報処理装置101−1のCPU301は、仮想空間画像取得部406の機能により、仮想空間を撮像することにより仮想空間画像を取得し、これをRAM303等に記憶する。より具体的には、まずステップS503で取得したHMD102−1の現実空間における位置及び姿勢を示す情報をRAM303等から読み出し、当該情報を用いて現実空間上の位置及び姿勢に対応する仮想空間上の位置及び姿勢を特定する。そして、特定した仮想空間上の位置及び姿勢で仮想空間上に仮想のカメラ(視点)を設置し、当該カメラにより仮想空間を撮像する。これにより仮想空間画像を生成し、これをRAM303等に記憶する。尚、HMD102の右目・左目ディスプレイ322のそれぞれに表示するために右目用の仮想空間画像と左目用の仮想空間画像の2枚を取得する。
また、情報処理装置101−1は、ステップS509で特定した仮想空間上のHMD102−1の位置及び姿勢は、図6のHMD管理テーブル910のHMD状態情報912に格納する。より具体的には、自HMDフラグ914が「1」となっているレコードのHMD状態情報912にステップS509で特定した仮想空間上のHMD102−1の位置及び姿勢である仮想空間上の座標とベクトルとを示す情報を格納する。
図9のHMD管理テーブル910は、情報処理装置101−1の外部メモリ311等に記憶されるデータテーブルである。HMD管理テーブル910は、HMD ID911と、HMD状態情報912と、通信先情報処理装置913と、自HMDフラグ914とを備える。HMD ID911は、情報処理装置101−1に接続されているHMD102−1と、他の情報処理装置101(例えば、情報処理装置101−2)に接続されているHMD102(例えば、HMD102−2)とを一意に識別するための識別情報である。あらかじめ共通の仮想空間を閲覧するために使用するHMD102の識別情報を格納しておく。HMD状態情報912は、仮想空間における各HMD102の位置及び姿勢と視野角を示す。この位置及び姿勢は、三次元モデル位置姿勢情報921と同様に、仮想空間上の座標とベクトルとを示す情報である。視野角は、HMDの右目・左目ビデオカメラ321のカメラの視野角であり、視野の範囲を示すものである。通信先情報処理装置913は、各HMD102と通信可能に接続されている情報処理装置101の通信先の情報を示す。通信先の情報は、IPドレスやMACアドレス等の情報である。自HMDフラグ914は、HMD管理テーブル910を記憶する情報処理装置101−1がどのHMD102と接続されているのかを示すフラグである。自HMDフラグ914に「1」が格納されていれば、そのレコードのHMD102が情報処理装置101−1と接続されていることがわかる。自HMDフラグ914に「0」が格納されていれば、他の情報処理装置101(例えば、情報処理装置101−2)と接続されているHMD102であることがわかる。尚、HMD管理テーブル910の構成はこれに限らない。
ステップS510では、情報処理装置101−1のCPU301は、複合現実画像生成部407の機能により、ステップS502で取得した現実空間画像とステップS509で取得した仮想空間画像とをRAM303等から読み出す。そして、当該現実空間画像に当該仮想空間画像を重畳し、複合現実画像を生成する。生成した複合現実画像はRAM303等に記憶する。尚、前述した通り、現実空間画像と仮想空間画像とは右目用と左目用の2枚ずつがRAM303等に記憶されているので、右目用の現実空間画像に右目用の仮想空間画像を重畳し、左目用の現実空間画像に左目用の仮想空間画像を重畳する。
ステップS511では、情報処理装置101−1のCPU301は、表示制御部408の機能により、ステップS510で生成した複合現実画像をRAM303等から読み出し、ビデオコントローラ306を通じてHMD102−1の右目・左目ディスプレイ322に表示する(表示制御手段に相当する)。RAM303等に記憶された複合現実画像は、右目用と左目用の2枚が存在する。そのため、右目用の複合現実画像を右目・左目ディスプレイ322の右目のディスプレイに表示するよう制御し、左目用の複合現実画像を右目・左目ディスプレイ322の左目のディスプレイに表示するよう制御する。
ステップS512では、情報処理装置101−1のCPU301は、HMD102−1を装着しているユーザに複合現実感を提示する処理の終了指示があったか否かを判定する。例えば、前述したステップS501乃至ステップS511の処理を実行する情報処理装置101−1のアプリケーションの停止指示や終了指示があったか否かを判定する。終了指示があったと判定した場合には、本一連の処理を終了する。終了指示があったと判定しなかった場合、すなわち終了指示がなかった場合にはステップS502に処理を戻し、終了指示があるまでステップS502乃至ステップS511の処理を繰り返す。
このようにすることで、仮想空間に配置された三次元モデルがあたかも現実空間に配置されているかのような感覚をユーザに与えることができる。
以上で、図5に示す一連の処理の説明を終了する。
次に図6に示すフローチャートを用いて、図5の三次元モデル倍率決定処理の詳細な処理の流れを説明する。ステップS603からステップS604への点線及び、ステップS606からステップS607への点線の矢印は、データの流れを示す矢印である。
ステップS601では、情報処理装置101−1のCPU301は、三次元モデルの三次元モデルID901を特定する。ステップS504で表示指示を受け付けた三次元モデルか、既に仮想空間上に配置されている三次元モデルの三次元モデルID901を特定する。
ステップS602では、情報処理装置101−1のCPU301は、図9に示すHMD管理テーブル910を読み込む。
ステップS603では、情報処理装置101−1のCPU301は、他の情報処理装置(例えば、情報処理装置101−2)に対してHMD102のHMD状態情報912の送信要求を送信する。要求を送信する情報処理装置101は、自HMDフラグ914の立っていないHMD ID911であり、通信先情報処理装置913により通信先を特定することが可能である。
ステップS604では、情報処理装置101−2のCPU301は、ステップS603で情報処理装置101−1が送信したHMD102のHMD状態情報912の送信要求を受信する。
ステップS605では、情報処理装置101−2のCPU301は、情報処理装置101−2が管理するHMD管理テーブル910の自HMDフラグ914の立っているHMD102のHMD ID911とHMD状態情報912を取得する。
ステップS606では、情報処理装置101−2のCPU301は、ステップS605で取得したHMD ID911とHMD状態情報912を情報処理装置101−1に対して送信する。
ステップS607では、情報処理装置101−1のCPU301は、ステップS606で情報処理装置101−2が送信したHMD ID911とHMD状態情報912を受信する(取得手段に相当する)。
ステップS608では、情報処理装置101−1のCPU301は、ステップS602で読み出したHMD管理テーブル910の、ステップS607で受信したHMD ID911に対応するHMD状態情報912を更新する処理を行う。更新することで、他の情報処理装置101に接続されるHMD102の状態を把握することができる。
ステップS609では、情報処理装置101−1のCPU301は、HMD管理テーブル910の、HMD状態情報912であるHMDの座標(X軸、Y軸、Z軸)とベクトルと視野角に基づいて、複数のHMD102の視野が重複している仮想空間上の領域を抽出する。なお、視野が重複している領域の抽出方法は、例えば特許文献(特開2010−256296)のように公知技術を用いるものとする。
ステップS610では、情報処理装置101−1のCPU301は、ステップS609で抽出した重複領域の内接球の中心座標を特定する。特定した中心座標は、図9に示す内接球テーブル930の内接球中心座標931に格納する。内接球テーブル930は、視野が重複している領域の内接球の情報を管理するテーブルであり、内接球中心座標931と半径932とが記憶されている。内接球中心座標931は、内接球の中心座標を記憶する。半径932は内接球の半径を記憶する。
ステップS611では、情報処理装置101−1のCPU301は、ステップS609で抽出した重複領域の内接球の半径を特定する。特定した半径は、半径932に格納する。ステップS610とステップS611の処理により、重複領域の内接球を規定する情報を取得する。
ステップS612では、情報処理装置101−1のCPU301は、ステップS611で特定した半径932と、ステップS601で特定した三次元モデルID901に対応する大きさ情報903とを比較し、大きさ情報903より半径932が大きいか否かを判定する。大きさ情報903より半径932が大きいと判定した場合は処理をステップS613に進める。大きさ情報903より半径932が大きくないと判定した場合は処理をステップS614に進める。
ステップS613では、情報処理装置101−1のCPU301は、ステップS601で特定した三次元モデルID901が示す三次元モデルを原寸大で表示させるべく、表示倍率922を1(倍率の上限値に相当する)とする。これにより、HMDを装着した複数のユーザの視野の重複範囲が大きかった場合でも三次元モデルの大きくなりすぎることなく、原寸大で表示することができる。
例えば、図8に示す表示イメージ800である。表示イメージ800は、HMDを装着しているユーザを上方から見たイメージである。HMD102−1を装着したユーザの視野801とHMD102−2を装着したユーザの視野802とHMD102−3を装着したユーザの視野803が重複する領域の内接球807のイメージである。内接球807の中心座標804(高さ成分は0とする)を中心として三次元モデル806を表示する。表示イメージ800は、ステップS613で表示倍率を1とした場合のイメージである。そのため、内接球の半径805の方が三次元モデル806の大きさ情報903より大きい為、三次元モデル806は原寸大で表示される。このようにすることで、三次元モデルが異常に大きくなってしまうことを防ぐ効果がある。なお、この大きさの上限値を原寸大として説明したが、これに限定されず、ユーザによる任意の大きさを大きさの上限として処理しても構わない。
ステップS614では、情報処理装置101−1のCPU301は、三次元モデルを表示する表示倍率922を特定する。具体的には、ステップS612で比較した内接球の半径932と、大きさ情報903との比を計算により特定する。より具体的には大きさ情報903を1とする半径932の比を特定する。特定した半径932の比を表示倍率922に格納する(決定手段に相当する)。このようにして、ユーザの位置関係に応じて適切に表示される大きさの三次元モデルの大きさを決定することができる。
例えば、図7に示す表示イメージ700である。表示イメージ700は、HMDを装着しているユーザを上方から見たイメージである。HMD102−1を装着したユーザの視野701とHMD102−2を装着したユーザの視野702とHMD102−3を装着したユーザの視野703とが重複する領域の内接球707のイメージである。内接球707の中心座標704(高さ成分は0とする)を中心として三次元モデル706を表示する。表示イメージ700は、ステップS614で内接球の半径705に対応して三次元モデルの大きさが決定された場合のイメージである。このようにすることで、複数のユーザの位置関係に応じた視認しやすい三次元モデルの適切な大きさを決定することができる。
ステップS615では、情報処理装置101−1のCPU301は、ステップS610で特定した中心座標941を三次元モデルの表示位置とすべく、ステップS601で特定した三次元モデルID901に対応する三次元モデル位置姿勢情報921の座標を更新する(決定手段に相当する)。なお、高さを示すY軸成分に関しては、三次元モデルが宙に浮いたように表示されてしまわないように、Y軸成分は三次元モデルが地面(床面)に配置されているように視認可能な適切な値に制御する。例えば、Y軸成分は変更させずに0とすることで、地面に配置されているようにHMDで表示することができる。
ステップS616では、情報処理装置101−1のCPU301は、ステップS601で特定した三次元モデルID901に対応する三次元モデル保存場所902から表示するための三次元モデルのデータを取得する。
ステップS617では、情報処理装置101−1のCPU301は、ステップS615で定めた仮想空間上の表示位置に、ステップS616で取得した三次元モデルのデータと表示倍率922に基づいて三次元モデルを配置する(三次元モデル配置に相当する)。
より具体的には表示倍率922が示す倍率をステップS616で取得した大きさ情報データが示す三次元モデルを縮小することで、三次元モデルの大きさを決定する(決定手段に相当する)。大きさが決定された三次元モデルを、ステップS615で更新した三次元モデル位置姿勢情報921の座標に配置する。なお、三次元モデルを配置した後に三次元モデルの大きさを変更してもよい。
このようにして、複数のユーザが共有する仮想空間上の三次元モデルの大きさ及び配置位置を適切に決定することができる。すなわち、複数のユーザがHMDを装着し、共通の三次元モデルを同時に閲覧する際に、いずれのユーザも見やすい大きさ及び位置に三次元モデルを表示させることができる。
以上、図6に示すフローチャートの説明を終了する。
本実施形態では、大きさ情報903をあらかじめ記憶しているものとして記載を行った。しかし、表示指示を受け付けた段階で、表示指示を受け付けた三次元モデルの中心座標から最も遠い三次元モデルの点を特定し、中心座標から当該点までの距離を算出して、大きさ情報903を算出しても構わない。
本実施形態では、三次元モデルの大きさを決定するための情報として内接球の半径を用いるものとしたが、直径など他の成分でも構わない。複数のユーザのHMDの視野が重複する領域に応じて三次元モデルの大きさを決定することができれば外接球を用いるなど他のものでも構わない。
本実施形態では、HMDを装着した複数のユーザの位置関係に応じて決定される三次元モデルの大きさを原寸大より大きくならない(拡大しない)ように制御したが、原寸大を表示する大きさの上限値とした一例にすぎず、原寸大より大きいサイズを上限値としてもよいし、場合によっては上限値を設けなくとも構わない。
また、三次元モデルの作成者が原寸大の大きさを誤って非常に小さく設定してしまったような場合であっても、HMDを装着した複数のユーザの位置関係に応じて表示倍率を変更して表示することでも本発明の目的は達成される。その場合、三次元モデルを縮小する上限値を設定し、その上限値より縮小されないように制御するものでも構わない。
以上で本発明の第1の実施形態の説明を終了する。
(第2の実施形態)
次に本発明の第2の実施形態について説明する。
第1の実施形態では、HMDの視野が重複する領域の内接球の半径と、当該三次元モデルの中心座標から最も遠い点までの距離とに基づいて、三次元モデルが表示される大きさを決定し、表示するように制御した。第2の実施形態では、上から見てHMDの視野が重複する領域の内接円の半径と、当該三次元モデルの中心座標から最も遠い点までの距離とに基づいて、三次元モデルが表示される大きさを決定するように制御している。
以下、図面を参照しながら本発明の第2の実施形態について説明する。
第2の実施形態は、第1の実施形態と図6に対応する図10と図11、図7に対応する図12を除いて、ハードウェア構成、機能構成、フローチャート、データテーブル等については同様である。第1の実施形態と同様な部分については、説明を省略し、処理が異なる部分についてのみ説明する。
図10は本発明の第2の実施形態における三次元モデル倍率決定処理の詳細な処理を説明するフローチャートである。
ステップS1001乃至ステップS1008は、図6のステップS601乃至ステップS608までと処理が同様であるため説明を省略する。
ステップS1009では、情報処理装置101−1のCPU301は、HMD管理テーブル910のHMD状態情報912に格納されている座標の情報に関して高さ情報(Y軸成分)を0とした座標を求める。この処理は、HMDの視野の重複を平面上で計算するためである。
ステップS1010では、情報処理装置101−1のCPU301は、HMD管理テーブル910のHMD状態情報912に格納されているベクトルを平面化(Y軸成分を0とする)する。
ステップS1011では、情報処理装置101−1のCPU301は、ステップ1010で平面化されたベクトルと、HMD状態情報912に格納されている視野角情報の平面成分(X軸成分とZ軸成分)に基づいて、HMD管理テーブル910で管理されているHMDの視野領域を特定する。
ステップS1012では、情報処理装置101−1のCPU301は、ステップS1011で特定された視野領域に基づいて、HMDの視野領域の重複している領域を抽出する。
ステップS1013では、情報処理装置101−1のCPU301は、ステップS1012で抽出されたHMDの視野領域の重複している領域の内接円の中心座標を特定する。
ステップS1014では、情報処理装置101−1のCPU301は、ステップS1012で抽出されたHMDの視野領域の重複している領域の内接円の半径を特定する。例えば図12に示すイメージ図である。平面上の視野角が1201、1202、1203である。この1201、1202、1203が示す視野領域が重複する領域の内接円1207の半径が半径1205となる。内接円の中心は中心座標1204である。
以上で図10に示すフローチャートの説明を終了し、ステップS1014以降の処理について図11に示すフローチャートを用いて説明を行う。
ステップS1101では、情報処理装置101−1のCPU301は、ステップS1001で特定された三次元モデルID901に対応する大きさ情報903と、ステップS1014で特定された半径とを比較し、大きさ情報903より半径1205が大きいか否かを判定する。大きさ情報903より半径1205が大きいと判定された場合は処理をステップS1112に処理を進め、そうでない場合には処理をステップS113に進める。
ステップS1102では、情報処理装置101−1のCPU301は、図6のステップS613と処理が同様であるため説明を省略する。
ステップS1103では、情報処理装置101−1のCPU301は、三次元モデルを表示する表示倍率922を特定する。具体的には、ステップS1101で比較した内接円の半径1205と大きさ情報903との比を計算により特定する。大きさ情報903を1とする半径1205の比を特定し、特定された大きさ情報903を1とする半径1205の比を表示倍率922に特定する。このようにすることで、ユーザの位置関係に応じて適切に表示される大きさの三次元モデルの大きさを決定することができる。
ステップS1104では、情報処理装置101−1のCPU301は、ステップS1013で特定された内接円の中心座標の高さ成分をあらかじめユーザに指定された高さ成分に変更して、三次元モデルの表示位置を決定する。このようにすることで、例えばあらかじめユーザがテーブルの高さを指定しておくことにより、本発明は、テーブルの上に三次元モデルがあたかもテーブルの上に配置されたような視覚をヘッドマウントディスプレイを介して複数のユーザに提供することを可能とする。
ステップS1105では、情報処理装置101−1のCPU301は、ステップS616と処理が同様であるため説明を省略する。
ステップS1106では、情報処理装置101−1のCPU301は、ステップS1105で取得された三次元モデルのデータを、ステップS1104で決定された三次元モデルの表示位置に、ステップS1102またはステップS1103で決定された表示倍率で表示するように制御する。例えば図12に示すイメージ図であれば、三次元モデル1206のように表示される。三次元モデル1206は、立方体のような三次元モデルである。図12では、三次元モデル1206が、ヘッドマウントディスプレイの視野の重複する領域内で表示されるよう、大きさが変更されて表示されている。このようにすることで、ユーザが視認しやすい大きさで三次元モデル1206が表示されるのである。
以上で本発明の第2の実施形態の説明を終了する。
(第3の実施形態)
次に本発明の第3の実施形態の説明を開始する。本発明の第3の実施形態では、第1、第2の実施形態のようにヘッドマウントディスプレイの視野に関する情報なく、複数のヘッドマウントディスプレイの位置のみに基づいて表示する三次元モデルの大きさを決定することを特徴としている。
以下、第3の実施形態について説明を行うが、第3の実施形態は、第1の実施形態と図6に対応する図13と図14、表示イメージを除いて、ハードウェア構成、機能構成、フローチャート、データテーブル等については同様である。第1の実施形態と同様な部分については、説明を省略し、処理が異なる部分についてのみ説明する。
図13は本発明の第3の実施形態における三次元モデル倍率決定処理の詳細な処理を説明するフローチャートである。
ステップS1301乃至ステップS1308は、図6のステップS601乃至ステップS608までと処理が同様であるため説明を省略する。
ステップS1309では、情報処理装置101−1のCPU301は、HMD管理テーブル910のHMD状態情報912に格納されている座標の情報に関して高さ情報(Y軸成分)を0とした座標を求める。この処理は、HMDの視野の重複を平面上で計算するためである。
ステップS1310では、情報処理装置101−1のCPU301は、ステップS1309で求められた座標を頂点とする多角形の領域を求める。例えば図15で説明する。図15は、HMDを装着しているユーザを上方から見たイメージである。HMD102−1乃至3の位置(ステップS1309で求められた座標)を頂点とする領域が、領域1501である。
以上で図13に示すフローチャートの説明を終了し、ステップS1310以降の処理について引き続き図14のフローチャートにて説明を行う。
ステップS1401では、情報処理装置101−1のCPU301は、ステップS1310で求められた領域の内心を用いて三次元モデルの表示倍率を決定するか否かを判定する。複数の座標の内心の算出方法は、公知の手法を用いるものとする。具体的には、内心の径が所定の大きさ(例えば半径1m)以上である場合に、内心を用いて三次元モデルの表示倍率を決定してよいと判定し、内心の径が所定の大きさ未満である場合に、内心を用いて三次元モデルの表示倍率を決定できないと判定し、外心を用いて三次元モデルの表示倍率を決定する。このように判定を行うことで、表示される三次元モデルが小さくなりすぎてしまうことを防止することができる。
ステップS1402では、情報処理装置101−1のCPU301は、ステップS1309で求められた複数の座標から距離が等しい位置にある外心の座標と、当該距離を求める。
ステップS1403では、情報処理装置101−1のCPU301は、ステップS1402で求められた表示座標の高さ成分をユーザにあらかじめ指定された値に変更し、高さ成分が変更された座標を三次元モデルの表示位置として決定する。
ステップS1404では、情報処理装置101−1のCPU301は、ステップS1402で求められた距離に対する補正値を取得する。なお、補正値は必須の構成ではなく、補正を行わない構成としてもよい。この補正値を設けることにより、HMDの位置に基づいて好適な大きさで三次元モデルを表示することを可能とする。
ステップS1405では、情報処理装置101−1のCPU301は、ステップS1402で求められた距離と、ステップS1404で取得した補正値と、ステップS1301で特定された三次元モデルID901に対応する三次元モデルの大きさ情報903とをもとに表示倍率を決定する。より具体的には、まず、ステップS1402で取得した距離に対してステップS1404で取得した補正値を掛けあわせることで補正後の距離を算出する。求められた補正後の距離を1としたときの大きさ情報903の値を、三次元モデルの表示倍率として決定する。三次元モデルの表示倍率を決定したのち、処理をステップS1410に進める。
ステップS1406では、情報処理装置101−1のCPU301は、ステップS1401で算出可能と判断された内心の座標とステップS1310で求められた領域の内接円の半径を求める。
ステップS1407では、情報処理装置101−1のCPU301は、ステップS1406で求められた内心の座標の高さ成分をユーザにあらかじめ指定された値に変更し、高さ成分が変更された座標を三次元モデルの表示位置として決定する。図16に示すイメージ図に示すように、HMD102−1乃至3の位置から等距離にある点1602を三次元モデルの表示位置としている。
ステップS1408では、情報処理装置101−1のCPU301は、ステップS1406で求められた半径に対する補正値を取得する。なお、補正値は必須の構成ではなく、補正を行わない構成としてもよい。この補正値を設けることにより、HMDの位置に基づいて好適な大きさで三次元モデルを表示することを可能とする。
ステップS1409では、情報処理装置101−1のCPU301は、ステップS1406で求められた内接円の半径と、ステップS1301で特定された三次元モデルID901に対応する三次元モデルの大きさ情報903と、ステップS1408で取得された補正値とをもとに表示倍率を決定する。
より具体的には、まず、ステップS1406で取得された内心の半径に対してステップS1408で取得された補正値を掛けあわせることで補正後の半径を算出する。求められた補正後の半径を1としたときの大きさ情報903の値を、ステップS1301で特定された三次元モデルの表示倍率として決定する。三次元モデルの表示倍率を決定したのち、処理をステップS1409に進める。
ステップS1410では、情報処理装置101−1のCPU301は、ステップS1301で特定された三次元モデルID901に対応する三次元モデル保存場所902に保存されている三次元モデルを表示するための三次元モデルのデータを取得する。
ステップS1411では、情報処理装置101−1のCPU301は、ステップS1405またはステップS1409で決定された表示倍率で三次元モデルを表示する。
ステップS1405で決定された表示倍率で三次元モデルが表示されるイメージ図が、図16のイメージ図である。HMD102−1乃至3の位置から等距離にある点1602(1603、1604、1605からそれぞれ等距離にある点であり、外接円1607の中心)を三次元モデルの表示位置としている。当該表示位置に三次元モデル1606がステップS1405で決定された倍率で複数のHMDで表示されることにより、HMD102−1乃至3を装着するユーザが視認しやすい大きさで三次元モデル1606を表示させることが可能となる。
ステップS1406乃至ステップS1409で決定された表示倍率で三次元モデルが表示されるイメージ図が、図15に示すイメージ図である。HMD102−1乃至3の位置を頂点とする領域の内接円1506を求め、当該内接円1506の半径1503とステップS1404で取得された補正値と三次元モデル1505の大きさ情報903に基づいて決定された大きさで、三次元モデル1505が、複数のHMDで表示される。(三次元モデル1505の原点が内接円1506の中心の座標となるように表示されている)これにより、HMD102−1乃至3を装着するユーザが視認しやすい大きさで三次元モデル1505を表示させることが可能となる。
なお、第3の実施形態では、ステップS1310で求めた領域で内心を用いて三次元モデルの表示倍率を決定できない場合にステップS1402〜ステップS1405の処理を行うようになっているが、必ずしもこのような判定を経てステップS1402〜ステップS1405を行う必要は無く、内心が求められるか否かの判定を行うことなくステップS1402〜ステップS1405の処理を行う、またはステップS1406~S1409の処理を行うように構成しても構わない。
なお、第3の実施形態では、ステップS1309で求められた座標を頂点とする多角形の領域の内接円を用いて処理を説明したが、内接円ではなく内接球を用いて処理を行っても本発明の範囲に含まれるものである。
また、内心も外心も求めることができない場合にはあらかじめ定められた所定の倍率で三次元モデルを表示するように制御してもよい。
以上、本発明の第3の実施形態によっても、複数のヘッドマウントディスプレイの位置に基づいて、三次元モデルが表示される大きさを決定し、決定された大きさで三次元モデルを表示することができる。
以上説明したように、第1〜第3の本実施形態によれば、複数のHMDの位置情報を用いることで、複数のユーザがHMDを装着し共通の三次元モデルを同時に閲覧する際に、いずれのユーザも視認しやすい三次元モデルに調整することの可能な仕組みを提供することの可能な効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 情報処理装置
102 HMD
201 オプティカルマーカ
202 赤外線カメラ
301 CPU
302 ROM
303 RAM
304 システムバス
305 入力コントローラ
306 ビデオコントローラ
307 メモリコントローラ
308 通信I/Fコントローラ
309 汎用バス
310 入力デバイス
311 外部メモリ
312 ディスプレイ
321 右目・左目ビデオカメラ
322 右目・左目ディスプレイ

Claims (16)

  1. 仮想空間上に配置するための三次元モデルを記憶する記憶手段と、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置を取得する取得手段と、
    前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置に基づいて、前記三次元モデルの表示の大きさを決定する決定手段と、
    前記決定手段で決定された大きさで前記三次元モデルを前記複数のヘッドマウントディスプレイで表示させるよう制御する表示制御手段と
    を備え、
    前記取得手段は、前記複数のヘッドマウントディスプレイの向き及び視野角も取得し、
    前記決定手段は、前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示の大きさを決定すること
    を特徴とする情報処理システム。
  2. 前記決定手段は、前記取得手段で取得された前記複数のヘッドマウントディスプレイと向きと視野角とに基づいて定まる前記複数のヘッドマウントディスプレイの視野が重複する領域に応じて前記三次元モデルの表示の大きさを決定すること
    を特徴とする請求項1に記載の情報処理システム。
  3. 前記三次元モデルの表示される大きさを固定する指示を受け付ける受付手段を更に備え、
    前記表示制御手段は、前記受付手段で前記三次元モデルの表示される大きさを固定する指示を受け付けた後は、当該指示を受け付けた際の前記複数のヘッドマウントディスプレイの位置と前記記憶手段で記憶される三次元モデルの大きさとに基づいて決定された大きさで、前記三次元モデルを表示しつづけるように制御すること
    を特徴とする請求項1または2に記載の情報処理システム。
  4. 前記決定手段は前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置に基づいて前記三次元モデルの表示位置も決定し、
    前記表示制御手段は前記決定手段で決定された大きさと表示位置に基づいて前記三次元モデルを表示するように制御することを特徴とする請求項1乃至3に記載の情報処理システム。
  5. 前記記憶手段は、前記三次元モデルの大きさも記憶しており、
    前記決定手段は、前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と、前記記憶手段に記憶された前記三次元モデルの大きさとに基づいて、三次元モデルの表示倍率を決定し、
    前記表示制御手段は、前記記憶手段に記憶された前記三次元モデルの大きさに前記決定手段で決定された表示倍率を乗じて生成した三次元モデルを表示するように制御することを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  6. 仮想空間上に配置するための三次元モデルを記憶する記憶手段と、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置と向きと視野角とを取得する取得手段と、
    前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示位置を決定する決定手段と、
    前記決定手段で決定された前記表示位置に基づいて前記三次元モデルを前記複数のヘッドマウントディスプレイで表示させるように制御する表示制御手段と
    を備えることを特徴とする情報処理システム。
  7. 前記決定手段は、前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの大きさを決定し、
    前記表示制御手段は、前記決定手段で決定された前記大きさと前記位置とに基づいて前記三次元モデルを表示するように制御することを特徴とする請求項6に記載の情報処理システム。
  8. 前記表示位置は前記三次元モデルが床面に配置された状態で視認できる位置であることを特徴とする請求項4または6または7のいずれか1項に記載の情報処理システム。
  9. 仮想空間上に配置するための三次元モデルを記憶する記憶手段を備える情報処理システムの制御方法であって、
    前記情報処理システムが、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置を取得する取得ステップと、
    前記取得ステップで取得された前記複数のヘッドマウントディスプレイの位置に基づいて、前記三次元モデルの表示の大きさを決定する決定ステップと、
    前記決定ステップで決定された大きさで前記三次元モデルを前記複数のヘッドマウントディスプレイで表示させるよう制御する表示制御ステップと
    を備え、
    前記取得ステップは、前記複数のヘッドマウントディスプレイの向き及び視野角も取得し、
    前記決定ステップは、前記取得ステップで取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示の大きさを決定すること
    を特徴とする情報処理システムの制御方法。
  10. 仮想空間上に配置するための三次元モデルを記憶する記憶手段と、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置を取得する取得手段と、
    前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置に基づいて、前記三次元モデルの表示の大きさを決定する決定手段と、
    前記決定手段で決定された大きさで前記三次元モデルを前記複数のヘッドマウントディスプレイで表示させるよう制御する表示制御手段と
    を備え、
    前記取得手段は、前記複数のヘッドマウントディスプレイの向き及び視野角も取得し、
    前記決定手段は、前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示の大きさを決定すること
    を特徴とする情報処理装置。
  11. 仮想空間上に配置するための三次元モデルを記憶する記憶手段を備える情報処理装置の制御方法であって、
    前記情報処理装置が、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置を取得する取得ステップと、
    前記取得ステップで取得された前記複数のヘッドマウントディスプレイの位置に基づいて、前記三次元モデルの表示の大きさを決定する決定ステップと、
    前記決定ステップで決定された大きさで前記三次元モデルを前記複数のヘッドマウントディスプレイで表示させるよう制御する表示制御ステップと
    を備え、
    前記取得ステップは、前記複数のヘッドマウントディスプレイの向き及び視野角も取得し、
    前記決定ステップは、前記取得ステップで取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示の大きさを決定すること
    を特徴とする情報処理装置の制御方法。
  12. 仮想空間上に配置するための三次元モデルを記憶する記憶手段を備える情報処理システムの制御方法であって、
    前記情報処理システムが、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置と向きと視野角とを取得する取得ステップと、
    前記取得ステップで取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示位置を決定する決定ステップと、
    前記決定ステップで決定された前記表示位置に基づいて前記三次元モデルを表示するように制御する表示制御ステップと
    を備えることを特徴とする情報処理システムの制御方法。
  13. 仮想空間上に配置するための三次元モデルを記憶する記憶手段と、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置と向きと視野角とを取得する取得手段と、
    前記取得手段で取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示位置を決定する決定手段と、
    前記決定手段で決定された前記表示位置に基づいて前記三次元モデルを表示するように制御する表示制御手段と
    を備えることを特徴とする情報処理装置。
  14. 仮想空間上に配置するための三次元モデルを記憶する記憶手段を備える情報処理装置の制御方法であって、
    前記情報処理装置が、
    仮想空間上で前記三次元モデルを視認可能な複数のヘッドマウントディスプレイの位置と向きと視野角とを取得する取得ステップと、
    前記取得ステップで取得された前記複数のヘッドマウントディスプレイの位置と向きと視野角とに基づいて、前記三次元モデルの表示位置を決定する決定ステップと、
    前記決定ステップで決定された前記表示位置に基づいて前記三次元モデルを表示するように制御する表示制御ステップと
    を備えることを特徴とする情報処理装置の制御方法。
  15. コンピュータを、請求項1乃至請求項8のいずれか1項に記載の情報処理システムの各手段として機能させるためのプログラム。
  16. コンピュータを、請求項10または13に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2015244601A 2014-12-25 2015-12-15 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム Expired - Fee Related JP6152888B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014262884 2014-12-25
JP2014262884 2014-12-25

Publications (2)

Publication Number Publication Date
JP2016122443A JP2016122443A (ja) 2016-07-07
JP6152888B2 true JP6152888B2 (ja) 2017-06-28

Family

ID=56327432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015244601A Expired - Fee Related JP6152888B2 (ja) 2014-12-25 2015-12-15 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6152888B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6242473B1 (ja) * 2016-12-22 2017-12-06 株式会社コロプラ 仮想空間を提供するための方法、および当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
US20200279401A1 (en) * 2017-09-27 2020-09-03 Sony Interactive Entertainment Inc. Information processing system and target information acquisition method
CN116051797B (zh) * 2023-04-03 2023-07-14 山东捷瑞数字科技股份有限公司 一种基于三维引擎批量修改模型穿插的方法、装置及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5481890B2 (ja) * 2009-03-12 2014-04-23 ブラザー工業株式会社 ヘッドマウントディスプレイ装置、画像制御方法および画像制御プログラム
EP2624217A4 (en) * 2010-09-30 2017-07-26 FUJIFILM Corporation Information presentation device, digital camera, head mount display, projector, information presentation method, and information presentation program
JP2013235374A (ja) * 2012-05-08 2013-11-21 Sony Corp 画像処理装置、投影制御方法及びプログラム

Also Published As

Publication number Publication date
JP2016122443A (ja) 2016-07-07

Similar Documents

Publication Publication Date Title
AU2021203688B2 (en) Volumetric depth video recording and playback
CN112926428B (zh) 使用合成图像训练对象检测算法的方法和系统和存储介质
JP7079231B2 (ja) 情報処理装置及び情報処理システム及び制御方法、プログラム
JP6677890B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに情報処理装置、その制御方法、及びプログラム
JP7208549B2 (ja) 仮想空間制御装置、その制御方法、及びプログラム
JP2015125641A (ja) 情報処理装置、その制御方法、及びプログラム
JP7060778B2 (ja) 情報処理システム、情報処理システムの制御方法及びプログラム
CN106980378B (zh) 虚拟显示方法和系统
JP2016122392A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
US11062422B2 (en) Image processing apparatus, image communication system, image processing method, and recording medium
JP6152888B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP7273325B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6011567B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP6357412B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2017084215A (ja) 情報処理システム、その制御方法、及びプログラム
JP2020074108A (ja) 情報処理システム、その制御方法、及びプログラム
JP6376251B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6638326B2 (ja) 情報処理システム、その制御方法、及びプログラム
JP2015121892A (ja) 画像処理装置、画像処理方法
JP6164177B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6734537B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP6744543B2 (ja) 情報処理システム、その制御方法、及びプログラム
JP6741939B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2022036773A (ja) 画像編集方法、画像表示方法、画像編集システム、及び画像編集プログラム
JP2018190447A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161021

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161101

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170515

R150 Certificate of patent or registration of utility model

Ref document number: 6152888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees