表示方法および表示システム
【課題】仮想情報としての多角形を、顔の向きに応じて好適に透過型HMDに表示すること。
【解決手段】三次元矢印情報演算部13は、仮想情報である矢印の各端点の位置を、利用者との相対位置として演算する。顔向き取得部15は、利用者の顔の向き情報を取得する。二次元矢印情報演算部14は、矢印端点の位置を、顔の向き情報に応じて制御するとともに、HMD面上の位置に変換する。二次元矢印情報演算部14において、顔の向き情報に応じて矢印端点の位置を制御したときにHMD面より利用者側となる端点がある場合、該端点に代えて矢印の外形線分とHMD面の交点を用いれば、虚像が表示されないようにすることができる。表示設定部16は、HMD面に投影表示する画像を生成し、表示部17は、その画像をHMD面に投影表示する。
【解決手段】三次元矢印情報演算部13は、仮想情報である矢印の各端点の位置を、利用者との相対位置として演算する。顔向き取得部15は、利用者の顔の向き情報を取得する。二次元矢印情報演算部14は、矢印端点の位置を、顔の向き情報に応じて制御するとともに、HMD面上の位置に変換する。二次元矢印情報演算部14において、顔の向き情報に応じて矢印端点の位置を制御したときにHMD面より利用者側となる端点がある場合、該端点に代えて矢印の外形線分とHMD面の交点を用いれば、虚像が表示されないようにすることができる。表示設定部16は、HMD面に投影表示する画像を生成し、表示部17は、その画像をHMD面に投影表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示方法および表示システムに関し、特に、現実空間に電子情報を重畳して仮想情報を表示する拡張現実技術における表示方法および表示システムに関する。
【背景技術】
【0002】
従来から、装着することにより眼前にディスプレイが配置され、視界を覆ってディスプレイ画面のみを利用者に視認させる非透過型ヘッドマウントディスプレイ(HMD:Head Mounted Display)が存在する。非透過型HMDでは、眼前のディスプレイ画面上に電子情報による仮想情報が表示されるので、利用者は、意識的に視線を向けなくても、その仮想情報を視認することができる。また、小型のディスプレイを用いても仮想的に大型の画面表示を実現できる。非透過型HMD(Vuzix iWear vr920)は、非特許文献1に記載されている。
【0003】
近年では、視界を確保しながらディスプレイ画面上に電子情報による仮想情報を重畳して表示することが可能な透過型HMDが実現されている。透過型HMDでは、利用者の視界を確保しつつ、ディスプレイ画面上に電子情報による仮想情報が表示されるので、現実空間の視界の一部に電子情報による仮想情報を重畳して表示することができる。透過型HMD(LUMUS)は、非特許文献2に記載されている。
【0004】
一方、非透過型HMDに顔の向きを検知するセンサを搭載し、3次元データで構成された仮想空間データを利用者の顔の向きに応じて連続的に切替えて表示するヘッドトラッキング機能を備えたHMDが存在する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Vuzix iWear VR920(http://www.vuzix.com/iwear/products_vr920.html)
【非特許文献2】LUMUS(http://www.lumusvision.com/)
【発明の概要】
【発明が解決しようとする課題】
【0006】
透過型HMDを用いて視界の一部に電子情報を重畳して仮想情報を表示する場合、視界上にあたかも仮想情報が存在するように見せるためには、利用者の顔の向きに応じて電子情報を変更して表示を制御する必要がある。これは、上述のヘッドトラッキング機能を利用する手法により実現可能である。
【0007】
しかしながら、従来のヘッドトラッキング機能を利用する手法を用いる場合には、3次元データを仮想空間データとして用意する必要があるので、表示を制御するための処理負荷や消費電力が高くなり、携帯電話などの処理能力が低い端末でこれを実現するのが困難であるという課題がある。
【0008】
本発明の目的は、上記課題を解決し、仮想情報としての多角形を、顔の向きに応じて低い処理負荷で透過型HMDに適切に表示することができる表示方法および表示システムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の表示方法は、利用者の顔の向き情報を取得する第1のステップと、三次元空間に仮想的に存在する多角形の仮想情報の端点の位置を、利用者の位置に対する相対位置として演算する第2のステップと、前記第2のステップにより演算された仮想情報の端点の位置を、前記第1のステップにより取得された利用者の顔の向き情報に応じて制御するとともに、透過型HMDの表示面上の位置に変換する第3のステップと、前記第3のステップにより変換された仮想情報の位置を用いて、透過型HMDの表示面に投影表示する画像を生成する第4のステップと、前記第4のステップにより生成された画像を透過型HMDの表示面に投影表示する第5のステップを備えた点に第1の特徴がある。
【0010】
また、本発明の表示方法は、前記第3のステップが、首を中心とする顔の回転モデルを用いて、仮想情報の端点の位置を透過型HMDの表示面上の位置に変換する点に第2の特徴がある。
【0011】
また、本発明の表示方法は、前記3のステップが、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代える処理を含む点に第3の特徴がある。
【0012】
また、本発明の表示方法は、前記第4のステップが、透過型HMDの表示面外となる仮想情報の端点がある場合、仮想情報の多角形外形の線分と表示面との交点を求め、該交点を表示面外との端点の代わりに用いて透過型HMDの表示面に投影表示する画像を生成する処理を含む点に第4の特徴がある。
【0013】
また、本発明の表示方法は、仮想情報が、ナビゲーションにおける矢印であり、GPSシステムによる利用者の現在位置および目的地までのルート情報に基づいて生成される点に第5の特徴がある。
【0014】
また、本発明の表示方法は、仮想情報が、その存在位置および多角形表示の内容を含む情報であり、予め表示システム内に保存されている、あるいは通信によりネットワーク上のサーバや他端末から動的に取得される点に第6の特徴がある。
【0015】
また、本発明の表示方法は、利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけの画像が透過型HMDの表示面に表示される点に第7の特徴がある。
【0016】
なお、本発明は、表示方法としてだけでなく、上記各ステップを実行する手段を備える表示システムとしても実現できる。
【発明の効果】
【0017】
本発明では、顔の向きに応じて多角形の仮想情報の表示を制御するので、あたかも現実世界に存在するかのようにして透過型HMDの表示面に多角形の仮想情報を適切に表示することができる。その際、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代えることにより、仮想情報が虚像として表示されることをなくすことができる。
【0018】
また、3次元データを仮想空間データとして用意する必要がないので、表示を制御するための処理負荷や消費電力を低くすることができ、携帯電話などの処理能力が低い端末でもこれを実現することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の表示システムの第1実施形態を示す機能ブロック図である。
【図2】三次元座標上での矢印端点の位置を概念的に示す図である。
【図3】三次元座標上での矢印(直進矢印)端点の位置を詳細に示す図である。
【図4】三次元座標上での矢印(右左折矢印)端点の位置を詳細に示す図である。
【図5】矢印端点の三次元座標位置からHMD面上の二次元座標位置への変換を概念的に示す図である。
【図6】顔の向き情報に従って矢印端点の位置を制御するために利用される顔の回転モデルを示す図である。
【図7】矢印端点が実像として表示される領域(実像範囲)と虚像として表示される領域(虚像範囲)を示す図である。
【図8】虚像範囲に存在する端点の処理を概念的に示す図である。
【図9】塗りつぶし面を求める手法を示すフローチャートである。
【図10】塗りつぶし面を求める手法を具体的に説明する図である。
【図11】本発明の表示システムの第2実施形態を示す機能ブロック図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明を説明する。本発明は、特に、仮想情報として多角形を利用者の顔の向きに応じて制御しつつ透過型HMD(以下では、単に「HMD」と記す。)に表示する表示システムであり、例えば、多角形を利用者進行方向を指示する矢印とすることによりナビゲーションシステムに適用でき、任意の多角形とすることにより、利用者の周りに仮想情報による物体があたかも存在するかのように表示する表示システムに適用できるものである。
【0021】
図1は、本発明の表示システムの第1実施形態を示す機能ブロック図である。なお、本発明は、各部処理をステップとした表示方法としても実現できる。
【0022】
第1実施形態の表示システムは、位置情報取得部11、ナビゲーション情報取得部12、三次元矢印情報演算部13、二次元矢印情報投影演算部14、顔向き取得部15、表示設定部16および表示部17を備え、ナビゲーションシステムとして構成されている。なお、これらの各部の処理は、ハードウエアでもソフトウエアでも実現できる。
【0023】
ここで、三次元矢印情報演算部13、二次元矢印情報投影演算部14および表示設定部16は、基本的な表示内容設定装置を構成し、この表示内容設定装置に顔向き取得部15と表示部17を付加した構成が、表示システムに必要な構成である。本実施形態は、ナビゲーションシステムであるので、さらに位置情報取得部11とナビゲーション情報取得部12を付加している。
【0024】
位置情報取得部11は、GPSシステムにより利用者の現在位置情報を取得する。ナビゲーション情報取得部12は、利用者により入力される現在地から目的地までのルート情報を求め、利用者の現在位置の情報からその時点での進行方向の方位、次の右左折点までの距離、右左折点で曲がる角度などのナビゲーション情報を取得する。
【0025】
三次元矢印情報演算部13は、ナビゲーション情報を元に、三次元座標上での矢印端点の位置を算出する。矢印端点の位置とは、ナビゲーション用の矢印を利用者がみたときの、三次元座標上での利用者と矢印の間の相対位置を意味する。
【0026】
図2は、三次元座標上での矢印端点の位置を概念的に示す図である。ここには、利用者の進行方向,左右方向,上下方向をそれぞれx軸,y軸,z軸とし、利用者の首の位置を原点(0,0,0)としたときの利用者と矢印(始点,終点,右左折点)の間の相対位置を示している。同図(a)に示すように、首から-uの高さの位置において、進行方向の距離vの地点から距離v+w1の地点までの直進矢印の始点、終点の位置はそれぞれ、(v,0,-u),(v+w1,0,-u)で表される。また、同図(b)に示すように、進行方向の距離v+wの地点で右左折(折角度θ)し、さらに距離w2だけ進む場合の、右左折矢印の始点、右左折点、終点の位置はそれぞれ、(v,0,-u),(v+w,0,-u),(v+w+w2*cosθ,w2*sinθ,-u)で表される。例えば、v=1m、w1=30m、v+w+w2=30mに設定される。このように、直線矢印については、一定距離を表す一定長さの直線矢印とすることが好ましいが、次の右左折点までの直線矢印としてもよい。
【0027】
図3、図4は、三次元座標上での矢印端点の位置を詳細に示す図であり、図3は直進矢印の場合、図4は右左折矢印の場合である。ここでは、矢印のx軸方向およびy軸方向の位置(Xi,Yi)を示しており、z軸方向の位置はZ=-u(固定)としている。矢印は、実際上では、図3、図4に示されるように太さを持って表される。三次元矢印情報演算部13は、図3、図4で示されるように、矢印端点の位置を算出する。
【0028】
直進矢印と右左折矢印は、次の右左折点までの距離v+wに従って切り替えられる。一定長さの直進矢印を表示するものとすると、w1=T(閾値)とし、w≧Tの場合に直進矢印を表示し、w<Tの場合に右左折矢印を表示するようにすれば、直進矢印と右左折矢印を連続的に切り替えることができる。右左折点までの距離や右左折折角度は、ナビゲーション情報から得ることができる。
【0029】
二次元矢印情報投影演算部14は、三次元矢印情報演算部13により算出された三次元座標上での位置をHMD面の二次元座標上での位置に変換し、矢印がHMD面に投影表示されたときのHMD面上での矢印端点の位置を算出する。
【0030】
図5は、矢印端点の三次元位置からHMD面上の二次元位置への変換を概念的に示す図である。同図に示すように、HMD面上での矢印端点の位置は、矢印端点の三次元座標上での位置(v,0,-u),(v+w,0,-u)と眼を結ぶ線分とHMD面との交点として得られる。
【0031】
二次元矢印情報投影演算部14には、顔向き取得部15から顔の向き情報が与えられ、これにより、HMD面上での矢印端点の位置が利用者の顔が向いている方位、上下方向の角度、左右の傾きに応じて制御される。
【0032】
顔向き取得部15は、利用者の顔の向き情報を取得する。顔向き取得部15は、例えば、ジャイロセンサ、地磁気センサ、加速度センサ、またはそれらの複数を1つに統合したセンサモジュールとして構成される。顔の向き情報は、利用者の顔が向いている方位、上下方向の角度、左右の傾きの情報を含む。
【0033】
図6は、顔の向き情報に従って矢印端点の位置を制御するために利用される顔の回転モデルを示す。顔の回転モデルは、人間の首をモデル化したものであり、この回転モデルに従って矢印の端点位置に首の付け根を中心とした回転処理が施される。
【0034】
以下に、二次元矢印情報投影演算部14での回転処理、すなわち、顔の向き情報に従って矢印端点の位置を制御する処理について説明する。
【0035】
まず、図6に示されるように、利用者の首の位置を原点Oとし、進行方向をX軸、左右方向をy軸、上下方向をz軸とした三次元座標、顔の回転を逆補正した首の位置を原点O'とし、進行方向をX軸、左右方向をy軸、上下方向をz軸とした三次元座標、顔の回転を逆補正した眼の位置を原点O"とし、進行方向をX軸、左右方向をy軸、上下方向をz軸とした三次元座標、HMD面の一隅を原点O'''とし、その水平方向をx軸、垂直方向をy軸とした二次元座標を想定し、顔の回転モデルに関する定数r,h,lを以下のように定義する。
const r = HMD_FRONT_LEN_FROM_EYE (定数r:眼とHMD面間の距離)
const h = EYE_HEIGHT_FROM_NECK (定数h:首と眼の高低差)
const l = EYE_FRONT_LEN_FROM_NECK (定数l:首と眼の水平方向離間距離)
【0036】
また、HMD面の大きさに関する定数(ピクセルではなく物理的な長さ)を以下のように定義する。
const DISPLAY_WIDTH (HMD面の幅)
const DISPLAY_HEIGT (HMD面の高さ)
【0037】
顔向き取得部15から取得できる顔の向き情報の変数を以下のように定義する。
θ = face_direction(北向きから反時計回り(西側)が正)
φ = face_tilt(上向き方向が正)
ψ = face_rot(右に傾げた場合が正)
【0038】
三次元座標上での矢印端点の位置(X,Y,Z)とすると、原点をOとする三次元座標上での端点の位置(X,Y,Z)Oは、式(1)により原点をO'とする三次元座標上での位置(X,Y,Z)O’に変換される。
【0039】
【数1】
【0040】
式(1)における右辺の3つの行列はそれぞれ、顔の左右傾きを逆補正回転(-ψ回転)させる行列、顔の上下傾きを逆補正回転(-φ回転)させる行列、顔の向きを逆補正回転(-θ回転)させる行列であり、これらの行列を行列(X,Y,Z)Oに掛けることにより行列(X,Y,Z)O’が算出される。
【0041】
原点をO'とする三次元座標上での端点の位置(X,Y,Z)O’は、式(2)に示すように、定数h,l分だけ平行移動させることにより、原点をO"とする三次元座標上での位置(X,Y,Z)O"へ変換される。
【0042】
【数2】
【0043】
以上のようにして算出された原点をO"とする三次元座標上での位置(X,Y,Z)O"をHMD面の一隅を原点O'''とする二次元座標上での位置に変換してHMD面上での矢印端点の位置を算出する。
【0044】
本実施形態では、さらに、HMD面に虚像が表示されないようにしている。矢印端点のうちいくつかがHMD面に対して利用者の顔と同じ側の領域に存在する場合、その領域に存在する端点はHMD面表示では虚像となり、矢印の全部あるいは一部が上下左右逆に表示されることになる。
【0045】
図7は、矢印端点が実像として表示される領域(実像範囲)と虚像として表示される領域(虚像範囲)を示す図である。同図に示すように、HMD面に対して利用者の顔と反対側の領域が実像範囲となり、顔と同じ側の領域が虚像範囲となる。
【0046】
これを回避するために単純に虚像範囲に存在する端点を削除すると、その端点と実像範囲に存在する端点を結ぶ線分が正常に処理されなくなる。そこで、二次元矢印情報投影演算部14は、HMD面と三次元座標上での矢印の線分の交点を求め、この交点を虚像範囲に存在する端点の代わりとする。すなわち、HMD面と三次元座標上での矢印の線分の交点を矢印端点として再定義する。
【0047】
図8は、虚像範囲に存在する端点の処理を概念的に示す図である。同図(a)に示すように、多角形の端点A〜FのうちC〜Eが実像範囲に存在し、A,B,Fが虚像範囲に存在するとする。
【0048】
このままの端点を元にしてHMD面表示を行うと、虚像範囲に存在する多角形の一部が虚像として表示される。また、虚像範囲に存在する端点A,B,Fを単に削除すると、同図(b)に示すように、端点BとCを結ぶ線分BC、端点EとFを結ぶ線分EFが正常に処理されなくなり、実像として表示されるべき多角形の部分も削除されてしまう。
【0049】
そこで、本発明では、同図(c)に示すように、線分BC、線分EFとHMD面の交点B',F'を求め、交点B',F'をそれぞれ端点B,Fに代えることにより多角形の端点を再定義する。
【0050】
次に、多角形の端点を再定義するための具体的手法について説明する。原点をO"とする三次元座標上において多角形を形成する1つの線分ABの端点A,Bの位置(式(2)により求められた端点位置をA(xa,ya,za)、B(xb,yb,zb)とする。
【0051】
以下に示す(1)〜(3)の手順に従って、端点A,Bが実像範囲に存在するか虚像範囲に存在するかにより多角形の端点を再定義する。
(1)端点A、Bが共にHMD面に対して顔と反対側の領域(実像範囲)に存在する場合
【0052】
端点A,Bをそのまま保持する。端点A、Bが共にHMD面に対して実像範囲に存在することは、xa≧r,xb≧rにより判別できる。
(2)端点A、Bが共にHMD面に対して顔と同じ側の領域(虚像範囲)に存在する場合
【0053】
端点A、Bは存在しないものとする。端点A、Bが共にHMD面に対して虚像範囲に存在することは、xa<r,xb<rにより判別できる。
(3)端点A, BがHMD面を挟んで(一方が実像範囲、他方が虚像範囲)存在する場合
【0054】
線分ABとHMD面との交点を求め、虚像範囲に存在す端点の代わりに線分ABとHMD面との交点(x,y,z)O"を用いる。すなわち、xa<r,xb≧rの場合には、端点Bをそのままとし、端点Aの代わりに交点(x,y,z)O"を用い、xa≧r,xb<rの場合には、端点Aをそのままとし、端点Bの代わりに交点(x,y,z)O"を用いる。
【0055】
線分ABとHMD面との交点(x,y,z)O"は、式(3)で求めることができる。
【0056】
【数3】
【0057】
HMD面の一隅を原点O'''とした二次元座標上での端点位置は、HMD面の大きさを考慮すると、式(4)で求めることができる。これにより求められる端点位置は、物理的な長さによるものである。HMD面上でのピクセル数による端点位置とするには、HMD面の左上端からの端点位置までの縦・横の長さに垂直・水平方向の解像度を乗算してピクセル座標に合わせればよい。
【0058】
【数4】
【0059】
表示設定部16では、虚像範囲に存在する端点は処理対象とせず、虚像範囲に存在する端点の代わりに再定義された交点および実像範囲に存在する端点を処理対象とする。図8(c)に示した例では、端点Aは存在しないものとされ、端点B,Fの代わりに交点B',F'が再定義されるので、端点B',C,D,E,F'のみが処理対象とされる。
【0060】
表示設定部16は、二次元矢印情報投影演算部14により算出された矢印端点の位置を元にHMD面での表示情報を生成する。ここで、矢印の一部がHMD面の表示領域枠外に存在する場合、表示設定部16は、表示領域枠内に存在する矢印の部分が正常に表示されるように、塗りつぶし面の端点の位置を求める。塗りつぶし面の端点の位置は、表示領域枠と矢印外形線の線分の直線同士の交点として求めることができる。各端点の位置を元に塗りつぶし面を求める手法については、後述する。
【0061】
表示部17は、表示設定部16により生成された表示情報を表示する。具体的には、表示設定部16により生成された表示情報を画像出力用ケーブルを介してHMDに出力し、HMD面に投影表示する。なお、画像出力用ケーブルに代えてWireless HDなどの無線接続を利用することもできる。
【0062】
次に、表示設定部16において、各端点の位置を元に塗りつぶし面を求める手法について説明する。図9は、この塗りつぶし面を求める手法を示すフローチャートである。
【0063】
まず、二次元矢印情報投影演算部14での投影演算処理により算出された矢印端点の位置(座標)を元にして各端点を時計回りにたどり、描画端点を得る(S1)。このとき、矢印端点がHMD面の表示領域枠内に存在する場合、その端点を描画端点として保存し、前後の端点を結ぶ線分が表示領域枠と交わる場合にはその交点を描画端点として保存する。それ以外の端点は描画端点としない。また、描画端点に(1)から順に番号を付けるとともに、種別を付ける。描画端点の種別とは、表示領域枠内(表示領域枠内に存在する端点)、交点入(表示領域枠内に入る線分の交点)、交点出(表示領域枠外に出る線分の交点)である。
【0064】
以下の処理は、描画端点を反時計回りにたどりつつ実行される。まず、処理番号を描画端点の最大番号とし(S2)、最初の描画多角形データの生成開始(S3)とする。S3および後述するS12,S15のステップは、互いに分離された複数の塗りつぶし面が存在する場合に、個々の塗りつぶし面に対する別々の描画多角点データを生成するために設けられている。
【0065】
次に、その描画端点が処理済みであるか否かを判定する(S4)。S4で、処理済みでないと判定された場合、その描画端点を描画多角形データに登録するとともに処理済みに設定し(S5)、処理済みと判定された場合はS12に進む。
【0066】
次に、処理済みに設定した描画端点の種別が交点入であるか否かを判定する(S6)。S6で、その描画端点が交点入でないと判定された場合、S7に進み、交点入りと判定された場合は、S9に進む。
【0067】
S7では、処理番号が描画端点の最小番号であるか否かを判定する。S7で、処理番号が描画端点の最小番号と判定された場合、S12に進むが、最小番号でないと判定された場合には、処理番号を1だけ小さくし(S8)、S4に戻って処理を繰り返す。
【0068】
S6で、描画端点が交点入と判定された場合には、表示領域枠の同じ線分上、反時計回りに交点出の描画端点があるか否かを判定する(S9)。この判定には、処理済みの描画端点も対象とする。S9で、交点出の種別の描画端点があると判定された場合、最も近い描画端点を選択し(S10)、S4に戻って処理を繰り返す。また、S9で、交点出の種別の描画端点がないと判定された場合には、反時計回りにある表示領域枠の隅を新たな描画端点(交点入)として登録し、この描画端点を処理対象とし(S11)、S4に戻って処理を繰り返す。なお、この場合の新たな描画端点の種別は、S6からS9に進むために便宜上交点入とする。但し、それが表示領域枠の隅であること明示する種別とし、S6を交点入あるいは表示領域枠の隅であるか否かを判定する構成としてもよい。
【0069】
S12では、S7で処理番号が最小番号と判定されたので、当該描画多角形データの生成終了とする。これにより1つの塗りつぶし面に対する描画多角点データが終端される。
【0070】
次に、まだ処理済みでない描画端点があるか否かを判定する(S13)。ここで、あると判定された場合には残りの描画端点の番号のうちの最大番号を処理番号として(S14)、新たに次の描画多角形データの生成開始(S15)とした後、S4に戻って処理を繰り返すが、ないと判定された場合は、処理を終了する。
【0071】
以下に具体的に説明する。ここでは、図10に示すように、4隅をα,β,γ,δとするHMD面の表示領域枠に対して矢印(端点A〜I)の一部が表示領域枠外となり、表示領域枠αβと矢印外形線の線分BC,CD,DEの交点(3),(4),(6)、表示領域枠δαと矢印外形線の線分HIの交点(7)が求められている場合を例に挙げる。
【0072】
1. 矢印の1つの端点(例えば端点A)から矢印の外周を時計回りにA→B→C…H→Iとたどる。このとき、端点がHMDの表示領域内に存在する場合はその端点を描画端点として登録し、前後の端点を結ぶ線分が表示領域枠と交わる場合はその交点を描画端点として登録する。登録された描画端点には(1)から順に番号を付すとともに種別を付す(S1)。
【0073】
図10の例では、以下のようになる。
端点Aは表示領域内→端点Aが描画端点(番号(1),種別(領域内))として登録される。
端点Bは表示領域内→端点Bが描画端点(番号(2),種別(領域内))として登録される。
線分BCは表示領域枠と交わる→交点が描画端点(番号(3),種別(交点出))として登録される。
線分CDは表示領域枠と交わる→交点が描画端点(番号(4),種別(交点入))として登録される。
端点Dは表示領域内→端点Dが描画端点(番号(5),種別(領域内))として登録される。
線分DEは表示領域枠と交わる→交点が描画端点(番号(6),種別(交点出))として登録される。
線分EFは表示領域枠と交わらない→登録される端描画点はない(無視)。
線分FGは表示領域枠と交わらない→登録される端描画点はない(無視)。
線分GHは表示領域枠と交わらない→登録される端描画点はない(無視)。
線分HIは表示領域枠と交わる→交点が描画端点(番号(7),種別(交点入))として登録される。
端点Iは表示領域内→端点Iが描画端点(番号(8),種別(領域内))として登録される。
【0074】
2. 処理番号を描画端点の最大番号(8)とし(S2)、まず、描画端点I(番号(8))を処理対象として最初の描画多角形データの生成開始とする(S3)。
【0075】
3. 描画端点I(番号(8),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0076】
4. 描画端点I(番号(8),種別(交点入))の種別は交点入でなく、処理番号は最小番号でないので、処理番号を1だけ小さくして描画端点(番号(7),種別(交点入))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0077】
5. 描画端点(番号(7),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0078】
6. 描画端点(番号(7),種別(交点入))の種別は交点入であり、表示領域枠の同じ線分(αδ)上、反時計回りに交点出の描画端点はないので、反時計回りにある表示領域枠の隅(α)を新たな描画端点(番号(9),種別(交点入))に登録し、これを処理対象としてS4以下の処理を行う(S6),(S9),(S11)。
【0079】
7. 描画端点(番号(9),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0080】
8. 描画端点(番号(9))の種別は交点入であり、表示領域枠の同じ線分(αβ)上、反時計回りに交点出の描画端点(番号(3),種別(交点出))があるので、最も近い描画端点(番号(3),種別(交点出))を選択し、これを処理対象としてS4以下の処理を行う(S6),(S9),(S10)。なお、この場合、最も近い描画端点は描画端点(番号(3),種別(交点出))1つだけである。
【0081】
9. 描画端点(番号(3),種別(交点出))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0082】
10. 描画端点(番号(3),種別(交点出))の種別は交点入でないので、処理番号を1だけ小さくして描画端点B(番号(2),種別(領域内))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0083】
11. 描画端点B(番号(2),種別(領域内))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0084】
12. 描画端点B(番号(2),種別(領域内))の種別は交点入でないので、処理番号を1だけ小さくして描画端点A(番号(1),種別(領域内))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0085】
13. 描画端点A(番号(1),種別(領域内))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0086】
14. 描画端点A(番号(1),種別(領域内))の種別は交点入でなく、それより小さい番号の描画端点はないので、当該描画多角形データの生成終了とし、S13に進む(S6),(S7),(S12)。
【0087】
15. 処理済みでない描画端点が存在し、その最大番号は(6)であるので、描画端点(番号(6),種別(交点出))を処理対象として次の描画多角形データの生成開始とし、S4以下の処理を行う(S13),(S14),(S15)。
【0088】
16. 描画端点(番号(6),種別(交点出))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0089】
17. 描画端点(番号(6),種別(交点出))の種別は交点入でなく、処理番号は最小番号でないので、処理番号を1だけ小さくして描画端点D(番号(5),種別(領域内))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0090】
18. 描画端点D(番号(5),種別(領域内))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0091】
19. 描画端点D(番号(5),種別(領域内))の種別は交点入でなく、処理番号は最小番号でないので、処理番号を1だけ小さくして描画端点(番号(4),種別(交点入))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0092】
20. 描画端点(番号(4),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0093】
21. 描画端点(番号(4),種別(交点入))の種別は交点入であり、表示領域枠の同じ線分(αδ)上に描画端点(番号(6),種別(交点出))があるが、これは処理済みであるので、当該描画多角形データの生成終了とし、S13に進む(S6),(S9),(S10),(S4),(S12)。
22. 以上により処理済みでない描画端点はなくなるので、処理を終了する(S13)。
【0094】
以上の処理により、(8),(7),(9),(3),(2),(1)の描画多角形データと(6),(5),(4)の描画多角形データ、すなわち2つ塗りつぶし面が得られる。
【0095】
図11は、本発明の表示システムの第2実施形態を示す機能ブロック図である。第2実施形態は、本発明をHMD面上に種々の多角形の仮想情報を表示する表示システムとして構成されている。これによれば、例えば、利用者の周りに、あたかも多角形状の物体が存在するかのような表示を行わせることができる。このように、本発明は、ナビゲーションシステムに限らず、種々の表示システムとして構成できる。
【0096】
図11において、図1と同一あるいは同等部分には同じ符号を付している。第2実施形態が第1実施形態と異なるのは、図1の三次元矢印情報演算部13と二次元矢印情報投影演算部14に代えて三次元仮想情報演算部18と二次元仮想情報投影演算部19を備え、三次元仮想情報演算部18および二次元仮想情報投影演算部19が仮想情報20を処理対象とする点である。第1実施形態は、仮想情報がナビゲーション用の矢印である場合に相当する。
【0097】
ここで、三次元仮想情報演算部18、二次元仮想情報投影演算部19および表示設定部16は、基本的な表示内容設定装置を構成し、この表示内容設定装置に顔向き取得部15と表示部17を付加した構成が、表示システムに必要な構成である。
【0098】
仮想情報20は、それが存在する絶対位置あるいは利用者の位置に対する相対位置の情報と多角形の表示内容を含む。仮想情報20は、予め表示システム内に保存されるものでもよいし、通信によりネットワーク上のサーバや他端末から動的に取得されるものでもよい。
【0099】
三次元仮想情報演算部18は、三次元座標上での利用者の位置に対する仮想情報20の端点の相対位置を算出する。仮想情報20として、その絶対位置と表示内容が提供される場合には、その絶対位置とGPSシステムによって取得される利用者の現在位置情報を比較し、利用者の現在位置に対する仮想情報の相対位置を算出すればよい。また、仮想情報20として、利用者の位置に対する相対位置と表示内容が提供される場合には、その相対位置をそのまま用いることができる。
【0100】
二次元仮想情報投影演算部19は、三次元仮想情報演算部18で算出された三次元座標上での仮想情報の端点の位置をHMD面の二次元座標上での位置に変換し、仮想情報がHMD面に投影表示されたときのHMD面上での仮想情報の端点の位置を算出する。この処理は、二次元矢印情報投影演算部14が行う処理と実質的に同じである。
【0101】
表示設定部16および表示部17での処理は、第1実施形態と同様であるので説明を省略する。
【0102】
第2実施形態によれば、利用者の周りに、あたかも多角形状の物体が存在するかのように表示する表示システムを構成できる。この場合、利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけをHMD面に表示する構成にしてもよい。これは、三次元仮想情報演算部18が三次元座標上での利用者の位置に対する仮想情報20の相対位置を算出する際に、算出対象とする相対位置に制限を加えることにより実現できる。
【0103】
以上、実施形態を説明したが、本発明は、上記実施形態に限定されるのもではなく、種々に変形されたものも含む。例えば、図1では、顔の向きや傾きを検知する顔向き取得部15を1つのセンサモジュールとして構成しているが、顔の向きや傾きをそれぞれ検知するのに適した加速度センサ、地磁気センサを別々のセンサモジュールとして構成することもできる。また、センサモジュールは、表示内容設定装置に搭載されていてもよいし、HMD(表示部17)に搭載されていてもよいし、単独の装置として構成されていてもよい。
【符号の説明】
【0104】
11・・・位置情報取得部、12・・・ナビゲーション情報取得部、13・・・三次元矢印情報演算部、14・・・二次元矢印情報投影演算部、15・・・顔向き取得部、16・・・表示設定部、17・・・表示部、18・・・三次元仮想情報演算部、19・・・二次元仮想情報投影演算部、20・・・仮想情報
【技術分野】
【0001】
本発明は、表示方法および表示システムに関し、特に、現実空間に電子情報を重畳して仮想情報を表示する拡張現実技術における表示方法および表示システムに関する。
【背景技術】
【0002】
従来から、装着することにより眼前にディスプレイが配置され、視界を覆ってディスプレイ画面のみを利用者に視認させる非透過型ヘッドマウントディスプレイ(HMD:Head Mounted Display)が存在する。非透過型HMDでは、眼前のディスプレイ画面上に電子情報による仮想情報が表示されるので、利用者は、意識的に視線を向けなくても、その仮想情報を視認することができる。また、小型のディスプレイを用いても仮想的に大型の画面表示を実現できる。非透過型HMD(Vuzix iWear vr920)は、非特許文献1に記載されている。
【0003】
近年では、視界を確保しながらディスプレイ画面上に電子情報による仮想情報を重畳して表示することが可能な透過型HMDが実現されている。透過型HMDでは、利用者の視界を確保しつつ、ディスプレイ画面上に電子情報による仮想情報が表示されるので、現実空間の視界の一部に電子情報による仮想情報を重畳して表示することができる。透過型HMD(LUMUS)は、非特許文献2に記載されている。
【0004】
一方、非透過型HMDに顔の向きを検知するセンサを搭載し、3次元データで構成された仮想空間データを利用者の顔の向きに応じて連続的に切替えて表示するヘッドトラッキング機能を備えたHMDが存在する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Vuzix iWear VR920(http://www.vuzix.com/iwear/products_vr920.html)
【非特許文献2】LUMUS(http://www.lumusvision.com/)
【発明の概要】
【発明が解決しようとする課題】
【0006】
透過型HMDを用いて視界の一部に電子情報を重畳して仮想情報を表示する場合、視界上にあたかも仮想情報が存在するように見せるためには、利用者の顔の向きに応じて電子情報を変更して表示を制御する必要がある。これは、上述のヘッドトラッキング機能を利用する手法により実現可能である。
【0007】
しかしながら、従来のヘッドトラッキング機能を利用する手法を用いる場合には、3次元データを仮想空間データとして用意する必要があるので、表示を制御するための処理負荷や消費電力が高くなり、携帯電話などの処理能力が低い端末でこれを実現するのが困難であるという課題がある。
【0008】
本発明の目的は、上記課題を解決し、仮想情報としての多角形を、顔の向きに応じて低い処理負荷で透過型HMDに適切に表示することができる表示方法および表示システムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の表示方法は、利用者の顔の向き情報を取得する第1のステップと、三次元空間に仮想的に存在する多角形の仮想情報の端点の位置を、利用者の位置に対する相対位置として演算する第2のステップと、前記第2のステップにより演算された仮想情報の端点の位置を、前記第1のステップにより取得された利用者の顔の向き情報に応じて制御するとともに、透過型HMDの表示面上の位置に変換する第3のステップと、前記第3のステップにより変換された仮想情報の位置を用いて、透過型HMDの表示面に投影表示する画像を生成する第4のステップと、前記第4のステップにより生成された画像を透過型HMDの表示面に投影表示する第5のステップを備えた点に第1の特徴がある。
【0010】
また、本発明の表示方法は、前記第3のステップが、首を中心とする顔の回転モデルを用いて、仮想情報の端点の位置を透過型HMDの表示面上の位置に変換する点に第2の特徴がある。
【0011】
また、本発明の表示方法は、前記3のステップが、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代える処理を含む点に第3の特徴がある。
【0012】
また、本発明の表示方法は、前記第4のステップが、透過型HMDの表示面外となる仮想情報の端点がある場合、仮想情報の多角形外形の線分と表示面との交点を求め、該交点を表示面外との端点の代わりに用いて透過型HMDの表示面に投影表示する画像を生成する処理を含む点に第4の特徴がある。
【0013】
また、本発明の表示方法は、仮想情報が、ナビゲーションにおける矢印であり、GPSシステムによる利用者の現在位置および目的地までのルート情報に基づいて生成される点に第5の特徴がある。
【0014】
また、本発明の表示方法は、仮想情報が、その存在位置および多角形表示の内容を含む情報であり、予め表示システム内に保存されている、あるいは通信によりネットワーク上のサーバや他端末から動的に取得される点に第6の特徴がある。
【0015】
また、本発明の表示方法は、利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけの画像が透過型HMDの表示面に表示される点に第7の特徴がある。
【0016】
なお、本発明は、表示方法としてだけでなく、上記各ステップを実行する手段を備える表示システムとしても実現できる。
【発明の効果】
【0017】
本発明では、顔の向きに応じて多角形の仮想情報の表示を制御するので、あたかも現実世界に存在するかのようにして透過型HMDの表示面に多角形の仮想情報を適切に表示することができる。その際、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代えることにより、仮想情報が虚像として表示されることをなくすことができる。
【0018】
また、3次元データを仮想空間データとして用意する必要がないので、表示を制御するための処理負荷や消費電力を低くすることができ、携帯電話などの処理能力が低い端末でもこれを実現することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の表示システムの第1実施形態を示す機能ブロック図である。
【図2】三次元座標上での矢印端点の位置を概念的に示す図である。
【図3】三次元座標上での矢印(直進矢印)端点の位置を詳細に示す図である。
【図4】三次元座標上での矢印(右左折矢印)端点の位置を詳細に示す図である。
【図5】矢印端点の三次元座標位置からHMD面上の二次元座標位置への変換を概念的に示す図である。
【図6】顔の向き情報に従って矢印端点の位置を制御するために利用される顔の回転モデルを示す図である。
【図7】矢印端点が実像として表示される領域(実像範囲)と虚像として表示される領域(虚像範囲)を示す図である。
【図8】虚像範囲に存在する端点の処理を概念的に示す図である。
【図9】塗りつぶし面を求める手法を示すフローチャートである。
【図10】塗りつぶし面を求める手法を具体的に説明する図である。
【図11】本発明の表示システムの第2実施形態を示す機能ブロック図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明を説明する。本発明は、特に、仮想情報として多角形を利用者の顔の向きに応じて制御しつつ透過型HMD(以下では、単に「HMD」と記す。)に表示する表示システムであり、例えば、多角形を利用者進行方向を指示する矢印とすることによりナビゲーションシステムに適用でき、任意の多角形とすることにより、利用者の周りに仮想情報による物体があたかも存在するかのように表示する表示システムに適用できるものである。
【0021】
図1は、本発明の表示システムの第1実施形態を示す機能ブロック図である。なお、本発明は、各部処理をステップとした表示方法としても実現できる。
【0022】
第1実施形態の表示システムは、位置情報取得部11、ナビゲーション情報取得部12、三次元矢印情報演算部13、二次元矢印情報投影演算部14、顔向き取得部15、表示設定部16および表示部17を備え、ナビゲーションシステムとして構成されている。なお、これらの各部の処理は、ハードウエアでもソフトウエアでも実現できる。
【0023】
ここで、三次元矢印情報演算部13、二次元矢印情報投影演算部14および表示設定部16は、基本的な表示内容設定装置を構成し、この表示内容設定装置に顔向き取得部15と表示部17を付加した構成が、表示システムに必要な構成である。本実施形態は、ナビゲーションシステムであるので、さらに位置情報取得部11とナビゲーション情報取得部12を付加している。
【0024】
位置情報取得部11は、GPSシステムにより利用者の現在位置情報を取得する。ナビゲーション情報取得部12は、利用者により入力される現在地から目的地までのルート情報を求め、利用者の現在位置の情報からその時点での進行方向の方位、次の右左折点までの距離、右左折点で曲がる角度などのナビゲーション情報を取得する。
【0025】
三次元矢印情報演算部13は、ナビゲーション情報を元に、三次元座標上での矢印端点の位置を算出する。矢印端点の位置とは、ナビゲーション用の矢印を利用者がみたときの、三次元座標上での利用者と矢印の間の相対位置を意味する。
【0026】
図2は、三次元座標上での矢印端点の位置を概念的に示す図である。ここには、利用者の進行方向,左右方向,上下方向をそれぞれx軸,y軸,z軸とし、利用者の首の位置を原点(0,0,0)としたときの利用者と矢印(始点,終点,右左折点)の間の相対位置を示している。同図(a)に示すように、首から-uの高さの位置において、進行方向の距離vの地点から距離v+w1の地点までの直進矢印の始点、終点の位置はそれぞれ、(v,0,-u),(v+w1,0,-u)で表される。また、同図(b)に示すように、進行方向の距離v+wの地点で右左折(折角度θ)し、さらに距離w2だけ進む場合の、右左折矢印の始点、右左折点、終点の位置はそれぞれ、(v,0,-u),(v+w,0,-u),(v+w+w2*cosθ,w2*sinθ,-u)で表される。例えば、v=1m、w1=30m、v+w+w2=30mに設定される。このように、直線矢印については、一定距離を表す一定長さの直線矢印とすることが好ましいが、次の右左折点までの直線矢印としてもよい。
【0027】
図3、図4は、三次元座標上での矢印端点の位置を詳細に示す図であり、図3は直進矢印の場合、図4は右左折矢印の場合である。ここでは、矢印のx軸方向およびy軸方向の位置(Xi,Yi)を示しており、z軸方向の位置はZ=-u(固定)としている。矢印は、実際上では、図3、図4に示されるように太さを持って表される。三次元矢印情報演算部13は、図3、図4で示されるように、矢印端点の位置を算出する。
【0028】
直進矢印と右左折矢印は、次の右左折点までの距離v+wに従って切り替えられる。一定長さの直進矢印を表示するものとすると、w1=T(閾値)とし、w≧Tの場合に直進矢印を表示し、w<Tの場合に右左折矢印を表示するようにすれば、直進矢印と右左折矢印を連続的に切り替えることができる。右左折点までの距離や右左折折角度は、ナビゲーション情報から得ることができる。
【0029】
二次元矢印情報投影演算部14は、三次元矢印情報演算部13により算出された三次元座標上での位置をHMD面の二次元座標上での位置に変換し、矢印がHMD面に投影表示されたときのHMD面上での矢印端点の位置を算出する。
【0030】
図5は、矢印端点の三次元位置からHMD面上の二次元位置への変換を概念的に示す図である。同図に示すように、HMD面上での矢印端点の位置は、矢印端点の三次元座標上での位置(v,0,-u),(v+w,0,-u)と眼を結ぶ線分とHMD面との交点として得られる。
【0031】
二次元矢印情報投影演算部14には、顔向き取得部15から顔の向き情報が与えられ、これにより、HMD面上での矢印端点の位置が利用者の顔が向いている方位、上下方向の角度、左右の傾きに応じて制御される。
【0032】
顔向き取得部15は、利用者の顔の向き情報を取得する。顔向き取得部15は、例えば、ジャイロセンサ、地磁気センサ、加速度センサ、またはそれらの複数を1つに統合したセンサモジュールとして構成される。顔の向き情報は、利用者の顔が向いている方位、上下方向の角度、左右の傾きの情報を含む。
【0033】
図6は、顔の向き情報に従って矢印端点の位置を制御するために利用される顔の回転モデルを示す。顔の回転モデルは、人間の首をモデル化したものであり、この回転モデルに従って矢印の端点位置に首の付け根を中心とした回転処理が施される。
【0034】
以下に、二次元矢印情報投影演算部14での回転処理、すなわち、顔の向き情報に従って矢印端点の位置を制御する処理について説明する。
【0035】
まず、図6に示されるように、利用者の首の位置を原点Oとし、進行方向をX軸、左右方向をy軸、上下方向をz軸とした三次元座標、顔の回転を逆補正した首の位置を原点O'とし、進行方向をX軸、左右方向をy軸、上下方向をz軸とした三次元座標、顔の回転を逆補正した眼の位置を原点O"とし、進行方向をX軸、左右方向をy軸、上下方向をz軸とした三次元座標、HMD面の一隅を原点O'''とし、その水平方向をx軸、垂直方向をy軸とした二次元座標を想定し、顔の回転モデルに関する定数r,h,lを以下のように定義する。
const r = HMD_FRONT_LEN_FROM_EYE (定数r:眼とHMD面間の距離)
const h = EYE_HEIGHT_FROM_NECK (定数h:首と眼の高低差)
const l = EYE_FRONT_LEN_FROM_NECK (定数l:首と眼の水平方向離間距離)
【0036】
また、HMD面の大きさに関する定数(ピクセルではなく物理的な長さ)を以下のように定義する。
const DISPLAY_WIDTH (HMD面の幅)
const DISPLAY_HEIGT (HMD面の高さ)
【0037】
顔向き取得部15から取得できる顔の向き情報の変数を以下のように定義する。
θ = face_direction(北向きから反時計回り(西側)が正)
φ = face_tilt(上向き方向が正)
ψ = face_rot(右に傾げた場合が正)
【0038】
三次元座標上での矢印端点の位置(X,Y,Z)とすると、原点をOとする三次元座標上での端点の位置(X,Y,Z)Oは、式(1)により原点をO'とする三次元座標上での位置(X,Y,Z)O’に変換される。
【0039】
【数1】
【0040】
式(1)における右辺の3つの行列はそれぞれ、顔の左右傾きを逆補正回転(-ψ回転)させる行列、顔の上下傾きを逆補正回転(-φ回転)させる行列、顔の向きを逆補正回転(-θ回転)させる行列であり、これらの行列を行列(X,Y,Z)Oに掛けることにより行列(X,Y,Z)O’が算出される。
【0041】
原点をO'とする三次元座標上での端点の位置(X,Y,Z)O’は、式(2)に示すように、定数h,l分だけ平行移動させることにより、原点をO"とする三次元座標上での位置(X,Y,Z)O"へ変換される。
【0042】
【数2】
【0043】
以上のようにして算出された原点をO"とする三次元座標上での位置(X,Y,Z)O"をHMD面の一隅を原点O'''とする二次元座標上での位置に変換してHMD面上での矢印端点の位置を算出する。
【0044】
本実施形態では、さらに、HMD面に虚像が表示されないようにしている。矢印端点のうちいくつかがHMD面に対して利用者の顔と同じ側の領域に存在する場合、その領域に存在する端点はHMD面表示では虚像となり、矢印の全部あるいは一部が上下左右逆に表示されることになる。
【0045】
図7は、矢印端点が実像として表示される領域(実像範囲)と虚像として表示される領域(虚像範囲)を示す図である。同図に示すように、HMD面に対して利用者の顔と反対側の領域が実像範囲となり、顔と同じ側の領域が虚像範囲となる。
【0046】
これを回避するために単純に虚像範囲に存在する端点を削除すると、その端点と実像範囲に存在する端点を結ぶ線分が正常に処理されなくなる。そこで、二次元矢印情報投影演算部14は、HMD面と三次元座標上での矢印の線分の交点を求め、この交点を虚像範囲に存在する端点の代わりとする。すなわち、HMD面と三次元座標上での矢印の線分の交点を矢印端点として再定義する。
【0047】
図8は、虚像範囲に存在する端点の処理を概念的に示す図である。同図(a)に示すように、多角形の端点A〜FのうちC〜Eが実像範囲に存在し、A,B,Fが虚像範囲に存在するとする。
【0048】
このままの端点を元にしてHMD面表示を行うと、虚像範囲に存在する多角形の一部が虚像として表示される。また、虚像範囲に存在する端点A,B,Fを単に削除すると、同図(b)に示すように、端点BとCを結ぶ線分BC、端点EとFを結ぶ線分EFが正常に処理されなくなり、実像として表示されるべき多角形の部分も削除されてしまう。
【0049】
そこで、本発明では、同図(c)に示すように、線分BC、線分EFとHMD面の交点B',F'を求め、交点B',F'をそれぞれ端点B,Fに代えることにより多角形の端点を再定義する。
【0050】
次に、多角形の端点を再定義するための具体的手法について説明する。原点をO"とする三次元座標上において多角形を形成する1つの線分ABの端点A,Bの位置(式(2)により求められた端点位置をA(xa,ya,za)、B(xb,yb,zb)とする。
【0051】
以下に示す(1)〜(3)の手順に従って、端点A,Bが実像範囲に存在するか虚像範囲に存在するかにより多角形の端点を再定義する。
(1)端点A、Bが共にHMD面に対して顔と反対側の領域(実像範囲)に存在する場合
【0052】
端点A,Bをそのまま保持する。端点A、Bが共にHMD面に対して実像範囲に存在することは、xa≧r,xb≧rにより判別できる。
(2)端点A、Bが共にHMD面に対して顔と同じ側の領域(虚像範囲)に存在する場合
【0053】
端点A、Bは存在しないものとする。端点A、Bが共にHMD面に対して虚像範囲に存在することは、xa<r,xb<rにより判別できる。
(3)端点A, BがHMD面を挟んで(一方が実像範囲、他方が虚像範囲)存在する場合
【0054】
線分ABとHMD面との交点を求め、虚像範囲に存在す端点の代わりに線分ABとHMD面との交点(x,y,z)O"を用いる。すなわち、xa<r,xb≧rの場合には、端点Bをそのままとし、端点Aの代わりに交点(x,y,z)O"を用い、xa≧r,xb<rの場合には、端点Aをそのままとし、端点Bの代わりに交点(x,y,z)O"を用いる。
【0055】
線分ABとHMD面との交点(x,y,z)O"は、式(3)で求めることができる。
【0056】
【数3】
【0057】
HMD面の一隅を原点O'''とした二次元座標上での端点位置は、HMD面の大きさを考慮すると、式(4)で求めることができる。これにより求められる端点位置は、物理的な長さによるものである。HMD面上でのピクセル数による端点位置とするには、HMD面の左上端からの端点位置までの縦・横の長さに垂直・水平方向の解像度を乗算してピクセル座標に合わせればよい。
【0058】
【数4】
【0059】
表示設定部16では、虚像範囲に存在する端点は処理対象とせず、虚像範囲に存在する端点の代わりに再定義された交点および実像範囲に存在する端点を処理対象とする。図8(c)に示した例では、端点Aは存在しないものとされ、端点B,Fの代わりに交点B',F'が再定義されるので、端点B',C,D,E,F'のみが処理対象とされる。
【0060】
表示設定部16は、二次元矢印情報投影演算部14により算出された矢印端点の位置を元にHMD面での表示情報を生成する。ここで、矢印の一部がHMD面の表示領域枠外に存在する場合、表示設定部16は、表示領域枠内に存在する矢印の部分が正常に表示されるように、塗りつぶし面の端点の位置を求める。塗りつぶし面の端点の位置は、表示領域枠と矢印外形線の線分の直線同士の交点として求めることができる。各端点の位置を元に塗りつぶし面を求める手法については、後述する。
【0061】
表示部17は、表示設定部16により生成された表示情報を表示する。具体的には、表示設定部16により生成された表示情報を画像出力用ケーブルを介してHMDに出力し、HMD面に投影表示する。なお、画像出力用ケーブルに代えてWireless HDなどの無線接続を利用することもできる。
【0062】
次に、表示設定部16において、各端点の位置を元に塗りつぶし面を求める手法について説明する。図9は、この塗りつぶし面を求める手法を示すフローチャートである。
【0063】
まず、二次元矢印情報投影演算部14での投影演算処理により算出された矢印端点の位置(座標)を元にして各端点を時計回りにたどり、描画端点を得る(S1)。このとき、矢印端点がHMD面の表示領域枠内に存在する場合、その端点を描画端点として保存し、前後の端点を結ぶ線分が表示領域枠と交わる場合にはその交点を描画端点として保存する。それ以外の端点は描画端点としない。また、描画端点に(1)から順に番号を付けるとともに、種別を付ける。描画端点の種別とは、表示領域枠内(表示領域枠内に存在する端点)、交点入(表示領域枠内に入る線分の交点)、交点出(表示領域枠外に出る線分の交点)である。
【0064】
以下の処理は、描画端点を反時計回りにたどりつつ実行される。まず、処理番号を描画端点の最大番号とし(S2)、最初の描画多角形データの生成開始(S3)とする。S3および後述するS12,S15のステップは、互いに分離された複数の塗りつぶし面が存在する場合に、個々の塗りつぶし面に対する別々の描画多角点データを生成するために設けられている。
【0065】
次に、その描画端点が処理済みであるか否かを判定する(S4)。S4で、処理済みでないと判定された場合、その描画端点を描画多角形データに登録するとともに処理済みに設定し(S5)、処理済みと判定された場合はS12に進む。
【0066】
次に、処理済みに設定した描画端点の種別が交点入であるか否かを判定する(S6)。S6で、その描画端点が交点入でないと判定された場合、S7に進み、交点入りと判定された場合は、S9に進む。
【0067】
S7では、処理番号が描画端点の最小番号であるか否かを判定する。S7で、処理番号が描画端点の最小番号と判定された場合、S12に進むが、最小番号でないと判定された場合には、処理番号を1だけ小さくし(S8)、S4に戻って処理を繰り返す。
【0068】
S6で、描画端点が交点入と判定された場合には、表示領域枠の同じ線分上、反時計回りに交点出の描画端点があるか否かを判定する(S9)。この判定には、処理済みの描画端点も対象とする。S9で、交点出の種別の描画端点があると判定された場合、最も近い描画端点を選択し(S10)、S4に戻って処理を繰り返す。また、S9で、交点出の種別の描画端点がないと判定された場合には、反時計回りにある表示領域枠の隅を新たな描画端点(交点入)として登録し、この描画端点を処理対象とし(S11)、S4に戻って処理を繰り返す。なお、この場合の新たな描画端点の種別は、S6からS9に進むために便宜上交点入とする。但し、それが表示領域枠の隅であること明示する種別とし、S6を交点入あるいは表示領域枠の隅であるか否かを判定する構成としてもよい。
【0069】
S12では、S7で処理番号が最小番号と判定されたので、当該描画多角形データの生成終了とする。これにより1つの塗りつぶし面に対する描画多角点データが終端される。
【0070】
次に、まだ処理済みでない描画端点があるか否かを判定する(S13)。ここで、あると判定された場合には残りの描画端点の番号のうちの最大番号を処理番号として(S14)、新たに次の描画多角形データの生成開始(S15)とした後、S4に戻って処理を繰り返すが、ないと判定された場合は、処理を終了する。
【0071】
以下に具体的に説明する。ここでは、図10に示すように、4隅をα,β,γ,δとするHMD面の表示領域枠に対して矢印(端点A〜I)の一部が表示領域枠外となり、表示領域枠αβと矢印外形線の線分BC,CD,DEの交点(3),(4),(6)、表示領域枠δαと矢印外形線の線分HIの交点(7)が求められている場合を例に挙げる。
【0072】
1. 矢印の1つの端点(例えば端点A)から矢印の外周を時計回りにA→B→C…H→Iとたどる。このとき、端点がHMDの表示領域内に存在する場合はその端点を描画端点として登録し、前後の端点を結ぶ線分が表示領域枠と交わる場合はその交点を描画端点として登録する。登録された描画端点には(1)から順に番号を付すとともに種別を付す(S1)。
【0073】
図10の例では、以下のようになる。
端点Aは表示領域内→端点Aが描画端点(番号(1),種別(領域内))として登録される。
端点Bは表示領域内→端点Bが描画端点(番号(2),種別(領域内))として登録される。
線分BCは表示領域枠と交わる→交点が描画端点(番号(3),種別(交点出))として登録される。
線分CDは表示領域枠と交わる→交点が描画端点(番号(4),種別(交点入))として登録される。
端点Dは表示領域内→端点Dが描画端点(番号(5),種別(領域内))として登録される。
線分DEは表示領域枠と交わる→交点が描画端点(番号(6),種別(交点出))として登録される。
線分EFは表示領域枠と交わらない→登録される端描画点はない(無視)。
線分FGは表示領域枠と交わらない→登録される端描画点はない(無視)。
線分GHは表示領域枠と交わらない→登録される端描画点はない(無視)。
線分HIは表示領域枠と交わる→交点が描画端点(番号(7),種別(交点入))として登録される。
端点Iは表示領域内→端点Iが描画端点(番号(8),種別(領域内))として登録される。
【0074】
2. 処理番号を描画端点の最大番号(8)とし(S2)、まず、描画端点I(番号(8))を処理対象として最初の描画多角形データの生成開始とする(S3)。
【0075】
3. 描画端点I(番号(8),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0076】
4. 描画端点I(番号(8),種別(交点入))の種別は交点入でなく、処理番号は最小番号でないので、処理番号を1だけ小さくして描画端点(番号(7),種別(交点入))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0077】
5. 描画端点(番号(7),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0078】
6. 描画端点(番号(7),種別(交点入))の種別は交点入であり、表示領域枠の同じ線分(αδ)上、反時計回りに交点出の描画端点はないので、反時計回りにある表示領域枠の隅(α)を新たな描画端点(番号(9),種別(交点入))に登録し、これを処理対象としてS4以下の処理を行う(S6),(S9),(S11)。
【0079】
7. 描画端点(番号(9),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0080】
8. 描画端点(番号(9))の種別は交点入であり、表示領域枠の同じ線分(αβ)上、反時計回りに交点出の描画端点(番号(3),種別(交点出))があるので、最も近い描画端点(番号(3),種別(交点出))を選択し、これを処理対象としてS4以下の処理を行う(S6),(S9),(S10)。なお、この場合、最も近い描画端点は描画端点(番号(3),種別(交点出))1つだけである。
【0081】
9. 描画端点(番号(3),種別(交点出))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0082】
10. 描画端点(番号(3),種別(交点出))の種別は交点入でないので、処理番号を1だけ小さくして描画端点B(番号(2),種別(領域内))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0083】
11. 描画端点B(番号(2),種別(領域内))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0084】
12. 描画端点B(番号(2),種別(領域内))の種別は交点入でないので、処理番号を1だけ小さくして描画端点A(番号(1),種別(領域内))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0085】
13. 描画端点A(番号(1),種別(領域内))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0086】
14. 描画端点A(番号(1),種別(領域内))の種別は交点入でなく、それより小さい番号の描画端点はないので、当該描画多角形データの生成終了とし、S13に進む(S6),(S7),(S12)。
【0087】
15. 処理済みでない描画端点が存在し、その最大番号は(6)であるので、描画端点(番号(6),種別(交点出))を処理対象として次の描画多角形データの生成開始とし、S4以下の処理を行う(S13),(S14),(S15)。
【0088】
16. 描画端点(番号(6),種別(交点出))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0089】
17. 描画端点(番号(6),種別(交点出))の種別は交点入でなく、処理番号は最小番号でないので、処理番号を1だけ小さくして描画端点D(番号(5),種別(領域内))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0090】
18. 描画端点D(番号(5),種別(領域内))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0091】
19. 描画端点D(番号(5),種別(領域内))の種別は交点入でなく、処理番号は最小番号でないので、処理番号を1だけ小さくして描画端点(番号(4),種別(交点入))を処理対象とし、S4以下の処理を行う(S6),(S7),(S8)。
【0092】
20. 描画端点(番号(4),種別(交点入))は処理済みでないので、描画多角形データに登録し、処理済みに設定する(S4),(S5)。
【0093】
21. 描画端点(番号(4),種別(交点入))の種別は交点入であり、表示領域枠の同じ線分(αδ)上に描画端点(番号(6),種別(交点出))があるが、これは処理済みであるので、当該描画多角形データの生成終了とし、S13に進む(S6),(S9),(S10),(S4),(S12)。
22. 以上により処理済みでない描画端点はなくなるので、処理を終了する(S13)。
【0094】
以上の処理により、(8),(7),(9),(3),(2),(1)の描画多角形データと(6),(5),(4)の描画多角形データ、すなわち2つ塗りつぶし面が得られる。
【0095】
図11は、本発明の表示システムの第2実施形態を示す機能ブロック図である。第2実施形態は、本発明をHMD面上に種々の多角形の仮想情報を表示する表示システムとして構成されている。これによれば、例えば、利用者の周りに、あたかも多角形状の物体が存在するかのような表示を行わせることができる。このように、本発明は、ナビゲーションシステムに限らず、種々の表示システムとして構成できる。
【0096】
図11において、図1と同一あるいは同等部分には同じ符号を付している。第2実施形態が第1実施形態と異なるのは、図1の三次元矢印情報演算部13と二次元矢印情報投影演算部14に代えて三次元仮想情報演算部18と二次元仮想情報投影演算部19を備え、三次元仮想情報演算部18および二次元仮想情報投影演算部19が仮想情報20を処理対象とする点である。第1実施形態は、仮想情報がナビゲーション用の矢印である場合に相当する。
【0097】
ここで、三次元仮想情報演算部18、二次元仮想情報投影演算部19および表示設定部16は、基本的な表示内容設定装置を構成し、この表示内容設定装置に顔向き取得部15と表示部17を付加した構成が、表示システムに必要な構成である。
【0098】
仮想情報20は、それが存在する絶対位置あるいは利用者の位置に対する相対位置の情報と多角形の表示内容を含む。仮想情報20は、予め表示システム内に保存されるものでもよいし、通信によりネットワーク上のサーバや他端末から動的に取得されるものでもよい。
【0099】
三次元仮想情報演算部18は、三次元座標上での利用者の位置に対する仮想情報20の端点の相対位置を算出する。仮想情報20として、その絶対位置と表示内容が提供される場合には、その絶対位置とGPSシステムによって取得される利用者の現在位置情報を比較し、利用者の現在位置に対する仮想情報の相対位置を算出すればよい。また、仮想情報20として、利用者の位置に対する相対位置と表示内容が提供される場合には、その相対位置をそのまま用いることができる。
【0100】
二次元仮想情報投影演算部19は、三次元仮想情報演算部18で算出された三次元座標上での仮想情報の端点の位置をHMD面の二次元座標上での位置に変換し、仮想情報がHMD面に投影表示されたときのHMD面上での仮想情報の端点の位置を算出する。この処理は、二次元矢印情報投影演算部14が行う処理と実質的に同じである。
【0101】
表示設定部16および表示部17での処理は、第1実施形態と同様であるので説明を省略する。
【0102】
第2実施形態によれば、利用者の周りに、あたかも多角形状の物体が存在するかのように表示する表示システムを構成できる。この場合、利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけをHMD面に表示する構成にしてもよい。これは、三次元仮想情報演算部18が三次元座標上での利用者の位置に対する仮想情報20の相対位置を算出する際に、算出対象とする相対位置に制限を加えることにより実現できる。
【0103】
以上、実施形態を説明したが、本発明は、上記実施形態に限定されるのもではなく、種々に変形されたものも含む。例えば、図1では、顔の向きや傾きを検知する顔向き取得部15を1つのセンサモジュールとして構成しているが、顔の向きや傾きをそれぞれ検知するのに適した加速度センサ、地磁気センサを別々のセンサモジュールとして構成することもできる。また、センサモジュールは、表示内容設定装置に搭載されていてもよいし、HMD(表示部17)に搭載されていてもよいし、単独の装置として構成されていてもよい。
【符号の説明】
【0104】
11・・・位置情報取得部、12・・・ナビゲーション情報取得部、13・・・三次元矢印情報演算部、14・・・二次元矢印情報投影演算部、15・・・顔向き取得部、16・・・表示設定部、17・・・表示部、18・・・三次元仮想情報演算部、19・・・二次元仮想情報投影演算部、20・・・仮想情報
【特許請求の範囲】
【請求項1】
利用者の顔の向き情報を取得する第1のステップと、
三次元空間に仮想的に存在する多角形の仮想情報の端点の位置を、利用者の位置に対する相対位置として演算する第2のステップと、
前記第2のステップにより演算された仮想情報の端点の位置を、前記第1のステップにより取得された利用者の顔の向き情報に応じて制御するとともに、透過型HMDの表示面上の位置に変換する第3のステップと、
前記第3のステップにより変換された仮想情報の端点の位置を用いて、透過型HMDの表示面に投影表示する画像を生成する第4のステップと、
前記第4のステップにより生成された画像を透過型HMDの表示面に投影表示する第5のステップを備えたことを特徴とする表示方法。
【請求項2】
前記第3のステップは、首を中心とする顔の回転モデルを用いて、仮想情報の端点の位置を透過型HMDの表示面上の位置に変換することを特徴とする請求項1に記載の表示方法。
【請求項3】
前記3のステップは、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代える処理を含むことを特徴とする請求項1または2に記載の表示方法。
【請求項4】
前記第4のステップは、透過型HMDの表示面外となる仮想情報の端点がある場合、仮想情報の多角形外形の線分と表示面との交点を求め、該交点を表示面外との端点の代わりに用いて透過型HMDの表示面に投影表示する画像を生成する処理を含むことを特徴とする請求項1ないし3のいずれかに記載の表示方法。
【請求項5】
仮想情報が、ナビゲーションにおける矢印であり、GPSシステムによる利用者の現在位置および目的地までのルート情報に基づいて生成されることを特徴とする請求項1ないし4のいずれかに記載の表示方法。
【請求項6】
仮想情報が、その存在位置および多角形表示の内容を含む情報であり、予め表示システム内に保存されている、あるいは通信によりネットワーク上のサーバや他端末から動的に取得されることを特徴とする請求項1ないし4のいずれかに記載の表示方法。
【請求項7】
利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけの画像が透過型HMDの表示面に表示されることを特徴とする請求項6に記載の表示方法。
【請求項8】
利用者の顔の向き情報を取得する顔向き取得部と、
三次元空間に仮想的に存在する多角形の仮想情報の端点の位置を、利用者の位置に対する相対位置として演算する三次元情報演算部と、
前記三次元情報演算部により演算された仮想情報の端点の位置を、前記顔向き取得部により取得された利用者の顔の向き情報に応じて制御するとともに、透過型HMDの表示面上の位置に変換する二次元情報投影演算部と、
前記二次元情報投影演算部により変換された仮想情報の端点の位置を用いて、透過型HMDの表示面に投影表示する画像を生成する表示設定部と、
前記表示設定部により生成された画像を透過型HMDの表示面に投影表示する表示部を備えたことを特徴とする表示システム。
【請求項9】
前記二次元情報投影演算部は、首を中心とする顔の回転モデルを用いて、仮想情報の端点の位置を透過型HMDの表示面上の位置に変換することを特徴とする請求項8に記載の表示システム。
【請求項10】
前記二次元情報投影演算部は、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代える機能を有することを特徴とする請求項8または9に記載の表示システム。
【請求項11】
前記表示設定部は、透過型HMDの表示面外となる仮想情報の端点がある場合、仮想情報の多角形外形の線分と表示面との交点を求め、該交点を表示面外との端点の代わりに用いて透過型HMDの表示面に投影表示する画像を生成する機能を有することを特徴とする請求項8ないし10のいずれかに記載の表示システム。
【請求項12】
仮想情報が、ナビゲーションにおける矢印であり、GPSシステムによる利用者の現在位置および目的地までのルート情報に基づいて生成されることを特徴とする請求項8ないし11のいずれかに記載の表示システム。
【請求項13】
仮想情報が、その存在位置および多角形表示の内容を含む情報であり、予め表示システム内に保存されている、あるいは通信によりネットワーク上のサーバや他端末から動的に取得されることを特徴とする請求項8ないし11のいずれかに記載の表示システム。
【請求項14】
利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけの画像が透過型HMDの表示面に表示されることを特徴とする請求項13に記載の表示システム。
【請求項1】
利用者の顔の向き情報を取得する第1のステップと、
三次元空間に仮想的に存在する多角形の仮想情報の端点の位置を、利用者の位置に対する相対位置として演算する第2のステップと、
前記第2のステップにより演算された仮想情報の端点の位置を、前記第1のステップにより取得された利用者の顔の向き情報に応じて制御するとともに、透過型HMDの表示面上の位置に変換する第3のステップと、
前記第3のステップにより変換された仮想情報の端点の位置を用いて、透過型HMDの表示面に投影表示する画像を生成する第4のステップと、
前記第4のステップにより生成された画像を透過型HMDの表示面に投影表示する第5のステップを備えたことを特徴とする表示方法。
【請求項2】
前記第3のステップは、首を中心とする顔の回転モデルを用いて、仮想情報の端点の位置を透過型HMDの表示面上の位置に変換することを特徴とする請求項1に記載の表示方法。
【請求項3】
前記3のステップは、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代える処理を含むことを特徴とする請求項1または2に記載の表示方法。
【請求項4】
前記第4のステップは、透過型HMDの表示面外となる仮想情報の端点がある場合、仮想情報の多角形外形の線分と表示面との交点を求め、該交点を表示面外との端点の代わりに用いて透過型HMDの表示面に投影表示する画像を生成する処理を含むことを特徴とする請求項1ないし3のいずれかに記載の表示方法。
【請求項5】
仮想情報が、ナビゲーションにおける矢印であり、GPSシステムによる利用者の現在位置および目的地までのルート情報に基づいて生成されることを特徴とする請求項1ないし4のいずれかに記載の表示方法。
【請求項6】
仮想情報が、その存在位置および多角形表示の内容を含む情報であり、予め表示システム内に保存されている、あるいは通信によりネットワーク上のサーバや他端末から動的に取得されることを特徴とする請求項1ないし4のいずれかに記載の表示方法。
【請求項7】
利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけの画像が透過型HMDの表示面に表示されることを特徴とする請求項6に記載の表示方法。
【請求項8】
利用者の顔の向き情報を取得する顔向き取得部と、
三次元空間に仮想的に存在する多角形の仮想情報の端点の位置を、利用者の位置に対する相対位置として演算する三次元情報演算部と、
前記三次元情報演算部により演算された仮想情報の端点の位置を、前記顔向き取得部により取得された利用者の顔の向き情報に応じて制御するとともに、透過型HMDの表示面上の位置に変換する二次元情報投影演算部と、
前記二次元情報投影演算部により変換された仮想情報の端点の位置を用いて、透過型HMDの表示面に投影表示する画像を生成する表示設定部と、
前記表示設定部により生成された画像を透過型HMDの表示面に投影表示する表示部を備えたことを特徴とする表示システム。
【請求項9】
前記二次元情報投影演算部は、首を中心とする顔の回転モデルを用いて、仮想情報の端点の位置を透過型HMDの表示面上の位置に変換することを特徴とする請求項8に記載の表示システム。
【請求項10】
前記二次元情報投影演算部は、利用者の顔の向き情報に応じて仮想情報の端点の位置を制御したときに透過型HMDの表示面より利用者側となる端点がある場合、仮想情報の多角形線分と透過型HMDの表示面の交点を求め、該交点を利用者側の端点に代える機能を有することを特徴とする請求項8または9に記載の表示システム。
【請求項11】
前記表示設定部は、透過型HMDの表示面外となる仮想情報の端点がある場合、仮想情報の多角形外形の線分と表示面との交点を求め、該交点を表示面外との端点の代わりに用いて透過型HMDの表示面に投影表示する画像を生成する機能を有することを特徴とする請求項8ないし10のいずれかに記載の表示システム。
【請求項12】
仮想情報が、ナビゲーションにおける矢印であり、GPSシステムによる利用者の現在位置および目的地までのルート情報に基づいて生成されることを特徴とする請求項8ないし11のいずれかに記載の表示システム。
【請求項13】
仮想情報が、その存在位置および多角形表示の内容を含む情報であり、予め表示システム内に保存されている、あるいは通信によりネットワーク上のサーバや他端末から動的に取得されることを特徴とする請求項8ないし11のいずれかに記載の表示システム。
【請求項14】
利用者の現在位置を基準とした一定範囲内の位置の仮想情報だけの画像が透過型HMDの表示面に表示されることを特徴とする請求項13に記載の表示システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−34429(P2011−34429A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−181469(P2009−181469)
【出願日】平成21年8月4日(2009.8.4)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願日】平成21年8月4日(2009.8.4)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]