説明

情報表示装置及びプログラム

【課題】利用者の視線方向を考慮した情報表示装置及びプログラムを提供する。
【解決手段】利用者の視線ベクトルVを検出し、当該視線ベクトルVを用いて、利用者の視野座標系Epを規定する。当該規定した利用者の視野座標系Ep内の座標を、外界座標系Wp内の座標に変換する変換行列を求め、外界座標系Wp内の対象物の位置を表す座標を、当該変換行列によって視野座標系Ep内の位置を表す座標に変換し、さらに視野座標系Epの座標を、透過型ディスプレイ15に投影して、対象物に対する情報の表示位置を求める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、透過型ディスプレイ上に情報を表示する情報表示装置及びプログラムに関する。
【背景技術】
【0002】
近年、拡張現実(AR;Augmented Reality)技術が広く利用されるようになってきている。拡張現実の分野では、利用者はHMD(ヘッド・マウント・ディスプレイ)等、透過型のディスプレイを通して現実の空間を見る。現実空間内の物体等にコメントテキスト等を付加して表示する場合は、この透過型ディスプレイ内で、利用者が物体を見ているその位置に、コメントテキストを表示することになる。
【0003】
この場合、少なくとも現実の空間の座標系と、透過型ディスプレイ内の仮想的空間の座標系とを一致させる必要がある。特許文献1には、HMDにおいて、現実空間と仮想空間との位置合わせを行う方法が多数列挙されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−046750号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら上記従来のHMD等では、仮想空間の座標系は現実の空間を認識するカメラ等のセンサの座標系を基準に設定され、利用者の視線の方向が考慮されていない。このため、仮想空間と現実空間とが位置合わせされても、利用者にとっては、仮想空間内に表示された情報の表示位置が、現実空間内の対象物との関係でずれて表示されて見えることとなっていた。
【0006】
本発明は上記実情に鑑みてなされたもので、利用者の視線方向を考慮した情報表示装置及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【0007】
上記従来例の問題点を解決するための本発明は、情報表示装置であって、利用者の眼前に配される透過型ディスプレイと、利用者の視線ベクトルVを検出する手段と、前記検出した視線ベクトルVを用いて、利用者の視野座標系Epを規定する手段と、前記規定した利用者の視野座標系Ep内の座標を、外界座標系Wp内の座標に変換する変換行列を求める位置合わせ手段と、前記外界座標系Wp内の対象物の位置を表す座標を、前記変換行列によって、前記視野座標系Ep内の位置を表す座標に変換する手段と、前記視野座標系Epの座標を、前記透過型ディスプレイに投影して、前記対象物に対する情報の表示位置を求める手段と、前記求めた表示位置に、前記対象物に対する情報を表示する手段と、を含むこととしたものである。
【0008】
またここで、さらに、利用者の頭部に装着されたことを検出するセンサ、をさらに有し、前記位置合わせ手段は、前記センサにより、情報表示装置が装着されたと検出した時点で、前記変換行列を求めてもよいし、前記センサが、情報表示装置が利用者の頭部に装着されたことを検出してから、情報処理装置と、前記視点位置との相対的位置変動を検出する手段をさらに有し、前記位置合わせ手段が、当該検出した相対的位置変動に基づいて、前記変換行列を補正することとしてもよい。さらに、前記外界座標系Wpと、前記透過型ディスプレイ上の座標系Dpとの変換行列を求める手段を有してもよい。
【0009】
また本発明の一態様に係るプログラムは、透過型ディスプレイを備えたコンピュータを、利用者の視線ベクトルVを検出する手段と、前記検出した視線ベクトルVを用いて、利用者の視野座標系Epを規定する手段と、前記規定した利用者の視野座標系Ep内の座標を、外界座標系Wp内の座標に変換する変換行列を求める位置合わせ手段と、前記外界座標系Wp内の対象物の位置を表す座標を、前記変換行列によって、前記視野座標系Epの内の位置を表す座標に変換する手段と、前記視野座標系Epの座標を、前記透過型ディスプレイに投影して、前記対象物に対する情報の表示位置を求める手段と、前記求めた表示位置に、前記対象物に対する情報を表示する手段と、として機能させることとしたものである。
【発明の効果】
【0010】
本発明によると、利用者の視線方向を考慮した情報表示を行うことができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態に係る情報表示装置の構成例を表すブロック図である。
【図2】本発明の実施の形態に係る情報表示装置の実装例の一つを表す概要図である。
【図3】本発明の実施の形態に係る情報表示装置の例を表す機能ブロック図である。
【図4】本発明の実施の形態に係る情報表示装置のキャリブレーション処理の例を表すフローチャート図である。
【図5】本発明の実施の形態に係る情報表示装置が利用する利用者の視野座標系の例を表す説明図である。
【図6】本発明の実施の形態に係る情報表示装置が用いるデータベースの例を表す説明図である。
【図7】本発明の実施の形態に係る情報表示装置による情報表示の処理の例を表すフローチャート図である。
【図8】本発明の実施の形態に係る情報表示装置の別の実装例を表す概要図である。
【発明を実施するための形態】
【0012】
本発明の実施の形態に係る情報表示装置1は、例えば透過型のディスプレイを備えて、利用者が眼鏡のように着用し、透過型のディスプレイを介して視線方向にある情報表示の対象物を視認するとともに、当該利用者と対象物とを結ぶ線分が透過型ディスプレイの面に交わる位置近傍に、当該対象物に関わる情報を表示するものである。これにより、利用者に対して対象物に関する情報を提示する。
【0013】
本実施の形態に係る情報表示装置1の一例は、図1に例示するように、制御部11、記憶部12、撮像部13、眼球検知部14、及び透過型ディスプレイ15を含んで構成される。また、後に述べるように、情報表示装置1は装着センサ16を含んでもよい。さらにこの情報表示装置1は変位センサ17を備えてもよい。
【0014】
本実施の形態の一態様に係る情報表示装置1は、図2に例示するように略眼鏡の形状を備える。すなわちこの例の情報表示装置1は、一対のテンプル21と、各テンプル21の一端側に、それぞれヒンジを介して連結された一対のリム22と、各リム22の一部に設けられ、装着時に利用者の鼻に当たってリム22を支持させる鼻当て部23と、一対のリム22の間を連結するブリッジ24とを備えたフレーム20に実装される。
【0015】
この図2に例示した例では、少なくとも一方のリム22に透過型ディスプレイ15を支持させる。一方のリム22に透過型ディスプレイ15を支持させる場合は、他方のリム22にはガラスやプラスチックのレンズ(矯正のための度は入っていても、いなくてもよい)としておく。
【0016】
ここで制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態において、この制御部11は、利用者の視点位置を検出する処理と、検出した利用者の視点位置から利用者の視線ベクトルVを推定する処理と、推定した利用者の視線ベクトルVを、外界座標系Wp内のベクトルに変換する変換行列を求める位置合わせ処理と、外界座標系Wp内の対象物の座標と、変換行列によって変換される視線ベクトルの方向の線分が透過型ディスプレイ15上で交差する位置の座標から、表示基準位置を求める処理と、当該求めた表示基準位置に基づいて、情報の表示位置を決定する処理と、を行う。この制御部11に処理の詳しい説明は後に述べる。
【0017】
記憶部12は、制御部11によって実行されるプログラムを格納している。このプログラムはDVD−ROM等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部12に複写されたものであってもよい。またこの記憶部12は制御部11のワークメモリとしても動作する。
【0018】
撮像部13は、例えばカメラであり、外界の対象物(現実の物体)の方向の映像を逐次的に撮影して、当該撮影した映像をディジタルの画像データとして制御部11に出力する。図2に示した例の場合、利用者が装着すると、この撮像部13の撮像範囲は、利用者の視線方向と略同じ方向を撮像することになるが、視線の角度が異なるため、撮像部13が出力する画像データは、利用者が見ている像とは異なるものとなる。
【0019】
本実施の形態では、この撮像部13のカメラは、ブリッジ24の一部に固定され、利用者が情報表示装置1を装着したときに、その視線の方向を撮像するように配される。
眼球検知部14は、 例えば撮像部13とは独立したカメラCと、近赤外光投光器Pとを備える。この眼球検知部14もまた、例えばブリッジ24の一部に固定される。そしてカメラC及び近赤外光投光器Pは、情報表示装置1を装着した利用者の、顔面の方向を撮像し、また顔面の方向に投光するよう配される。この眼球検知部14は、カメラCによって撮像された画像データを制御部11に出力する。すでに述べたように、眼球検知部14のカメラCと、撮像部13であるカメラとは、いずれもブリッジ24に固定され、互いの相対的な座標が変化しないよう固定されている。これにより眼球検知部14のカメラCの座標系Cc2と、撮像部13であるカメラの座標系Cc1とは相互に変換行列[Tc1,2]により変換可能となる。すなわち、
Cc2=[Tc1,2]Cc1、Cc1=[Tc1,2]-1Cc1=[Tc2,1]Cc1
である。
【0020】
透過型ディスプレイ15は、リム22により支持される。この透過型ディスプレイ15は、その表示面を通じて、その背面側にある対象物を見通すことのできる液晶表示パネルや有機ELパネル等であり、ディスプレイとしての機能を有する透明、ないし半透明の表示面を備える。このような透過型のディスプレイについても、広く知られているので、ここでの説明は省略する。
【0021】
この透過型ディスプレイ15は、制御部11から入力される指示に従って、当該表示面に情報を表示する。ここでの例では、この透過型ディスプレイ15もまた、ブリッジ24によって連結されたリム22によって支持されるため、撮像部13であるカメラの座標系(以下撮像部13の座標系と呼ぶ)Cc1と、この透過型ディスプレイ15の座標系Dpとの間の変換行列[Tc1,Dp]もまた既知のものとなる。
【0022】
次に制御部11における処理の具体的内容について説明する。この制御部11は、機能的には、図3に示すように、キャリブレーション指示部31と、キャリブレーション処理部32と、情報表示部33とを含む。キャリブレーション指示部31は、予めキャリブレーションを行うべきタイミングとして定められた時点で、キャリブレーション処理部32に対してキャリブレーション処理の実行を指示する。このタイミングは例えば、電源投入後の予め定めた時間ごとに定期的に到来するタイミングとしてもよい。
【0023】
キャリブレーション処理部32は、キャリブレーション指示部31からキャリブレーション処理の実行指示が入力されると、次のキャリブレーション処理を実行する。なお、以下の説明において、制御部11は、撮像部13のカメラと、眼球検知部14のカメラCとのそれぞれについて、いわゆるThaiのカメラキャリブレーションアルゴリズムによって、それぞれの内外パラメータ、すなわち、光軸中心位置と、画素の縦横比と、撮像された対象物を基準とする世界座標系Cwに対するカメラ位置及び回転角(世界座標系とカメラ座標系との変換行列)とを含む情報を求めておく(R.Y.Tsai, "A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses", IEEE Journal of Robotics and Automation, Vol. RA-3, No.4, pp. 323-344, 1987)。
【0024】
ここで撮像部13のカメラと眼球検知部14のカメラCとのそれぞれについて世界座標系Cwは一般に異なる。ここでは眼球検知部14のカメラCが撮像した画像データ(利用者の顔面方向の画像データ)から求められた世界座標系を利用者座標系Wuとする。
本実施の形態において外界座標系Wpは、例えば撮像部13の座標系Cc1そのものであってもよいし、撮像部13の座標系Cc1についての世界座標系であってもよい。
【0025】
また一例として制御部11は、撮像部13から得た画像データに基づき、当該画像データ内に撮像された路面や床面、あるいは壁面を構成する面内に仮想的な矩形状領域を形成する。この矩形状領域の形成は、例えば利用者が車両運行中など、外界座標系Wpに対して並進移動しているならば、PTAM(Parallel Tracking and Mapping)と呼ばれる方法等が採用できる。このPTAMについては、Georg Klein and David Murray, "Parallel Tracking and Mapping for Small AR Workspaces", In Proc. International Symposium on Mixed and Augmented Reality (ISMAR '07), 2007等に詳しい説明があるので、ここでの詳細な説明を省略する。制御部11は、この矩形状領域内に、例えば予め指定された情報を表示する。
【0026】
キャリブレーション処理部32は、図4に例示するように、眼球検知部14が出力する画像データを取得する(S1)。そして利用者の視線ベクトルVと瞳孔中心とを推定する(S2)。ここで瞳孔中心は、利用者が移動せず、また顔を動かすことがない場合に、眼球の動きの中心座標に相当する。
【0027】
本実施の形態のある例では、キャリブレーション処理部32は、大野健彦ほか,「眼球形状モデルに基づく視線測定法」,第8回画像センシングシンポジウム,pp.307-312,2002の方法を用いて視線方向としての利用者の視点の座標系Epを推定する。この方法では、瞳の位置(瞳孔中心)と、角膜表面反射光(プルキニエ像)とを用いる。
【0028】
キャリブレーション処理部32は、つぎに処理S1で取得した画像データから利用者の瞳を検出する。このような瞳の検出技術については、例えば加島英樹ほか,「顔の向きの変化に強い瞳検出方法の研究」,情報処理学会研究報告. CVIM, 2001(36), 139-144, 2001-05-10 等、種々の方法があるので、詳しい説明を省略する。
【0029】
キャリブレーション処理部32は、また、処理S1で取得した画像データ内で輝点(予め定めた輝度より高い輝度の画素)を抽出し、利用者の瞳が検出された位置に最も近い輝点の中心をプルキニエ像であると定める。以下、このプルキニエ像の座標をu0とおく。また眼球検知部14のカメラCのフォーカスが最も合った位置における焦点距離から、このカメラCからプルキニエ像までの距離が求められる。すると、既知の方法より、プルキニエ像の座標u0、カメラCからプルキニエ像までの距離、並びにカメラCの内外パラメータより、利用者座標系Wuにおけるプルキニエ像の位置ベクトルuを求めることができる。
【0030】
さらにキャリブレーション処理部32は、瞳孔中心の画像データ上の座標位置puと、カメラCから瞳孔中心までの距離と、カメラCの内外パラメータと、から、利用者座標系Wuにおける瞳孔中心の位置ベクトルPを求める。ここでカメラCから瞳孔中心までの距離は近似的に次のように求めてもよい。すなわち、予め、利用者として想定される人物について、角膜表面から瞳孔の位置までの距離l(小児と大人とでは異なることが考えられる)をモデルとして設定しておく。そして、カメラCからプルキニエ像までの距離にこの距離lを加算した値を、近似的なカメラCから瞳孔中心までの距離として用いる。
【0031】
次にキャリブレーション処理部32は、プルキニエ像から、角膜曲率中心を求める。ここでは利用者として想定される人物の平均的な角膜曲率半径Rを予め定めておく。すると、利用者座標系Wuにおける角膜曲率中心のベクトルr(視点位置)が、次の(1)式で与えられる。
【0032】
【数1】

【0033】
なお、(1)において、||u||は、uのノルムを表す。
キャリブレーション処理部32は、これら利用者座標系Wuにおける瞳孔中心の位置ベクトルPと、角膜曲率中心のベクトルcとから、V=P−rとして、利用者座標系Wuにおける利用者の視線ベクトルVを求める。
【0034】
キャリブレーション処理部32は次に、眼球検知部14のカメラCについて求められている、利用者座標系WuからカメラCのカメラ座標系Cc2への変換行列[Twu,c2](=[Tc2,wu]-1、ただし[Tc2,wu]は、カメラCのカメラ座標系Cc2から利用者座標系Wuへの変換行列)と、利用者座標系Wuとを用いて、カメラCのカメラ座標系Cc2における利用者の視線ベクトルVc2、及び瞳孔中心の位置ベクトルPc2を求める(S3)。すなわち、
Vc2=[Twu,c2]V
Pc2=[Twu,c2]P
とする。
【0035】
キャリブレーション処理部32は、このカメラ座標系Cc2における利用者の視線ベクトルVc2及び瞳孔中心の位置ベクトルPc2を、撮像部13の座標系Cc1における利用者の視線ベクトルVc1及び瞳孔中心の位置ベクトルPc1に変換する(S4)。この変換は、
Vc1=[Tc1,2]-1Vc2
Pc1=[Tc1,2]-1Pc2
で行われる。
【0036】
これにより、図5に例示するように、位置ベクトルPc1を原点とし、視線ベクトルVc1を一つの座標軸(ξ軸)とする座標系が規定される。キャリブレーション処理部32は、さらに視線ベクトルVc1を法線ベクトルとする平面内に、互いに直行する2つの座標軸(η軸,ζ軸)を決定して、利用者の視野座標系Eを規定する(S5)。具体的にキャリブレーション処理部32は、プルキニエ像の位置ベクトルu(カメラ座標系Cc2による)を、撮像部13の座標系Cc1におけるベクトルに変換する。すなわち、
uc1=[Tc1,2]-1u
とする。
【0037】
そしてキャリブレーション処理部32は、視線ベクトルVc1を法線ベクトルとする平面内にベクトル
uc1−Vc1
を射影したときの当該射影ベクトルuの方向をη軸とし、視線ベクトルVc1を法線ベクトルとする平面内でこれらξ軸,η軸の双方に直交するベクトル、例えば
u×Vc1
で求められるベクトルの方向をζ軸とする。なお、
uc1−Vc1
がゼロベクトルとなる場合(利用者が偶々近赤外光投光器Pの方向を見ていた場合)は、キャリブレーション処理部32は、処理S1へ戻って処理を繰り返すこととしてもよい。
【0038】
キャリブレーション処理部32は、例えば以上のようにして求めた利用者の視野座標系Eと外界座標系Wpとの間の変換行列を求める(S6)。すでに利用者の視野座標系は、撮像部13の座標系Cc1内のベクトルにより規定されているので、撮像部13の座標系Cc1から利用者の視野座標系Eへの変換行列[TE,c1]は演算できる。
【0039】
外界座標系Wpが、撮像部13の座標系Cc1そのものである場合は、この変換行列[TE,c1]がそのまま外界座標系Wpから視野座標系Eへの変換行列[TE,wp]となる。
【0040】
また外界座標系Wpが、撮像部13の座標系Cc1そのものでない場合は、キャリブレーション処理部32は、この変換行列[TE,c1]に、撮像部13である外界座標系Wpからカメラの座標系Cc1への変換行列[Tc1,wp](=[Twp,c1]-1、ただし[Twp,c1]は、カメラ座標系Cc1から外界座標系Wpへの変換行列)を右から乗じて、外界座標系Wpから視野座標系Eへの変換行列[TE,wp]=[TE,c1][Tc1,wp]を求めればよい。
【0041】
なお、視野座標系Eから外界座標系Wpへの変換行列は、変換行列[TE,c1]の逆行列[TE,wp]-1として与えられる。キャリブレーション処理部32は、また透過型ディスプレイ15の座標系Dpとの間の変換行列[Tc1,Dp]に、変換行列[TE,c1]を乗じ、その逆行列を演算することで、視野座標系Eを、透過型ディスプレイ15の座標系Dp(2次元座標)へ投影する変換行列
[TDp,E]=[TE,Dp]-1=[[TE,c1][Tc1,Dp]]-1
を得る。
【0042】
ここで求めた外界座標系Wpから視野座標系Eへの変換行列[TE,wp](またはその逆行列[TE,wp]-1)及び、視野座標系Eから透過型ディスプレイ15の座標系Dpへの変換行列[TDp,E]を、キャリブレーションパラメータとして記憶部12に保持し(S7)、キャリブレーションの処理を終了する。そしてキャリブレーション処理部32は、処理を終了した旨を表す情報を出力する。
【0043】
なお、このキャリブレーション処理部32は、それぞれの座標系の変換行列が既知である二つのカメラを用い、一方側で利用者の視線ベクトルを検出し、他方側で利用者が視認する外界の座標系との変換行列を得ておき、視線ベクトルを用いて規定できる利用者の視野座標系と、外界座標系との変換行列を求めることができればどのような方法を用いてもよく、ここで述べた方法に限らず、他の方法を用いてもよい。
【0044】
制御部11の情報表示部33は、キャリブレーション処理部32から処理を終了した旨を表す情報を受けると、情報の表示処理を開始する。本実施の形態のある例では、記憶部12に予め、図6に示すように、外界にあるべき長方形の画像部分(I)と、当該画像部分に対応して表示されるべき情報(文字列やビットマップイメージ等;R)と、当該画像部分の現実の大きさを表す情報(サイズ情報;例えば実際の対象物における当該長方形の対角線長さなど)を関連付けたエントリーを含んだデータベースが保持されているものとする。
【0045】
情報表示部33は、図7に例示するように、撮像部13が出力する画像データから、PTAM等マーカーレス拡張現実の方法により外界座標系Wp中で検出される対象物の範囲にある部分画像を抽出する。ここでは例えば矩形状(複数ある場合はそのそれぞれ)の範囲を検出して、当該矩形上の範囲に含まれる部分画像を抽出し(S11)、検出した矩形状の部分画像を長方形状に変換する処理を実行する。この処理は射影ひずみを補正する画像処理として広く知られた処理を利用できる。情報表示部33は、さらに得られた長方形状の部分画像から照合用の画像を少なくとも一つ生成する(S12)。一例としてこの情報表示部33は、得られた長方形状の部分画像を90度、180度、270度だけ回転させた画像を生成して、検出した矩形状ごとに4つずつの長方形状の部分画像のセット(i番目の矩形状についてセットSiとする)を得る。
【0046】
情報表示部33は、予め記憶部12に格納されたデータベースを参照して、得られたセットSi(i=1,2…)に含まれる4つの画像のいずれかに一致する画像を含むエントリーがあるか否か(照合用の画像を含むエントリーがあるか否か)を調べる(S13)。そして情報表示部33は、セットSj(j=1,2…)に含まれる4つの画像のいずれかに一致する画像を含むエントリーがあれば(Yesならば)、当該エントリーに含まれる表示対象の情報と、サイズ情報とをとり出す(S14)。そして、撮像部13が撮像した画像データにおいて、セットSjに含まれる部分画像の元となった矩形状が見いだされた位置の座標と、見いだした矩形状のサイズ、並びに、データベースから取り出したサイズ情報とを用いて、撮像部13の座標系Cc1内における当該矩形状の座標情報σj(4つの頂点の座標の組等)を得る(S15)。この情報の演算も広く知られているので、ここでの詳しい説明を省略する。
【0047】
外界座標系Wpが、撮像部13の座標系Cc1そのものである場合、情報表示部33は、このσjに含まれる座標の情報に対して、キャリブレーションパラメータとしての変換行列[TE,wp]、すなわち変換行列[TE,c1]を乗じて利用者の視野座標系Eでの座標情報σ″jに変換する。また情報表示部33は、外界座標系Wpが、撮像部13の座標系Cc1とは異なる場合、このσjに含まれる座標の情報に対して、変換行列[TWp,c1]を乗じてこれらの座標の情報を外界座標系Wp内の座標情報σ′jに変換し、さらにこれにキャリブレーションパラメータとしての変換行列[TE,wp]を乗じて、利用者の視野座標系Eでの座標情報σ″jに変換する(S16)。後者の方法によると、情報表示部33は、撮像部13の座標系Cc1とは異なる外界座標系Wp内での対象物の座標情報σjが与えられれば利用者の視野座標系Eでの座標情報σ″jを得ることができる。すなわち、対象物の座標情報σjを撮像部13以外で得て情報表示の処理を行うことも可能となる。
【0048】
また情報表示部33は、キャリブレーションパラメータとしての変換行列[TDp,E]を用いて、座標情報σ″jに含まれる座標の情報を、透過型ディスプレイ15上の点座標Q1(x1,y1),Q2(x2,y2)…の値に変換する(S17)。情報表示部33は、これから例えばこれらの点座標Q1(x1,y1),Q2(x2,y2)…の平均値Qave(x,y)=((x1+x2+…+xn/n),(y1+y2+…+yn/n))を演算して、このQave(x,y)の近傍(予め定めたピクセル数未満だけ離れた位置)に、データベースから取り出した表示対象の情報を表示する(S18)。
【0049】
なお、処理S12からS18までは処理S11で抽出した矩形ごとにループして繰り返して行う。また処理S13で該当するエントリーがなければ(Noならば)、次の矩形についての処理を行う。すべての矩形について処理を行ったならば、情報表示部33は処理を終了する。
【0050】
このように本実施の形態では、利用者の視線ベクトルを検出し、当該検出した視線ベクトルを座標軸の一つとする利用者の視野座標系を設定する。そして利用者の視野にある対象物についても、この視野座標系でその位置を表し、次いで視野座標系から透過型ディスプレイ15の表示面内の座標系へ座標を変換して、対象物に関する情報の表示位置を得る。そして対象物に関する情報を当該得た位置に配することで、利用者の視線の方向を考慮した位置に情報が表示されることとなる。
【0051】
また、本実施の形態のここまでの説明では、利用者が本実施の形態の情報表示装置1を装着後、定期的にキャリブレーションを行うものとしていた。しかしながら本実施の形態はこれに限られない。すなわち情報表示装置1が眼鏡の形状をなす場合、装着後のずれはわずかと考えられることから、利用者が頭部に本実施の形態の情報表示装置1を装着したことを検出する装着センサ16をさらに備えて、情報表示装置1が利用者の頭部に装着されたことが、この装着センサ16によって検出された時点で、キャリブレーション指示部31がキャリブレーションの処理を行うべき旨の指示を出力することとしてもよい。
【0052】
具体的にこの装着センサ16は、例えば赤外線を放射して、その反射光により物体が近接していることを検出する近接センサー等でよく、テンプル21に取り付けておけばよい。この装着センサ16は、物体が近接していない間はその出力がLとなっており、物体が近接すると出力がHとなる。
【0053】
制御部11は、キャリブレーション指示部31として機能する際に、装着センサ16の出力がLからHへ変化し、その後Hの状態が予め定めた時間に亘って継続するときに、利用者が情報表示装置1を装着したものとし、キャリブレーションを行うべきタイミングが到来したとして、キャリブレーションの処理を行うべき旨の指示を出力する。
【0054】
また本実施の形態の情報処理装置1は、情報処理装置1が装着された後に、当該情報処理装置1と視点位置との相対的位置変動を検出する手段としての変位センサ17をさらに備えてもよい。この変位センサ17は、例えば次のようなものである。すなわち、ここでの例では情報処理装置1は眼鏡の形状を備えているが、眼鏡では一般に装着後の位置ずれは主に、テンプル21が利用者の耳にかかっている部分を中心として、情報処理装置1が利用者の顔に対して上下方向に(つまり仰角方向に)回転することによって生じる。そこでこの変位センサ17は、テンプル21に取り付けられ、鉛直下方に対するテンプル21の仰角角度を検出する傾斜センサでよい。一例としてこの変位センサ17は、仰角に比例した電圧信号を出力する。
【0055】
制御部11は、キャリブレーション処理部32として機能する際に、この変位センサ17が出力する電圧信号からキャリブレーション処理時の仰角の情報θ0を生成し、キャリブレーションパラメータに含めて記憶部12に格納しておく。
【0056】
その後、制御部11は、予め定めたタイミングごとに繰り返して、この変位センサ17の出力する電圧信号から仰角の情報θを生成する。そして当該生成した仰角の情報θと、記憶部12に格納されたキャリブレーションパラメータに含まれる、キャリブレーション処理時の仰角の情報θ0とを比較し、その差の絶対値、Δθ=|θ−θ0|を生成する。ここで|*|は、*の絶対値を意味する。
【0057】
制御部11は、Δθが予め定めたしきい値θthを超えたとき(Δθ>θthまたはΔθ≧θthのとき)に、キャリブレーション指示部31としての機能を実行して、キャリブレーションを行うべきタイミングが到来したとして、キャリブレーションの処理を行うべき旨の指示を出力する。
【0058】
また制御部11は、しきい値を超えたときにキャリブレーションの処理を再度行うのではなく、次のようにしてもよい。すなわち、予め定めたタイミングごとに繰り返して変位センサ17の出力から取得する仰角の情報θと、キャリブレーションパラメータに含まれる、キャリブレーション処理時の仰角の情報θ0とを用い、変換行列を補正することとしてもよい。
【0059】
具体的に制御部11は、キャリブレーションパラメータとしての変換行列[TE,wp]に対して、外界座標系を仰角方向(外界座標系Wpにおいて鉛直面内の角度方向)にθ−θ0だけ回転補正する行列[Tθ]を乗じて補正した変換行列
[TE,wp]′=[TE,wp][Tθ]
を生成する。また、ここでの例では、撮像部13とともに透過型ディスプレイ15も同じ変位を受けるので、キャリブレーションパラメータとしての変換行列[TDp,E]に対しても同様に、透過型ディスプレイの座標系を仰角方向(透過型ディスプレイの座標系Dpにおいて鉛直面内の角度方向)にθ−θ0だけ回転補正する行列[Tθ]を乗じて補正した変換行列
[TDp,E]′=[Tθ][TDp,E]
を生成する。そして、以後はこれら補正後の変換行列[TE,wp]′と[TDp,E]′とを用いて、情報表示部33としての処理を実行する。
【0060】
すなわち制御部11は、情報表示部33としての処理として、外界座標系Wp内において検出した矩形状の座標情報σj(4つの頂点の座標の組等)に、この補正後の変換行列[TE,wp]′を乗じて、利用者の視野座標系Eでの座標情報σ″jに変換する。また補正後の変換行列[TDp,E]′を用いて、座標情報σ″jに含まれる座標の情報を、透過型ディスプレイ15上の点座標Q1(x1,y1),Q2(x2,y2)…の値に変換する。情報表示部33は、これから例えばこれらの点座標Q1(x1,y1),Q2(x2,y2)…の平均値Qave(x,y)=((x1+x2+…+xn/n),(y1+y2+…+yn/n))を演算して、このQave(x,y)の近傍(予め定めたピクセル数未満だけ離れた位置)に、データベースから取り出した表示対象の情報を表示する。
【0061】
このように、キャリブレーションのタイミングを装着時点とすることで、キャリブレーション処理の回数を少なくでき、処理負荷を軽減できる。このような処理は、例えば車両の運行など、利用者の眼球の方向が極端に変化しない場合に効果的に適用できる。
【0062】
本実施の形態の情報表示装置1は、以上の構成を備えてなり、次のように動作する。本実施の形態の情報表示装置1のある例では、路上を車両で走行しているときに、運転者から視認できる看板類の画像と、各看板に関して予め設定された情報とを関連付けたエントリーを含むデータベースを記憶部12に保持している。
【0063】
この情報表示装置1を利用者が装着すると、情報表示装置1は、それから定期的にキャリブレーションの処理を行い、利用者の視線の方向を検出し、キャリブレーションパラメータとしての変換行列[TE,wp]、及び変換行列[TDp,E]を求める。
【0064】
また情報表示装置1は、利用者の視認する方向にある対象物を撮像して得た画像データから、PTAM等マーカーレス拡張現実の方法により外界座標系Wp中で検出される矩形状(複数ある場合はそのそれぞれ)に含まれる部分画像を抽出し、検出した矩形状の部分画像を長方形状に変換する処理を実行する。また、得られた長方形状の部分画像を90度、180度、270度だけ回転させた画像を生成して、検出した矩形状ごとに4つずつの長方形状の部分画像のセット(i番目の矩形状についてセットSiとする)を得る。
【0065】
情報表示装置1は、予め記憶部12に格納されたデータベースを参照して、得られたセットSi(i=1,2…)に含まれる4つの画像のいずれかに一致する画像を含むエントリーがあるか否かを調べる。例えば、道路上の方面看板等は矩形であるので、この処理によって検出されることになる。そして情報表示装置1の記憶部12には予め、方面看板の画像に関連して表示するべき情報(例えば当該方面看板の近傍にある店舗の情報等)が関連付けられて保持されている。
【0066】
情報表示部33は、セットSj(j=1,2…)に含まれる4つの画像のいずれかに一致する画像を含むエントリーを見出すと、当該エントリーに含まれる表示対象の情報と、サイズ情報とをとり出す。そして、撮像部13が撮像した画像データにおいて、セットSjに含まれる部分画像の元となった矩形状が見いだされた位置の座標と、見いだした矩形状のサイズ、並びに、データベースから取り出したサイズ情報とを用いて外界座標系Wp内における当該矩形状の座標情報σj(4つの頂点の座標の組等)を得る。つまり、例えば方面看板の近傍にある店舗の情報等が得られる。
【0067】
情報表示装置1は、当該矩形状の座標情報σjに、この変換行列[TE,wp]を乗じて、利用者の視野座標系Eでの座標情報σ″jに変換する。また情報表示装置1は、補正後の変換行列[TDp,E]を用いて、座標情報σ″jに含まれる座標の情報を、透過型ディスプレイ15上の点座標Q1(x1,y1),Q2(x2,y2)…の値に変換する。情報表示装置1は、これから例えばこれらの点座標Q1(x1,y1),Q2(x2,y2)…の平均値Qave(x,y)=((x1+x2+…+xn/n),(y1+y2+…+yn/n))を演算して、このQave(x,y)の近傍(予め定めたピクセル数未満だけ離れた位置)に、データベースから取り出した表示対象の情報(近傍の店舗の情報等)を表示する。
【0068】
[変形例]
また本実施の形態のここまでの説明では、図2に例示したように、眼鏡の形状をなす場合、つまりヘッドマウントディスプレイとして情報表示装置1を実装した場合を例として説明したが、本発明の実施の形態はこれに限られるものではない。
【0069】
例えば本実施の形態の透過型ディスプレイ15は、車両のフロントガラス等であってもよい。この場合、撮像部13及び眼球検知部14はこのフロントガラス、またはフロントガラスに対して相対的な位置が変化しない位置(フロントガラスのフレームやダッシュボード等)に配されてもよい。このようにすることによっても、撮像部13の座標系Cc1と、この透過型ディスプレイ15の座標系Dpとの間の変換行列[Tc1,Dp]もまた既知のものとなり、撮像部13の座標系Cc1と、透過型ディスプレイ15の座標系Dpとの間の変換行列[Tc1,Dp]もまた既知のものとなる。従ってこの場合も、既に述べた例と同様にして処理を行うことにより、利用者の視線方向を考慮した情報の表示が可能となる。
【0070】
さらに本発明の実施の形態のある例では、商品のショーウィンドウやショーケースのガラス面に透過型ディスプレイ15が配されてもよい。この場合は、図8に例示するように、商品を展示するステージ後方(商品に対し、ガラス面とは反対の位置)に撮像部13と眼球検知部14とを配する。この例では、撮像部13は、眼球検知部14のカメラCを兼ねてもよい。ここでのように、商品のショーウィンドウやショーケースのガラス面に配する場合、透過型ディスプレイ15は、既に述べた液晶表示パネルや有機ELパネル等のみならず、ガラス面に映像を投射可能な位置に配されたプロジェクタと、ガラス面に配されたスクリーンとを含むものとしてもよい。この場合のスクリーンは、上記プロジェクタによって投影された映像が投影されるとともに、利用者側から自らを通じて反対側の像を視認可能とした、透明ないし半透明のスクリーンとする。
【0071】
制御部11は、既に述べたと同様の方法で、キャリブレーションの処理を行う。またこの例では、撮像部13の座標系Cc1(ここではこの座標系Cc1がそのまま外界座標系Wpであるとする)内で、情報表示の対象物たる商品の座標は予め定めることができる。そこでこれら商品に外接する直方体の各頂点の、座標系Cc1内の座標が既知であるものとする。また、撮像部13の座標系Cc1における透過型ディスプレイ15の4つの頂点の座標も既知であるものとする。従って、撮像部13の座標系Cc1から、この透過型ディスプレイ15の座標系Dpへの変換行列[TDp,wp]もまた、既知となる。
【0072】
制御部11は、キャリブレーションの処理において利用者の視線ベクトルVを検出し、これから変換行列[TE,wp]を得る。またこれと、既知である[TDp,wp]とより、
[TDp,E]=[TDp,wp][TE,wp]-1
を演算する。
【0073】
また記憶部12には、商品ごとに、商品に外接する直方体の各頂点の座標と、商品に関して表示するべき情報とを関連付けた商品ごとのエントリーを、データベースとして保持しておく。
【0074】
以下制御部11は、データベースに格納されている商品ごとのエントリーを一つずつ読み出す。そして各エントリーを読み出すごとに、読み出したエントリーに含まれる、外接する直方体の各頂点の座標に対して、変換行列[TE,wp]を乗じて、利用者の視野座標系Eでの座標情報に変換する。また情報表示装置1は、変換行列[TDp,E]を用いて、上記変換後の座標情報に含まれる座標の情報を、透過型ディスプレイ15上の点座標Q1(x1,y1),Q2(x2,y2)…の値に変換する。
【0075】
また制御部11は、これらQ1(x1,y1),Q2(x2,y2)…の各点を結ぶ多角形に外接する矩形領域を求め、この透過型ディスプレイ15上の、この矩形領域内に、読み出したエントリーに含まれている、商品に関して表示するべき情報を表示させる。
【0076】
この例によると、利用者がガラス面の前を移動しても、利用者にとっては、商品の情報が商品に重ね合わせられて表示されることとなる。
【0077】
さらに透過型ディスプレイ15と撮像部13との位置は必ずしも固定されていなくてもよい。この場合は、制御部11は、撮像部13が撮像して得た画像データから透過型ディスプレイ15の外周にある頂点の座標を検出する。この座標の検出は、例えば矩形の透過型ディスプレイ15の対角線上の2点にマーカーを取り付けておき、このマーカーを撮像部13の座標系Cc1内で検出することによって行ってもよい。これにより制御部11は、撮像部13の座標系Cc1、すなわち外界座標系Wpから、透過型ディスプレイ15の座標系Dpへの変換行列[TDp,wp]を求めることになる。
【0078】
さらに、ここまでの説明では、表示の対象となる情報は、記憶部12内にデータベースとして保持することとしていたが、これに限られるものではない。例えばデータベースは外部のサーバに格納しておき、制御部11は、データベースに対して有線または無線LAN、ないしは携帯電話回線網等を介してアクセスし、その内容を検索し、あるいは読み出すようにしても構わない。
【符号の説明】
【0079】
1 情報表示装置、11 制御部、12 記憶部、13 撮像部、14 眼球検知部、15 透過型ディスプレイ、16 装着センサ、17 変位センサ、20 フレーム、21 テンプル、22 リム、23 鼻当て部、24 ブリッジ、31 キャリブレーション指示部、32 キャリブレーション処理部、33 情報表示部。

【特許請求の範囲】
【請求項1】
利用者の眼前に配される透過型ディスプレイと、
利用者の視線ベクトルVを検出する手段と、
前記検出した視線ベクトルVを用いて、利用者の視野座標系Epを規定する手段と、
前記規定した利用者の視野座標系Ep内の座標を、外界座標系Wp内の座標に変換する変換行列を求める位置合わせ手段と、
前記外界座標系Wp内の対象物の位置を表す座標を、前記変換行列によって、前記視野座標系Ep内の位置を表す座標に変換する手段と、
前記視野座標系Epの座標を、前記透過型ディスプレイに投影して、前記対象物に対する情報の表示位置を求める手段と、
前記求めた表示位置に、前記対象物に対する情報を表示する手段と、
を含む情報表示装置。
【請求項2】
請求項1の情報表示装置において、
さらに、利用者の頭部に装着されたことを検出するセンサ、をさらに有し、
前記位置合わせ手段は、前記センサにより、情報表示装置が装着されたと検出した時点で、前記変換行列を求める情報表示装置。
【請求項3】
請求項2の情報表示装置において、
前記センサが、情報表示装置が利用者の頭部に装着されたことを検出してから、情報処理装置と、前記視点位置との相対的位置変動を検出する手段をさらに有し、
前記位置合わせ手段は、当該検出した相対的位置変動に基づいて、前記変換行列を補正する情報表示装置。
【請求項4】
請求項1から3のいずれか一項に記載の情報表示装置において、
さらに、前記外界座標系Wpと、前記透過型ディスプレイ上の座標系Dpとの変換行列を求める手段を有する情報表示装置。
【請求項5】
透過型ディスプレイを備えたコンピュータを、
利用者の視線ベクトルVを検出する手段と、
前記検出した視線ベクトルVを用いて、利用者の視野座標系Epを規定する手段と、
前記規定した利用者の視野座標系Ep内の座標を、外界座標系Wp内の座標に変換する変換行列を求める位置合わせ手段と、
前記外界座標系Wp内の対象物の位置を表す座標を、前記変換行列によって、前記視野座標系Epの内の位置を表す座標に変換する手段と、
前記視野座標系Epの座標を、前記透過型ディスプレイに投影して、前記対象物に対する情報の表示位置を求める手段と、
前記求めた表示位置に、前記対象物に対する情報を表示する手段と、
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−114491(P2013−114491A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−260644(P2011−260644)
【出願日】平成23年11月29日(2011.11.29)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】