(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0035】
以下、本技術に係る実施形態を、図面を参照しながら説明する。本実施形態では、画像表示装置としてヘッドマウントディスプレイに本技術を適用した例について説明する。
【0036】
<第1の実施形態>
図1は、本技術の一実施形態に係るヘッドマウントディスプレイ(以下「HMD」と称する。)の機能を説明する概略図である。まず
図1を参照して、本実施形態に係るHMDの基本的な機能の概要について説明する。
【0037】
ここで
図1において、X軸方向及びY軸方向は相互に直交する水平方向を示し、Z軸方向は鉛直軸方向を示している。これらXYZ直交座標系は、ユーザの属する実空間の座標系(実3次元座標系)を表し、X軸の矢印は北方向を示し、Y軸の矢印は東方向を示している。またZ軸の矢印は重力方向を示している。
【0038】
[HMDの機能の概要]
本実施形態のHMD100は、ユーザUの頭部に装着され、ユーザUの実空間の視野V(表示視野)に仮想的な画像を表示することが可能に構成される。視野Vに表示される画像には、当該視野Vに存在する所定の対象物A1,A2,A3,A4に関連する情報が含まれる。所定の対象物としては、例えば、ユーザUの周囲に存在する風景、店舗、商品等が該当する。
【0039】
HMD100は、HMDを装着したユーザUを包囲する仮想上のワールド座標系に対応付けられた画像(以下、オブジェクトともいう。)B1,B2,B3,B4を予め記憶する。ワールド座標系は、ユーザの属する実空間と等価な座標系であって、ユーザUの位置及び所定の軸方向を基準とした対象物A1〜A4の位置を定める。本実施形態においてワールド座標は、鉛直軸を軸心とする円筒座標C0が採用されるが、これ以外にユーザUを中心とする天球座標等の他の3次元座標が採用されてもよい。
【0040】
円筒座標C0の半径R、高さHは任意に設定可能である。ここでは、半径Rは、ユーザUから対象物A1〜A4までの距離よりも短く設定されるが、上記距離よりも長くてもよい。また高さHは、HMD100を介して提供されるユーザUの視野Vの高さ(縦方向の長さ)Hv以上の大きさに設定される。
【0041】
オブジェクトB1〜B4は、そのワールド座標系に存在する対象物A1〜A4に関連する情報を表示する画像であって、文字や絵柄等を含む画像であってもよいし、アニメーション画像であってもよい。またオブジェクトは、2次元画像であってもよいし、3次元画像であってもよい。さらにオブジェクトの形状は、矩形、円形その他の幾何学的形状であってもよく、オブジェクトの種類によって適宜設定可能である。
【0042】
円筒座標C0上におけるオブジェクトB1〜B4の座標位置は、例えば、対象物A1〜A4を注視するユーザの目線Lと円筒座標C0との交差位置にそれぞれ対応付けられる。図示の例では、オブジェクトB1〜B4各々の中心位置を上記交差位置に一致させたが、これに限られず、オブジェクトの周縁の一部(例えば四隅の一部)を上記交差位置に一致させてもよい。あるいは、オブジェクトB1〜B4の座標位置が上記交差位置から離れた任意の位置に対応付けられてもよい。
【0043】
円筒座標C0は、北方向を0°とした鉛直軸周りの角度を表す周方向の座標軸(θ)と、ユーザUの水平方向の目線Lhを基準とした上下方向の角度を表す高さ方向の座標軸(h)とを有する。座標軸(θ)は、東周りを正方向とし、座標軸(h)は、俯角を正方向、仰角を負方向としている。
【0044】
後述するように、HMD100は、ユーザUの視点方向を検出するための検出部を有しており、当該検出部の出力に基づいて、ユーザUの視野Vが円筒座標C0上のどの領域に対応するかを判定する。そしてHMD100は、視野Vを形成するxy座標系の対応領域に何れかのオブジェクト(例えばオブジェクトB1)が存在するときは、上記対応領域にオブジェクトB1を表示(描画)する。
【0045】
以上のように本実施形態のHMD100は、実空間の対象物A1に重畳してオブジェクトB1を視野Vに表示することで、ユーザUに対して対象物A1に関連する情報を提供する。またHMD100は、ユーザUの視点の方位あるいは方向に応じて、所定の対象物A1〜A4に関するオブジェクト(B1〜B4)をユーザUに提供することができる。
【0046】
続いて、HMD100の詳細について説明する。
図2は、HMD100を示す全体図であり、
図3は、その構成を示すブロック図である。
【0047】
[HMDの構成]
HMD100は、表示部10と、表示部10の姿勢を検出する検出部20と、表示部10の駆動を制御する制御ユニット30とを有する。本実施形態においてHMD100は、ユーザに実空間の視野Vを提供可能なシースルー型のHMDで構成されている。
【0048】
(表示部)
表示部10は、ユーザUの頭部に装着可能に構成される。表示部10は、第1及び第2の表示面11R,11Lと、第1及び第2の画像生成部12R,12Lと、支持体13とを有する。
【0049】
第1及び第2の表示面11R,11Lは、それぞれユーザUの右眼及び左眼に実空間(外界視野)を提供可能な透明性を有する光学素子で構成される。第1及び第2の画像生成部12R,12Lは、それぞれ第1及び第2の表示面11R,11Lを介してユーザUへ提示される画像を生成可能に構成される。支持体13は、表示面11R,11L及び画像生成部12R,12Lを支持し、第1及び第2の表示面11L,11RがユーザUの右眼及び左眼にそれぞれ対向するようにユーザの頭部に装着されることが可能な適宜の形状を有する。
【0050】
以上のように構成される表示部10は、ユーザUに対して、表示面11R,11Lを介して実空間に所定の画像(あるいは虚像)が重畳された視野Vを提供することが可能に構成される。この場合、右眼用の円筒座標C0と左眼用の円筒座標C0とがそれぞれ設定され、各円筒座標に描画されたオブジェクトが表示面11R,11Lに投影される。
【0051】
(検出部)
検出部20は、表示部10の少なくとも一軸周りの方位あるいは姿勢変化を検出することが可能に構成される。本実施形態において検出部20は、X,Y及びZ軸周りの表示部10の方位あるいは姿勢変化をそれぞれ検出するように構成されている。
【0052】
ここで、表示部10の方位とは、典型的には、表示部の正面方向を意味する。本実施形態では、表示部10の方位は、ユーザUの顔の向きと定義される。
【0053】
検出部20は、角速度センサ、加速度センサ等のモーションセンサ、あるいはこれらの組み合わせによって構成することができる。この場合、検出部20は、角速度センサ及び加速度センサの各々を3軸方向に配置したセンサユニットで構成されてもよいし、各軸に応じて使用するセンサを異ならせてもよい。表示部10の姿勢変化、変化の方向及びその変化の量等は、例えば角速度センサの出力の積分値を用いることができる。
【0054】
また、鉛直軸(Z軸)周りの表示部10の方位の検出には、地磁気センサが採用されてもよい。あるいは、地磁気センサと上記モーションセンサとが組み合わされてもよい。これにより精度の高い方位あるいは姿勢変化の検出が可能となる。
【0055】
検出部20は、表示部10の適宜の位置に配置されている。検出部20の位置は特に限定されず、例えば画像生成部12R,12Lのいずれか一方、あるいは支持体13の一部に配置される。
【0056】
(制御ユニット)
制御ユニット30(第1の制御ユニット)は、検出部20の出力に基づいて、表示部10(画像生成部12R,12L)の駆動を制御する制御信号を生成する。本実施形態において制御ユニット30は、接続ケーブル30aを介して表示部10と電気的に接続されている。勿論これに限られず、制御ユニット30は表示部10と無線通信回線を通じて接続されてもよい。
【0057】
図3に示すように制御ユニット30は、CPU301と、メモリ302(記憶部)と、送受信部303と、内部電源304と、入力操作部305とを有する。
【0058】
CPU301は、HMD100全体の動作を制御する。メモリ302は、ROM(Read Only Memory)及びRAM(Random Access Memory)等を有し、CPU301によるHMD100の制御を実行するためのプログラムや各種パラメータ、表示部10で表示するべき画像(オブジェクト)、その他必要なデータを記憶する。送受信部303は、後述する携帯情報端末200との通信のためのインターフェースを構成する。内部電源304は、HMD100の駆動に必要な電力を供給する。
【0059】
入力操作部305は、ユーザ操作によって表示部10で表示される画像を制御するためのものである。入力操作部305は、メカニカルスイッチで構成されてもよいし、タッチセンサで構成されてもよい。入力操作部305は、表示部10に設けられてもよい。
【0060】
HMD100はさらに、スピーカ等の音響出力部、カメラ等を備えていてもよい。この場合、上記音声出力部及びカメラは、典型的には表示部10に設けられる。さらに制御ユニット30には、表示部10の入力操作画面等を表示する表示デバイスが設けられてもよい。この場合、入力操作部305は、当該表示デバイスに設けられたタッチパネルで構成されてもよい。
【0061】
(携帯情報端末)
携帯情報端末200(第2の制御ユニット)は、制御ユニット30と無線通信回線を介して相互に通信可能に構成されている。携帯情報端末200は、表示部10で表示するべき画像を取得する機能と、取得した画像を制御ユニット30へ送信する機能とを有する。携帯情報端末200は、HMD100と有機的に組み合わされることで、HMDシステムを構築する。
【0062】
携帯情報端末200は、表示部10を装着するユーザUによって携帯され、パーソナルコンピュータ(PC:Personal Computer)、スマートフォン、携帯電話機、タブレットPC、PDA(Personal Digital Assistant)等の情報処理装置で構成されるが、HMD100専用の端末装置であってもよい。
【0063】
図3に示すように携帯情報端末200は、CPU201と、メモリ202と、送受信部203と、内部電源204と、表示部205と、カメラ206と、位置情報取得部207とを有する。
【0064】
CPU201は、携帯情報端末200全体の動作を制御する。メモリ202は、ROM及びRAM等を有し、CPU201による携帯情報端末200の制御を実行するためのプログラムや各種パラメータ、制御ユニット30へ送信される画像(オブジェクト)、その他必要なデータを記憶する。内部電源204は、携帯情報端末200の駆動に必要な電力を供給する。
【0065】
送受信部203は、WiFi(Wireless Fidelity)等の無線LAN(IEEE802.11等)や移動通信用の3Gや4Gのネットワークを用いて、サーバNや制御ユニット30、近隣の他の携帯情報端末等と通信する。携帯情報端末200は、送受信部203を介してサーバNから、制御ユニット30へ送信するべき画像(オブジェクト)やそれを表示するためのアプリケーションをダウンロードし、メモリ202へ格納する。
【0066】
サーバNは、典型的にはCPU、メモリ等を含むコンピュータで構成され、ユーザUの要求に応じて、あるいはユーザUの意図に依らず自動的に、所定の情報を携帯情報端末200へ送信する。
【0067】
表示部205は、例えばLCDやOLEDで構成され、各種メニューやアプリケーションのGUI等を表示する。典型的には、表示部205は、タッチパネルと一体とされており、ユーザのタッチ操作を受け付け可能である。携帯情報端末200は、表示部205のタッチ操作によって制御ユニット30へ所定の操作信号を入力することが可能に構成されている。
【0068】
位置情報取得部207は、典型的にはGPS(Global Positioning System)受信機を含む。携帯情報端末200は、位置情報取得部207を用いてユーザU(表示部10)の現在位置(経度、緯度、高度)を測位し、サーバNから必要な画像(オブジェクト)を取得することが可能に構成される。すなわちサーバNは、ユーザの現在位置に関する情報を取得し、その位置情報に応じた画像データやアプリケーションソフトウェア等を携帯情報端末200へ送信する。
【0069】
(制御ユニットの詳細)
次に、制御ユニット30の詳細について説明する。
【0070】
図4は、CPU301の機能ブロック図である。CPU301は、座標設定部311と、画像管理部312と、座標判定部313と、表示制御部314とを有する。CPU301は、メモリ302に格納されたプログラムに従って、これら座標設定部311、画像管理部312、座標判定部313及び表示制御部314における処理を実行する。
【0071】
座標設定部311は、ユーザU(表示部10)を包囲する3次元座標を設定する処理を実行するように構成される。本例では、上記3次元座標は、鉛直軸Azを中心とする円筒座標C0(
図1参照)が用いられる。座標設定部311は、円筒座標C0の半径Rと高さHをそれぞれ設定する。座標設定部311は、典型的には、ユーザUに提示するべきオブジェクトの数や種類等に応じて円筒座標C0の半径R及び高さHを設定する。
【0072】
円筒座標C0の半径Rは固定値でもよいが、表示するべき画像の大きさ(ピクセルサイズ)等に応じて任意に設定可能な可変値であってもよい。円筒座標C0の高さHは、表示部10によってユーザUへ提供される視野Vの縦方向(垂直方向)の高さHv(
図1参照)の例えば1倍以上3倍以下の大きさに設定される。高さHの上限は、Hvの3倍に限られず、Hvの3倍を超える大きさであってもよい。
【0073】
図5Aは、視野Vの高さHvと同一の高さH1を有する円筒座標C0を示している。
図5Bは、視野Vの高さHvの3倍の高さH2を有する円筒座標C0を示している。
【0074】
図6A及び
図6Bは、円筒座標C0を展開して示す模式図である。上述のように円筒座標C0は、北方向を0°とした鉛直軸周りの角度を表す周方向の座標軸(θ)と、ユーザUの水平方向の目線Lhを基準とした上下方向の角度を表す高さ方向の座標軸(h)とを有する。座標軸(θ)は、東周りを正方向とし、座標軸(h)は、俯角を正方向、仰角を負方向としている。高さhは、視野Vの高さHvの大きさを100%としたときの大きさを表し、円筒座標C0の原点OP1は、北方向の方位(0°)とユーザUの水平方向の目線Lh(h=0%)との交点に設定される。
【0075】
座標設定部311は、表示部10を方位する3次元座標における視野Vの一軸方向に沿った表示領域を制限することが可能な領域制限部としての機能を有する。本実施形態において座標設定部311は、表示部10を包囲する円筒座標C0における視野Vの高さ方向の視野領域(Hv)を制限する。具体的には、座標設定部311は、高さ(H)の規定値が、視野Vの高さHvよりも大きいとき、当該円筒座標の高さ(H)を視野Vの高さ方向の領域に応じて制限する。さらに座標設定部311は、ユーザUによる操作に応じて、例えば、円筒座標の高さをH2(
図5B)からH1(
図5A)に制限する。
【0076】
画像管理部312は、メモリ302に格納された画像を管理する機能を有し、例えば、表示部10を介して表示される単数又は複数の画像をメモリ302へ格納し、及び、メモリ302に格納された画像を選択的に削除する処理を実行するように構成される。メモリ302へ格納される画像は、携帯情報端末200から送信される。画像管理部312はまた、送受信部303を介して携帯情報端末200に対して画像の送信を要求する。
【0077】
メモリ302は、視野Vに表示すべき単数又は複数の画像(オブジェクト)を円筒座標C0に対応付けて記憶することができるように構成される。すなわちメモリ302は、
図1に示した円筒座標C0上の個々のオブジェクトB1〜B4を円筒座標C0上の座標位置とともに記憶する。
【0078】
図7に示すように、円筒座標系(θ,h)と直交座標系(X,Y,Z)とは、X=rcosθ、Y=rsinθ、Z=h、の関係を有する。
図1に示したように視野Vの方位あるいは姿勢に対応して表示すべき個々のオブジェクトB1〜B4は、それぞれ固有の円筒座標C0上の座標領域を占めており、その領域内の特定の座標位置P(θ,h)とともにメモリ302に格納される。
【0079】
円筒座標C0上におけるオブジェクトB1〜B4の座標(θ,h)は、直交座標系(X,Y,Z)で各々定義される対象物A1〜A4の位置とユーザの位置とを結ぶ直線と、円筒座標C0の円筒面との交点における円筒座標系の座標に対応付けられる。すなわちオブジェクトB1〜B4の座標は、それぞれ、実3次元座標から円筒座標C0に変換された対象物A1〜A4の座標に相当する。このようなオブジェクトの座標変換は、例えば、画像管理部312において実行され、当該座標位置とともに各オブジェクトがメモリ302へ格納される。ワールド座標系に円筒座標C0が採用されることにより、オブジェクトB1〜B4を平面的に描画することができる。
【0080】
オブジェクトB1〜B4の座標位置は、各オブジェクトB1〜B4の表示領域内であればどの位置に設定されてもよく、1つのオブジェクトにつき特定の1点(例えば中心位置)に設定されてもよいし、2点以上(例えば対角の2点、あるいは四隅の点)に設定されてもよい。
【0081】
また
図1に示したように、オブジェクトB1〜B4の座標位置が対象物A1〜A4を注視するユーザの目線Lと円筒座標C0との交差位置に対応付けられたとき、ユーザUは、オブジェクトB1〜B4を対象物A1〜A4と重なる位置で視認する。これに代えて、オブジェクトB1〜B4の座標位置が上記交差位置から離れた任意の位置に対応付けられてもよい。これにより対象物A1〜A4に対してオブジェクトB1〜B4を所望の位置に表示あるいは描画することができる。
【0082】
座標判定部313は、検出部20の出力に基づいてユーザUの視野Vが円筒座標C0上のどの領域に対応するかを判定する処理を実行するように構成される。すなわち、視野Vは、ユーザU(表示部10)の姿勢変化によって円筒座標C0上を移動し、その移動方向や移動量は、検出部20の出力に基づいて算出される。座標判定部313は、検出部20の出力に基づいて表示部10の移動方向及び移動量を算出し、円筒座標C0上のどの領域に視野Vが属するかを判定する。
【0083】
図8は、円筒座標C0上における視野VとオブジェクトB1〜B4との関係を概念的に示す円筒座標C0の展開図である。視野Vは略矩形状であり、その左上の隅部を原点OP2とするxy座標(ローカル座標)を有する。x軸は、原点OP2から水平方向に延びる軸であり、y軸は、原点OP2から垂直方向に延びる軸である。そして座標判定部313は、視野Vの対応領域にオブジェクトB1〜B4の何れかが存在するかどうかを判定する処理を実行するように構成される。
【0084】
表示制御部314は、検出部20の出力(すなわち座標判定部313の判定結果)に基づいて表示部10の方位に対応する円筒座標C0上のオブジェクトを視野Vに表示(描画)する処理を実行するように構成される。例えば
図8に示すように、視野Vの現在の方位が、円筒座標C0上のオブジェクトB1,B2の表示領域にそれぞれ重なる場合、それらの重なる領域B10,B20に相当する画像を視野Vに表示する(ローカルレンダリング:Local Rendering)。
【0085】
図9A及び
図9Bは、円筒座標C0(ワールド座標)から視野V(ローカル座標)への変換方法を説明する図である。
【0086】
図9Aに示すように円筒座標C0上における視野Vの基準点の座標を(θv,hv)とし、視野Vの領域内に位置するオブジェクトBの基準点の座標を(θ0、h0)とする。視野V及びオブジェクトBの基準点はどの点に設定されてもよく、本例では矩形状である視野V及びオブジェクトBの左上のコーナ部に設定される。αv[°]は、ワールド座標上における視野Vの幅角度であり、その値は表示部10の設計あるいは仕様によって確定する。
【0087】
表示制御部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)
【0088】
表示制御部314は、典型的には、表示部10の方位あるいは姿勢の変化に追従して、視野V内でオブジェクトBの表示位置を変化させる。この制御は、視野VにオブジェクトBの少なくとも一部が存在する限り継続される。
【0089】
一方、近年においてはHMDの小型化に伴ってその表示領域が狭くなる傾向にある。またシースルー型ヘッドマウントディスプレイにおいては、例えば、シースルー領域を確保しつつ、情報表示領域を制限したい場合がある。このような場合、上述のように表示部10の方位あるいは姿勢の変化に追従して視野V内でオブジェクトBの表示位置が変化すると、オブジェクトBが視野Vに入った状態を保つことが困難になるおそれがある。このような問題を解決するため、本実施形態のHMD100は以下に説明するようなオブジェクト表示固定機能を有する。
【0090】
<オブジェクト表示固定機能>
(1)ノンストリクト(Non Strict)属性の導入
表示制御部314は、表示部10の方位あるいは姿勢が所定角度以上変化したときは、上記方位あるいは姿勢の変化に応じてオブジェクトを視野V内で移動させ、上記方位あるいは姿勢の変化が上記所定角度未満のときは、視野Vにおけるオブジェクトの表示位置を固定する処理を実行可能に構成される。
【0091】
本実施形態では、オブジェクトにノンストリクト属性が導入されてもよい。すなわち、オブジェクトBがワールド座標系(円筒座標C0)の1ヶ所に固定されるのではなく、ユーザUが見ている方向がある角度範囲内の場合、表示部10のローカル座標系(x,y)にオブジェクトが固定表示されてもよい。このような処理を実行することにより、視野Vにオブジェクトが入った状態を容易に維持することができる。したがって、ユーザUの鉛直軸周り又は水平軸周りの不用意な姿勢変化に起因するオブジェクトの移動を規制して、オブジェクトの視認性を高めることができる。
【0092】
上記所定角度としては、鉛直軸(Z軸)周りの角度でもよいし、水平軸(X軸及び/又はY軸)まわりの角度であってもよいし、それらの双方であってもよい。上記所定角度の値は適宜設定可能であり、例えば±15°である。上記所定角度は、鉛直軸周りの角度(第1の所定角度)及び水平軸周り(第2の所定角度)で同一であってもよいし、相互に異なっていてもよい。
【0093】
(2)第1のグラブ機能
表示制御部314は、検出部20の出力変化が所定時間にわたって所定以下のときは、オブジェクトBを視野Vの所定位置に移動させる処理を実行可能に構成される。
【0094】
本実施形態では、所定時間にわたって検出部20の出力が変化しないときは視野Vに表示されたオブジェクトをユーザが参照している蓋然性が高いため、そのオブジェクトを視野Vの所定位置に移動させることでオブジェクトの視認性を高めるようにしてもよい。
【0095】
上記所定時間は特に限定されず、例えば5秒程度に設定される。上記所定位置も特に限定されず、例えば視野Vの中央部や隅部、あるいは上下左右の何れか偏った位置とされる。更に、移動後のオブジェクトは拡大等の誇張表示がされてもよい。
【0096】
当該機能は、例えば、オブジェクトが視野Vの中心に位置する状態で、所定時間検出部20の出力変化が認められない場合に、当該オブジェクトBを視野Vのローカル座標系(x,y)の所定位置に固定表示するようにしてもよい。この場合、検出部20の出力が所定の値を超えたとき、当該オブジェクトの固定表示機能が解除される。このときの検出部20の出力値は、上述した表示部10の所定の軸周りへの所定角度以上の姿勢変化に相当する出力変化量であってもよいし、それ以外の出力変化量であってもよい。
【0097】
(3)第2のグラブ機能
表示制御部314は、ユーザUの操作により生成される所定信号の入力を検出したときは、オブジェクトを視野Vの所定位置に移動させる処理を実行可能に構成される。このような構成においても上述と同様にオブジェクトの視認性を高めることができるとともに、ユーザの意図に即して画像の表示を制御することが可能となる。
【0098】
この処理は、例えば、オブジェクトを視野Vの中心に合わせて、入力操作部305あるいは携帯情報端末200へ所定の入力操作を行うことで、オブジェクトが視野Vのローカル座標系(x,y)に固定される。そして入力操作部305等を再度操作することで、オブジェクトがワールド座標系に復帰し、オブジェクトの固定表示機能が解除される。
【0099】
(4)顔ぶれ補正機能
表示制御部314は、視野Vの所定位置にオブジェクトが表示されている状態において、検出部20の出力変化が所定周波数以上のときは、検出部20の出力のうち上記所定周波数以上の周波数成分を無効とする処理を実行可能に構成される。
【0100】
視野V内のオブジェクトが表示部10の方位あるいは姿勢変化に追従して移動すると、ユーザUの細かい顔のぶれにも追従してしまい、オブジェクトの視認性が悪化するおそれがある。この問題を防止するために、所定以上の高周波成分に対してはオブジェクトを表示部10の姿勢変化に追従させず、所定未満の低周波成分に対してはオブジェクトの表示位置を視野V(ローカル座標系)に固定するようにしてもよい。上記所定周波数として、例えば、ユーザの顔ぶれに相当する周波数に設定される。これにより、ユーザの細かい顔ぶれの影響を受けることなく、画像の視認性を確保することができる。
【0101】
図10A及び
図10Bは、顔ぶれ補正機能を説明する概念図である。同図において、V1はある時点におけるローカル座標系を示し、V2は、V1に対応する顔ぶれ補正座標系を示す。OP及びOP'は、V1及びV2の原点を示す。
【0102】
顔ぶれ補正機能が有効とされた場合、顔ぶれ補正座標系にオブジェクトが置かれる。顔ぶれ補正座標系は、視野Vのローカル座標系(x,y)に対してPD制御で追従制御される。PD制御とは、フィードバック制御の一種であり、一般に、比例制御(Proportional Control)及び微分制御(Differential Control)を組み合わせて設定値に収束させる制御をいう。
図10A,10Bにおいて、視野Vと視野V'の間に各々接続されたバネ(p)及びダンパ(d)のうち、バネ(p)がPD制御のP成分に相当し、ダンパ(d)がPD制御のD成分に相当する。
【0103】
追従制御の計算方法の一例を挙げると、ある時点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に対する速度ゲイン定数である。
【0104】
ローカル座標系V1が回転した場合でも、顔ぶれ補正座標系V1'は回転成分には追従しない(
図10B)。すなわち、ユーザの前後方向の軸周りに顔を傾けた場合でもオブジェクトの傾きは規制されることになる。
【0105】
上述の各オブジェクト表示固定機能(1)〜(4)は、それぞれ個別に適用されてもよいし、各機能を適宜組み合わせて適用されてもよい。例えば、上記(1)〜(3)の何れか1つと上記(4)との組み合わせが適用可能である。
【0106】
<領域制限機能>
続いて、HMD100の領域制限機能について説明する。
【0107】
近年、シースルー型ヘッドマウントディスプレイにおいては、例えば、シースルー領域を確保しつつ、情報表示領域を制限したい場合がある。この場合、オブジェクト画像が視界に入りにくくなるおそれがある。そこで本実施形態では、オブジェクトの検索性を高める目的で、ワールド座標系の領域制限機能を有する。
【0108】
上述のように座標設定部311は、表示部10を包囲する円筒座標C0におけるZ軸方向に沿った領域(H)を視野Vの高さ方向の領域(Hv)に応じて制限することが可能な領域制限部としての機能を有する(
図5A参照)。円筒座標C0の高さHを制限することにより、ユーザの水平視野内における画像の検索性及び視認性を向上させることができる。
【0109】
円筒座標C0の高さ方向の制限量は特に限定されず、本実施形態では、円筒座標C0の高さは、視野Vの高さHvと同一の高さ(H1)に制限される。表示制御部314は、当該領域制限機能が有効とされた場合には、領域制限された円筒座標C0内に各オブジェクトB1〜B4が位置するように、円筒座標系(θ,h)のうち少なくともh座標を変更してオブジェクトB1〜B4を視野Vに表示することが可能に構成される。
【0110】
図11A及び
図11Bは、高さH1に領域制限された円筒座標C1に対応付けられたオブジェクトB1〜B4と視野Vとの相対位置関係を示す概略図である。ユーザUは、Z軸(鉛直軸)周りの姿勢変更だけで全ての方位に対応付けられたオブジェクトB1〜B4を視認することが可能となるため、オブジェクトB1〜B4の検索性が飛躍的に向上することになる。
【0111】
図11Aの例では、全てのオブジェクトB1〜B4を円筒座標C1内に配置されたが、これに限られず、必要に応じて、少なくとも1つのオブジェクトが円筒座標C1内に配置されてもよい。また円筒座標C1に配置されるオブジェクトB1〜B4の高さは特に限定されず、各々任意に設定可能である。
【0112】
さらに
図11の例では、オブジェクトB1〜B4の全体が円筒座標C1内に配置されたが、オブジェクトB1〜B4の少なくとも一部が視野Vに表示されるように構成されてもよい。これにより一定の方位に存在する当該画像を容易に認識することができる。この場合、入力操作部305等へのユーザUによる入力操作によって、円筒座標C1の高さH1をこれよりも大きい高さに変更可能に構成されてもよい。これにより当該オブジェクトの全体を視認することができる。
【0113】
上述の領域制限機能を有効にするか無効にするかは、ユーザUによる設定によって選択可能に構成されてもよい。本実施形態のHMD100は、通常モードとして、ワールド座標系を円筒座標C1とする領域制限機能が有効な状態に設定されており、ユーザによる自発的な設定変更によって当該領域制限機能の変更(例えば高さHの変更)あるいは無効状態への切り替えが可能に構成される。
【0114】
一方、制御ユニット30は、ユーザUの操作により生成される所定信号の入力を検出したときは、円筒座標における高さ方向の領域を視野Vの高さ方向の領域(Hv)に合わせて制限し、視野Vに表示されるオブジェクトをすべて視野Vにおいて同一の高さに揃える処理を実行可能に構成されてもよい。
【0115】
すなわち、領域制限機能が無効状態である場合、あるいはワールド座標系が円筒座標C1以外の円筒座標に設定されている場合において、ユーザUによる入力操作部305等への入力操作によって、ワールド座標系を円筒座標C1に強制的に切り替えられる。そして更に、全てのオブジェクトB1〜B4が
図11Bに示すように視野Vにおいて同一の高さで表示される位置に各オブジェクトB1〜B4が円筒座標C1内に配置される。これにより視野に表示された画像の視認性の更なる向上を図ることができる。
【0116】
<画像管理機能>
続いて、HMD100の画像管理機能について説明する。
【0117】
上述のように本実施形態では、制御ユニット30へのオブジェクトデータの送信に携帯情報端末200が用いられる。携帯情報端末200は、ユーザU(表示部10)の位置を測位する位置情報取得部207と、制御ユニット30のメモリ302へ格納すべき複数のオブジェクト(B1〜B4)をサーバN等から取得可能な送受信部203等を含む画像取得部を備える。
【0118】
本実施形態において制御ユニット30は、携帯情報端末200に対して、複数のオブジェクトデータの中から選択された1つ以上のオブジェクトデータの送信を要求し、携帯情報端末200は、制御ユニット30へ要求されたオブジェクトデータを送信する。
【0119】
ここで、表示部10の視野Vへオブジェクトを円滑に描画する上で、携帯情報端末200と制御ユニット30との間の通信速度とレイテンシ(送信要求から実際に画像が送信されるまでの時間)が問題になる。本実施形態では、上記通信速度やレイテンシの問題を回避する目的で、制御ユニット30(本例では画像管理部312)は以下のように構成されている。
【0120】
まず、制御ユニット30は、あらかじめ必要な複数のオブジェクトデータを携帯情報端末200から取得するように構成される。これにより、視野Vへのオブジェクトの描画タイミングを制御ユニット30側で制御できるようになり、通信環境等によらずにユーザUへ必要なオブジェクトを適切なタイミングで提供できるようになる。
【0121】
また制御ユニット30は、円筒座標C0上の、視野Vの表示領域により近い座標位置に対応付けられたオブジェクトの優先的な送信を携帯情報端末200に対して要求するように構成される。このように視野Vへ提示される可能性の高いオブジェクトデータを優先的に取得しておくことで、視野Vへのオブジェクト表示の遅延を阻止することができる。
【0122】
この際、画像管理部312は、まずワールド座標上にオブジェクトの配置位置に相当する単数又は複数のフレームを設定し、次いで、当該フレームに、優先度の高いオブジェクトを配置する処理を実行可能に構成される。なお、「ワールド座標上にフレームあるいはオブジェクトを配置する」とは、ワールド座標上にフレームあるいはオブジェクトを対応付けることを意味する。
【0123】
一例として、高さH1に領域制限された円筒座標C1にオブジェクトB3及びB4を配置する手順を
図12A、
図12B及び
図13に示す。なお以下の手順は、領域制限されていない円筒座標C0あるいは他の3次元座標で構成されたワールド座標系にも同様に適用可能である。
本実施形態では、オブジェクトの画像データ(オブジェクトデータ)と当該オブジェクトの座標位置を定めるフレームデータの各々が、携帯情報端末200から制御ユニット30へ送信される。フレームデータは、オブジェクトデータよりもデータ量が少ないため、オブジェクトデータと比較して取得に時間を要さない。このため、先にフレームデータ取得の通信を行い、後から優先度順にオブジェクトデータ取得の通信を行う。
【0124】
(フレーム登録フェーズ)
まず、携帯情報端末200は、制御ユニット30へオブジェクトB3を配置するためのフレームF3の送信要否を確認し(ステップ101)、これに対して制御ユニット30は、携帯情報端末200へフレームF3の送信を要求する(ステップ102)。制御ユニット30は、受信したフレームF3をメモリ302へ格納することで、フレームF3を円筒座標C1上の対応位置へ配置する。
【0125】
続いて、携帯情報端末200は、制御ユニット30へオブジェクトB4を配置するためのフレームF4の送信要否を確認し(ステップ103)、これに対して制御ユニット30は、携帯情報端末200へフレームF4の送信を要求する(ステップ104)。制御ユニット30は、受信したフレームF4をメモリ302へ格納することで、フレームF4を円筒座標C1上の対応位置へ配置する。全フレームデータの送信後、携帯情報端末200は制御ユニット30へオブジェクトデータの送信許可を通知する(ステップ105)。
【0126】
(データ取得フェーズ)
制御ユニット30は、上記オブジェクトデータの送信許可通知をトリガにデータ取得フェーズに移行する。具体的には例えば、制御ユニット30は、検出部20の出力に基づき、現在の視野V(表示部10)の方位に最も近いフレーム(本例ではフレームF4)を判定し、そのフレームに属するオブジェクト(本例ではオブジェクトB4)の画像データの送信を要求する(ステップ106)。この要求を受けて、携帯情報端末200は、制御ユニット30へオブジェクトB4の画像データを送信する(ステップ107)。制御ユニット30は、受信したオブジェクトB4の画像データをメモリ302へ格納することで、オブジェクトB4を円筒座標C1上のフレームF4内に配置する。
【0127】
続いて、制御ユニット30は、フレームF4の次に視野Vの方位に近いフレーム(本例ではフレームF3)を判定し、そのフレームに属するオブジェクト(本例ではオブジェクトB3)の画像データの送信を要求する(ステップ108)。この要求を受けて、携帯情報端末200は、制御ユニット30へオブジェクトB3の画像データを送信する(ステップ109)。制御ユニット30は、受信したオブジェクトB3の画像データをメモリ302へ格納することで、オブジェクトB3を円筒座標C1上のフレームF3内に配置する。
【0128】
以上のように、制御ユニット30は、円筒座標C1上にあらかじめオブジェクトのフレームデータを登録しておくことで、現在の視野Vを基準とするオブジェクトの取得優先度を判定可能とし、その判定結果に基づいて、優先度の高い(視野Vに最も近い)オブジェクトから順次その画像データを取得するように構成される。
【0129】
ここで、オブジェクトがアニメーション画像の場合には、現在時刻とアニメーションフレーム時刻とを考慮して優先付けを行えばよい。例えば、制御ユニット30は、当該アニメーション画像を構成する全画像の少なくとも一部の一括的な送信を携帯情報端末200に対して要求するように構成される。このようにオブジェクトがアニメーション画像の場合であっても、そのフレームレートを考慮して必要な数の画像(例えば1秒後までの画像)をキャッシュしておくことで、動的に対応することができる。
【0130】
上述のようなシステムを構築するには、オブジェクトデータを保持するメモリ302の容量を大きくする必要が生じる。しかし、必要性が高いオブジェクトデータを優先的に保持し、必要性が低いデータを破棄する処理を動的に実施することで、全ては保持しきれないオブジェクトデータ量でも適切なオブジェクト表示が実現可能となる。なお破棄したデータは、必要性が出たら再取得すればよい。
【0131】
すなわち制御ユニット30は、メモリ302に記憶されたオブジェクトのすべてについて、その座標位置と視野Vの表示領域との距離を定期的に評価し、視野Vの表示領域から最も遠い座標位置のオブジェクトをメモリ302から削除するように構成されてもよい。具体的には、円筒座標C1上の全オブジェクトと視野Vの現在方位との相対位置関係に基づいて、全オブジェクトの優先度を各々評価し、優先度の低いオブジェクトデータを消去する。これにより視野Vに近いオブジェクトデータの保存領域を確保することができる。
【0132】
優先度の評価方法は特に限定されず、例えば、円筒座標C1における視野Vの中心位置とオブジェクトの中心位置との間のピクセル数に基づいて評価することができる。またアニメーション画像の場合は、再生時刻に基づいた係数を評価値に乗じてもよい。
【0133】
[HMDの動作]
次に、以上のように構成される本実施形態に係るHMD100を備えたHMDシステムの動作の一例について説明する。
【0134】
図14は、本実施形態に係るHMDシステムの動作の概要を説明するフローチャートである。
【0135】
まず、携帯情報端末200の位置情報取得部207を用いて、ユーザU(表示部10)の現在位置が測定される(ステップ201)。表示部10の位置情報は、サーバNに送信される。そして携帯情報端末200は、サーバNから、ユーザUの周囲の実空間に存在する所定の対象物に関連するオブジェクトデータを取得する(ステップ202)。
【0136】
次に、携帯情報端末200は、制御ユニット30へオブジェクトデータの送信準備ができたことを通知する。制御ユニット30(本例では座標設定部311)は、オブジェクデータの種類等に応じてワールド座標系としての円筒座標C0の高さ(H)及び半径(R)を設定する(ステップ203)。
【0137】
この場合、座標設定部311は、表示部10によって提供される視野Vの高さ(Hv)に応じた領域制限機能が有効な場合には、ワールド座標系を例えば
図12Aに示す円筒座標C1に設定する。
【0138】
続いて、制御ユニット30は、検出部20の出力に基づいて視野Vの方位を検出し(ステップ204)、携帯情報端末200からオブジェクトデータを取得してメモリ302へ格納する(ステップ205)。
【0139】
図15は、制御ユニット30によるオブジェクトデータの受信手順の一例を示すフローチャートである。
【0140】
制御ユニット30は、携帯情報端末200からのオブジェクトデータの送信許可確認を受信した後(ステップ301)、全オブジェクトのフレーム登録が完了したかどうかを判定する(ステップ302)。全オブジェクトのフレーム登録が完了しないとオブジェクトの座標位置が定まらず、また、オブジェクトの優先度の評価が不可能となるからである。フレーム登録が未完の場合は処理を終了し、上述した未完フレームの登録処理を実行する。
【0141】
一方、全オブジェクトのフレーム登録が完了しているときは、受信していないオブジェクトの有無とメモリ302の容量を確認する(ステップ303)。未登録オブジェクトがあり、かつメモリ容量が十分である場合は、当該未登録オブジェクトを受信しメモリ302へ格納する(ステップ304)。
【0142】
なお制御ユニット30は、定期的にメモリ302内のオブジェクトの優先度を評価し、評価値の低いものは必要に応じて削除する。
【0143】
制御ユニット30は、円筒座標C0における視野Vの対応領域に何れかのオブジェクトデータが存在する場合には、当該オブジェクトを視野Vの対応位置に表示部10を介して表示(描画)する(ステップ206)。視野Vへのオブジェクトの表示に際しては、上述したオブジェクト表示固定機能の何れかが適用されてもよい。
【0144】
図16は、制御ユニット30による視野Vへのオブジェクトの描画手順の一例を示すフローチャートである。
【0145】
制御ユニット30は、検出部20の出力に基づいて現在の視野Vの方位を算出する(ステップ401)。視野Vの方位は、ワールド座標系(θ,h)に換算されて、円筒座標C0上のどの位置に対応するかモニタリングされる。
【0146】
次に制御ユニット30は、メモリ302に格納された全オブジェクトのうち、スキャンが未完了のオブジェクトがあるかどうか判定する(ステップ402)。上記スキャンは、画面更新毎にメモリ302に格納された全オブジェクトに対して行われる。
【0147】
スキャン未完了のオブジェクトがある場合、当該オブジェクトがワールド座標系のオブジェクトがどうか判定し(ステップ403)、「No」の場合は視野Vに当該オブジェクトを描画する(ステップ404)。
【0148】
一方、ステップ403において判定が「Yes」の場合には、続いて当該オブジェクトについて上記オブジェクト表示固定機能の何れか(例えば第1のグラブ機能)が適用されているかどうかを判定する(ステップ405)。当該機能が適用されている場合、所期の条件を満たした時点で当該オブジェクトを視野Vに固定表示する(ステップ406)。一方、何れの表示固定機能の適用がない場合には、視野Vがオブジェクト位置に入った時点で視野Vに当該オブジェクトを描画する(ステップ407)。
【0149】
以後、上述の処理が繰り返される。これにより表示部10を介してユーザUの現在位置に則した最新のオブジェクトをユーザUへ提供することが可能となる。
【0150】
(適用例)
以下、本実施形態のHMD100の適用例について説明する。
【0151】
[適用例1]
視野Vを介して提供される画像の表示形態が一様であると、それが表示する情報の属性(種類)によっては、ユーザにとって有用なものとならない場合がある。そのため、表示制御部314は、表示部10と対象物A1〜A4との間の相対位置に関する情報を取得し、上記相対位置の変化に応じて視野Vに表示されている画像の表示形態を制御するように構成される。
【0152】
図17は、対象物T21に関連するオブジェクト(画像)B21の表示形態を示している。対象物T21は、例えば、街中の喫茶店であり、オブジェクトB21は、対象物T21に関連する情報として、特定のクーポンが利用可能であることを表示している。このような文字情報等を含むオブジェクトは、ユーザと対象物との距離に関係なく、一定の大きさで表示させたい場合がある。
【0153】
本例では、表示制御部314は、検出部20および携帯情報端末30を介して、表示部10と対象物T21との間の相対位置に関する情報として、表示部10と対象物T21との間の相対距離に関する情報を取得する。そして、表示制御部314は、上記相対距離の変化に応じて、視野Vに表示されているオブジェクトB21の位置を変化させるように構成される。
【0154】
これにより、対象物T21がユーザから遠く離れている場合においても、ユーザは当該対象物T21に関連する情報を視認することができるとともに、オブジェクトB21の指標位置を手掛かりに対象物T21の位置を把握することができる。さらに、ユーザと対象物T21との距離が近づくにつれて、視野Vにおける対象物T21の大きさや位置も変化する。このときオブジェクトB21の表示位置も変化するため、ユーザは容易に対象物T21の場所を特定することができる。
【0155】
オブジェクトB21の表示位置の変更は、例えば、ユーザと対象物との間の距離が所定以上変化したときに実行される。例えば、ユーザと対象物との間の相対距離が所定以上(例えば10m以上)変化したときに、視野VへのオブジェクトB21の再表示(再レンダリング)が実行される。これにより、常に所定の微小時間間隔でオブジェクトの再表示を実行する場合と比較して、制御ユニット30における演算等の処理の負担軽減を実現することができる。
【0156】
一方、
図18は、対象物T22に関連するオブジェクト(画像)B22の表示形態の変化を示している。本例において、表示制御部314は、表示部10と対象物T22との間の相対距離の変化に応じて、視野Vに表示されているオブジェクトB21の位置および大きさを変化させるように構成される。
【0157】
本例では、ユーザと対象物との間の距離に応じて数段階の表示レベルを有する。
図18は、同一のオブジェクトB22が、対象物T22へユーザが近づくにつれて、段階的に右方へ拡大しながら移動する様子を示している。先に表示されたオブジェクトは、後のオブジェクトの表示に伴い消失する。上記表示レベルの変化には、オブジェクトの表示位置の位置または大きさのみが変化する段階が含まれてもよい。
【0158】
このようなオブジェクトの表示形態によれば、ユーザの近くに存在する対象物に関連する情報を、ユーザから離れた位置に存在する対象物に関連する情報よりも優先して、視野Vに表示させることができる。なお、視野Vに表示されるオブジェクトの優先度は、距離情報以外にも、他の属性の表示情報(目的地情報、更新情報、地名情報)が基準パラメータとされてもよい。
【0159】
図19は、対象物T23に関連するオブジェクト(画像)B23の表示形態を示している。本例において、オブジェクトB23は、三次元画像であり、表示制御部314は、検出部20および携帯情報端末30を介して、表示部10と対象物T23との間の相対位置に関する情報として、対象物T23を中心とする表示部10の角度位置に関する情報を取得する。そして、表示制御部314は、上記角度位置の変化に応じて、視野Vに表示されているオブジェクトB21の向きを三次元的に変化させるように構成される。
【0160】
このようなオブジェクトの表示形態によれば、例えば、ユーザが対象物T23のまわりを歩くことで、オブジェクトB23が水平面内で回転する様子を表示することができる。例えば、対象物T23が歴史上の旧跡あるいは史跡である場合、オブジェクトB23として、当時の状態が3次元的に描画されてもよいし、対象物T23が建物の建設予定地の場合、オブジェクトB23として、完成予定の建物が描画されてもよい。
【0161】
この場合、メモリ302は、所定の対象物に関連する複数の画像を記憶し、表示制御部314は、ユーザの操作に応じて視野Vに表示すべき画像を複数の画像から選択するように構成される。
【0162】
例えば
図20に示すように、対象物T24がある観光地における城跡の場合、視野Vに当該城跡に関する情報を含むオブジェクトB24が表示される。オブジェクトB24は、当時の城の様子を再現した画像があることを所定の態様で表示する。そして、ユーザによる入力操作部305の操作により、オブジェクトB24が、
図21に示すように当時の城の様子を再現したオブジェクトB24aに切り替えられる。あるいは、オブジェクトB24が、上記操作により、当時よりも過去の城の様子や位置を再現したオブジェクトB24bに切り替えられる。
【0163】
なお、オブジェクトB24a,B24bの画像データは、例えば、自治体のサーバからダウンロード可能な観光地アプリケーションを携帯情報端末200にインストールすることで取得される。
【0164】
[適用例2]
視野Vに複数の画像が表示されると、かえって画像の視認性を妨げ、ユーザに適切な情報提示を行うことができない場合がある。そのため、表示制御部314は、ユーザにより設定された少なくとも1つの表示条件に適合する情報を含む画像をメモリ302(記憶部)から抽出し、抽出した画像を視野Vに選択的に表示するように構成される。
【0165】
本例においては、オブジェクトの属性パラメータを利用してフィルタリングが行われ、円筒座標C0に投影(描画)するものとしないものとが決定される。オブジェクトの属性パラメータとしては、例えば、以下のものが挙げられる。
(1)ユーザからの距離(例:100m以内にあるオブジェクト)
(2)重要度(例:目的地、友人の現在地、渋滞情報)
(3)カテゴリ(例:観光スポット、コンビニエンスストア)
(4)更新時間(例:掲示板情報)
(5)歴史時間(例:時間情報を基準にピックアップされた史跡)
【0166】
フィルタリングの利用方法としては、例えば、予め用意されたシナリオモードにフィルタリング条件が登録され、当該フィルタリング条件に適合するオブジェクトのみを視野Vに表示可能とされる。シナリオモード、フィルタリング条件は、ユーザによって例えば携帯情報端末200に入力される。
【0167】
シナリオモード例としては、例えば以下のものが挙げられる。
(a)観光モード(例:半径1km以内の観光スポットを表示)
(b)史跡探索モード(例:半径10km以内の江戸時代に存在した史跡を表示)
(c)新情報表示モード(例:半径10km以内の更新日時が新しいものを20個表示)
(d)友人探索モード(例:近くにいる友人5人を表示)
【0168】
例えば、上記(a)は、フィルタリング条件として、上記属性パラメータ(1)と(3)が入力される。同様に、上記(b)の場合は(1)と(5)、上記(c)の場合は(1)と(4)、上記(d)の場合は(1)と(2)が、それぞれフィルタリング条件として入力される。
【0169】
図23は、制御ユニット30(表示制御部314)において実行される処理のフローチャートである。
【0170】
制御ユニット30は、メモリ302に格納されたオブジェクトから、入力されたフィルタリング条件(表示条件)に適合するオブジェクトを抽出し、それを円筒座標C0に投影する(ステップ501,502)。続いて、制御ユニット30は、前回のオブジェクト投影時からのユーザの移動距離を算出し、それが所定以上(例えば10m以上)である場合には円筒座標C0にオブジェクトを再投影する(ステップ503,501,502)。以上の処理は、当該シナリオモードが終了するまで繰り返し実行される。
【0171】
オブジェクトの再投影は、同一オブジェクトの位置あるいは大きさの変更、新しいオブジェクトの投影等を含む。
【0172】
(表示制御例1)
図24は、例えば、シナリオモードとしてカーナビゲーションアプリを設定したときのオブジェクトの表示例を示している。ここでは、フィルタリング条件として、別の車に乗車した友人の位置、目的地情報、道路の信号名が入力された例を説明する。
【0173】
視野Vにはユーザが搭乗した車から見た対象物に関連する種々のオブジェクトが表示される。対象物としては、友人の車、信号機、目的地が含まれ、これらに関連するオブジェクトとして、友人の車の位置情報(B251)、交差点名(信号名)(B252)、目的地の位置および距離情報(B253)が表示される。オブジェクトB251は、ユーザの携帯情報端末200に入力された、友人が装着するHMDのID等に基づいて表示される。
【0174】
交差点名に関するオブジェクトB252の対象としては、距離条件として、例えばユーザからの距離が100m以内に存在する交差点(信号機)が設定される。一方、友人の車や目的地に関するオブジェクトB251、B253に関しては、重要情報であるため、上記距離条件は適用しないようにすることができる。
【0175】
制御ユニット30は、ユーザの位置情報に基づいて、オブジェクトB251〜B253を視野Vに表示する。制御ユニット30は、オブジェクトB251〜B253を表示してからユーザの移動距離をモニタリングし、それが所定の距離(例えば10m)以上になると、オブジェクトB251〜B253の位置や大きさを変更するため、あるいは次の交差点名を含むオブジェクトを表示するため、視野Vのオブジェクトを更新する。このような表示制御は、ユーザが目的地に到着するまで繰り返し実行される。
【0176】
(表示制御例2)
一方、視野Vに表示されるオブジェクトが多すぎたり、オブジェクト同士が重なって表示されたりすると、ユーザにとって有用なオブジェクトの識別あるいは視認が困難になる場合がある。そこで、制御ユニット30(表示制御部314)は、視野Vに表示すべき画画像が複数の画像を含むとき、当該複数の画像各々を交互に表示するように構成されてもよい。
【0177】
例えば
図25A,Bに示すように、交差点名を表示するオブジェクトB252と、友人の車情報や目的地情報を表示するオブジェクトB251、B253とが所定時間ずつ交互に表示されてもよい。これにより、視野Vにおける各オブジェクトの視認性、識別性を高めることができる。
【0178】
各オブジェクトが相互に重ならないように各々の表示位置をずらして表示してしまうと、どのオブジェクトがどの対象物に関する情報かを識別するのが困難になる場合がある。本例によれば、各オブジェクトの表示タイミングを時間方向にずらすことで、オブジェクトの視認性、識別性を確保するようにしている。
【0179】
また同時に表示されるオブジェクトのグループは、属性パラメータ毎に分類されてもよい。これによりオブジェクトの一覧性が確保されるため、ユーザにとって優位な情報を人目で確認することができる。
【0180】
さらに視野Vにおけるオブジェクトの数、重なり量に応じて、表示されるオブジェクトのグループや、交代表示されるオブジェクトのグループが決定されてもよい。例えば、混み合ってない場所では交差点名と建物名を同時に表示し、混み合った場所では、交差点名と建物名とを時間的にずらして表示するようにしてもよい。
【0181】
<第2の実施形態>
続いて、本技術の第2の実施形態について説明する。以下、第1の実施形態と異なる構成について主に説明し、上述の実施形態と同様の構成についてはその説明を省略または簡略化する。
【0182】
本実施形態に係るヘッドマウントディスプレイは、ユーザの頭部に装着可能に構成されユーザに実空間の視野を提供可能な表示部と、上記表示部の方位を検出する検出部と、上記検出部の出力に基づいて画像を上記視野に表示する表示制御部とを備える。
上記表示制御部は、上記方位が第1の所定角度以上変化したときは、上記方位の変化に応じて上記画像を前記視野内で移動させる。
上記表示制御部は、上記方位の変化が上記第1の所定角度未満のときは、上記視野における上記画像の表示位置を固定する。
【0183】
上記表示部および検出部は、第1の実施形態で説明した表示部10および検出部20にそれぞれ相当する。上記表示制御部は、第1の実施形態で説明したオブジェクト表示固定機能((1)ノンストリクト属性の導入)を有する表示制御部314に相当する。
【0184】
すなわち本実施形態のヘッドマウントディスプレイは、ワールド座標が円筒座標に限定されない他の任意の座標系に適用可能である。本実施形態においても第1の実施形態と同様な作用効果を得ることができる。すなわち、視野にオブジェクトが入った状態を容易に維持することができるため、ユーザの不用意な姿勢変化に起因するオブジェクトの移動を規制し、オブジェクトの視認性を高めることができる。
【0185】
なお本実施形態においても、第1の実施形態と同様に、領域制限機能および画像管理機能の少なくとも1つを備えていてもよい。
【0186】
<第3の実施形態>
続いて、本技術の第3の実施形態について説明する。以下、第1の実施形態と異なる構成について主に説明し、上述の実施形態と同様の構成についてはその説明を省略または簡略化する。
【0187】
本実施形態に係るヘッドマウントディスプレイは、ユーザの頭部に装着可能に構成されユーザに実空間の視野を提供可能な表示部と、上記表示部の方位を検出する検出部と、上記検出部の出力に基づいて画像を上記視野に表示する表示制御部とを備える。
上記表示制御部は、上記検出部の出力変化が所定時間にわたって所定以下のときは、上記画像を前記視野の所定位置に移動させる。
または、上記表示制御部は、ユーザの操作により生成される所定信号の入力を検出したときは、上記画像を上記視野の所定位置に移動させる。
【0188】
上記表示部および検出部は、第1の実施形態で説明した表示部10および検出部20にそれぞれ相当する。上記表示制御部は、第1の実施形態で説明したオブジェクト表示固定機能((2)第1のグラブ機能、または、(3)第2のグラブ機能)を有する表示制御部314に相当する。
【0189】
すなわち本実施形態のヘッドマウントディスプレイは、ワールド座標が円筒座標に限定されない他の任意の座標系に適用可能である。本実施形態においても第1の実施形態と同様な作用効果を得ることができる。すなわち、視野にオブジェクトが入った状態を容易に維持することができるため、ユーザの不用意な姿勢変化に起因するオブジェクトの移動を規制し、オブジェクトの視認性を高めることができる。
【0190】
なお本実施形態においても、第1の実施形態と同様に、領域制限機能および画像管理機能の少なくとも1つを備えていてもよい。
【0191】
<第4の実施形態>
続いて、本技術の第4の実施形態について説明する。以下、第1の実施形態と異なる構成について主に説明し、上述の実施形態と同様の構成についてはその説明を省略または簡略化する。
【0192】
本実施形態に係るヘッドマウントディスプレイは、ユーザの頭部に装着可能に構成されユーザに実空間の視野を提供可能な表示部と、上記表示部の方位を検出する検出部と、上記検出部の出力に基づいて画像を上記視野に表示する表示制御部を備える。
上記表示制御部は上記視野の所定位置に上記画像が表示されている状態において、上記検出部の出力変化が所定周波数以上のときは、上記検出部の出力のうち上記所定周波数以上の周波数成分を無効とする。
【0193】
上記表示部および検出部は、第1の実施形態で説明した表示部10および検出部20にそれぞれ相当する。上記表示制御部は、第1の実施形態で説明したオブジェクト表示固定機能((4)顔ぶれ補正機能)を有する表示制御部314に相当する。
【0194】
すなわち本実施形態のヘッドマウントディスプレイは、ワールド座標が円筒座標に限定されない他の任意の座標系に適用可能である。本実施形態においても、上述の第1の実施形態と同様の作用効果を得ることができる。すなわち、ユーザの細かい顔ぶれの影響を受けることなく、画像の視認性を確保することができる。
【0195】
なお本実施形態においても、第1の実施形態と同様に、領域制限機能および画像管理機能の少なくとも1つを備えていてもよい。
【0196】
<第5の実施形態>
続いて、本技術の第5の実施形態について説明する。以下、第1の実施形態と異なる構成について主に説明し、上述の実施形態と同様の構成についてはその説明を省略または簡略化する。
【0197】
本実施形態に係るヘッドマウントディスプレイは、表示部と、検出部と、制御ユニットとを備える。上記表示部は、ユーザの頭部に装着可能であり、ユーザに実空間の視野を提供可能に構成される。上記検出部は、上記表示部の少なくとも一軸周りの方位を検出する。上記第1の制御ユニットは、記憶部と、表示制御部とを有する。上記記憶部は、上記視野に存在する所定の対象物に関連する情報を含む画像を、上記表示部を包囲する3次元座標に対応付けて記憶する。上記表示制御部は、上記検出部の出力に基づいて上記方位に対応する上記3次元座標上の画像を上記視野に表示するように構成される。
【0198】
上記表示部および検出部は、第1の実施形態で説明した表示部10および検出部20にそれぞれ相当する。上記記憶部は、第1の実施形態で説明したメモリ302に相当する。上記表示制御部は、第1の実施形態で説明した表示制御部314に相当する。
【0199】
すなわち本実施形態のヘッドマウントディスプレイは、ワールド座標が円筒座標に限定されない他の任意の座標系に適用可能である。本実施形態においても、上述の第1の実施形態と同様の作用効果を得ることができる。
【0200】
本実施形態において表示制御部は、上記記憶部に記憶された所定の画像を、上記視野の上記一軸方向に沿った表示範囲に収まる座標値に変換して、上記視野に表示するように構成されてもよい。これにより視野Vの高さに追従したオブジェクトの描画制御が可能となり、第1の実施形態で説明した領域制限機能と同様の作用効果を得ることができる。
【0201】
例えば領域制限機能が無効とされた表示モードにおいては、
図26に示すように円筒座標におけるオブジェクトB11,B12の高さ座標が視野Vの表示範囲を越えている場合、ユーザUは水平面内における姿勢変化ではオブジェクトB11,B12を視野Vに表示させることができない。
【0202】
一方、視野Vの高さに追従したオブジェクトの画像制御の場合は、視野Vの高さ方向の領域制限に追従してオブジェクトB11,B12の高さ座標も制限されることになる。その結果、
図27Aに示すように、オブジェクトB11,B12は視野Vの表示領域内に入るように高さ座標が変更され、ユーザUの水平面内における姿勢変化のみで各方位に対応するオブジェクトB11,B12を視野Vに表示させることが可能となる。
【0203】
また、
図27Bおよび
図27Cに示すように、視野Vが高さ方向に変化したときもオブジェクトB11,B12の高さ座標も視野Vの高さ座標に追従して変更されることになり、ユーザが上方あるいは下方を見ながら周囲を見渡したときも、オブジェクトB11,B12の視認が可能となる。
【0204】
以上のように視野Vの高さに追従するオブジェクトは、円筒座標C0上のすべてのオブジェクトであってもよいし、その一部のオブジェクトであってもよい。例えば、このようなオブジェクトの選定は、ユーザによって行われてもよいし、重要情報を表示するオブジェクトが優先的に選択されてもよい。
【0205】
以上、本技術の実施形態について説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0206】
例えば以上の実施形態では、HMDに本技術を適用した例を説明したが、HMD以外の画像表示装置として、例えば、車両の運転席や航空機等のコックピットに搭載されるヘッドアップディスプレイ(HUD)にも本技術は適用可能である。
【0207】
また以上の実施形態では、シースルー型(透過型)のHMDへの適用例を説明したが、非透過型のHMDにも本技術は適用可能である。この場合、表示部に装着したカメラで撮像された外界視野に、本技術に係る所定のオブジェクトを表示すればよい。
【0208】
さらに以上の実施形態では、HMD100は、実空間に存在する所定の対象物に関連する情報を含むオブジェクトを視野Vに表示するように構成されたが、これに限られず、ユーザUの現在位置や進行方向に基づいて行先案内表示等が視野Vに表示されてもよい。
【0209】
なお、本技術は以下のような構成も採ることができる。
(1)ユーザの頭部に装着可能に構成され、ユーザに実空間の視野を提供可能な表示部と、
前記表示部の少なくとも一軸周りの方位を検出する検出部と、
前記表示部を包囲する3次元座標における前記視野の前記一軸方向に沿った表示領域を制限することが可能な領域制限部と、前記視野に存在する所定の対象物に関連する情報を含む画像を前記3次元座標に対応付けて記憶する記憶部と、前記検出部の出力に基づいて前記方位に対応する前記3次元座標上の画像を前記視野に表示するように構成された表示制御部と、を有する第1の制御ユニットと
を具備するヘッドマウントディスプレイ。
(2)上記(1)に記載のヘッドマウントディスプレイであって、
前記表示制御部は、前記表示部と前記所定の対象物との間の相対位置に関する情報を取得し、前記相対位置の変化に応じて前記視野に表示されている画像の表示形態を制御する
ヘッドマウントディスプレイ。
(3)上記(2)に記載のヘッドマウントディスプレイであって、
前記相対位置に関する情報は、前記表示部と前記所定の対象物との間の相対距離に関する情報を含み、
前記表示制御部は、前記相対距離の変化に応じて、前記視野に表示されている画像の位置および大きさの少なくとも一方を変化させる
ヘッドマウントディスプレイ。
(4)上記(2)に記載のヘッドマウントディスプレイであって、
前記相対位置に関する情報は、前記所定の対象物を中心とする前記表示部の角度位置に関する情報を含み、
前記表示制御部は、前記角度位置の変化に応じて、前記視野に表示されている画像の向きを三次元的に変化させる
ヘッドマウントディスプレイ。
(5)上記(2)に記載のヘッドマウントディスプレイであって、
前記表示制御部は、ユーザにより設定された少なくとも1つの表示条件に適合する情報を含む画像を前記記憶部から抽出し、抽出した前記画像を前記視野に選択的に表示する
ヘッドマウントディスプレイ。
(6)上記(5)に記載のヘッドマウントディスプレイであって、
前記表示制御部は、前記視野に表示すべき画像が複数の画像を含むとき、前記複数の画像各々を交互に表示する
ヘッドマウントディスプレイ。
(7)上記(5)に記載のヘッドマウントディスプレイであって、
前記記憶部は、前記所定の対象物に関連する複数の画像を記憶し、
前記表示制御部は、ユーザの操作に応じて前記視野に表示すべき画像を前記複数の画像から選択する
ヘッドマウントディスプレイ。
(8)上記(1)〜(7)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記検出部は、前記表示部の鉛直軸周りの方位を検出し、
前記領域制限部は、鉛直軸周りの円筒座標における高さ方向の領域を前記視野の縦方向の領域に応じて制限する
ヘッドマウントディスプレイ。
(9)上記(1)〜(8)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記表示制御部は、
前記方位が第1の所定角度以上変化したときは、前記方位の変化に応じて前記画像を前記視野内で移動させ、
前記方位の変化が前記第1の所定角度未満のときは、前記視野における前記画像の表示位置を固定する
ヘッドマウントディスプレイ。
(10)上記(1)〜(9)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記表示制御部は、前記検出部の出力変化が所定時間にわたって所定以下のときは、前記画像を前記視野の所定位置に移動させる
ヘッドマウントディスプレイ。
(11)上記(1)〜(10)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記表示制御部は、ユーザの操作により生成される所定信号の入力を検出したときは、前記画像を前記視野の所定位置に移動させる
ヘッドマウントディスプレイ。
(12)上記(1)〜(11)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記表示制御部は、前記視野の所定位置に前記画像が表示されている状態において、前記検出部の出力変化が所定周波数以上のときは、前記検出部の出力のうち前記所定周波数以上の周波数成分を無効とする
ヘッドマウントディスプレイ。
(13)上記(1)〜(12)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記第1の制御ユニットは、ユーザの操作により生成される所定信号の入力を検出したときは、前記3次元座標における高さ方向の領域を前記視野の前記一軸方向の領域に合わせて制限し、前記視野に表示される画像をすべて前記視野において同一の高さに揃える
ヘッドマウントディスプレイ。
(14)上記(1)〜(13)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記画像は、アニメーション画像を含む
ヘッドマウントディスプレイ。
(15)上記(1)〜(14)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記記憶部に記憶される複数の画像を取得する画像取得部を有する第2の制御ユニットをさらに具備する
ヘッドマウントディスプレイ。
(16)上記(15)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記第1の制御ユニットは、前記第2の制御ユニットに対して、前記複数の画像の中から選択された1つ以上の画像の送信を要求する
ヘッドマウントディスプレイ。
(17)上記(15)または(16)に記載のヘッドマウントディスプレイであって、
前記第1の制御ユニットは、前記3次元座標上の、前記視野の表示領域により近い座標位置に対応付けられた画像の優先的な送信を前記第2の制御ユニットに対して要求する
ヘッドマウントディスプレイ。
(18)上記(15)〜(17)のいずれか1つに記載のヘッドマウントディスプレイであって、
前記第2の制御ユニットは、前記表示部の位置情報を取得可能な位置情報取得部をさらに有し、
前記画像取得部は、前記第1の制御ユニットへ送信可能な前記位置情報に対応する画像を取得する
ヘッドマウントディスプレイ。