JP2016110319A - 表示制御装置、表示制御方法およびプログラム - Google Patents
表示制御装置、表示制御方法およびプログラム Download PDFInfo
- Publication number
- JP2016110319A JP2016110319A JP2014245935A JP2014245935A JP2016110319A JP 2016110319 A JP2016110319 A JP 2016110319A JP 2014245935 A JP2014245935 A JP 2014245935A JP 2014245935 A JP2014245935 A JP 2014245935A JP 2016110319 A JP2016110319 A JP 2016110319A
- Authority
- JP
- Japan
- Prior art keywords
- display control
- control unit
- roll angle
- display
- field
- 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
Images
Classifications
-
- 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
-
- 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/012—Head tracking input arrangements
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0492—Change of orientation of the displayed image, e.g. upside-down, mirrored
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/14—Solving problems related to the presentation of information to be displayed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Optics & Photonics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】ユーザの視野に表示されるオブジェクトの検索性を向上させる。【解決手段】表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、表示制御装置が提供される。【選択図】図1
Description
本技術は、表示制御装置、表示制御方法およびプログラムに関する。
近年、ユーザの視野に対して現実空間に対応するオブジェクトを付加する拡張現実(AR:Augmented Reality)と呼ばれる技術が知られている。例えば、ユーザが視認している外界に存在する対象物に関するオブジェクトを表示することが可能なヘッドマウントディスプレイが開示されている(特許文献1参照)。
しかし、ユーザの視野に表示されるオブジェクトの検索性を向上させることが求められる。そこで、本技術では、ユーザの視野に表示されるオブジェクトの検索性を向上させることが可能な技術を提案する。
本技術によれば、表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、表示制御装置が提供される。
また、本技術によれば、表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させることを備え、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、表示制御方法が提供される。
また、本技術によれば、コンピュータを、表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、表示制御装置として機能させるためのプログラムが提供される。
以上説明したように本技術によれば、ユーザの視野に表示されるオブジェクトの検索性を向上させることが可能である。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
以下、本技術に係る実施形態を、図面を参照しながら説明する。本実施形態では、画像表示装置としてヘッドマウントディスプレイに本技術を適用した例について説明する。
<第1の実施形態>
図1は、本技術の一実施形態に係るヘッドマウントディスプレイ(以下「HMD」と称する。)の機能を説明する概略図である。まず図1を参照して、本実施形態に係るHMDの基本的な機能の概要について説明する。
図1は、本技術の一実施形態に係るヘッドマウントディスプレイ(以下「HMD」と称する。)の機能を説明する概略図である。まず図1を参照して、本実施形態に係るHMDの基本的な機能の概要について説明する。
ここで図1において、X軸方向及びY軸方向は相互に直交する水平方向を示し、Z軸方向は鉛直軸方向を示している。これらXYZ直交座標系は、ユーザの属する実空間の座標系(実3次元座標系)を表し、X軸の矢印は北方向を示し、Y軸の矢印は東方向を示している。またZ軸の矢印は重力方向を示している。
[HMDの機能の概要]
本実施形態のHMD100は、ユーザUの頭部に装着され、ユーザUの実空間の視野V(表示視野)に仮想的な画像を表示することが可能に構成される。視野Vに表示される画像には、当該視野Vに存在する所定の対象物A1,A2,A3,A4に関連する情報が含まれる。所定の対象物としては、例えば、ユーザUの周囲に存在する風景、店舗、商品等が該当する。
本実施形態のHMD100は、ユーザUの頭部に装着され、ユーザUの実空間の視野V(表示視野)に仮想的な画像を表示することが可能に構成される。視野Vに表示される画像には、当該視野Vに存在する所定の対象物A1,A2,A3,A4に関連する情報が含まれる。所定の対象物としては、例えば、ユーザUの周囲に存在する風景、店舗、商品等が該当する。
HMD100は、HMDを装着したユーザUを包囲する仮想上のワールド座標系に対応付けられた画像(以下、オブジェクトともいう。)B1,B2,B3,B4を予め記憶する。ワールド座標系は、ユーザの属する実空間と等価な座標系であって、ユーザUの位置及び所定の軸方向を基準とした対象物A1〜A4の位置を定める。本実施形態においてワールド座標は、鉛直軸を軸心とする円筒座標C0が採用されるが、これ以外にユーザUを中心とする天球座標等の他の3次元座標が採用されてもよい。
円筒座標C0の半径R、高さHは任意に設定可能である。ここでは、半径Rは、ユーザUから対象物A1〜A4までの距離よりも短く設定されるが、上記距離よりも長くてもよい。また高さHは、HMD100を介して提供されるユーザUの視野Vの高さ(縦方向の長さ)Hv以上の大きさに設定される。
オブジェクトB1〜B4は、そのワールド座標系に存在する対象物A1〜A4に関連する情報を表示する画像であって、文字や絵柄等を含む画像であってもよいし、アニメーション画像であってもよい。またオブジェクトは、2次元画像であってもよいし、3次元画像であってもよい。さらにオブジェクトの形状は、矩形、円形その他の幾何学的形状であってもよく、オブジェクトの種類によって適宜設定可能である。
円筒座標C0上におけるオブジェクトB1〜B4の座標位置は、例えば、対象物A1〜A4を注視するユーザの目線Lと円筒座標C0との交差位置にそれぞれ対応付けられる。図示の例では、オブジェクトB1〜B4各々の中心位置を上記交差位置に一致させたが、これに限られず、オブジェクトの周縁の一部(例えば四隅の一部)を上記交差位置に一致させてもよい。あるいは、オブジェクトB1〜B4の座標位置が上記交差位置から離れた任意の位置に対応付けられてもよい。
円筒座標C0は、北方向を0°とした鉛直軸周りの角度を表す周方向の座標軸(θ)と、ユーザUの水平方向の目線Lhを基準とした上下方向の角度を表す高さ方向の座標軸(h)とを有する。座標軸(θ)は、東周りを正方向とし、座標軸(h)は、俯角を正方向、仰角を負方向としている。
後述するように、HMD100は、ユーザUの視点方向を検出するための検出部を有しており、当該検出部の出力に基づいて、ユーザUの視野Vが円筒座標C0上のどの領域に対応するかを判定する。そしてHMD100は、視野Vを形成するxy座標系の対応領域に何れかのオブジェクト(例えばオブジェクトB1)が存在するときは、上記対応領域にオブジェクトB1を表示(描画)する。
以上のように本実施形態のHMD100は、実空間の対象物A1に重畳してオブジェクトB1を視野Vに表示することで、ユーザUに対して対象物A1に関連する情報を提供する。またHMD100は、ユーザUの視点の方位あるいは方向に応じて、所定の対象物A1〜A4に関するオブジェクト(B1〜B4)をユーザUに提供することができる。
続いて、HMD100の詳細について説明する。図2は、HMD100を示す全体図であり、図3は、その構成を示すブロック図である。
[HMDの構成]
HMD100は、表示部10と、表示部10の姿勢を検出する検出部20と、表示部10の駆動を制御する制御ユニット30とを有する。本実施形態においてHMD100は、ユーザに実空間の視野Vを提供可能なシースルー型のHMDで構成されている。
HMD100は、表示部10と、表示部10の姿勢を検出する検出部20と、表示部10の駆動を制御する制御ユニット30とを有する。本実施形態においてHMD100は、ユーザに実空間の視野Vを提供可能なシースルー型のHMDで構成されている。
(表示部)
表示部10は、ユーザUの頭部に装着可能に構成される。表示部10は、第1及び第2の表示面11R,11Lと、第1及び第2の画像生成部12R,12Lと、支持体13とを有する。
表示部10は、ユーザUの頭部に装着可能に構成される。表示部10は、第1及び第2の表示面11R,11Lと、第1及び第2の画像生成部12R,12Lと、支持体13とを有する。
第1及び第2の表示面11R,11Lは、それぞれユーザUの右眼及び左眼に実空間(外界視野)を提供可能な透明性を有する光学素子で構成される。第1及び第2の画像生成部12R,12Lは、それぞれ第1及び第2の表示面11R,11Lを介してユーザUへ提示される画像を生成可能に構成される。支持体13は、表示面11R,11L及び画像生成部12R,12Lを支持し、第1及び第2の表示面11L,11RがユーザUの右眼及び左眼にそれぞれ対向するようにユーザの頭部に装着されることが可能な適宜の形状を有する。
以上のように構成される表示部10は、ユーザUに対して、表示面11R,11Lを介して実空間に所定の画像(あるいは虚像)が重畳された視野Vを提供することが可能に構成される。この場合、右眼用の円筒座標C0と左眼用の円筒座標C0とがそれぞれ設定され、各円筒座標に描画されたオブジェクトが表示面11R,11Lに投影される。
(検出部)
検出部20は、表示部10の少なくとも一軸周りの方位あるいは姿勢変化を検出することが可能に構成される。本実施形態において検出部20は、X,Y及びZ軸周りの表示部10の方位あるいは姿勢変化をそれぞれ検出するように構成されている。
検出部20は、表示部10の少なくとも一軸周りの方位あるいは姿勢変化を検出することが可能に構成される。本実施形態において検出部20は、X,Y及びZ軸周りの表示部10の方位あるいは姿勢変化をそれぞれ検出するように構成されている。
ここで、表示部10の方位とは、典型的には、表示部の正面方向を意味する。本実施形態では、表示部10の方位は、ユーザUの顔の向きと定義される。
検出部20は、角速度センサ、加速度センサ等のモーションセンサ、あるいはこれらの組み合わせによって構成することができる。この場合、検出部20は、角速度センサ及び加速度センサの各々を3軸方向に配置したセンサユニットで構成されてもよいし、各軸に応じて使用するセンサを異ならせてもよい。表示部10の姿勢変化、変化の方向及びその変化の量等は、例えば角速度センサの出力の積分値を用いることができる。
また、鉛直軸(Z軸)周りの表示部10の方位の検出には、地磁気センサが採用されてもよい。あるいは、地磁気センサと上記モーションセンサとが組み合わされてもよい。これにより精度の高い方位あるいは姿勢変化の検出が可能となる。
検出部20は、表示部10の適宜の位置に配置されている。検出部20の位置は特に限定されず、例えば画像生成部12R,12Lのいずれか一方、あるいは支持体13の一部に配置される。
(制御ユニット)
制御ユニット30(第1の制御ユニット)は、検出部20の出力に基づいて、表示部10(画像生成部12R,12L)の駆動を制御する制御信号を生成する。本実施形態において制御ユニット30は、接続ケーブル30aを介して表示部10と電気的に接続されている。勿論これに限られず、制御ユニット30は表示部10と無線通信回線を通じて接続されてもよい。
制御ユニット30(第1の制御ユニット)は、検出部20の出力に基づいて、表示部10(画像生成部12R,12L)の駆動を制御する制御信号を生成する。本実施形態において制御ユニット30は、接続ケーブル30aを介して表示部10と電気的に接続されている。勿論これに限られず、制御ユニット30は表示部10と無線通信回線を通じて接続されてもよい。
図3に示すように制御ユニット30は、CPU301と、メモリ302(記憶部)と、送受信部303と、内部電源304と、入力操作部305とを有する。
CPU301は、HMD100全体の動作を制御する。メモリ302は、ROM(Read Only Memory)及びRAM(Random Access Memory)等を有し、CPU301によるHMD100の制御を実行するためのプログラムや各種パラメータ、表示部10で表示するべき画像(オブジェクト)、その他必要なデータを記憶する。送受信部303は、後述する携帯情報端末200との通信のためのインターフェースを構成する。内部電源304は、HMD100の駆動に必要な電力を供給する。
入力操作部305は、ユーザ操作によって表示部10で表示される画像を制御するためのものである。入力操作部305は、メカニカルスイッチで構成されてもよいし、タッチセンサで構成されてもよい。入力操作部305は、表示部10に設けられてもよい。
HMD100はさらに、スピーカ等の音響出力部、カメラ等を備えていてもよい。この場合、上記音声出力部及びカメラは、典型的には表示部10に設けられる。さらに制御ユニット30には、表示部10の入力操作画面等を表示する表示デバイスが設けられてもよい。この場合、入力操作部305は、当該表示デバイスに設けられたタッチパネルで構成されてもよい。
(携帯情報端末)
携帯情報端末200(第2の制御ユニット)は、制御ユニット30と無線通信回線を介して相互に通信可能に構成されている。携帯情報端末200は、表示部10で表示するべき画像を取得する機能と、取得した画像を制御ユニット30へ送信する機能とを有する。携帯情報端末200は、HMD100と有機的に組み合わされることで、HMDシステムを構築する。
携帯情報端末200(第2の制御ユニット)は、制御ユニット30と無線通信回線を介して相互に通信可能に構成されている。携帯情報端末200は、表示部10で表示するべき画像を取得する機能と、取得した画像を制御ユニット30へ送信する機能とを有する。携帯情報端末200は、HMD100と有機的に組み合わされることで、HMDシステムを構築する。
携帯情報端末200は、表示部10を装着するユーザUによって携帯され、パーソナルコンピュータ(PC:Personal Computer)、スマートフォン、携帯電話機、タブレットPC、PDA(Personal Digital Assistant)等の情報処理装置で構成されるが、HMD100専用の端末装置であってもよい。
図3に示すように携帯情報端末200は、CPU201と、メモリ202と、送受信部203と、内部電源204と、表示部205と、カメラ206と、位置情報取得部207とを有する。
CPU201は、携帯情報端末200全体の動作を制御する。メモリ202は、ROM及びRAM等を有し、CPU201による携帯情報端末200の制御を実行するためのプログラムや各種パラメータ、制御ユニット30へ送信される画像(オブジェクト)、その他必要なデータを記憶する。内部電源204は、携帯情報端末200の駆動に必要な電力を供給する。
送受信部203は、WiFi(Wireless Fidelity)等の無線LAN(IEEE802.11等)や移動通信用の3Gや4Gのネットワークを用いて、サーバNや制御ユニット30、近隣の他の携帯情報端末等と通信する。携帯情報端末200は、送受信部203を介してサーバNから、制御ユニット30へ送信するべき画像(オブジェクト)やそれを表示するためのアプリケーションをダウンロードし、メモリ202へ格納する。
サーバNは、典型的にはCPU、メモリ等を含むコンピュータで構成され、ユーザUの要求に応じて、あるいはユーザUの意図に依らず自動的に、所定の情報を携帯情報端末200へ送信する。
表示部205は、例えばLCDやOLEDで構成され、各種メニューやアプリケーションのGUI等を表示する。典型的には、表示部205は、タッチパネルと一体とされており、ユーザのタッチ操作を受け付け可能である。携帯情報端末200は、表示部205のタッチ操作によって制御ユニット30へ所定の操作信号を入力することが可能に構成されている。
位置情報取得部207は、典型的にはGPS(Global Positioning System)受信機を含む。携帯情報端末200は、位置情報取得部207を用いてユーザU(表示部10)の現在位置(経度、緯度、高度)を測位し、サーバNから必要な画像(オブジェクト)を取得することが可能に構成される。すなわちサーバNは、ユーザの現在位置に関する情報を取得し、その位置情報に応じた画像データやアプリケーションソフトウェア等を携帯情報端末200へ送信する。
(制御ユニットの詳細)
次に、制御ユニット30の詳細について説明する。
次に、制御ユニット30の詳細について説明する。
図4は、CPU301の機能ブロック図である。CPU301は、座標設定部311と、画像管理部312と、座標判定部313と、表示制御部314とを有する。CPU301は、メモリ302に格納されたプログラムに従って、これら座標設定部311、画像管理部312、座標判定部313及び表示制御部314における処理を実行する。
座標設定部311は、ユーザU(表示部10)を包囲する3次元座標を設定する処理を実行するように構成される。本例では、上記3次元座標は、鉛直軸Azを中心とする円筒座標C0(図1参照)が用いられる。座標設定部311は、円筒座標C0の半径Rと高さHをそれぞれ設定する。座標設定部311は、典型的には、ユーザUに提示するべきオブジェクトの数や種類等に応じて円筒座標C0の半径R及び高さHを設定する。
円筒座標C0の半径Rは固定値でもよいが、表示するべき画像の大きさ(ピクセルサイズ)等に応じて任意に設定可能な可変値であってもよい。円筒座標C0の高さHは、表示部10によってユーザUへ提供される視野Vの縦方向(垂直方向)の高さHv(図1参照)の例えば1倍以上3倍以下の大きさに設定される。高さHの上限は、Hvの3倍に限られず、Hvの3倍を超える大きさであってもよい。
図5Aは、視野Vの高さHvと同一の高さH1を有する円筒座標C0を示している。図5Bは、視野Vの高さHvの3倍の高さH2を有する円筒座標C0を示している。
図6A及び図6Bは、円筒座標C0を展開して示す模式図である。上述のように円筒座標C0は、北方向を0°とした鉛直軸周りの角度を表す周方向の座標軸(θ)と、ユーザUの水平方向の目線Lhを基準とした上下方向の角度を表す高さ方向の座標軸(h)とを有する。座標軸(θ)は、東周りを正方向とし、座標軸(h)は、俯角を正方向、仰角を負方向としている。高さhは、視野Vの高さHvの大きさを100%としたときの大きさを表し、円筒座標C0の原点OP1は、北方向の方位(0°)とユーザUの水平方向の目線Lh(h=0%)との交点に設定される。
座標設定部311は、表示部10を方位する3次元座標における視野Vの一軸方向に沿った表示領域を制限することが可能な領域制限部としての機能を有する。本実施形態において座標設定部311は、表示部10を包囲する円筒座標C0における視野Vの高さ方向の視野領域(Hv)を制限する。具体的には、座標設定部311は、高さ(H)の規定値が、視野Vの高さHvよりも大きいとき、当該円筒座標の高さ(H)を視野Vの高さ方向の領域に応じて制限する。さらに座標設定部311は、ユーザUによる操作に応じて、例えば、円筒座標の高さをH2(図5B)からH1(図5A)に制限する。なお、図5Aおよび図6Aに示したように、円筒座標の高さ(H1)を視野Vの高さと同じにした場合、−90°〜+90°の仰角において見える画像(オブジェクト)は、仰角(ピッチ角)0°において見える画像(オブジェクト)と同じになり、画像(オブジェクト)の検索性および視認性が向上され得る。このとき、違和感が少なく画像(オブジェクト)が見えるのは、−60°〜+60°の仰角であり得る。また、図5Bおよび図6Bに示したように、円筒の高さ(H)を視野Vの高さの3倍にした場合、視野Vの上辺が円筒の高さ(H2)に達する仰角までは、画像(オブジェクト)が動き、それを超える仰角からは、視野Vの上辺が円筒の高さ(H2)に達したときと同じ画像(オブジェクト)が見えるようにしてもよい。
画像管理部312は、メモリ302に格納された画像を管理する機能を有し、例えば、表示部10を介して表示される単数又は複数の画像をメモリ302へ格納し、及び、メモリ302に格納された画像を選択的に削除する処理を実行するように構成される。メモリ302へ格納される画像は、携帯情報端末200から送信される。画像管理部312はまた、送受信部303を介して携帯情報端末200に対して画像の送信を要求する。
メモリ302は、視野Vに表示すべき単数又は複数の画像(オブジェクト)を円筒座標C0に対応付けて記憶することができるように構成される。すなわちメモリ302は、図1に示した円筒座標C0上の個々のオブジェクトB1〜B4を円筒座標C0上の座標位置とともに記憶する。
図7に示すように、円筒座標系(θ,h)と直交座標系(X,Y,Z)とは、X=rcosθ、Y=rsinθ、Z=h、の関係を有する。図1に示したように視野Vの方位あるいは姿勢に対応して表示すべき個々のオブジェクトB1〜B4は、それぞれ固有の円筒座標C0上の座標領域を占めており、その領域内の特定の座標位置P(θ,h)とともにメモリ302に格納される。
円筒座標C0上におけるオブジェクトB1〜B4の座標(θ,h)は、直交座標系(X,Y,Z)で各々定義される対象物A1〜A4の位置とユーザの位置とを結ぶ直線と、円筒座標C0の円筒面との交点における円筒座標系の座標に対応付けられる。すなわちオブジェクトB1〜B4の座標は、それぞれ、実3次元座標から円筒座標C0に変換された対象物A1〜A4の座標に相当する。このようなオブジェクトの座標変換は、例えば、画像管理部312において実行され、当該座標位置とともに各オブジェクトがメモリ302へ格納される。ワールド座標系に円筒座標C0が採用されることにより、オブジェクトB1〜B4を平面的に描画することができる。
オブジェクトB1〜B4の座標位置は、各オブジェクトB1〜B4の表示領域内であればどの位置に設定されてもよく、1つのオブジェクトにつき特定の1点(例えば中心位置)に設定されてもよいし、2点以上(例えば対角の2点、あるいは四隅の点)に設定されてもよい。
また図1に示したように、オブジェクトB1〜B4の座標位置が対象物A1〜A4を注視するユーザの目線Lと円筒座標C0との交差位置に対応付けられたとき、ユーザUは、オブジェクトB1〜B4を対象物A1〜A4と重なる位置で視認する。これに代えて、オブジェクトB1〜B4の座標位置が上記交差位置から離れた任意の位置に対応付けられてもよい。これにより対象物A1〜A4に対してオブジェクトB1〜B4を所望の位置に表示あるいは描画することができる。
座標判定部313は、検出部20の出力に基づいてユーザUの視野Vが円筒座標C0上のどの領域に対応するかを判定する処理を実行するように構成される。すなわち、視野Vは、ユーザU(表示部10)の姿勢変化によって円筒座標C0上を移動し、その移動方向や移動量は、検出部20の出力に基づいて算出される。座標判定部313は、検出部20の出力に基づいて表示部10の移動方向及び移動量を算出し、円筒座標C0上のどの領域に視野Vが属するかを判定する。
図8は、円筒座標C0上における視野VとオブジェクトB1〜B4との関係を概念的に示す円筒座標C0の展開図である。視野Vは略矩形状であり、その左上の隅部を原点OP2とするxy座標(ローカル座標)を有する。x軸は、原点OP2から水平方向に延びる軸であり、y軸は、原点OP2から垂直方向に延びる軸である。そして座標判定部313は、視野Vの対応領域にオブジェクトB1〜B4の何れかが存在するかどうかを判定する処理を実行するように構成される。
表示制御部314は、検出部20の出力(すなわち座標判定部313の判定結果)に基づいて表示部10の方位に対応する円筒座標C0上のオブジェクトを視野Vに表示(描画)する処理を実行するように構成される。例えば図8に示すように、視野Vの現在の方位が、円筒座標C0上のオブジェクトB1,B2の表示領域にそれぞれ重なる場合、それらの重なる領域B10,B20に相当する画像を視野Vに表示する(ローカルレンダリング:Local Rendering)。
図9A及び図9Bは、円筒座標C0(ワールド座標)から視野V(ローカル座標)への変換方法を説明する図である。
図9Aに示すように円筒座標C0上における視野Vの基準点の座標を(θv,hv)とし、視野Vの領域内に位置するオブジェクトBの基準点の座標を(θ0,h0)とする。視野V及びオブジェクトBの基準点はどの点に設定されてもよく、本例では矩形状である視野V及びオブジェクトBの左上のコーナ部に設定される。αv[°]は、ワールド座標上における視野Vの幅角度であり、その値は表示部10の設計あるいは仕様によって確定する。
表示制御部314は、円筒座標系(θ,h)をローカル座標系(x,y)に変換することで、視野VにおけるオブジェクトBの表示位置を決定する。図9Bに示すようにローカル座標系における視野Vの高さ及び幅をそれぞれHv及びWvとし、ローカル座標系(x,y)におけるオブジェクトBの基準点の座標を(x0,y0)とすると、変換式は、以下のとおりである。
x0=(θ0−θv)・Wv/αv …(1)
y0=(h0−hv)・Hv/100 …(2)
x0=(θ0−θv)・Wv/αv …(1)
y0=(h0−hv)・Hv/100 …(2)
表示制御部314は、典型的には、表示部10の方位あるいは姿勢の変化に追従して、視野V内でオブジェクトBの表示位置を変化させる。この制御は、視野VにオブジェクトBの少なくとも一部が存在する限り継続される。
一方、近年においてはHMDの小型化に伴ってその表示領域が狭くなる傾向にある。またシースルー型ヘッドマウントディスプレイにおいては、例えば、シースルー領域を確保しつつ、情報表示領域を制限したい場合がある。このような場合、上述のように表示部10の方位あるいは姿勢の変化に追従して視野V内でオブジェクトBの表示位置が変化すると、オブジェクトBが視野Vに入った状態を保つことが困難になるおそれがある。このような問題を解決するため、本実施形態のHMD100は以下に説明するようなオブジェクト表示固定機能を有する。
<オブジェクト表示固定機能>
(1)ノンストリクト(Non Strict)属性の導入
表示制御部314は、表示部10の方位あるいは姿勢が所定角度以上変化したときは、上記方位あるいは姿勢の変化に応じてオブジェクトを視野V内で移動させ、上記方位あるいは姿勢の変化が上記所定角度未満のときは、視野Vにおけるオブジェクトの表示位置を固定する処理を実行可能に構成される。
(1)ノンストリクト(Non Strict)属性の導入
表示制御部314は、表示部10の方位あるいは姿勢が所定角度以上変化したときは、上記方位あるいは姿勢の変化に応じてオブジェクトを視野V内で移動させ、上記方位あるいは姿勢の変化が上記所定角度未満のときは、視野Vにおけるオブジェクトの表示位置を固定する処理を実行可能に構成される。
本実施形態では、オブジェクトにノンストリクト属性が導入されてもよい。すなわち、オブジェクトBがワールド座標系(円筒座標C0)の1ヶ所に固定されるのではなく、ユーザUが見ている方向がある角度範囲内の場合、表示部10のローカル座標系(x,y)にオブジェクトが固定表示されてもよい。このような処理を実行することにより、視野Vにオブジェクトが入った状態を容易に維持することができる。したがって、ユーザUの鉛直軸周り又は水平軸周りの不用意な姿勢変化に起因するオブジェクトの移動を規制して、オブジェクトの視認性を高めることができる。
上記所定角度としては、鉛直軸(Z軸)周りの角度でもよいし、水平軸(X軸及び/又はY軸)まわりの角度であってもよいし、それらの双方であってもよい。上記所定角度の値は適宜設定可能であり、例えば±15°である。上記所定角度は、鉛直軸周りの角度(第1の所定角度)及び水平軸周り(第2の所定角度)で同一であってもよいし、相互に異なっていてもよい。
(2)第1のグラブ機能
表示制御部314は、検出部20の出力変化が所定時間にわたって所定以下のときは、オブジェクトBを視野Vの所定位置に移動させる処理を実行可能に構成される。
表示制御部314は、検出部20の出力変化が所定時間にわたって所定以下のときは、オブジェクトBを視野Vの所定位置に移動させる処理を実行可能に構成される。
本実施形態では、所定時間にわたって検出部20の出力が変化しないときは視野Vに表示されたオブジェクトをユーザが参照している蓋然性が高いため、そのオブジェクトを視野Vの所定位置に移動させることでオブジェクトの視認性を高めるようにしてもよい。
上記所定時間は特に限定されず、例えば5秒程度に設定される。上記所定位置も特に限定されず、例えば視野Vの中央部や隅部、あるいは上下左右の何れか偏った位置とされる。更に、移動後のオブジェクトは拡大等の誇張表示がされてもよい。
当該機能は、例えば、オブジェクトが視野Vの中心に位置する状態で、所定時間検出部20の出力変化が認められない場合に、当該オブジェクトBを視野Vのローカル座標系(x,y)の所定位置に固定表示するようにしてもよい。この場合、検出部20の出力が所定の値を超えたとき、当該オブジェクトの固定表示機能が解除される。このときの検出部20の出力値は、上述した表示部10の所定の軸周りへの所定角度以上の姿勢変化に相当する出力変化量であってもよいし、それ以外の出力変化量であってもよい。
(3)第2のグラブ機能
表示制御部314は、ユーザUの操作により生成される所定信号の入力を検出したときは、オブジェクトを視野Vの所定位置に移動させる処理を実行可能に構成される。このような構成においても上述と同様にオブジェクトの視認性を高めることができるとともに、ユーザの意図に即して画像の表示を制御することが可能となる。
表示制御部314は、ユーザUの操作により生成される所定信号の入力を検出したときは、オブジェクトを視野Vの所定位置に移動させる処理を実行可能に構成される。このような構成においても上述と同様にオブジェクトの視認性を高めることができるとともに、ユーザの意図に即して画像の表示を制御することが可能となる。
この処理は、例えば、オブジェクトを視野Vの中心に合わせて、入力操作部305あるいは携帯情報端末200へ所定の入力操作を行うことで、オブジェクトが視野Vのローカル座標系(x,y)に固定される。そして入力操作部305等を再度操作することで、オブジェクトがワールド座標系に復帰し、オブジェクトの固定表示機能が解除される。
(4)顔ぶれ補正機能
表示制御部314は、視野Vの所定位置にオブジェクトが表示されている状態において、検出部20の出力変化が所定周波数以上のときは、検出部20の出力のうち上記所定周波数以上の周波数成分を無効とする処理を実行可能に構成される。
表示制御部314は、視野Vの所定位置にオブジェクトが表示されている状態において、検出部20の出力変化が所定周波数以上のときは、検出部20の出力のうち上記所定周波数以上の周波数成分を無効とする処理を実行可能に構成される。
視野V内のオブジェクトが表示部10の方位あるいは姿勢変化に追従して移動すると、ユーザUの細かい顔のぶれにも追従してしまい、オブジェクトの視認性が悪化するおそれがある。この問題を防止するために、所定以上の高周波成分に対してはオブジェクトを表示部10の姿勢変化に追従させず、所定未満の低周波成分に対してはオブジェクトの表示位置を視野V(ローカル座標系)に固定するようにしてもよい。上記所定周波数として、例えば、ユーザの顔ぶれに相当する周波数に設定される。これにより、ユーザの細かい顔ぶれの影響を受けることなく、画像の視認性を確保することができる。
図10A及び図10Bは、顔ぶれ補正機能を説明する概念図である。同図において、V1はある時点におけるローカル座標系を示し、V2は、V1に対応する顔ぶれ補正座標系を示す。OP及びOP'は、V1及びV2の原点を示す。
顔ぶれ補正機能が有効とされた場合、顔ぶれ補正座標系にオブジェクトが置かれる。顔ぶれ補正座標系は、視野Vのローカル座標系(x,y)に対してPD制御で追従制御される。PD制御とは、フィードバック制御の一種であり、一般に、比例制御(Proportional Control)及び微分制御(Differential
Control)を組み合わせて設定値に収束させる制御をいう。図10A,10Bにおいて、視野Vと視野V'の間に各々接続されたバネ(p)及びダンパ(d)のうち、バネ(p)がPD制御のP成分に相当し、ダンパ(d)がPD制御のD成分に相当する。
Control)を組み合わせて設定値に収束させる制御をいう。図10A,10Bにおいて、視野Vと視野V'の間に各々接続されたバネ(p)及びダンパ(d)のうち、バネ(p)がPD制御のP成分に相当し、ダンパ(d)がPD制御のD成分に相当する。
追従制御の計算方法の一例を挙げると、ある時点tでのローカル座標系V1にある点を(x(t),y(t))とし、それと対応する顔ぶれ補正座標系V2の点を(x'(t),y'(t))とする。さらにサンプル周期(Δt)前のローカル座標系V1の点を(x(t−Δt),y(t−Δt))とし、それと対応する顔ぶれ補正座標系V2の点を(x'(t−Δt),y'(t−Δt))とする。対応点の差分を(Δx(t),Δy(t))とすると、
Δx(t)=x'(t)−x(t) …(3)
Δy(t)=y'(t)−y(t) …(4)
と表され、対応点の速度差分を(Δvx(t),Δvy(t))とすると、
Δvx(t)={Δx'(t)−Δx'(t−Δt)}−{Δx(t)−Δx(t−Δt)} …(5)
Δvy(t)={Δy'(t)−Δy'(t−Δt)}−{Δy(t)−Δy(t−Δt)} …(6)
と表される。そのときに顔ぶれ補正座標系V1'がローカル座標系V1に追従移動すべき量(Δp(t)、Δq(t))は、
Δp(t)=Px×Δx(t)+Dx×Δvx(t) …(7)
Δq(t)=Py×Δy(t)+Dy×Δvy(t) …(8)
と表される。
ここで、Px、Pyはx、yに対する差分ゲイン定数、Dx、Dyはx、yに対する速度ゲイン定数である。
Δx(t)=x'(t)−x(t) …(3)
Δy(t)=y'(t)−y(t) …(4)
と表され、対応点の速度差分を(Δvx(t),Δvy(t))とすると、
Δvx(t)={Δx'(t)−Δx'(t−Δt)}−{Δx(t)−Δx(t−Δt)} …(5)
Δvy(t)={Δy'(t)−Δy'(t−Δt)}−{Δy(t)−Δy(t−Δt)} …(6)
と表される。そのときに顔ぶれ補正座標系V1'がローカル座標系V1に追従移動すべき量(Δp(t)、Δq(t))は、
Δp(t)=Px×Δx(t)+Dx×Δvx(t) …(7)
Δq(t)=Py×Δy(t)+Dy×Δvy(t) …(8)
と表される。
ここで、Px、Pyはx、yに対する差分ゲイン定数、Dx、Dyはx、yに対する速度ゲイン定数である。
ローカル座標系V1が回転した場合でも、顔ぶれ補正座標系V1'は回転成分には追従しない(図10B)。すなわち、ユーザの前後方向の軸周りに顔を傾けた場合でもオブジェクトの傾きは規制されることになる。
上述の各オブジェクト表示固定機能(1)〜(4)は、それぞれ個別に適用されてもよいし、各機能を適宜組み合わせて適用されてもよい。例えば、上記(1)〜(3)の何れか1つと上記(4)との組み合わせが適用可能である。
<領域制限機能>
続いて、HMD100の領域制限機能について説明する。
続いて、HMD100の領域制限機能について説明する。
近年、シースルー型ヘッドマウントディスプレイにおいては、例えば、シースルー領域を確保しつつ、情報表示領域を制限したい場合がある。この場合、オブジェクト画像が視界に入りにくくなるおそれがある。そこで本実施形態では、オブジェクトの検索性を高める目的で、ワールド座標系の領域制限機能を有する。
上述のように座標設定部311は、表示部10を包囲する円筒座標C0におけるZ軸方向に沿った領域(H)を視野Vの高さ方向の領域(Hv)に応じて制限することが可能な領域制限部としての機能を有する(図5A参照)。円筒座標C0の高さHを制限することにより、ユーザの水平視野内における画像の検索性及び視認性を向上させることができる。
円筒座標C0の高さ方向の制限量は特に限定されず、本実施形態では、円筒座標C0の高さは、視野Vの高さHvと同一の高さ(H1)に制限される。表示制御部314は、当該領域制限機能が有効とされた場合には、領域制限された円筒座標C0内に各オブジェクトB1〜B4が位置するように、円筒座標系(θ,h)のうち少なくともh座標を変更してオブジェクトB1〜B4を視野Vに表示することが可能に構成される。
図11A及び図11Bは、高さH1に領域制限された円筒座標C1に対応付けられたオブジェクトB1〜B4と視野Vとの相対位置関係を示す概略図である。ユーザUは、Z軸(鉛直軸)周りの姿勢変更だけで全ての方位に対応付けられたオブジェクトB1〜B4を視認することが可能となるため、オブジェクトB1〜B4の検索性が飛躍的に向上することになる。
図11Aの例では、全てのオブジェクトB1〜B4を円筒座標C1内に配置されたが、これに限られず、必要に応じて、少なくとも1つのオブジェクトが円筒座標C1内に配置されてもよい。また円筒座標C1に配置されるオブジェクトB1〜B4の高さは特に限定されず、各々任意に設定可能である。
さらに図11の例では、オブジェクトB1〜B4の全体が円筒座標C1内に配置されたが、オブジェクトB1〜B4の少なくとも一部が視野Vに表示されるように構成されてもよい。これにより一定の方位に存在する当該画像を容易に認識することができる。この場合、入力操作部305等へのユーザUによる入力操作によって、円筒座標C1の高さH1をこれよりも大きい高さに変更可能に構成されてもよい。これにより当該オブジェクトの全体を視認することができる。
上述の領域制限機能を有効にするか無効にするかは、ユーザUによる設定によって選択可能に構成されてもよい。本実施形態のHMD100は、通常モードとして、ワールド座標系を円筒座標C1とする領域制限機能が有効な状態に設定されており、ユーザによる自発的な設定変更によって当該領域制限機能の変更(例えば高さHの変更)あるいは無効状態への切り替えが可能に構成される。
一方、制御ユニット30は、ユーザUの操作により生成される所定信号の入力を検出したときは、円筒座標における高さ方向の領域を視野Vの高さ方向の領域(Hv)に合わせて制限し、視野Vに表示されるオブジェクトをすべて視野Vにおいて同一の高さに揃える処理を実行可能に構成されてもよい。
すなわち、領域制限機能が無効状態である場合、あるいはワールド座標系が円筒座標C1以外の円筒座標に設定されている場合において、ユーザUによる入力操作部305等への入力操作によって、ワールド座標系を円筒座標C1に強制的に切り替えられる。そして更に、全てのオブジェクトB1〜B4が図11Bに示すように視野Vにおいて同一の高さで表示される位置に各オブジェクトB1〜B4が円筒座標C1内に配置される。これにより視野に表示された画像の視認性の更なる向上を図ることができる。
<画像管理機能>
続いて、HMD100の画像管理機能について説明する。
続いて、HMD100の画像管理機能について説明する。
上述のように本実施形態では、制御ユニット30へのオブジェクトデータの送信に携帯情報端末200が用いられる。携帯情報端末200は、ユーザU(表示部10)の位置を測位する位置情報取得部207と、制御ユニット30のメモリ302へ格納すべき複数のオブジェクト(B1〜B4)をサーバN等から取得可能な送受信部203等を含む画像取得部を備える。
本実施形態において制御ユニット30は、携帯情報端末200に対して、複数のオブジェクトデータの中から選択された1つ以上のオブジェクトデータの送信を要求し、携帯情報端末200は、制御ユニット30へ要求されたオブジェクトデータを送信する。
ここで、表示部10の視野Vへオブジェクトを円滑に描画する上で、携帯情報端末200と制御ユニット30との間の通信速度とレイテンシ(送信要求から実際に画像が送信されるまでの時間)が問題になる。本実施形態では、上記通信速度やレイテンシの問題を回避する目的で、制御ユニット30(本例では画像管理部312)は以下のように構成されている。
まず、制御ユニット30は、あらかじめ必要な複数のオブジェクトデータを携帯情報端末200から取得するように構成される。これにより、視野Vへのオブジェクトの描画タイミングを制御ユニット30側で制御できるようになり、通信環境等によらずにユーザUへ必要なオブジェクトを適切なタイミングで提供できるようになる。
また制御ユニット30は、円筒座標C0上の、視野Vの表示領域により近い座標位置に対応付けられたオブジェクトの優先的な送信を携帯情報端末200に対して要求するように構成される。このように視野Vへ提示される可能性の高いオブジェクトデータを優先的に取得しておくことで、視野Vへのオブジェクト表示の遅延を阻止することができる。
この際、画像管理部312は、まずワールド座標上にオブジェクトの配置位置に相当する単数又は複数のフレームを設定し、次いで、当該フレームに、優先度の高いオブジェクトを配置する処理を実行可能に構成される。なお、「ワールド座標上にフレームあるいはオブジェクトを配置する」とは、ワールド座標上にフレームあるいはオブジェクトを対応付けることを意味する。
一例として、高さH1に領域制限された円筒座標C1にオブジェクトB3及びB4を配置する手順を図12A、図12B及び図13に示す。なお以下の手順は、領域制限されていない円筒座標C0あるいは他の3次元座標で構成されたワールド座標系にも同様に適用可能である。本実施形態では、オブジェクトの画像データ(オブジェクトデータ)と当該オブジェクトの座標位置を定めるフレームデータの各々が、携帯情報端末200から制御ユニット30へ送信される。フレームデータは、オブジェクトデータよりもデータ量が少ないため、オブジェクトデータと比較して取得に時間を要さない。このため、先にフレームデータ取得の通信を行い、後から優先度順にオブジェクトデータ取得の通信を行う。
(フレーム登録フェーズ)
まず、携帯情報端末200は、制御ユニット30へオブジェクトB3を配置するためのフレームF3の送信要否を確認し(ステップ101)、これに対して制御ユニット30は、携帯情報端末200へフレームF3の送信を要求する(ステップ102)。制御ユニット30は、受信したフレームF3をメモリ302へ格納することで、フレームF3を円筒座標C1上の対応位置へ配置する。
まず、携帯情報端末200は、制御ユニット30へオブジェクトB3を配置するためのフレームF3の送信要否を確認し(ステップ101)、これに対して制御ユニット30は、携帯情報端末200へフレームF3の送信を要求する(ステップ102)。制御ユニット30は、受信したフレームF3をメモリ302へ格納することで、フレームF3を円筒座標C1上の対応位置へ配置する。
続いて、携帯情報端末200は、制御ユニット30へオブジェクトB4を配置するためのフレームF4の送信要否を確認し(ステップ103)、これに対して制御ユニット30は、携帯情報端末200へフレームF4の送信を要求する(ステップ104)。制御ユニット30は、受信したフレームF4をメモリ302へ格納することで、フレームF4を円筒座標C1上の対応位置へ配置する。全フレームデータの送信後、携帯情報端末200は制御ユニット30へオブジェクトデータの送信許可を通知する(ステップ105)。
(データ取得フェーズ)
制御ユニット30は、上記オブジェクトデータの送信許可通知をトリガにデータ取得フェーズに移行する。具体的には例えば、制御ユニット30は、検出部20の出力に基づき、現在の視野V(表示部10)の方位に最も近いフレーム(本例ではフレームF4)を判定し、そのフレームに属するオブジェクト(本例ではオブジェクトB4)の画像データの送信を要求する(ステップ106)。この要求を受けて、携帯情報端末200は、制御ユニット30へオブジェクトB4の画像データを送信する(ステップ107)。制御ユニット30は、受信したオブジェクトB4の画像データをメモリ302へ格納することで、オブジェクトB4を円筒座標C1上のフレームF4内に配置する。
制御ユニット30は、上記オブジェクトデータの送信許可通知をトリガにデータ取得フェーズに移行する。具体的には例えば、制御ユニット30は、検出部20の出力に基づき、現在の視野V(表示部10)の方位に最も近いフレーム(本例ではフレームF4)を判定し、そのフレームに属するオブジェクト(本例ではオブジェクトB4)の画像データの送信を要求する(ステップ106)。この要求を受けて、携帯情報端末200は、制御ユニット30へオブジェクトB4の画像データを送信する(ステップ107)。制御ユニット30は、受信したオブジェクトB4の画像データをメモリ302へ格納することで、オブジェクトB4を円筒座標C1上のフレームF4内に配置する。
続いて、制御ユニット30は、フレームF4の次に視野Vの方位に近いフレーム(本例ではフレームF3)を判定し、そのフレームに属するオブジェクト(本例ではオブジェクトB3)の画像データの送信を要求する(ステップ108)。この要求を受けて、携帯情報端末200は、制御ユニット30へオブジェクトB3の画像データを送信する(ステップ109)。制御ユニット30は、受信したオブジェクトB3の画像データをメモリ302へ格納することで、オブジェクトB3を円筒座標C1上のフレームF3内に配置する。
以上のように、制御ユニット30は、円筒座標C1上にあらかじめオブジェクトのフレームデータを登録しておくことで、現在の視野Vを基準とするオブジェクトの取得優先度を判定可能とし、その判定結果に基づいて、優先度の高い(視野Vに最も近い)オブジェクトから順次その画像データを取得するように構成される。
ここで、オブジェクトがアニメーション画像の場合には、現在時刻とアニメーションフレーム時刻とを考慮して優先付けを行えばよい。例えば、制御ユニット30は、当該アニメーション画像を構成する全画像の少なくとも一部の一括的な送信を携帯情報端末200に対して要求するように構成される。このようにオブジェクトがアニメーション画像の場合であっても、そのフレームレートを考慮して必要な数の画像(例えば1秒後までの画像)をキャッシュしておくことで、動的に対応することができる。
上述のようなシステムを構築するには、オブジェクトデータを保持するメモリ302の容量を大きくする必要が生じる。しかし、必要性が高いオブジェクトデータを優先的に保持し、必要性が低いデータを破棄する処理を動的に実施することで、全ては保持しきれないオブジェクトデータ量でも適切なオブジェクト表示が実現可能となる。なお破棄したデータは、必要性が出たら再取得すればよい。
すなわち制御ユニット30は、メモリ302に記憶されたオブジェクトのすべてについて、その座標位置と視野Vの表示領域との距離を定期的に評価し、視野Vの表示領域から最も遠い座標位置のオブジェクトをメモリ302から削除するように構成されてもよい。具体的には、円筒座標C1上の全オブジェクトと視野Vの現在方位との相対位置関係に基づいて、全オブジェクトの優先度を各々評価し、優先度の低いオブジェクトデータを消去する。これにより視野Vに近いオブジェクトデータの保存領域を確保することができる。
優先度の評価方法は特に限定されず、例えば、円筒座標C1における視野Vの中心位置とオブジェクトの中心位置との間のピクセル数に基づいて評価することができる。またアニメーション画像の場合は、再生時刻に基づいた係数を評価値に乗じてもよい。
[HMDの動作]
次に、以上のように構成される本実施形態に係るHMD100を備えたHMDシステムの動作の一例について説明する。
次に、以上のように構成される本実施形態に係るHMD100を備えたHMDシステムの動作の一例について説明する。
図14は、本実施形態に係るHMDシステムの動作の概要を説明するフローチャートである。
まず、携帯情報端末200の位置情報取得部207を用いて、ユーザU(表示部10)の現在位置が測定される(ステップ201)。表示部10の位置情報は、サーバNに送信される。そして携帯情報端末200は、サーバNから、ユーザUの周囲の実空間に存在する所定の対象物に関連するオブジェクトデータを取得する(ステップ202)。
次に、携帯情報端末200は、制御ユニット30へオブジェクトデータの送信準備ができたことを通知する。制御ユニット30(本例では座標設定部311)は、オブジェクデータの種類等に応じてワールド座標系としての円筒座標C0の高さ(H)及び半径(R)を設定する(ステップ203)。
この場合、座標設定部311は、表示部10によって提供される視野Vの高さ(Hv)に応じた領域制限機能が有効な場合には、ワールド座標系を例えば図12Aに示す円筒座標C1に設定する。
続いて、制御ユニット30は、検出部20の出力に基づいて視野Vの方位を検出し(ステップ204)、携帯情報端末200からオブジェクトデータを取得してメモリ302へ格納する(ステップ205)。
図15は、制御ユニット30によるオブジェクトデータの受信手順の一例を示すフローチャートである。
制御ユニット30は、携帯情報端末200からのオブジェクトデータの送信許可確認を受信した後(ステップ301)、全オブジェクトのフレーム登録が完了したかどうかを判定する(ステップ302)。全オブジェクトのフレーム登録が完了しないとオブジェクトの座標位置が定まらず、また、オブジェクトの優先度の評価が不可能となるからである。フレーム登録が未完の場合は処理を終了し、上述した未完フレームの登録処理を実行する。
一方、全オブジェクトのフレーム登録が完了しているときは、受信していないオブジェクトの有無とメモリ302の容量を確認する(ステップ303)。未登録オブジェクトがあり、かつメモリ容量が十分である場合は、当該未登録オブジェクトを受信しメモリ302へ格納する(ステップ304)。
なお制御ユニット30は、定期的にメモリ302内のオブジェクトの優先度を評価し、評価値の低いものは必要に応じて削除する。
制御ユニット30は、円筒座標C0における視野Vの対応領域に何れかのオブジェクトデータが存在する場合には、当該オブジェクトを視野Vの対応位置に表示部10を介して表示(描画)する(ステップ206)。視野Vへのオブジェクトの表示に際しては、上述したオブジェクト表示固定機能の何れかが適用されてもよい。
図16は、制御ユニット30による視野Vへのオブジェクトの描画手順の一例を示すフローチャートである。
制御ユニット30は、検出部20の出力に基づいて現在の視野Vの方位を算出する(ステップ401)。視野Vの方位は、ワールド座標系(θ,h)に換算されて、円筒座標C0上のどの位置に対応するかモニタリングされる。
次に制御ユニット30は、メモリ302に格納された全オブジェクトのうち、スキャン(ステップ403以降の処理)が未完了のオブジェクトがあるかどうか判定する(ステップ402)。上記スキャンは、画面更新毎にメモリ302に格納された全オブジェクトに対して行われる。
スキャン未完了のオブジェクトがある場合、当該オブジェクトがワールド座標系のオブジェクトがどうか判定し(ステップ403)、「No」の場合は視野Vに当該オブジェクトを描画する(ステップ404)。
一方、ステップ403において判定が「Yes」の場合には、続いて当該オブジェクトについて上記オブジェクト表示固定機能の何れか(例えば第1のグラブ機能)が適用されているかどうかを判定する(ステップ405)。当該機能が適用されている場合、所期の条件を満たした時点で当該オブジェクトを視野Vに固定表示する(ステップ406)。一方、何れの表示固定機能の適用がない場合には、視野Vがオブジェクト位置に入った時点で視野Vに当該オブジェクトを描画する(ステップ407)。
以後、上述の処理が繰り返される。これにより表示部10を介してユーザUの現在位置に則した最新のオブジェクトをユーザUへ提供することが可能となる。
(適用例)
以下、本実施形態のHMD100の適用例について説明する。
以下、本実施形態のHMD100の適用例について説明する。
(ロール角依存性ありモード)
図17は、ヨー角、ピッチ角およびロール角の例を示す図である。上記したように、本実施形態においては、表示部10の鉛直軸(Z軸)周りの方位RY(以下、「ヨー角」とも言う。)および表示部10の左右軸(Y軸)周りの俯角(または仰角)RP(以下、「ピッチ角」とも言う。)の少なくともいずれか一方に応じたオブジェクト(以下、「ARオブジェクト」とも言う。)をユーザの視野に提供することが可能である。オブジェクトは、実世界の座標に対応付けられていてよい(表示部10の周囲の対象物に対応付けられていてよい)。このとき、表示制御部314は、ユーザの視野に対するARオブジェクトの位置および向きを、表示部10の前後軸(X軸)周りの角RO(以下、「ロール角」とも言う。)にも依存させてよい。かかる例について説明する。
図17は、ヨー角、ピッチ角およびロール角の例を示す図である。上記したように、本実施形態においては、表示部10の鉛直軸(Z軸)周りの方位RY(以下、「ヨー角」とも言う。)および表示部10の左右軸(Y軸)周りの俯角(または仰角)RP(以下、「ピッチ角」とも言う。)の少なくともいずれか一方に応じたオブジェクト(以下、「ARオブジェクト」とも言う。)をユーザの視野に提供することが可能である。オブジェクトは、実世界の座標に対応付けられていてよい(表示部10の周囲の対象物に対応付けられていてよい)。このとき、表示制御部314は、ユーザの視野に対するARオブジェクトの位置および向きを、表示部10の前後軸(X軸)周りの角RO(以下、「ロール角」とも言う。)にも依存させてよい。かかる例について説明する。
図18は、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させる例について説明するための図である。図18に示すように、表示制御部314は、ユーザの視野V2−1に、ARオブジェクトA、Bを表示させている。視野V2−1に示すように、ユーザが首を傾げていない場合には(ロール角が零である場合には)、HMD100の左右中心軸Daは、水平となっている。水平軸Haは、ユーザUの水平方向の目線Lh(図1参照)と直交する水平軸である。
続いて、視野V2−2に示すように、ユーザが首を傾げた場合には(ロール角が変化した場合には)、HMD100の左右中心軸Daが水平軸Haに対して傾く。このとき、表示制御部314は、視野V2−2に対するARオブジェクトA、Bの位置および向きを、ロール角ROに依存させてよい。
より具体的には、表示制御部314は、ARオブジェクトA、Bをロール角ROとは逆向きにロール角ROと同じ大きさだけ回転させて視野V2−2に表示させてよい。回転軸は、左右中心軸Daと水平軸Haとの交点であってよい。この例に示したように、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させる手法(以下、単に「ロール角依存性あり」とも言う。)が適した場面として様々な場面が想定される。
図19Aは、ロール角依存性ありが適した場面の一例を説明するための図である。図19Aを参照すると、表示制御部314は、視野V3−1に3次元オブジェクトであるARオブジェクトB3−1を表示させている。このとき、表示制御部314は、ロール角が変化した場合、視野V3−1におけるARオブジェクトB3−1をロール角とは逆向きにロール角と同じ大きさだけ回転させて視野V3−2に表示させてよい。
図19Aに示した例のように、表示制御部314は、3次元オブジェクトを表示させる場合などには、ARオブジェクトの実在感を表現することを優先して(視野に対するARオブジェクトの位置および向きを正確に表現することを優先して)、ロール角依存性ありによってARオブジェクトを表示させるのがよい。なお、3次元オブジェクトには、3次元モデルが含まれ得る(例えば、左右に視差を付けて立体に見せるもの、見取り図(三面図)で定義されるものなども含まれ得る)。
また、図19Bは、ロール角依存性ありが適した場面の他の一例を説明するための図である。図19Bを参照すると、表示制御部314は、表示されるオブジェクトの密集度合いが閾値を超える領域に存在するARオブジェクト(ARオブジェクトB4−1〜B4−3)を視野V4−1に表示させている。このとき、表示制御部314は、ロール角が変化した場合、視野V4−1におけるARオブジェクトB4−1〜B4−3をロール角とは逆向きにロール角と同じ大きさだけ回転させて視野V4−2に表示させてよい。
図19Bに示した例のように、表示制御部314は、表示されるオブジェクトの密集度合いが閾値を超える領域に存在するARオブジェクト(ARオブジェクトB4−1〜B4−3)を表示させる場合などには、視野に対するARオブジェクトの位置を正確に表現することを優先して、ロール角依存性ありによってARオブジェクトを表示させるのがよい。なお、視野に対するARオブジェクトの位置を正確に表現することを重視する他のARオブジェクトも同様に、ロール角依存性ありによって表示されるとよい。
(ロール角依存性なしモード)
以上に説明したように、ユーザの視野に対するARオブジェクトの位置および向きはロール角に依存されてよい。しかし、例えば、図18を参照すると、ARオブジェクトA、Bそれぞれの一部がユーザの視野V2−2から外れてしまっており、ARオブジェクトA、Bの検索性が低下してしまっている。そこで、以下では、ユーザの視野に表示されるARオブジェクトの検索性を向上させることが可能な技術を主に提案する。具体的には、表示制御部314は、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させなくてよい。
以上に説明したように、ユーザの視野に対するARオブジェクトの位置および向きはロール角に依存されてよい。しかし、例えば、図18を参照すると、ARオブジェクトA、Bそれぞれの一部がユーザの視野V2−2から外れてしまっており、ARオブジェクトA、Bの検索性が低下してしまっている。そこで、以下では、ユーザの視野に表示されるARオブジェクトの検索性を向上させることが可能な技術を主に提案する。具体的には、表示制御部314は、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させなくてよい。
図20は、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させない例について説明するための図である。図20に示すように、表示制御部314は、ユーザの視野V6−1に、ARオブジェクトA、Bを表示させている。視野V6−1に示すように、ユーザが首を傾げていない場合には(ロール角が零である場合には)、HMD100の左右中心軸Daは、水平となっている。
続いて、視野V6−2に示すように、ユーザが首を傾げた場合には(ロール角が変化した場合には)、HMD100の左右中心軸Daが水平軸Haに対して傾く。このとき、表示制御部314は、視野V6−2に対するARオブジェクトA、Bの位置および向きを、ロール角ROに依存させなくてよい。
より具体的には、表示制御部314は、視野V6−2に対するARオブジェクトA、Bの位置および向きを、ロール角の変化前後において不変としてよい。この例に示したように、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させない手法(以下、単に「ロール角依存性なし」とも言う。)が適した場面として様々な場面が想定される。なお、以下では、ユーザの視野に対するARオブジェクトの位置および向きをロール角に依存させない例を主に説明するが、後に説明するように、ユーザの視野に対するARオブジェクトの向きはロール角に依存させてもよい。
図21は、ロール角依存性なしが適した場面の一例を説明するための図である。図21を参照すると、表示制御部314は、視野V7−1にARオブジェクトC、Dを表示させている。ここで、ユーザがARオブジェクトBを選択したいと考え、ユーザが頭を回転させたとする(表示部10を鉛直軸周りに回転させたとする)。すると、視野V7−2には、ARオブジェクトA〜Cが表示される。例えば、かかる状態において、ユーザによる所定の操作(例えば、ボタン押下操作など)が行われた場合、ARオブジェクトA〜Cのうち視野V7−2の中心に最も近いオブジェクトBが選択される。
この例のように、表示制御部314は、ユーザによる操作を受け付け可能であるARオブジェクトを表示させている場合には、視野におけるARオブジェクトの位置をロール角に依存させなくてよい。そうすれば、ARオブジェクトが視野から外れてしまう可能性が低減されるため、ARオブジェクトの操作性を向上させることが可能である。なお、ユーザによる操作を受け付け可能なARオブジェクトは特に限定されないが、例えば、ユーザによる押下操作を受け付け可能なARオブジェクトであってよく、1または複数のARオブジェクトが配置されたメニュー画面の一部を構成してもよい。
(検索性の相違)
続いて、ARオブジェクトの表示手法が、ロール角依存性ありの場合とロール角依存性なしの場合とにおけるARオブジェクトの検索性の相違についてさらに説明する。図22は、ARオブジェクトの表示手法が、ロール角依存性ありの場合におけるARオブジェクトの検索性について説明するための図である。また、図23は、ARオブジェクトの表示手法が、ロール角依存性なしの場合におけるARオブジェクトの検索性について説明するための図である。
続いて、ARオブジェクトの表示手法が、ロール角依存性ありの場合とロール角依存性なしの場合とにおけるARオブジェクトの検索性の相違についてさらに説明する。図22は、ARオブジェクトの表示手法が、ロール角依存性ありの場合におけるARオブジェクトの検索性について説明するための図である。また、図23は、ARオブジェクトの表示手法が、ロール角依存性なしの場合におけるARオブジェクトの検索性について説明するための図である。
ここで、図22および図23に示すように、ユーザが首を傾げた状態でユーザが頭を回転させた場合を想定する(ロール角を固定させた状態で表示部10を鉛直軸周りに回転させた場合を想定する)。かかる場合、図22を参照すると、表示制御部314は、ユーザの視野V8−1に、ARオブジェクトAをまだ表示させることができない。続いて、表示制御部314は、視野V8−2にはARオブジェクトAを表示させているが、続く視野V8−3にはARオブジェクトAを表示させることができない。
一方、図23を参照すると、表示制御部314は、ユーザの視野V9−1に、ARオブジェクトAを表示させることができる。また、表示制御部314は、視野V9−2にもARオブジェクトAを表示させることができており、続く視野V9−3にもARオブジェクトAを表示させることができる。このように、ARオブジェクトの表示手法がロール角依存性なしの場合には、ARオブジェクトの表示手法がロール角依存性ありの場合よりも、ARオブジェクトAが視野に入る時間が長いため、ARオブジェクトAの検索性を向上させることが可能となる。
(ロール制限角)
上記では、表示制御部314は、ARオブジェクトの表示手法がロール角依存性ありの場合、視野におけるARオブジェクトをロール角とは逆向きにロール角と同じ大きさだけ回転させて視野に表示させる例を説明した。しかし、ARオブジェクトをロール角とは逆向きにロール角と同じ大きさだけ回転させてしまうと、視野にARオブジェクトが収まらない状況が生じ得る。また、かかる状況においては、ユーザによってARオブジェクトが視認されないといった状況が生じ得る。そのため、表示制御部314は、ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限してもよい。
上記では、表示制御部314は、ARオブジェクトの表示手法がロール角依存性ありの場合、視野におけるARオブジェクトをロール角とは逆向きにロール角と同じ大きさだけ回転させて視野に表示させる例を説明した。しかし、ARオブジェクトをロール角とは逆向きにロール角と同じ大きさだけ回転させてしまうと、視野にARオブジェクトが収まらない状況が生じ得る。また、かかる状況においては、ユーザによってARオブジェクトが視認されないといった状況が生じ得る。そのため、表示制御部314は、ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限してもよい。
具体的な例について説明する。図24は、ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限する手法の例を説明するための図である。図24に示すように、表示制御部314は、ユーザの視野V10−1に、ARオブジェクトA、Bを表示させている。視野V10−1に示すように、ユーザが首を傾げていない場合には(ロール角が零である場合には)、HMD100の左右中心軸Daは、水平となっている。
続いて、視野V10−2に示すように、ユーザが首を傾げた場合には(ロール角が変化した場合には)、HMD100の左右中心軸Daが水平軸Haに対して傾く。このとき、表示制御部314は、ロール角ROが所定の角度(以下、「ロール制限角」とも言う。)ROを超えるまでは、ARオブジェクトA、Bをロール角ROとは逆向きにロール角ROと同じ大きさだけ回転させて視野V10−2に表示させてよい。しかし、ロール制限角Rrを超えても、同様にARオブジェクトA、Bを回転させてしまうと、視野V10−3にARオブジェクトA、Bが収まらない状況が生じ得る。
したがって、表示制御部314は、ロール角ROがロール制限角Rrを超えた場合、ARオブジェクトA、Bの位置をロール角ROとは逆向きにロール制限角Rrと同じ大きさだけ回転させるとよい。そうすれば、視野V10−3にARオブジェクトA、Bが収まらない状況を防ぐことが可能となり、ARオブジェクトA、Bの検索性の低下を抑制することが可能となる。
ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限する例についてさらに説明を続ける。図25は、ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限する手法の詳細な例を説明するための図である。図25に示すように、表示制御部314は、ユーザの視野V11−1の水平軸Haに、ARオブジェクトB11(駅名が記述されたARオブジェクト)を表示させている。視野V11−1に示すように、ユーザが首を傾げていない場合には(ロール角が零である場合には)、HMD100の左右中心軸Daは、水平となっている。
続いて、視野V11−2に示すように、ユーザが首を傾げた場合には(ロール角が変化した場合には)、HMD100の左右中心軸Daが水平軸Haに対して傾く。このとき、ロール角ROがロール制限角Rrを超えた場合を想定する。かかる場合、ロール角ROとは逆向きにロール角ROと同じ大きさだけARオブジェクトB11を回転させてしまうと、ARオブジェクトB11が位置Waから位置Paに移動されてしまうため、視野V11−2にARオブジェクトB11が収まらない状況が生じ得る。
したがって、かかる場合、表示制御部314は、ARオブジェクトB11の位置をロール角ROとは逆向きにロール制限角Rrと同じ大きさだけ回転させるとよい。そうすれば、視野V11−3にARオブジェクトB11が収まらない状況を防ぐことが可能となり、ARオブジェクトB11の検索性の低下を抑制することが可能となる。
(ロール角依存性なしと高さ制限との組み合わせ)
以上、ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限する例について説明した。ところで、上記では、表示制御部314がピッチ角に対応するオブジェクトを視野に表示させるとき、座標設定部311がオブジェクトに対応するピッチ角を所定の範囲内に制限する例を説明した。より具体的には、座標設定部311は、円筒座標C0における視野Vの高さ方向の視野領域(Hv)を制限することが可能である。ここで、視野Vの高さ方向の視野領域(Hv)を制限する機能をロール角依存性なしと組み合わせることによって、ARオブジェクトの検索性をさらに向上させることが期待される。
以上、ARオブジェクトの表示手法がロール角依存性ありの場合に、状況に応じてARオブジェクトの回転を制限する例について説明した。ところで、上記では、表示制御部314がピッチ角に対応するオブジェクトを視野に表示させるとき、座標設定部311がオブジェクトに対応するピッチ角を所定の範囲内に制限する例を説明した。より具体的には、座標設定部311は、円筒座標C0における視野Vの高さ方向の視野領域(Hv)を制限することが可能である。ここで、視野Vの高さ方向の視野領域(Hv)を制限する機能をロール角依存性なしと組み合わせることによって、ARオブジェクトの検索性をさらに向上させることが期待される。
図26は、視野領域を制限する機能をロール角依存性なしと組み合わせた場合について説明するための図である。図26に示した例では、視野領域を制限する機能をロール角依存性なしと組み合わせた場合において、ユーザが首を傾けた状態で水平軸Haの上を見た後、首を右に回転させた場合を想定している(視野V12−1〜視野V12−4)。図26の視野V12−1〜視野V12−4を参照すると、ARオブジェクトAが視野の一端から他端まで移動している。
この例のように、視野領域を制限する機能をロール角依存性なしと組み合わせた場合には、ユーザが頭を鉛直軸周りに360度回転させる間には、ARオブジェクトが視野の一端から他端まで移動する可能性が高まるため、ARオブジェクトの検索性がさらに向上することが期待される。なお、図26に示した例では、円筒座標の高さが視野V12−1〜V12−4の高さと同一に設定され、ARオブジェクトAに対応する3次元座標が水平軸Haを含む水平面上に設定されている場合を想定している。また、ロール角依存性ありにおけるARオブジェクトAの表示位置が、位置Pa−1〜Pa−4として示されている。
視野領域を制限する機能をロール角依存性なしと組み合わせた場合についてさらに説明を続ける。図27は、視野領域を制限する機能をロール角依存性なしと組み合わせた場合の詳細を説明するための図である。図27に示すように、表示制御部314は、ユーザの視野V13−1の水平軸Haに、ARオブジェクトB13(駅名が記述されたARオブジェクト)を表示させている。視野V13−1に示すように、ユーザが首を傾げていない場合には(ロール角が零である場合には)、HMD100の左右中心軸Daは、水平となっている。
続いて、視野V13−2に示すように、ユーザが水平軸Haの上を見た場合には(ピッチ角が変化した場合には)、HMD100の左右中心軸Daが上方に移動する。このとき、左右中心軸Daの移動MOの大きさが所定の移動Mrの大きさを超えた場合を想定する。かかる場合、左右中心軸Daの移動MOと逆向きに左右中心軸Daの移動MOの大きさと同じ量だけARオブジェクトB13を移動させてしまうと、ARオブジェクトB13が位置Waから位置Paに移動されてしまうため、視野V13−2にARオブジェクトB13が収まらない状況が生じ得る。
したがって、かかる場合、表示制御部314は、ARオブジェクトB13の位置を左右中心軸Daの移動MOとは逆向きに所定の移動Mrの大きさと同じ大きさだけ移動させるとよい。そうすれば、視野V13−2にARオブジェクトB13が収まらない状況を防ぐことが可能となり、ARオブジェクトB13の検索性の低下を抑制することが可能となる。図27には、左右中心軸Daの移動MOとは逆向きに所定の移動Mrの大きさと同じ大きさだけ移動されたARオブジェクトB13がラインLn上に存在している。
(ARオブジェクト位置の収束)
以上、視野領域を制限する機能をロール角依存性なしと組み合わせた場合について説明した。ここで、上記では、表示制御部314は、ロール角依存性ありにおいてロール角がロール制限角を超えた場合、ARオブジェクトの位置をロール角とは逆向きにロール制限角と同じ大きさだけ回転させる例を説明した。このとき、表示制御部314は、ロール角依存性ありにおいてロール角がロール制限角を超えた場合、ARオブジェクトの位置をロール角とは逆向きにロール制限角と同じ大きさだけ回転させた位置に徐々に収束させてもよい。
以上、視野領域を制限する機能をロール角依存性なしと組み合わせた場合について説明した。ここで、上記では、表示制御部314は、ロール角依存性ありにおいてロール角がロール制限角を超えた場合、ARオブジェクトの位置をロール角とは逆向きにロール制限角と同じ大きさだけ回転させる例を説明した。このとき、表示制御部314は、ロール角依存性ありにおいてロール角がロール制限角を超えた場合、ARオブジェクトの位置をロール角とは逆向きにロール制限角と同じ大きさだけ回転させた位置に徐々に収束させてもよい。
例えば、表示制御部314は、ロール角依存性ありにおいてロール角がロール制限角を超えた場合、視野におけるARオブジェクトの位置を、ロール角とは逆向きにロール角と同じ大きさだけ回転させた位置(水平軸上の位置)から、ロール角とは逆向きにロール制限角と同じ大きさだけ回転させた位置へ、徐々に移動させてもよい。そうすれば、ロール角を零にしようとする動き(HMD100の左右中心軸Daを水平軸Haと平行にしようとする動き)をユーザに促すことが可能となる。
図28を参照しながら具体的に説明する。図28は、ロール角依存性ありにおいてロール角がロール制限角を超えた場合におけるARオブジェクトの表示例を説明するための図である。図28に示すように、ARオブジェクトを物体Xaとし、物体Xaにつながった2本のバネSPのうち、1本目のバネSPは水平軸Ha(ロール角依存性ありにおけるARオブジェクトの位置Pa)に接続され、2本目のバネSPは左右中心軸Da(ロール角依存性なしにおけるARオブジェクトの位置Wa)に接続された場合を想定する。かかる場合において、ARオブジェクトが収束する位置として、静的に釣り合う物体Xaの位置が算出されてもよい。このとき、2本目のバネSPそれぞれのバネ定数は同じであってもよいし、異なっていてもよい。
あるいは、2本のバネSPの代わりに、バネおよびダンパが用いられてもよい。かかる場合、ARオブジェクトが収束する位置は、バネおよびダンパによるPD制御によって制御されてよい。また、摩擦が存在する系においてARオブジェクトがバネを介してHMD100の左右中心軸Daに接続されている動的モデルによって、左右中心軸DaによってARオブジェクトがロール方向に引っ張られた結果(または押された結果)として収束する位置がARオブジェクトの収束する位置として算出されてもよい。
また、単純にロール角依存性ありにおけるARオブジェクトの位置Paとロール角依存性なしにおけるARオブジェクトの位置Waとの間を結ぶ線分(あるいは左右中心軸Daと水平軸Haとの交点を中心とする円弧)における所定の比率による内分点が、ARオブジェクトの収束する位置として算出されてもよい。ただし、視野からARオブジェクトが外れてしまうことを防ぐため、ロール角がある程度を超えた場合には、ARオブジェクトの位置を徐々に収束させずに直ちに視野内に移動させるのがよい。
また、上記では、表示制御部314は、HMD100の左右中心軸の移動の大きさが所定の移動の大きさを超えた場合、ARオブジェクトの位置を左右中心軸の移動とは逆向きに所定の移動の大きさと同じ大きさだけ移動させる例を説明した。しかし、表示制御部314は、HMD100の左右中心軸の移動の大きさが所定の移動の大きさを超えた場合、ARオブジェクトの位置を左右中心軸の移動とは逆向きに所定の移動の大きさと同じ大きさだけ移動させた位置に徐々に収束させてもよい。
例えば、表示制御部314は、HMD100の左右中心軸の移動の大きさが所定の移動の大きさを超えた場合、視野におけるARオブジェクトの位置を、ARオブジェクトの位置を左右中心軸の移動とは逆向きに所定の移動の大きさと同じ大きさだけ移動させた位置(水平軸上の位置)から、左右中心軸の移動とは逆向きに所定の移動の大きさと同じ大きさだけ移動させた位置へ、徐々に収束させてもよい。そうすれば、ピッチ角を零にしようとする動き(HMD100の左右中心軸Daの中心を水平軸Haに一致させようとする動き)をユーザに促すことが可能となる。
さらに具体的に説明する。ARオブジェクトを物体とし、物体につながった2本のバネのうち、1本目のバネは水平軸Ha(高さ方向の視野領域が制限される場合におけるARオブジェクトの位置)に接続され、2本目のバネは左右中心軸Da(高さ方向の視野領域が制限されない場合におけるARオブジェクトの位置)に接続された場合を想定する。かかる場合において、ARオブジェクトが収束する位置として、静的に釣り合う物体の位置が算出されてもよい。このとき、2本目のバネそれぞれのバネ定数は同じであってもよいし、異なっていてもよい。
あるいは、2本のバネの代わりに、バネおよびダンパが用いられてもよい。かかる場合、ARオブジェクトが収束する位置は、バネおよびダンパによるPD制御によって制御されてよい。また、摩擦が存在する系においてARオブジェクトがバネを介してHMD100の左右中心軸に接続されている動的モデルによって、HMD100の左右中心軸によってARオブジェクトが高さ方向に引っ張られた結果(または押された結果)として収束する位置がARオブジェクトの収束する位置として算出されてもよい。
また、単純に高さ方向の視野領域が制限される場合におけるARオブジェクトの位置と高さ方向の視野領域が制限される場合におけるARオブジェクトの位置との間を結ぶ線分における所定の比率による内分点が、ARオブジェクトの収束する位置として算出されてもよい。ただし、視野からARオブジェクトが外れてしまうことを防ぐため、HMD100の左右中心軸の移動の大きさがある程度を超えた場合には、ARオブジェクトの位置を徐々に収束させずに直ちに視野内に移動させるのがよい。
なお、以上に説明したような、ARオブジェクトの位置を徐々に収束させる旨は、ロール角依存性ありに対する従属属性として設定されてよい。かかる場合、アプリケーションの機能によって従属属性が参照され、従属属性に応じたARオブジェクトの描画処理が行われ得る。従属属性はどのように設定されてもよいが、例えば、アプリケーションの開発者によってARオブジェクトごとに設定されてよい。
(ロール角依存性の変形例)
また、上記では、ARオブジェクトの表示手法がロール角依存性なしの場合において、ユーザの視野に対するARオブジェクトの向きをロール角に依存させない例を説明した。しかし、表示制御部314は、ARオブジェクトの表示手法がロール角依存性なしの場合において、ユーザの視野に対するARオブジェクトの向きをロール角に依存させてもよい。そうすれば、ARオブジェクトの実在感を表現することが考慮されるとともに、ARオブジェクトの検索性も向上させることが可能となる。かかる例について説明する。
また、上記では、ARオブジェクトの表示手法がロール角依存性なしの場合において、ユーザの視野に対するARオブジェクトの向きをロール角に依存させない例を説明した。しかし、表示制御部314は、ARオブジェクトの表示手法がロール角依存性なしの場合において、ユーザの視野に対するARオブジェクトの向きをロール角に依存させてもよい。そうすれば、ARオブジェクトの実在感を表現することが考慮されるとともに、ARオブジェクトの検索性も向上させることが可能となる。かかる例について説明する。
図29は、ARオブジェクトの表示手法がロール角依存性なしの場合にARオブジェクトの向きをロール角に依存させる例について説明するための図である。図29に示すように、表示制御部314は、ユーザの視野V15−1に、ARオブジェクトA、Bを表示させている。視野V15−1に示すように、ユーザが首を傾げていない場合には(ロール角が零である場合には)、HMD100の左右中心軸Daは、水平となっている。
続いて、視野V15−2に示すように、ユーザが首を傾げた場合には(ロール角が変化した場合には)、HMD100の左右中心軸Daが水平軸Haに対して傾く。このとき、表示制御部314は、視野V15−2に対するARオブジェクトA、Bの位置をロール角ROに依存させない一方、視野V15−2に対するARオブジェクトA、Bの向きをロール角ROに依存させてよい。
より具体的には、図29に示すように、表示制御部314は、視野V15−2に対するARオブジェクトA、Bの位置をロール角の変化前後において不変としてよい。また、図29に示すように、表示制御部314は、視野V15−2に対するARオブジェクトA、Bの向きをロール角とは逆向きにロール角と同じ大きさだけ回転させて視野V15―2に表示させてよい。
ARオブジェクトの表示手法がロール角依存性なしの場合において、ユーザの視野に対するARオブジェクトの向きをロール角に依存させる例についてさらに説明を続ける。図30は、ARオブジェクトの表示手法がロール角依存性なしの場合において、ユーザの視野に対するARオブジェクトの向きをロール角に依存させない詳細な例を説明するための図である。
図30を参照すると、表示制御部314は、実物体(例えば、作業対象物T16)と照らし合わされるARオブジェクト(例えば、作業手順を図解するARオブジェクトB16−1)を視野V16−1に表示させている。このとき、表示制御部314は、ロール角が変化した場合、視野V16−1におけるARオブジェクトB16−1をロール角とは逆向きにロール角と同じ大きさだけ回転させて視野V16−2に表示させてよい。
図30に示した例のように、表示制御部314は、実物体(例えば、作業対象物T16)と照らし合わされるARオブジェクト(例えば、作業手順を図解するARオブジェクトB16−1)を表示させる場合などには、視野に対するARオブジェクトの向きを正確に表現することを優先して、ロール角依存性ありによってARオブジェクトを表示させるのがよい。
なお、以上に説明したような、ARオブジェクトの向きをロール角に依存させる旨は、ロール角依存性なしに対する従属属性として設定されてよい。かかる場合、アプリケーションの機能によって従属属性が参照され、従属属性に応じたARオブジェクトの描画処理が行われ得る。従属属性はどのように設定されてもよいが、例えば、アプリケーションの開発者によってARオブジェクトごとに設定されてよい。
(動作モードの選択)
以上、ロール角依存性ありとロール角依存性なしについて説明した。ここで、ロール角依存性ありとロール角依存性なしとは、いずれか一方が永続的に用いられてもよいが、いずれか一方が適宜に選択されてもよい。以下では、表示制御部314が、ARオブジェクトの表示手法として、ロール角依存性なしが用いられる第1のモード(以下、「ロール角依存性なしモード」とも言う。)とロール角依存性ありが用いられる第2のモード(以下、「ロール角依存性ありモード」とも言う。)とのうちいずれか一方を動作モードとして選択可能な例について説明する。
以上、ロール角依存性ありとロール角依存性なしについて説明した。ここで、ロール角依存性ありとロール角依存性なしとは、いずれか一方が永続的に用いられてもよいが、いずれか一方が適宜に選択されてもよい。以下では、表示制御部314が、ARオブジェクトの表示手法として、ロール角依存性なしが用いられる第1のモード(以下、「ロール角依存性なしモード」とも言う。)とロール角依存性ありが用いられる第2のモード(以下、「ロール角依存性ありモード」とも言う。)とのうちいずれか一方を動作モードとして選択可能な例について説明する。
まず、表示制御部314は、ユーザによる操作に基づいて、ロール角依存性なしモードおよびロール角依存性ありモードのいずれか一方を動作モードとして選択してもよい。例えば、表示制御部314は、ユーザによってロール角依存性なしモードを選択するための操作が入力された場合には、ロール角依存性なしモードを動作モードとして選択してよい。一方、例えば、表示制御部314は、ユーザによってロール角依存性ありモードを選択するための操作が入力された場合には、ロール角依存性ありモードを動作モードとして選択してよい。
また、表示制御部314は、ARオブジェクトがユーザによる操作を受け付け可能である場合、ロール角依存性なしモードを動作モードとして選択してもよい。ユーザによる操作を受け付け可能なARオブジェクトが表示される場合には、ARオブジェクトの実在感を表現することよりもARオブジェクトの検索性を向上させることがより望ましいと考えられるからである。なお、上記したように、ユーザによる操作を受け付け可能なARオブジェクトは特に限定されないが、例えば、ユーザによる押下操作を受け付け可能なARオブジェクトであってよく、1または複数のARオブジェクトが配置されたメニュー画面の一部を構成してもよい。
また、表示制御部314は、ARオブジェクトに関連付けられた情報に基づいて動作モードを選択してもよい。ARオブジェクトに関連付けられた情報は、ロール角依存性なしモードを選択するか否かを示す情報(ロール角依存性があるか否かを示す情報)であってもよいし、他の情報(例えば、ARオブジェクトが3次元オブジェクトであるか否かを示す情報など)であってもよい。
例えば、表示制御部314は、ARオブジェクトが3次元オブジェクトである場合、ロール角依存性ありモードを動作モードとして選択してもよい。ARオブジェクトが3次元オブジェクトである場合には、ARオブジェクトの検索性を向上させることよりもARオブジェクトの実在感を表現することがより望ましいと考えられるからである。
また、表示制御部314は、HMD100の能力に基づいて、ロール角依存性なしモードおよびロール角依存性ありモードのいずれか一方を動作モードとして選択してもよい。例えば、表示制御部314は、HMD100の能力が閾値より低い場合には、ロール角依存性なしモードを動作モードとして選択してよい。HMD100の能力が閾値より低い場合には、ARオブジェクトを回転させる処理を行わないロール角依存性なしモードが選択されることによって、表示制御部314への処理負荷が低減されることが望ましいと考えられるからである。
一方、例えば、表示制御部314は、HMD100の能力が閾値より高い場合には、ロール角依存性ありモードを動作モードとして選択してよい。HMD100の能力が閾値より高い場合には、ARオブジェクトを回転させる処理を行うロール角依存性なしモードが選択され、表示制御部314への処理負荷が低減されなくてもよい可能性があると考えられるからである。
なお、HMD100の能力は、表示制御部314によってARオブジェクトの描画処理を行う能力であってもよい。ARオブジェクトの描画処理を行う能力は、演算装置の能力であってもよいし、演算装置の能力からARオブジェクトの描画処理以外の動作によって使用されている能力が除外された能力であってもよい。
あるいは、HMD100の能力は、HMD100のバッテリ残量に基づいて動作モードを選択してもよい。例えば、表示制御部314は、HMD100のバッテリ残量が閾値より低い場合には、ロール角依存性なしモードを動作モードとして選択してよい。HMD100のバッテリ残量が閾値より低い場合には、ARオブジェクトを回転させる処理を行わないロール角依存性なしモードが選択されることによって、表示制御部314による消費電力が低減されることが望ましいと考えられるからである。
一方、例えば、表示制御部314は、HMD100のバッテリ残量が閾値より高い場合には、ロール角依存性ありモードを動作モードとして選択してよい。HMD100のバッテリ残量が閾値より高い場合には、ARオブジェクトを回転させる処理を行うロール角依存性なしモードが選択され、表示制御部314による消費電力が低減されなくてもよい可能性があると考えられるからである。
なお、動作モードが切り替わった場合、ARオブジェクトの位置は徐々に遷移されてもよい(ARオブジェクトがアニメーション表現により遷移されてもよい)。ここで、動作モードの切り替えは、アプリケーション機能によって実現されてよい。例えば、ARオブジェクトの描画処理は動作モードの参照結果に基づいて行われるため、あるARオブジェクトの描画処理における動作モードの切り替えは、次のARオブジェクトの描画処理に反映され得る。
ただし、ARオブジェクトの位置が徐々に遷移される場合には、ARオブジェクトの位置および向きを徐々に変化させる処理ブロックをアプリケーションとは別に用意してもよい。あるいは、アプリケーション機能によって徐々にARオブジェクトの位置および向きが変化されてもよい。
(ロール制限角の更新)
以上、ロール角依存性なしモードおよびロール角依存性ありモードのいずれか一方を動作モードとして選択する例を説明した。ここで、ロール角依存性ありモードにおいて上記のロール制限角は固定値であってもよいが、状況に応じて更新されてもよい。以下、ロール制限角の更新について説明する。図31は、ロール制限角の更新の例を説明するための図である。例えば、図31において、ARオブジェクトA〜Eは、メニュー画面を構成していてよい。
以上、ロール角依存性なしモードおよびロール角依存性ありモードのいずれか一方を動作モードとして選択する例を説明した。ここで、ロール角依存性ありモードにおいて上記のロール制限角は固定値であってもよいが、状況に応じて更新されてもよい。以下、ロール制限角の更新について説明する。図31は、ロール制限角の更新の例を説明するための図である。例えば、図31において、ARオブジェクトA〜Eは、メニュー画面を構成していてよい。
まず、視野V17−1に示すように、ユーザが首を傾げている場合には、左右中心軸Daが水平軸Haに対して傾く。このとき、表示制御部314は、ロール角依存性ありモードでは、ロール角がロール制限角Rrを超えるまで、ARオブジェクトA〜Eをロール角とは逆向きにロール角と同じ大きさだけ回転させて視野V17−1に表示させてよい。
そして、視野V17−2に示すように、表示制御部314は、ロール角がロール制限角Rrを超えた場合、ARオブジェクトA〜Eの位置をロール角とは逆向きにロール制限角Rrと同じ大きさだけ回転させるとよい。しかし、ロール角の大きさが閾値(例えば、60度)を超えた時間が所定時間(例えば、10秒)継続した場合には、ユーザの姿勢自体が変化した可能性が高いため、ロール制限角Rrを更新したほうが、ARオブジェクトA〜Eの検索性が向上すると考えられる。
そこで、表示制御部314は、ロール角の大きさが閾値r1を超えた時間が所定時間継続した場合、ロール制限角Rrを更新するとよい。図31に示した例では、ロール角の大きさが閾値r1を超えた時間が所定時間継続したため、表示制御部314は、ロール制限角Rrを小さくするようにして(例えば、ロール制限角Rrを零にして)視野V17−3にARオブジェクトA〜Eを表示させている。なお、ロール制限角Rrの更新とともに、ARオブジェクトA〜Eの位置は徐々に遷移されてもよい(ARオブジェクトA〜Eがアニメーション表現により遷移されてもよい)。
ここで、ロール制限角の更新は、アプリケーション機能によって実現されてよい。例えば、ARオブジェクトの描画処理はロール制限角の参照結果に基づいて行われるため、あるARオブジェクトの描画処理におけるロール制限角の更新結果は、次のARオブジェクトの描画処理に反映され得る。ただし、ARオブジェクトの位置が徐々に遷移される場合には、ロール制限角を徐々に変化させる処理ブロックをアプリケーションとは別に用意してもよい。あるいは、アプリケーション機能によって徐々にロール制限角が変化されてもよい。
以上、ロール角の大きさに基づいてロール制限角の更新を行う例を説明したが、ロール制限角の更新はかかる例に限定されない。例えば、表示制御部314は、視野の形態が所定の条件を満たす場合、所定の角度を更新してもよい。より詳細には、表示制御部314は、視野が横長の場合(例えば、視野の縦の長さに相当するピッチ角が20°より小さい場合、かつ、視野の横の長さが視野の縦の長さよりも長い場合)、視野からARオブジェクトが外れてしまうことを防ぐため、ロール制限角をより小さくしてもよい。また、表示制御部314は、ARオブジェクトが視野からはみ出ないようにすることによって(ロール制限角を狭くすることによって)、ARオブジェクトに書かれた文字が全部ユーザに見えるようにしてもよい。あるいは、表示制御部314は、オブジェクトの一部が視野からはみ出すことを許容するが、最低限オブジェクトの端部を視野に入れ、オブジェクトの存在だけはユーザに認識されるようにロール制限角を広くしてもよい。
また、例えば、表示制御部314は、HMD100の能力が所定の条件を満たす場合、ロール制限角を更新してもよい。より詳細には、表示制御部314は、HMD100の能力が閾値より低い場合には、ロール制限角をより小さくしてもよい(例えば、ロール制限角を零にしてもよい)。HMD100の能力が閾値より低い場合には、ARオブジェクトを回転させる処理を行わないことによって、表示制御部314への処理負荷が低減されることが望ましいと考えられるからである。
なお、HMD100の能力は、表示制御部314によってARオブジェクトの描画処理を行う能力であってもよい。ARオブジェクトの描画処理を行う能力は、演算装置の能力であってもよいし、演算装置の能力からARオブジェクトの描画処理以外の動作によって使用されている能力が除外された能力であってもよい。
(ARオブジェクトの描画動作)
以上、ロール制限角の更新について説明した。続いて、ARオブジェクトの描画動作の例について説明する。図32は、ARオブジェクトの描画動作の例を示すフローチャートである。なお、ここでは、ARオブジェクトに対して、ロール角依存性なしモードを選択するか否かを示す情報(ロール角依存性があるか否かを示す情報)とロール制限角とが関連付けられている例を想定している。
以上、ロール制限角の更新について説明した。続いて、ARオブジェクトの描画動作の例について説明する。図32は、ARオブジェクトの描画動作の例を示すフローチャートである。なお、ここでは、ARオブジェクトに対して、ロール角依存性なしモードを選択するか否かを示す情報(ロール角依存性があるか否かを示す情報)とロール制限角とが関連付けられている例を想定している。
例えば、ロール角依存性があるか否かを示す情報とロール制限角とは、あらかじめアプリケーションの開発者によってユースケースに応じてARオブジェクトに関連付けられてもよい。しかし、ロール角依存性があるか否かを示す情報とロール制限角とは、ARオブジェクトに依存しない値として決められてもよい。まず、表示制御部314は、未描画で視野に入るARオブジェクトがあるか否かを判定する(ステップ601)。
続いて、表示制御部314は、未描画で視野に入るARオブジェクトがないと判定した場合には(ステップ601で「No」)、描画動作を終了する。一方、表示制御部314は、未描画で視野に入るARオブジェクトがあると判定した場合には(ステップ601で「Yes」)、そのARオブジェクトにロール角依存性があるか否かを判定する(ステップ602)。
続いて、表示制御部314は、そのARオブジェクトにロール角依存性があると判定した場合には(ステップ602で「Yes」)、ロール角依存性ありモードを選択し、ロール角に依存したARオブジェクト描画処理を行い(S603)、S601に戻る。一方、表示制御部314は、そのARオブジェクトにロール角依存性がないと判定した場合には(ステップ602で「No」)、ロール角依存性なしモードを選択し、ロール角に依存しないARオブジェクト描画処理を行い(S604)、S601に戻る。
続いて、ARオブジェクトの描画動作の他の例について説明する。図33は、ARオブジェクトの描画動作の他の例を示すフローチャートである。なお、ここでは、ARオブジェクトに対して、ロール角依存性なしモードを選択するか否かを示す情報(ロール角依存性があるか否かを示す情報)とロール制限角とに加えて、視野領域の高さ制限を行うか否かを示す情報(高さ制限属性があるか否かを示す情報)が関連付けられている例を想定している。
例えば、ロール角依存性があるか否かを示す情報とロール制限角に加えて、視野領域の高さ制限を行うか否かを示す情報も、あらかじめアプリケーションの開発者によってユースケースに応じてARオブジェクトに関連付けられてもよい。しかし、ロール角依存性があるか否かを示す情報とロール制限角に加えて、視野領域の高さ制限を行うか否かを示す情報も、ARオブジェクトに依存しない値として決められてもよい。まず、表示制御部314は、未描画で視野に入るARオブジェクトがあるか否かを判定する(ステップ701)。
続いて、表示制御部314は、未描画で視野に入るARオブジェクトがないと判定した場合には(ステップ701で「No」)、描画動作を終了する。一方、表示制御部314は、未描画で視野に入るARオブジェクトがあると判定した場合には(ステップ701で「Yes」)、そのARオブジェクトに高さ制限属性があるか否かを判定する(ステップ702)。表示制御部314は、そのARオブジェクトに高さ制限属性があると判定した場合には(ステップ702で「Yes」)、ステップ703に進み、そのARオブジェクトに高さ制限属性がないと判定した場合には(ステップ702で「No」)、ステップ704に進む。
ステップ703に進んだ場合、表示制御部314は、そのARオブジェクトにロール角依存性があるか否かを判定する(ステップ703)。表示制御部314は、そのARオブジェクトにロール角依存性があると判定した場合(ステップ703で「Yes」)、高さ制限およびロール角を考慮したARオブジェクト描画処理を行い(S703)、S701に戻る。一方、表示制御部314は、そのARオブジェクトにロール角依存性がないと判定した場合に(ステップ703で「No」)、高さ制限を考慮したARオブジェクト描画処理を行い(S705)、S701に戻る。
ステップ704に進んだ場合、表示制御部314は、そのARオブジェクトにロール角依存性があるか否かを判定する(ステップ704)。表示制御部314は、そのARオブジェクトにロール角依存性があると判定した場合(ステップ704で「Yes」)、ロール角を考慮したARオブジェクト描画処理を行い(S707)、S701に戻る。一方、表示制御部314は、そのARオブジェクトにロール角依存性がないと判定した場合に(ステップ704で「No」)、高さ制限およびロール角を考慮したARオブジェクト描画処理を行い(S708)、S701に戻る。
(各動作モードの奏する効果)
以上、ARオブジェクトの描画動作の他の例について説明した。以下では、ARオブジェクトの表示手法がロール角依存性ありの場合およびロール角依存性なしの場合それぞれが奏する効果についてさらに詳細に説明する。図34は、ARオブジェクトの表示手法がロール角依存性ありの場合におけるARオブジェクトの表示例を示す図である。また、図35は、ARオブジェクトの表示手法がロール角依存性なしの場合におけるARオブジェクトの表示例を示す図である。
以上、ARオブジェクトの描画動作の他の例について説明した。以下では、ARオブジェクトの表示手法がロール角依存性ありの場合およびロール角依存性なしの場合それぞれが奏する効果についてさらに詳細に説明する。図34は、ARオブジェクトの表示手法がロール角依存性ありの場合におけるARオブジェクトの表示例を示す図である。また、図35は、ARオブジェクトの表示手法がロール角依存性なしの場合におけるARオブジェクトの表示例を示す図である。
図34に示した例では、ARオブジェクトAの表示手法がロール角依存性ありの場合において、ユーザが頭を傾けるたびに視野V18−1と視野V18−2との間で視野が変化する場面を想定する。かかる例では、視野に対してARオブジェクトAが動いてしまうため、ARオブジェクトAが視野から外れてしまうことが何度も発生し、ARオブジェクトAの視認性が低下する可能性がある(特に文字を含んだARオブジェクトAの視認性が低下する可能性がある)。
しかし、例えば、表示画角がある程度よりも広い場合(例えば、視野の縦横の長さに相当するピッチ角がそれぞれ50°より大きい場合)、ARオブジェクトが視野から外れる可能性が低く、かつ、ARオブジェクトAのぶれが少なく見えるため、位置ロール角依存性ありが有用である可能性がある。
一方、図35に示した例では、ARオブジェクトAの表示手法がロール角依存性なしの場合において、ユーザが頭を傾けるたびに視野V18−1と視野V18−2との間で視野が変化する例を想定する。かかる例では、視野に対してARオブジェクトAが固定されるため、ARオブジェクトAが視野から外れてしまう可能性がなく、ARオブジェクトAの視認性を維持することが可能となる。
例えば、表示画角がある程度よりも狭い場合、かつ、視野が横長の場合(例えば、視野の縦の長さに相当するピッチ角が20°より小さい場合、かつ、視野の横の長さが視野の縦の長さよりも長い場合)、ロール角依存性なしが有用である可能性が高い。
さらに、ARオブジェクトAの表示手法がロール角依存性なしの場合においては、ロール角に応じた画像処理をARオブジェクトAに施す必要がないため、演算装置に対する負荷を軽減することが可能となる。そのため、ロール角依存性なしは、グラフィックエンジンを積まないシステムにも適用され得る。また、演算装置に対する負荷が軽減されるため、演算装置による消費電力が低減され、バッテリ持続時間を長くすることが可能となり、バッテリの軽量化が可能となる。さらに、ロール角依存性なしでは、システムの簡易化を行なえるため、システム構築に要するコストも削減され得る。
(ARオブジェクトの変形)
以上、ARオブジェクトの表示手法がロール角依存性ありの場合およびロール角依存性なしの場合それぞれが奏する効果について説明した。ところで、ARオブジェクトは、2次元画像である場合と3次元オブジェクトである場合とがある。このとき、ARオブジェクトが2次元画像である場合と3次元オブジェクトである場合とによって、ARオブジェクトの表示を変えてもよい。図36を参照しながら具体的に説明する。
以上、ARオブジェクトの表示手法がロール角依存性ありの場合およびロール角依存性なしの場合それぞれが奏する効果について説明した。ところで、ARオブジェクトは、2次元画像である場合と3次元オブジェクトである場合とがある。このとき、ARオブジェクトが2次元画像である場合と3次元オブジェクトである場合とによって、ARオブジェクトの表示を変えてもよい。図36を参照しながら具体的に説明する。
図36は、ARオブジェクトが2次元画像である場合および3次元オブジェクトである場合それぞれにおけるARオブジェクトの表示例を示す図である。例えば、表示制御部314は、ARオブジェクトAが3次元オブジェクトである場合、ARオブジェクトAに対して所定の画像処理を施し、所定の画像処理が施されたARオブジェクトAを視野V19−1に表示させてよい。そうすれば、3次元ARオブジェクトAの立体感を出すことが可能となる。例えば、3次元ARオブジェクトAに対して、3次元ARオブジェクトAとHMD100との位置関係に応じた画像処理(例えば、対応するヨー角、ピッチ角に応じた角度から見えるようにする画像処理)が施されてよい。
図36に示した例では、プレート型の3次元ARオブジェクトAが円筒座標C0に貼り付いているため、表示制御部314は、3次元ARオブジェクトAを単に視野V19−1の縦方向に縮小し、縮小された3次元ARオブジェクトAを視野V19−1に表示させている。このように、プレート型の3次元ARオブジェクトAが円筒座標C0に貼り付いている場合には、3次元ARオブジェクトAを単に視野V19−1の縦方向に縮小する画像処理を施せばよいため、描画処理に要する処理負荷が低減される。
なお、表示制御部314は、HMD100の能力が閾値より低い場合には、ARオブジェクトAが3次元オブジェクトであってもARオブジェクトAに対して画像処理(3次元ARオブジェクトAとHMD100との位置関係に応じた画像処理(例えば、対応するヨー角、ピッチ角に応じた角度から見えるようにする画像処理))を施さなくてもよい。HMD100の能力は、表示制御部314によって3次元ARオブジェクトAの描画処理を行う能力であってもよい。3次元ARオブジェクトAの描画処理を行う能力は、演算装置の能力であってもよいし、演算装置の能力から3次元ARオブジェクトAの描画処理以外の動作によって使用されている能力が除外された能力であってもよい。
一方、表示制御部314は、ARオブジェクトAが2次元画像である場合、画像処理が施されないARオブジェクトAを視野に表示させるのがよい。そうすれば、ARオブジェクトAが平面上に拡がっていることをユーザに把握させることが可能となる。図36に示した例では、画像処理が施されないARオブジェクトAが視野V19−2に表示されている。
また、図37は、ARオブジェクトが3次元オブジェクトである場合における詳細な表示例を示す図である。図37には、正面から見たARオブジェクトB20−1が視野V20−1に表示されている。また、斜め上から見たARオブジェクトB20−2が視野V20−1に表示されている。この例のように、表示制御部314は、ARオブジェクトが3次元オブジェクトである場合、異なる角度から見たようにARオブジェクトに対する画像処理を施し、画像処理が施されたARオブジェクトを表示させてもよい。
また、図38は、ARオブジェクトが2次元画像である場合における詳細な表示例を示す図である。図38には、正面から見たARオブジェクトB21−1が視野V21に表示されている。また、斜め上から見たARオブジェクトB21−2が視野V21に表示されている。この例のように、表示制御部314は、ARオブジェクトが2次元画像である場合、ARオブジェクトに対する画像処理を施さずに、画像処理が施されないARオブジェクトを表示させてもよい。
例えば、表示制御部314は、アプリケーションの開発者によってARオブジェクトに関連付けられた情報に基づいて、ARオブジェクトが3次元オブジェクトであるか、2次元画像であるかを判定してよい。例えば、立体的なARオブジェクトに対しては、3次元オブジェクトであることを示す情報がアプリケーションの開発者によって関連付けられてよい。また、例えば、所定の情報(例えば、文字情報、アイコンなど)を含むARオブジェクトに対しては、2次元画像であることを示す情報がアプリケーションの開発者によって関連付けられてよい。
(3次元オブジェクトの更新)
以上に説明したように、HMD100との位置関係が変化した3次元オブジェクトは、更新される必要がある点において、2次元画像と異なっている。例えば、HMD100と3次元オブジェクトの位置関係が変化する場合としては、3次元オブジェクトが動く場合とユーザが動く場合とが想定される。以下では、続いて、ARオブジェクトが3次元オブジェクトである場合におけるARオブジェクトの更新動作(以下、単に「ARオブジェクトの更新動作」とも言う。)の例について説明する。
以上に説明したように、HMD100との位置関係が変化した3次元オブジェクトは、更新される必要がある点において、2次元画像と異なっている。例えば、HMD100と3次元オブジェクトの位置関係が変化する場合としては、3次元オブジェクトが動く場合とユーザが動く場合とが想定される。以下では、続いて、ARオブジェクトが3次元オブジェクトである場合におけるARオブジェクトの更新動作(以下、単に「ARオブジェクトの更新動作」とも言う。)の例について説明する。
なお、以下では、かかるARオブジェクトの更新動作は、ARオブジェクトの描画動作とは別に行われる場合を想定する。図39は、ARオブジェクトの更新動作の例を示すフローチャートである。一方、図40は、ARオブジェクトの描画動作の基本的な例を示すフローチャートである。
ARオブジェクトの更新動作がなされる周期は限定されないが、例えば、ARオブジェクトの更新動作は、1/30秒に1回行われてもよい。一方、ARオブジェクトの描画動作がなされる周期も限定されないが、例えば、ARオブジェクトの描画動作は、ARオブジェクトの更新動作と比較して周期が短くてよい。例えば、ARオブジェクトの描画動作は、1/60秒に1回行われてもよい。
まず、ARオブジェクトの描画動作の基本的な例について説明する。最初に、表示制御部314は、未描画で視野に入るARオブジェクトがあるか否かを判定する(ステップ901)。続いて、表示制御部314は、未描画で視野に入るARオブジェクトがないと判定した場合には(ステップ901で「No」)、描画動作を終了する。一方、表示制御部314は、未描画で視野に入るARオブジェクトがあると判定した場合には(ステップ901で「Yes」)、ARオブジェクト描画処理を行い(ステップ902)、S901に戻る。
続いて、ARオブジェクトの更新動作の例について説明する。最初に、表示制御部314は、HMD100との位置関係が変化したARオブジェクトがあるか否かを判定する(ステップ801)。表示制御部314は、HMD100との位置関係が変化したARオブジェクトがないと判定した場合には(ステップ801で「No」)、次のARオブジェクトの更新処理に動作を移行させる。
一方、表示制御部314は、HMD100との位置関係が変化したARオブジェクトがあると判定した場合には(ステップ801で「Yes」)、HMDとの位置関係が変化したARオブジェクトの円筒座標CO上におけるARオブジェクトの座標位置を更新する(ステップ802)。
続いて、表示制御部314は、円筒座標CO上におけるARオブジェクトの座標位置を更新したARオブジェクトの中に3次元オブジェクトがあるか否かを判定する(ステップ803)。表示制御部314は、円筒座標CO上における座標位置を更新したARオブジェクトの中に3次元オブジェクトがないと判定した場合には(ステップ803で「No」)、次のARオブジェクトの更新処理に動作を移行させる。
一方、表示制御部314は、円筒座標CO上における座標位置を更新したARオブジェクトの中に3次元オブジェクトがあると判定した場合には(ステップ803で「Yes」)、該当するARオブジェクトを3Dレンダリングしなおしたもので上書きして(ステップ804)、次のARオブジェクトの更新処理に動作を移行させる。
(ARオブジェクトと非ARオブジェクトとの混在)
以上においては、ヨー角およびピッチ角の少なくともいずれか一方に応じたオブジェクトであるARオブジェクトをユーザの視野に提供する例を主に説明した。一方、ヨー角にもピッチ角にも応じないオブジェクト(以下、「非ARオブジェクト」とも言う。)もユーザの視野に提供され得る。以下では、ARオブジェクトと非ARオブジェクトとの双方をユーザの視野に提供する例を説明する。
以上においては、ヨー角およびピッチ角の少なくともいずれか一方に応じたオブジェクトであるARオブジェクトをユーザの視野に提供する例を主に説明した。一方、ヨー角にもピッチ角にも応じないオブジェクト(以下、「非ARオブジェクト」とも言う。)もユーザの視野に提供され得る。以下では、ARオブジェクトと非ARオブジェクトとの双方をユーザの視野に提供する例を説明する。
図41は、ARオブジェクトと非ARオブジェクトとの双方をユーザの視野に提供する例を示す図である。図41に示すように、例えば、表示制御部314は、ヨー角およびピッチ角に応じたARオブジェクトB22を視野V22に表示させてよい。また、例えば、表示制御部314は、ヨー角およびピッチ角のいずれにも応じない非ARオブジェクトG22を視野V22に表示させてよい。
なお、ARオブジェクトB22は、ユーザから見た目的地の方向を示しており、ヨー角およびピッチ角のいずれかが変化すれば、その変化に応じてユーザの視野V22におけるARオブジェクトB22の位置も変化し得る。一方、非ARオブジェクトG22は、目的地までの距離を示しており、ヨー角およびピッチ角が変化しても、ユーザの視野V22における非ARオブジェクトG22の位置は固定され得る。
図42は、ARオブジェクトと非ARオブジェクトとの双方をユーザの視野に提供する他の例を示す図である。図42に示すように、例えば、表示制御部314は、ヨー角およびピッチ角に応じたARオブジェクトA〜Fを視野V23に表示させてよい。また、例えば、表示制御部314は、ヨー角およびピッチ角のいずれにも応じない非ARオブジェクトG23を視野V23に表示させてよい。
なお、ARオブジェクトA〜Fは、メニュー画面に含まれており、ヨー角およびピッチ角のいずれかが変化すれば、その変化に応じてユーザの視野V23におけるARオブジェクトA〜Fの位置も変化し得る。一方、非ARオブジェクトG23は、選択ターゲット位置(所定の選択操作がなされると選択ターゲット位置にあるARオブジェクトが選択される)を示しており、ヨー角およびピッチ角が変化しても、ユーザの視野V23における非ARオブジェクトG23の位置は固定され得る。
以上、本技術の実施形態について説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば以上の実施形態では、HMDに本技術を適用した例を説明したが、HMD以外の画像表示装置として、例えば、車両の運転席や航空機等のコックピットに搭載されるヘッドアップディスプレイ(HUD)にも本技術は適用可能である。あるいは、コンタクトレンズ型表示装置にも本技術は適用可能であり、片目仕様のアイウェアにも本技術は適用可能であり、スマートフォンなどの端末にも本技術は適用可能である。
また以上の実施形態では、シースルー型(透過型)のHMDへの適用例を説明したが、非透過型のHMDにも本技術は適用可能である。この場合、表示部に装着したカメラで撮像された外界視野に、本技術に係る所定のオブジェクトを表示すればよい。
さらに以上の実施形態では、HMD100は、実空間に存在する所定の対象物に関連する情報を含むオブジェクトを視野Vに表示するように構成されたが、これに限られず、ユーザUの現在位置や進行方向に基づいて行先案内表示等が視野Vに表示されてもよい。
なお、本技術は以下のような構成も採ることができる。
(1)
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、
前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御装置。
(2)
前記表示制御部は、前記視野における前記オブジェクトの位置を前記ロール角に依存させる第2のモードとして動作可能である、
前記(1)に記載の表示制御装置。
(3)
前記表示制御部は、前記第1のモードおよび前記第2のモードのいずれか一方を動作モードとして選択する、
前記(2)に記載の表示制御装置。
(4)
前記表示制御部は、ユーザによる操作に基づいて、前記第1のモードおよび前記第2のモードのいずれか一方を前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(5)
前記表示制御部は、前記オブジェクトがユーザによる操作を受け付け可能である場合、前記第1のモードを前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(6)
前記表示制御部は、前記オブジェクトが3次元オブジェクトである場合、前記第2のモードを前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(7)
前記表示制御部は、前記表示制御装置の能力に基づいて、前記第1のモードおよび前記第2のモードのいずれか一方を前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(8)
前記表示制御部は、前記第1のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させない、
前記(1)〜(7)のいずれか一項に記載の表示制御装置。
(9)
前記表示制御部は、前記第1のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させる、
前記(1)〜(8)のいずれか一項に記載の表示制御装置。
(10)
前記表示制御部は、前記第2のモードとして動作しているとき、前記視野における前記オブジェクトを前記ロール角とは逆向きに前記ロール角と同じ大きさだけ回転させる、
前記(2)〜(9)のいずれか一項に記載の表示制御装置。
(11)
前記表示制御部は、前記第2のモードとして動作しているとき、前記ロール角が所定の角度を超えた場合、前記視野における前記オブジェクトの位置を前記ロール角とは逆向きに前記所定の角度と同じ大きさだけ回転させる、
前記(10)に記載の表示制御装置。
(12)
前記表示制御部は、前記第2のモードとして動作しているとき、前記ロール角が所定の角度を超えた場合、前記視野における前記オブジェクトの位置を、前記ロール角とは逆向きに前記ロール角と同じ大きさだけ回転させた位置から、前記ロール角とは逆向きに前記所定の角度と同じ大きさだけ回転させた位置へ、徐々に移動させる、
前記(11)に記載の表示制御装置。
(13)
前記表示制御部は、前記ロール角の大きさが閾値を超えた時間が所定時間継続した場合、前記所定の角度を更新する、
前記(11)または(12)に記載の表示制御装置。
(14)
前記表示制御部は、前記視野の形態が所定の条件を満たす場合、前記所定の角度を更新する、
前記(11)または(12)に記載の表示制御装置。
(15)
前記表示制御部は、前記第2のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させる、
前記(2)〜(14)のいずれか一項に記載の表示制御装置。
(16)
前記表示制御部は、少なくとも前記ピッチ角に対応する前記オブジェクトを前記視野に表示させ、
前記オブジェクトに対応する前記ピッチ角は、所定の範囲内に制限される、
前記(1)〜(15)のいずれか一項に記載の表示制御装置。
(17)
前記表示制御部は、前記オブジェクトが3次元オブジェクトである場合、画像処理が施されたオブジェクトを前記視野に表示させる、
前記(1)〜(16)のいずれか一項に記載の表示制御装置。
(18)
前記表示制御部は、前記オブジェクトが2次元画像である場合、画像処理が施されないオブジェクトを前記視野に表示させる、
前記(1)〜(17)のいずれか一項に記載の表示制御装置。
(19)
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させることを備え、
前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御方法。
(20)
コンピュータを、
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、
前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御装置として機能させるためのプログラム。
(1)
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、
前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御装置。
(2)
前記表示制御部は、前記視野における前記オブジェクトの位置を前記ロール角に依存させる第2のモードとして動作可能である、
前記(1)に記載の表示制御装置。
(3)
前記表示制御部は、前記第1のモードおよび前記第2のモードのいずれか一方を動作モードとして選択する、
前記(2)に記載の表示制御装置。
(4)
前記表示制御部は、ユーザによる操作に基づいて、前記第1のモードおよび前記第2のモードのいずれか一方を前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(5)
前記表示制御部は、前記オブジェクトがユーザによる操作を受け付け可能である場合、前記第1のモードを前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(6)
前記表示制御部は、前記オブジェクトが3次元オブジェクトである場合、前記第2のモードを前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(7)
前記表示制御部は、前記表示制御装置の能力に基づいて、前記第1のモードおよび前記第2のモードのいずれか一方を前記動作モードとして選択する、
前記(3)に記載の表示制御装置。
(8)
前記表示制御部は、前記第1のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させない、
前記(1)〜(7)のいずれか一項に記載の表示制御装置。
(9)
前記表示制御部は、前記第1のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させる、
前記(1)〜(8)のいずれか一項に記載の表示制御装置。
(10)
前記表示制御部は、前記第2のモードとして動作しているとき、前記視野における前記オブジェクトを前記ロール角とは逆向きに前記ロール角と同じ大きさだけ回転させる、
前記(2)〜(9)のいずれか一項に記載の表示制御装置。
(11)
前記表示制御部は、前記第2のモードとして動作しているとき、前記ロール角が所定の角度を超えた場合、前記視野における前記オブジェクトの位置を前記ロール角とは逆向きに前記所定の角度と同じ大きさだけ回転させる、
前記(10)に記載の表示制御装置。
(12)
前記表示制御部は、前記第2のモードとして動作しているとき、前記ロール角が所定の角度を超えた場合、前記視野における前記オブジェクトの位置を、前記ロール角とは逆向きに前記ロール角と同じ大きさだけ回転させた位置から、前記ロール角とは逆向きに前記所定の角度と同じ大きさだけ回転させた位置へ、徐々に移動させる、
前記(11)に記載の表示制御装置。
(13)
前記表示制御部は、前記ロール角の大きさが閾値を超えた時間が所定時間継続した場合、前記所定の角度を更新する、
前記(11)または(12)に記載の表示制御装置。
(14)
前記表示制御部は、前記視野の形態が所定の条件を満たす場合、前記所定の角度を更新する、
前記(11)または(12)に記載の表示制御装置。
(15)
前記表示制御部は、前記第2のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させる、
前記(2)〜(14)のいずれか一項に記載の表示制御装置。
(16)
前記表示制御部は、少なくとも前記ピッチ角に対応する前記オブジェクトを前記視野に表示させ、
前記オブジェクトに対応する前記ピッチ角は、所定の範囲内に制限される、
前記(1)〜(15)のいずれか一項に記載の表示制御装置。
(17)
前記表示制御部は、前記オブジェクトが3次元オブジェクトである場合、画像処理が施されたオブジェクトを前記視野に表示させる、
前記(1)〜(16)のいずれか一項に記載の表示制御装置。
(18)
前記表示制御部は、前記オブジェクトが2次元画像である場合、画像処理が施されないオブジェクトを前記視野に表示させる、
前記(1)〜(17)のいずれか一項に記載の表示制御装置。
(19)
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させることを備え、
前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御方法。
(20)
コンピュータを、
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、
前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御装置として機能させるためのプログラム。
10…表示部
11R,11L…表示面
12R,12L…画像生成部
20…検出部
30…制御ユニット
100…ヘッドマウントディスプレイ(HMD)
200…携帯情報端末
311…座標設定部
312…画像管理部
313…座標判定部
314…表示制御部
A1〜A4…対象物
B、B1〜B4…オブジェクト
C0,C1…円筒座標(ワールド座標)
V…視野
U…ユーザ
11R,11L…表示面
12R,12L…画像生成部
20…検出部
30…制御ユニット
100…ヘッドマウントディスプレイ(HMD)
200…携帯情報端末
311…座標設定部
312…画像管理部
313…座標判定部
314…表示制御部
A1〜A4…対象物
B、B1〜B4…オブジェクト
C0,C1…円筒座標(ワールド座標)
V…視野
U…ユーザ
Claims (20)
- 表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、
前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御装置。 - 前記表示制御部は、前記視野における前記オブジェクトの位置を前記ロール角に依存させる第2のモードとして動作可能である、
請求項1に記載の表示制御装置。 - 前記表示制御部は、前記第1のモードおよび前記第2のモードのいずれか一方を動作モードとして選択する、
請求項2に記載の表示制御装置。 - 前記表示制御部は、ユーザによる操作に基づいて、前記第1のモードおよび前記第2のモードのいずれか一方を前記動作モードとして選択する、
請求項3に記載の表示制御装置。 - 前記表示制御部は、前記オブジェクトがユーザによる操作を受け付け可能である場合、前記第1のモードを前記動作モードとして選択する、
請求項3に記載の表示制御装置。 - 前記表示制御部は、前記オブジェクトが3次元オブジェクトである場合、前記第2のモードを前記動作モードとして選択する、
請求項3に記載の表示制御装置。 - 前記表示制御部は、前記表示制御装置の能力に基づいて、前記第1のモードおよび前記第2のモードのいずれか一方を前記動作モードとして選択する、
請求項3に記載の表示制御装置。 - 前記表示制御部は、前記第1のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させない、
請求項1に記載の表示制御装置。 - 前記表示制御部は、前記第1のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させる、
請求項1に記載の表示制御装置。 - 前記表示制御部は、前記第2のモードとして動作しているとき、前記視野における前記オブジェクトを前記ロール角とは逆向きに前記ロール角と同じ大きさだけ回転させる、
請求項2に記載の表示制御装置。 - 前記表示制御部は、前記第2のモードとして動作しているとき、前記ロール角が所定の角度を超えた場合、前記視野における前記オブジェクトの位置を前記ロール角とは逆向きに前記所定の角度と同じ大きさだけ回転させる、
請求項10に記載の表示制御装置。 - 前記表示制御部は、前記第2のモードとして動作しているとき、前記ロール角が所定の角度を超えた場合、前記視野における前記オブジェクトの位置を、前記ロール角とは逆向きに前記ロール角と同じ大きさだけ回転させた位置から、前記ロール角とは逆向きに前記所定の角度と同じ大きさだけ回転させた位置へ、徐々に移動させる、
請求項11に記載の表示制御装置。 - 前記表示制御部は、前記ロール角の大きさが閾値を超えた時間が所定時間継続した場合、前記所定の角度を更新する、
請求項11に記載の表示制御装置。 - 前記表示制御部は、前記視野の形態が所定の条件を満たす場合、前記所定の角度を更新する、
請求項11に記載の表示制御装置。 - 前記表示制御部は、前記第2のモードとして動作しているとき、前記視野における前記オブジェクトの向きを前記ロール角に依存させる、
請求項2に記載の表示制御装置。 - 前記表示制御部は、少なくとも前記ピッチ角に対応する前記オブジェクトを前記視野に表示させ、
前記オブジェクトに対応する前記ピッチ角は、所定の範囲内に制限される、
請求項1に記載の表示制御装置。 - 前記表示制御部は、前記オブジェクトが3次元オブジェクトである場合、画像処理が施されたオブジェクトを前記視野に表示させる、
請求項1に記載の表示制御装置。 - 前記表示制御部は、前記オブジェクトが2次元画像である場合、画像処理が施されないオブジェクトを前記視野に表示させる、
請求項1に記載の表示制御装置。 - 表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させることを備え、
前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御方法。 - コンピュータを、
表示部のヨー角およびピッチ角のうち少なくともいずれか一方に応じたオブジェクトをユーザの視野に表示させる表示制御部を備え、
前記表示制御部は、前記視野における前記オブジェクトの位置を前記表示部のロール角に依存させない第1のモードとして動作可能である、
表示制御装置として機能させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014245935A JP2016110319A (ja) | 2014-12-04 | 2014-12-04 | 表示制御装置、表示制御方法およびプログラム |
KR1020177014085A KR20170089854A (ko) | 2014-12-04 | 2015-09-08 | 표시 제어 장치, 표시 제어 방법 및 프로그램 |
US15/529,660 US20170329480A1 (en) | 2014-12-04 | 2015-09-08 | Display control apparatus, display control method, and program |
EP15865988.8A EP3229104A4 (en) | 2014-12-04 | 2015-09-08 | Display control device, display control method, and program |
PCT/JP2015/075492 WO2016088420A1 (ja) | 2014-12-04 | 2015-09-08 | 表示制御装置、表示制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014245935A JP2016110319A (ja) | 2014-12-04 | 2014-12-04 | 表示制御装置、表示制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016110319A true JP2016110319A (ja) | 2016-06-20 |
Family
ID=56091378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014245935A Pending JP2016110319A (ja) | 2014-12-04 | 2014-12-04 | 表示制御装置、表示制御方法およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170329480A1 (ja) |
EP (1) | EP3229104A4 (ja) |
JP (1) | JP2016110319A (ja) |
KR (1) | KR20170089854A (ja) |
WO (1) | WO2016088420A1 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017004491A (ja) * | 2016-01-20 | 2017-01-05 | 株式会社コロプラ | フローティング・グラフィカルユーザインターフェース |
JP6152997B1 (ja) * | 2016-07-25 | 2017-06-28 | 株式会社コロプラ | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
JP2018004756A (ja) * | 2016-06-28 | 2018-01-11 | 株式会社リコー | 情報表示システム |
US9971157B2 (en) | 2016-07-25 | 2018-05-15 | Colopl, Inc. | Display control method and system for executing the display control method |
JP2018155872A (ja) * | 2017-03-16 | 2018-10-04 | 株式会社デンソーウェーブ | 情報表示システム |
CN110347239A (zh) * | 2018-04-04 | 2019-10-18 | 佳能株式会社 | 电子装置、电子装置的控制方法和计算机可读介质 |
JP2021176004A (ja) * | 2020-04-24 | 2021-11-04 | 株式会社日立製作所 | 表示装置、表示システムおよび表示方法 |
JP2022034560A (ja) * | 2020-08-18 | 2022-03-03 | ユニティ アイピーアール エイピーエス | リモートデバイス上に大型3dモデルを表示するための方法およびシステム |
JP2022138964A (ja) * | 2021-03-11 | 2022-09-26 | 株式会社日立製作所 | 表示システムおよび表示装置 |
WO2023047865A1 (ja) * | 2021-09-27 | 2023-03-30 | 株式会社Nttドコモ | 仮想空間提供装置 |
WO2023238264A1 (ja) * | 2022-06-08 | 2023-12-14 | マクセル株式会社 | 情報表示装置およびその表示方法 |
JP7471497B2 (ja) | 2019-03-20 | 2024-04-19 | 任天堂株式会社 | 画像表示システム、画像表示プログラム、表示制御装置、および画像表示方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10726814B2 (en) | 2017-01-27 | 2020-07-28 | Canon Kabushiki Kaisha | Image display apparatus, image processing apparatus, image display method, image processing method, and storage medium |
EP3585254B1 (en) | 2017-02-24 | 2024-03-20 | Masimo Corporation | Medical device cable and method of sharing data between connected medical devices |
US11024064B2 (en) * | 2017-02-24 | 2021-06-01 | Masimo Corporation | Augmented reality system for displaying patient data |
CN110809804B (zh) | 2017-05-08 | 2023-10-27 | 梅西莫股份有限公司 | 使用适配器将医疗系统与网络控制器配对的系统 |
US10445997B2 (en) | 2017-06-20 | 2019-10-15 | International Business Machines Corporation | Facilitating a search of individuals in a building during an emergency event |
KR102374404B1 (ko) * | 2017-07-25 | 2022-03-15 | 삼성전자주식회사 | 콘텐트를 제공하기 위한 디바이스 및 방법 |
KR102373510B1 (ko) * | 2017-08-11 | 2022-03-11 | 삼성전자주식회사 | 디스플레이를 회전함에 따라 컨텐츠를 시각화 하는 디스플레이 장치 및 이의 제어 방법 |
US10026209B1 (en) | 2017-12-21 | 2018-07-17 | Capital One Services, Llc | Ground plane detection for placement of augmented reality objects |
US10008045B1 (en) | 2017-12-21 | 2018-06-26 | Capital One Services, Llc | Placement of augmented reality objects using a bounding shape |
JP7121523B2 (ja) * | 2018-04-10 | 2022-08-18 | キヤノン株式会社 | 画像表示装置、画像表示方法 |
US11393197B2 (en) * | 2019-05-03 | 2022-07-19 | Cvent, Inc. | System and method for quantifying augmented reality interaction |
JP7458779B2 (ja) | 2019-12-26 | 2024-04-01 | 株式会社コロプラ | プログラム、方法および情報処理装置 |
JP7443100B2 (ja) * | 2020-03-10 | 2024-03-05 | キヤノン株式会社 | 電子機器、電子機器の制御方法、プログラムおよび記憶媒体 |
US20230343028A1 (en) * | 2022-04-20 | 2023-10-26 | Apple Inc. | Method and Device for Improving Comfortability of Virtual Content |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061064A (en) * | 1993-08-31 | 2000-05-09 | Sun Microsystems, Inc. | System and method for providing and using a computer user interface with a view space having discrete portions |
US5742264A (en) * | 1995-01-24 | 1998-04-21 | Matsushita Electric Industrial Co., Ltd. | Head-mounted display |
WO2000036376A1 (en) * | 1998-12-17 | 2000-06-22 | Tokin Corporation | Orientation angle detector |
JP4810295B2 (ja) * | 2006-05-02 | 2011-11-09 | キヤノン株式会社 | 情報処理装置及びその制御方法、画像処理装置、プログラム、記憶媒体 |
US8780014B2 (en) * | 2010-08-25 | 2014-07-15 | Eastman Kodak Company | Switchable head-mounted display |
US8907983B2 (en) * | 2010-10-07 | 2014-12-09 | Aria Glassworks, Inc. | System and method for transitioning between interface modes in virtual and augmented reality applications |
US20130342572A1 (en) * | 2012-06-26 | 2013-12-26 | Adam G. Poulos | Control of displayed content in virtual environments |
JP2014098564A (ja) * | 2012-11-13 | 2014-05-29 | Panasonic Corp | 情報表示装置 |
WO2014128810A1 (ja) * | 2013-02-22 | 2014-08-28 | ソニー株式会社 | ヘッドマウントディスプレイ及び画像表示装置 |
-
2014
- 2014-12-04 JP JP2014245935A patent/JP2016110319A/ja active Pending
-
2015
- 2015-09-08 WO PCT/JP2015/075492 patent/WO2016088420A1/ja active Application Filing
- 2015-09-08 KR KR1020177014085A patent/KR20170089854A/ko not_active Application Discontinuation
- 2015-09-08 US US15/529,660 patent/US20170329480A1/en not_active Abandoned
- 2015-09-08 EP EP15865988.8A patent/EP3229104A4/en not_active Withdrawn
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017004491A (ja) * | 2016-01-20 | 2017-01-05 | 株式会社コロプラ | フローティング・グラフィカルユーザインターフェース |
JP2018004756A (ja) * | 2016-06-28 | 2018-01-11 | 株式会社リコー | 情報表示システム |
JP6152997B1 (ja) * | 2016-07-25 | 2017-06-28 | 株式会社コロプラ | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
JP2018018147A (ja) * | 2016-07-25 | 2018-02-01 | 株式会社コロプラ | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
US9971157B2 (en) | 2016-07-25 | 2018-05-15 | Colopl, Inc. | Display control method and system for executing the display control method |
JP2022122936A (ja) * | 2017-03-16 | 2022-08-23 | 株式会社デンソーウェーブ | 情報表示システム |
JP7265312B2 (ja) | 2017-03-16 | 2023-04-26 | 株式会社デンソーウェーブ | 情報表示システム |
JP2018155872A (ja) * | 2017-03-16 | 2018-10-04 | 株式会社デンソーウェーブ | 情報表示システム |
JP2019184689A (ja) * | 2018-04-04 | 2019-10-24 | キヤノン株式会社 | 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体 |
CN110347239A (zh) * | 2018-04-04 | 2019-10-18 | 佳能株式会社 | 电子装置、电子装置的控制方法和计算机可读介质 |
JP7210153B2 (ja) | 2018-04-04 | 2023-01-23 | キヤノン株式会社 | 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体 |
JP7471497B2 (ja) | 2019-03-20 | 2024-04-19 | 任天堂株式会社 | 画像表示システム、画像表示プログラム、表示制御装置、および画像表示方法 |
JP2021176004A (ja) * | 2020-04-24 | 2021-11-04 | 株式会社日立製作所 | 表示装置、表示システムおよび表示方法 |
JP7492904B2 (ja) | 2020-04-24 | 2024-05-30 | 株式会社日立製作所 | 表示装置、表示システムおよび表示方法 |
JP2022034560A (ja) * | 2020-08-18 | 2022-03-03 | ユニティ アイピーアール エイピーエス | リモートデバイス上に大型3dモデルを表示するための方法およびシステム |
JP7189288B2 (ja) | 2020-08-18 | 2022-12-13 | ユニティ アイピーアール エイピーエス | リモートデバイス上に大型3dモデルを表示するための方法およびシステム |
JP7476128B2 (ja) | 2021-03-11 | 2024-04-30 | 株式会社日立製作所 | 表示システムおよび表示装置 |
JP2022138964A (ja) * | 2021-03-11 | 2022-09-26 | 株式会社日立製作所 | 表示システムおよび表示装置 |
WO2023047865A1 (ja) * | 2021-09-27 | 2023-03-30 | 株式会社Nttドコモ | 仮想空間提供装置 |
WO2023238264A1 (ja) * | 2022-06-08 | 2023-12-14 | マクセル株式会社 | 情報表示装置およびその表示方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3229104A1 (en) | 2017-10-11 |
WO2016088420A1 (ja) | 2016-06-09 |
EP3229104A4 (en) | 2018-08-08 |
US20170329480A1 (en) | 2017-11-16 |
KR20170089854A (ko) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016088420A1 (ja) | 表示制御装置、表示制御方法およびプログラム | |
JP6287849B2 (ja) | ヘッドマウントディスプレイ、画像表示装置及び画像表示方法 | |
US10796669B2 (en) | Method and apparatus to control an augmented reality head-mounted display | |
US11151773B2 (en) | Method and apparatus for adjusting viewing angle in virtual environment, and readable storage medium | |
JP6290754B2 (ja) | 仮想空間表示装置、仮想空間表示方法及びプログラム | |
KR20180043609A (ko) | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 | |
CN108351736B (zh) | 可穿戴显示器、图像显示装置和图像显示系统 |