(57)【要約】【課題】  仮想空間画像と現実空間画像とを合成する場合に、互いの画像における視点のずれを軽減させる為の技術を提供すること。更に、係る合成に要する時間をより短くするための技術を提供すること。【解決手段】  視点情報演算部７１０は、基準位置姿勢情報とカメラ視点記憶部２０７が保持する位置姿勢情報の差分値α、基準位置姿勢情報とＣＧ視点記憶部２０８が保持する位置姿勢情報の差分値βを求める。｜α｜≧｜β｜の場合、現実空間画像を、表示部２１３の解像度と差分量とカメラ２０３の画角とに応じて計算されるずれ量だけずらしてから仮想空間画像と合成する。｜α｜＜｜β｜の場合、仮想空間画像を上記ずれ量だけずらしてから現実空間画像と合成する。【選択図】  図８
2008299669.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得手段と、
前記取得手段が取得した位置姿勢情報を、外部のコンピュータに送信する送信手段と、
前記送信手段が送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信手段と、
前記表示装置の表示タイミングで前記第１のメモリが保持している位置姿勢情報と、当該表示タイミングで前記第２のメモリが保持している位置姿勢情報とで、姿勢成分の差分量を求める計算手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める手段と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と、を合成する合成手段とを備え、
前記合成手段は、
合成する仮想空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
合成する現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
のうち、前記第１の差分値と前記第２の差分値との大小関係に応じて決まる合成処理を行うことを特徴とする頭部装着型表示装置。
【請求項２】
前記合成手段は、
前記第１の差分値の絶対値が前記第２の差分値の絶対値以上である場合には、合成する現実空間画像をずらし、
前記第１の差分値の絶対値が前記第２の差分値の絶対値未満である場合には、合成する仮想空間画像をずらすことを特徴とする請求項１に記載の頭部装着型表示装置。
【請求項３】
前記合成手段は、
前記表示装置の解像度をＭ、前記差分量をΔθｘ、前記撮像装置の画角をＣｘとすると、前記ずれ量ＰをＰ＝Ｍ×Δθｘ／Ｃｘとして求め、求めたずれ量Ｐだけ現実空間画像、若しくは仮想空間画像をずらすことを特徴とする請求項２に記載の頭部装着型表示装置。
【請求項４】
撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得手段と、
前記取得手段が取得した位置姿勢情報を、外部のコンピュータに送信する送信手段と、
前記送信手段が送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める手段と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第１の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と合成する手段と、
前記表示装置の表示タイミングで前記第２のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第２の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と合成する手段と
を備えることを特徴とする頭部装着型表示装置。
【請求項５】
撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置の制御方法であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得工程と、
前記取得工程で取得した位置姿勢情報を、外部のコンピュータに送信する送信工程と、
前記送信工程で送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信工程と、
前記表示装置の表示タイミングで前記第１のメモリが保持している位置姿勢情報と、当該表示タイミングで前記第２のメモリが保持している位置姿勢情報とで、姿勢成分の差分量を求める計算工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める工程と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と、を合成する合成工程とを備え、
前記合成工程では、
合成する仮想空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
合成する現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
のうち、前記第１の差分値と前記第２の差分値との大小関係に応じて決まる合成処理を行うことを特徴とする頭部装着型表示装置の制御方法。
【請求項６】
撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置の制御方法であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得工程と、
前記取得工程で取得した位置姿勢情報を、外部のコンピュータに送信する送信工程と、
前記送信工程で送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める工程と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第１の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と合成する工程と、
前記表示装置の表示タイミングで前記第２のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第２の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と合成する工程と
を備えることを特徴とする頭部装着型表示装置の制御方法。
【請求項７】
撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置であって、
前記撮像装置が撮像した現実空間画像を取得する第１の取得手段と、
前記現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得する第２の取得手段と、
前記第２の取得手段が取得した位置姿勢情報を、外部のコンピュータに送信する送信手段と、
前記送信手段が送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信する受信手段と、
前記受信手段が受信した位置姿勢情報と、当該受信の時点で前記第２の取得手段が取得した位置姿勢情報とで、姿勢成分の差分量を求める計算手段と、
前記受信手段が受信した仮想空間画像を前記時点で前記第１の取得手段が取得した現実空間画像上に合成する場合に、当該仮想空間画像の合成位置を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらして当該現実空間画像上に合成する合成手段と、
前記合成手段による合成画像を前記表示装置に対して出力する出力手段と
を備えることを特徴とする頭部装着型表示装置。
【請求項８】
前記合成手段は、
前記表示装置の解像度をＭ、前記差分量をΔθｘ、前記撮像装置の画角をＣｘとすると、前記ずれ量ＰをＰ＝Ｍ×Δθｘ／Ｃｘとして求め、求めたずれ量Ｐだけ仮想空間画像をずらすことを特徴とする請求項７に記載の頭部装着型表示装置。
【請求項９】
撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置の制御方法であって、
前記撮像装置が撮像した現実空間画像を取得する第１の取得工程と、
前記現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得する第２の取得工程と、
前記第２の取得工程で取得した位置姿勢情報を、外部のコンピュータに送信する送信工程と、
前記送信工程で送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信する受信工程と、
前記受信工程で受信した位置姿勢情報と、当該受信の時点で前記第２の取得工程で取得した位置姿勢情報とで、姿勢成分の差分量を求める計算工程と、
前記受信工程で受信した仮想空間画像を前記時点で前記第１の取得工程で取得した現実空間画像上に合成する場合に、当該仮想空間画像の合成位置を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらして当該現実空間画像上に合成する合成工程と、
前記合成工程による合成画像を前記表示装置に対して出力する出力工程と
を備えることを特徴とする頭部装着型表示装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間画像と仮想空間画像とを合成する技術に関するものである。
【背景技術】
【０００２】
近年、ＭＲ（Mixed reality）技術が盛んに研究されている（特許文献１を参照）。ＭＲ技術とは、以下のようなものである。即ち、観察者の頭部に装着されたカメラによって撮像された現実空間画像の上に、この撮像時における観察者の視点の位置姿勢を示す視点情報に基づいて生成される仮想空間画像（ＣＧ：Computer Graphics）を合成した合成画像を生成する。そしてこの合成画像を、観察者の頭部に装着された表示装置に表示する。
【０００３】
また、係る合成時における処理として、次のようなものが提案されている。即ち、ＣＧの作成に要する時間を予測し、予測した時間が経過する間に観察者の頭（視点）が移動する量を予測し、予測した量だけ移動した視点に基づいてＣＧを生成し、現実空間画像と合成するものがある（特許文献２を参照）。
【特許文献１】特開平０７-３１１８５７号公報
【特許文献２】特開２００４-１０９９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、現実空間画像と、この現実空間画像の撮像時における視点情報に基づいて生成したＣＧとを合成して表示する方法では、次のような問題がある。
【０００５】
現実空間画像とＣＧとの合成画像を生成し、表示するまでには、現実空間画像の撮像、ＣＧの生成、現実空間画像とＣＧとの合成、といった一連の処理が必要となるので、当然ながら、現実空間画像の撮像時から遅れて合成画像が表示されることになる。特に、視点の動きが早い場合には、係る遅れは目立ってしまう。
【０００６】
また、観察者の視点の動きの変化を予測して予めＣＧを作成し、現実空間画像に合成する方法では、ＣＧ作成処理に起因する遅れは軽減されるものの、ＣＧにおける視点と現実空間画像における視点との間に誤差が生じてしまう。その結果、この現実空間画像とＣＧとを合成した合成画像を観察する観察者に対して、ＣＧについての違和感を与えてしまうことになる。
【０００７】
本発明は以上の問題に鑑みてなされたものであり、仮想空間画像と現実空間画像とを合成する場合に、互いの画像における視点のずれを軽減させる為の技術を提供することを目的とする。更に本発明は、係る合成に要する時間をより短くするための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的を達成するために、本発明の頭部装着型表示装置は以下の構成を備える。
【０００９】
即ち、撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得手段と、
前記取得手段が取得した位置姿勢情報を、外部のコンピュータに送信する送信手段と、
前記送信手段が送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信手段と、
前記表示装置の表示タイミングで前記第１のメモリが保持している位置姿勢情報と、当該表示タイミングで前記第２のメモリが保持している位置姿勢情報とで、姿勢成分の差分量を求める計算手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める手段と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と、を合成する合成手段とを備え、
前記合成手段は、
合成する仮想空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
合成する現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
のうち、前記第１の差分値と前記第２の差分値との大小関係に応じて決まる合成処理を行うことを特徴とする。
【００１０】
本発明の目的を達成するために、本発明の頭部装着型表示装置は以下の構成を備える。
【００１１】
即ち、撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得手段と、
前記取得手段が取得した位置姿勢情報を、外部のコンピュータに送信する送信手段と、
前記送信手段が送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める手段と、
前記表示装置の表示タイミングの近傍で前記取得手段が取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める手段と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第１の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と合成する手段と、
前記表示装置の表示タイミングで前記第２のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第２の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と合成する手段と
を備えることを特徴とする。
【００１２】
本発明の目的を達成するために、本発明の頭部装着型表示装置の制御方法は以下の構成を備える。
【００１３】
即ち、撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置の制御方法であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得工程と、
前記取得工程で取得した位置姿勢情報を、外部のコンピュータに送信する送信工程と、
前記送信工程で送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信工程と、
前記表示装置の表示タイミングで前記第１のメモリが保持している位置姿勢情報と、当該表示タイミングで前記第２のメモリが保持している位置姿勢情報とで、姿勢成分の差分量を求める計算工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める工程と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と、を合成する合成工程とを備え、
前記合成工程では、
合成する仮想空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
合成する現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから合成する合成処理、
のうち、前記第１の差分値と前記第２の差分値との大小関係に応じて決まる合成処理を行うことを特徴とする。
【００１４】
本発明の目的を達成するために、本発明の頭部装着型表示装置の制御方法は以下の構成を備える。
【００１５】
即ち、撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置の制御方法であって、
前記撮像装置が撮像した現実空間画像を受信する毎に、受信した現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得し、当該現実空間画像と共に第１のメモリに記録する取得工程と、
前記取得工程で取得した位置姿勢情報を、外部のコンピュータに送信する送信工程と、
前記送信工程で送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信し、第２のメモリに記録する受信工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第１のメモリが保持する位置姿勢情報と、の第１の差分値を求める工程と、
前記表示装置の表示タイミングの近傍で前記取得工程で取得した位置姿勢情報と、前記第２のメモリが保持する位置姿勢情報と、の第２の差分値を求める工程と、
前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第１の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第２のメモリが保持している仮想空間画像と合成する工程と、
前記表示装置の表示タイミングで前記第２のメモリが保持している現実空間画像を、前記表示装置の解像度を示す解像度情報と、前記第２の差分値と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらしてから、前記表示装置の表示タイミングで前記第１のメモリが保持している現実空間画像と合成する工程と
を備えることを特徴とする。
【００１６】
本発明の目的を達成するために、本発明の頭部装着型表示装置は以下の構成を備える。
【００１７】
即ち、撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置であって、
前記撮像装置が撮像した現実空間画像を取得する第１の取得手段と、
前記現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得する第２の取得手段と、
前記第２の取得手段が取得した位置姿勢情報を、外部のコンピュータに送信する送信手段と、
前記送信手段が送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信する受信手段と、
前記受信手段が受信した位置姿勢情報と、当該受信の時点で前記第２の取得手段が取得した位置姿勢情報とで、姿勢成分の差分量を求める計算手段と、
前記受信手段が受信した仮想空間画像を前記時点で前記第１の取得手段が取得した現実空間画像上に合成する場合に、当該仮想空間画像の合成位置を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらして当該現実空間画像上に合成する合成手段と、
前記合成手段による合成画像を前記表示装置に対して出力する出力手段と
を備えることを特徴とする。
【００１８】
本発明の目的を達成するために、本発明の頭部装着型表示装置の制御方法は以下の構成を備える。
【００１９】
即ち、撮像装置と、表示装置と、位置姿勢センサと、を有する頭部装着型表示装置の制御方法であって、
前記撮像装置が撮像した現実空間画像を取得する第１の取得工程と、
前記現実空間画像の撮像時に前記位置姿勢センサが計測した位置姿勢を示す位置姿勢情報を取得する第２の取得工程と、
前記第２の取得工程で取得した位置姿勢情報を、外部のコンピュータに送信する送信工程と、
前記送信工程で送信した位置姿勢情報と、当該位置姿勢情報に基づいて前記コンピュータが生成した仮想空間画像とを、前記コンピュータから受信する受信工程と、
前記受信工程で受信した位置姿勢情報と、当該受信の時点で前記第２の取得工程で取得した位置姿勢情報とで、姿勢成分の差分量を求める計算工程と、
前記受信工程で受信した仮想空間画像を前記時点で前記第１の取得工程で取得した現実空間画像上に合成する場合に、当該仮想空間画像の合成位置を、前記表示装置の解像度を示す解像度情報と、前記差分量と、前記撮像装置の画角を示す画角情報と、に応じて計算されるずれ量だけずらして当該現実空間画像上に合成する合成工程と、
前記合成工程による合成画像を前記表示装置に対して出力する出力工程と
を備えることを特徴とする。
【発明の効果】
【００２０】
本発明の構成によれば、仮想空間画像と現実空間画像とを合成する場合に、互いの画像における視点のずれを軽減させることができる。更に、係る合成に要する時間をより短くすることができる。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。
【００２２】
［第１の実施形態］
図１は、本実施形態に係る頭部装着型表示装置（ＨＭＤ）を適用したシステムの外観例を示す図である。図１に示す如く、本実施形態に係るシステムは、ＨＭＤ１０１とＰＣ（パーソナルコンピュータ）１０２とで構成されており、ＨＭＤ１０１とＰＣ１０２とはケーブル１０３を介して接続されている。もちろん、ＨＭＤ１０１とＰＣ１０２との間の接続方法については特に限定するものではなく、有線、無線の何れでも良い。
【００２３】
先ず、ＨＭＤ１０１について説明する。ＨＭＤ１０１は周知の如く、観察者の頭部に装着するものである。
【００２４】
１０５は、自身の位置姿勢を計測する位置姿勢センサ１０５である。位置姿勢センサ１０５に適用可能なセンサについては光学式センサや機械式センサ、超音波センサなど、様々なものが考えられる。本実施形態では位置姿勢センサ１０５として磁気センサを用いる。この場合、位置姿勢センサ１０５は次のように動作する。
【００２５】
現実空間中の予め定めた位置には磁気発信源（不図示）を設置する。位置姿勢センサ１０５は、係る磁気発信源が発する磁界中において自身の位置姿勢に応じた磁気を検知する。検知した結果を示す信号は不図示のセンサコントローラに送出され、係るセンサコントローラは、この信号に基づいて、センサ座標系における位置姿勢センサ１０５の位置姿勢を算出する。センサ座標系とは、磁気発信源の位置を原点とし、係る原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系のことである。そしてセンサコントローラはこの算出した位置姿勢を示す位置姿勢情報をＰＣ１０２に送出する。なお、世界座標系とセンサ座標系とが一致している場合には、位置姿勢センサ１０５が計測した位置姿勢は世界座標系のものとなる。世界座標系とは、現実空間中の予め定められた位置を原点とし、係る原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系のことである。一方、一致していない場合には、センサ座標系と世界座標系との位置姿勢関係を予め測定しておき、位置姿勢センサ１０５が計測した位置姿勢をこの位置姿勢関係でもって変換したものを、世界座標系における位置姿勢として用いる。なお、世界座標系における位置姿勢センサ１０５の位置姿勢を取得するための技術については様々なものがあり、これについては説明を省略する。本実施形態では説明を簡単にする為に、センサ座標系と世界座標系とは一致しており、位置姿勢センサ１０５が計測する位置姿勢は、世界座標系におけるものであるとして説明する。
【００２６】
また、ジャイロセンサや加速度センサの出力値を積分することで位置姿勢を求めたり、後述する撮像装置が撮像した現実空間画像から位置姿勢を求めたりしてもよい。さらには、これらを組み合わせてもよいことは言うまでもない。
【００２７】
ＨＭＤ１０１の内部には、ＨＭＤ１０１を頭部に装着する観察者の右目に提供する現実空間の画像を撮像するための撮像装置、左目に提供する現実空間の画像を撮像するための撮像装置が設けられている。係る撮像装置は何れも、現実空間の画像（動画像）を撮像するビデオカメラである。そして、それぞれの撮像装置は撮像窓１０４を介して現実空間を撮像する。なお、撮像装置は右目用、左目用の２台としているが、１台の撮像装置を右目、左目で共有して使用しても良い。
【００２８】
また、ＨＭＤ１０１の内部には、ＨＭＤ１０１を頭部に装着する観察者の右目に対して画像を提供するための表示装置、左目に対して画像を提供するための表示装置が設けられている。なお、表示装置は右目用、左目用の２台としているが、１台の表示装置を右目、左目で共有して使用しても良い。
【００２９】
次に、ＨＭＤ１０１のより詳細な構成について説明する。図８は、本実施形態に係るＨＭＤ１０１の機能構成を示すブロック図である。なお、図８において図１と同じ部分については同じ番号を付けており、その説明は省略する。
【００３０】
図８においてＨＭＤ１０１を構成する各部のうち、位置姿勢センサ１０５を除く他の各部は、ＨＭＤ１０１を頭部に装着する観察者の右目、左目のそれぞれに対して設けられるものである。従って、図８では、一方の目に対するＨＭＤ１０１の構成のみを示しているが、他方の目に対しても同様の構成がＨＭＤ１０１内に設けられており、その各部は以下説明する動作を行うものとする。
【００３１】
視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を示す位置姿勢情報を受け、これをそのまま外部のＰＣ１０２に転送する。なお、世界座標系とセンサ座標系とが一致していない場合には、視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を、センサ座標系と世界座標系との位置姿勢関係でもって変換した位置姿勢情報を求める。そしてこの求めた位置姿勢情報をＰＣ１０２に送出する。
【００３２】
ＰＣ１０２は、視点情報検出部２０２から位置姿勢情報を受けると、この位置姿勢情報が示す位置姿勢に、予め求めた位置姿勢センサ１０５とカメラ２０３との位置姿勢関係を加える。これにより、カメラ２０３（視点）の位置姿勢を示す位置姿勢情報を求めることができる。そして、カメラ２０３の位置姿勢を有する視点を、仮想空間中に設定する。なお、係る仮想空間の座標系は、世界座標系に一致しているものとする。また、係る仮想空間は、１以上の仮想物体でもって構成されているものとする。従って、ＰＣ１０２は、この設定した視点から見える仮想空間の画像（ＣＧ、仮想空間画像）を生成する。なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成するための処理については周知であるので、これについての説明は省略する。そしてＰＣ１０２は、この生成したＣＧのデータと共に、このＣＧを生成するために視点情報検出部２０２から受けた位置姿勢情報をＨＭＤ１０１に返信する。
【００３３】
ＨＭＤ１０１に送信されたＣＧのデータはＣＧバッファ２０９（第２のメモリ）に格納され、ＨＭＤ１０１に返信された位置姿勢情報はＣＧ視点記憶部２０８（第２のメモリ）に格納される。なお、ＣＧバッファ２０９とＣＧ視点記憶部２０８とは１つのメモリで構成しても良い。何れにせよ、ＣＧのデータと共に、このＣＧを生成するために視点情報検出部２０２から受けた位置姿勢情報をそれぞれ関連付けて保持する。
【００３４】
一方、カメラ２０３が撮像した各フレームの画像（現実空間画像）は順次、後段のカメラ視点記憶部２０７（第１のメモリ）、カメラ画像処理部２０４に送出される。
【００３５】
カメラ視点記憶部２０７は、カメラ２０３から現実空間画像を受信すると、係る受信タイミングに最も近いタイミングで視点情報検出部２０２から受信した位置姿勢情報とセットにして保持する。
【００３６】
カメラ画像処理部２０４は、カメラ２０３から受けた現実空間画像に対して周知の各種の補正処理を行う。そして補正後の現実空間画像を、後段のカメラ画像位置修正部７１４に送出する。
【００３７】
視点情報演算部７１０は、ＣＧバッファ２０９に格納されたＣＧとカメラ画像処理部２０４から出力された現実空間画像とを合成する場合に、このＣＧ若しくは現実空間画像の何れをどれだけずらして合成するのかを決定する「ずれ量」を後述する処理で求める。
【００３８】
ＣＧ画像位置修正部２１１は、ＣＧバッファ２０９に格納されたＣＧを、視点情報演算部７１０から受けたずれ量だけずらし、処理後のＣＧを後段の合成処理部７０５に送出する。
【００３９】
カメラ画像位置修正部７１４は、カメラ画像処理部２０４から受けた現実空間画像を、視点情報演算部７１０から受けたずれ量だけずらし、処理後の現実空間画像を後段の合成処理部７０５に送出する。
【００４０】
合成処理部７０５は、ＣＧ画像位置修正部２１１から送出されたＣＧと、カメラ画像位置修正部７１４から送出された現実空間画像との合成処理を行う。係る合成処理では、このＣＧ若しくはこの現実空間画像の合成位置が、本来の合成位置から、視点情報演算部７１０が求めたずれ量だけずらした位置となっている。係る合成により生成される合成画像は、表示バッファ２１２上に描画される。
【００４１】
そして表示バッファ２１２に描画された合成画像は、表示部（表示装置）２１３に表示される。
【００４２】
ここで、ＨＭＤ１０１を頭部に装着した観察者の頭部の動きに応じた、現実空間画像とＣＧとのずれについて、図３〜５Ｃを用いて説明する。
【００４３】
図３は、ＨＭＤ１０１を頭部に装着している観察者の頭部３０１を真上から見た場合の図である。図３では観察者の頭部３０１は、図中の矢印Ａで示す如く、左右に振っている。ＨＭＤ１０１は観察者の頭部３０１に固定されているので、観察者の頭部３０１を左右に振れば、ＨＭＤ１０１（ＨＭＤ１０１に備わっている各部も同様）もまた左右に振られることになる。
【００４４】
図４は、位置姿勢センサ１０５から順次得られる姿勢情報（水平面内における角度）θｘを縦軸にとり、横軸には姿勢情報の取得時刻をとった場合のグラフの例を示す図である。観察者の頭部３０１を図３に示す如く、左右に振った場合、時間の増加と共に、頭部３０１の水平面内の角度の軌跡は略正弦波となる。
【００４５】
時刻ｔ１は、ＰＣ１０２が視点情報検出部２０２から受けた位置姿勢情報に基づいて、カメラ２０３（ＣＧ用視点）の位置姿勢を求めたタイミングを示している。時刻ｔ１では４０１で示す如く、ＣＧ用視点の位置姿勢が求まっている。
【００４６】
時刻ｔ２は、ＰＣ１０２からＣＧバッファ２０９にＣＧのデータが格納されたタイミングを示しており、時刻ｔ１と時刻ｔ２との差は、このＣＧの作成に要した時間にほぼ同じである。時刻ｔ２では４０２で示す如く、時刻ｔ２において位置姿勢センサ１０５が計測した位置姿勢、即ちカメラ用視点の位置姿勢が求まっている。
【００４７】
時刻ｔ３は、合成画像の表示タイミングを示しており、時刻ｔ２と時刻ｔ３との差は、カメラ画像処理に要する時間、及び現実空間画像とＣＧとの合成に要した時間にほぼ同じである。時刻ｔ３では４０３で示す如く、時刻ｔ３において位置姿勢センサ１０５が計測した位置姿勢、即ち現在視点の位置姿勢が求まっている。
【００４８】
このように、合成画像を生成するまでには時間がかかるので、ＣＧを生成するために用いたＣＧ用視点の位置姿勢と、生成したＣＧと合成する現実空間画像を撮像したカメラ２０３の位置姿勢とでは異なったものとなってしなう。
【００４９】
このことは、観察者の頭部３０１を垂直方向に上下に振った場合であっても同じであるし、振る方向が如何なる方向であっても実質的には同じである。
【００５０】
次に、観察者の頭部３０１の動きが、ＣＧと現実空間画像との合成画像に与える影響について図５Ａ〜５Ｃを用いて説明する。
【００５１】
図５Ａは、観察者の頭部３０１を水平方向に時計回りに振った場合における、合成画像について説明する図である。
【００５２】
図５Ａ（ａ）は、ＨＭＤ１０１を頭部に装着している観察者の頭部３０１を真上から見た場合の図で、観察者の頭部３０１は、図中の矢印Ａで示す如く、水平面内において時計回りに振っている。
【００５３】
図５Ａ（ｂ）は、このような場合に、生成される合成画像の例を示す図で、５０１ａは合成画像、５０１ｂ、５０１ｄは現実空間画像内の現実物体、５０１ｃはＣＧとしての仮想物体を示す。そして仮想物体５０１ｃは現実物体５０１ｄと重ねて表示するものとする。従って、頭部３０１が静止している状態では、仮想物体５０１ｃは現実物体５０１ｄに重なって表示されている。しかし、図５Ａ（ａ）に示したように頭部３０１を時計回りに回転させると、仮想物体５０１ｃの画像を完成させた時点でのカメラ２０３の姿勢は、この仮想物体５０１ｃを生成するために用いたカメラ２０３の姿勢よりも時計回りに回転している。従って、図５Ａ（ｂ）に示す如く、仮想物体５０１ｃは現実物体５０１ｄよりも右側にずれた位置に合成されている。
【００５４】
図５Ｂは、観察者の頭部３０１を垂直方向に上下に振った場合における、合成画像について説明する図である。
【００５５】
図５Ｂ（ａ）は、ＨＭＤ１０１を頭部に装着している観察者の頭部３０１を真横から見た場合の図で、観察者の頭部３０１は、図中の矢印Ｂで示す如く、垂直方向に下から上に振っている。
【００５６】
図５Ｂ（ｂ）は、このような場合に、生成される合成画像の例を示す図で、５０２ａは合成画像、５０２ｂ、５０２ｄは現実空間画像内の現実物体、５０２ｃはＣＧとしての仮想物体を示す。そして仮想物体５０２ｃは現実物体５０２ｄと重ねて表示するものとする。従って、頭部３０１が静止している状態では、仮想物体５０２ｃは現実物体５０２ｄに重なって表示されている。しかし、図５Ｂ（ａ）に示したように頭部３０１を下から上に回転させると、仮想物体５０２ｃの画像を完成させた時点でのカメラ２０３の姿勢は、この仮想物体５０２ｃを生成するために用いたカメラ２０３の姿勢よりも上に回転している。従って、図５Ｂ（ｂ）に示す如く、仮想物体５０２ｃは現実物体５０２ｄよりも上側にずれた位置に合成されている。
【００５７】
図５Ｃは、観察者の頭部３０１を顔の正面を軸としてロール方向（時計方向）に回転（傾げる）させた場合における、合成画像について説明する図である。
【００５８】
図５Ｃ（ａ）は、ＨＭＤ１０１を頭部に装着している観察者の頭部３０１を真正面から見た場合の図で、観察者の頭部３０１は、図中の矢印Ｃで示す如く、顔の正面を軸としてロール方向（時計方向）に回転（傾げる）させている。
【００５９】
図５Ｃ（ｂ）は、このような場合に、生成される合成画像の例を示す図で、５０３ａは合成画像、５０３ｂ、５０３ｄは現実空間画像内の現実物体、５０３ｃはＣＧとしての仮想物体を示す。そして仮想物体５０３ｃは現実物体５０３ｄと重ねて表示するものとする。従って、頭部３０１が静止している状態では、仮想物体５０３ｃは現実物体５０３ｄに重なって表示されている。しかし図５Ｃ（ａ）に示したように頭部３０１を顔の正面を軸としてロール方向に回転させると、仮想物体５０３ｃの画像を完成させた時点でのカメラ２０３の姿勢は、仮想物体５０３ｃを生成する為に用いたカメラ２０３の姿勢よりも時計回りに回転している。従って、図５Ｃ（ｂ）に示す如く、仮想物体５０３ｃは現実物体５０３ｄよりも１つ前の回転位置に合成されている。
【００６０】
次に、このようにして生じたＣＧのずれを修正する為の処理について、図６を用いて説明する。図６は、頭部３０１の動きに起因して生じる現実空間画像上におけるＣＧの合成位置のずれを解消するための処理を説明する図である。なお、図６を用いた説明では、頭部３０１が水平面内で姿勢を変化させた場合について説明する。
【００６１】
図６においてＣｘはカメラ２０３の水平方向に対する画角を示す画角情報である。また、表示部２１３の水平方向に対する画素数Ｍ（解像度情報）を１２８０画素とする。またΔθｘは、表示タイミングの近傍でＣＧ視点記憶部２０８が保持している位置姿勢情報（第１位置姿勢情報）と、表示タイミングの近傍でカメラ視点記憶部２０７が保持している位置姿勢情報（第２位置姿勢情報）とで水平方向に対する姿勢成分のずれを示す。より詳細には、Δθｘは、第２位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分から、第１位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分を差し引いた残り（差分量）を示す。
【００６２】
そして、表示部２１３の表示タイミングの近傍でカメラ画像処理部２０４から送出された現実空間画像上に、表示部２１３の表示タイミングの近傍でＣＧバッファ２０９が保持しているＣＧを合成する場合に、合成位置のずれ量Ｐを以下の式に基づいて決定する。
【００６３】
Ｐ＝Ｍ×Δθｘ／Ｃｘ
ここで、Δθｘが１°である場合を例に取る。そして、カメラ２０３の画角Ｃｘが６０°、表示部２１３の水平方向に対する画素数Ｍが１２８０画素である場合、Ｐ＝（１/６０）ｘ１２８０≒２１３となる。従って、約２１３画素分だけＣＧを左にずらして現実空間画像上に合成するか、約２１３画素分だけ右にずらした現実空間画像の上にＣＧを合成する（時計回りに姿勢成分値が増加する場合）。なお、Δθｘが負の値の場合には、Ｐも負の値となる。この場合、ＣＧを右側に｜Ｐ｜画素だけずらすか、現実空間画像を左側に｜Ｐ｜画素だけずらせばよい。
【００６４】
なお、頭部３０１が水平方向以外の方向（例えば、水平方向及び垂直方向、垂直方向のみ）にも動いた場合、各方向に独立して以上説明した処理を行えばよい。例えば、垂直方向の場合、Ｐが正の値であれば、Ｐ画素だけＣＧを下側にずらせばよいし、Ｐが負の値であれば、｜Ｐ｜画素だけＣＧを上側にずらせばよい（上向きに姿勢成分値が増加する場合）。これは、現実空間画像についても同様である。
【００６５】
以上説明したずれ量を求める処理は、視点情報演算部７１０によって行われる。ここで、本実施形態では、ＣＧ、現実空間画像の両方をずらすのではなく、何れかをずらすのであるが、何れをずらすのかについては、次のようにして決定する。なお、係る決定は、視点情報演算部７１０が行う。
【００６６】
視点情報演算部７１０は、表示部２１３の表示タイミングの近傍で視点情報検出部２０２から位置姿勢情報（基準位置姿勢情報）を受けると、この時点でカメラ視点記憶部２０７が保持している位置姿勢情報と基準位置姿勢情報との第１の差分値を求める。ここで表示タイミングとは、例えば１／６０秒毎である。また、視点情報演算部７１０は、基準位置姿勢情報と、ＣＧ視点記憶部２０８が保持している位置姿勢情報との第２の差分値を求める。そして第１の差分値の絶対値と第２の差分値の絶対値との大小比較（大小関係の比較）を行う。ここで、第１の差分値の絶対値が第２の差分値の絶対値未満である場合には、以上の処理で求めたずれ量をＣＧ画像位置修正部２１１に対して送出すると共に、カメラ画像位置修正部７１４に対してはずれ量「０」を送出する。一方、第１の差分値の絶対値が第２の差分値の絶対値以上である場合には、以上の処理で求めたずれ量をカメラ画像位置修正部７１４に対して送出すると共に、ＣＧ画像位置修正部２１１に対してはずれ量「０」を送出する。
【００６７】
ＣＧ画像位置修正部２１１は、ＣＧバッファ２０９に格納されたＣＧを、視点情報演算部２１０が求めたずれ量だけずらして、合成処理部７０５に送出する。なお、ＣＧ画像位置修正部２１１は、ずれ量「０」を受けた場合には、ＣＧバッファ２０９に格納されたＣＧをそのまま後段の合成処理部７０５に送出する。
【００６８】
カメラ画像位置修正部７１４は、カメラ画像処理部２０４から受けた現実空間画像を、視点情報演算部７１０から受けたずれ量だけずらして、合成処理部７０５に送出する。なお、カメラ画像位置修正部７１４は、ずれ量「０」を受けた場合には、カメラ画像処理部２０４から受けた現実空間画像をそのまま後段の合成処理部７０５に送出する。
【００６９】
合成処理部７０５は、ＣＧ画像位置修正部２１１から受けたＣＧを、カメラ画像位置修正部７１４から受けた現実空間画像上に合成する。係る合成により得られる合成画像は次のようなものである。即ち、ＣＧの合成位置を本来の位置から視点情報演算部７１０が求めたずれ量だけずらしてこの現実空間画像上に合成したもの、若しくは、視点情報演算部７１０が求めたずれ量だけ本来の位置からずらした現実空間画像の上にこのＣＧを合成したものである。
【００７０】
係る合成により生成される合成画像は、表示バッファ２１２上に描画される。ここで、「本来の位置」とは、従来から行われているように、例えば、仮想空間中の仮想物体を投影面に投影したときの投影面上における位置であり、図５Ａ（ｂ）の場合、仮想物体５０１ｃの本来の位置は、現実物体５０１ｄと重なる位置のことである。
【００７１】
そして表示部２１３は、この表示バッファ２１２に描画された合成画像を表示する。
【００７２】
なお、本実施形態では観察者の右目に対して合成画像を提供する動作（構成）と、左目に対して合成画像を提供する動作（構成）とは独立しているものとして説明した。しかし、図２に示したＨＭＤ１０１の構成を両目で共有しても良い。係る構成を採用することにより、より簡便な構成となるので、ＨＭＤ１０１のコストをより軽減させることができる。
【００７３】
なお、本実施形態では、ＣＧのサイズ、現実空間画像のサイズは、表示部２１３の画面サイズよりも大きいものとする。これは、ＣＧ、現実空間画像の何れの合成位置を修正しても、画像が存在しない部分の発生を軽減させることを目的としている。
【００７４】
また、本実施形態を含む以下の実施形態において用いる「時点」が意味するところは、その時点のみを意味するものではなく、その時点近傍を含むものである。例えば、「格納された時点」とは「格納された瞬間」のみを含むものではなく、コンピュータ処理の分野で常識的な時間範囲内（例えばこの「瞬間」の前後１／１００秒）であれば良い。係る点は、「タイミング」についても同様である。
【００７５】
図９は、ＨＭＤ１０１が合成画像を生成して表示するために行う処理（ＨＭＤ１０１の制御方法）のフローチャートである。なお、図９に示した各ステップにおける処理は上述の通りであるので、ここでは簡単に説明する。
【００７６】
先ず、カメラ２０３からカメラ視点記憶部２０７に対して、カメラ２０３が撮像した現実空間画像が送出された場合には処理はステップＳ９００を介してステップＳ９０１に進み、送出されていない場合には、処理をステップＳ９０４に進める。
【００７７】
ステップＳ９０１では、カメラ視点記憶部２０７は、カメラ２０３が撮像した現実空間画像を取得すると共に、カメラ画像処理部２０４もまた、係る現実空間画像を取得する。カメラ画像処理部２０４は、この取得した現実空間画像に対して上述の各種の処理を実行する。そして処理した画像は後段のカメラ画像位置修正部７１４に送出する。
【００７８】
次にステップＳ９０２では、視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を示す位置姿勢情報を取得し、カメラ視点記憶部２０７に格納する。
【００７９】
ステップＳ９０３では、ステップＳ９０２で取得した位置姿勢情報をＰＣ１０２に対して送信する。なお、世界座標系とセンサ座標系とが一致していない場合には、視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を、センサ座標系と世界座標系との位置姿勢関係でもって変換した位置姿勢情報を求める。そしてこの求めた位置姿勢情報をＰＣ１０２に送出する。
【００８０】
次にＰＣ１０２から、ＣＧのデータと、位置姿勢情報とが返信された場合には処理をステップＳ９０４を介してステップＳ９０５に進め、返信されていない場合には処理をステップＳ９０６に進める。
【００８１】
ステップＳ９０５では、ＰＣ１０２から送信されたＣＧのデータはＣＧバッファ２０９に格納され、ＨＭＤ１０１に返信された位置姿勢情報はＣＧ視点記憶部２０８に格納される。
【００８２】
次にステップＳ９０６では、視点情報演算部７１０は、上記ずれ量Ｐを求める。
【００８３】
ステップＳ９０７では、視点情報演算部７１０は、上記第１の差分値αを求め、ステップＳ９０８では、上記第２の差分値βを求める。そして｜α｜＜｜β｜である場合には処理をステップＳ９０９を介してステップＳ９１０に進め、｜α｜≧｜β｜である場合には処理をステップＳ９０９を介してステップＳ９１１に進める。
【００８４】
ステップＳ９１０では、ＣＧ画像位置修正部２１１は、ＣＧバッファ２０９に格納されたＣＧを、ステップＳ９０６で視点情報演算部７１０が求めたずれ量だけずらし、処理後のＣＧを後段の合成処理部７０５に送出する。そして合成処理部７０５は、ＣＧ画像位置修正部２１１から送出されたＣＧと、カメラ画像位置修正部７１４から送出された現実空間画像との合成処理を行う。係る合成により生成される合成画像は、表示バッファ２１２上に描画される。
【００８５】
ステップＳ９１１では、カメラ画像位置修正部７１４は、カメラ画像処理部２０４から受けた現実空間画像を、ステップＳ９０６で視点情報演算部７１０が求めたずれ量だけずらし、処理後の現実空間画像を後段の合成処理部７０５に送出する。そして合成処理部７０５は、ＣＧ画像位置修正部２１１から送出されたＣＧと、カメラ画像位置修正部７１４から送出された現実空間画像との合成処理を行う。係る合成により生成される合成画像は、表示バッファ２１２上に描画される。
【００８６】
次にステップＳ９１２では、表示部２１３は、表示バッファ２１２に描画された合成画像を表示する。
【００８７】
以上の説明により、本実施形態によれば、ＨＭＤ１０１を頭部に装着した観察者の頭部が動いたことに起因するＣＧの合成位置のずれを軽減することができる。更に、係るずれ軽減処理では、簡単な線形の上記式Ｐ＝Ｍ×Δθｘ／Ｃｘを計算するだけでずれ量を求めることができるため、ずれ軽減処理を比較的短い時間で行うことができる。
【００８８】
［第２の実施形態］
本実施形態では、ＣＧと現実空間画像の両方をずらして合成する。即ち、図９のフローチャートにおいて、ステップＳ９０９を省くと共に、ステップＳ９１０，Ｓ９１１の両方を実行するように変更したフローチャートに従った処理を行う。更に、ステップＳ９１０で用いるずれ量を求めるために用いるΔθと、ステップＳ９１１で用いるずれ量を求めるために用いるΔθとは異なる。
【００８９】
ステップＳ９１０の為のΔθは、基準位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分から、第１位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分を差し引いた残り（差分量）を示す。即ち、ステップＳ９１０のためのΔθは、第１の差分値である。
【００９０】
ステップＳ９１１の為のΔθは、基準位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分から、第２位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分を差し引いた残り（差分量）を示す。即ち、ステップＳ９１１のためのΔθは、第２の差分値である。
【００９１】
［第３の実施形態］
本実施形態に係るＨＭＤを適用したシステムの外観については第１の実施形態と同様に、図１に示したものを用いる。以下、本実施形態において、第１の実施形態と異なる点のみについて説明する。
【００９２】
ＨＭＤ１０１のより詳細な構成について説明する。図２は、ＨＭＤ１０１の機能構成を示すブロック図である。なお、図２において図１と同じ部分については同じ番号を付けており、その説明は省略する。
【００９３】
図２においてＨＭＤ１０１を構成する各部のうち、位置姿勢センサ１０５を除く他の部分は、ＨＭＤ１０１を頭部に装着する観察者の右目、左目のそれぞれに対して設けられるものである。従って、図２では、一方の目に対するＨＭＤ１０１の構成のみを示しているが、他方の目に対しても同様の構成が、以下説明する動作を行うものとする。
【００９４】
視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を示す位置姿勢情報を受け、これをそのまま外部のＰＣ１０２に転送する（第２の取得）。なお、世界座標系とセンサ座標系とが一致していない場合には、視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を、センサ座標系と世界座標系との位置姿勢関係でもって変換した位置姿勢情報を求める。そしてこの求めた位置姿勢情報をＰＣ１０２に送出する。
【００９５】
ＰＣ１０２は、視点情報検出部２０２から位置姿勢情報を受けると、この位置姿勢情報が示す位置姿勢に、予め求めた位置姿勢センサ１０５とカメラ２０３との位置姿勢関係を加える。これにより、カメラ２０３（視点）の位置姿勢を示す位置姿勢情報を求めることができる。そして、カメラ２０３の位置姿勢を有する視点を、仮想空間中に設定する。なお、係る仮想空間の座標系は、世界座標系に一致しているものとする。また、係る仮想空間は、１以上の仮想物体でもって構成されているものとする。従って、ＰＣ１０２は、この設定した視点から見える仮想空間の画像（ＣＧ、仮想空間画像）を生成する。なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成するための処理については周知であるので、これについての説明は省略する。そしてＰＣ１０２は、この生成したＣＧのデータと共に、このＣＧを生成するために視点情報検出部２０２から受けた位置姿勢情報をＨＭＤ１０１に返信する。
【００９６】
ＨＭＤ１０１に送信されたＣＧのデータはＣＧバッファ２０９に格納され、ＨＭＤ１０１に返信された位置姿勢情報はＣＧ視点記憶部２０８に格納される。
【００９７】
カメラ２０３が撮像した各フレームの画像（現実空間画像）は順次、後段のカメラ視点記憶部２０７、カメラ画像処理部２０４に送出される。
【００９８】
カメラ視点記憶部２０７には、視点情報検出部２０２から送出された位置姿勢情報に加え、カメラ２０３からの現実空間画像も入力される（第１の取得）。従ってカメラ視点記憶部２０７は、視点情報検出部２０２から入力された位置姿勢情報と、この位置姿勢情報がカメラ視点記憶部２０７に入力されたタイミングに最も近いタイミングでカメラ２０３から入力された現実空間画像とを関連付けて管理する。換言すれば、現実空間画像の撮像時に位置姿勢センサ１０５が計測した位置姿勢を示す位置姿勢情報を取得する。
【００９９】
カメラ画像処理部２０４は、カメラ２０３から受けた現実空間画像に対して周知の各種の補正処理を行う。そして補正後の現実空間画像を、後段の合成処理部２０５に送出する。
【０１００】
視点情報演算部２１０は、ＣＧバッファ２０９に格納されたＣＧをカメラ画像処理部２０４から出力された現実空間画像上に合成する場合に、このＣＧをどれだけずらして現実空間画像上に合成するのかを決定する「ずれ量」を、後述する処理でもって求める。
【０１０１】
ＣＧ画像位置修正部２１１は、ＣＧバッファ２０９に格納されたＣＧを、視点情報演算部２１０が求めたずれ量だけずらすよう、合成処理部２０５に対して指示する。
【０１０２】
合成処理部２０５は、ＣＧバッファ２０９に格納されたＣＧを、ＣＧ視点記憶部２０８に位置姿勢情報が格納された時点でカメラ画像処理部２０４から送出された現実空間画像上に合成する。その際に、このＣＧの合成位置を、本来の合成位置から、視点情報演算部２１０が求めたずれ量だけずらした位置とする。係る合成により生成される合成画像は、表示バッファ２１２上に描画される。
【０１０３】
そして表示バッファ２１２に描画された合成画像は、表示部（表示装置）２１３に表示される。
【０１０４】
次に、ＣＧのずれを修正する為の処理について、図６を用いて説明する。図６は、頭部３０１の動きに起因して生じる現実空間画像上におけるＣＧの合成位置のずれを解消するための処理を説明する図である。なお、図６を用いた説明では、頭部３０１が水平面内で姿勢を変化させた場合について説明する。
【０１０５】
図６においてＣｘはカメラ２０３の水平方向に対する画角を示す画角情報である。また、表示部２１３の水平方向に対する画素数Ｍ（解像度情報）を１２８０画素とする。また、Δθｘは、ＣＧ視点記憶部２０８に格納された位置姿勢情報（第１位置姿勢情報）と、この格納の時点でカメラ視点記憶部２０７に格納された位置姿勢情報（第２位置姿勢情報）とで、水平方向に対する姿勢成分のずれを示す。より詳細には、Δθｘは、第２位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分から、第１位置姿勢情報が示す姿勢成分のうち水平方向の姿勢成分を差し引いた残り（差分量）を示す。
【０１０６】
そして、ＣＧバッファ２０９にＣＧのデータが格納された時点でカメラ画像処理部２０４から送出される現実空間画像上に、このＣＧを合成する場合に、合成位置のずれ量Ｐを以下の式に基づいて決定する。
【０１０７】
Ｐ＝Ｍ×Δθｘ／Ｃｘ
ここで、Δθｘが１°、即ち、ＰＣ１０２に送信した位置姿勢情報のうち姿勢成分が示す姿勢から、ＰＣ１０２からＣＧのデータを受信した時点でカメラ視点記憶部２０７に格納された位置姿勢情報のうち姿勢成分が示す姿勢に１°ずれた場合を例に取る。そして、カメラ２０３の画角Ｃｘが６０°、表示部２１３の水平方向に対する画素数Ｍが１２８０画素である場合、Ｐ＝（１/６０）ｘ１２８０≒２１３となるので、約２１３画素分だけ、ＣＧを左にずらして現実空間画像上に合成することになる。なお、Δθｘが負の値の場合には、Ｐも負の値となる。この場合、ＣＧを右側に｜Ｐ｜画素だけずらせばよい。
【０１０８】
なお、頭部３０１が水平方向以外の方向（例えば、水平方向及び垂直方向、垂直方向のみ）にも動いた場合、各方向に独立して以上説明した処理を行えばよい。例えば、垂直方向の場合、Ｐが正の値であれば、Ｐ画素だけＣＧを下側にずらせばよいし、Ｐが負の値であれば、｜Ｐ｜画素だけＣＧを上側にずらせばよい。
【０１０９】
以上説明したずれ量を求める処理は、視点情報演算部２１０によって行われる。そして、ＣＧ画像位置修正部２１１は、ＣＧバッファ２０９に格納されたＣＧを、視点情報演算部２１０が求めたずれ量だけずらすよう、合成処理部２０５に対して指示する。
【０１１０】
そして合成処理部２０５は、ＣＧバッファ２０９に格納されたＣＧを、ＣＧ視点記憶部２０８に位置姿勢情報が格納された時点でカメラ画像処理部２０４から送出された現実空間画像上に合成する。その際に、このＣＧの合成位置を、本来の合成位置から、視点情報演算部２１０が求めたずれ量だけずらしてこの現実空間画像上に合成する。係る合成により生成される合成画像は、表示バッファ２１２上に描画される。ここで、「本来の合成位置」とは、従来から行われているように、仮想空間中の仮想物体を投影面に投影したときの投影面上における位置であり、図５Ａ（ｂ）の場合、仮想物体５０１ｃの本来の合成位置は、現実物体５０１ｄと重なる位置のことである。
【０１１１】
そして表示部２１３は、この表示バッファ２１２に描画された合成画像を表示する。
【０１１２】
なお、本実施形態では観察者の右目に対して合成画像を提供する動作（構成）と、左目に対して合成画像を提供する動作（構成）とは独立しているものとして説明した。しかし、図２に示したＨＭＤ１０１の構成を両目で共有しても良い。係る構成を採用することにより、より簡便な構成となるので、ＨＭＤ１０１のコストをより軽減させることができる。
【０１１３】
なお、本実施形態では、ＣＧの合成範囲は、現実空間画像のサイズよりも大きいものとする。これは、ＣＧの合成位置を修正しても、ＣＧが存在しない部分の発生を軽減させることを目的としている。
【０１１４】
図７は、ＨＭＤ１０１が合成画像を生成して表示するために行う処理（ＨＭＤ１０１の制御方法）のフローチャートである。なお、図７に示した各ステップにおける処理は上述の通りであるので、ここでは簡単に説明する。
【０１１５】
先ず、カメラ２０３からカメラ視点記憶部２０７に対して、カメラ２０３が撮像した現実空間画像が送出された場合には処理はステップＳ１０００を介してステップＳ１００１に進み、送出されていない場合には、処理をステップＳ１００４に進める。
【０１１６】
ステップＳ１００１では、カメラ２０３が撮像した現実空間画像をカメラ視点記憶部２０７、カメラ画像処理部２０４が取得する。更に本ステップではカメラ視点記憶部２０７は視点情報検出部２０２から入力された位置姿勢情報と、この位置姿勢情報がカメラ視点記憶部２０７に入力されたタイミングに最も近いタイミングでカメラ２０３から入力された現実空間画像とを関連付けて管理する。更に本ステップでは、カメラ画像処理部２０４は、カメラ２０３から受けた現実空間画像に対して周知の各種の補正処理を行う。そして補正後の現実空間画像を、後段の合成処理部２０５に送出する。
【０１１７】
次にステップＳ１００２では、視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を示す位置姿勢情報を取得する。なお、世界座標系とセンサ座標系とが一致していない場合には、視点情報検出部２０２は、位置姿勢センサ１０５が計測した位置姿勢を、センサ座標系と世界座標系との位置姿勢関係でもって変換した位置姿勢情報を求める。
【０１１８】
次にステップＳ１００３では、視点情報検出部２０２は、ステップＳ１００２で取得した、若しくは求めた、世界座標系における位置姿勢センサ１０５の位置姿勢情報をＰＣ１０２に送出する。
【０１１９】
次にＰＣ１０２から、ＣＧのデータと、位置姿勢情報とが返信された場合には処理をステップＳ１００４を介してステップＳ１００５に進め、返信されていない場合には処理をステップＳ１００６に進める。
【０１２０】
ステップＳ１００５では、ＰＣ１０２から送信されたＣＧのデータはＣＧバッファ２０９に格納され、ＨＭＤ１０１に返信された位置姿勢情報はＣＧ視点記憶部２０８に格納される。
【０１２１】
次にステップＳ１００６では、視点情報演算部２１０は、上記ずれ量Ｐを求める。
【０１２２】
次にステップＳ１００７では、ＣＧ画像位置修正部２１１は、ＣＧバッファ２０９に格納されたＣＧを、視点情報演算部２１０が求めたずれ量だけずらすよう、合成処理部２０５に対して指示する。そして合成処理部２０５は、ＣＧバッファ２０９に格納されたＣＧを、ＣＧ視点記憶部２０８に位置姿勢情報が格納された時点でカメラ画像処理部２０４から送出された現実空間画像上に合成する。その際に、このＣＧの合成位置を、本来の合成位置から、視点情報演算部２１０が求めたずれ量だけずらした位置とする。係る合成により生成される合成画像は、表示バッファ２１２上に描画される。
【０１２３】
次にステップＳ１００８では、表示部２１３は、表示バッファ２１２に描画された合成画像を表示する。
【０１２４】
以上の説明により、本実施形態によれば、ＨＭＤ１０１を頭部に装着した観察者の頭部が動いたことに起因するＣＧの合成位置のずれを軽減することができる。更に、係るずれ軽減処理では、簡単な線形の上記式Ｐ＝Ｍ×Δθｘ／Ｃｘを計算するだけでずれ量を求めることができるため、１フレーム分に対するずれ軽減処理を比較的短い時間で行うことができる。
【０１２５】
［第４の実施形態］
第１の実施形態では、視点情報検出部２０２がＰＣ１０２に送信した位置姿勢情報がそのままＰＣ１０２から返信されているが、ＰＣ１０２から係る位置姿勢情報の返信は行わずに、ＣＧのみを返信するようにしても良い。
【０１２６】
この場合、視点情報演算部２１０は、ＰＣ１０２に対して位置姿勢情報を送信する場合、この送信の時刻等、送信したタイミングを示すタイミング情報をこの位置姿勢情報に添付してＰＣ１０２に送信する。更に、このタイミング情報を添付した位置姿勢情報は、カメラ視点記憶部２０７にも格納される。
【０１２７】
そしてＰＣ１０２は、この位置姿勢情報に基づいて生成したＣＧのデータに、このタイミング情報を添付してＨＭＤ１０１に返信する。
【０１２８】
ＣＧバッファ２０９にＣＧが格納されると、視点情報演算部２１０は、このＣＧに添付されているタイミング情報を参照し、同じタイミング情報が添付されている位置姿勢情報を読み出す。そして、視点情報演算部２１０は、この読み出した位置姿勢情報と、この時点で位置姿勢センサ１０５から取得した位置姿勢情報とに基づいて、上記ずれ量Ｐを算出する。
【０１２９】
また、以上の各実施形態は部分的に適宜組み合わせて用いても良い。
【０１３０】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１３１】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３３】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３４】
【図１】本発明の第３の実施形態に係る頭部装着型表示装置（ＨＭＤ）を適用したシステムの外観例を示す図である。
【図２】ＨＭＤ１０１の機能構成を示すブロック図である。
【図３】ＨＭＤ１０１を頭部に装着している観察者の頭部３０１を真上から見た場合の図である。
【図４】位置姿勢センサ１０５から順次得られる姿勢情報（水平面内における角度）θｘを縦軸にとり、横軸には姿勢情報の取得時刻をとった場合のグラフの例を示す図である。
【図５Ａ】観察者の頭部３０１を水平方向に時計回りに振った場合における、合成画像について説明する図である。
【図５Ｂ】観察者の頭部３０１を垂直方向に上下に振った場合における、合成画像について説明する図である。
【図５Ｃ】観察者の頭部３０１を顔の正面を軸としてロール方向（時計方向）に回転（傾げる）させた場合における、合成画像について説明する図である。
【図６】頭部３０１の動きに起因して生じる現実空間画像上におけるＣＧの合成位置のずれを解消するための処理を説明する図である。
【図７】ＨＭＤ１０１が合成画像を生成して表示するために行う処理のフローチャートである。
【図８】本発明の第１の実施形態に係る頭部装着型表示装置（ＨＭＤ）を適用したシステムの外観例を示す図である。
【図９】ＨＭＤ１０１が合成画像を生成して表示するために行う処理のフローチャートである。
【図１】
2008299669.tif 000003
【図２】
2008299669.tif 000004
【図３】
2008299669.tif 000005
【図４】
2008299669.tif 000006
【図５Ａ】
2008299669.tif 000007
【図５Ｂ】
2008299669.tif 000008
【図５Ｃ】
2008299669.tif 000009
【図６】
2008299669.tif 000010
【図７】
2008299669.tif 000011
【図８】
2008299669.tif 000012
【図９】
2008299669.tif 000013