(57)【要約】【課題】コンピュータマネキンに物理的な制約が課せられた際に、操作者の視点の画像を提示するとともに、コンピュータマネキンに課せられた物理的な制約位置と操作者視点位置とのずれを操作者に提示できるようにする。【解決手段】位置・姿勢センサ部２０４は、操作者の位置・姿勢を検出し、アバター姿勢計算部２０５は、前記検出された位置・姿勢情報と、仮想空間又は複合現実空間に設定されている物理的な制約情報とを用いて、アバターの位置及び姿勢を決定する。仮想画像生成部２０８は、操作者の視点に基づく仮想空間の画像を生成し、オフセット計算部２０６は、操作者の位置及び姿勢とアバターの位置及び姿勢との間の差分データを計算する。そして、仮想空間と現実空間とを合成した合成画像に差分データを表示するものとしてマスクモデルを表示して操作者にずれを提示する。【選択図】図２
2010257081.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間又は複合現実空間においてコンピュータマネキンを操作者に提示する画像処理方法であって、
前記操作者の位置及び姿勢を検出する検出工程と、
前記検出工程において検出された位置及び姿勢情報と、前記仮想空間又は複合現実空間に設定されている物理的な制約情報とを用いて、前記コンピュータマネキンの位置及び姿勢を決定する決定工程と、
前記操作者の視点に基づく、前記仮想空間又は複合現実空間の画像を生成する画像生成工程と、
前記操作者の位置及び姿勢と前記決定工程において決定された前記コンピュータマネキンの位置及び姿勢との間の差分情報を、前記操作者の位置及び姿勢を基準として前記画像生成工程において生成した画像の上で提示する提示工程とを備えることを特徴とする画像処理方法。
【請求項２】
前記提示工程は、
前記操作者の位置及び姿勢情報と前記コンピュータマネキンの位置及び姿勢情報とを用いて前記差分情報を算出する算出工程と、
前記算出工程において算出された差分情報のベクトル成分を用いて差分情報モデルを生成するモデル生成工程と、
前記モデル生成工程において生成された差分情報モデルと前記仮想空間又は複合現実空間とを合成した画像を生成する合成画像生成工程とを含むことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記算出工程においては、前記操作者の視点の位置及び姿勢情報と前記コンピュータマネキンの視点の位置及び姿勢情報とを用いて前記差分情報を算出することを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記物理的な制約は、前記仮想空間のモデルデータとの物理的な干渉、前記仮想空間のモデルデータの属性、または人間工学的な特性による制約であることを特徴とする請求項１〜３の何れか１項に記載の画像処理方法。
【請求項５】
前記モデル生成工程においては、複数種類の差分情報モデルを生成することが可能であり、前記複数種類の差分情報モデルの中から１つを選択して生成することを特徴とする請求項２又は３に記載の画像処理方法。
【請求項６】
前記コンピュータマネキンに対する制御を、前記操作者の視点の位置及び姿勢に基づく制御と、前記操作者の視点の位置及び姿勢とは独立した制御とに切り替える切り替え工程をさらに備えることを特徴とする請求項１〜５の何れか１項に記載の画像処理方法。
【請求項７】
仮想空間又は複合現実空間においてコンピュータマネキンを操作者に提示する画像処理装置であって、
前記操作者の位置及び姿勢を検出する検出手段と、
前記検出手段によって検出された位置及び姿勢情報と、前記仮想空間又は複合現実空間に設定されている物理的な制約情報とを用いて、前記コンピュータマネキンの位置及び姿勢を決定する決定手段と、
前記操作者の視点に基づく、前記仮想空間又は複合現実空間の画像を生成する画像生成手段と、
前記操作者の位置及び姿勢と前記決定手段により決定された前記コンピュータマネキンの位置及び姿勢との間の差分情報を、前記操作者の位置及び姿勢を基準として前記画像生成手段によって生成した画像の上で提示する提示手段とを備えることを特徴とする画像処理装置。
【請求項８】
前記コンピュータマネキンに対する制御を、前記操作者の視点の位置及び姿勢に基づく制御と、前記操作者の視点の位置及び姿勢とは独立した制御とに切り替える切り替え手段をさらに備えることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
仮想空間又は複合現実空間においてコンピュータマネキンを操作者に提示する画像処理方法の各工程をコンピュータに実行させるプログラムであって、
前記操作者の位置及び姿勢を検出する検出工程と、
前記検出工程において検出された位置及び姿勢情報と、前記仮想空間又は複合現実空間に設定されている物理的な制約情報とを用いて、前記コンピュータマネキンの位置及び姿勢を決定する決定工程と、
前記操作者の視点に基づく、前記仮想空間又は複合現実空間の画像を生成する画像生成工程と、
前記操作者の位置及び姿勢と前記決定工程において決定された前記コンピュータマネキンの位置及び姿勢との間の差分情報を、前記操作者の位置及び姿勢を基準として前記画像生成工程において生成した画像の上で提示する提示工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理方法、画像処理装置、プログラム及び記憶媒体に関し、特に、コンピュータマネキンを用いてシミュレーションを行うために用いて好適な技術に関する。
【背景技術】
【０００２】
今日、製品や生活環境、製品製造現場などを設計する際に、安全性や快適性、効率性などを重要視して人間にとってよりよい環境の設計（人間中心の設計）を行うことが期待されている。
【０００３】
一方、近年では人間の特性をデジタル化してマネキンとしてコンピュータに取り込むことが可能になっている。このようにコンピュータに取り込まれたマネキンは、一般的にコンピュータマネキンと呼ばれている。
【０００４】
このようなコンピュータマネキンを用いてコンピュータ内で人間特性を再現することにより人間工学的な評価を行うことできる。具体的には、コンピュータ内において、製品や生活環境、製品製造現場などを仮想的に設計した３次元仮想空間内にコンピュータマネキンを取り込み、３次元の仮想空間を人間工学的にシミュレーションすることができる。そして、このシミュレーション結果を用いて、製品や生活環境、製品製造現場などを設計支援するシステムがいくつか提案されている。
【０００５】
コンピュータマネキンは、いくつかの評価を行うことができるが、その１つが視野評価である。視野評価を行うと、コンピュータマネキンの視点からどれくらいの領域を観察することができるのかを確認することができる。例えば、視野領域の確認は、コンピュータマネキンの視点から見た３次元の仮想空間の画像を観察することによって行われる。
【０００６】
また関連技術として、人間の実際の動作を既存のモーションキャプチャ技術を用いてコンピュータに入力することにより、コンピュータマネキンの動作を操作することができる技術がある。この技術を利用すれば、コンピュータマネキンの操作者は自分自身の視点を変えることによってコンピュータマネキンの視点を操作しながら視野領域の確認を行うことができる。
【０００７】
例えば、ＨＭＤ（Head Mount Display）を用いた複合現実感（Mixed Reality）システム（以後、ＭＲシステム）では、現実空間の映像とＣＧ等の非現実空間（仮想空間）の映像とを合成した複合現実空間を体験できる。なお、複合現実感空間の技術に関しては、例えば、非特許文献１に開示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】H. Tamura, H. Yamamoto and A. Katayama: "Mixed reality: Future dreams seen at the border between real and virtual worlds," Computer Graphics and Applications, vol.21, no.6, pp.64-70, 2001.
【非特許文献２】A. Takagi, S. Yamazaki, Y. Saito, and N. Taniguchi: "Development of a stereo video see-through HMD for AR systems", ISAR2000, pp.68-77, 2000.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、前述のモーションキャプチャ技術を用いてコンピュータマネキンの視野評価を行うと、コンピュータマネキンが物理的な制約により視点（頭部の位置・姿勢）を変更できなくなることがある。この結果、コンピュータマネキンの操作者の視点とコンピュータマネキンの視点とにずれが生じる場合がある。例えば、コンピュータマネキンの頭部が３次元の仮想空間内の天井にぶつかっているときは、これ以上視点位置を上にすることはできない。このようなとき既存のシステムでは、コンピュータマネキンの操作者による視点操作の入力が無視され、操作者に対しては、コンピュータマネキンによる視点の画像を提示しつづけていた。
【００１０】
したがって、このような視点画像提示方法では、実際にコンピュータマネキンの操作者の視点から視野評価を行うことができない。例えば、コンピュータマネキンの頭部が天井にぶつかっている場合、あと１０ｃｍ天井の高さを上げた場合の視点から視野評価を行うことができない。このような評価ができないと、あと何ｃｍ天井の高さを上げれば目的としている視野を実現できるかがわからない。
【００１１】
このような問題に対して既存のシステムでは、コンピュータマネキンに課せられた物理的な制約を解除することにより、コンピュータマネキンの視点を天井よりも上に位置させることができる。しかしながら、このように物理的な制約を解除すると、３次元仮想空間内の物理的な制約を伴って視野評価を行うことができないことになる。例えば天井の高さ以外にも物理的な制約が存在する場合に、適切な視野評価ができなくなる場合がある。
【００１２】
また、物理的な制約を解除したところで、物理的な制約である天井の位置から視点位置までの距離が分からないので、設計変更すべき高さを直感的にフィードバックすることができない。また、コンピュータマネキンが物理的な制約によってその位置・姿勢が制御される際には、操作者に提示する画像がコンピュータマネキンの視点画像のままで停止しているだけなので、直感的に制約を受ける瞬間を判断することが難しい。
【００１３】
さらに、前述の視点画像提示方法をＭＲシステムに適応する場合、別の問題が生じる。コンピュータマネキンが物理的な制約により視点位置・姿勢を変更できない状況において、ＨＭＤを装着して複合現実空間を体験している操作者に画像を提示すると、現実画像が更新されない。このように、コンピュータマネキンの視点画像のままで停止していると、現実画像が更新されないため、操作者は周囲の状況がわからなくなって安全性が損なわれ、操作者に違和感を与えてしまうなどという問題が生じる。
【００１４】
本発明は前述の問題点に鑑み、コンピュータマネキンに物理的な制約が課せられた際に、操作者の視点の画像を提示するとともに、コンピュータマネキンに課せられた物理的な制約位置と操作者視点位置とのずれを操作者に提示できるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
本発明の画像処理方法は、仮想空間又は複合現実空間においてコンピュータマネキンを操作者に提示する画像処理方法であって、前記操作者の位置及び姿勢を検出する検出工程と、前記検出工程において検出された位置及び姿勢情報と、前記仮想空間又は複合現実空間に設定されている物理的な制約情報とを用いて、前記コンピュータマネキンの位置及び姿勢を決定する決定工程と、前記操作者の視点に基づく、前記仮想空間又は複合現実空間の画像を生成する画像生成工程と、前記操作者の位置及び姿勢と前記決定工程において決定された前記コンピュータマネキンの位置及び姿勢との間の差分情報を、前記操作者の位置及び姿勢を基準として前記画像生成工程において生成した画像の上で提示する提示工程とを備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、コンピュータマネキンに物理的な制約が課せられた際に、操作者には、操作者視点の画像を提示するとともに、コンピュータマネキンに課せられた物理的な制約位置と操作者視点位置とのずれを操作者に提示することができる。
【図面の簡単な説明】
【００１７】
【図１】ＨＭＤを装着して生成する複合現実空間の一例を示す図である。
【図２】本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図３】メインの処理手順の一例を示すフローチャートである。
【図４】図３のステップＳ３０３の処理の詳細を示すフローチャートである。
【図５】図４のステップＳ４０３の処理の詳細を示すフローチャートである。
【図６】図３のステップＳ３０４の処理の詳細を示すフローチャートである。
【図７】ＨＭＤを装着して複合現実空間を体験中の体験者に提示するマスクモデルの例を示す図である。
【図８】アバターと体験者との間の位置・姿勢の差分を、撮像画像をずらすことにより表現した例を示す図である。
【図９】複合現実空間の一例を示す図である。
【図１０】メインの処理手順の一例を示すフローチャートである。
【図１１】体験者がアバターを遠隔位置から主観操作している例を示す図である。
【発明を実施するための形態】
【００１８】
（第１の実施形態）
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の実施形態の説明では、ＨＭＤ（Head Mount Display）を用いた複合現実感（Mixed Reality）システム（以後、ＭＲシステム）に本発明を適用した複合現実空間の情報提示方法について説明する。
【００１９】
また、本実施形態においては、ビデオシースルー型のＨＭＤを用いた場合について説明する。ビデオシースルー型ＨＭＤとは、ＨＭＤに組み込まれているビデオカメラなどで撮像した現実空間映像に、ＣＧ等の非現実空間映像を合成して体験者に提示する方式のＨＭＤである。なお、ビデオシースルー型ＨＭＤに関しては、例えば、非特許文献２に開示されている。
【００２０】
なお、以下の説明において実施形態では、ユーザに複合現実空間を提示する表示装置をビデオシースルー型ＨＭＤとするが、複合現実空間を提示する表示装置はこれに限るものではない。例えば、光学シースルー型のＨＭＤや、プラズマディスプレイ、手持ちのディスプレイ等を表示装置としてもよく、ユーザ間で複合現実空間を提示できるような表示装置であればどのような表示装置でもよい。
【００２１】
まず、本実施形態では、複合現実空間において、アバターに課せられた仮想空間内の制約を体験者に提示することができる映像提示方法について説明する。ここでアバターとは、複合現実空間内で操作者（体験者）の分身として振舞う仮想人モデルであり、例えば、コンピュータマネキンである。コンピュータマネキンとは、人の動きや形状を模擬した人シミュレーションモデルである。また、アバターに課せられる仮想空間内の制約の詳細については後述する。なお、以下の説明で「モデルデータ」とは、仮想空間にある３次元形状物体を表す。
【００２２】
図１は、本実施形態において、ＨＭＤを装着して生成する複合現実空間の一例を示す図である。なお、図１（ａ）は、本実施形態のシステムが生成する複合現実空間内を客観的に観察した画像の一例を示す図であり、図１（ｂ）は、ＨＭＤを装着して生成する複合現実空間を体験中の操作者に提示する画像の一例を示す図である。図１を参照しながら、本実施形態の概要を説明する。
【００２３】
図１（ａ）において、１０１は体験者であり、ＨＭＤを装着することにより複合現実空間を体験している。１０２はアバターであり、体験者１０１の上に重畳されている。また、アバター１０２は体験者１０１の動きに連動して操作される。１０３は仮想モデルデータである。図１（ａ）に示す例では、アバター１０２の頭部が仮想モデルデータ１０３と干渉しているため、体験者１０１と同様な姿勢を取ることができない。つまり、アバター１０２に課せられている物理的な制約を超えた姿勢で体験者１０１が複合現実空間を体験していることを示している。
【００２４】
一方、図１（ｂ）において、１０４は体験者１０１に提示される複合現実空間の画像であり、体験者１０１の視点から図１（ａ）に示す複合現実空間を観察した画像である。１０５はマスクモデルであり、アバター１０２に課せられている物理的な制約を超えている視点から体験者１０１が観察しているとき表示される領域である。このように本実施形態は、アバターに課せられた仮想空間内の物理的な制約を超えてアバターを操作した際に、体験者にそのことを提示する。
【００２５】
図２は、本実施形態に係る画像処理装置２００の構成例を示すブロック図である。
図２において、２０１は撮像部であり、例えば、ビデオカメラである。撮像部２０１は現実空間の画像を撮影し、撮影した映像を画像信号として撮影画像取込部２０２に出力する。
【００２６】
２０２は撮影画像取込部であり、撮像部２０１から出力された画像信号を画像合成部２０９に出力するのに適した形式に変換して画像合成部２０９に出力する。２０９は画像合成部であり、撮影画像取込部２０２から出力された撮影画像と仮想画像生成部２０８から出力される仮想空間画像とを合成して表示部２１０に出力する。
【００２７】
２０４は位置・姿勢センサ部であり、例えば、光学反射式のリアルタイム３次元動作解析システムとして機能するものである。ここで、光学反射式のリアルタイム３次元動作解析システムとは、現実空間内にある再帰性反射マーカーの群を複数のカメラから撮影することにより再帰性反射マーカーの群からなるオブジェクトの位置・姿勢を計算するものである。そして、オブジェクトの３次元位置・姿勢情報として出力する。位置・姿勢センサ部２０４は検出手段として機能し、撮像部２０１や体験者の体の位置・姿勢の情報を取得して、仮想画像生成部２０８、アバター姿勢計算部２０５及びオフセット計算部２０６に出力する。本実施形態では、複数の再帰性反射マーカーを撮像部２０１に取り付け、それを体験者の頭部の位置・姿勢データとして取得する。
【００２８】
２０５はアバター姿勢計算部であり決定手段として機能し、位置・姿勢センサ部２０４から出力される位置・姿勢データとアバターに課せられた仮想空間内の物理的な制約情報とからアバターの位置・姿勢データを計算する。そして、計算された位置・姿勢データをオフセット計算部２０６と仮想画像生成部２０８とに出力する。なお、アバターの姿勢を計算する際には、外部記憶装置２０７に記憶されている物理的な制約情報を用いる。この物理的な制約情報の詳細については後述する。
【００２９】
２０６はオフセット計算部であり算出手段として機能し、位置・姿勢センサ部２０４において計算された体験者の頭部位置とアバターの頭部位置との姿勢差分データを計算する。そして、計算した姿勢差分データをアバター姿勢計算部２０５と仮想画像生成部２０８とに出力する。
【００３０】
２０８は仮想画像生成部であり、位置・姿勢センサ部２０４から体験者の位置・姿勢データを入力し、アバター姿勢計算部２０５からアバターの位置・姿勢データを入力する。さらに、オフセット計算部２０６から体験者の頭部位置とアバターの頭部位置との姿勢差分データを入力する。そして、これらのデータを用いて仮想空間画像を生成し、画像合成部２０９に出力する。なお、仮想空間画像を生成する際には、外部記憶装置２０７に記憶されているモデルデータを用いる。モデルデータにはコンピュータマネキンデータも含まれており、本実施形態においては、アバターはコンピュータマネキンデータを用いて生成される。なお、仮想画像生成部２０８及び画像合成部２０９は、画像合成手段、モデル生成手段及び合成画像生成手段として機能する。
【００３１】
２１０は表示部であり、画像合成部２０９から出力される合成画像を表示する。本実施形態においては、撮像部２０１及び表示部２１０はＨＭＤに内蔵されており、表示部２１０の光学系と撮像部２０１の撮像系とが一致するように設置されている。２１１は制御部であり、画像処理装置２００の各部を制御する。
【００３２】
次に、本実施形態における処理全体の流れについて図３を参照しながら説明する。図３は、本実施形態に係る画像処理装置２００において行うメインの処理手順の一例を示すフローチャートである。なお、図３に示す処理を行うプログラムは外部記憶装置２０７に保存されており、必要に応じて画像処理装置２００のメモリにロードされ、画像処理装置２００の制御部２１１の制御により実行される。その結果、画像処理装置２００は、図３のフローチャートに従った処理を行う。
【００３３】
図３において処理を開始すると、ステップＳ３０１において、アバター姿勢計算部２０５及び仮想画像生成部２０８は、処理に必要なデータを外部記憶装置２０７から読み出す。ステップＳ３０１で読み出すデータには、モデルデータの形状データ、世界座標系における位置・姿勢を表す配置データ、世界座標系におけるユーザの頭部の位置・姿勢データ等の仮想空間の構造及び属性が含まれる。また、物理的な制約情報も含まれる。物理的な制約情報の詳細については後述する。
【００３４】
次に、ステップＳ３０２において、アバター姿勢計算部２０５及びオフセット計算部２０６は、位置・姿勢センサ部２０４で計測した位置・姿勢データを読み出す。ここで位置・姿勢データは体験者の頭部の位置・姿勢である。また、読み出されるデータは世界座標系における位置・姿勢として表されているとする。そして、取得した位置・姿勢データに基づいて、ステップＳ３０１で読み出した仮想空間のデータを更新する。つまり、取得した位置・姿勢データに対応した仮想空間となるようにモデルデータの位置・姿勢を更新する。
【００３５】
次に、ステップＳ３０３において、アバター姿勢計算部２０５は、位置・姿勢センサ部２０４から取得した体験者の頭部の位置・姿勢データとアバターに課せられる物理的な制約とに基づいてアバターの位置・姿勢を決定する。つまり、アバターの位置・姿勢は、課せられている物理的な制約内で体験者の頭部の位置・姿勢データによって決定される。ステップＳ３０３の詳細については後述する。
【００３６】
次に、ステップＳ３０４において、仮想画像生成部２０８は、体験者の視点から見た仮想画像を生成する。ここで仮想画像は、アバターに課せられた物理的な制約から生じる、体験者とアバターとの差分の表現を含んでいる画像である。なお、ステップＳ３０４の詳細については後述する。
【００３７】
次に、ステップＳ３０５において、仮想画像生成部２０８は、ステップＳ３０４で生成した仮想画像を画像合成部２０９に送る。そして、画像合成部２０９は、仮想画像生成部２０８から送られてきた仮想画像と撮影画像取込部２０２から送られてきた現実空間画像とを合成して表示部２１０に送る。なお、合成された画像は、現実空間の上に仮想空間を重畳した複合現実空間の画像である。本実施形態では、表示部２１０へ送られる画像を複合現実空間の画像としたが、表示される画像はこれに限るものではなく、仮想空間の画像のみを生成して表示部２１０に送ってもよい。
【００３８】
次に、ステップＳ３０６において、表示部２１０は、ステップＳ３０５で画像合成部２０９から送られた合成画像を表示する。最後に、ステップＳ３０７において、制御部２１１は、操作者から処理終了の指令があったか否かを判定する。この判定の結果、終了指令があった場合はそのまま処理を終了する。一方、ステップＳ３０７の判定の結果、終了指令が無い場合はステップＳ３０２に戻り、ステップＳ３０２〜Ｓ３０７を繰り返す。
【００３９】
次に、ステップＳ３０３における、位置・姿勢センサ部２０４から取得した体験者の頭部の位置・姿勢データとアバターに課せられる物理的な制約とに基づいてアバターの位置・姿勢を決定する処理の詳細について説明する。
【００４０】
図４は、図３のステップＳ３０３の処理の詳細を示すフローチャートである。
図４において処理を開始すると、ステップＳ４０１において、アバター姿勢計算部２０５は、位置・姿勢センサ部２０４から取得した位置・姿勢データを用いてアバターの位置・姿勢を更新する。前述した通り、位置・姿勢データはアバターの位置・姿勢を決定するために必要なデータであり、体験者の頭部の位置・姿勢のデータある。また、位置・姿勢の更新は、アバターに課せられる物理的な制約に基づいて行われる。
【００４１】
ここで、アバターに課せられた物理的な制約とは、モデルデータとの物理的な干渉、干渉するモデルデータの属性、人間工学的な特性などである。モデルデータとの物理的な干渉とは、例えば、アバターの頭がモデルデータの壁に干渉して物理的に動かすことができない場合の制約である。
【００４２】
また、干渉するモデルデータの属性とは、例えば、モデルデータが鉄なのかスポンジなのかという属性の違いによって、アバターが寄りかかることができるか触ることができるのかなどが決まる制約である。部品の安全性やセキュリティの属性により部品を触ることができないという制約もこれに含まれる。
【００４３】
さらに、人間工学的な特性とは、コンピュータマネキンが持つキネマティック特性、インバースキネマティック特性などの制約である。例えば、前かがみの姿勢において首を回そうしたら一般的にはどれくらい回すことができるか、また首を回すことにより胴体も連動して動くという制約である。
【００４４】
本実施形態において、モデルデータとの物理的な干渉、干渉するモデルデータの属性、人間工学的な特性などの物理的な制約は、既存の物理シミュレーション技術を用いるものとする。このように、外部記憶装置２０７に記録されている各種の物理的な制約情報を用いて物理シミュレーションを行い、アバターの全身における位置・姿勢データを算出する。なお、本実施形態では、物理的な制約について３つの例を挙げたが、本実施形態に適用される物理的な特性はこれに限るものではない。即ち、現実世界に存在する物理的な制約であればどのようなものを適用してもよい。
【００４５】
次に、ステップＳ４０２において、アバター姿勢計算部２０５は、位置・姿勢センサ部２０４から取得した位置・姿勢データがアバターに課せられている物理的な制約内の位置・姿勢データであるか否かを判定する。この判定の結果、位置・姿勢データが物理的な制約外のものである場合は、ステップＳ４０３へ進む。一方、ステップＳ４０２の判定の結果、物理的な制約内のものである場合は、ステップＳ４０４へ進む。
【００４６】
このステップＳ４０２では、入力された体験者の頭部の位置・姿勢データにより決定された姿勢をアバターが物理的に取ることができるか否かを判定する。もし、入力された体験者の頭部の位置・姿勢データがアバターに課せられている物理的な制約外である場合は、アバターの頭部位置は体験者の頭部位置とは離れることとなる。これは、アバターの頭部位置が物理的な制約を優先して姿勢を保つためである。
【００４７】
次に、ステップＳ４０３において、オフセット計算部２０６は、体験者とアバターとの間の位置・姿勢のオフセットデータを算出する。ここでは位置・姿勢センサ部２０４から取得した体験者の頭部の位置・姿勢データと、ステップＳ４０１で算出されたアバターの頭部の位置・姿勢データとの差分をオフセットデータとして算出する。
【００４８】
ここで、体験者とアバターとの間の頭部のオフセットデータを算出するのは、体験者による動作がアバターに課せられた物理的な制約外となったときの表現を実現するためである。この物理的な制約外となったときの表現とは、物理的な制約外となった際に、アバターが物理的な制約内で可能な限りの動作を行うという表現である。例えば、体験者が、アバターの頭部が壁に対して垂直に突き抜けるような動きをした場合は、アバターの頭部は物理的な制約により壁で止まる。ところが、その時に体験者によって壁と並行に沿って動くような動作が行われたとき、アバターの頭部は物理的に壁に沿うことができるので壁に沿って動く。
【００４９】
このような動きを実現するために本実施形態では、体験者による位置・姿勢データに対して６自由度ごとに制約を設定する。そして、物理的な制約がある成分（方向）に対する入力データはオフセットとして取得しておき、アバターの姿勢は体験者の入力データをオフセット分だけ逆変換して実現するようにする。つまりｘ成分の移動には物理的な制約があり、アバターの姿勢を変化できない場合、ｘ成分の移動はオフセットとして取得しておく、そしてｙ成分の移動に制約がなければｘ成分のオフセット分だけ逆変換させた位置でｙ成分だけ移動を実現させるようにする。なお、ステップＳ４０３の処理の詳細については後述する。
【００５０】
最後に、ステップＳ４０４において、画像処理装置２００の制御部２１１は、アバターの姿勢を決定する処理を終了するか否かを判定する。この判定の結果、終了する場合は処理を終了し、終了しない場合はステップＳ４０１に戻り、ステップＳ４０１〜Ｓ４０４の処理を繰り返す。
【００５１】
次に、ステップＳ４０３における、オフセット計算部２０６が、体験者とアバターとの間の頭部の位置・姿勢のオフセットデータを算出する処理の詳細について説明する。
【００５２】
図５は、図４のステップＳ４０３の処理の詳細を示すフローチャートである。
まず、ステップＳ５０１において、オフセット計算部２０６は位置・姿勢センサ部２０４から取得した体験者の頭部の位置・姿勢データと、ステップＳ４０１で算出されたアバターの頭部の位置・姿勢データとの差分をオフセットデータとして仮算出する。
【００５３】
オフセットデータには距離及び角度の要素がある。距離及び角度は以下の数１に示す式のように、それぞれ世界座標系における６自由度の位置・姿勢ごとに対してベクトル成分を用いて算出する。
【００５４】
【数１】
2010257081.tif 000003
【００５５】
ここで、UserPos＿xは体験者の頭部のｘ座標位置であり、AvatorPos＿xはアバターの頭部のｘ座標位置であり、Distance＿xは世界座標におけるｘ成分の距離オフセットである。また、UserPos＿yは体験者の頭部のｙ座標位置であり、AvatorPos＿yはアバターの頭部のｙ座標位置であり、Distance＿yは世界座標におけるｙ成分の距離オフセットである。さらに、UserPos＿zは体験者の頭部のｚ座標位置であり、AvatorPos＿zはアバターの頭部のｚ座標位置であり、Distance＿zは世界座標におけるｚ成分の距離オフセットである。
【００５６】
一方、Degree＿x、Degree＿y、Degree＿zは、距離オフセットではなく角度オフセットで求めたものである。すなわち、UserOri＿x、UserOri＿y、UserOri＿zはそれぞれ、体験者の頭部の世界座標系におけるｘ軸、ｙ軸、ｚ軸に対する原点からの角度である。また、AvatorOri＿x、AvatorOri＿y、AvatorOri＿zはアバターの頭部の世界座標系におけるｘ軸、ｙ軸、ｚ軸に対する原点からの角度である。
【００５７】
次に、ステップＳ５０２において、オフセット計算部２０６は、位置・姿勢センサ部２０４から取得した位置・姿勢データを解析し、体験者とアバターとの間の相対位置・姿勢関係の短縮が行われたか否かを判定する。この判定の結果、相対位置・姿勢関係の短縮が行われていない場合はステップＳ５０４へ進む。一方、ステップＳ５０２の判定の結果、相対位置・姿勢関係の短縮が行われた場合は、ステップＳ５０３へ進む。
【００５８】
ここで、相対位置・姿勢関係の短縮とは、体験者とアバターとの間で頭部の位置・姿勢の値に差があったときにその差が小さくなるようにする操作を意味する。相対位置・姿勢関係の短縮が行われたか否かを確認するのは、体験者による動きがアバターに課せられた物理的な制約外となったときの表現を、オフセットデータを利用して実現しようとすると１つの問題が生じるためである。
【００５９】
その問題とは、体験者による動きが物理的な制約外から制約内へと変化する場合に生じる体験者の位置とアバターの位置とのオフセットに関するものである。例えば、前述の例と同様に、体験者がアバターの頭部が壁に対して垂直に突き抜けるような動きをした際に、アバターの頭部は物理的な制約により壁で止まる。この状態においてはアバターの頭部が壁で止まっているのに対して、体験者の頭部が壁にめり込んでいる。
【００６０】
そこで、この状態から体験者の頭部が壁にめり込まない方向（壁モデルの外部）に動いた場合、単純にオフセットを更新すると体験者の頭部が壁の外側に近づくにつれてアバターの頭部が壁から離れていってしまう。その結果、体験者の頭部が壁から離れた際は、体験者の頭部の位置とアバター頭部の位置とが離れてしまう。つまり物理的な制約外の動きの後に制約内の動きをした場合、オフセットが残ってしまう。これは物理的な制約外から制約内への位置・姿勢変換には物理的な制約がないため、アバターがオフセットデータを保ったまま入力データを更新してしまうことが原因である。
【００６１】
そこで本実施形態では、物理的な制約外から制約内へと動きが変化した場合を判定する。具体的には、物理的な制約外の位置に体験者の頭部があるときに、体験者の頭部の位置・姿勢がアバターの頭部の位置・姿勢に近づいているか否かを判定する。もし、体験者の頭部の位置・姿勢が物理的に制約されているアバターの頭部の位置・姿勢へ近づいているならば、体験者による動きが物理的な制約外から制約内の動きへ変化したときだと判定できる。
【００６２】
そこで、ステップＳ５０２における相対位置関係の短縮操作の有無の判定は、１サイクル前の処理時のアバターの頭部の位置・姿勢データを基準とする。そして、１サイクル前の処理時の体験者の頭部の位置・姿勢データと、現処理における体験者の頭部の位置・姿勢データとを比較する。つまり、オフセット計算部２０６において１サイクル前の処理時にステップＳ５０１で算出されたオフセットデータと、仮オフセットデータとを比較する。ここで、仮オフセットデータは、現処理における体験者の頭部の位置・姿勢データから１サイクル前の処理時のアバターの頭部の位置・姿勢データを減算して求められる。オフセットデータ及び仮オフセットデータは以下の数２に示す式により算出される。
【００６３】
【数２】
2010257081.tif 000004
【００６４】
ここで、UserPos＿x'は１サイクル前の処理時の体験者の頭部のｘ座標位置であり、AvatorPos＿x'は１サイクル前の処理時のアバターの頭部のｘ座標位置である。また、Distance＿x'は１サイクル前の処理時の世界座標におけるｘ成分の距離オフセットである。一方、UserPos＿xは現処理時の体験者の頭部のｘ座標位置であり、Distance＿x*は世界座標におけるｘ成分の仮距離オフセットである。
【００６５】
このDistance＿x'とDistance＿x*とを比較して、Distance＿x*の方が小さい値である場合は、ｘ成分において相対位置・姿勢関係の短縮が行われたと判定する。オフセットデータ及び仮オフセットデータは、６自由度の位置・姿勢ごとで算出され、それぞれで比較される。そして６自由度の位置・姿勢のうち１つでも短縮が行われていれば短縮ありと判定する。なお、１サイクル前の処理によって算出された体験者の頭部の位置・姿勢データがない場合は、短縮はなしと判定する。
【００６６】
次に、ステップＳ５０３において、オフセット計算部２０６は、オフセットデータを修正する。このとき、ステップＳ５０２でオフセットデータの短縮があると判定された６自由度の成分のみ、ステップＳ５０２で算出した仮オフセットデータをオフセットデータとして修正する。一方、ステップＳ５０２でオフセットデータの短縮なしと判定された６自由度の成分はステップＳ５０１で算出されたオフセットデータをそのまま用いる。例えば、オフセットデータの修正は以下の数３に示す式により行われる。
【００６７】
【数３】
2010257081.tif 000005
【００６８】
ここで、数２に示した式と同様に、Distance＿x'は１サイクル前の処理時の世界座標におけるｘ成分の距離オフセットであり、Distance＿x*は世界座標におけるｘ成分の仮距離オフセットである。また、Distance＿xは現処理時の世界座標におけるｘ成分の距離オフセットであり、Distance＿x＿adjは修正された世界座標におけるｘ成分の距離オフセットである。
【００６９】
このように短縮操作が行われた６自由度の成分に対しては、オフセットデータを仮オフセットデータに修正することにより、アバターは誤ったオフセットデータによって位置・姿勢変換されることがなくなる。ここで、仮オフセットデータはアバターの位置・姿勢を１サイクル前の位置・姿勢から変化させないようなオフセットデータである。つまり、短縮操作が行われた６自由度の成分に対しては、アバターの位置・姿勢を変化させないようにする。その結果、体験者の頭部の位置・姿勢が物理的に制約されているアバターの頭部の位置・姿勢へ近づいている場合に、アバターの頭部の位置・姿勢を保持する。
【００７０】
最後に、ステップＳ５０４において、画像処理装置２００の制御部２１１は、処理を終了するか否かを判定する。この判定の結果、終了する場合は処理を終了し、終了しない場合はステップＳ５０１に戻り、ステップＳ５０１〜Ｓ５０４を繰り返す。
【００７１】
次に、図３のステップＳ３０４における、仮想画像生成部２０８が、体験者の視点から見た仮想画像を生成する処理の詳細について説明する。
【００７２】
図６は、図３のステップＳ３０４の処理の詳細を示すフローチャートである。
図６において処理を開始すると、ステップＳ６０１において、仮想画像生成部２０８は、外部記憶装置２０７に記録されているモデルデータの位置・姿勢を基に仮想空間を生成する。このとき、ステップＳ３０４でアバター姿勢計算部２０５により算出されたアバターの位置・姿勢データに基づいて仮想空間を生成する。そして、位置・姿勢センサ部２０４から取得した体験者の頭部の位置・姿勢データを用いて体験者の視点から見た仮想画像を生成する。
【００７３】
次に、ステップＳ６０２において、仮想画像生成部２０８は、ステップＳ４０３で算出されたオフセットデータを用いてアバター及び体験者の位置・姿勢の差分表現を合成した画像を生成する。本実施形態では、アバター及び体験者の位置・姿勢の差分をマスクモデルで表現する。
【００７４】
図７は、本実施形態において、画像合成部２０９が提示手段として機能し、ＨＭＤを装着して複合現実空間を体験中の操作者に対して提示するマスクモデルの例を示す図である。
図７において、７０１は体験者に提示される複合現実空間の画像である。７０２は世界座標軸であり、仮想空間はこの世界座標軸７０２に基づいて生成されている。７０３はマスクモデルであり、差分情報モデルとして、複合現実空間の画像が観察可能な程度に半透明な赤色で示されている。
【００７５】
このマスクモデル７０３の生成方法について以下に説明する。
まず、オフセットデータの要素である距離、角度の成分に応じてマスクモデルを生成する位置を設定する。もし、ｙ成分のオフセットデータが存在していて、そのオフセットデータの値が正である場合は、図７に示すように、画像の上部（仮想画像の＋ｙ方向）にマスクモデルを位置づける。一方、オフセットデータの値が負である場合は、画像の下部（仮想画像の−ｙ方向）にマスクモデルを位置づける。同様にしてｘ成分のオフセットデータが存在する場合は、その値の符号に応じて画像の左右にマスクモデルを位置づける。
【００７６】
一方、ｚ成分のオフセットが存在するときには、多少異なる表現方法をとる。ｚ成分のオフセットデータが存在する場合は、その値の符号に応じてマスクモデルの表現方法を変える。オフセットデータの値が正である場合は、画像全体を覆うようにマスクモデルを位置づける。一方、オフセットデータの値が負である場合は、画像の上下左右部すべてにマスクモデルを位置づける。
【００７７】
次に、オフセットデータの要素である距離、角度の大きさに応じてマスクモデルの大きさを設定する。もし、ｙ成分のオフセットデータが存在していて、その大きさが｜Distance＿y｜であるならば、図７に示すように、マスクモデル７０３のｙ軸方向の幅（画像を覆うｙ軸方向の画素数）を｜Distance＿y｜と設定する。
【００７８】
また、オフセットデータの大きさが｜Degree＿y｜である場合は、ＨＭＤ垂直画角と、画像の垂直方向の解像度との関係を用いてマスクモデルのｙ軸方向の幅を設定する。具体的には、画像解像度／ＨＭＤ画角から画角１°あたり画素数を求め、その値と｜Degree＿y｜とを乗算した値をマスクモデルのｙ軸方向の幅（画像を覆うｙ軸方向の画素数）として設定する。同様にしてｘ成分のオフセットデータが存在する場合は、その値の大きさに応じてマスクモデルの大きさを設定する。
【００７９】
一方、ｚ成分のオフセットデータが存在していて、その値が負である場合は、その値の大きさに応じてマスクモデルの大きさを設定する。なお、ｚ成分のオフセットデータが存在していて、その値が正である場合は、画像全体をマスクモデルで覆うように位置づけるため、マスクモデルの大きさを調整できない。そこでｚ成分のオフセットデータが存在する場合は、オフセットデータの大きさをマスクモデルの色の濃さによって表現する。
【００８０】
なお、本実施形態では、マスクモデルの大きさはオフセットデータの距離の絶対値、または角度×画像解像度／ＨＭＤ画角により設定されるが、本発明はこれに限るものではない。オフセットデータに対して任意の定数を乗算した値などをマスクモデルの大きさと設定してもよく、オフセットデータの大きさに依存するような設定方法であればどのような方法でもよい。なお、複数種類のマスクモデルから操作者に選択させるようにしてもよい。
【００８１】
また、本実施形態では、ｚ成分のオフセットデータが正の場合、オフセットデータの大きさの表現方法は、画像全体を覆うように位置づけられたマスクモデルの色の濃さにより表現したが、本発明はこれに限るものではない。例えば、オフセットデータの値をマスクモデルとともに表示するなど、オフセットデータの大きさを表現できる表現方法であればどのような方法でもよい。
【００８２】
さらに、本実施形態では、アバター及び体験者の位置・姿勢の差分をマスクモデルで表現したが、本発明はこれに限るものではない。例えば、アバターと体験者との間にオフセットが生じた瞬間の撮像画像を、オフセットデータの大きさに応じてずらすことにより差分を表現してもよい。このようにアバターと体験者との間の位置・姿勢の差分を表現できる方法であればどのような方法でもよい。
【００８３】
図８は、本実施形態において、アバターと体験者との間の位置・姿勢の差分を、撮像画像をずらすことにより表現した例を示す図である。図８に示す画像は、図７に示す複合現実空間と同じ複合現実空間を体験者の視点から画像にしたものである。
図８において、８０１は体験者に提示される複合現実空間の画像である。８０２は撮像画像であり、アバターと体験者との間にオフセットが生じた瞬間に撮像部２０１によって撮影された撮像画像である。この撮像画像８０２は体験者の位置・姿勢データがアバターに課せられている物理的な制約を超えている間は更新されない。さらに、撮像画像８０２は、オフセットデータの大きさに応じて複合現実空間の画像８０１内でずらして表示される。
【００８４】
８０３はモデルデータであり、体験者の位置・姿勢データがアバターに課せられている物理的な制約を超えている間もモデルデータ８０３の位置・姿勢が更新される。８０４はブルーバックであり、アバターと体験者との間の位置・姿勢の差分だけ撮像画像がずらされた結果生じたものである。つまり、体験者の位置・姿勢データがアバターに課せられている物理的な制約を超えている場合は、現実画像の更新は止め、仮想画像のみを更新することによってアバターと体験者との間の位置・姿勢の差分を表現する。このようにしてアバターと体験者との間の位置・姿勢の差分を表現することも可能である。
【００８５】
最後に、ステップＳ６０３において、画像処理装置２００の制御部２１１は、処理が終了であるか否か判定する。この判定の結果、終了である場合は処理を終了し、終了でない場合はステップＳ６０１に戻り、ステップＳ６０１〜Ｓ６０３を繰り返す。
【００８６】
本実施形態においては、アバターの全身姿勢を決定するために入力されるデータを体験者の頭部の位置・姿勢データとしたが、本発明におけるアバターの全身姿勢を決定する方法はこの限りではない。アバターの全身姿勢を決定するために、体験者の頭部の位置・姿勢データのみではなく、体験者の手の位置・姿勢データや、さらには全身の位置・姿勢データを入力してアバターの全身姿勢を決定してもよい。また、キーボードなどの外部入力デバイスにより数値入力することによってアバターの全身姿勢を決定してもよい。このように、アバターの全身姿勢を決定できる方法であればどのような方法でもよい。
【００８７】
また、以上の説明では、体験者に提示する差分表現において、アバターの頭部と体験者の頭部との間の位置・姿勢の差分を表現するものとしたが、本発明の差分表現はこの限りではない。例えば、アバターの手と体験者の手との間の位置・姿勢の差分を差分表現として体験者に提示してもよい。このように、体験者の全身とアバターの全身との間の位置・姿勢のうち、少なくとも１部分の差分を表現するものであればどのようなものでもよい。なお、手の位置・姿勢の差分を表現する際には、例えば、体験者の手とアバターの手との間にラインを表示することによって差分を表現してもよい。
【００８８】
以上のように本実施形態によれば、アバターに課せられた仮想空間内の制約を体験者に提示することができる。
【００８９】
（第２の実施形態）
第１の実施形態では、体験者は自分自身の姿勢の変化によってアバターの全身姿勢を常に操作しながらアバターに課せられた仮想空間内の制約の提示を受ける例について説明した。本実施形態では、体験者がアバターの全身姿勢の操作をしないでアバターに課せられた仮想空間内の制約の提示を受けることができる。具体的には、アバターの全身姿勢を主観操作と客観操作とで切り替えることにより、アバターに課せられた仮想空間内の制約を主観と客観とで切り替えて体験することができる。
【００９０】
本実施形態は、複合現実空間において、アバターに課せられた仮想空間内の制約を主観的と客観的とで切り替えて体験者に提示することができる映像提示方法について説明する。なお、本実施形態に係る画像処理装置の構成については第１の実施形態と同様であるので説明は省略する。
【００９１】
図９は、本実施形態において生成される複合現実空間の一例を示す図である。なお、図９（ａ）は、本実施形態のシステムが生成する複合現実空間内を客観的に観察した画像の一例を示す図であり、図９（ｂ）は、ＨＭＤを装着して生成する複合現実空間を体験中の体験者に提示する画像の一例を示す図である。図９を参照しながら、本実施形態の概要を説明する。
【００９２】
図９（ａ）において、９０１は体験者であり、ＨＭＤを装着することにより複合現実空間を体験している。９０２はアバターであり、体験者９０１によって全身姿勢が操作されている。９０３は仮想モデルデータである。９０４は３次元ポイントデバイスであり、位置・姿勢センサ部２０４によって３次元位置を取得することができるものである。なお、３次元ポイントデバイス９０４は、さらにボタンのような入力機能を備えている。体験者９０１はこの３次元ポイントデバイス９０４を用いてアバター９０２の身体の一部をつかんで動かすことにより全身姿勢を操作することができる。
【００９３】
一方、図９（ｂ）において、９０５はアバターであり、体験者９０１によって客観的に観察されている。９０６は３次元ポイントデバイスであり、アバター９０５の頭部をフックしてアバター９０５の全身姿勢を操作するために用いられる。
【００９４】
本実施形態では、第１の実施形態のように体験者の頭部の位置・姿勢によりアバターの全身姿勢を操作するような主観操作と、前述のように体験者がなんらかの３次元ポイントデバイスを用いてアバターの全身姿勢を操作する客観操作とを切り替えることができる。このように本実施形態では、複合現実空間を操作及び体験することができる。
【００９５】
ここで主観操作及び客観操作について明確に定義しておく。主観操作とは、第１の実施形態で示したように体験者の頭部の位置によってアバターの頭部の位置を制御する操作である。すなわち、アバターが体験者に乗り移っているような状態で身体的に対応した部位によって体験者がアバターを操作である。それに対して客観操作とは、体験者とアバターが離れ離れな状態でアバターを客観的に観察しながら、操作者の視点の位置及び姿勢とは独立した制御によりアバターの部位を選択して制御する操作である。
【００９６】
次に、本実施形態における処理全体の流れについて図１０を参照しながら説明する。図１０は、本実施形態に係る画像処理装置２００において行うメインの処理手順の一例を示すフローチャートである。なお、ステップＳ１００１〜Ｓ１００３は図３のステップＳ３０１〜Ｓ３０３と同様であり、ステップＳ１００８〜Ｓ１０１０は、図３のステップＳ３０５〜Ｓ３０７と同様である。図１０に示す本実施形態の処理のうち、図３に示す第１の実施形態と異なる処理は、ステップＳ１００４〜Ｓ１００７のみである。したがって、本実施形態ではステップＳ１００４〜Ｓ１００７の処理についてのみ説明する。また、本実施形態においてアバターは、第１の実施形態で示した体験者による主観的な操作によって全姿勢を決定されるものとする。
【００９７】
ステップＳ１００４において、アバター姿勢計算部２０５は切り替え手段として機能し、オフセット計算部２０６で算出されたオフセットデータを用いて操作手段の切り替えを行う。具体的にはオフセット計算部２０６で算出されたオフセットデータの大きさが閾値内である場合は、アバターに対して引き続き主観操作を行う。一方、オフセットデータの大きさが閾値外である場合は、アバターに対する操作手段を主観操作から客観操作に切り替える。アバターの操作手段が主観操作から客観操作に切り替えられるとアバターは体験者の操作から切り離される。
【００９８】
次に、ステップＳ１００５において、アバター姿勢計算部２０５は、アバターの全身姿勢の操作手段が主観操作であるか否かを判定する。この判定の結果、操作手段が主観操作である場合はステップＳ１００６へ進み、客観操作である場合は、ステップＳ１００７へ進む。
【００９９】
ステップＳ１００６においては、第１の実施形態で説明した図３のステップＳ３０４と同様に、仮想画像生成部２０８は、体験者の視点から見た仮想画像を生成する。一方、ステップＳ１００７においても、仮想画像生成部２０８は、仮想画像を生成するが、仮想画像はアバターに課せられた物理的な制約から生じる体験者とアバターとの間の差分の表現は含んでいない画像である。体験者はアバターに課せられた物理的な制約を客観的に観察することができ、アバターと体験者とが切り離されている状態では体験者とアバターとの差分に意味はないので差分の表現は必要ないといえる。
【０１００】
本実施形態では、アバターの操作手段の切り替えをオフセットデータの閾値を用いて行ったが、本発明はこれに限るものではない。例えば、アバターの操作手段の切り替えは、コンソール画面の切り替えボタンを用いて行ってもよく、アバターの操作手段を切り替えられる方法であればどのような方法でもよい。
【０１０１】
また、本実施形態では、アバターの操作手段が主観操作である場合は、体験者の上にアバターが重畳されるが、アバターを客観的に観察しながらもアバターを主観操作するようにしてもよい。この場合、体験者はアバターの遠隔操作を行って、アバターと離れた位置からでも主観的に操作することができる。
【０１０２】
図１１は、本実施形態において、体験者がアバターを遠隔位置から主観操作している例を示す図であり、本実施形態のシステムが生成する複合現実空間内を客観的に観察した画像の例である。
図１１において、１１０１は体験者であり、ＨＭＤを装着することにより複合現実空間を体験している。１１０２はアバターであり、遠隔位置にいる体験者１１０１によって全身姿勢が操作される。１１０３はモデルデータであり、アバター１１０２に対して物理的な制約を与えている。１１０４は現実の机であり、体験者１１０１がアバター１１０２の姿勢をできるだけ模擬するために使用されている。図１１に示す例のように、アバターの操作手段とアバターを観察する視点とは別々に主観か客観かを設定することも可能である。
【０１０３】
以上のように本実施形態の画像処理方法によれば、アバターに課せられた仮想空間内の制約を主観的と客観的とを切り替えて体験者に提示することができる。
【０１０４】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像処理装置を構成する各手段、並びに画像処理方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【０１０５】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１０６】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図３〜図６、図１０に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１０７】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１０９】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【０１１０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【０１１１】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１１２】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１１４】
さらに、その他の方法として、まず記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【符号の説明】
【０１１５】
２０４  位置・姿勢センサ部、２０５  アバター姿勢計算部、２０８  仮想画像生成部、２０９  画像合成部
【図１】
2010257081.tif 000006
【図２】
2010257081.tif 000007
【図３】
2010257081.tif 000008
【図４】
2010257081.tif 000009
【図５】
2010257081.tif 000010
【図６】
2010257081.tif 000011
【図７】
2010257081.tif 000012
【図８】
2010257081.tif 000013
【図９】
2010257081.tif 000014
【図１０】
2010257081.tif 000015
【図１１】
2010257081.tif 000016