JP2023108550A - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP2023108550A JP2023108550A JP2022009729A JP2022009729A JP2023108550A JP 2023108550 A JP2023108550 A JP 2023108550A JP 2022009729 A JP2022009729 A JP 2022009729A JP 2022009729 A JP2022009729 A JP 2022009729A JP 2023108550 A JP2023108550 A JP 2023108550A
- Authority
- JP
- Japan
- Prior art keywords
- image
- virtual
- virtual object
- node
- dimensional
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 71
- 230000000007 visual effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 31
- 238000000034 method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000001133 acceleration Effects 0.000 description 9
- 230000001131 transforming effect Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】複数の仮想オブジェクトが配置された3次元空間を投影変換して得られた2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、当該2次元画像をそのまま表示する場合に比して、第1仮想オブジェクト像をユーザが見落とすことを抑制する情報処理装置及びプログラムを提供する。【解決手段】情報処理装置において、画像処理部26は、仮想3次元空間に設定された仮想視点及び視線方向に基づいて、仮想3次元空間に配置された複数の仮想オブジェクトとしてのノードを仮想スクリーン上に投影して、各ノードに対応する複数のノード像を含む2次元画像を生成し、2次元画像において、第1のノード像が第2のノード像により隠されている場合、第1又は第2のノード像の少なくとも一方が強調表示された2次元画像又は第2のノード像が透過表示された2次元画像をディスプレイ12に表示させる。【選択図】図1
Description
本発明は、情報処理装置及び情報処理プログラムに関する。
従来、それぞれが所定の情報に関連付けられた複数の仮想オブジェクトを仮想3次元空間に配置し、当該仮想3次元空間に仮想視点及び視線方向を設定し、当該仮想視点から当該視線方向に仮想3次元空間を投影変換して得られた2次元画像をディスプレイに表示させる装置が知られている。
特許文献1には、それぞれが電子コンテンツを表象する、複数の仮想オブジェクトとしての複数のアイコンを仮想3次元空間に配置し、当該仮想3次元空間を視野面に投影して得られた投影画像を表示し、当該投影画像においてユーザの視点を示すカーソルがアイコンを示すアイコン像に重なったときに、当該アイコンを仮想空間内において当該ユーザに近づけるように移動させる情報処理装置が開示されている。また、特許文献2には、それぞれがソフトウェアの部品に対応する、複数の仮想オブジェクトとしての複数の表示要素を仮想3次元空間に配置し、当該仮想3次元空間又は外に設定されたユーザの視点から当該仮想3次元空間を投影した画像を表示するソフトウェア解析支援システムが開示されている。
仮想3次元空間に設定された仮想視点の位置又は視線方向によっては、複数の仮想オブジェクトが配置された仮想3次元空間を投影変換して得られた2次元画像において、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像が重なってしまい、仮想オブジェクト像が隠されてしまう場合がある。例えば、2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が、第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されてしまう場合がある。この場合、ユーザは、第1仮想オブジェクト像を見ることができないから、第1仮想オブジェクト像を見落としてしまう可能性がある。第1仮想オブジェクト像を見落とすと、ユーザは、第1仮想オブジェクトに関連付けられた情報を見落としてしまうことになる。
本発明の目的は、複数の仮想オブジェクトが配置された仮想3次元空間を投影変換して得られた2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、当該2次元画像をそのまま表示する場合に比して、第1仮想オブジェクト像をユーザが見落とすことを抑制することにある。
請求項1に係る発明は、プロセッサを備え、前記プロセッサは、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置し、前記仮想3次元空間に仮想視点及び視線方向を設定し、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影して、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成し、前記2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像又は前記第2仮想オブジェクト像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理装置である。
請求項2に係る発明は、前記強調表示として、前記第1仮想オブジェクト像のサイズを拡大して表示する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項3に係る発明は、前記プロセッサは、前記2次元画像のうち、前記視線方向を基準とした所定の視野角以内の領域である対象領域内において、前記第1仮想オブジェクト像が前記第2仮想オブジェクト像により隠されているか否かを判定する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項4に係る発明は、前記プロセッサは、前記仮想オブジェクト像に付随して配置される、当該仮想オブジェクト像に対応する仮想オブジェクトに関連付けられた情報の属性を示す属性像を含む2次元画像を生成し、前記2次元画像において、前記第1仮想オブジェクト像に付随する前記属性像が、前記第2仮想オブジェクト像又は前記第2仮想オブジェクト像に付随する前記属性像により隠されている場合に、前記第1仮想オブジェクト像、前記第1仮想オブジェクト像に付随する前記属性像、前記第2仮想オブジェクト像、又は、前記第2仮想オブジェクト像に付随する前記属性像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、ことを特徴とする請求項1に記載の情報処理装置である。
請求項5に係る発明は、プロセッサを備え、前記プロセッサは、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置し、前記仮想3次元空間に仮想視点及び視線方向を設定し、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影して、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成し、前記2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像及び前記第2仮想オブジェクト像の両方をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理装置である。
請求項6に係る発明は、前記プロセッサは、前記仮想3次元空間における前記仮想視点の高さが閾値高さ以上である場合、前記第1仮想オブジェクト又は前記第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間の鉛直方向に移動させる、ことを特徴とする請求項5に記載の情報処理装置である。
請求項7に係る発明は、前記プロセッサは、前記仮想3次元空間における前記仮想視点の高さが閾値高さ未満である場合、前記第1仮想オブジェクト又は前記第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間の水平方向に移動させる、ことを特徴とする請求項5又は6に記載の情報処理装置である。
請求項8に係る発明は、前記プロセッサは、前記ユーザからの指示に応じて、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする請求項5に記載の情報処理装置である。
請求項9に係る発明は、前記プロセッサは、前記2次元画像のうち、前記視線方向を基準とした所定の視野角以内の領域である対象領域内において、前記第1仮想オブジェクト像が前記第2仮想オブジェクト像により隠されているか否かを判定する、ことを特徴とする請求項5に記載の情報処理装置である。
請求項10に係る発明は、前記プロセッサは、前記仮想オブジェクト像に付随して配置される、当該仮想オブジェクト像に対応する仮想オブジェクトに関連付けられた情報の属性を示す属性像を含む2次元画像を生成し、前記2次元画像において、前記第1仮想オブジェクト像に付随する前記属性像が、前記第2仮想オブジェクト像又は前記第2仮想オブジェクト像に付随する前記属性像により隠されている場合に、前記第1仮想オブジェクト像、前記第1仮想オブジェクト像に付随する前記属性像、前記第2仮想オブジェクト像、及び、前記第2仮想オブジェクト像に付随する前記属性像をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする請求項5に記載の情報処理装置である。
請求項11に係る発明は、コンピュータに、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置させ、前記仮想3次元空間に仮想視点及び視線方向を設定させ、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影させて、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成させ、前記2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像又は前記第2仮想オブジェクト像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理プログラムである。
請求項12に係る発明は、コンピュータに、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置させ、前記仮想3次元空間に仮想視点及び視線方向を設定させ、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影させて、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成させ、前記2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像及び前記第2仮想オブジェクト像の両方をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理プログラムである。
請求項2に係る発明は、前記強調表示として、前記第1仮想オブジェクト像のサイズを拡大して表示する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項3に係る発明は、前記プロセッサは、前記2次元画像のうち、前記視線方向を基準とした所定の視野角以内の領域である対象領域内において、前記第1仮想オブジェクト像が前記第2仮想オブジェクト像により隠されているか否かを判定する、ことを特徴とする請求項1に記載の情報処理装置である。
請求項4に係る発明は、前記プロセッサは、前記仮想オブジェクト像に付随して配置される、当該仮想オブジェクト像に対応する仮想オブジェクトに関連付けられた情報の属性を示す属性像を含む2次元画像を生成し、前記2次元画像において、前記第1仮想オブジェクト像に付随する前記属性像が、前記第2仮想オブジェクト像又は前記第2仮想オブジェクト像に付随する前記属性像により隠されている場合に、前記第1仮想オブジェクト像、前記第1仮想オブジェクト像に付随する前記属性像、前記第2仮想オブジェクト像、又は、前記第2仮想オブジェクト像に付随する前記属性像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、ことを特徴とする請求項1に記載の情報処理装置である。
請求項5に係る発明は、プロセッサを備え、前記プロセッサは、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置し、前記仮想3次元空間に仮想視点及び視線方向を設定し、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影して、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成し、前記2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像及び前記第2仮想オブジェクト像の両方をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理装置である。
請求項6に係る発明は、前記プロセッサは、前記仮想3次元空間における前記仮想視点の高さが閾値高さ以上である場合、前記第1仮想オブジェクト又は前記第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間の鉛直方向に移動させる、ことを特徴とする請求項5に記載の情報処理装置である。
請求項7に係る発明は、前記プロセッサは、前記仮想3次元空間における前記仮想視点の高さが閾値高さ未満である場合、前記第1仮想オブジェクト又は前記第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間の水平方向に移動させる、ことを特徴とする請求項5又は6に記載の情報処理装置である。
請求項8に係る発明は、前記プロセッサは、前記ユーザからの指示に応じて、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする請求項5に記載の情報処理装置である。
請求項9に係る発明は、前記プロセッサは、前記2次元画像のうち、前記視線方向を基準とした所定の視野角以内の領域である対象領域内において、前記第1仮想オブジェクト像が前記第2仮想オブジェクト像により隠されているか否かを判定する、ことを特徴とする請求項5に記載の情報処理装置である。
請求項10に係る発明は、前記プロセッサは、前記仮想オブジェクト像に付随して配置される、当該仮想オブジェクト像に対応する仮想オブジェクトに関連付けられた情報の属性を示す属性像を含む2次元画像を生成し、前記2次元画像において、前記第1仮想オブジェクト像に付随する前記属性像が、前記第2仮想オブジェクト像又は前記第2仮想オブジェクト像に付随する前記属性像により隠されている場合に、前記第1仮想オブジェクト像、前記第1仮想オブジェクト像に付随する前記属性像、前記第2仮想オブジェクト像、及び、前記第2仮想オブジェクト像に付随する前記属性像をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする請求項5に記載の情報処理装置である。
請求項11に係る発明は、コンピュータに、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置させ、前記仮想3次元空間に仮想視点及び視線方向を設定させ、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影させて、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成させ、前記2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像又は前記第2仮想オブジェクト像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理プログラムである。
請求項12に係る発明は、コンピュータに、それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置させ、前記仮想3次元空間に仮想視点及び視線方向を設定させ、前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影させて、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成させ、前記2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像及び前記第2仮想オブジェクト像の両方をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、ことを特徴とする情報処理プログラムである。
請求項1、2、5、11、又は12に係る発明によれば、複数の仮想オブジェクトが配置された仮想3次元空間を投影変換して得られた2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、当該2次元画像をそのまま表示する場合に比して、第1仮想オブジェクト像をユーザが見落とすことを抑制することができる。
請求項3に係る発明によれば、ユーザの視界全体について仮想オブジェクト像が互いに重なっているか否かを判定する場合に比して、仮想オブジェクト像が互いに重なっているか否かの判定処理、及び、重なっていた場合における強調表示処理の処理量を低減させることができる。
請求項4又は10に係る発明によれば、2次元画像をそのまま表示する場合に比して、第1仮想オブジェクト像に対応する属性像をユーザが見落とすことを抑制することができる。
請求項6に係る発明によれば、仮想視点が水平方向に移動するようにユーザが移動したとしても、ユーザから第1仮想オブジェクト像が見えるようにすることができる。
請求項7に係る発明によれば、仮想視点が鉛直方向に移動するようにユーザが移動したとしても、ユーザから第1仮想オブジェクト像が見えるようにすることができる。
請求項8に係る発明によれば、ユーザの意に反して仮想オブジェクトが移動してしまうことを防止することができる。
請求項9に係る発明によれば、ユーザの視界全体について仮想オブジェクト像が互いに重なっているか否かを判定する場合に比して、仮想オブジェクト像が互いに重なっているか否かの判定処理、及び、重なっていた場合における仮想オブジェクトを移動させる処理の処理量を低減させることができる。
請求項3に係る発明によれば、ユーザの視界全体について仮想オブジェクト像が互いに重なっているか否かを判定する場合に比して、仮想オブジェクト像が互いに重なっているか否かの判定処理、及び、重なっていた場合における強調表示処理の処理量を低減させることができる。
請求項4又は10に係る発明によれば、2次元画像をそのまま表示する場合に比して、第1仮想オブジェクト像に対応する属性像をユーザが見落とすことを抑制することができる。
請求項6に係る発明によれば、仮想視点が水平方向に移動するようにユーザが移動したとしても、ユーザから第1仮想オブジェクト像が見えるようにすることができる。
請求項7に係る発明によれば、仮想視点が鉛直方向に移動するようにユーザが移動したとしても、ユーザから第1仮想オブジェクト像が見えるようにすることができる。
請求項8に係る発明によれば、ユーザの意に反して仮想オブジェクトが移動してしまうことを防止することができる。
請求項9に係る発明によれば、ユーザの視界全体について仮想オブジェクト像が互いに重なっているか否かを判定する場合に比して、仮想オブジェクト像が互いに重なっているか否かの判定処理、及び、重なっていた場合における仮想オブジェクトを移動させる処理の処理量を低減させることができる。
図1は、本実施形態に係る情報処理装置10の構成概略図である。情報処理装置10は、仮想3次元空間に仮想的に配置された複数の仮想オブジェクトを当該仮想3次元空間に設定された仮想視点から見た様子を示す2次元画像を生成してディスプレイ12に表示させる装置である。
情報処理装置10は、仮想3次元空間の背景と共に当該仮想3次元空間に配置された複数の仮想オブジェクトを示す2次元画像を表示する、いわゆるVR(Virtual Reality)(仮想現実とも呼ばれる)を実現するVR装置であってもよい。また、情報処理装置10は、現実の3次元空間の背景と共に仮想3次元空間に配置された複数の仮想オブジェクトを示す2次元画像を表示する、いわゆるAR(Augmented Reality)(拡張現実とも呼ばれる)を実現するAR装置であってもよい。また、情報処理装置10は、VRとARとの組み合わせであるMR(Mixed Reality)(複合現実とも呼ばれる)又はSR(Substitutional Reality)(代替現実とも呼ばれる)を実現するMR装置又はSR装置であってもよい。VR、AR、MR、SRなどを総称して、XR(Extended reality)と呼ぶ。すなわち、情報処理装置10はXR装置であってもよい。
情報処理装置10は、ユーザが装着又は保持して使用する装置が想定される。例えば、情報処理装置10は、HMD(Head Mounted Display;ヘッドマウントディスプレイ)、スマートグラス、あるいはタブレット端末などである。もちろん、情報処理装置10としては、これらの装置に限られるものではない。
ディスプレイ12は、例えば液晶パネルや有機EL(Electro Luminescence)などから構成される。ディスプレイ12には、後述のプロセッサ20により形成された2次元画像が表示される。ディスプレイ12は、透過型のディスプレイであってもよい。
加速度センサ14は、情報処理装置10の位置及び姿勢を検出するセンサである。具体的には、加速度センサ14は、情報処理装置10が所定の位置にあり、所定の姿勢を取っているときにキャリブレーション処理を実行し、現実の3次元空間に定義された、互いに直交する3軸方向における情報処理装置10のキャリブレーション位置からの変位、及び、キャリブレーション姿勢からの3軸それぞれを中心軸とした回転角を検出する。
入力インターフェース16は、ボタンやタッチパネルなどから構成される。入力インターフェース16は、ユーザが情報処理装置10に指示を入力する際に用いられる。
メモリ18は、例えば、eMMC(embedded Multi Media Card)、ROM(Read Only Memory)あるいはRAM(Random Access Memory)などを含んで構成される。メモリ18には、情報処理装置10の各部を動作させるための情報処理プログラムが記憶される。なお、情報処理プログラムは、例えば、USB(Universal Serial Bus)メモリ又はCD-ROMなどのコンピュータ読み取り可能な非一時的な記憶媒体に格納することもできる。情報処理装置10は、そのような記憶媒体から情報処理プログラムを読み取って実行することができる。
プロセッサ20は、広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU(Central Processing Unit)など)、及び、専用の処理装置(例えばGPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、あるいは、プログラマブル論理デバイスなど)の少なくとも1つを含んで構成される。プロセッサ20としては、1つの処理装置によるものではなく、物理的に離れた位置に存在する複数の処理装置の協働により構成されるものであってもよい。図1に示すように、プロセッサ20は、メモリ18に記憶された情報処理プログラムに従って、オブジェクト制御部22、視点設定部24、及び画像処理部26としての機能を発揮する。
オブジェクト制御部22は、3次元空間に仮想的に配置される複数の仮想オブジェクトに関する制御を実行する。本実施形態では、オブジェクト制御部22は、仮想3次元空間にネットワークグラフを配置する。
図2は、XV軸、YV軸、及びZV軸から定義される仮想3次元空間40に仮想的に配置されたネットワークグラフ42を示す図である。ネットワークグラフ42とは、それぞれが所定の情報に関連付けられた複数のノード44と、2つのノード44間の関係(厳密には当該2つのノード44に関連付けられた情報間の関係)を示すエッジ46を含んで構成される。本実施形態では、ノード44は、所定の大きさ(半径)を有する球形状のオブジェクトである。エッジ46は、ノード44間を結ぶ線形状のオブジェクトである。
ノード44に関連付けられる情報としては、種々の情報であってよい。例えば、ある製品で使用されている1つの部品、あるプログラムを構成する1つのモジュールなどが挙げられるが、もちろんこれらに限られるものではない。各ノード44に関連付けられる情報は、予めメモリ18に記憶されている。複数のノード44の仮想3次元空間40における位置は、ノード44に関連付けられている情報に応じて決定される。例えば、意味が近い情報を有する複数のノード44は互いに近くに配置される。また、エッジ46は、向きを持つ有向エッジであってもよい。ネットワークグラフ42によれば、ユーザは、複数の情報の関係性を容易に把握することが可能となる。
ネットワークグラフ42に含まれる複数のノード44が複数の仮想オブジェクトに相当する。なお、オブジェクト制御部22が仮想3次元空間40に配置する仮想オブジェクトとしてはノード44に限られない。
オブジェクト制御部22は、仮想3次元空間40に仮想オブジェクトとしてのノード44を配置する他、ノード44を仮想3次元空間40において移動させる処理も行う。これについては後述する。
視点設定部24は、ノード44(すなわちネットワークグラフ42)が配置された仮想3次元空間40に仮想視点50及び視線方向52を設定する。本実施形態では、視点設定部24は、現実の3次元空間における情報処理装置10の位置に基づいて仮想視点50の位置を設定し、現実の3次元空間における情報処理装置10の姿勢に基づいて視線方向52を設定する。
具体的には、加速度センサ14がキャリブレーションを行うと、仮想3次元空間40の所定の位置に仮想視点50が設定される。そこから、加速度センサ14により検出される情報処理装置10のキャリブレーション位置からの変位(現実の3次元空間における変位)に応じて、仮想3次元空間40における仮想視点50の位置が変更される。また、加速度センサ14がキャリブレーションを行うと、仮想3次元空間40の所定の方向が視線方向52として設定される。そこから、加速度センサ14により検出される情報処理装置10のキャリブレーション姿勢からの回転角(現実の3次元空間における回転角)に応じて、仮想3次元空間40における視線方向52が変更される。なお、仮想視点50からの視野は、所定の視野角(例えば180°)を有しているところ、視線方向52とは、当該視野の中心となる方向を意味する。すなわち、仮想視点50からの視野は、視線方向52を中心とした視野角を有するものとなる。
また、視点設定部24は、仮想視点50からの視野の上方向を示す上方ベクトルを設定するようにしてもよい。上方ベクトルも、現実の3次元空間における情報処理装置10の姿勢に基づいて設定することができる。なお、上方ベクトルは、仮想3次元空間40の鉛直方向上側(ZV軸正側)に固定されていてもよい。
画像処理部26は、視点設定部24により設定された仮想視点50及び視線方向52に基づいて、仮想3次元空間40に配置された複数のノード44を仮想視点50から視線方向52に見た様子を示す2次元画像を生成する。
図3は、画像処理部26の処理の内容を示す概念図である。まず、画像処理部26は、仮想3次元空間40内に仮想スクリーン54を定義する。仮想スクリーン54は、視線方向52に垂直な面であり、仮想視点50からの視野をカバーする大きさであってよい。画像処理部26は、複数のノード44を仮想スクリーン54上に投影して、複数のノード44に対応する複数のノード像56を含む2次元画像を生成する。ノード像56は、基本的には不透明な像である。
本実施形態では、画像処理部26は、透視投影にて2次元画像を生成する。すなわち、仮想視点50からノード44の各点へ向かって投射線を引き、仮想スクリーン54との交点の集まりを当該ノード44に対応するノード像56とする。仮想3次元空間40において仮想視点50に近いノード44程、対応するノード像56が大きくなる。
なお、2次元画像(すなわち仮想スクリーン54)の横方向をXI軸と呼び、2次元画像の縦方向をYI軸と呼ぶ。YI軸方向は上方ベクトルの延伸方向に平行となる。上記上方ベクトルが仮想3次元空間40の鉛直方向上側である場合、XI軸は仮想3次元空間40の水平方向を向き、YI軸は仮想3次元空間40の鉛直方向を向く。
画像処理部26は、2次元画像を生成した際に、XIYI座標系における各ノード像56の中心座標、及び、各ノード像56の大きさを取得しておく。本実施形態では、ノード44は球形状であるからノード像56は円形となるため、画像処理部26は、ノード像56の大きさとしてノード像56の半径を取得しておく。
図3の例では、ノード44が投影される様子が示されているが、エッジ46も仮想スクリーン54に投影され、エッジ46に対応するエッジ像が2次元画像に含まれてもよい。また、情報処理装置10がVR装置である場合、画像処理部26は、仮想3次元空間40の背景(ノード44以外のオブジェクト)も仮想スクリーン54に投影して2次元画像を生成してもよい。
また、画像処理部26は、ノード44に関連付けられた情報の属性を示す属性像を生成し、当該属性像を当該ノード44に対応するノード像56に付随して配置するようにしてもよい。例えば、図3の例では、属性像として、ノード44の名称を示すラベル像58が、当該ノード44に対応するノード像56の近傍に配置される。なお、属性像が示す属性としてはノード44の名称に限られず、ノード44に関連付けられた情報に関する種々の情報であってよい。
図3の例では、ノード44aに対応するノード像56a、ノード44bに対応するノード像56b、ノード44cに対応するノード像56c、及び、ノード44dに対応するノード像56dが形成されている。ここで、ノード44cとノード44dに着目する。ノード44cとノード44dは、仮想3次元空間40においては別々の位置に配置されているのであるが、仮想視点50から見ると、ノード44cとノード44dが同じ方向にある。したがって、仮想スクリーン54上に投影されると、ノード像56cとノード像56dが互いに重なってしまう。具体的には、仮想3次元空間40において仮想視点50からより遠い位置にあるノード44dに対応するノード像56dの上に、ノード44cに対応するノード像56cが重なってしまう。つまり、2次元画像において、第1仮想オブジェクト像としてのノード像56dが、第2仮想オブジェクト像としてのノード像56cに隠されてしまう。これにより、当該2次元画像を見たユーザがノード像56d(すなわちノード44d)を見落としてしまう可能性がある。本実施形態では、以下に説明する処理により、2次元画像において他のノード像56によって隠されてしまったノード像56(すなわち当該ノード像56に対応するノード44)をユーザが見落としてしまうことを抑制する。
画像処理部26は、生成した2次元画像をディスプレイ12に表示させる。情報処理装置10がVR装置である場合、画像処理部26は、仮想3次元空間40の背景及びノード像56を含む2次元画像をディスプレイ12に表示させる。情報処理装置10がAR装置、MR装置、あるいはSR装置である場合、画像処理部26は、情報処理装置10が有するカメラ(不図示)が撮影した実空間の撮影画像に重畳させて、画像処理部26が生成した2次元画像をディスプレイ12に表示させる。あるいは、ディスプレイ12が透過型ディスプレイならば、画像処理部26が生成した2次元画像をディスプレイ12に表示させて、ディスプレイ12を透過した現実世界と、画像処理部26が生成した2次元画像とが重畳した映像をユーザに見せるようにしてもよい。
画像処理部26は、生成した2次元画像において、ノード像56が互いに重なっているか否かを判定する。換言すれば、画像処理部26は、2次元画像において、第1のノード像56が第2のノード像56により隠されているか否かを判定する。本実施形態では、画像処理部26は、2次元画像における第1のノード像56の中心と第2のノード像56の中心との間の距離が閾値距離以内である場合に、当該2つのノード像56が互いに重なっていると判定する。当該閾値距離は、所定の固定値であってもよいが、重なりを判定する処理の対象となる2つのノード像56のうちサイズ(半径)が大きい方のノード像56の半径に基づいて決定するようにしてもよい。なお、ノード像56が互いに重なっているか否かの判定方法は、その他の方法であってもよい。また、本実施形態では、2つのノード像56が互いに重なっている場合を例に説明するが、3以上のノード像56が互いに重なっている場合にも同様の処理を実行することができる。
生成した2次元画像において、互いに重なっているノード像56が無かった場合、画像処理部26は、当該2次元画像をそのままディスプレイ12に表示させる。2次元画像において互いに重なっているノード像56が有った場合、画像処理部26は、互いに重なっている2つのノード像56の少なくとも一方が強調表示された2次元画像をディスプレイ12に表示させる。
図4~図6を参照しつつ、強調表示の例について説明する。以下の説明においては、ノード像56dがノード像56cにより隠されている場合を例に説明する。図4~6において、矢印の左側に示された図は強調表示前のノード像56c,56dを示し、矢印の右側に示された図は強調表示後のノード像56c,56dを示す。
図4は、ノード像56cの色が変更されることでノード像56cが強調表示された例を示す図である。また、図5は、ノード像56cの周囲を取り囲むハイライト像60を表示することで、ノード像56cが強調表示された例を示す図である。このように、ノード像56dを隠しているノード像56cを強調表示することで、ユーザは、そのままではノード像56dを直接見ることができないが、強調表示されたノード像56に隠された他のノード像56が有ることを把握することができる。隠れているノード像56が有ることを把握したユーザは、情報処理装置10の位置や姿勢を変更させて、仮想3次元空間40における仮想視点50や視線方向52を変更することで、隠れているノード像56を確認することができる。すなわち、ノード像56dすなわちノード44dをユーザが見落とすことが抑制される。
図6は、ノード像56dのサイズを拡大することでノード像56dが強調表示された例を示す図である。ノード像56cにより隠されていたノード像56dを拡大することで、ノード像56dの一部がノード像56cからはみ出して見えるので、ユーザは、ノード像56dを確認することができる。
また、画像処理部26は、生成した2次元画像において、第1のノード像56に付随する第1のラベル像58が、第2のノード像56又は第2のノード像56に付随する第2のラベル像58によって隠されているか否かを判定するようにしてもよい。ノード像56に対するラベル像58の位置、及び、ラベル像58の大きさが既知であれば、画像処理部26は、ラベル像58が他のノード像56や他のラベル像58によって隠されているか否かを判定することができる。画像処理部26は、第1のノード像56に付随する第1のラベル像58が、第2のノード像56又は第2のラベル像58によって隠されている場合に、第1のノード像56、第1のラベル像58、第2のノード像56、又は、第2のラベル像58の少なくとも1つが強調表示された2次元画像をディスプレイ12に表示させるようにしてもよい。
図7は、ノード像56dに付随するラベル像58dがノード像56cによって隠されている場合(矢印の左側の図)において、ノード像56cの色が変更されることでノード像56cが強調表示された例(矢印の右側の図)を示す図である。上述の通り、この場合、ノード像56cに代えてあるいは加えて、ラベル58c、ノード像56d、又はラベル像58dを強調表示するようにしてもよい。例えば、ラベル58cやノード像56dの色を変更する、あるいは、ラベル像58dを拡大表示することによって、強調表示するようにしてもよい。
また、画像処理部26は、第1のノード像56が、第2のノード像56によって隠されている場合に、第2のノード像56を透過表示された2次元画像をディスプレイ12に表示させるようにしてもよい。図8は、ノード像56dがノード像56cによって隠されている場合(矢印の左側の図)において、ノード像56cが透過表示された様子(矢印の右側の図)を示す図である。ノード像56dを隠しているノード像56cが透過表示されることで、ユーザは、ノード像56dを確認することができる。なお、透過表示されたノード像56cもユーザが確認可能なように、ノード像56cの枠だけは透過表示させない、あるいは、透過率を100%としないようにするのがよい。
画像処理部26は、生成した2次元画像全体において、ノード像56又はラベル像58が隠されているか否かを判定して強調表示処理を行うとすると、当該判定処理及び強調表示処理の処理量が多くなってしまう。判定処理及び強調表示処理の処理量が多くなると、強調表示するまでの処理時間が長くなってしまうという問題が生じ得る。一方、ユーザは、2次元画像のうち、視線方向52(すなわち視野の中心)の周辺を主に見る傾向がある。そこで、画像処理部26は、生成した2次元画像のうち、視線方向52を基準とした所定の視野角以内の領域を判定処理の対象領域とし、当該対象領域内のみ、ノード像56又はラベル像58が隠されているか否かを判定するようにしてもよい。
上述の通り、ノード像56又はラベル像58が他のノード像56又は他のラベル像58により隠されている場合に、強調表示処理を行うことで、隠されたノード像56又はラベル像58をユーザに把握させることができる。また、ノード像56又はラベル像58が他のノード像56又は他のラベル像58により隠されている場合に、仮想3次元空間40において、一時的に、隠されたノード像56又はラベル像58に対応するノード44を移動させることで、隠されたノード像56又はラベル像58をユーザに把握させることもできる。以下、仮想3次元空間40においてノード44を移動させる実施形態について説明する。
上述の実施形態と同様に、画像処理部26は、生成した2次元画像において、ノード像56が互いに重なっているか否かを判定する。そして、互いに重なっているノード像56が有った場合、画像処理部26は、まず、2次元画像上において、互いに重なっている2つのノード像56が互いに重ならないように、当該2つのノード像56の少なくとも一方を移動させる。
図9は、ノード像56dがノード像56cによって隠されている場合(矢印の左側の図)において、ノード像56dがXI軸方向に移動された様子(矢印の右側の図)を示す図である。ノード像56cとノード像56dが互いに重ならない状態が得られればよいため、移動するノード像56はノード像56cであってもよいし、ノード像56dであってもよい。なお、ノード像56c又は56dの好適な移動方向については後述するが、ノード像56c又は56dの移動方向は、両者が重ならないようになる限りにおいてどの方向であってもよい。
画像処理部26は、閾値移動量以上、ノード像56を移動させる。閾値移動量は、所定の固定値であってもよいが、重なっている2つのノード像56のうちサイズ(半径)が大きい方のノード像56の半径に基づいて決定するようにしてもよい。
なお、画像処理部26は、互いに重なっているノード像56の少なくとも一方を移動させることに代えてあるいは加えて、ノード像56のサイズを拡大する、あるいは、拡大すると共に重なり順序を変更するようにしてもよい。これは、仮想3次元空間40において対応するノード44を視線方向52に移動させることに相当する。図10には、ノード像56dがノード像56cによって隠されている場合(矢印の左側の図)において、ノード像56dが拡大されてノード像56cとの重なり順序が変更された様子(矢印の右側の図)が示されている。
また、画像処理部26は、第1のノード像56に付随する第1のラベル像58が、第2のノード像56又は第2のラベル像58によって隠されている場合に、第1のノード像56、第1のラベル像58、第2のノード像56、及び、第2のラベル像58をユーザが視認可能なように、第1のノード像56又は第2のノード像56の少なくとも1つを2次元画像上において移動させるようにしてもよい。図11には、ノード像56dに付随するラベル像58dがノード像56cによって隠されている場合(矢印の左側の図)において、ノード像56cを移動させた様子(矢印の右側の図)が示されている。
2次元画像上においてノード像56を移動又は拡大させた後、オブジェクト制御部22は、当該ノード像56の移動に応じて、当該ノード像56に対応するノード44を仮想3次元空間40において移動させる。本実施形態では、オブジェクト制御部22は、移動後のノード像56について逆透視投影を行うことで、移動後のノード像56に対応するノード44の移動先の仮想3次元空間40における位置(座標)を求め、当該位置に当該ノード44を移動させる。
図12は、ノード像56の移動に応じて仮想3次元空間40においてノード44が移動される様子を示す図である。具体的には、ノード像56dがノード像56cに隠されており、2次元画像上においてノード像56dを移動させた場合に、ノード像56dに対応するノード44dを移動させた様子が示されている。当該処理は、ユーザから見て(すなわち仮想視点50から視線方向52を見て)、互いに重なっていた2つのノード像56の両方をユーザが視認可能なように、当該2つのノード像56に対応する2つのノード44の少なくとも一方を仮想3次元空間40において移動させることを意味する。
なお、上述のように、仮想3次元空間40における各ノード44の位置は、各ノード44に関連付けられている情報に応じて決定されるため、仮想3次元空間40においてノード44dが移動したことに応じて、他のノード44も移動させる必要がある場合がある。その場合は、オブジェクト制御部22は、仮想3次元空間40において当該他のノード44を移動させる。そして、画像処理部26は、移動後の他のノード44を仮想スクリーン54に投影し、移動後の当該他のノード44に対応するノード像56を含む2次元画像を再生成する。
上述のように、互いに重なっていたノード像56に対応するノード44を仮想3次元空間40において移動させた場合、それに伴って他のノード44も移動する場合があるため、再生成した2次元画像において、移動した他のノードに起因して、ノード像56が互いに重なってしまう場合がある。画像処理部26は、再生成した2次元画像において、ノード像56が互いに重なっているか否かを判定する。再生成した2次元画像において互いに重なっているノード像56が無い場合、オブジェクト制御部22は、仮想3次元空間40における各ノード44の位置を確定する。再生成した2次元画像において互いに重なっているノード像56が有った場合、画像処理部26は、2次元画像上において、互いに重なっている2つのノード像56が互いに重ならないように、当該2つのノード像56の少なくとも一方を再度移動させる。
オブジェクト制御部22及び画像処理部26は、仮想3次元空間40において各ノード44の位置が確定するまで上述の処理を繰り返す。
仮想3次元空間40において各ノード44の位置が確定した後、画像処理部26は、移動後の複数のノード44に対応する複数のノード像56を含む2次元画像を生成してディスプレイ12に表示させる。
このように、ノード像56dがノード像56cにより隠されている場合、ノード像56cに対応するノード44c又はノード像56dに対応するノード44dを仮想3次元空間40において移動させることで、ユーザは、画像処理部26により生成される2次元画像においてノード像56dを視認することができる。これにより、ノード像56dすなわちノード44dをユーザが見落とすことが抑制される。
以下、2次元画像上における好適なノード像56の移動方向、すなわち、仮想3次元空間40における好適なノード44の移動方向について、図13及び図14を参照しつつ説明する。
2次元画像においてノード像56が互いに重なっている場合、まず、画像処理部26は、仮想3次元空間40における仮想視点50の高さhを取得する。その上で、取得した高さhが、予め定められた閾値高さ以上であるか否かを判定する。ここで、閾値高さは、ユーザが現実の3次元空間において立っていると判定できる程度の高さに設定される。すなわち、仮想視点50の高さhが閾値高さ以上であると判定することは、ユーザが立っている可能性が高いと判定することを意味し、仮想視点50の高さhが閾値高さ未満であると判定することは、ユーザが座っている可能性が高いとを判定することを意味している。
仮想視点50の高さhが閾値高さ以上である場合、画像処理部26は、視点設定部24が設定した上方ベクトルに基づいて、仮想3次元空間40において対応するノード44が鉛直方向(ZV軸方向)に移動するように、互いに重なっている2つのノード像56の少なくとも一方を2次元画像上で移動させる。
図13を参照し、ノード44fに対応するノード像56fが、ノード44eに対応するノード像56eによって隠されている場合を考える。ここで、上方ベクトルの向きがZV軸正方向に一致しているとすると、画像処理部26は、2次元画像上において、ノード像56e及び56fの少なくとも一方(図13の例ではノード像56f)をYI軸方向に移動させる。図13の例では、画像処理部26は、ノード像56fをYI軸の負方向に移動させているが、ノード像56fをYI軸の正方向に移動させるようにしてもよい。
2次元画像上においてノード像56fが移動したことに応じて、オブジェクト制御部22は、仮想3次元空間40において、ノード像56に対応するノード44fを鉛直方向(ZV軸方向)に移動させる。
仮想視点50の高さhが閾値高さ以上である場合、すなわち、ユーザが立っている可能性が高い場合、ユーザは、歩くなどして、情報処理装置10を左右に移動させやすい、つまり、仮想3次元空間40において仮想視点50を水平方向(XVYV平面の面方向)に移動させやすいと言える。したがって、仮に、仮想3次元空間40においてノード44fを水平方向に移動させたとすると、仮想視点50も水平方向に移動して、移動後のノード44fと、ノード44eと、移動後の仮想視点50とが一直線上に並んでしまうと、移動後の仮想視点50から見ると、移動後のノード44fに対応するノード像56fがノード像56eに隠れてしまう。本実施形態では、このような事態を避けるため、仮想視点50の高さhが閾値高さ以上である場合は、ノード44e又はノード44fの少なくとも1つを仮想3次元空間40の鉛直方向に移動させている。
一方、仮想視点50の高さhが閾値高さ未満である場合、画像処理部26は、視点設定部24が設定した上方ベクトルに基づいて、仮想3次元空間40において対応するノード44が水平方向(XVYV面の面方向)に移動するように、互いに重なっている2つのノード像56の少なくとも一方を2次元画像上で移動又は拡大させる。
図14を参照し、ノード44fに対応するノード像56fが、ノード44eに対応するノード像56eによって隠されている場合を考える。ここで、上方ベクトルの向きがZV軸正方向に一致しているとすると、画像処理部26は、2次元画像上において、ノード像56e及び56fの少なくとも一方(図14の例ではノード像56f)をXI軸方向に移動させる。図14の例では、画像処理部26は、ノード像56fをXI軸の負方向に移動させているが、ノード像56fをXI軸の正方向に移動させるようにしてもよい。
2次元画像上においてノード像56fが移動したことに応じて、オブジェクト制御部22は、仮想3次元空間40において、ノード像56に対応するノード44fを水平方向(XVYV面の面方向)に移動させる。
仮想視点50の高さhが閾値未満以上である場合、すなわち、ユーザが座っている可能性が高い場合、ユーザは、立ち上がるなどして、情報処理装置10を鉛直方向に移動させやすい、つまり、仮想3次元空間40において仮想視点50を鉛直方向(ZV軸方向)に移動させやすいと言える。したがって、仮に、仮想3次元空間40においてノード44fを鉛直方向に移動させたとすると、仮想視点50も鉛直方向に移動して、移動後のノード44fと、ノード44eと、移動後の仮想視点50とが一直線上に並んでしまうと、移動後の仮想視点50から見ると、移動後のノード44fに対応するノード像56fがノード像56eに隠れてしまう。本実施形態では、このような事態を避けるため、仮想視点50の高さhが閾値高さ未満である場合は、ノード44e又はノード44fの少なくとも1つを仮想3次元空間40の水平方向に移動させている。
上述した強調表示処理の例と同様に、画像処理部26は、生成した2次元画像全体において、ノード像56又はラベル像58が隠されているか否かを判定し、オブジェクト制御部22が対応するノード44の移動処理を行うとすると、当該判定処理及び移動処理の処理量が多くなってしまう。判定処理及び移動処理の処理量が多くなると、2次元画像を表示するまでの処理時間が長くなってしまうという問題が生じ得る。そこで、画像処理部26は、生成した2次元画像のうち、視線方向52を基準とした所定の視野角以内の領域を判定処理の対象領域とし、当該対象領域内のみ、ノード像56又はラベル像58が隠されているか否かを判定するようにしてもよい。
また、仮想3次元空間40においてノード44を移動させることで、ネットワークグラフ42の形状が変化することになる。ここで、ネットワークグラフ42の形状が変更させることを望まないユーザがいる場合も考えられる。そこで、オブジェクト制御部22及び画像処理部26は、ユーザからの指示に応じて(換言すればユーザからの指示を待って)、2次元画像上におけるノード像56の移動処理、仮想3次元空間40におけるノード44の移動処理、及び、移動後の複数のノード44に対応する複数のノード像56を含む2次元画像をディスプレイ12に表示させる処理を実行するようにしてもよい。ここで、ユーザは、入力インターフェース16を用いて、当該指示を情報処理装置10に入力することができる。
本実施形態に係る情報処理装置10の概要は以上の通りである。以下、図15及び図16に示すフローチャートに従って、本実施形態に係る情報処理装置10の処理の流れを説明する。
まず、図15を参照し、互いに重なっているノード像56の少なくとも1つを強調表示させる場合の処理の流れを説明する。
ステップS10において、オブジェクト制御部22は、仮想オブジェクトとしてのノード44を含むネットワークグラフ42を仮想3次元空間40に配置する。
ステップS12において、視点設定部24は、情報処理装置10の位置及び姿勢に基づいて、仮想3次元空間40において仮想視点50及び視線方向52を設定する。
ステップS14において、画像処理部26は、ステップS12で設定された仮想視点50及び視線方向52に基づいて、複数のノード44を仮想スクリーン54上に透視投影して、複数のノード44に対応する複数のノード像56を含む2次元画像を生成する。
ステップS16において、画像処理部26は、ステップS14で生成した2次元画像において、互いに重なっているノード像56があるか否かを判定する。互いに重なっているノード像56が有る場合はステップS18に進み、互いに重なっているノード像56が無い場合はステップS20に進む。
ステップS18において、画像処理部26は、ステップS14にて生成した2次元画像において、互いに重なっている2つのノード像56の少なくとも1つを強調表示させる。
ステップS20において、画像処理部26は、ステップS14で生成した2次元画像、又は、ステップS18でノード像56が強調表示された2次元画像をディスプレイ12に表示させる。
次に、図16を参照し、互いに重なっているノード像56に対応するノード44の少なくとも1つを仮想3次元空間40において移動させる場合の処理の流れを説明する。なお、図16の例においては、視点設定部24が設定した上方ベクトルが仮想3次元空間40の鉛直方向(ZV軸正方向)と一致しているとする。
ステップS30からS36までの処理は、図15のフローチャートにおけるステップS10からS16までの処理と同様であるため、重複する説明は省略する。
ステップS34で生成した2次元画像において、2つのノード像56が互いに重なっている場合(ステップS36で「はい」)、ステップS38において、画像処理部26は、仮想3次元空間40における仮想視点50の高さhを取得し、高さhが閾値高さ以上であるか否かを判定する。
高さhが閾値高さ以上である場合はステップS40に進み、ステップS40において、画像処理部26は、2次元画像上において、互いに重なっている2つのノード像56の少なくとも1つをYI軸方向に移動させる。一方、高さhが閾値高さ未満である場合はステップS42に進み、ステップS42において、画像処理部26は、2次元画像上において、互いに重なっている2つのノード像56の少なくとも1つをXI軸方向に移動させる。
ステップS44において、オブジェクト制御部22は、ステップS40又はS42におけるノード像56の移動に応じて、仮想3次元空間40において、当該ノード像56に対応するノード44を移動させる。ここで、ステップS40においてノード像56が移動させられた場合は、ステップS44において、当該ノード像56に対応するノード44が仮想3次元空間40の鉛直方向に移動され、ステップS42においてノード像56が移動させられた場合は、ステップS44において、当該ノード像56に対応するノード44が仮想3次元空間40の水平方向に移動される。
ステップS44の後、ステップS34に戻り、再度のステップS34において、ステップS44で移動されたノード44に対応するノード像56を含む2次元画像を再生成する。
再度のステップS36において、画像処理部26は、再度のステップS34で再生成した2次元画像において、2つのノード像56が互いに重なっているか否かを判定する。互いに重なっているノード像56が有る場合は、再度ステップS38~S44の処理を実行する。すなわち、画像処理部26及びオブジェクト制御部22は、2次元画像において互いに重なっているノード像56が無くなるまでステップS38~S44の処理を繰り返す。
2次元画像において互いに重なっているノード像56が無くなった場合はステップS46に進む。ステップS46において、画像処理部26は、ステップS34で生成した2次元画像をディスプレイ12に表示させる。
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
例えば、情報処理装置10のプロセッサ20が有する各機能は、ユーザが装着又は保持して使用する機器とは別の装置(例えばサーバなど)において実現されてもよい。この場合、サーバなどの当該装置は、ユーザが装着又は保持して使用する機器から、当該機器の位置や姿勢などを示す情報を受信して仮想視点や視線方向を設定する。また、当該装置の画像処理部26により生成された2次元画像を当該機器に送信することで、これを当該機器のディスプレイに表示させる。
10 情報処理装置、12 ディスプレイ、14 加速度センサ、16 入力インターフェース、18 メモリ、20 プロセッサ、22 オブジェクト制御部、24 視点設定部、26 画像処理部、40 仮想3次元空間、42 ネットワークグラフ、44 ノード、46 エッジ、50 仮想視点、52 視線方向、54 仮想スクリーン、56 ノード像、58 ラベル像、60 ハイライト像。
Claims (12)
- プロセッサを備え、
前記プロセッサは、
それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置し、
前記仮想3次元空間に仮想視点及び視線方向を設定し、
前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影して、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成し、
前記2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像又は前記第2仮想オブジェクト像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、
ことを特徴とする情報処理装置。 - 前記強調表示として、前記第1仮想オブジェクト像のサイズを拡大して表示する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記プロセッサは、
前記2次元画像のうち、前記視線方向を基準とした所定の視野角以内の領域である対象領域内において、前記第1仮想オブジェクト像が前記第2仮想オブジェクト像により隠されているか否かを判定する、
ことを特徴とする請求項1に記載の情報処理装置。 - 前記プロセッサは、
前記仮想オブジェクト像に付随して配置される、当該仮想オブジェクト像に対応する仮想オブジェクトに関連付けられた情報の属性を示す属性像を含む2次元画像を生成し、
前記2次元画像において、前記第1仮想オブジェクト像に付随する前記属性像が、前記第2仮想オブジェクト像又は前記第2仮想オブジェクト像に付随する前記属性像により隠されている場合に、前記第1仮想オブジェクト像、前記第1仮想オブジェクト像に付随する前記属性像、前記第2仮想オブジェクト像、又は、前記第2仮想オブジェクト像に付随する前記属性像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、
ことを特徴とする請求項1に記載の情報処理装置。 - プロセッサを備え、
前記プロセッサは、
それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置し、
前記仮想3次元空間に仮想視点及び視線方向を設定し、
前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影して、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成し、
前記2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像及び前記第2仮想オブジェクト像の両方をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、
ことを特徴とする情報処理装置。 - 前記プロセッサは、前記仮想3次元空間における前記仮想視点の高さが閾値高さ以上である場合、前記第1仮想オブジェクト又は前記第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間の鉛直方向に移動させる、
ことを特徴とする請求項5に記載の情報処理装置。 - 前記プロセッサは、前記仮想3次元空間における前記仮想視点の高さが閾値高さ未満である場合、前記第1仮想オブジェクト又は前記第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間の水平方向に移動させる、
ことを特徴とする請求項5又は6に記載の情報処理装置。 - 前記プロセッサは、
前記ユーザからの指示に応じて、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、
ことを特徴とする請求項5に記載の情報処理装置。 - 前記プロセッサは、
前記2次元画像のうち、前記視線方向を基準とした所定の視野角以内の領域である対象領域内において、前記第1仮想オブジェクト像が前記第2仮想オブジェクト像により隠されているか否かを判定する、
ことを特徴とする請求項5に記載の情報処理装置。 - 前記プロセッサは、
前記仮想オブジェクト像に付随して配置される、当該仮想オブジェクト像に対応する仮想オブジェクトに関連付けられた情報の属性を示す属性像を含む2次元画像を生成し、
前記2次元画像において、前記第1仮想オブジェクト像に付随する前記属性像が、前記第2仮想オブジェクト像又は前記第2仮想オブジェクト像に付随する前記属性像により隠されている場合に、前記第1仮想オブジェクト像、前記第1仮想オブジェクト像に付随する前記属性像、前記第2仮想オブジェクト像、及び、前記第2仮想オブジェクト像に付随する前記属性像をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、
ことを特徴とする請求項5に記載の情報処理装置。 - コンピュータに、
それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置させ、
前記仮想3次元空間に仮想視点及び視線方向を設定させ、
前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影させて、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成させ、
前記2次元画像において、第1仮想オブジェクト像が第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像又は前記第2仮想オブジェクト像の少なくとも1つが強調表示された前記2次元画像、又は、前記第2仮想オブジェクト像が透過表示された前記2次元画像をディスプレイに表示させる、
ことを特徴とする情報処理プログラム。 - コンピュータに、
それぞれが所定の情報に関連付けられている複数の仮想オブジェクトを仮想3次元空間に配置させ、
前記仮想3次元空間に仮想視点及び視線方向を設定させ、
前記仮想視点及び前記視線方向に基づいて、前記複数の仮想オブジェクトを仮想スクリーン上に投影させて、複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む2次元画像を生成させ、
前記2次元画像において、第1仮想オブジェクトに対応する第1仮想オブジェクト像が第2仮想オブジェクトに対応する第2仮想オブジェクト像により隠されている場合に、前記第1仮想オブジェクト像及び前記第2仮想オブジェクト像の両方をユーザが視認可能なように、前記第1仮想オブジェクト又は第2仮想オブジェクトの少なくとも1つを前記仮想3次元空間において移動させ、移動後の複数の仮想オブジェクトに対応する複数の仮想オブジェクト像を含む前記2次元画像をディスプレイに表示させる、
ことを特徴とする情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022009729A JP2023108550A (ja) | 2022-01-25 | 2022-01-25 | 情報処理装置及び情報処理プログラム |
US17/896,487 US20230237732A1 (en) | 2022-01-25 | 2022-08-26 | Information processing apparatus and non-transitory computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022009729A JP2023108550A (ja) | 2022-01-25 | 2022-01-25 | 情報処理装置及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023108550A true JP2023108550A (ja) | 2023-08-04 |
Family
ID=87314479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022009729A Pending JP2023108550A (ja) | 2022-01-25 | 2022-01-25 | 情報処理装置及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230237732A1 (ja) |
JP (1) | JP2023108550A (ja) |
-
2022
- 2022-01-25 JP JP2022009729A patent/JP2023108550A/ja active Pending
- 2022-08-26 US US17/896,487 patent/US20230237732A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230237732A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3050030B1 (en) | Method for representing points of interest in a view of a real environment on a mobile device and mobile device therefor | |
KR20200035103A (ko) | 시선-기반 사용자 상호작용 | |
US9779702B2 (en) | Method of controlling head-mounted display system | |
JP7005161B2 (ja) | 電子機器及びその制御方法 | |
EP1780633A2 (en) | Three-dimensional motion graphic user interface and apparatus and method for providing three-dimensional motion graphic user interface | |
EP2814000A1 (en) | Image processing apparatus, image processing method, and program | |
CA2917196A1 (en) | Display control apparatus and computer-readable recording medium | |
JP2018005477A (ja) | 表示制御プログラム、表示制御方法および表示制御装置 | |
US10802784B2 (en) | Transmission of data related to an indicator between a user terminal device and a head mounted display and method for controlling the transmission of data | |
WO2016199736A1 (ja) | 仮想空間位置指定方法、プログラム、プログラムを記録した記録媒体、および、装置 | |
JP7392105B2 (ja) | 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体 | |
WO2019163129A1 (ja) | 仮想物体表示制御装置、仮想物体表示システム、仮想物体表示制御方法、及び仮想物体表示制御プログラム | |
US20230126214A1 (en) | User interface | |
JP2019174984A (ja) | 表示制御装置、その制御方法、プログラム及び記憶媒体 | |
JP2019146155A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP7005160B2 (ja) | 電子機器及びその制御方法 | |
KR102278229B1 (ko) | 전자기기 및 그 제어 방법 | |
JP2023108550A (ja) | 情報処理装置及び情報処理プログラム | |
US10339722B2 (en) | Display device and control method therefor | |
JP6371547B2 (ja) | 画像処理装置、方法、および、プログラム | |
JP6443505B2 (ja) | プログラム、表示制御装置及び表示制御方法 | |
JP7118383B1 (ja) | 表示システム、表示方法、及び表示プログラム | |
WO2024199386A1 (zh) | 用于待显示对象的显示方法、电子设备和介质 | |
WO2024199393A1 (zh) | 用于待显示对象的显示方法、装置、电子设备和介质 | |
US20240203012A1 (en) | Electronic device for generating three-dimensional photo based on images acquired from plurality of cameras, and method therefor |