(57)【要約】【課題】  画角が可変のレンズを通して観察する現実空間の風景に仮想空間画像を光学的に重ね合わせる場合に、現実空間の風景と仮想空間画像の夫々の画角を一致させること。【解決手段】  レンズを通して観察される現実空間の風景光に仮想空間画像の表示光を重ね合わせるための情報処理装置であって、前記レンズの画角を変更する画角変更手段と、  前記レンズの画角を計測する第１の計測手段と、利用者視点の位置、姿勢、および、前記レンズの画角とを用いて、仮想空間画像を生成する画像生成手段と、前記画像生成手段により生成された仮想空間画像を所定の表示装置に出力する画像表示手段と、前記レンズを通して観察される現実空間の風景光と前記画像表示手段が表示する仮想空間画像の表示光とを合成する合成手段と、を備えることを特徴とする情報処理装置。【選択図】  図１
2005122233.tif 000002
【特許請求の範囲】
【請求項１】
レンズを通して観察される現実空間の風景光に仮想空間画像の表示光を重ね合わせるための情報処理装置であって、
前記レンズの画角を変更する画角変更手段と、
前記レンズの画角を計測する第１の計測手段と、
利用者視点の位置、姿勢、および、前記レンズの画角とを用いて、仮想空間画像を生成する画像生成手段と、
前記画像生成手段により生成された仮想空間画像を所定の表示装置に出力する画像表示手段と、
前記レンズを通して観察される現実空間の風景光と前記画像表示手段が表示する仮想空間画像の表示光とを合成する合成手段と、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間の風景に対して、計算機等で作成した仮想空間画像等を合成する技術に関するものである。
【背景技術】
【０００２】
近年、現実世界と仮想世界をリアルタイムで継ぎ目なく融合する複合現実感に関する研究が盛んになっている。
【０００３】
複合現実感は、従来、現実空間と切り離された状況でのみ体験可能であったバーチャルリアリティの世界と現実空間との共存を目的としており、バーチャルリアリティを増強する技術として注目されている。その応用としては、患者の体内の様子を透視しているように医師に提示する医療補助の用途や、工場において製品の組み立て手順を実物に重ねて表示する作業補助の用途など、今までのバーチャルリアリティとは質的に全く異なった新たな分野が期待されている。
【０００４】
この複合現実感のうち、現実空間をベースとしてその上に仮想空間を重ねた複合現実感はＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）と呼ばれており、その実現方式の一つに光学シースルー方式がある。光学シースルー方式のＡＲシステムでは、利用者が観察する現実空間の風景上に、ハーフミラー等を利用して仮想空間画像を重ね合わせることで、複合現実感を実現する。
【０００５】
この光学シースルー方式のＡＲシステムを、展望用ディスプレイとして利用するものが開示されている。
【特許文献１】特開２００２−１７０１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、上記の従来方法では、現実空間からの風景光、もしくは、仮想空間画像の表示光を変向することによって、これら２つの光を同じ方向へ入射させ、複合現実感を実現している。言い換えると、上記の従来方法では、風景光に対しては変向以外の操作を行うことはできない。すなわちこれは、上記の従来方法では、展望する風景を表示する倍率を変更することはできないことを意味する。
【０００７】
上記の従来方法に限らず、一般的な光学シースルー方式のＡＲシステムでは、展望する風景の表示倍率を変更することはできない。しかしながら、望遠鏡や双眼鏡等の一般的な展望用ディスプレイにおいては、展望する風景の表示倍率を変更することは基本的な機能である。
【０００８】
そこで本発明は、以上のような事態に鑑みてなされたものであり、光学シースルー方式のＡＲシステムにおいて、展望する風景の表示倍率を変更することができる複合現実感を実現することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００１０】
すなわち、レンズを通して観察される現実空間の風景光に仮想空間画像の表示光を重ね合わせるための情報処理装置であって、前記レンズの画角を変更する画角変更手段と、前記レンズの画角を計測する第１の計測手段と、利用者視点の位置、姿勢、および、前記レンズの画角とを用いて、仮想空間画像を生成する画像生成手段と、前記画像生成手段により生成された仮想空間画像を所定の表示装置に出力する画像表示手段と、前記レンズを通して観察される現実空間の風景光と前記画像表示手段が表示する仮想空間画像の表示光とを合成する合成手段とを備えることを特徴とする。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、画角を変更できるレンズを使うことで、光学シースルー方式において、画角が可変で、かつ、現実空間の風景と仮想空間画像の画角が一致した、複合現実感を提示することができる。
【発明を実施するための最良の形態】
【００１２】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１３】
＜第一の実施形態＞
図１は本発明の第１の実施形態に係る情報処理装置の機能構成例を示すブロック図である。
【００１４】
図１に示すように、情報処理装置１００は利用者視点の前に位置する。利用者は、情報処理装置１００を通して、前方の現実空間の風景を観察する。
【００１５】
そのような情報処理装置１００において、１はレンズ部であり、例えばズームレンズである。レンズ部１の画角は、利用者の操作によって変化する。レンズ部１は、情報処理装置１００において利用者の視点とは反対側に位置し、現実空間の風景光がこのレンズ部１を通過する。レンズ部１を通過した光によって構成される風景は、通過前の風景をレンズ部１によって拡大／縮小／等倍された風景となっている。この風景光は、画像合成部８へと入射する。
【００１６】
２はレンズ状態取得部であり、例えばエンコーダからなる。レンズ状態取得部２は、レンズ部１のレンズ状態を計測し、その計測値をレンズ状態データとして画角算出部３へ送出する。例えば、レンズ状態とはズームレンズの回転角であり、レンズ状態の計測は、レンズ状態取得部２がレンズ部１であるズームレンズに取り付き、ズームレンズの回転角を計測することにあたる。
【００１７】
３は画角算出部であり、例えば計算機上で実行されるソフトウェアモジュールである。画角算出部３は、レンズ状態取得部２から受け取ったレンズ状態データから、一定の変換モデルに従ってレンズ部１の画角を算出し、算出した画角を画角データとして画像生成部６へと送出する。レンズ部１を通過した後の画像は、画像合成部８へ入射する現実空間の風景であるので、算出するレンズ部１の画角は、画像合成部８へ入射する現実空間の風景の画角に相当する。
【００１８】
４は位置姿勢計測部であり、例えば磁気センサや慣性センサ等の位置姿勢センサからなる。位置姿勢計測部４は、現実空間における利用者視点の位置および姿勢を計測し、その計測値から得られる位置および姿勢をそれぞれ位置データおよび姿勢データとして、画像生成部６へ送出する。この計測には、情報処理装置１００と利用者視点が一定の位置関係にあるという前提を利用する。すなわち、情報処理装置１００は、利用者によらず常に同じ位置に利用者視点がくるようにデザインされているものとする。
【００１９】
また、この位置姿勢計測部４は、利用者視点の姿勢のみを計測し、姿勢データのみを画像生成部６へ送出するものであっても良い。その場合、あらかじめ決められた利用者視点の位置データを内部に保持しておき、これを画像生成部６へ送出する。逆に、この位置姿勢計測部４は、利用者視点の位置のみを計測し、位置データのみを画像生成部６へ送出するものであっても良い。その場合、あらかじめ決められた利用者視点の姿勢データを内部に保持しておき、これを画像生成部６へ送出する。さらにまた、利用者視点の位置および姿勢の計測を行わずに、あらかじめ決められた利用者視点の位置データと姿勢データを内部に保持しておき、これらを画像生成部６へ送出しても良い。
【００２０】
また、この位置姿勢計測部４は、計測した位置、姿勢を補正する機能を備えていても良い。その場合、位置姿勢計測部４は、補正を施した位置データと姿勢データを画像生成部６へ送出する。補正方法としては、例えば、図１に示していない現実空間撮影用カメラと現実空間中の位置が既知の特徴点を用意し、現実空間撮影用カメラで撮影した現実空間画像中の特徴点の位置と、計測した位置、姿勢に基づいて生成した仮想空間画像中の前記特徴点に対応する位置が、現実空間画像と仮想空間画像を重ね合わせたときに一致するように、位置、姿勢を補正する方法が挙げられる。
【００２１】
５は空間データ記憶部であり、例えばハードディスクやメモリからなる。空間データ記憶部５は、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）の形状データや位置データ等の、仮想空間を定義する空間データを保持し、この空間データを画像生成部６へと送出する。
【００２２】
６は画像生成部であり、例えば計算機上で実行されるソフトウェアモジュールである。画像生成部６は、位置姿勢計測部４から受け取る利用者視点の位置データおよび姿勢データと、画角算出部３から受け取る画角データと、空間データ記憶部８から受け取る空間データを利用して、仮想空間画像を生成する。この仮想空間画像は、空間データによって定義される仮想空間を、位置データおよび姿勢データによって決定される位置および姿勢において、画角データによって決定される画角で撮影した時に得られる画像である。生成された仮想空間画像は、画像表示部７へと送出される。
【００２３】
７は画像表示部であり、例えば液晶ディスプレイやＣＲＴディスプレイである。画像表示部７は、画像生成部６から仮想空間画像を受け取り、これを表示する。画像表示部７に表示された仮想空間画像の画像光は、画像合成部８へと入射する。
【００２４】
８は画像合成部であり、例えばハーフミラーである。画像合成部８は、レンズ部１を通過して入射してきた現実空間の風景光と、画像表示部７から入射した仮想空間画像の画像光の、一方を透過させ、他方を変向させることで、両者を光学的に合成し、複合現実空間画像を生成する。この複合現実空間画像は、現実空間の風景上に仮想空間画像を重ね合わせた画像である。複合現実空間画像の光は、情報処理装置１００の利用者の視点へ入射する。
【００２５】
以上の構成を有する情報処理装置の形態は図２に示すものであっても、図３に示すものであっても良い。図２はレンズ部１、位置姿勢計測部４、画像表示部７、画像合成部８が一体化した装置を利用者４０の頭部に装着し、レンズ部１を通過する現実空間の風景光と、上記各ソフトウェアモジュールを実行するコンピュータ４１が生成する仮想空間画像の表示光とを利用者４０の視点へ入射させる情報処理装置の形態を示す図である。
【００２６】
図３はレンズ部１、画像表示部７、画像合成部８が一体化した装置５１が支柱５０に、同図矢印の方向に回転可能なように取り付けられており、レンズ部１を通過する現実空間の風景光と、上記各ソフトウェアモジュールを実行するコンピュータ４１が生成する仮想空間画像の表示光とを装置５１の利用者の視点へ入射させる情報処理装置の形態を示す図である。
【００２７】
図４に上記構成を備えるコンピュータの基本構成を示す。５０１はＣＰＵで、ＲＡＭ５０２やＲＯＭ５０３に記憶されたプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各ソフトウェアモジュールを実行し、上記仮想空間画像を生成する一連の処理や、利用者視点の位置データ、姿勢データを計測する上記一連の処理を実行する。
【００２８】
５０２はＲＡＭで、外部記憶装置５０７や記憶媒体ドライブ５０８からロードされたプログラムやデータを記憶保持するためのエリアを備えると共に、ＣＰＵ５０１が各種の処理を実行するために必要とするエリア（ワークエリア）を備える。５０３はＲＯＭで、コンピュータ全体を制御するためのプログラムやデータ、文字コードなどを記憶する。５０４、５０５は夫々キーボード、マウスで、夫々ＣＰＵ５０１に対して各種の指示を入力するために用いられる。
【００２９】
５０６は表示部で、生成した仮想空間画像を表示することができる。５０７はハードディスクドライブに代表される大容量情報記憶装置として機能する装置であって、上記空間データ記憶部５としても機能し、ＯＳ（オペレーティングシステム）や、上記空間データ、仮想空間画像を生成するためのプログラム、利用者視点の位置、姿勢を計測するためのプログラムなどを保存している。また、利用者視点の位置データや姿勢データを予め記憶しておく場合には、記憶すべきデータも保存する。外部記憶装置５０７に保存されているプログラムやデータはＣＰＵ５０１からの指示に従ってＲＡＭ５０２にロードされる。
【００３０】
５０８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記憶されているプログラムやデータを読み取り、外部記憶装置５０７やＲＡＭ５０２に出力する。なお、外部記憶装置５０７に保存されているプログラムやデータはこの記憶媒体ドライブ５０８によって直接ＲＡＭ５０２に供給しても良い。
【００３１】
５０９はＩ／Ｆで、上記位置姿勢計測部４、レンズ状態取得部３、画像表示部７等を接続することができ、Ｉ／Ｆ５０９を介して位置姿勢計測部４やレンズ状態取得部３により計測された結果を入力したり、生成した仮想空間画像を画像表示部７に出力したりすることができる。５１１は上述の各部を繋ぐバスである。
【００３２】
次に、以上の様な構成を備えた本実施形態の制御について、図５に示すフローチャートを用いて説明する。同図のフローチャートに従った処理は主にＣＰＵ５０１が行うものである。すなわち、ＲＡＭ５０２には同図のフローチャートに従った処理をＣＰＵ５０１に実行させるためのプログラムがロードされており、このプログラムをＣＰＵ５０１が実行することで、利用者視点の位置、姿勢、そしてレンズ部１の画角を計測し、計測した位置、姿勢、画角を用いて仮想空間画像を生成して画像表示部８に表示する処理が行われる。なお、この場合、上述の各ソフトウェアモジュールのプログラムは、予めＲＡＭ５０２にロードされているものとする。その後、この処理によって表示された仮想空間画像の表示光とレンズ部１を通過して入射した現実空間の風景光とが合成される。
【００３３】
まず、ステップＳ１において、本実施形態に係る情報処理装置１００の起動が、例えば各構成部への電源投入や、情報処理装置１００自体に設けたスイッチ等による指示に応じて行われる。そして、以下に続く処理の間中、現実空間からの風景光がレンズ部１を通過し、レンズ部１による拡大／縮小／等倍がなされた状態で、画像合成部８へと入射する。
【００３４】
情報処理装置１００の起動後、ステップＳ２において、位置姿勢計測部４が、利用者視点の位置、姿勢を計測し、これを位置データ、姿勢データとしてＲＡＭ５０２に出力する。その際、位置、姿勢の計測値に対して補正処理を行ったものを位置データ、姿勢データとして、ＲＡＭ５０２に出力しても良い。計測値の補正処理には、周知の現実空間と仮想空間の位置合わせ処理技術を用いることを想定している。よってここでの説明は省略する。なお上述の通り、位置姿勢計測部４は利用者視点の位置、姿勢の何れかを計測するものであっても良く、その場合には計測していない方のデータを例えば外部記憶装置５０７に保持させておき、ＲＡＭ５０２にロードすればよい。また位置姿勢計測部４が利用者視点の位置、姿勢のいずれも計測せずに、予め保持しておく場合も同様に外部記憶装置５０７に利用者視点の位置、姿勢のデータを保持させておき、ＲＡＭ５０２にロードすればよい。
【００３５】
ステップＳ３では、レンズ部１のレンズ状態をレンズ状態取得部２により計測し、レンズ状態データとしてＲＡＭ５０２に出力する。
【００３６】
次に、ステップＳ４では、ＣＰＵ５０１が画角算出部３として機能するプログラムを実行することで画角の算出処理を行い、得た画角を画角データとしてＲＡＭ５０２に出力する。この画角算出処理では、ステップＳ３でＲＡＭ５０２に出力されたレンズ状態データ（ここではレンズの回転角データ）を用いて、例えば以下の式に従って画角を求める。
【００３７】
画角＝Ａ×ｅｘｐ（Ｂ×θ）
ここでＡ、Ｂは夫々任意の定数で、θはレンズの回転角を示す。なお、画角を算出するための算出式はこれに限定されるものではない。
【００３８】
また、画角算出部３が、レンズ状態データと事前にキャリブレーションされた画角との組を画角参照テーブルとして外部記憶装置５０７もしくは記憶媒体ドライブ５０８に保持しておき、このテーブルをＲＡＭ５０２にロードし参照することで、レンズ状態データに対応する画角データを得てもよい。
【００３９】
以上に説明したステップＳ２、Ｓ３、Ｓ４を、図５では順番に行うようになっているが、ステップＳ２を行うタイミングは、この限りではない。すなわち、ステップＳ２をステップＳ３の後やステップＳ４の後で行ってもよく、さらには、ステップＳ３、Ｓ４と同時に行っても良い。
【００４０】
ステップＳ４までが終わると、処理はステップＳ５へと進む。ステップＳ５では、ＣＰＵ５０１が画像生成部６として機能するプログラムを実行することで仮想空間画像の生成を行う。具体的には、空間データ記憶部８から空間データを受け取り、この空間データと、位置姿勢計測部４から受け取った利用者視点の位置データおよび姿勢データと、画角算出部３から受け取った画角データとを利用して、仮想空間画像を生成する。空間データ、視点位置および姿勢、画角を用いて仮想空間画像を生成する処理は周知の３次元画像処理技術を用いているので、ここでの説明は省略する。生成された仮想空間画像は、空間データによって定義される仮想空間を、位置データおよび姿勢データによって決定される位置および姿勢において、画角データによって決定される画角で撮影した時に得られる画像である。続いて、画像生成部６は、生成された仮想空間画像を、画像表示部７へと送出する。
【００４１】
ステップＳ６では、画像表示部７が、画像生成部６から受け取る仮想空間画像を表示する。画像表示部７に表示された仮想空間画像の画像光は、画像合成部８へと入射する。
【００４２】
ステップＳ７では、画像合成部８において、レンズ部１を通過した現実空間からの風景光と、画像表示部７から入射した仮想空間画像の画像光の合成が行われる。例えば、画像合成部８がハーフミラーの場合、このハーフミラーを通過する現実空間の風景光の上に、ハーフミラーで反射する仮想空間画像の画像光が重ねあわされる。
【００４３】
画像合成部８において重ねあわされた二つの光は、一つの複合現実空間画像を作り出す。この複合現実空間画像の画像光は、利用者の視点に向かって入射する。本発明の利用者は、この時点で、複合現実空間画像を観察する。処理はステップＳ８へと進む。
【００４４】
ステップＳ８では、システムを終了するかどうかがチェックされ、終了させる場合はステップＳ９でシステムを終了させ、終了させない場合にはステップＳ２に戻り、上述の処理を繰り返す。
【００４５】
以上のように、第一の実施形態によれば、画角を変更できるレンズを利用して、光学シースルー方式による複合現実感を提示することができる。そして、利用者の操作等によってレンズの画角が変更された場合にも、そのレンズ状態を取得することによって、現実空間の風景の画角を得ることができるので、現実空間の風景と仮想空間画像の画角が一致した複合現実感を提示することができる。
【００４６】
なお、本発明は画角の算出に関する手段を備えているが、この手段が、すなわち焦点距離の算出手段でもあることは言うまでもない。
【００４７】
＜第２の実施形態＞
上述した第１の実施形態では、画角算出部３が算出する画角が正しいことを前提としている。しかしながら、画角算出部３が誤差を含む画角を算出する場合もある。例えば、画角算出の際に用いる一定の変換モデルや画角参照テーブルが、実際とは異なる場合が考えられる。本実施例は、そのような場合に備え、画角算出部３が算出する画角を補正する機能を保持することを特徴とする。
【００４８】
図６は、本発明の第２の実施例に係る情報処理装置の機能構成例を示すブロック図である。図１に示した第１の実施形態に係る構成と比較することにより明らかなように、本実施形態にかかる情報処理装置２００は、新たに光線分配部９、画像撮像部１０、マーカデータ記憶部１１を有していること、および、位置姿勢計測部４から画角算出部３へ、位置データおよび姿勢データが出力される点を除き、第１の実施形態に係る情報処理装置１００と同一である。従って、本実施形態の説明は、光線分配部９、画像撮像部１０、マーカデータ記憶部１１、画角算出部３、位置姿勢計測部４を中心に行い、重複する説明は省略する。
【００４９】
４は位置姿勢計測部であり、例えば磁気センサや慣性センサ等の位置姿勢センサからなる。第１の実施形態における位置姿勢計測部４と同様に、第２の実施形態における位置姿勢計測部４は、現実空間における利用者視点の位置および姿勢を計測し、その計測値から得られる位置および姿勢をそれぞれ位置データおよび姿勢データとする。もしくは、あらかじめ位置データおよび姿勢データの一方／両方を内部に保持しておく。第２の実施形態における位置姿勢計測部４は、この位置データおよび姿勢データを、画像生成部６に送出するだけでなく、後述する画角算出部３へも送出する。
【００５０】
９は光線分配部であり、例えばハーフミラー等である。光線分配部９は、レンズ部１を通過して入射してきた現実空間の風景光の、一部を透過させ残りを変向させることで２つに分配する。分配された風景光の、一方は画像合成部８へと入射し、他方は画像撮像部１０へと入射する。
【００５１】
１０は画像撮像部で、例えばカメラとキャプチャカードから構成される。画像撮像部１０は、光線分配部９から入射した風景光を撮影し、撮影した現実空間画像を画角算出部３に適した形式に変換し、変換後の現実空間画像を画角算出部３に送出する。この現実空間画像は、光線分配部９によって分配された光を撮影したものであるから、もう一方の光で構成される現実空間の風景と同じ画像である。ゆえに、画像撮影部１０で撮影した現実空間画像と、画像合成部８へ入射する現実空間の風景は、同じ画角である。
【００５２】
１１はマーカデータ記憶部であり、例えばハードディスクやメモリにより構成され、マーカを特定する後述のマーカデータを記憶保持するための記憶装置として機能する。ここでマーカとは、現実空間上に配置された特徴点のことで、例えば、現実空間に設定された上記座標系における位置座標とその色によって特定される。このマーカを特定するデータがマーカデータであり、例えば、マーカが配置されている位置の上記座標系における３次元座標データとその色を示す属性データにより構成される。マーカデータ記憶部１１は、実際に現実空間上に配置されているマーカに対応するマーカデータを１つ以上保持し、そのデータを画角算出部３へと送出する。
【００５３】
３は画角算出部であり、例えば計算機上で実行されるソフトウェアモジュールである。第１の実施形態における画角算出部３と同様に、第２の実施形態における画角算出部３は、レンズ状態取得部２から受け取ったレンズ状態データから、一定の変換モデルに従ってレンズ部１の画角を算出する。レンズ部１を通過した後の画像は、通過後に光線分配部９を経て画像合成部８へ入射する現実空間の風景であるので、算出するレンズ部１の画角は、画像合成部８へ入射する現実空間の風景の画角に相当する。
【００５４】
第２の実施形態における画角算出部３は、画角算出後の処理が、第１の実施例における画角算出部３と異なる。すなわち第２の実施形態における画角算出部３は、画角算出後に、算出した画角には誤差が含まれているか否かを判定し、誤差が含まれていないと判定した場合には、算出した画角を画角データとして画像生成部６へ送出し、誤差が含まれていると判定した場合には、画角の補正を行ってから、補正した画角を画各データとして画像生成部６へ送出する。この補正は、画像撮像部１０から現実空間画像受け取り、マーカデータ記憶部１１からマーカデータ受け取り、そして位置姿勢計測部４より利用者視点の現実空間における位置、姿勢のデータを受け取って行う。
【００５５】
以上の構成を有する情報処理装置の形態は、第１の実施形態と同様に、図２に示すものであっても、図３に示すものであっても良い。
【００５６】
図７に上記構成を備えるコンピュータの基本構成を示す。図４に示した第１の実施形態に係る構成を備えるコンピュータの基本構成と比較することにより明らかなように、本実施形態にかかる構成を備えるコンピュータの基本構成は、新たにビデオキャプチャカード５１０を有していることを除き、第１の実施形態に係る構成を備えるコンピュータの基本構成と同一である。ビデオキャプチャカード５１０は、画像撮像部１０が撮影して得た現実空間画像を画像算出部３として機能するプログラムが扱う形式に変換し、ＲＡＭ５０２に出力するものである。またビデオキャプチャカード５１０は、バス５１１に、不図示のＩ／Ｆを介して接続されている。
【００５７】
次に、以上の様な構成を備えた本実施形態の制御について、図８に示すフローチャートを用いて説明する。図５に示した第１の実施形態の制御フローチャートと比較することにより明らかなように、本実施形態にかかる制御フローチャートは、ステップＳ１０、Ｓ１１、Ｓ１２、Ｓ１３、Ｓ１４の処理がステップＳ４とＳ５の間に入った点を除き、第１の実施形態の制御フローチャートと同一である。新たに加わった処理はＣＰＵ５０１が行うものである。すなわち、ＲＡＭ５０２には同図のフローチャートに従った処理をＣＰＵ５０１に実行させるためのプログラムがロードされており、このプログラムをＣＰＵ５０１が実行することで、算出したレンズ部１の画角を補正する処理を行う。
【００５８】
以下、第１の実施形態の制御と異なる部分について説明する。
【００５９】
まず、ステップＳ３までは、第１の実施形態の制御と同様に処理が進む。
【００６０】
ステップＳ４も、第１の実施形態の制御と同様に処理を行い、画角の算出を行う。だたし、第１の実施形態では算出した画角を画角データとしてＲＡＭ５０２に出力したが、本実施形態では算出した画角を補正前画角データとしてＲＡＭ５０２に出力する点が異なる。
【００６１】
ステップＳ４までが終わると、処理はステップＳ１０へと進む。ステップＳ１０では、ステップＳ４で算出した画角が、既に算出した画角から変化しているか否かを判断する。これはすなわち、レンズ部１の画角が変更されたか否かを判断する。後述するステップＳ１３は、ステップＳ４においてＲＡＭ５０２に出力した補正前画角データを、比較用画角データとしてＲＡＭ５０２に記憶させる処理であるので、ステップＳ１３を一回以上行ったことがある場合には、ＲＡＭ５０２に保持しておいた比較用画角データと、ステップＳ４で得られた補正前画角データを比較することにより、レンズ部１の画角が変更されたか否かを判断することができる。画角が変更されておらず、且つ以下のステップＳ１１からステップＳ１３の処理を１回以上行ったことがある場合には処理をステップＳ１４に移行する。
【００６２】
後述するステップＳ１３は、補正前画角データに対する画角の補正量を求めてＲＡＭ５０２に記憶させる処理でもある。よってこの処理を１回でも行っており、且つ画角が変更されていない場合には、ＲＡＭ５０２に保持しておいた画角の補正量を用いることができるので、ステップＳ１４では、ステップＳ４でＲＡＭ５０２に保持しておいた補正前画角データを、ＲＡＭ５０２に保持しておいた画角の補正量を用いて補正し、得たデータを画角データとしてＲＡＭ５０２に出力する。補正後は、ステップＳ５へと進み、補正済みの画角値を示すこの画角データを利用して、第１の実施形態と同様の処理を行う。
【００６３】
一方、ステップＳ１０における判定において、画角の変更があった、もしくはステップＳ１１からステップＳ１３までの処理を行ったことがない場合には、処理をステップＳ１１に移行する。画角の変更があった場合（利用者が例えばレンズ部１に取り付けられたスイッチなどを用いて画角を変更した場合）、もしくはステップＳ１１からステップＳ１３までの処理を行ったことがない場合は、既に求めた画角の補正量が使えない、もしくは、この画角の補正量がＲＡＭ５０２には存在しない。よって以下の画角の補正量を求める処理が必要となる。
【００６４】
以下に説明するステップＳ１１、Ｓ１２、Ｓ１３が画角の補正量を求める処理であるが、この補正においては、画像撮影部１０で撮影した現実空間画像と、画像合成部８へ入射する現実空間の風景が、同じ画角であることに着目し、画角算出部が算出した画角が、画像撮影部１０で撮影した現実空間画像と同じ画角になるような補正量を求める。
【００６５】
まず、ステップＳ１１では、画像撮像部１０が、レンズ部１および光線分配部９を経て画像撮像部１０に入射し撮影された現実空間の風景光（前述したマーカが１つ以上の含まれている）を受けると、これを撮像して現実空間画像を生成する。続いて、画像撮像部１０の一部であるビデオキャプチャカード５１０が、この画像を画角算出部３として機能するプログラムが扱う形式に変換する。そして、ＣＰＵ５０１が画角算出部３として機能するプログラムを実行することで、現実空間画像中のマーカの位置（「現実マーカの位置」と称する）を求める。これは例えば、マーカには特定の色を配色しているので、現実空間画像においてマーカの色を検索し、該当する色の領域の重心位置をマーカの画像中における位置として判定する。また、レンズ部１の画角の変更によって、画像上のマーカの大きさは変化するが、これにおいても同様に、該当する色の領域の重心位置をマーカの画像中における位置として判定する。
【００６６】
次に、ステップＳ１２では、ＣＰＵ５０１が画角算出部３として機能するプログラムを実行することで、外部記憶装置５０７もしくは記憶媒体ドライブ５０８からＲＡＭ５０２にマーカデータをロードし、仮想空間中にマーカデータで特定されるマーカを配置する。そしてステップＳ２でＲＡＭ５０２に入力された位置データ、姿勢データで決定される仮想空間中の位置および姿勢において、ステップＳ４でＲＡＭ５０２に入力された補正前画角データで決定される撮影画角の仮想の視点から仮想空間を撮影した場合に得られる画像上のマーカの位置（「仮想マーカの位置」と称する）を算出する。この仮想マーカの位置は、ステップＳ２で得られた位置および姿勢においてステップＳ４で算出した画角で現実空間を撮像した場合に現実空間画像上にマーカが位置すると計算される位置である。視点（仮想の視点）の位置、姿勢、画角とマーカの位置とを用いることによって、この視点からマーカを撮像した場合の撮像面上における位置は公知の行列変換によって求めることができるので、この処理における詳細な説明は省略する。
【００６７】
図９は、現実空間画像上における現実マーカの位置と仮想マーカの位置とを示す図である。１９００は現実空間画像で、１９０１から１９０３は夫々画像撮像部１０によって撮像され取込まれた現実マーカである。また１９５１から１９５３は夫々現実マーカ１９０１から１９０３に対応した仮想マーカであって、ステップＳ１２において求めた夫々の仮想マーカの位置に位置するものである。仮想空間の描画に利用する画角と画像撮影部１０で撮影した現実空間画像の画角が同じであれば、現実マーカと仮想マーカの位置は画像上で一致する。よって、以下では現実マーカ１９０１と仮想マーカ１９５１との位置の誤差、現実マーカ１９０２と仮想マーカ１９５２との位置の誤差、現実マーカ１９０３と仮想マーカ１９５３との位置の誤差の全てが極力小さくなるように、ステップＳ４で得た補正前画角データを補正する。
【００６８】
この補正は、ステップＳ１３において行う。まず、ＣＰＵ５０１が画角算出部３として機能するプログラムを実行することで、この誤差を判定し、画角の補正量を求めるべきか否かを判断する。判定の基準としては例えば、現実マーカと仮想マーカとで、対応するマーカ間のずれ量（ずれ量ベクトルの大きさ）の平均値を求め、この平均値がある基準値（所定の閾値）を越えているか否かを判断する。
【００６９】
画角の補正量を求めるべきであると判断すると、補正前画角データを、比較用画角データとしてＲＡＭ５０２に記憶させる。続いて、画角の補正量を求め、求めた補正量をＲＡＭ５０２に記憶させる。以下では画角の補正量を求める処理について説明する。
【００７０】
図１０は現実空間画像上における仮想マーカの位置と現実マーカの位置とを用いて画角の補正量を求める方法を説明する図である。同図において黒丸は現実マーカの位置を示し、三角は現実空間画像上における仮想マーカの位置を示す。例えば同図に示すように、仮想マーカの位置が現実マーカの位置に対して画像の外側に向かってずれている場合には、現実空間画像の画角はステップＳ４で算出した画角よりも大きい。よってこのような場合には画角の補正値を正の値にし、現実マーカの位置と仮想マーカの位置とを一致させるようにする。
【００７１】
一方、図１１は図１０に示した状態とは異なる場合に、現実空間画像上における仮想マーカの位置と現実マーカの位置とを用いて画角データの補正量を求める方法を説明する図である。同図において黒丸は現実マーカの位置を示し、白の三角は現実空間画像上における仮想マーカの位置を示す。例えば同図に示すように、仮想マーカの位置が現実マーカの位置に対して画像の内側に向かってずれている場合には、現実空間画像の画角はステップＳ４で算出した画角よりも小さい。よってこのような場合には画角の補正量を負の値にし、現実マーカの位置と仮想マーカの位置とを一致させるようにする。
【００７２】
補正値の絶対値は本実施形態では一定の値とするが、上記ずれ量ベクトルの大きさ（即ちずれ量）の平均値に比例した値としても良い。
【００７３】
また、現実マーカと仮想マーカの位置関係の判断は、例えば、現実マーカの位置および仮想マーカの位置の、画像中心を原点とした時の座標値の絶対値を比較すればよい。ある現実マーカＲの位置を（Ｒｘ、Ｒｙ）、それに対応する仮想マーカＶの位置を（Ｖｘ、Ｖｙ）とすると（横方向をｘ軸、縦方向をｙ軸とする）、｜Ｒｘ｜＞｜Ｖｘ｜であれば、仮想マーカＶは横方向に関しては、現実マーカＲよりも内側にあると判断でき、｜Ｒｙ｜＜｜Ｖｙ｜であれば、仮想マーカＶは縦方向に関しては、現実マーカＲよりも外側にあると判断できる。他のマーカに関しても、同じ判断がなされれば、横方向の画角に対しては負の補正値を、縦方向の画角に対しては正の補正値を加えることになる。ある仮想マーカは対応する現実マーカの内側にあり、別の仮想マーカは外側にある、といった状況になった場合には、ずれ量等を利用して全体としての傾向を判断する。例えば、各マーカに対して計算できる｜Ｒｘ｜−｜Ｖｘ｜の合計が正であれば、全体の傾向は｜Ｒｘ｜＞｜Ｖｘ｜であるから、仮想マーカＶは横方向に関しては、現実マーカＲよりも内側にあると判断し、同じく各マーカに対して計算できる｜Ｒｙ｜−｜Ｖｙ｜の合計が負であれば、全体の傾向は｜Ｒｙ｜＜｜Ｖｙ｜であるから、仮想マーカＶは縦方向に関しては、現実マーカＲよりも外側にあると判断する。
【００７４】
以上の画角の補正量を求める処理は、現実マーカと仮想マーカとで対応するマーカ間のずれ量の平均値がある基準値よりも小さくなるまで行う繰り返し行う。そして現実マーカと仮想マーカとで対応するマーカ間のずれ量の平均値がある基準値よりも小さくなると、その時点の補正量をＲＡＭ５０２に記憶させ、処理をステップＳ１４に移行する。
【００７５】
以上の処理により求めた画角の補正量はＲＡＭ５０２に保持されているので、画角が変更されない限りは、ステップＳ１４において、ステップＳ４でＲＡＭ５０２に保持しておいた補正前画角データを、ステップＳ１３でＲＡＭ５０２に保持しておいた画角の補正量を用いて補正し、得たデータを画角データとしてＲＡＭ５０２に出力する。補正後は、ステップＳ５へと進み、補正済みの画角値を示すこの画角データを利用して、第１の実施形態と同様の処理を行う。
【００７６】
上記のようにして求めた補正済みの画角データは、画像撮影部１０で撮影した現実空間画像の画角と一致する。そして、画像撮影部１０で撮影した現実空間画像と、画像合成部８へ入射する現実空間の風景が同じ画角であるから、補正済みの画角データは、画像合成部８へ入射する現実空間の風景の画角とも一致する。ゆえに、この補正済みの画角データを利用して、ステップＳ５以降を第１の実施形態と同様の処理を行うと、現実空間の風景とそれに重ね合わさる仮想空間画像の画角が一致した複合現実空間画像が、利用者に提示される。
【００７７】
＜第３の実施形態＞
第２の実施形態に従った、画角算出部３が算出する画角の補正値を求める処理では、用いる特徴点としてマーカを用いたが、特徴点は人為的に配置されたものでなくても良く、例えば、画像撮像部１０により撮像される画像に含まれている机の角や窓枠など、現実空間における３次元座標が既知である自然特徴を用いても良い。
【００７８】
この場合、画像撮像部１０により撮像された画像内に、特徴点として用いる対象が含まれているか否かをチェックする処理を図８に示した処理に加える必要がある。この処理は例えば、特徴点として用いるべき対象の画像（テンプレート画像）を予め外部記憶装置５０７等に記憶しておき、画像撮像部１０から得られた現実空間画像とテンプレート画像とのマッチングを行い、特徴点として用いる対象を検出しても良い。
【００７９】
＜他の実施形態＞
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
また上記記憶媒体には、インターネットやＬＡＮなどのネットワークに使用される通信ケーブルなどの通信媒体が含まれる。すなわち、前述した実施形態のプログラムコードがネットワーク上のサーバ装置に保持されている場合には、このサーバ装置から上記ネットワークを介してコンピュータにダウンロードすることで、コンピュータにプログラムを導入することができる。よって、導入されたプログラムはコンピュータ上のＣＰＵやＭＰＵなどの制御回路により実行され、その結果、コンピュータは前述した実施形態に機能が実現されるわけであるから、前述した記憶媒体に上記ネットワークに使用される通信ケーブルなどの通信媒体が含まれることはいうまでもない。
【００８２】
本発明の実施態様の例を以下に列挙する。
【００８３】
［実施態様１］
レンズを通して観察される現実空間の風景光に仮想空間画像の表示光を重ね合わせるための情報処理装置であって、
前記レンズの画角を変更する画角変更手段と、
前記レンズの画角を計測する第１の計測手段と、
利用者視点の位置、姿勢、および、前記レンズの画角とを用いて、仮想空間画像を生成する画像生成手段と、
前記画像生成手段により生成された仮想空間画像を所定の表示装置に出力する画像表示手段と、
前記レンズを通して観察される現実空間の風景光と前記画像表示手段が表示する仮想空間画像の表示光とを合成する合成手段と
を備えることを特徴とする情報処理装置。
【００８４】
［実施態様２］
更に、現実空間における位置が既知の特徴点を含む現実空間を前記レンズ越しに撮像する撮像手段と、
前記撮像手段により撮像された前記現実空間の画像に含まれる前記特徴点の、当該画像における位置を検出する位置検出手段と、
前記利用者視点の位置、姿勢、および、前記第１の計測手段により得られる画角で規定される仮想の視点を設定し、当該視点から前記現実空間を見た場合に見える前記特徴点の、前記画像における位置を求める位置計算手段と、
前記撮像装置により撮像された画像における、前記位置検出手段が検出した位置と前記位置計算手段が計算した位置とのずれを一致させる、前記第１の計測手段により得られる画角の補正量を求める補正量計算手段と、
を備えることを特徴とする実施様態１に記載の情報処理装置。
【００８５】
［実施態様３］
更に、前記補正量計算手段は、前記位置検出手段が検出した位置と前記位置計算手段が計算した位置とのずれの方向に従って、前記第１の計測手段により得られる画角の補正量を求めることを特徴とする実施態様２に記載の情報処理装置。
【００８６】
［実施様態４］
更に、前記利用者視点の位置、及び／又は姿勢を計測する第２の計測手段を備えることを特徴とする実施態様１乃至３の何れか１項に記載の情報処理装置。
【００８７】
［実施態様５］
レンズを通して観察される現実空間の風景光に仮想空間画像の表示光を重ね合わせるための情報処理方法であって、
前記レンズの画角を変更する画角変更工程と、
前記レンズの画角を計測する第１の計測工程と、
利用者視点の位置、姿勢、および、前記レンズの画角とを用いて、仮想空間画像を生成する画像生成工程と、
前記画像生成工程により生成された画像を所定の表示装置に出力する画像表示工程と、
前記レンズを通して観察される現実空間画像の風景光と前記画像表示手段が表示する仮想空間画像の表示光とを合成する合成工程と
を備えることを特徴とする情報処理方法。
【００８８】
［実施態様６］
更に、現実空間における位置が既知の特徴点を含む現実空間を前記レンズ越しに撮像する撮像工程と、
前記撮像工程により撮像された前記現実空間の画像に含まれる前記特徴点の、当該画像における位置を検出する位置検出工程と、
前記利用者視点の位置、姿勢、および、前記第１の計測工程により得られる画角で規定される仮想の視点を設定し、当該視点から前記現実空間を見た場合に見える前記特徴点の、前記画像における位置を求める位置計算工程と、
前記撮像装置により撮像された画像における、前記位置検出工程が検出した位置と前記位置計算工程が計算した位置とのずれを一致させる、前記第１の計測手段により得られる画角の補正量を求める補正量計算工程と
を備えることを特徴とする実施様態５に記載の情報処理方法。
【００８９】
［実施態様７］
更に、前記補正量計算工程は、前記位置検出工程が検出した位置と前記位置計算工程が計算した位置とのずれの方向に従って、前記第１の計測手段により得られる画角の補正量を求めることを特徴とする実施態様６に記載の情報処理方法。
【００９０】
［実施様態８］
更に、前記利用者視点の位置、及び／又は姿勢を計測する第２の計測工程を備えることを特徴とする実施態様５乃至７の何れか１項に記載の情報処理方法。
【００９１】
［実施態様９］
コンピュータを実施態様１乃至４の何れか１項に記載の情報処理装置として機能させることを特徴とするプログラム。
【００９２】
［実施態様１０］
コンピュータに実施態様５乃至８の何れか１項に記載の情報処理方法を実行させることを特徴とするプログラム。
【００９３】
［実施態様１１］
実施態様９又は１０に記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
【図面の簡単な説明】
【００９４】
【図１】画角が可変のレンズを通して観察される現実空間の風景光と、利用者視点の位置、姿勢、および、前記レンズの画角に基づいて生成した仮想空間画像の表示光とを合成して利用者に提供するための本発明の第１の実施形態に係る情報処理装置の機能構成を示すブロック図である。
【図２】レンズ部１、位置姿勢計測部４、画像表示部７、画像合成部８が一体化した装置を利用者４０の頭部に装着し、レンズ部１を通過する現実空間の風景光と、上記各ソフトウェアモジュールを実行するコンピュータ４１が生成する仮想空間画像の表示光とを利用者４０の視点へ入射させる情報処理装置の形態を示す図である。
【図３】レンズ部１、画像表示部７、画像合成部８が一体化した装置５１が支柱５０に、同図矢印の方向に回転可能なように取り付けられており、レンズ部１を通過する現実空間の風景光と、上記各ソフトウェアモジュールを実行するコンピュータ４１が生成する仮想空間画像の表示光とを装置５１の利用者の視点へ入射させる情報処理装置の形態を示す図である。
【図４】本発明の第１の実施形態に係るコンピュータの基本構成を示す図である。
【図５】利用者視点の位置、姿勢、および、レンズ部１の画角を計測し、計測した位置、姿勢、および、画角を用いて仮想空間画像を生成して画像表示部８に表示させ、レンズ部１を通過して入射した現実空間の風景光と合成する処理のフローチャートである。
【図６】画角が可変のレンズを通して観察される現実空間の風景光と、利用者視点の位置、姿勢、および、前記レンズの画角を計測し、計測結果を補正して得た画角に基づいて生成した仮想空間画像の表示光とを合成して利用者に提供するための本発明の第２の実施形態に係る情報処理装置の機能構成を示すブロック図である。
【図７】本発明の第２の実施形態に係るコンピュータの基本構成を示す図である。
【図８】利用者視点の位置、姿勢、そしてレンズ部１の画角を計測し、計測した画角を補正し、計測した位置、姿勢、および、補正した画角を用いて仮想空間画像を生成して画像表示部８に表示させ、レンズ部１を通過して入射した現実空間の風景光と合成する処理のフローチャートである。
【図９】現実空間画像上における現実マーカの位置と仮想マーカの位置とを示す図である。
【図１０】現実空間画像上における仮想マーカの位置と現実マーカの位置とを用いて画角の補正量を求める方法を説明する図である。
【図１１】図１０に示した状態とは異なる場合に、現実空間画像上における仮想マーカの位置と現実マーカの位置とを用いて画角の補正量を求める方法を説明する図である。
【図１】
2005122233.tif 000003
【図２】
2005122233.tif 000004
【図３】
2005122233.tif 000005
【図４】
2005122233.tif 000006
【図５】
2005122233.tif 000007
【図６】
2005122233.tif 000008
【図７】
2005122233.tif 000009
【図８】
2005122233.tif 000010
【図９】
2005122233.tif 000011
【図１０】
2005122233.tif 000012
【図１１】
2005122233.tif 000013