以下、本発明の実施の形態について、図面に基づいて詳細に説明する。
図1には、本発明の一実施形態に係る画像表示システムを構成する頭部装着型画像表示装置(以下、「HMD」とする)の概略構成が示されている。図1では、片眼用(左眼LE用)のHMD50が、観察者Pの頭部に装着されており、観察者Pの頭部は+Y方向を向いた状態となっている。HMD50の構成については、観察者Pの頭部が、+Y方向を向いているものとして説明する。しかしながら、実際には、観察者Pは自由に動くことが可能であり、その頭部の位置及び向きは、刻々変化するようになる。
HMD50は、図1では図示されていないが、眼鏡あるいはヘッドフォンのような形式で、観察者Pの頭部に、固定されている。したがって、HMD50の位置及び向きは、そのまま観察者Pの頭部の位置及び向きに従って動くようになる。
HMD50は、投射光学系52と、表示用光束射出部54とを備えている。投射光学系52は、観察者Pの左眼LEの前方(すなわち+Y側)に設けられており、外部からの光(外光)をそのまま透過させるようになっている。表示用光束射出部54は、表示用光束ILを、投射光学系52に対して射出する。この表示用光束ILは、観察者Pによって視認される虚像に対応する画像信号に応じた光束であり、指向性のある光束である。
投射光学系52は、表示用光束ILを、観察者Pの左眼LEに導くとともに、その一部を、外部に射出するように構成されている。図1では、その外部からの光が、実線矢印で示されており、投射光学系52からの表示用光束ILが破線矢印で示されている。
以上のような構成を有するHMD50は、外光による実像と、表示用光束ILによる虚像とを、同時に観察者Pに視認させる装置となっている。
図2には、投射光学系52の一部の構成を示す模式図が示されている。図2では、投射光学系52を+Z側から見ている。図2に示されるように、投射光学系52内には、ハーフミラー56とミラー58とが設けられている。なお、ミラー58が観察者Pの視界を遮っていまい観察者が十分な視野を確保できない場合には、ミラー58をハーフミラーとするようにしてもよいが、本実施形態では、外部に射出される位置検出用の光のパワーを考慮して、ミラー58を採用する構成とする。
ハーフミラー56は、表示用光束射出部54から+X方向に射出された表示用光束ILを、そのまま+X方向に透過する透過光束と、−Y方向に反射する反射光束とに分離する。分離された光束のうち、反射光束は、観察者Pの左眼LEに導かれるが、+X方向に透過した透過光束は、外部に射出される光束としてミラー58に入射する。ミラー58は、この透過光束を、+Y方向に反射する。これにより、この光束は、HMD50の外部(+Y方向に)へ射出されるようになる。すなわち、本実施形態では、HMD50の投射光学系52は、表示用光束ILの一部を外部に射出しており、その射出方向は、観察者Pの眼前方向と略同一方向となっている。
図1に戻り、コントローラ60は、表示用光束ILの光源や、本実施形態に係る画像表示システム全体を統括制御する制御部(いずれも不図示)を備えている。HMD50とコントローラ60との間はケーブルLを介して接続されている。このケーブルLには、光ファイバや、HMD50と、コントローラ60との間のデータ通信を行うための各種信号線などが組み込まれている。表示用光束ILは、コントローラ60内部で生成され、ケーブルL内の光ファイバを介して、HMD50に送られている。
図3には、図1、図2に示されるHMD50を備える画像表示システム100全体の内部構成が模式的に示されている。
図3に示されるように、本実施形態に係る画像表示システム100は、図1に示されるHMD50及びコントローラ60に加え、位置検出装置70をさらに備えている。位置検出装置70は、観察者Pの近傍で、例えば観察者Pが居る室内のいずれかの場所に取り付けられている。HMD50は、観察者Pの動きに応じて室内を移動するのに対し、位置検出装置70の位置は、観察者Pの動きに関らず固定となっている。位置検出装置70は、上述したように、HMD50から射出された表示用光束ILを受光し、その受光結果に基づいて、例えば、室内におけるHMD50の位置及び向きを検出する。
コントローラ60の内部構成について説明する。コントローラ60は、虚像位置決定装置としての主制御装置20と、映像信号供給回路62と、光発生部64と、送受信回路66とを備えている。
主制御装置20は、CPU21、ROM22、RAM23とを備えるコンピュータである。主制御装置20の機能は、このCPU21が、ROM22などに格納された制御プログラムを実行することにより実現され、この制御プログラムが実行されることにより、この画像表示システム100全体が統括制御される。
主制御装置20は、映像信号供給回路62を制御可能である。主制御装置20は、後述するように、位置検出装置70で検出された、HMD50の位置及び向きに基づいて、映像信号供給回路62によって供給される映像信号を補正することにより、観察者Pによって視認させる虚像の呈示位置を調整する。
この映像信号は、観察者に視認させる、虚像のカラー原画信号である。映像信号供給回路62は、外部装置から入力された映像信号を、赤色の画像信号としての映像信号Rと、緑色の画像信号としての映像信号Gと、青色の画像信号として映像信号Bとに分割して、光発生部64に出力する。また、映像信号供給回路62は、これとともに、表示用光束ILの垂直方向の走査のタイミング制御に用いられる垂直同期信号VDと、表示用光束ILの水平方向の走査のタイミング制御に用いられる水平同期信号HDと、虚像の奥行きを指定するための奥行信号とを、HMD50を構成する後述する走査部82に出力している。なお、表示用光束ILの2次元走査では、その走査線の方向を水平方向とし、走査線が並んでいる方向を垂直方向としている。また、垂直同期信号VD及び水平同期信号HDは、送受信回路66にも出力されている。
光発生部64は、赤、緑、青の各色のレーザ光源と、その駆動回路(いずれも不図示)を有している。光発生部64は、映像信号Rに基づく赤色のレーザ光と、映像信号Gに基づく緑色のレーザ光と、映像信号Bに基づく青色のレーザ光を発生させ、それらのレーザ光を合成した光を、表示用光束ILとして、ケーブルLの光ファイバを経由してHMD50を構成する走査部82に送る。
HMD50は、前述した、ハーフミラー56、ミラー58のほか、走査部82と、ミラー84と、集光レンズ86とを備えている。
走査部82は、入射した表示用光束ILを2次元走査する。より具体的には、走査部82は、ポリゴンミラーや、ガルバノミラー(いずれも不図示)を備えており、それらのミラーを、垂直同期信号VD及び水平同期信号HDに従ってそれぞれ振動させることにより、表示用光束ILを、2次元走査する。この2次元走査により、表示用光束ILは、観察者Pの網膜F上で、2次元走査されるようになる。
さらに、走査部82は、入力された奥行信号に基づいて、表示用光束ILの波面(等位相面)の曲率を変調する波面変調部(不図示)を備えている。この波面変調部により、表示用光束ILの波面の曲率を変調することにより、虚像の呈示位置と観察者の左眼の位置との間の距離(すなわち、虚像までの距離感)を調整することができるようになっている。なお、波面曲率変調方法の詳細については、例えば特開2003−295108号公報等に開示されているので、これ以上の詳細な説明を省略する。
2次元走査された表示用光束ILは、ミラー84で反射され、集光レンズ86によって屈折した後、投射光学系52のハーフミラー56に入射するようになっている。そして、前述したように、ハーフミラー56で反射した表示用光束ILは、観察者Pの左眼LEの網膜Fに達し、この2次元走査により、その網膜F上に虚像が結像するようになる。一方、ハーフミラー56を透過した表示用光束ILは、ミラー58で反射し、+Y方向に射出される。
位置検出装置70は、送受信回路72と、遅れ補償装置74と、パネルPAと、検出装置としての座標演算装置76とを備えている。
送受信回路72は、コントローラ60側の送受信回路66との間で、無線通信を行う無線インターフェイスである。具体的には、送受信回路72から送受信回路66に対して、後述するように座標演算装置76で算出されたHMD50の位置及び向きに関する情報が送られ、送受信回路66から送受信回路72に対して、垂直同期信号VD、水平同期信号HDが送られる。
遅れ補償装置74は、上記無線送信などによって遅延した垂直同期信号VD、水平同期信号HDの遅れを補償する。なお、受信した垂直同期信号VD、水平同期信号HDの遅れが無視できる程度である場合には、この遅れ補償装置74は、なくてもよい。
パネルPAは、2次元平面を有する平板である。パネルPAの平面は、概ねHMD50の方を向いている。パネルPAの2次元平面には、受光装置としての3つの受光素子P1〜P3が、その受光面がHMD50の方向を向いた状態で、組み込まれている。すなわち、受光素子P1〜P3は、HMD50から射出された表示用光束ILを受光可能に配置されている。
この受光素子P1〜P3は、2次元平面内(パネルPAの平面内)で、一直線上に並ばないように配置されている。受光素子P1〜P3としては、例えばフォトダイオードを用いることができる。受光素子P1〜P3は、HMD50から射出された表示用光束ILを受光すると同時に、座標演算装置76に、その受光パルス信号を出力する。
本実施形態では、このパネルPA上に、HMD50から射出された表示用光束ILが入射する。その入射領域は、例えば、HMD50とパネルPAとの距離が50cm程度であるとすると、例えばB4ノート程度の大きさ(1m程度だとその4倍の大きさ)となる。
座標演算装置76は、CPUやメモリ等からなる演算装置である。受光素子P1〜P3からの受光パルス信号と、送受信回路72及び遅れ補償装置74を介して入力される、垂直同期信号VDに基づいて、HMD50の位置及び向きを、後述する数値演算により算出する。座標演算装置76は、時間を測定可能なカウンタを備えており、このカウンタは、CPUによりリセット可能となっている。
ここで、座標演算装置76における、HMD50の位置及び向きの演算方法について説明する。
図4(A)には、HMD50から射出された表示用光束ILが、パネルPA上に入射している様子が示され、図4(B)には、そのときの垂直同期信号VD、水平同期信号HD、受光素子P1〜P3の出力のタイミングチャートの一例が示されている。図4(B)には、パネルPA上における表示用光束ILの入射位置の軌跡が、実線矢印で示されており、この軌跡によって形成される2次元走査面Sが破線で示されている。
図4(A)に示されるように、受光素子P1は、上から3本目の走査線に相当する軌跡上にあるため、3本目の走査線の走査中に、受光素子P1から受光パルス信号が出力されるようになる。ここで、図4(B)に示されるように、直近の水平同期信号HDが入力されてから、受光素子P1より受光パルス信号が出力されるまでの時間をt1’とする。
また、図4(A)に示されるように、受光素子P2は、上から6本目の走査線に相当する軌跡上にあるため、6本目の走査線の走査中に、受光素子P2から受光パルス信号が出力されるようになる。ここで、図4(B)に示されるように、直近の水平同期信号HDが入力されてから、受光素子P2より受光パルス信号が出力されるまでの時間をt2’とする。
さらに、図4(A)に示されるように、受光素子P3は、上から11本目の走査線に相当する軌跡上にあるため、11本目の走査線の走査中に、受光素子P3から受光パルス信号が出力されるようになる。ここで、図4(B)に示されるように、直近の水平同期信号HDが入力されてから、受光素子P3より受光パルス信号が出力されるまでの時間をt3’とする。
なお、図4(A)では、図面の錯綜を防止すべく、走査線の本数を18本程度としたが、実際には、より多数の走査線が存在する。
また、図5には、HMD50の位置とパネルPAとの関係が示されている。図5に示されるように、HMD50の位置及び向きについては、HMD50から見た、受光素子P1〜P3の方向を示す単位ベクトルn1,n2、n3と、HMD50と受光素子P1〜P3との距離とで表すことができる。HMD50から見た、受光素子P1〜P3の方向を示す単位ベクトルn1、n2、n3と、HMD50と受光素子P1〜P3との距離l1、l2、l3とは、以下の関係式で表すことができる。
A2=l2 2+l3 2−2l2l3(n2・n3) … (1)
B2=l3 2+l1 2−2l3l1(n3・n1) … (2)
C2=l1 2+l2 2−2l1l2(n1・n2) … (3)
ここで、Aは、受光素子P2〜受光素子P3の距離であり、Bは、受光素子P3〜受光素子P1の距離であり、Cは、受光素子P1〜受光素子P2の距離である。A、B、Cは、パネルPA上の受光素子P1〜P3の配置状態で決まる設計値である。
また、図4(A)、図4(B)、図5から総合すると明らかなように、単位ベクトルn1、n2、n3は、受光素子P1、P2、P3上を通過する走査線と、時間t1’、t2’、t3’に基づいて一意に求まる。単位ベクトルn1、n2、n3が求まると、上記式(1)〜(3)内において、未知の値は、距離l1、l2、l3のみとなる。したがって、設計上の値、A、B、Cと、単位ベクトルn1、n2、n3とを、上記の式(1)〜(3)に代入すれば、距離l1、l2、l3が得られるようになる。座標演算装置76では、以上の演算を行って、HMD50とパネルPAとの相対位置関係、すなわちHMD50の位置情報を算出する。
次に、本実施形態に係る画像表示システム100の動作について説明する。
図6には、主制御装置20によって実行される処理と、座標演算装置76によって実行される処理とを示すフローチャートが示されている。図6では、左側に、主制御装置20によって実行される処理のフローチャートが示されており、右側に、座標演算装置76によって実行される処理のフローチャートが示されている。なお、フローチャート間の点線矢印は、送受信回路66、72を介して行われる、主制御装置20と、座標演算装置76との間で行われるデータ送受信の流れを示している。
図6に示されるように、まず、ステップ201において、主制御装置20は、虚像を表示するための指令が、入力されるまで待つ。なお、外部装置から映像信号等が入力された場合に、その映像信号等の入力を、該指令の入力とみなして、ここでの判断を肯定するようにしてもよい。この指令が入力されると、主制御装置20は、ステップ203に進む。ステップ203において、主制御装置20は、表示すべき映像信号(原画信号)を読み込んで生成するように、映像信号供給回路62に指示する。続くステップ205では、主制御装置20は、同期信号VD、HDの出力を開始するように映像信号供給回路62に指示する。これにより、同期信号VD、HDは、送受信回路66、72、遅れ補償装置74を介して、座標演算装置76に送られる。その後、主制御装置20は、ステップ207において、位置検出装置70から位置情報を受信するまで待つ。
一方、座標演算装置76は、まず、ステップ301において、受光数nを0に設定する。この受光数nは、受光素子P1〜P3から受光パルスが入力される度に1だけインクリメントされるようになる。受光数nは、すべての受光素子で表示用光束ILを受光したか否かを判断するための変数である。次のステップ302では、水平同期信号HDの入力パルス数mを0に設定する。この入力パルス数mは、これまでに入力された水平同期信号HDの入力パルスをカウントするための変数である。
そして、次のステップ303では、座標演算装置76は、垂直同期信号VDの入力待ちとなっている。垂直同期信号VDが入力され、その立ち上がりエッジを検出すると、座標演算装置76は、ステップ304に進む。
次のステップ304では、座標演算装置76は、1フレームが完了したか否かを判断する。この判断は、例えば、水平同期信号HDのパルス数mが所定数に達したことなどで判断することができる。この判断が肯定されれば、座標演算装置76は、ステップ321に進み、否定されればステップ305に進む。ここで、1フレームが完了したということは、2次元走査期間中に、受光素子P1〜P3のいずれかでは、表示用光束ILを受光できないことが確実となったことを意味している。ここでは、垂直同期信号VDの立ち上がりが検出された直後であり、2次元走査開始時点であるので、判断は肯定され、ステップ305に進むものとする。
ステップ305では、座標演算装置76は、水平同期信号HDを受信したか否かを判断する。この判断が肯定された場合にのみ、ステップ307、308を行う。
水平同期信号HDが入力され、ステップ305における判断が肯定されると、ステップ307に進む。ステップ307では、座標演算装置76は、カウンタをリセットし、0からカウントを開始する。このカウンタは、図4(B)の時間t1’、t2’、t3’を測定(数値化)するためのタイマカウンタである。すなわち、本実施形態では、水平同期信号HDが入力される度に、カウンタ値がリセットされ、その走査線でのカウントが開始される。なお、前記カウンタは、水平同期信号より遙かに高速なクロックをカウントするものであり、水平同期信号を整数倍逓倍したようなクロックをカウントするものであるのが望ましい。また、位置検出精度を上げるためには、クロックは高速であればあるほどよい。そして、ステップ308では、水平同期信号HDのパルス数mを1だけインクリメントする。なお、ステップ307、308の順序は逆でも同時であってもよい。
ステップ309では、座標演算装置76は、受光素子P1〜P3のいずれかで、表示用光束ILが受光され、そこから受光パルス信号が出力されたか否かを判断する。座標演算装置76は、この判断が肯定されればステップ311に進むが、否定されればステップ304に戻る。ここでは、判断が否定され、ステップ304に戻るものとして説明を続ける。
以降、ステップ304における判断が肯定されるか、ステップ305における判断が構肯定されるか、ステップ309における判断が肯定されるまで、座標演算装置76は、ステップ304→305→309を繰り返す。
ステップ309で、受光素子P1〜P3のいずれかから、受光パルス信号を入力し、判断が肯定されると、ステップ311に進み、座標演算装置76は、そのときのパルス数mと、カウンタ値を取得する。ここで、受光素子P1から受光パルス信号を入力したとすると、そのときに取得されるカウンタ値は、時間t1’に相当するカウンタ値となる。また、このときに取得されたパルス数mをm1とする。このt1’に相当するカウンタ値及びパルス数m1は、受光素子P1に対応するものと識別可能に座標演算装置76のメモリに格納される。
次のステップ313では、座標演算装置76は、受光数nを1だけインクリメントする。これにより、受光数nは、1となる。そして、次のステップ315では、座標演算装置76は、受光数nが3以上となったか否かを判断する。ここでは、n=1であるので、判断は否定され、ステップ304に戻る。
以降、座標演算装置76は、次の受光素子から受光パルス信号が入力されるまで、又は、受光素子のいずれかで表示用光束ILが受光されなかったと判断されるまで、ステップ304→305(→307→308)→309を繰り返す。そして、座標演算装置76は、いずれかの受光素子から受光パルス信号が入力され、ステップ309において判断が肯定されると、ステップ311〜315を実行する。ここで、受光素子P2から受光パルス信号を入力したとすると、ステップ311において読み込まれるカウンタ値は、時間t2’に相当するカウンタ値となる。また、このときに取得されたパルス数mをm2とする。このt2’に相当するカウンタ値及びパルス数m2は、受光素子P2に対応するものと識別可能に座標演算装置76のメモリに格納される。さらに、ステップ313で、n=2(n←n+1)となるので、続くステップ315における判断は否定され、再び、座標演算装置76は、ステップ304に戻るようになる。
以降、次の受光素子から受光パルス信号が入力されるまで、又は、受光素子のいずれかで表示用光束ILが受光されなかったと判断されるまで、座標演算装置76は、再びステップ304→305(→307→308)→309を繰り返す。そして、いずれかの受光素子から受光パルス信号が入力されると、座標演算装置76は、ステップ311〜315を実行する。ここで、受光素子P3から受光パルス信号を入力したとすると、ステップ311において読み込まれるカウンタ値は、時間t3’に相当するカウンタ値となる。また、このときに取得されたパルス数mをm3とする。このt3’に相当するカウンタ値及びパルス数m3は、受光素子P3に対応するものと識別可能に座標演算装置76のメモリに格納される。さらに、ステップ313で、n=3(n←n+1)となるので、続くステップ315における判断は肯定される。
ステップ315で判断が肯定されると、座標演算装置76は、ステップ317に進む。ステップ317では、座標演算装置76は、上述の演算方法を用いて、HMD50の位置情報(単位ベクトルn1、n2、n3と、距離l1、l2、l3)を算出する。より具体的には、座標演算装置76は、ステップ313で取得され、座標演算装置76のメモリに格納された、パルス数m1に基づいて、受光素子P1から受光パルス信号が出力されたときの走査線を特定し、パルス数m2に基づいて、受光素子P2から受光パルス信号が出力されたときの走査線を特定し、パルス数m3に基づいて、受光素子P3から受光パルス信号が出力されたときの走査線を特定する。そして、特定された走査線と、t1’、t2’、t3’に相当するカウント値とに基づいて、単位ベクトルn1、n2、n3を求める。そして、座標演算装置76は、上記式(1)〜(3)に単位ベクトルn1、n2、n3を代入して、距離l1、l2、l3)を算出する。ステップ319では、その位置情報を、送受信回路72、66を介して、主制御装置20に送信する。
一方、ステップ304で判断が肯定された場合、すなわち、3つの受光素子P1〜P3で表示用光束ILを受光することができずに、1フレームが完了した場合には、座標演算装置76は、ステップ321に進み、受光素子P1〜P3で、表示用光束ILが受光せず位置情報が検出されなった旨を含む情報(不検出通知)を主制御装置20に送信する。ステップ319、321終了後は、座標演算装置76は、ステップ301に戻り、ステップ302、303を実行して、ステップ303において、垂直同期信号VDの入力待ち状態となる。なお、座標演算装置76のメモリに格納されたデータは、過去の複数フレームに渡って記憶されるように構成してもよい。そうすることで、HMD50の動きの情報も得られるようになる。
ところで、ステップ207において位置情報を受信するまで待っていた主制御装置20は、この位置情報を受けて、ステップ209に進む。ステップ209では、主制御装置20は、送信された内容に、位置情報が含まれているか否かを判断する。主制御装置20は、この判断が肯定されれば、ステップ211に進み、否定されれば、ステップ215に進む。ステップ211では、主制御装置20は、検出されたHMD50の位置情報に基づいて映像信号を補正する(例えば、画像の書き出し位置のオフセットを変更する)。次のステップ213では、主制御装置20は、補正された映像信号に基づいて画像を表示する。
例えば、元の映像信号における虚像が、図7(A)に示されるような領域IA内に示されるべき画像であったとする。この元の映像信号では、その画像の中央部に、一本の木の虚像が表示されている。領域IA内の木は、実際には、観察者Pの眼前には、存在していない。また、領域IA外の木は、実際に観察者Pの眼前に広がる光景の一部である。この元の映像信号による虚像は、HMD50の向きが水平となった場合に、その方向の実像と合致するような像となっている。
ここで、図7(B)に示されるように、観察者Pの頭部の向きが、やや下向きになり、観察者Pの視野が下の方にずれ、ややY軸回りに回転したものとする。この場合、位置検出装置70から、このときに検出された観察者Pの頭部の位置及び向き(単位ベクトルn1、n2、n3、距離l1、l2、l3)が送られ、観察者Pの視野内の原画信号における木の位置が上側に補正される。
一方、ステップ215では、主制御装置20は、画像の表示を停止する。例えば、図7(C)に示されるように、観察者Pの頭部が大幅に下向きとなり、HMD50の位置及び向き(単位ベクトルn1、n2、n3、距離l1、l2、l3)を検出することができなかったものとする。この場合には、ステップ215で木を表示すべき位置も、観察者Pの視野外となるので、虚像の表示を停止するのである。
ステップ213、215終了後は、主制御装置20は、再びステップ201に戻る。
ところで、位置検出装置70は、様々な機器に組み込むことが可能である。例えば、図8(A)に示されるように、位置検出装置70を、ペンなどで文字を記入したり、用紙を掲示したりすることができるフラットパネルを有するボード、すなわち、ライティングボードWBのボード内に組み込むことが可能である。この場合、位置検出装置70のパネルPAがそのまま、ライティングボードWBのフラットパネルとなる。この場合、観察者Pは、ライティングボードWBのフラットパネル上に書かれた(あるいは掲示された)文字や図形などを見つつ、合わせて表示用光束ILによる虚像を視認することができる。HMD50からライティングボードWBに向けて、表示用光束ILが射出されており、ライティングボードWBのフラットパネル内の3つの受光素子P1〜P3において、その表示用光束ILが受光される。そして、それらの受光結果に基づいてHMD50の位置及び向きが検出され、その検出結果に基づいて、虚像の呈示位置が調整される。
また、図8(B)に示されるように、机上に置かれたパーソナルコンピュータPCにも位置検出装置70を組み込むことが可能である。この場合、パーソナルコンピュータPCの表示画面が、位置検出装置70のパネルPAに相当するものとなる。したがって、受光素子P1〜P3は、この表示画面中に組み込まれることになる。
この他、受光素子P1〜P3は、例えば、室内の壁面や、テレビジョン装置や、映写用のスクリーンや、座標を入力することができるパネルを有する装置などに組み込むことが可能である。なお、いずれの場合にも、受光素子P1〜P3を一直線上に配置しないようにする必要がある。
以上詳細に説明したように、本実施形態によれば、観察者Pの頭部に装着されるHMD50の投射光学系52は、虚像を観察者Pに視認させるために発せられた表示用光束ILの一部を、外部に射出する。そして、HMD50の外部に配置された受光素子P1〜P3により、その外部に射出された表示用光束ILの一部を受光する。さらに、座標演算装置76は、その表示用光束ILの受光結果に基づいて、HMD50でその位置及び向きを検出する。その後、主制御装置20が、検出されたHMD50の位置及び向きに応じて虚像の呈示位置を決定する。
すなわち、この画像表示システム100によれば、虚像の表示に用いられる表示用光束ILを用いて、観察者Pの頭部の位置及び向きを検出するので、HMD50に、その位置及び向きを検出するための特別なセンサや、表示用光束ILとは異なる位置検出用光束を発生させるための光源などの新たな構成要素をHMD50に追加して設ける必要がなくなる。この結果、HMD50を大型化、重量化することなく、観察者Pの頭の動きに応じた虚像の呈示位置の調整が可能となる。
また、本実施形態によれば、ハーフミラー56という簡単な構成で、観察者Pの網膜Fに導かれる表示用光束ILの一部を外部に射出するため、HMD50の大型化、重量化を防ぐことができる。
なお、HMD50の投射光学系52の構成は、本実施形態のものには限られない。例えば、図9(A)に示されるように、ハーフミラー56に代えて、複合光学系56’を設けるようにしてもよい。この複合光学系56’は、全体が、ハーフミラーで構成されているが、2次元走査される表示用光束ILが入射される中央付近の領域が、表示用光束ILが透過する領域と、表示用光束ILが反射する領域とに分割されている。
図9(B)には、この2つの領域が示されている。図9(B)に示されるように、表示用光束ILが入射される領域のうち、大部分の領域に対応して、ハーフミラーが設けられている。このハーフミラーに入射された表示用光束ILの一部は、反射して、観察者Pの網膜Fに導かれる。また、このハーフミラーの周辺(+Z側端部)には、表示用光束ILを、ほぼ全て透過させる透過部が設けられている。この透過部に入射した表示用光束ILは、ほぼ全て透過し、ミラー58で反射されて外部に射出され、最終的に、受光素子P1〜P3によって受光される。
表示用光束ILは、2次元走査されているため、この複合光学系56’上でその入射位置が軌跡を描くようになる。そこで、図9(C)に示されるように、1フレームの走査期間のうち、一部の期間では、表示用光束ILを複合光学系56’の透過部に入射するようにし、残りの期間では、表示用光束ILを複合光学系56’のハーフミラーに入射させるようにする。図9(C)では、1本目と2本目の走査線を走査中の表示用光束ILは、透過部に入射されるようになっており、残りの走査線を走査中の表示用光束ILは、ハーフミラーに入射されるようになっている。
この場合、1本目と2本目の走査線を走査中の表示用光束IL(第2の光束)については、観察者Pの網膜Fには導かれないので、これを位置検出のみに利用することができる。コントローラ60の光発生部64は、1本目及び2本目の走査線を走査中の表示用光束ILの強度を強めに設定して射出する。このようにすれば、受光素子P1〜P3において受光される表示用光束ILの光強度を強くすることができるようになるため、HMD50の位置及び向きの検出精度を高めることができるようになる。
また、3本目以降の走査線を走査中の表示用光束IL(第1の光束)については、観察者Pの網膜Fに導かれるので、コントローラ60の光発生部64は、3本目の走査線の走査開始から、射出する表示用光束ILを、映像信号に応じた画像光とする。
すなわち、光発生部64は、映像信号に応じた虚像表示用の表示用光束ILと、位置検出用の表示用光束ILとを、交互に生成して射出する。HMD50では、虚像表示用の表示用光束ILは、複合光学系56’のハーフミラーに入射し、位置検出用の表示用光束ILは、複合光学系56’の透過部に入射するようになっている。このようにすれば、受光素子P1〜P3で受光される表示用光束ILの強度を強くことができるので、HMD50の位置及び向きの検出精度を高めることができるようになる。
なお、複合光学系56’における透過部は、ハーフミラーの−Z側、+Y側、−Y側に設けられていてもよい。
また、透過部は、ハーフミラーの周囲(ハーフミラーの外周の4辺のうち、少なくとも2辺)に、透過領域を配置するようにしてもよい。このようにすれば、投射光学系52から射出される表示用光束ILの照射範囲を拡大することができるようになるため、受光素子P1〜P3が、その表示用光束ILを検出し易くなる。
なお、複合光学系56’には、透過部の代わりに、表示用光束ILがそのまま通過可能な開口部を設けるようにしてもよい。
また、上記実施形態によれば、表示用光束ILを観察者Pの網膜F上で2次元走査するための走査部82を備えている。これにより、表示用光束ILが、観察者の網膜F上で2次元走査されるので、画像情報に応じた表示用光束ILに基づいて、観察者Pに虚像を視認させることができる。
そして、座標演算装置76は、表示用光束ILの走査の同期に用いられる垂直同期信号VD、水平同期信号HDが発生してから受光素子P1〜P3において表示用光束ILが受光されるまでの時間に基づいて、HMD50の位置及び向きを検出する。2次元走査中、表示用光束ILの光路は、絶えず変化し、走査線に対応する軌跡を描くようになり、HMD50に対する表示用光束ILの相対的な射出方向は、その2次元走査の同期に用いられる垂直同期信号VD、水平同期信号HDが入力されてからの時間によって一意的に定まる。したがって、その垂直同期信号VD、水平同期信号HDが発生してから受光素子P1〜P3によって表示用光束ILが受光されるまでの時間を計測すれば、HMD50の位置及び向きを逆算することが可能となる。
また、上記実施形態によれば、受光装置として、一直線上に並ばないように配置された3つの受光素子P1〜P3を用いた。このようにすれば、各受光素子における表示用光束ILの受光結果から、HMD50の位置及び向きを検出することができるようになるからである。
また、受光素子の数は、3つには限定されず、3つ以上あってもよい。受光素子の数は多ければ多いほど、また、受光素子の配置領域は広ければ広いほど、表示用光束ILが受光される確率は向上するようになる。また、2次元CCD(電荷結合素子)のような、撮像素子を受光装置として用いるようにしてもよい。このような撮像素子を用いると、その撮像結果は、表示用光束ILの入射位置の軌跡に従った光強度分布として取得されるようになる。したがって、受光装置として、撮像素子を採用した場合には、その撮像結果に対して画像処理を行い、表示用光束ILの入射位置の軌跡を抽出し、その軌跡に基づいて、上記実施形態と同様な座標演算を施して、HMD50の位置座標を、求めるようにすればよい。
また、上記実施形態によれば、表示用光束ILを観察者Pの眼前方向と略同一方向に射出する。このようにすれば、受光素子P1〜P3を、観察者Pの眼前に配置することができるようになる。
なお、HMD50から射出される表示用光束ILが拡散してその強度が低下し、受光素子P1〜P3で表示用光束ILの受光が困難である場合には、表示用光束ILを、凸レンズ等を用いてある程度収束した状態で、射出するようにしてもよい。このように、射出される表示用光束ILは、受光素子P1〜P3で検出可能となるような十分な強度を有するものである必要がある(少なくとも、周囲の照度よりも明るい光であることが必要である)。
また、上記実施形態によれば、その受光素子P1〜P3は、観察者Pが実像として視認する観察対象が表示されたフラットパネルとしてのパネルPA(すなわち、図8(A)のライティングボードWBや、図8(B)のパーソナルコンピュータPC)上に配置される。このようにすれば、受光素子P1〜P3が、観察者Pの観察対象が表示されたフラットパネル上に組み込まれるようになるので、観察者Pに実像と虚像とを同時に視認させるためのシステム全体をコンパクトなものとすることができる。
なお、上記実施形態のように、必ずしも、表示用光束ILを、観察者Pの目線方向に出力する必要はなく、投射光学系52内にミラー58を設けずに、表示用光束ILを、+X方向にそのまま射出するようにしてもよい。また、ミラー58の向きを変えて、+Z、又は−Z方向に、表示用光束ILを射出するようにしてもよい。これらいずれの場合にも、表示用光束ILが射出される方向に受光装置を配置する必要があるのは勿論である。また、HMD50から外部に射出された表示用光束ILは拡散するので、その像が、パネルPAに投射され浮かび上がるような可能性は極めて低いが、その像がパネルPA上に投影されてしまうような場合には、表示用光束ILを、観察者Pの視野外に向けて射出するのが望ましい。
また、図10に示されるように、ミラー58の代わりに、ハーフミラー58’、59’を置き、表示用光束ILをX、Y、Z軸方向の3軸方向に出力するようにしてもよい。このように、表示用光束ILを少なくとも2方向に射出することも可能であり、各方向で、HMD50の位置及び向きを検出し、それらの検出結果を総合して(例えば、平均化して)、HMD50の位置及び向きを求めるようにしてもよい。このようにすれば、HMD50の位置及び向きの検出精度を高めることができるうえ、いずれかの方向に射出される表示用光束ILが、受光装置で受光されずに、HMD50の位置及び向きを検出することができなくても、他の方向に射出される表示用光束ILが、受光装置で受光され、HMD50の位置及び向きを検出することができる場合もあるため、表示用光束ILが受光装置で受光される可能性を高めることができる。
また、図3のミラー84における表示用光束ILの入射面に、表示用光束ILを全反射させる反射面の他に、表示用光束ILを通過若しくは透過させる面を設け、さらに、HMD50の+Y側の筐体面に開口部を設け、表示用光束ILを+Y方向に射出するようにしてもよい。
なお、上記実施形態では、HMD50の位置及び向きを検出し、虚像の呈示位置を補正したが、観察者Pの頭部の動きによっては、観察者Pの眼と実像との距離が変化する場合もある。上記実施形態に係る画像表示システムでは、この変化に合わせて、虚像の呈示位置と、観察者Pとの距離も変更することも可能である。この場合には、主制御装置20は、映像信号供給回路62に対し、走査部82の波面変調部に出力される奥行信号を補正するように指示すればよい。
また、上記実施形態では、図6のステップ215又は図7(C)に示されるように、観察者Pの視野が、虚像を表示すべき領域からはずれた場合、すなわち受光素子P1〜P3のいずれかで表示用光束ILを受光することができなかった場合には、虚像の表示を停止したが、虚像の表示を停止しなくてもよく、虚像の呈示位置をそれまで表示されていた位置に固定するようにしてもよい。
例えば、前回のフレームの2次元走査期間において、受光素子P1〜P3すべてで表示用光束ILが受光され、その受光結果に基づいて虚像の呈示位置が補正され、ある位置で虚像が呈示されていたとする。そして、今回のフレームの走査期間では、1つの受光素子で、表示用光束ILを受光することができなかった場合には、前回呈示された位置に、虚像を呈示するようにしてもよい。
また、図6の上記ステップ215では、ステップ211で実行される映像信号の補正を行わずに、そのまま表示するようにしてもよい。この場合、表示画面上に、映像補正無し(補正範囲外)である旨の通知を、文字やアイコンなどを映像信号に基づく画像に挿入して、観察者Pに視認させるようにしてもよい。
また、受光素子が、4つ以上であった場合には、そのうちの少なくとも3つの受光素子で表示用光束ILが受光された場合には、HMD50の位置及び向きを求め、その位置及び向きに基づいて虚像の呈示位置を補正するようにしてもよいし、虚像の呈示位置を前回のフレームの走査期間での位置に維持するようにしてもよいし、虚像の表示を停止するようにしてもよいし、虚像の提示位置の補正を行わないようにしてもよい。虚像を表示するか否か、その呈示位置を補正するか否かは、観察者Pの視野と、各受光素子の配置状態とのバランスを考慮して決定すればよい。
また、座標演算装置76は、コントローラ60側にあってもよい。この場合には、受光素子P1〜P3からの受光パルス信号が、無線によってコントローラ60に送られるようにすればよく、垂直同期信号VDや水平同期信号HDを、位置検出装置70に送る必要がなくなるため、システム全体を簡素化することが可能となる。コントローラ60の主制御装置20は、HMD50の位置情報に応じて画像処理(図6のステップ211)を行っているが、主制御装置20が、その画像処理に先立って、座標演算を行うようにすればよい。このように、座標演算を、受光側で行うか、コントローラ60側で行うかは、それらの情報処理能力、通信能力などに応じて決定するようにすればよい。
また、本実施形態では、受光素子P1〜P3すべてで表示用光束ILが受光されるか否かで処理を切り替えるなどしているが、各受光素子毎の位置検出結果は、その受光素子で検出できなかったことも考慮してHMD50の位置算出を行う様にしてもよい。また、受光素子は、3個以上であるのが望ましいが、2個以下であってもよく、それでも、HMD50の概略位置を検出することは可能である。また、本実施形態では、HMD50から受光素子P1〜P3までの距離l1、l2、l3を算出しているが、距離l1、l2、l3を算出しなくても、同期信号によって受光素子P1〜P3に対するHMD50の向きは概算できるため、この概算された向きを利用して画像の補正を行ってもよい。
また、コントローラ60と、位置検出装置70との間のデータ送受信は、無線でなく、有線で行われるようにしてもよい。
また、上記実施形態のHMD50は、左眼用であったが、右眼用、左右兼用、両眼用であってもよいのは勿論である。
なお、上記実施形態に係る画像表示装置は、網膜走査型であったが、本発明は、液晶パネル式の画像表示装置にも適用することができる。