(57)【要約】【課題】  仮想現実空間上や複合現実空間上において、観察者の動作によって、シミュレーション結果の時間に関する設定を行うための技術を提供する。【解決手段】  物体の動作のシミュレーションを行うシミュレータ部１３３０と、シミュレーションの結果に基づいて仮想空間の画像を生成して表示装置１０１０に表示する画像生成部１３４０と、表示される前記仮想空間を観察する観察者の所定部位の位置及び姿勢を算出する位置姿勢算出部１３１０と、前記観察者の手の位置及び姿勢に基づいて、結果を表示すべきシミュレーションの時刻を設定する時間設定部１３２０とを備える。【選択図】  図１
2011008351.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションを行うシミュレーション手段と、
前記シミュレーションの結果に基づいて仮想空間の画像を生成して表示する表示手段と、
表示される前記仮想空間を観察する観察者の所定部位の位置及び姿勢を算出する算出手段と、
前記観察者の所定部位の位置及び姿勢に基づいて、結果を表示すべき前記シミュレーションの時刻を設定する設定手段とを有することを特徴とする画像処理装置。
【請求項２】
前記設定手段は前記観察者の所定部位の位置姿勢における時間的な変化に基づいて、シミュレーションの時間に関する設定を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記算出手段が更に、前記観察者の頭部の位置及び姿勢も算出することを特徴とする請求項１乃至２に記載の画像処理装置。
【請求項４】
前記表示手段が、前記観察者の頭部に装着する頭部装着型表示装置を有することを特徴とする請求項１乃至３に記載の画像処理装置。
【請求項５】
前記頭部装着型表示装置が現実空間を透過させて表示することを特徴とする請求項１乃至４に記載の画像処理装置。
【請求項６】
更に、現実空間の映像を撮像する撮像手段を備え、前記表示手段は、前記仮想物体の画像を当該撮像手段によって撮像された現実空間の映像に重畳して表示することを特徴とする請求項１乃至５に記載の画像処理装置。
【請求項７】
前記所定部位は手であることを特徴とする請求項１乃至６に記載の画像処理装置。
【請求項８】
前記所定部位は、前記観察者が物品を把持または装着する部位であることを特徴とする請求項１乃至７に記載の画像処理装置。
【請求項９】
前記設定手段は、前記観察者の頭部の位置姿勢を利用して設定を行うことを特徴とする請求項１乃至８に記載の画像処理装置。
【請求項１０】
前記仮想空間内の仮想物体の位置及び姿勢を算出する手段を更に備え、前記設定手段が当該仮想物体の位置姿勢の時間的な変化を利用することを特徴とする請求項１乃至９に記載の画像処理装置。
【請求項１１】
前記算出手段は、複数の所定部位の位置及び姿勢を算出し、前記設定手段は、当該複数の所定部位の位置姿勢を利用することを特徴とする請求項１乃至１０に記載の画像処理装置。
【請求項１２】
前記算出手段は、複数の観察者について所定部位の位置姿勢を算出する手段を備え、前記設定手段は、当該複数の観察者における所定部位の位置姿勢を利用することを特徴とする請求項１乃至１１に記載の画像処理装置。
【請求項１３】
シミュレーションを行うシミュレーション工程と、
前記シミュレーションの結果に基づいて仮想空間の画像を生成して表示する表示工程と、
表示される前記仮想空間を観察する観察者の所定部位の位置及び姿勢を算出する算出工程と、
前記観察者の所定部位の位置及び姿勢に基づいて、結果を表示すべき前記シミュレーションの時刻を設定する設定工程とを備えたことを特徴とする画像処理方法。
【請求項１４】
コンピュータに請求項１３に記載の画像処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、仮想空間または現実空間において設計データのシミュレーションの検証作業を行う際にシミュレーションに対して操作を行う画像処理方法及び画像処理装置に関する。
【背景技術】
【０００２】
従来、機械設計の分野では三次元ＣＡＤシステムが用いられており、機構、及び機構の構成部品を立体的に表示しながら設計を行うことが可能になっている。この種のシステムにおいては、例えばアクチュエーターやモータ等の能動部品やセンサー等を制御するための制御プログラムの開発を支援するため、機構を実際に組立てることなく、各構成部品の動作をシミュレートする機能を有している。このようなシミュレーションの可能な三次元ＣＡＤシステムは、例えば特許文献１に開示されている。また、特許文献２において開示されているように、複数のＣＡＤシステムによって設計されたデータを使用して、動作シミュレーションを行いながら設計を行うことを可能にした三次元ＣＡＤシステムもある。
【０００３】
設計データの妥当性を検証するためにシミュレーションを行う際には、シミュレーションに対して種々のパラメータを設定する。例えば特許文献３に開示されているように、複数のシミュレーションモジュールに対する入力パラメータの設定をＧＵＩで設定するパラメータ設定方法がある。
【０００４】
一方、現実空間と仮想空間との繋ぎ目のない結合を目的とした、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）に関する研究が近年、盛んに行われている。複合現実感の提示を行う画像表示装置は、例えば次のような構成を有する装置である。即ち、ビデオカメラ等の撮像装置が撮像した現実空間の画像上に、撮像装置の位置及び姿勢に応じて生成した仮想空間の画像（例えばコンピュータグラフィックスにより描画された仮想物体や文字情報等）を重畳描画した画像を表示する装置である。このような装置には、例えば、ＨＭＤ（ヘッドマウントディスプレイ、頭部装着型表示装置）を用いることができる。
【０００５】
また、係る画像表示装置は、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成した仮想空間の画像を表示する光学シースルー方式によっても実現される。
【０００６】
このような画像表示装置の応用として、患者の体表面に体内の様子を重畳表示する手術支援や、現実空間に浮遊する仮想の敵と戦う複合現実感ゲーム等がある。この他にも、例えば、市街地を撮像することで得られる現実空間の画像中に含まれる著名な建造物等の名称や案内を仮想空間画像として重畳表示するナビゲーションがある。またこの他にも、例えば、ビルの建設予定地を撮像することで得られる画像中に建設予定のビルのコンピュータグラフィックス映像を重畳表示する景観シミュレーションがある。さらにこの他にも、例えば、三次元ＣＡＤシステムで設計されたデータと、設計データをもとに解析（ＣＡＥ：Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）処理を行った結果とを、現実空間中に重畳表示する設計支援システムがある。このような設計支援システムは、例えば特許文献４に開示されている。以下では、このような画像表示装置を用いて、複合現実感を提示する空間を複合現実空間と表記し、一方、仮想現実感を提示する空間を仮想現実空間と表記する。
【０００７】
ところで、複合現実空間や仮想現実空間を観察者に提示する画像表示装置に対して、仮想空間に対して操作を行うためのユーザインターフェースは各種提案されている。例えば特許文献５に開示されているように、体験者の頭部の位置・姿勢の計測結果と体験者の所定部位の位置・姿勢の計測結果から体験者の意図するアクション情報を生成するユーザインターフェースがある。この他にも、例えば特許文献６に開示されているように、体験者の所定部位の位置・姿勢の計測結果から仮想物体の動作・内部状態を決定するユーザインターフェースがある。
【０００８】
以上の技術を組み合わせることで、三次元ＣＡＤなどで作成されたモデルをシミュレーションで動作させ、そのシミュレーション結果を現実空間に仮想空間画像として重畳表示することで、シミュレーション結果を確認することが可能となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特登録０３８９７９４８号公報
【特許文献２】特開２００６−１９５９７１号公報
【特許文献３】特開２００６−２７７０８４号公報
【特許文献４】特開２００６−０４８２７１号公報
【特許文献５】特登録０３３７３２９６号公報
【特許文献６】特登録０３５１７６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし従来では、シミュレーションの時間に関する設定を行うには２次元ディスプレイで設定することが必要であった。シミュレーションの時間に関する設定とは、例えば表示するシミュレーションの時刻の設定や、例えばシミュレーションを行う時間刻み幅の設定がある。さらに例えば、シミュレーション全体の時間幅の設定がある。したがって、仮想現実空間や複合現実空間上でシミュレーションを観察する際にも、観察者が例えば、任意の時刻や時間幅や時間刻みのシミュレーション結果を確認したい場合には、その都度２次元ディスプレイで設定する必要がある。そのため、観察者の没入感を阻害してしまう問題があった。
【００１１】
そこで、本発明は、仮想現実空間上や複合現実空間上において、観察者の操作によってシミュレーションの時間に関する情報を設定できることを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明における画像処理装置は、シミュレーションを行うシミュレーション手段と、前記シミュレーションの結果に基づいて仮想空間の画像を生成して表示する表示手段と、表示される前記仮想空間を観察する観察者の所定部位の位置及び姿勢を算出する算出手段と、前記観察者の所定部位の位置及び姿勢に基づいて、結果を表示すべき前記シミュレーションの時刻を設定する設定手段とを備える。
【発明の効果】
【００１３】
本発明によれば、仮想現実空間や複合現実空間上でシミュレーションの時間に関する設定が行えるため、観察者の没入感を阻害することなく、任意の時間におけるシミュレーション結果を観察者に提示することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係るシステムの機能構成例を示すブロック図である。
【図２】画像処理装置に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【図３】第１の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
【図４】第１の実施形態でのシミュレーション結果の表示例を示す図である。
【図５】第１の実施形態でのシミュレーション結果の表示例を示す図である。
【図６】第１の実施形態でのシミュレーション結果の表示例を示す図である。
【図７】第１の実施形態でのシミュレーション結果の表示例を示す図である。
【図８】第２の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
【図９】第３の実施形態でのシミュレーション結果の表示例を示す図である。
【図１０】第７の実施形態に係るシステムの機能構成例を示すブロック図である。
【図１１】第７の実施形態に係る画像処理装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本発明の好適な実施形態について詳細に説明する。
【００１６】
＜実施形態１＞
図１は、本実施形態に係るシステムの機能構成例を示すブロック図である。図１に示す如く、本実施形態に係るシステムは、画像処理装置１３００と、磁気を発生させる磁気トランスミッタ１２００と、磁気センサー１１００と、頭部装着型表示装置の一例としてのＨＭＤ１０００と、で構成されている。ここで、画像処理装置１２００とＨＭＤ１０００とは互いにデータ通信が可能なように接続されている。従って、画像処理装置１２００とＨＭＤ１０００との間の接続は、有線、無線の何れであっても構わない。
【００１７】
先ず、ＨＭＤ１０００について説明する。
【００１８】
１０１０は液晶画面などで構成されている表示装置で、画像処理装置から送出された画像を表示する。表示装置１０１０はそれぞれ右目用と左目用とが設けられており、夫々は、ＨＭＤ１０００を頭部に装着した観察者の右目、左目の眼前に位置するように、ＨＭＤ１０００に取り付けられている。
【００１９】
１０２０は磁気トランスミッタ１２００が発生させた磁場の変化を計測するためのＨＭＤ１０００の位置姿勢を計測する磁気センサーで、計測結果を画像処理装置１３００に入力する。
【００２０】
また、磁気センサー１１００は観察者の手に装着されている。磁気センサー１１００は、磁気センサー１０２０と同様に、磁気トランスミッタ１２００が発生させた磁場の変化を計測し、その計測結果を画像処理装置１３００に入力する。
【００２１】
次に、画像処理装置１３００について説明する。
位置姿勢算出部１３１０は、磁気センサー１０２０、１１００の計測結果を用いて、各磁気センサーの位置姿勢を算出し、データ記憶部１３５０に出力する。これにより、ＨＭＤ１０００と観察者の手の位置姿勢を計測することができる。
【００２２】
時間設定部１３２０は、シミュレーションにおける時間に関する情報（時間情報）を設定し、設定した時間情報をデータ記憶部１３５０に出力する。ここで、シミュレーションにおける時間情報は、例えば、表示するシミュレーション結果の時刻であっても良いし、例えばシミュレーションを行う時間刻み幅の設定であっても良い。また例えば、シミュレーションを行う全体の時間幅であっても良い。
【００２３】
シミュレータ部１３３０は、シミュレーションを実行し、シミュレーション結果をデータ記憶部１３５０に出力する。
【００２４】
画像生成部１３４０は、データ記憶部１３５０に格納されている仮想空間のデータに基づいて、仮想空間を構築する。仮想空間のデータには、シミュレータ部１３３０で行われたシミュレーション結果や、仮想空間を構成する各仮想物体に係るデータや、仮想空間中を照射する光源に係るデータが含まれる。そして画像生成部１３４０は、データ記憶部１３５０に格納されている位置姿勢を有する視点を仮想空間内に設定する。そして、係る視点から見える仮想空間の画像（仮想空間画像）を生成する。なお、所定の位置姿勢を有する視点から見える仮想空間の画像を生成するための技術については周知の技術であるので、これについての詳細な説明は省略する。
【００２５】
データ記憶部１３５０は、上述の通り、様々な情報を格納するためのものであり、ＲＡＭやハードディスクドライブ装置などにより構成されている。なお、データ記憶部１３５０には、上記説明においてデータ記憶部１３５０に格納するものとして説明した情報の他に、本実施形態において既知の情報として説明するものについても格納されているものとする。
【００２６】
図３は、画像処理装置１３００が、仮想空間画像を生成し、ＨＭＤ１０００に対して出力するために行う処理のフローチャートである。
【００２７】
先ず、ステップＳ３０１０では、位置姿勢算出部１３１０により、ＨＭＤ１０００の位置姿勢を算出する。
【００２８】
次に、ステップＳ３０２０では、位置姿勢算出部１３１０により、観察者の所定部位である手の位置姿勢を算出する。
【００２９】
次に、ステップＳ３０３０では、位置姿勢算出部１３１０で算出した観察者の所定部位である手の位置姿勢を用いて、時間設定部１３２０により、シミュレーションの時間情報を設定する。
【００３０】
次に、ステップＳ３０３０で設定した時間情報におけるシミュレーションが行われている場合や、シミュレーションを行わない指示の入力や条件が満たされている場合には、ステップＳ３０４０を介して、ステップＳ３０６０に進む。一方、ステップＳ３０３０で設定した時間情報におけるシミュレーションが行われていない場合や、シミュレーションを行わない指示の入力や条件が満たされていない場合には、ステップＳ３０５０に進む。
【００３１】
次に、ステップＳ３０５０では、シミュレータ部１３３０により、シミュレーションを実行する。
【００３２】
次に、ステップＳ３０６０では、画像生成部１３４０により、ステップＳ３０３０で設定したシミュレーションの時間情報における、ステップＳ３０１０で計算した位置姿勢から見える仮想空間の画像を生成する。ここで、画像生成部１３４０が生成する仮想空間の画像は、シミュレータ部１３３０がステップＳ３０５０で実行したシミュレーション結果を用いても良い。また例えば、既にシミュレータ部１３３０が実行したシミュレーションの結果をデータ記憶部１３５０から読み出して用いても良い。さらに例えば、既にシミュレータ部１３３０が実行したシミュレーションの結果を補間して用いても良い。
【００３３】
次に、本処理の終了指示が入力された、若しくは本処理を終了する条件が満たされた場合には本処理を終了する。一方、本処理の終了指示は入力されてもいないし、本処理を終了する条件も満たされていない場合には、ステップＳ３０７０を介して、処理をステップＳ３０１０に戻す。
【００３４】
時間設定部１３２０が観察者の所定部位の位置姿勢を用いて設定する時間情報の方法は様々挙げられるが、以下ではその一例について説明する。
【００３５】
図４は、画像生成部１３４０が生成する画像であり、観察者の所定部位である手の位置姿勢によって、表示するシミュレーション時刻が変化し、生成される画像が変化することを示した図である。
【００３６】
４０１０は、仮想空間を表す画像であり、データ記憶部１３５０が保持している仮想空間をＨＭＤ１０００の位置姿勢から見た映像として画像生成部１３４０が描画する。
【００３７】
４０２０は、モータであり、歯車４０４０とつながっている。
【００３８】
４０４０、４０５０、４０６０、４０７０は、歯車であり、モータ４０２０とリンク機構を形成している。
【００３９】
４０３０は、観察者の手を表している仮想画像であり、位置姿勢算出部１３１０で算出した観察者の手の位置姿勢に描画される。
【００４０】
４０８０、４０９０、４１００、４１３０はシミュレーションの全体時間・現在時刻・刻み幅を示したものである。時刻が進むと黒い網掛けの部分が増加していき、逆に時刻が戻ると黒い網掛けの部分が減少していく。
【００４１】
図４（ｂ）では、図４（ａ）の状態から観察者の手４０３０が矢印４１１０で示すような時計回りに一周動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーション時刻を図４（ａ）のシミュレーション時刻ｔから進んだ時刻ｔ＋Δｔに設定する。その結果として、表示されるシミュレーション結果はシミュレーション時刻がｔ＋Δｔのシミュレーション結果となり、ｔ＋Δｔ時点でのシミュレーション結果がＨＭＤ１０００に表示される。
【００４２】
図４（ｃ）では、図４（ａ）の状態から観察者の手４０３０が矢印４１２０で示すような反時計回りに一周動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーション時刻を図４（ａ）のシミュレーション時刻ｔから減じた時刻ｔ−Δｔに設定する。その結果として、表示されるシミュレーション結果はシミュレーション時刻がｔ−Δｔのシミュレーション結果となり、ｔ−Δｔ時点でのシミュレーション結果がＨＭＤ１０００に表示される。
【００４３】
図４（ｄ）では、図４（ａ）の状態から観察者の手４０３０が矢印４１４０で示すような時計回りに図４（ｂ）の場合よりも速く動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーション時刻を図４（ｂ）の場合よりも増加した時刻ｔ＋２Δｔに設定する。その結果として、表示されるシミュレーション結果はシミュレーション時刻がｔ＋２Δｔのシミュレーション結果となり、ｔ＋２Δｔ時点でのシミュレーション結果がＨＭＤ１０００に表示される。
【００４４】
図５は、画像生成部１３４０が生成する画像であり、シミュレーション結果がアニメーション再生されている場合に、観察者の手の位置姿勢によって、表示するシミュレーション時刻が変化することを示した図である。図４と同じ部分については同じ番号をつけており、その説明を省略する。
【００４５】
５０１０、５０２０、５０３０、５０４０はシミュレーションの全体時間・現在時刻・刻み幅を示したものである。時刻が進むと黒い網掛けの部分が増加していき、逆に時刻が戻ると黒い網掛けの部分が減少していく。
【００４６】
図５（ａ）では、観察者の手４０３０が何も操作しなかった場合を示したものである。このとき、時間設定部１３２０は、シミュレーション結果の表示時刻に定められた増分を加える。その結果として、表示されるシミュレーション結果の時刻は５０１０の状態から５０２０の状態に変化する。
【００４７】
図５（ｂ）では、観察者の手４０３０が矢印５０５０のように時計回りに一周動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーション結果の表示時刻に図５（ａ）よりも大きな増分を加える。その結果として、表示されるシミュレーション結果は５０２０の時刻の状態より多く進んだ５０３０の時刻の状態に変化する。
【００４８】
図５（ｃ）では、観察者の手４０３０が矢印５０６０のように反時計回りに一周動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーション結果の表示時刻に図５（ａ）よりも小さな増分を加える。その結果として、表示されるシミュレーション結果は５０２０の時刻の状態よりも少なく進んだ５０４０の時刻の状態に変化する。
【００４９】
図６は、画像生成部１３４０が生成する画像であり、観察者の手の位置姿勢によって、シミュレーションを行う時間の刻み幅が変化することを示した図である。図４と同じ部分については同じ番号をつけており、その説明を省略する。
【００５０】
図６（ｂ）では、観察者の手４０３０が矢印６０３０のように図６（ａ）の状態から鉛直上向きに動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーションを行う時間刻み幅を図６（ａ）の状態よりも小さく設定する。その結果として、シミュレーションを行う時間の刻み幅は４０８０の状態から６０１０の状態に小さくなる。
【００５１】
図６（ｃ）では、観察者の手４０３０が矢印６０３０のように図６（ａ）の状態から鉛直下向きに動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーションを行う時間刻み幅を図６（ａ）の状態よりも大きく設定する。その結果として、シミュレーションを行う時間の刻み幅は４０８０の状態から６０２０の状態に大きくなる。
【００５２】
図７は、画像生成部１３４０が生成する画像であり、観察者の所定部位である手の位置姿勢によって、シミュレーションを行う全体の時間が変化する様子を示したものである。図４と同じ部分については同じ番号をつけており、その説明を省略する。
【００５３】
図７（ｂ）では、観察者の手４０３０が矢印７０３０のように図７（ａ）の状態から水平方向に動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーションを行う全体の時間幅を図７（ａ）の状態よりも大きく設定する。その結果として、シミュレーションを行う全体の時間幅は４０８０の状態から７０１０の状態に大きくなる。
【００５４】
図７（ｃ）では、観察者の手４０３０が矢印７０４０のように図７（ａ）の状態から水平方向に図７（ｂ）で動いた向きとは逆方向へ動いた様子を示したものである。このとき、時間設定部１３２０は、シミュレーションを行う全体の時間幅を図７（ａ）の状態よりも小さく設定する。その結果として、シミュレーションを行う全体の時間幅は４０８０の状態から７０１０の状態に小さくなる。
【００５５】
また、本実施形態では、観察者の所定部位の位置姿勢が時間的に変化することによって、時間設定部１３２０がシミュレーションの時間情報を設定していたが、本発明はこれに限定されない。例えば、観察者の所定部位の位置姿勢に対して基準となる位置姿勢の値を予め設定しておき、その基準となる位置姿勢からの相対的な変化によって、シミュレーションの時間情報を設定しても良い。ここで、基準となる位置姿勢の値の設定方法は、ある一定時間前の位置姿勢の値を基準としても良いし、対話的操作等によって位置姿勢の値を設定しても良い。
【００５６】
＜実施形態２＞
上記実施形態では、毎回頭部位置姿勢を計測していたが、例えば、ＨＭＤ１０００が固定されている場合には、毎回頭部位置姿勢を計測しなくても良い。この場合のフローチャートは図８となる。図３と同じ部分については同じ番号をつけており、その説明を省略する。
【００５７】
先ず、ステップＳ８０１０では、ＨＭＤ１０００の位置姿勢を設定する。このとき、ＨＭＤ１０００の位置姿勢の設定方法は、位置姿勢算出部１３１０で算出しても良いし、予め算出された位置姿勢の値をデータ記憶部１３５０から読み出しても良い。
【００５８】
次に、ステップＳ３０５０の後にステップＨＭＤ１０００の本処理の終了が入力された、若しくは本処理を終了する条件が満たされた場合には本処理を終了する。一方、本処理の終了指示は入力されてもいないし、本処理を終了する条件も満たされていない場合には、ステップＳ８０２０を介して、処理をステップＳ３０２０に戻す。
【００５９】
＜実施形態３＞
上記実施形態では、シミュレーションの時間情報の設定は観察者の所定部位の位置姿勢によって行っていたが、観察者の頭部の位置姿勢も用いて、シミュレーションの時間情報の設定を行っても良い。例えば、図４、図５では、観察者から見た観察者の手４０３０の相対的な位置姿勢によって時計周りや反時計周りを決定して、シミュレーションの時間情報を設定しても良い。また同様に、図６、図７では、観察者から見た観察者の手４０３０の相対的な位置姿勢によって水平方向、鉛直方向を決定して、シミュレーションの時間情報を設定しても良い。
【００６０】
また、シミュレーションの時間情報の設定は、仮想物体の位置姿勢も用いて行っても良い。
【００６１】
図９は、観察者の所定部位と頭部の位置姿勢と、仮想物体である歯車４０５０の位置姿勢とを用いて、表示するシミュレーションの時刻が変化することを示した図である。図４と同じ部分については同じ番号をつけており、その説明を省略する。
【００６２】
９０１０は、歯車４０５０の動作する向きと速度を示したものであり、本実施形態の説明のために付加的に表記したものであって、実際には描画されない矢印である。
【００６３】
図９（ｂ）では、図９（ａ）の状態から観察者の手４０３０が観察者から見て矢印９０４０で示すような時計回りに一周動いた様子を示したものである。このとき、時間設定部１３２０は、頭部の位置姿勢から見て歯車４０５０の動きと観察者の手４０３０の操作が逆向きであるとして、シミュレーション時刻を図９（ａ）の状態から時間を戻す方向に設定する。その結果として、表示されるシミュレーション結果は４０８０の時刻の状態から９０２０の時刻の状態へと変化する。
【００６４】
図９（ｃ）では、図９（ａ）の状態から観察者の手４０３０が観察者から見て矢印９０５０で示すような反時計回りに一周動いた様子を示したものである。このとき、時間設定部１３２０は、頭部の位置姿勢から見て歯車４０５０の動きと観察者の手４０３０の操作が同じ向きであるとして、シミュレーション時刻を図９（ａ）の状態から時間を進める方向に設定する。その結果として、表示されるシミュレーション結果は４０８０の時刻の状態から９０３０の時刻の状態へと変化する。
【００６５】
また、図９はシミュレーションの表示が停止状態であったが、本発明はこれに限定されない。例えば、シミュレーションの表示が再生状態の場合において、観察者の手４０３０が図９（ｂ）と同様の動きをしたとき、時間設定部１３２０はシミュレーションの再生速度を下げる設定や、止める設定や、逆再生の設定を行っても良い。また、例えば、シミュレーションの表示が再生状態の場合において、観察者の手４０３０が図９（ｃ）と同様の動きをしたとき、時間設定部１３２０はシミュレーションの再生速度を上げる設定をしても良い。
【００６６】
さらに、本実施形態において、シミュレーションの時間情報の設定に用いる仮想物体の選択は、予め設定されたものとしていたが、仮想物体の選択は、例えば観察者による対話的操作によって設定しても良い。また例えば、画像生成部１３４０が生成する画像の中心にある仮想物体を選択しても良い。さらに例えば、画像生成部１３４０が生成する画像において、表示サイズが大きい仮想物体を選択しても良いし、いかなる条件によって選択しても良い。
【００６７】
＜実施形態４＞
上記実施形態では、シミュレーションとして動作シミュレーションを用いたが、本発明はこれに限定されない。すなわち、本発明の画像処理装置は、観察者の所定部位の位置姿勢からシミュレーション時刻を設定する目的であれば、いかなるシミュレーションでも良い。
【００６８】
＜実施形態５＞
上記実施形態では、シミュレーション時刻の設定に用いた観察者の所定部位は手としていたが、本発明における観察者の所定部位は手だけに限定されない。即ち、シミュレーション時刻を設定する目的であれば、所定部位は手に限らず、指先、腕、肘、足、腿、膝、すね等の体の部位であっても良い。
【００６９】
また、観察者の所定部位は単一としていたが、本発明はこれに限定されない。即ち、例えば、両手の位置姿勢を所定部位としても良いし、両足の位置姿勢を所定部位としても良い。さらに、例えば、モーションキャプチャー技術を用いて推定した部位を所定部位としても良い。
【００７０】
加えて、観察者の所定部位は人体の部位には限定されない。即ち、観察者の所定部位は、冶工具、装身具、履物等の物品を人体に対して装着や把持できる部位であっても良い。
【００７１】
＜実施形態６＞
上記実施形態では、時間設定部１３２０が設定するシミュレーションの時間情報の設定方法は予め決められているが、シミュレーションの時間情報の設定方法についてはこれに限定されない。オペレータがシミュレーションの時間情報の設定に関する設定ファイルを対話的操作によって変更しても良い。また、シミュレーションの時間情報の設定方法を定めるＧＵＩを備えて、シミュレーションの時間情報の設定方法を定めても良い。
【００７２】
さらに、時間設定部１３２０が行うシミュレーションの時間情報の設定は、シミュレーション結果の表示状態によって変化しても良い。例えば、時間設定部１３２０が行うシミュレーションの時間情報の設定はシミュレーション結果の表示状態が停止している時に行われ、再生している時には行われないようにしても良い。また例えば、シミュレーション結果の表示状態が再生時、停止時、早送り時、逆再生時、巻戻し時の夫々によって、観察者の所定部位の位置姿勢や位置姿勢の時間的な変化が同様であっても、時間設定部１３２０が行う時間情報の設定は異なっても良い。
【００７３】
＜実施形態７＞
上記の実施形態では、ＨＭＤは観察者に仮想現実空間を提示する装置であったが、ＨＭＤは現実空間を透過して見る機構を備え、観察者に複合現実空間を提示する光学シースルータイプのＨＭＤであっても良い。
【００７４】
また、現実空間を撮像して、撮像した現実空間の画像と仮想空間の画像を合成して観察者に複合現実空間を提示するビデオシースルータイプのＨＭＤであっても良い。図１０は、ビデオシースルータイプのＨＭＤ１００００を利用した場合を示した図である。図１と同じ部分については同じ番号をつけており、その説明を省略する。
【００７５】
１００１０は、ビデオカメラなどの撮像装置であり、現実空間の動画像を撮像するものである。そして撮像装置１００１０は、撮像した動画像を構成する各フレームの画像（現実空間画像）を順次、画像処理装置１０１００に対して送出する。撮像装置１００１０はそれぞれ右目用と左目用とが設けられており、それぞれ、ＨＭＤ１００００を頭部に装着した観察者の右目から見える現実空間の動画像、左目から見える現実空間の動画像を撮像する。
【００７６】
画像入力部１０１１０は、撮像装置１００１０から送出された右目用の現実空間画像、左目用の現実空間画像を取得する。そして取得したそれぞれの現実空間画像をデータ記憶部１３５０に格納する。
【００７７】
画像合成部１０１２０は先ず、自身が管理するメモリ上に、データ記憶部１３５０に格納されている現実空間画像を描画する。そして描画したこの現実空間画像上に、画像生成部１０１２０が生成した仮想空間画像を重畳描画することで、係るメモリ上に現実空間画像と仮想空間画像との合成画像を生成する。そしてこの生成した合成画像をＨＭＤ１００００の表示装置１０１０に対して出力する。
【００７８】
図１１は、画像処理装置１０１００が、複合現実空間画像を生成し、ＨＭＤ１００００に対して出力するために行う処理のフローチャートである。図３と同じ部分については同じ番号をつけており、その説明を省略する。
【００７９】
先ず、ステップＳ１１０１０では、画像入力部１０１１０は、撮像装置１００１０から送出された現実空間画像（撮像結果）を取得（キャプチャ）する。
【００８０】
次に、ステップＳ１１０２０では、画像合成部１０１２０は、自身が管理するメモリ上に、ステップＳ１１０１０で取得した現実空間画像を描画する。そして次に、画像合成部１０１２０は上記メモリ上に描画した現実空間画像上に、画像生成部１３４０が生成した仮想空間画像を重畳描画することで、係るメモリ上に現実空間画像と仮想空間画像との合成画像を生成する。そして、この生成した合成画像をＨＭＤ１００００の表示装置１００１０に対して出力する。
【００８１】
次に、本処理の終了指示が入力された、若しくは本処理を終了する条件が満たされた場合には本処理を終了する。一方、本処理の終了指示は入力されてもいないし、本処理を終了する条件も満たされていない場合には、ステップＳ１１０３０を介して、処理をステップＳ１１０１０に戻す。
【００８２】
＜実施形態８＞
上記実施形態では、位置姿勢を計測するセンサーとして磁気センサーを用いたが、画像処理により位置姿勢を計測しても良い。また、赤外光を用いて位置
姿勢を計測しても良いし、超音波を用いて位置姿勢を計測しても良いし、機械的に位置姿勢を計測しても良い。
【００８３】
＜実施形態９＞
上記実施形態では、観察者は１人であったが、本発明は複数人の観察者によって行われても良い。このとき、時間設定部１３２０が行うシミュレーションの時間情報の設定は、例えば複数人の観察部位の位置姿勢を用いて設定しても良い。また例えば、仮想物体に対して近い観察者の所定部位の位置姿勢を、仮想物体に対して遠い観察者の所定部位の位置姿勢よりも優先的に用いて設定しても良い。さらに例えば、時間情報を設定できる観察者を予め設定しても良いし、対話的操作等により時間情報を設定できる観察者を変更しても良い。
【００８４】
＜実施形態１０＞
図１や図１０に示した、画像処理装置１３００、１０１００を構成する各部は全て、上記実施形態ではハードウェアで構成されているとして説明した。しかし、その一部をソフトウェアで構成しても良い。その場合、残りの部分をハードウェアとして実装しているコンピュータに、このソフトウェアを実行させることで、このコンピュータは、上記実施形態で説明した画像処理装置１１００の動作を行うことになる。
【００８５】
図２は、画像処理装置１３００、１０１００に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【００８６】
ＣＰＵ２００１は、ＲＡＭ２００２やＲＯＭ２００３に格納されているプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、上記各実施形態で画像処理装置１３００、１０１００が行うものとして説明した上述の各処理を実行する。
【００８７】
ＲＡＭ２００２は、外部記憶装置２００７や記憶媒体ドライブ２００８からロードされたプログラムやデータを一時的に記憶するための領域を有する。更にＲＡＭ２００２は、Ｉ／Ｆ（インターフェース）２００９を介して外部から受信したデータ（図１の場合、磁気計測結果）を一時的に記憶するためのエリアを有する。このとき、外部とは磁気センサー１０２０、１１００、撮像装置１００１０を指す。また、外部からの受信データとは、図１の場合、磁気計測結果、現実空間画像を指す。更に、ＲＡＭ２００２は、ＣＰＵ２００１が各処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ２００２は、各種エリアを適宜提供することができる。例えば、ＲＡＭ２００２は、図１に示したデータ記憶部１３５０としても機能する。
【００８８】
ＲＯＭ２００３には、コンピュータの設定データやブートプログラムなどが格納されている。
【００８９】
キーボード２００４，マウス２００５は、操作入力装置の一例としてのものであり、コンピュータのユーザが操作することで、各種の指示をＣＰＵ２００１に対して入力することができる。
【００９０】
表示部２００６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２００１による処理結果を画像や文字などで表示することができる。例えば、表示部２００６には、ＨＭＤ１０００の位置姿勢計測のために表示すべきメッセージなどを表示することができる。
【００９１】
外部記憶装置２００７は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置２００７には、ＯＳ（オペレーティングシステム）や、画像処理装置１３００が行うものとして説明した上述の各処理をＣＰＵ２００１に実行させるためのプログラムやデータが格納されている。係るプログラムには、位置姿勢算出部１３１０、物理パラメータ１３２０、シミュレータ部１３３０、画像生成部１３４０、画像入力部１０１１０、画像合成部１０１２０のそれぞれに対応するプログラムが含まれている。また、係るデータには、仮想空間のデータや、上述の説明において、既知の情報として説明したものが含まれている。外部記憶装置２００７に保存されているプログラムやデータは、ＣＰＵ２００１による制御に従って適宜ＲＡＭ２００２にロードされる。ＣＰＵ２００１はこのロードされたプログラムやデータを用いて処理を実行することで、画像処理装置１３００、１０１００が行うものとして上述した各処理を実行することになる。なお、外部記憶装置２００７は、図１、図１０に示したデータ記憶部１３５０として用いても良い。
【００９２】
記憶媒体ドライブ２００８は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されたプログラムやデータを読み出したり、係る記憶媒体にプログラムやデータを書き込んだりする。なお、外部記憶装置２００７に保存されているものとして説明したプログラムやデータの一部若しくは全部をこの記憶媒体に記録しておいても良い。記憶媒体ドライブ２００８が記憶媒体から読み出したプログラムやデータは、外部記憶装置２００７やＲＡＭ２００２に対して出力される。
【００９３】
Ｉ／Ｆ２００９は、撮像装置１００１０を接続するためのアナログビデオポートあるいはＩＥＥＥ１３９４等のデジタル入出力ポート、また、合成画像をＨＭＤ１０００の表示装置１０１０に対して出力するためのイーサネット（登録商標）ポートなどによって構成される。Ｉ／Ｆ２００９を介して受信したデータは、ＲＡＭ２００２や外部記憶装置２００７に入力される。なお、図１０に示した画像入力部１００１０の機能の一部は、Ｉ／Ｆ２００９によって実現される。また、位置姿勢の取得にセンサシステムを用いる場合、このＩ／Ｆ２００９には、センサシステムを接続することになる。
【００９４】
２０１０は、上述の各部を繋ぐバスである。
【００９５】
＜その他の実施形態＞
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図示したフローチャートに対応したコンピュータ読み取り可能なプログラムである。
【００９６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図１】
2011008351.tif 000003
【図２】
2011008351.tif 000004
【図３】
2011008351.tif 000005
【図４】
2011008351.tif 000006
【図５】
2011008351.tif 000007
【図６】
2011008351.tif 000008
【図７】
2011008351.tif 000009
【図８】
2011008351.tif 000010
【図９】
2011008351.tif 000011
【図１０】
2011008351.tif 000012
【図１１】
2011008351.tif 000013