JP6357412B2 - 情報処理装置、情報処理システム、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP6357412B2
JP6357412B2 JP2014253409A JP2014253409A JP6357412B2 JP 6357412 B2 JP6357412 B2 JP 6357412B2 JP 2014253409 A JP2014253409 A JP 2014253409A JP 2014253409 A JP2014253409 A JP 2014253409A JP 6357412 B2 JP6357412 B2 JP 6357412B2
Authority
JP
Japan
Prior art keywords
display device
information processing
real object
processing apparatus
virtual object
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.)
Active
Application number
JP2014253409A
Other languages
English (en)
Other versions
JP2016115148A (ja
JP2016115148A5 (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
Priority to JP2014253409A priority Critical patent/JP6357412B2/ja
Publication of JP2016115148A publication Critical patent/JP2016115148A/ja
Publication of JP2016115148A5 publication Critical patent/JP2016115148A5/ja
Application granted granted Critical
Publication of JP6357412B2 publication Critical patent/JP6357412B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Circuits (AREA)

Description

本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
複数人のユーザがPCを持ち寄って、共通の資料のデータを各PCで閲覧しながら会議を行う場合がある。
また近年、データを閲覧するツールとして、複合現実感(Mixed Reality/以下、MRと記載)の技術が普及している。MR技術を用いて、ヘッドマウントディスプレイを装着したユーザに対し、現実物体と所望の映像(CGモデル)を配置した空間の疑似体験を提供できる(特許文献1)。
特開2000−350860号公報
本発明は、表示装置の位置と現実物体の位置とを用いて、現実物体の上面側のどの位置を該表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを容易に決定可能な仕組みを提供することを目的とする。
本発明は、表示装置と通信可能な情報処理装置であって、
前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定手段と、
現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体の位置を表す現実物体位置とに基づいて決定する決定手段と
を備えることを特徴とする。
本発明によれば、表示装置の位置と現実物体の位置とを用いて、現実物体の上面側のどの位置を該表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを容易に決定可能な仕組みを提供することができる。
本発明の実施形態における、情報処理システムの構成の一例を示す図である。 本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。 本発明の実施形態における、各種装置の機能構成の一例を示す図である。 本発明の実施形態における、仮想スクリーンの配置処理の流れを示すフローチャートである。 本発明の実施形態における、仮想スクリーンの表示・非表示の決定処理の流れを示すフローチャートである。 本発明の第2の実施形態における、仮想スクリーンの配置処理の流れを示すフローチャートである。 本発明の実施形態における、各種データテーブルの構成の一例を示す図である。 本発明の実施形態における、仮想スクリーンの配置の様子を示す図である。 本発明の第3の実施形態における、仮想スクリーンの配置の様子を示す図である。 本発明の実施形態における、仮想スクリーンの移動・拡大縮小処理の流れを示すフローチャートである。 本発明の実施形態における、仮想スクリーンの移動・拡大縮小処理に用いる各種データテーブルの構成の一例を示す図である。 本発明の実施形態における、仮想スクリーンの構成の一例を示す図である。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
先ず、それぞれの実施形態に共通の構成について説明する。先ず、本実施形態に係る情報処理システムの構成例について、図1のブロック図を用いて説明する。
図1に示すように、情報処理システムが有する各装置はネットワーク(例えばLAN)150に通信可能に接続されている。ネットワーク150の種別については特定の種別に限るものではないし、1種類だけでなく2種類以上のネットワークにより構成されても良い。
PC(パーソナルコンピュータ)100は、該PC100の表示画面上に表示している画面(スクリーン画像)を表す情報をスクリーン情報としてサーバ200に送信する。サーバ200は、PC100から送信されたスクリーン情報を受信すると共に、赤外線カメラによって測定されたHMD101A〜101C(総称してHMD101と呼称する場合がある)の位置姿勢を該赤外線カメラから取得する。更に、サーバ200は、HMD101に搭載された不図示のカメラにより撮像された現実空間の画像(現実画像)を該カメラから取得する。そしてサーバ200は、HMD101の位置姿勢、現実画像、スクリーン情報、そして自身が管理する様々な情報、に基づいて、現実画像に仮想オブジェクトを重畳させた画像である重畳画像(MR画像)を生成し、該生成したMR画像をHMD101に対して配信する。
サーバ200が管理する様々な情報には、現実空間に対して位置合わせを行って重ね合わせる仮想空間(若しくは、現実空間に対して位置合わせを行って仮想空間を重ね合わせた空間=MR空間(ようは、現実空間と仮想空間とを合成した空間))における、現実物体の位置姿勢及び形状、が含まれている。本実施形態では、このような情報を用いて、CG(コンピュータグラフィックス)で描画された仮想オブジェクトとしての仮想スクリーンの配置位置姿勢を決定し、該仮想スクリーンを該決定した配置位置姿勢でもって仮想空間中に配置する。なお、図1に記載の如く、PC100とサーバ200とは別個の装置であっても良いが、一体化した1つの装置であっても良い。
以下では、現実空間に位置合わせを行って仮想空間を重ね合わせた空間を、MR空間と記載する。
HMD101は上記の如く、現実空間を撮像するカメラと、該HMD101を頭部に装着したユーザの眼前に位置するように取り付けられた表示画面と、を有する頭部装着型表示装置の一例であり、サーバ200から受信したMR画像を該表示画面に表示する。
次に図2を参照して、サーバ200及びHMD101のハードウェア構成の一例について説明する。図2は、サーバ200及びHMD101のハードウェア構成の一例を示すブロック図である。
CPU201は、RAM203やROM202に格納されているコンピュータプログラムやデータを用いて処理を実行することで、システムバス204に接続されている各機能部を統括的に制御し、サーバ200が行うものとして後述する各処理を実行若しくは制御する。
ROM202には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やサーバ200の設定データなどが格納されている。
外部メモリ211は、ハードディスクドライブ装置(HDD)に代表される大容量情報記憶装置である。外部メモリ211には、オペレーティングシステムや、サーバ200が行うものとして後述する各処理をCPU201に実行させるためのコンピュータプログラムやデータが格納されている。また、外部メモリ211には、以下の説明において既知の情報として取り扱う情報(定義ファイルやテーブルなども含む)も格納されている。ROM202や外部メモリ211に格納されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM203にロードされ、CPU201による処理対象となる。
RAM203は、ROM202や外部メモリ211からロードされたコンピュータプログラムやデータ、HMD101が有する右目・左目ビデオカメラ221が撮像した現実空間の動画像(現実空間を撮像することで得られる各フレームの画像(現実画像))を格納するためのエリアを有する。更にRAM203は、通信I/Fコントローラ208を介して外部から受信したコンピュータプログラムやデータを格納するためのエリアを有する。更にRAM203は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。このように、RAM203は、各種のエリアを適宜提供することができる。
入力コントローラ(入力C)205は、キーボードやマウス等のポインティングデバイスである入力デバイス210を制御する。
ビデオコントローラ(VC)206は、サーバ200に接続されているディスプレイ212や、HMD101が有する右目・左目ディスプレイ222等の表示装置における表示制御を行う。ビデオコントローラ206は、右目・左目ディスプレイ222に対しては、例えば外部出力端子(例えば、Digital Visual Interface)を用いて出力を行う。
右目・左目ディスプレイ222は、右目用のディスプレイと左目用のディスプレイとから構成されている。右目用のディスプレイは、HMD101を頭部に装着したユーザの右目の眼前に位置するようにHMD101に取り付けられており、左目用のディスプレイは、HMD101を頭部に装着したユーザの左目の眼前に位置するようにHMD101に取り付けられている。右目・左目ディスプレイ222には、ビデオコントローラ206から出力された画像信号に応じた画像が表示されることになる。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するHDDやフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。また、通信I/Fコントローラ208は、ギガビットイーサネット(登録商標)等を通じて赤外線カメラとの通信も制御する。
汎用バス209は、HMD101の右目・左目ビデオカメラ221が撮像した現実空間の動画像(現実空間を撮像することで得られる各フレームの画像(現実画像))を取り込むために使用される。右目・左目ビデオカメラ221からの現実画像は、外部入力端子(例えば、IEEE1394端子)を用いてサーバ200に入力される。右目・左目ビデオカメラ221は、右目用のビデオカメラと左目用のビデオカメラとから構成されている。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ212上での表示や右目・左目ディスプレイ222上での表示を可能としている。また、CPU201は、ディスプレイ212上のマウスカーソル等でのユーザ指示を可能とする。
なお、図2に示したサーバ200及びHMD101のハードウェア構成は、あくまでも一例であり、以下に説明する処理と同等以上の処理を実現可能な構成であれば、如何なる構成を採用しても構わない。例えば、図2では、HMD101に取り付けられたカメラは右目用と左目用の2つであったが、1つであっても良く、該1つのカメラによる現実画像を右目、左目で共有して使用するようにしても構わない。同様に、図2では、HMD101に取り付けられたディスプレイは右目用と左目用の2つであったが、右目、左目で共有して観察する1つのディスプレイであっても良い。
次に図3を参照して、PC100、HMD101、サーバ200のそれぞれの機能構成例について説明する。図3は、本発明の実施形態における、PC100、HMD101、サーバ200のそれぞれの機能構成の一例を示すブロック図である。
スクリーン画像送信部301は、PC100の表示画面上に表示している画面(スクリーン画像)を表す情報をスクリーン情報としてサーバ200に送信する。スクリーン画像受信部321は、スクリーン画像送信部301によって送信されたスクリーン情報を受信する。
配置ルール記憶部322は、スクリーン画像受信部321が受信したスクリーン情報が表すスクリーン画像をテクスチャとして貼り付ける対象となる仮想オブジェクトである仮想スクリーン(CGのスクリーン)を配置するための条件(ルール)を記憶する。
現実物体位置取得部323は、外部メモリ211に格納されている、現実空間中の現実物体の位置姿勢、形状を示す情報を取得する。
撮像処理部311は、右目・左目ビデオカメラ221により撮像された現実画像を取得し、撮像画像送信部312は、該現実画像をサーバ200に対して送信する。
撮像画像受信部324は、撮像画像送信部312によって送信された現実画像を受信する。HMD位置特定部325は、赤外線カメラよって測定されたHMD101の位置姿勢を取得する。厳密には、HMD位置特定部325は、赤外線カメラによるHMD101の位置姿勢測定結果を取得し、該位置姿勢測定結果に基づいてHMD101の位置姿勢を特定する。なお、ここでは赤外線カメラを用いてHMD101の位置姿勢を特定するものとしているが、他の手法を用いてHMD101の位置姿勢を特定するようにしても構わない。例えば、HMD101の位置姿勢、HMD101による現実画像中のマーカの識別情報・位置・大きさ・角度、サーバ200に記憶されているマーカの識別情報・MR空間上の位置・大きさ、を用いて、HMD101のMR空間上の位置姿勢を特定するようにしてもよい。このようなマーカを使ったHMDの位置姿勢の特定方法は公知の技術であるため詳細な説明は割愛する。なお、「HMD101の位置姿勢」としてHMD101のどの部分の位置姿勢を採用しても構わないが、以下では、一例として、「右目・左目ビデオカメラ221の位置姿勢」とする。
仮想スクリーン配置位置決定部326は、配置ルール記憶部322から取得したルール、HMD位置特定部325で特定したHMDのMR空間上の位置姿勢、現実物体位置取得部323が取得した、現実空間中の現実物体の位置姿勢、形状を示す情報、に基づいて、MR空間中のどのような位置にどのような姿勢で仮想スクリーンを配置するのか、すなわち仮想スクリーンの配置位置姿勢を決定する。
MR画像生成部327は、仮想スクリーン配置位置決定部326で決定した配置位置姿勢で配置された仮想スクリーンを含むMR空間の画像をMR画像として生成する。
MR画像送信部328は、MR画像生成部327によって生成されたMR画像をHMD101に対して送信する。MR画像受信部313は、MR画像送信部328によって送信されたMR画像を受信し、MR画像表示部314は、受信したMR画像を表示する。
[第1の実施形態]
本実施形態に係るPC100及びサーバ200の動作について、図4のフローチャートを用いて説明する。
PC100の不図示のプロセッサは、アプリケーションの起動指示を検知すると、対応するアプリケーションを起動する(ステップS401)。これによりPC100の不図示の表示画面には、該アプリケーションを実行することで得られる画面が表示される。
次に、PC100の不図示のプロセッサは、仮想スクリーンの表示指示を受け付ける(ステップS402)。例えば、PC100のプロセッサは、PC100がサーバ200に接続されたことを検知すると、仮想スクリーンの表示指示を受け付けたものと判断する。
次に、PC100の不図示のプロセッサは、PC100の不図示の表示画面に表示されている画面を表すスクリーン情報を、仮想スクリーンの表示指示と共に、サーバ200に対して送信する(ステップS403)。なお、スクリーン情報は、PC100の不図示の表示画面に表示されている画面全体を表すスクリーン情報でなくても良く、PC100の不図示の表示画面に表示されている画面の一部を表すスクリーン情報であっても良い。
以下、ステップS404でアプリケーションの終了指示を受け付けるまで、PC100の不図示のプロセッサは、このような送信を繰り返し続ける。一方、アプリケーションの終了指示を検知すると、PC100の不図示のプロセッサは処理を完了する。
一方、サーバ200のCPU201は、PC100から送信されたスクリーン情報及び仮想スクリーンの表示指示を通信I/Fコントローラ208を介して受信すると、これらをRAM203や外部メモリ211に格納する(ステップS405)。
次に、CPU201は、通信I/Fコントローラ208を介して、赤外線カメラにより測定されたそれぞれのHMD101の位置姿勢の測定結果を取得し、該測定結果に基づいて該それぞれのHMD101の位置姿勢を特定する(ステップS406)。また、CPU201は、配置ルール記憶部322が記憶しているものとして説明した、仮想スクリーンの配置ルール(図7の仮想スクリーン配置ルール710)を、外部メモリ211から読み出す(ステップS407)。
ここで、外部メモリ211で管理している様々なデータについて、図7を用いて説明する。
HMD情報700は、ステップS406においてHMD101毎に特定した該HMD101の位置姿勢を含む情報であり、外部メモリ211内で管理される。ID701は、HMD101毎に固有の情報である。HMD位置702は、ステップS406において特定したそれぞれのHMD101の位置(現実空間及び仮想空間で共有している座標系におけるx座標値、y座標値、z座標値)である。HMD姿勢703は、ステップS406において特定したそれぞれのHMD101の姿勢(現実空間及び仮想空間で共有している座標系におけるx軸回転角度、y軸回転角度、z軸回転角度)である。以下では、何れの位置及び姿勢も、この座標系におけるものであるとする。
仮想スクリーン配置ルール710は上記の通り、仮想スクリーンの配置に係るルールを規定した情報であり、外部メモリ211内で管理される。ruleID711は、ルール毎に固有の情報である。位置712は、仮想スクリーンの配置位置について規定したルールである。姿勢713は、仮想スクリーンの配置姿勢について規定したルールである。仮想スクリーン配置ルール710に登録されているルールのうち何れを用いるのか(どのruleID711に対応するルールを用いるのか)、についてはユーザが選択しても良いし、仮想オブジェクト毎若しくはその種別毎に適用するルールが決められていても良い。
仮想スクリーン情報720は、それぞれの仮想スクリーンを規定した情報であり、外部メモリ211内で管理される。仮想スクリーンID721は、仮想スクリーン毎に固有の情報である。形状722は、仮想スクリーンの大きさであり、縦、横、奥行きのそれぞれの大きさを規定する。位置723は、仮想スクリーンが実際に配置されている位置であり、姿勢724は、仮想スクリーンが実際に配置されている姿勢である。ID725は、対応するHMDのIDである。例えば図7の場合、ID=scr1の仮想スクリーンは、ID=1のHMDに対応づけられている。
現実物体情報730は、現実空間中に配置されているそれぞれの現実物体を規定した情報であり、外部メモリ211内で管理される。ID731は、現実物体毎に固有の情報である。形状732は、現実物体の大きさであり、縦、横、奥行きのそれぞれの大きさを規定する。位置733は、現実物体の実際の配置位置であり、姿勢734は、現実物体の実際の配置姿勢である。
以降の処理は、サーバ200に接続されているそれぞれのHMD101について行われる。CPU201は、外部メモリ211内で管理しているHMD情報700からHMD101の位置(HMD位置702)を読み出す(ステップS408)。また、CPU201は、外部メモリ211内で管理されている現実物体情報730を読み出す(ステップS409)。本実施形態では図7に示す如く、現実物体情報730には、ID731=DESK1に対応する現実物体(机)の形状732、位置733、姿勢734が登録されているものとして説明する。図7の現実物体情報730によれば、ID731=DESK1に対応する現実物体(机)は、位置733で規定される位置に姿勢734で規定される姿勢でもって配置される、縦XXXmm、横YYYmm、奥行きZZZmmのサイズの直方体であることがわかる。なお、「位置733で規定される位置」とは、該直方体における1点(直方体内の重心位置や8個の頂点のうちの1つ)の位置のことであり、且つ該1点と直方体の8個の頂点との位置関係は既知とするので、これによれば、上記の座標系における、該直方体の幾何的な情報(例えば直方体の8個の頂点の位置)もまた既知である。
そしてCPU201は、この直方体の上面を規定する4本の辺のうちHMD位置702に最も近い辺を最近辺として特定する。ここで、HMD位置702が(xh、yh、zh)であり、該上面が上記の座標系におけるXY平面と平行な面で且つそのz座標値(床面からの高さ)がzdであるとすると、CPU201は、点(xh、yh、zd)を通り、且つ該最近辺に直交する線分(ベクトル)を求める(ステップS410)。
次に、CPU201は、外部メモリ211内で管理している仮想スクリーン情報720を読み出し、該読み出した仮想スクリーン情報720から形状722を読み出す(ステップS411)。そしてCPU201は、該読み出した形状722を有する仮想オブジェクトを仮想スクリーンとして生成し、該仮想スクリーンにおいて規定の面に、ステップS405でHMD101から受信したスクリーン情報が表すスクリーン画像をテクスチャとして貼り付ける(ステップS411)。これにより仮想スクリーンの規定の面には、PC100側で表示されている画面(スクリーン画像)がテクスチャとして貼り付けられていることになる。
次に、CPU201は、ステップS407において読み出した仮想スクリーン配置ルール710中の位置712が規定する位置を特定する(ステップS412)。図7の場合、位置712が規定するルールは「机の端から200mm、机の上空100mm」であるから、上記のベクトルと上記の最近辺との交点位置を求め、点(xh、yh、zd)から該交点位置に向かう方向に、該交点位置から200mmだけ進んだ位置(ベクトル上の位置)を求め、該求めた位置から上記上面の法線方向に100mmだけ進んだ位置を、「ステップS407において読み出した仮想スクリーン配置ルール710中の位置712が規定する位置」として求める。
そしてCPU201は、ステップS411で生成した仮想スクリーンを、「ステップS407において読み出した仮想スクリーン配置ルール710中の位置712が規定する位置」に、「ステップS407において読み出した仮想スクリーン配置ルール710中の姿勢713が規定する姿勢」でもって、仮想空間中に配置する(ステップS412)。もちろん、規定の面がHMD位置702側に向くように配置する。仮想スクリーンの配置の様子は図8に示す通りである。
なお、仮想スクリーンの位置については上記のようにして求めた位置に限るものではなく、例えば、HMD位置702から視線方向に規定の距離だけ離間した位置に、仮想スクリーンを、規定の面がHMD位置702側に向くように配置しても構わない。また、HMD位置702から規定の距離にあり、且つ直方体の上面若しくはその上空の位置に、仮想スクリーンを、規定の面がHMD位置702側に向くように配置しても構わない。つまり、HMD101の位置と、現実物体の位置及び形状と、に応じて、仮想スクリーンの配置位置を決定する。
次に、CPU201は、ステップS412で配置した仮想スクリーンのID721に対応するID725として、該仮想スクリーンの配置位置を求めるために用いたHMD位置702に対応するHMD101のID701を登録する(ステップS413)。
次に、CPU201は、HMD位置702及びHMD姿勢703をそれぞれ視点位置及び視点姿勢とする視点から見える仮想空間の画像を、周知の方法でもって生成し、該仮想空間の画像を、右目・左目ビデオカメラ221から取得した現実画像に重畳させることでMR画像を生成する(ステップS414)。そしてCPU201は、このようにして生成したMR画像をHMD101に対して送信する(ステップS415)。
また、CPU201は、図4のフローチャートに従った処理と並行して、図5のフローチャートに従った処理を実行する。図5のフローチャートに従った処理は、サーバ200に接続されているそれぞれのHMD101について行われる。
CPU201は、HMD情報700から未選択のID701を1つ選択し(ステップS501)、該選択したIDに対応するHMD位置702を該HMD情報700から取得する(ステップS502)。
そしてCPU201は、現実物体情報730中の位置733を取得する(ステップS503)。そしてCPU201は、ステップS503で取得した位置733と、ステップS502で取得したHMD位置702と、の間の距離を求め、該求めた距離が所定距離以上か否か(HMD101が現実物体から所定距離以上離れたか否か)を判断する(ステップS504)。
この判断の結果、所定距離以上離れた場合(ステップS504でYES)、処理はステップS505に進み、CPU201は、ステップS501で選択したIDに対応するHMD101に対する仮想スクリーンの表示を非表示にする(ステップS505)。つまり、机から離れたHMD101に対して出力するMR画像を生成する処理(図4)において、仮想スクリーンを生成して配置するための一連の処理を中止して、仮想スクリーンがMR画像上に描画されないようにする。なお、仮想スクリーンの透明度を100%にしても構わない。すなわち、ステップS505では、仮想スクリーンを不可視にする。
一方、所定距離以上離れていない場合(ステップS504でNO)、処理はステップS506に進み、CPU201は、ステップS501で選択したIDに対応するHMD101(机から所定距離内にある(所定距離以上離れていない)HMD101)に対する仮想スクリーンの表示を許可する(ステップS506)。仮想スクリーンが表示中の場合には該表示を継続する。非表示中の場合には、仮想スクリーンを生成して配置するための一連の処理を再開し、仮想スクリーンを可視にする。なお、ステップS505で仮想スクリーンの透明度を100%にした場合には、ステップS506では、仮想スクリーンの透明度を0%にしても構わない。
このような処理により、部屋からユーザが退出し(机から離れ)た場合には、不要となった該退出したユーザ用の仮想スクリーンを非表示にし、部屋に残っているユーザ用の仮想スクリーンを表示させることができる。
[第2の実施形態]
本実施形態では、PC100の前に座るユーザの前には、仮想スクリーンを配置しないようにする。以下では第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとして説明する。これは、第3の実施形態以降についても同様である。本実施形態に係るサーバ200は、図4のフローチャートにおいて、ステップS406とステップS413との間で図6のフローチャートに従った処理を実行する。図6において図4に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
本実施形態では、赤外線カメラは、HMD101だけでなく、PC100も測定対象となっている。本実施形態では、PC100についてはその位置を測定しているものとする。
CPU201は、赤外線カメラからの測定結果に応じて、PC100の位置を特定する(ステップS601)。もちろん、PC100の位置を特定するための仕組みについては特定の仕組みに限るものではない。
次に、CPU201は、HMD情報700で管理しているそれぞれのHMD101の位置(HMD位置702)のうち、PC100の位置に最も近い位置を特定し、該特定した位置に対応するID(ID701)を、オーナーHMDのIDとして別途、外部メモリ211に格納する(ステップS602)。
ステップS603、S604、S605ではそれぞれ、ステップS602で外部メモリ211に格納したオーナーHMDのID以外のIDに対応するそれぞれのHMD101を対象として、ステップS408、S410、S412と同様の処理を行う。これはすなわち、仮想スクリーンを生成して配置するための一連の処理(ステップS406〜S413)は、オーナーHMDのID以外のIDに対応するそれぞれのHMD101を対象として行うことを意味する。この場合、オーナーHMDのIDに対応するHMD101には、MR画像ではなく、該HMD101による撮像画像としての現実画像が表示されることになる。
以上の処理を行うことで、オーナーHMDの前の卓上には仮想スクリーンは配置されず、オーナーHMD以外のHMD(一般HMD)の前の卓上には仮想スクリーンは配置される。
本実施形態においては、ユーザの位置と現実物体の位置とを用いて、所定のユーザに対応する仮想オブジェクトの表示・非表示を決定する仕組みを提供することができる。
[第3の実施形態]
本実施形態では、仮想スクリーンを上記第1の実施形態の方法(HMDの位置と現実物体の位置及び形状とに基づいて仮想スクリーンの配置位置を決定する方法)で決定した配置位置に配置するか、デフォルトの配置位置に巨大な1つのスクリーンを配置するかを、不図示の設定切替画面にて設定する(切り替える)。
デフォルトの配置位置(デフォルト位置)とは、HMD101の位置により変動しない所定の位置である。デフォルト位置には、HMD101の位置により変動しない所定の姿勢も含まれている。デフォルト位置、及び該デフォルト位置に仮想スクリーンを配置する場合の該仮想スクリーンの大きさ(デフォルトサイズ)は、予め外部メモリ211に登録されているものとする。
例えば、デフォルト位置に仮想スクリーンを配置する場合には、図9に示す如く、デフォルトサイズを有する1つ(所定の数)の仮想スクリーンを生成して、デフォルト位置に配置する。なお、デフォルト位置にデフォルトサイズで仮想スクリーンを配置する場合には、第1の実施形態において説明したように、ユーザごとに仮想スクリーンを配置する設定にはなっていない。
ここで、1つの仮想スクリーンを全てのユーザで共有して閲覧する場合、図5のフローチャートに従った処理をそのまま適用してしまうと、それぞれのユーザのHMD101のうち1つでも現実物体から所定距離以上離れてしまうと全てのユーザで共有している1つの仮想スクリーンが非表示になってしまうことになる。
然るに本実施形態では、図5のフローチャートにおいて、ステップS501の前に、CPU201は、RAM203や外部メモリ211において管理されている「仮想スクリーンの配置設定」が、可変設定(第1の実施形態と同様にしてそれぞれのHMD101に対して仮想スクリーンを提供する)であるのか、それともデフォルト設定(デフォルトサイズを有する1つの仮想スクリーンをデフォルト位置に配置する)であるのかを判断する。
この判断の結果、可変設定の場合、即ち可変モードが設定されている場合には、処理はステップS501に進み、第1の実施形態と同様の処理を行う。一方、デフォルト設定の場合、即ちデフォルトモードが設定されている場合には、ステップS501〜S506の処理を行わずに、上記の如く、デフォルトサイズを有する1つの仮想スクリーンを生成して、仮想空間中のデフォルト位置に配置する(もちろん、図4のフローチャートにおいて、HMD101ごとに仮想スクリーンの配置位置を決定するための処理も行わない)。然るにHMD101を頭部に装着したそれぞれのユーザには、デフォルト位置にデフォルトサイズを有する仮想スクリーンが配置されているMR空間が提供されることになり、それぞれのユーザでこの1つの仮想スクリーンを共有して閲覧することができる。
このような処理により、デフォルト設定の場合、会議に参加している1人のユーザが現実物体から離れたとしても、仮想スクリーンを非表示にすることなく、ユーザに継続して仮想スクリーンを閲覧させることができる。
[第4の実施形態]
第1の実施形態では、HMD101の位置と、現実物体の位置と、を用いて、該HMD101に対する仮想オブジェクトの表示/非表示を切り替えていたが、本実施形態においては、HMD101の位置と、仮想オブジェクトの位置と、を用いて、該HMD101に対する仮想オブジェクトの表示/非表示を切り替える。
例えば、HMD101の位置と仮想スクリーンの位置との間の距離が所定距離内である場合には、該HMD101に対しては仮想スクリーンを表示し、該距離が所定距離以上である場合には、該HMD101に対しては仮想スクリーンを非表示にする。
本実施形態では、図5のフローチャートに従った処理において、ステップS503で現実物体情報730中の位置733を取得する代わりに、仮想スクリーン情報720から、ステップS501で取得したID701と同じID725に対応する仮想スクリーン(
ステップS501で取得したID701に対応するHMD101と対応づけられている仮想スクリーン)の位置723を取得する。そして、ステップS504では、ステップS503で取得した位置723と、ステップS502で取得したHMD位置702と、の間の距離を求め、該求めた距離が所定距離以上か否か(HMD101が仮想スクリーンから所定距離以上離れたか否か)を判断する。
この判断の結果、所定距離以上離れた場合(ステップS504でYES)、処理はステップS505に進み、第1の実施形態と同様、ステップS501で選択したIDに対応するHMD101に対する仮想スクリーンの表示を非表示にする(ステップS505)。
一方、所定距離以上離れていない場合(ステップS504でNO)、処理はステップS506に進み、第1の実施形態と同様、ステップS501で選択したIDに対応するHMD101に対する仮想スクリーンの表示を許可する(ステップS506)。
このように、本実施形態においては、HMD101の位置と、仮想オブジェクトの位置と、を用いて、該HMD101に対する仮想オブジェクトの表示/非表示を切り替える。
以上説明したように、本実施形態によれば、HMD101の位置と、仮想オブジェクトの位置と、を用いて、該HMD101に対する仮想オブジェクトの表示/非表示を切り替える仕組みを提供することができる。
また、第1〜4の実施形態では、HMD101はビデオシースルー型のものを用いていたが、光学シースルー型のものを用いても構わない。その場合、サーバ200は、生成した仮想空間の画像をそのままHMD101に対して送出することになる。
[第5の実施形態]
本実施形態では、仮想スクリーンの移動・拡大・縮小について説明する。本実施形態は、第1〜4の実施形態の何れに適用しても構わない。仮想スクリーンは、ユーザからの操作に応じて自在に移動・変形(拡大・縮小)可能である。本実施形態では、図4,5のフローチャートに従った処理と並行して、図10のフローチャートに従った処理も実行する。なお、図10に示した各ステップのうち幾つかのステップについては、図4,5のフローチャートに示したステップと重複するものもあるが、図10では説明をわかりやすくするために各ステップを列挙したのであって、実際には、ステップの重複は生じ得ない。
先ず、CPU201は、すでに外部メモリ211に登録したHMD情報700から、HMD101の位置702及び姿勢703を取得すると共に、右目・左目ビデオカメラ221から取得した現実画像を取得する(ステップS1001)。次に、CPU201は、該現実画像から手の領域を抽出し(ステップS1002)、該抽出した手の領域から、位置702に対する該手の相対的な位置姿勢を算出する(ステップS1003)。
一般に、画像中に写っている手の、該画像を撮像した装置に対する相対的な位置姿勢を求める方法には様々な方法があり、本実施形態では如何なる方法を採用しても構わない。例えば、ユーザの手の3次元CGモデル(ユーザの手の大きさ・形状と同じ大きさ・形状を有するハンドオブジェクト)を予め作成して外部メモリ211に登録しておく。そして、現実画像から肌色を示す画素値を有する画素から成る領域を手の領域として抽出し、位置702から姿勢703で見たハンドモデルの外形線で囲まれた領域が、該抽出した手の領域と一致するような、手の位置姿勢(HMD101に対する該手の相対的な位置姿勢)を推定する。もちろん、ハンドモデルを用いて手の位置姿勢を推定する方法はこの方法に限るものではない。
次に、CPU201は、ハンドモデルを、位置702及び姿勢703に対する相対的な位置姿勢がステップS1003で推定した位置姿勢となる位置姿勢に上記のハンドモデルを配置する(ステップS1004)。
上記のようにしてHMD101ごとに求めたハンドモデルの位置姿勢については、図11に示す如く、ハンドモデルに固有のID1121、ハンドモデルの位置1122、ハンドモデルの姿勢1123、がそれぞれのハンドモデルについて管理されているハンドオブジェクト情報1120として外部メモリ211で管理する。
次に、CPU201は、ステップS1004で配置したハンドモデルと、仮想スクリーンと、が接触しているか否かを判断する(ステップS1005)。ハンドモデル及び仮想スクリーンの何れも仮想物体であり、仮想物体同士の衝突判定については公知の技術であるため、これに係る説明は省略する。
この判断の結果、接触していない場合(ステップS1005でNO)には、図10のフローチャートに従った処理は完了する(実際には、図10のフローチャートに従った処理は、右目・左目ビデオカメラ221による撮像画像毎に行われるため、現フレームに対する図10のフローチャートに従った処理は完了し、次のフレームについてはまた図10のフローチャートに従った処理を開始することになる)。
一方、この判断の結果、接触している場合(ステップS1005でYES)には、図11に示す如く、ハンドモデルのID1131と、該ハンドモデルと接触したと判断された仮想スクリーンのID1132と、を関連づけて、接触情報1130に登録する。そして処理はステップS1006に進む。
次に、CPU201は、仮想スクリーンに対して予め設定された領域A(領域Bを除く領域)及び領域B(仮想スクリーンの頂点から所定範囲内の領域)のうち、ハンドモデルと接触したと判断された位置が領域A内の位置であるのか、それとも領域B内の位置であるのかを判断する。領域A及び領域Bの一例を図12に示す。ただし、領域A及び領域Bの設定は図12に示した設定に限るものではない。また、仮想スクリーンを3以上の領域に分割しても良く、それぞれの領域に異なる機能を割り当てるようにしても構わない。
本実施形態においては、領域Bは、仮想スクリーンの各頂点から半径300mm以内の領域であるものとする。また、領域Aは、仮想スクリーンにおける領域B以外の領域であるものとする。
このような領域A及び領域Bを規定する情報(仮想スクリーン上のX,Y座標)は予め作成されて外部メモリ211に登録されているものとする。
そして、ハンドモデルと接触したと判断された位置が領域A内の位置である場合には、処理はステップS1007に進み、領域B内の位置である場合には、処理はステップS1014に進む。
ステップS1007では、CPU201は、図11の接触情報1130における接触領域1134に、領域Aを示す情報を登録する(ステップS1007)。
次に、CPU201は、ハンドモデルと仮想スクリーンとが接触した状態において、ハンドモデルの移動量が規定量以下となる状態が所定時間以上続いているか否かを判断する(ステップS1008)。この判断の結果、続いていると判断した場合(ステップS1008でYES)には、処理はステップS1009に進み、続いていないと判断した場合(ステップS1008でNO)には、図10のフローチャートに従った処理は完了する。
次に、CPU201は、接触情報1130中の追従フラグ1133を参照し、該追従フラグ1133が「1」であるか「0」であるかを判断する(ステップS1009)。追従フラグ1133とは、図11の追従フラグ1100で示す如く、ハンドモデルの移動(ユーザの手の移動)に合わせて仮想スクリーンの移動や拡大縮小が可能な状態(ハンドモデルの移動に追従して仮想スクリーンの移動や拡大縮小が可能な状態)の場合には「1」となり、可能ではない場合には「0」となる。
この追従フラグ1133は、「ハンドモデルと仮想スクリーンとが接触した状態において、ハンドモデルの移動量が規定量以下となる状態が所定時間以上続いた」という条件が満たされると「1」にセットされる。この「所定時間」は、例えば図11の1110に示す如く「3秒」である。
図11の例からすると、ハンドモデルが仮想スクリーンにおける領域Aと接触している状態において、ハンドモデルの移動量が規定量以下となる状態が3秒以上続くと、追従フラグ1133は「1」にセットされ、ハンドモデルの移動に合わせて仮想スクリーンの移動が可能な状態となる。仮想スクリーンはハンドモデルの移動に追従して移動する。移動したい先で仮想スクリーンを停止させ(手を停止させ)てから3秒以上が経過すると、追従フラグ1133は「0」にセットされ、仮想スクリーンが停止中の位置に固定される。つまり仮想スクリーンの位置723、姿勢724が、移動後の位置・姿勢に変更される。
また、ハンドモデルが仮想スクリーンにおける領域Bと接触している状態において、ハンドモデルの移動量が規定量以下となる状態が3秒以上続くと、追従フラグ1133は「1」にセットされ、ハンドモデルの移動に合わせて仮想スクリーンの拡大縮小が可能な状態となる。仮想スクリーンは手の移動に追従して拡大縮小される。具体的には、ハンドモデルの位置と、仮想スクリーンの中心座標(重心位置)と、の間の距離が大きくなった場合に、該大きくなった距離に応じて仮想スクリーンを拡大する。また、ハンドモデルの位置と、仮想スクリーンの中心座標(重心位置)と、の間の距離が小さくなった場合に、該小さくなった距離に応じて仮想スクリーンを縮小する。
拡大縮小後、手を停止させてから3秒以上が経過すると、追従フラグ1133は「0」にセットされ、仮想スクリーンの大きさが、拡大縮小後の大きさに固定される。つまり仮想スクリーンの形状722が、拡大縮小後の大きさに変更される。
図10に戻って、ステップS1009における判断において、追従フラグ1133が「1」である場合には、処理はステップS1012に進み、「0」である場合には、処理はステップS1010に進む。
ステップS1010では、CPU201は、追従フラグ1133を「1」にセットし(ステップS1010)、その後、上記の通り、ハンドモデルの移動に追従させて仮想スクリーンを移動させる(ステップS1011)。
一方、ステップS1012では、CPU201は、追従フラグ1133を「0」にセットし(ステップS1012)、その後、ハンドモデルの移動に追従させて仮想スクリーンを移動させことを中止し、仮想スクリーンの位置姿勢を固定して、手(ハンドモデル)と仮想スクリーンを分離させる(ステップS1013)。
一方、ステップS1014では、CPU201は、図11の接触情報1130における接触領域1134に、領域Bを示す情報を登録する(ステップS1014)。
次に、CPU201は、ハンドモデルと仮想スクリーンとが接触した状態において、ハンドモデルの移動量が規定量以下となる状態が所定時間以上続いているか否かを判断する(ステップS1015)。この判断の結果、続いていると判断した場合(ステップS1015でYES)には、処理はステップS1016に進み、続いていないと判断した場合(ステップS1015でNO)には、図10のフローチャートに従った処理は完了する。
次に、CPU201は、接触情報1130中の追従フラグ1133を参照し、該追従フラグ1133が「1」であるか「0」であるかを判断する(ステップS1016)。
ステップS1016における判断において、追従フラグ1133が「1」である場合には、処理はステップS1019に進み、「0」である場合には、処理はステップS1017に進む。
ステップS1017では、CPU201は、追従フラグ1133を「1」にセットし(ステップS1017)、その後、上記の通り、ハンドモデルの移動に追従させて仮想スクリーンを拡大/縮小させる(ステップS1018)。
一方、ステップS1019では、CPU201は、追従フラグ1133を「0」にセットし(ステップS1019)、その後、ハンドモデルの移動に追従させて仮想スクリーンを拡大縮小させことを中止し、仮想スクリーンのサイズを固定して、手(ハンドモデル)と仮想スクリーンを分離させる(ステップS1020)。
このように、本実施形態においては、例えば、移動・拡大・縮小後の仮想スクリーンの位置・姿勢・形状と、HMD101の位置情報と、に応じて、仮想スクリーンの表示・非表示を切り替えることが可能である。
尚、上述した実施形態の図5の説明においては、HMD101の位置と現実物体の位置が所定距離以上離れた場合に(ステップS504でYES)、ステップS501で選択したIDに対応するHMD101に対する全ての仮想スクリーンの表示を非表示にするものとしたが、例えばステップS505で、当該HMD101(HMD ID725)に対応する仮想スクリーン(仮想スクリーンID721の仮想スクリーン)を特定して当該特定した仮想スクリーンを非表示にするようにしてもよい。つまり、現実物体から離れたユーザの前に配置されていた仮想スクリーンを非表示にして、他のユーザの前に配置されている仮想スクリーンは、当該現実物体から離れたユーザの装着しているHMD101のディスプレイにも継続して表示されるようにするということである。
また、上述した第3の実施形態の説明においては、図5のステップS501の前に、CPU201は、RAM203や外部メモリ211において管理されている「仮想スクリーンの配置設定」が、可変設定であるのか、それともデフォルト設定であるのかを判断して、当該判断結果に応じて、処理をステップS501に移行するのか、ステップS501からS506の処理を行わずに処理を終了するのかを切り替えたが、例えば、図4のステップS407とS408の間に「仮想スクリーンの配置設定」が、可変設定であるのか、それともデフォルト設定であるのかを判定するようしてもよい。尚、ステップS407では更にデフォルトの配置位置の情報が外部メモリから読み込まれているものとする。
この判断の結果、可変設定の場合、即ち可変モードが設定されている場合には、処理はステップS408に進み、第1の実施形態と同様の処理を行う。一方、デフォルト設定の場合、即ちデフォルトモードが設定されている場合には、ステップS408〜S413の処理を行わずに、デフォルトサイズを有する1つの仮想スクリーンを生成して、仮想空間中のデフォルト位置に配置する。そして、当該デフォルトの位置に配置された仮想スクリーンの情報とHMD101の位置姿勢、現実画像の情報を用いてHMD101に表示させるMR画像を生成して、当該MR画像HMD101に送信するものとする。
然るにHMD101を頭部に装着したそれぞれのユーザには、デフォルト位置にデフォルトサイズを有する仮想スクリーンが配置されているMR空間が提供されることになり、それぞれのユーザでこの1つの仮想スクリーンを共有して閲覧することができる。
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 PC
101A HMD
101B HMD
101C HMD
150 ネットワーク
200 サーバ

Claims (15)

  1. 表示装置と通信可能な情報処理装置であって、
    前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定手段と、
    現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体の位置を表す現実物体位置とに基づいて決定する決定手段と
    を備えることを特徴とする情報処理装置。
  2. 前記情報処理装置は3次元上の前記現実物体の位置を表す現実物体位置を記憶し、
    前記決定手段は、前記現実物体位置と前記表示装置位置とから算出された前記表示装置から前記現実物体の方向に向けてのベクトルを用いて、前記ベクトルの示す方向にある前記現実物体の上面側の位置であって、前記現実物体から所定の距離離れた位置を、前記表示装置に新たに表示するべく表示が指示された前記仮想オブジェクトの、3次元上の位置として決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、複数の前記表示装置と通信可能であって、
    前記決定手段は、前記表示装置位置特定手段により特定された複数の表示装置のそれぞれの表示装置位置と前記現実物体位置とに基づき、複数の前記表示装置ごとに対応する位置であって、複数の前記表示装置にそれぞれに対応する前記仮想オブジェクトの、前記現実物体の上面側における3次元上の位置を決定することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記情報処理装置は、前記仮想オブジェクト上に表示する画像を出力する出力装置と通信可能であり、
    前記情報処理装置は更に、
    前記出力装置から出力される画像を前記仮想オブジェクト上に表示する操作を受け付けた場合に、前記決定手段により決定された位置の、前記出力装置から出力された画像を示す仮想オブジェクトの画像を、前記表示装置の位置姿勢に応じて生成する生成手段と、
    前記生成手段により生成された仮想オブジェクトの画像を前記表示装置に表示させるべく出力する出力手段と、
    を備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記情報処理装置は更に、
    前記出力装置の位置である出力装置位置を特定する出力装置位置特定手段と、
    前記出力装置位置特定手段により特定された前記出力装置位置と、前記表示装置位置特定手段により特定された前記表示装置位置と、を用いて、前記出力装置のオーナーの前記表示装置位置を特定する特定手段と
    を備え、
    前記決定手段は、前記特定手段により特定された前記出力装置のオーナーの前記表示装置位置を除く他の前記表示装置位置と前記現実物体位置とに基づき、前記表示装置に対応する位置であって、前記仮想オブジェクトの、前記現実物体の上面側における3次元上の位置を決定することを特徴とする請求項4に記載の情報処理装置。
  6. 前記情報処理装置は更に、
    前記仮想オブジェクトの3次元上の位置をどのように決定するかのモードである第1のモード又は第2のモードを設定する設定手段
    を備え、
    前記第1のモードが設定されている場合には、
    前記決定手段は、前記現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体位置とに基づき決定し、
    前記第2のモードが設定されている場合には、
    前記決定手段は、前記第2のモードにおいて規定された所定の位置を、前記仮想オブジェクトの3次元上の位置として決定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 表示装置と通信可能な情報処理装置であって、
    前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定手段と、
    現実物体の上面側における3次元上の位置のうちどの位置を仮想オブジェクトの位置とするかを、前記表示装置位置に基づいて決定する決定手段と
    を備え、
    前記情報処理装置は3次元上の現実物体の位置を表す現実物体位置を記憶し、
    前記決定手段は、前記現実物体位置と前記表示装置位置とから算出された前記表示装置から前記現実物体の方向に向けてのベクトルを用いて、前記ベクトルの示す方向にある前記現実物体の上面側の位置であって、前記現実物体から所定の距離離れた位置を、前記仮想オブジェクトの、3次元上の位置として決定することを特徴とする情報処理装置。
  8. 表示装置と通信可能な情報処理装置であって、
    前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定手段と、
    現実物体の上面側における3次元上の位置のうちどの位置を仮想オブジェクトの位置とするかを、前記表示装置位置に基づいて決定する決定手段と
    を備え、
    前記情報処理装置は、前記仮想オブジェクト上に表示する画像を出力する出力装置と通信可能であり、
    前記情報処理装置は更に、
    前記出力装置から出力される画像を前記仮想オブジェクト上に表示する操作を受け付けた場合に、前記決定手段により決定された位置の、前記出力装置から出力された画像を示す仮想オブジェクトの画像を、前記表示装置の位置姿勢に応じて生成する生成手段と、
    前記生成手段により生成された仮想オブジェクトの画像を前記表示装置に表示させるべく出力する出力手段と、
    を備えることを特徴とする情報処理装置。
  9. 表示装置と通信可能な情報処理装置が行う情報処理方法であって、
    前記情報処理装置の表示装置位置特定手段が、前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定工程と、
    前記情報処理装置の決定手段が、現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体の位置を表す現実物体位置とに基づいて決定する決定工程と
    を含むことを特徴とする情報処理方法。
  10. 表示装置と通信可能な情報処理装置が行う情報処理方法であって、
    前記情報処理装置の表示装置位置特定手段が、前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定工程と、
    前記情報処理装置の決定手段が、現実物体の上面側における3次元上の位置のうちどの位置を仮想オブジェクトの位置とするかを、前記表示装置位置に基づいて決定する決定工程と
    を備え、
    前記情報処理装置は3次元上の現実物体の位置を表す現実物体位置を記憶し、
    前記決定工程では、前記現実物体位置と前記表示装置位置とから算出された前記表示装置から前記現実物体の方向に向けてのベクトルを用いて、前記ベクトルの示す方向にある前記現実物体の上面側の位置であって、前記現実物体から所定の距離離れた位置を、前記仮想オブジェクトの、3次元上の位置として決定することを特徴とする情報処理方法。
  11. 表示装置と通信可能な情報処理装置が行う情報処理方法であって、
    前記情報処理装置の表示装置位置特定手段が、前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定工程と、
    前記情報処理装置の決定手段が、現実物体の上面側における3次元上の位置のうちどの位置を仮想オブジェクトの位置とするかを、前記表示装置位置に基づいて決定する決定工程と
    を備え、
    前記情報処理装置は、前記仮想オブジェクト上に表示する画像を出力する出力装置と通信可能であり、
    前記情報処理方法は更に、
    前記出力装置から出力される画像を前記仮想オブジェクト上に表示する操作を受け付けた場合に、前記決定工程により決定された位置の、前記出力装置から出力された画像を示す仮想オブジェクトの画像を、前記表示装置の位置姿勢に応じて生成する生成工程と、
    前記生成工程で生成された仮想オブジェクトの画像を前記表示装置に表示させるべく出力する出力工程と、
    を備えることを特徴とする情報処理方法。
  12. コンピュータを、請求項1乃至の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  13. 表示装置と、該表示装置と通信可能な情報処理装置と、を含む情報処理システムであって、
    前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定手段と、
    現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体の位置を表す現実物体位置とに基づいて決定する決定手段と
    を備えることを特徴とする情報処理システム。
  14. 表示装置と、該表示装置と通信可能な情報処理装置と、を含む情報処理システムにおける情報処理方法であって、
    表示装置位置特定手段が、前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定工程と、
    決定手段が、現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体の位置を表す現実物体位置とに基づいて決定する決定工程と
    を含むことを特徴とする情報処理方法。
  15. 表示装置と、該表示装置と通信可能な情報処理装置と、を含む情報処理システムを制御するプログラムであって、
    前記情報処理システムを、
    前記表示装置の位置を示す表示装置位置を特定する表示装置位置特定手段、
    現実物体の上面側における3次元上の位置のうちどの位置を、前記表示装置に新たに表示するべく表示が指示された仮想オブジェクトの位置とするかを、前記表示装置位置と前記現実物体の位置を表す現実物体位置とに基づいて決定する決定手段
    として機能させるためのプログラム。
JP2014253409A 2014-12-15 2014-12-15 情報処理装置、情報処理システム、情報処理方法、及びプログラム Active JP6357412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014253409A JP6357412B2 (ja) 2014-12-15 2014-12-15 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014253409A JP6357412B2 (ja) 2014-12-15 2014-12-15 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2016115148A JP2016115148A (ja) 2016-06-23
JP2016115148A5 JP2016115148A5 (ja) 2017-03-23
JP6357412B2 true JP6357412B2 (ja) 2018-07-11

Family

ID=56141992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014253409A Active JP6357412B2 (ja) 2014-12-15 2014-12-15 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6357412B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019057057A (ja) 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP2022505998A (ja) * 2019-10-15 2022-01-17 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド 拡張現実データの提示方法、装置、電子機器及び記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3558104B2 (ja) * 1996-08-05 2004-08-25 ソニー株式会社 3次元仮想物体表示装置および方法
JP3834615B2 (ja) * 2001-11-02 2006-10-18 独立行政法人産業技術総合研究所 画像表示方法及びシステム
JP2012128779A (ja) * 2010-12-17 2012-07-05 Panasonic Corp 仮想物体表示装置
JP5841033B2 (ja) * 2012-09-27 2016-01-06 京セラ株式会社 表示装置、制御システムおよび制御プログラム
US9245388B2 (en) * 2013-05-13 2016-01-26 Microsoft Technology Licensing, Llc Interactions of virtual objects with surfaces

Also Published As

Publication number Publication date
JP2016115148A (ja) 2016-06-23

Similar Documents

Publication Publication Date Title
US11257233B2 (en) Volumetric depth video recording and playback
US9886102B2 (en) Three dimensional display system and use
JP5709440B2 (ja) 情報処理装置、情報処理方法
KR101833253B1 (ko) 증강현실 환경에서의 가상객체 조작방법 및 이를 구현하는 증강현실 장치
JP2020024752A (ja) 情報処理装置及びその制御方法、プログラム
US10983661B2 (en) Interface for positioning an object in three-dimensional graphical space
JP6920057B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP2015125641A (ja) 情報処理装置、その制御方法、及びプログラム
JP7060778B2 (ja) 情報処理システム、情報処理システムの制御方法及びプログラム
US10614633B2 (en) Projecting a two-dimensional image onto a three-dimensional graphical object
US20180113595A1 (en) Control interface for a three-dimensional graphical object
JP2016122392A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP6409861B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP7273325B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6011567B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP6357412B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP6152888B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP2017084215A (ja) 情報処理システム、その制御方法、及びプログラム
JP4447896B2 (ja) 画像処理装置および方法
JP2017016166A (ja) 画像処理装置及び画像処理方法
JP7401245B2 (ja) 画像合成装置、画像合成装置の制御方法およびプログラム
JP2020074108A (ja) 情報処理システム、その制御方法、及びプログラム
JP6810342B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2015121892A (ja) 画像処理装置、画像処理方法
JP6164177B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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: 20180518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6357412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250