(57)【特許請求の範囲】
【請求項１】
ツリー構造で管理されている複数の構成要素から成る仮想物体と現実空間の画像との合成画像を生成して外部機器に送信する画像処理装置であって、
前記外部機器において前記合成画像上で指定された位置を該外部機器から受信する受信手段と、
前記合成画像上で前記位置に表示されている構成要素のサイズに基づいて、該構成要素若しくは前記ツリー構造において該構成要素を配下とする構成要素の何れかを、指定構成要素として特定する特定手段と、
前記指定構成要素及び前記ツリー構造において前記指定構成要素の配下の構成要素を強調表示した前記合成画像を生成して前記外部機器に対して送信する送信手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記受信手段は、前記外部機器のタッチパネル画面上でユーザがタッチした位置を該外部機器から取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定手段は、
前記合成画像上で前記位置に表示されている構成要素のサイズが規定サイズ以上であれば該構成要素を前記指定構成要素として特定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記特定手段は、
前記合成画像上で前記位置に表示されている構成要素のサイズが規定サイズ未満であれば、前記ツリー構造において該構成要素を配下とする構成要素を前記指定構成要素として特定することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記特定手段は、
前記合成画像上で前記位置に表示されている構成要素のサイズが規定サイズ未満であれば、前記ツリー構造において該構成要素を配下とする構成要素のうち規定の条件を満たす構成要素を前記指定構成要素として特定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記特定手段は、
特定した構成要素が前記特定手段が前回に特定した構成要素と同じである場合には、前記ツリー構造において該構成要素と関連するノードの構成要素を前記指定構成要素として特定することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
更に、
前記規定サイズを補正する補正手段を備え、
前記特定手段は、前記補正手段によって補正された規定サイズを用いることを特徴とする請求項３乃至５の何れか１項に記載の画像処理装置。
【請求項８】
前記補正手段は、前記仮想物体の属性に応じた補正値で前記規定サイズを補正することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記補正手段は、前記仮想物体を構成する構成要素の数に応じた補正値で前記規定サイズを補正することを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記補正手段は、前記仮想物体のサイズに応じた補正値で前記規定サイズを補正することを特徴とする請求項７に記載の画像処理装置。
【請求項１１】
前記補正手段は、前記受信手段が前回に前記位置を受信してから規定時間内に前記現実空間の画像を撮像する装置と前記仮想物体との間の距離が規定距離以上縮まった場合に前記規定サイズを補正することを特徴とする請求項７に記載の画像処理装置。
【請求項１２】
前記規定サイズは、前記外部機器の表示画面においてタッチが可能な最小の領域のサイズであることを特徴とする請求項３乃至５，７乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
前記規定の条件は、可視の構成要素である、ことを特徴とする請求項５に記載の画像処理装置。
【請求項１４】
ツリー構造で管理されている複数の構成要素から成る仮想物体と現実空間の画像との合成画像を生成して外部機器に送信する画像処理装置が行う画像処理方法であって、
前記画像処理装置の受信手段が、前記外部機器において前記合成画像上で指定された位置を該外部機器から受信する受信工程と、
前記画像処理装置の特定手段が、前記合成画像上で前記位置に表示されている構成要素のサイズに基づいて、該構成要素若しくは前記ツリー構造において該構成要素を配下とする構成要素の何れかを、指定構成要素として特定する特定工程と、
前記画像処理装置の送信手段が、前記指定構成要素及び前記ツリー構造において前記指定構成要素の配下の構成要素を強調表示した前記合成画像を生成して前記外部機器に対して送信する送信工程と
を備えることを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１乃至１３の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間の画像と現実空間の画像との合成画像を取り扱う技術に関するものである。
【背景技術】
【０００２】
従来、ヘッドマウントディスプレイなどの撮像装置が撮像した実空間の映像と、コンピュータグラフィックによって表現される仮想空間上の仮想物体と、を合成する拡張現実、複合現実という技術が実用化されている。具体的には、画像合成装置が、撮像装置が撮像した画像と、仮想空間上の仮想物体をレンダリングした画像と、を合成することで実現する。画像合成装置は、撮像装置に取り付けられた姿勢センサから取得した情報に基づいて仮想空間におけるカメラ情報を変更し、撮像装置の動きに仮想物体を追従させた合成画像を生成することができる。
【０００３】
また、撮像装置が特定のマーカを含む画像を撮像し、画像合成装置が画像からマーカの位置を特定することでマーカが存在する位置に仮想物体を表示させることができる。なお、マーカとは、被写体に取り付けてその三次元座標を特定するための目印である。
【０００４】
画像合成装置は、合成画像を撮像装置に表示する他、タッチパネルを持つタブレットなどの撮像装置とは異なる端末に表示することもある（特許文献１）。このような構成では、端末の利用者が、仮想物体の一部を画面上でタッチすることで、撮像装置装着者が参照する合成画像に対して操作を行うことが行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−４４６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
合成画像内の仮想物体は複数の部品で表現されることがある。この場合、端末利用者が画面をタッチすることで部品をハイライト表示などで強調して、撮像装置装着者に注目を促すことが行われる。
【０００７】
ただし、部品のサイズは、仮想物体の定義データの作成者により定義することが可能であるが、装着者と仮想物体との位置関係によって装着者の参照に適したサイズで表示されるとは限らないという問題があった。例えば、仮想物体の定義データでサイズが小さく設定されている部品は、装着者と仮想物体とが離れていた場合、さらに小さく表示され、装着者が合成画像の中で視認するには難しくなる。
【０００８】
本発明はこのような問題に鑑みてなされたものであり、複数の構成要素から成る仮想物体の画像と現実空間の画像との合成画像上で構成要素を指示した場合に、どの構成要素を指示したのかを明確に通知するための技術を提供する。
【課題を解決するための手段】
【０００９】
本発明の一様態は、ツリー構造で管理されている複数の構成要素から成る仮想物体と現実空間の画像との合成画像を生成して外部機器に送信する画像処理装置であって、前記外部機器において前記合成画像上で指定された位置を該外部機器から受信する受信手段と、前記合成画像上で前記位置に表示されている構成要素のサイズに基づいて、該構成要素若しくは前記ツリー構造において該構成要素を配下とする構成要素の何れかを、指定構成要素として特定する特定手段と、前記指定構成要素及び前記ツリー構造において前記指定構成要素の配下の構成要素を強調表示した前記合成画像を生成して前記外部機器に対して送信する送信手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の構成によれば、複数の構成要素から成る仮想物体の画像と現実空間の画像との合成画像上で構成要素を指示した場合に、どの構成要素を指示したのかを明確に通知することができる。
【図面の簡単な説明】
【００１１】
【図１】システムの構成例を示すブロック図。
【図２】画像表示装置１２０及び画像合成装置１００が行う処理のフローチャート。
【図３】ステップＳ２１２における処理の詳細を示すフローチャート。
【図４】画像表示装置１２０及び画像合成装置１００が行う処理のフローチャート。
【図５】画像表示装置１２０及び画像合成装置１００が行う処理のフローチャート。
【図６】仮想物体とその見え方を示す図。
【図７】ツリーの一例を示す図。
【図８】システムの構成例を示すブロック図。
【図９】システムの構成例を示すブロック図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１３】
［第１の実施形態］
本実施形態では、ツリー構造で管理されている複数の構成要素から成る仮想物体と現実空間の画像との合成画像を生成して外部機器に送信する画像処理装置であって、次のような構成を有することを特徴とする画像処理装置の一例について説明する。すなわちこの画像処理装置は、外部機器において合成画像上で指定された位置を該外部機器から受信する。そして画像処理装置は、合成画像上で該位置に表示されている構成要素のサイズに基づいて、該構成要素若しくはツリー構造において該構成要素を配下とする構成要素の何れかを、指定構成要素として特定する。そして画像処理装置は、指定構成要素及びツリー構造において指定構成要素の配下の構成要素を強調表示した合成画像を生成して外部機器に対して送信する。
【００１４】
先ず、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、画像表示装置１２０、撮像装置１３０、画像合成装置１００、記憶装置１４０を有し、それぞれの装置間は、ＬＡＮやインターネットなどの有線若しくは有線のネットワークを介して接続されている。
【００１５】
先ず、記憶装置１４０について説明する。記憶装置１４０は、仮想物体を描画するためのデータであるモデルデータ１４１を保持している装置であり、ハードディスクドライブ装置等の大容量情報記憶装置で構成される。モデルデータ１４１には、例えば、仮想物体をポリゴンで表現する場合には、ポリゴンを構成する各頂点の位置、ポリゴンの法線ベクトル、ポリゴンの色などの属性、ポリゴンの配置位置情報、テクスチャデータ等が含まれている。代表的な3DグラフィックライブラリであるSGIのOpen Inventorでは、モデルデータはシーングラフというツリー構造で構成されており、ツリーを構成するグラフィック部品（構成要素）をノードと呼ぶ。本実施形態においても、モデルデータ１４１は、構成要素をノードとするツリーのデータであるものとする。構成要素をノードとするツリーの一例を図７に示す。
【００１６】
図７の左側には、最上段に位置する直方体（直方体Ａと呼称する）、該直方体Ａの直下に位置する直方体（直方体Ｂと呼称する）、該直方体Ｂの一方面と反対面とに２個ずつ位置する円柱、といった構成要素から成る仮想物体が示されている。このような仮想物体を構成するそれぞれの構成要素をツリー構造で表現すると図７の右側に示すようなツリーとなる。
【００１７】
このツリーにおいて最上位のノードとして仮想物体全体を定義したノードＰが配されており、その配下の子ノードとしてノードＸ、ノードＹが配されている。ノードＸは直方体Ａに対応しており、ノードＹは直方体Ｂに対応している。また、ノードＹの配下には、ノードＺ１、Ｚ２、Ｚ３、Ｚ４という子ノードが配されている。ノードＺ１、Ｚ３は、直方体Ｂの手前側の面に位置している円柱に対応しており、ノードＺ２、Ｚ４は、直方体Ｂの奥側の面に位置している円柱に対応している。
【００１８】
従って、図７の左側の仮想物体のモデルデータ１４１は、図７の右側のツリーのデータとなる。このように、本実施形態では、仮想物体を構成するそれぞれの構成要素をノードとし、且つそれぞれのノードをツリー構造にて管理しているものがモデルデータ１４１である。
【００１９】
次に、画像表示装置１２０について説明する。画像表示装置１２０は、画像合成装置１００から送信された合成画像を受信して表示する機能、該表示した合成画像上でユーザが指示した位置を取得して画像合成装置１００に送信する機能を有する装置であり、例えば、タッチパネル画面を有する装置である。このような画像表示装置１２０には、例えば、スマートフォン、タブレット端末装置、ＰＣ（パーソナルコンピュータ）を適用することができる。
【００２０】
ＣＰＵ１２１は、メモリ１２２に格納されているコンピュータプログラムやデータを用いて処理を実行することで、画像表示装置１２０全体の動作制御を行うと共に、画像表示装置１２０が行うものとして後述する各処理を実行若しくは制御する。
【００２１】
メモリ１２２は、ＲＡＭ、ハードディスクドライブ装置、フラッシュメモリなどで構成されている。ハードディスクドライブ装置やフラッシュメモリには、ＯＳ（オペレーティングシステム）や、画像表示装置１２０が行うものとして後述する各処理をＣＰＵ１２１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。ＲＡＭは、ハードディスクドライブ装置やフラッシュメモリからロードされたコンピュータプログラムやデータ、画像合成装置１００から受信したデータを格納するためのエリア、ＣＰＵ１２１が各種の処理を実行する際に用いるワークエリアを有する。
【００２２】
取得部１２３は、表示部１２５上でタッチされた位置を取得する。送信部１２４は、取得部１２３が取得した位置を画像合成装置１００に対して送信する。
【００２３】
受信部１２６は、画像合成装置１００から送信された合成画像を受信する。表示部１２５は、受信部１２６が受信した合成画像を表示する。表示部１２５は、例えば、タッチパネル画面であり、受信部１２６が受信した合成画像を含む様々な画像や文字を表示する機能、ユーザによる画面上のタッチを検知する機能、を有する。なお、取得部１２３、送信部１２４、受信部１２６、表示部１２５は何れもハードウエアで構成しても構わないが、これら各機能部のそれぞれが行うものとして説明した処理（動作）の一部をソフトウェアで実現させても構わない。この場合、このソフトウェアは、メモリ１２２に格納され、ＣＰＵ１２１による実行対象となる。
【００２４】
次に、撮像装置１３０について説明する。撮像装置１３０は、現実空間の動画像を撮像して画像合成装置１００に送信する機能、自身の位置姿勢を計測して画像合成装置１００に送信する機能、画像合成装置１００から送信された合成画像を表示する機能、を有する装置である。撮像装置１３０は、例えば、ヘッドマウントディスプレイ装置である。
【００２５】
次に、画像合成装置１００について説明する。画像合成装置１００は、撮像装置１３０の位置姿勢に基づいて仮想物体の画像を生成し、該仮想物体の画像と撮像装置１３０が撮像した現実空間の画像との合成画像を生成し、該合成画像を画像表示装置１２０及び撮像装置１３０に対して送信する機能を有する。なお、画像合成装置１００は、合成画像を生成する際には、画像表示装置１２０側で合成画像上で指定された位置に応じた構成要素を強調表示した合成画像を生成する。画像合成装置１００には、例えば、ＰＣやサーバ装置を適用することができる。
【００２６】
ＣＰＵ１０１は、メモリ１０２に格納されているコンピュータプログラムやデータを用いて処理を実行することで、画像合成装置１００全体の動作制御を行うと共に、画像合成装置１００が行うものとして後述する各処理を実行若しくは制御する。
【００２７】
メモリ１０２は、ＲＡＭ、ハードディスクドライブ装置、フラッシュメモリなどで構成されている。ハードディスクドライブ装置やフラッシュメモリには、ＯＳ（オペレーティングシステム）や、画像合成装置１００が行うものとして後述する各処理をＣＰＵ１０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。ＲＡＭは、ハードディスクドライブ装置やフラッシュメモリからロードされたコンピュータプログラムやデータ、画像表示装置１２０や撮像装置１３０から受信したデータを格納するためのエリアを有する。さらにはＲＡＭは、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアを有する。
【００２８】
受信部１０３、選択部１０４、変換部１０５、読み込み部１０６、送信部１１１、取得部１１２、生成部１１０、判断部１０９、算出部１０７、取得部１０８、検索部１１３、取得部１１４、検証部１１５のそれぞれの機能については後述する。なお、これらの機能部をハードウエアで構成しても構わないが、これら機能部の機能のうちの一部の機能についてはソフトウェアで実現させても構わない。この場合、このソフトウェアは、メモリ１０２に格納され、ＣＰＵ１０１による実行対象となる。
【００２９】
次に、画像表示装置１２０及び画像合成装置１００のそれぞれが行う処理について、図２のフローチャートを用いて説明する。なお、図２のフローチャートにおいて、ステップＳ２０１，Ｓ２０２，Ｓ２１５，Ｓ２１６の各ステップにおける処理は、画像表示装置１２０側で行う処理である。また、ステップＳ２０３〜Ｓ２１４の各ステップにおける処理は、画像合成装置１００側で行う処理である。
【００３０】
なお、図２のフローチャートに従った処理の開始時点で、画像表示装置１２０の表示部１２５及び撮像装置１３０の表示画面には、画像合成装置１００が生成した合成画像が表示されているものとする。この合成画像は、モデルデータ１４１に基づく仮想物体を撮像装置１３０の位置姿勢を有する視点から見た場合の該仮想物体の画像と、撮像装置１３０が撮像した現実空間の画像と、の合成画像である。
【００３１】
＜ステップＳ２０１＞
画像表示装置１２０のユーザは、表示部１２５に表示されている合成画像を閲覧し、該合成画像中に写っている仮想物体の各構成要素のうち着目構成要素の表示位置をタッチする。表示部１２５がユーザによる表示画面上（タッチパネル画面上）のタッチを検知すると、取得部１２３は、表示画面上におけるユーザによるタッチ位置（タッチ座標）を取得する。タッチ座標とは、例えば、表示部１２５の表示画面の左上隅の位置の座標を（０，０）とし、水平方向にｘ座標、垂直方向にｙ座標を規定した座標系においてユーザがタッチした位置の座標である。
【００３２】
＜ステップＳ２０２＞
送信部１２４は、ステップＳ２０１において取得部１２３が取得したタッチ座標を画像合成装置１００に対して送信する。
【００３３】
＜ステップＳ２０３＞
受信部１０３は、送信部１２４によって送信されたタッチ座標を受信する。
【００３４】
＜ステップＳ２０４＞
読み込み部１０６は、記憶装置１４０からモデルデータ１４１を読み出す。
【００３５】
＜ステップＳ２０５＞
取得部１１２は、撮像装置１３０から送信された「撮像装置１３０によって撮像された現実空間の画像」（背景画像）及び「撮像装置１３０の位置姿勢」を受信する。撮像装置１３０の位置姿勢は、世界座標系（現実空間中の１点を原点とし、該原点で互いに直交する３軸をそれぞれｘ軸、ｙ軸、ｚ軸とする座標系）におけるものであるとする。
【００３６】
＜ステップＳ２０６＞
変換部１０５は、ステップＳ２０４において読み出されたモデルデータ１４１に含まれている各ポリゴンの頂点の座標を、撮像装置１３０が有する表示画面上の座標に変換する。この座標変換は、一般的にモデリング変換、視野変換、投影変換、ビューポート変換の４つの座標変換で実現されることが知られている。
【００３７】
モデリング変換では、モデルデータ１４１の座標系（モデルリング座標系）上の座標を世界座標系上の座標に変換する。視野変換では、世界座標系上の座標を、撮像装置１３０の位置を原点とする座標系（ビュー座標系）上の座標に変換する。投影変換では、ビュー座標系上の座標を平面上の座標系（投影座標系）に変換する。なお、本実施形態では、投影変換として、撮像装置１３０と仮想物体との間の距離に応じて該仮想物体のサイズを変更する透視投影を使用する。ビューポート変換では、投影座標系上の座標を、撮像装置１３０が有する表示画面の座標系（ビューポート座標）に変換する。なお、変換部１０５は、座標変換時に、ビューポート座標系での座標のほか、奥行を表現するデプス値も保存する。
【００３８】
このようにして変換部１０５は、モデルデータ１４１に基づく仮想物体を撮像装置１３０の表示画面に投影した投影仮想物体を得ることができる。このような変換処理により、仮想物体を構成するそれぞれの構成要素の撮像装置１３０の表示画面上における投影領域（投影された頂点（投影頂点）で囲まれた領域）を求めると共に、それぞれの構成要素のデプス値をそのまま保存することができる。なお、上記の通り、構成要素とノードとは１対１の関係であるから、このような座標変換は、ノードの座標変換でもある。
【００３９】
モデルデータ１４１の座標系（モデル座標系）における、該モデルデータ１４１に基づく仮想物体を図６（ａ）に示す。このような仮想物体を世界座標系に配置した様子を図６（ｂ）に示す。ここで、視点Ｖ１から見た仮想物体の画像（撮像装置１３０の表示画面のビューポート座標上での仮想物体の見え方）を図６（ｃ）に示す。また、視点Ｖ１よりも仮想物体から遠い視点Ｖ２から見た仮想物体の画像（撮像装置１３０の表示画面のビューポート座標上での仮想物体の見え方）を図６（ｄ）に示す。視点Ｖ２は視点Ｖ１よりも仮想物体から遠いので、当然ながら、図６（ｄ）の画像中における仮想物体のサイズは図６（ｃ）の画像中における仮想物体よりも小さくなってしまう。
【００４０】
＜ステップＳ２０７＞
選択部１０４は、「仮想物体を構成するそれぞれの構成要素」のうち、ステップＳ２０３において受信したタッチ座標を含む投影領域に対応する構成要素を選択する。なお、撮像装置１３０の表示画面の縦横サイズと表示部１２５の縦横サイズとが異なる場合には、そのサイズ比に応じてタッチ座標を変換することで、表示部１２５上のタッチ座標を、撮像装置１３０の表示画面上のタッチ座標に変換する必要がある。そして該変換後、選択部１０４は、「仮想物体を構成するそれぞれの構成要素」のうち、該変換したタッチ座標を含む投影領域に対応する構成要素を選択する。このように、撮像装置１３０の表示画面の縦横サイズと表示部１２５の縦横サイズとが異なる場合には、それぞれの画面間で対応する座標を得るためには適宜変換が必要となる
また、選択部１０４が複数の構成要素を選択した場合には、デプス値が最も小さい構成要素、すなわち、選択した構成要素のうち最も撮像装置１３０に近い構成要素を選択する。
【００４１】
例えば、図６（ｃ）に示す如く、タッチ座標がＴ１である場合、タッチ座標Ｔ１を含む投影領域に対応する構成要素は、ノードＺ３に対応する構成要素と、その奥側に位置しているノードＺ１に対応する構成要素の２つとなる。しかし、ノードＺ３に対応する構成要素がノードＺ１に対応する構成要素よりも撮像装置１３０に近いため、この場合は、ノードＺ３に対応する構成要素を選択することになる。
【００４２】
なお、ステップＳ２０６，Ｓ２０７における処理（３次元仮想物体を表示している画面上で指定した位置に対応する構成要素を選択する処理）は、一般的な3Dグラフィックライブラリがセレクションとよばれる標準機能によって実現可能である。この一般的な3Dグラフィックライブラリには、Open InventorやOpenGLなどがある。
【００４３】
＜ステップＳ２０８＞
算出部１０７は、ステップＳ２０７において選択された選択構成要素（候補ノード）の評価値を求める。ここで求める評価値とは、ビューポート座標系における選択構成要素のサイズ（撮像装置１３０の表示画面で表示された場合の表示サイズ）である。例えば、選択構成要素の投影領域を構成する各投影頂点のうち頂点間の距離が最大となる２頂点間の距離を評価値としても構わない。また、世界座標系における撮像装置１３０の位置と、選択構成要素の各頂点の位置と、を結んだ線で構成される立体角の最大値を評価値としても構わない。
【００４４】
＜ステップＳ２０９＞
取得部１０８は、選択構成要素を、ユーザが指定した構成要素として採用するか否かを判断するために上記の評価値と比較される選択基準を取得する。ここでは一例として、撮像装置１３０の表示画面において視認可能な最小サイズを選択基準とするが、これに限るものではない。他にも例えば、画像表示装置１２０の表示部１２５においてユーザが指でタップすることができる領域の最小サイズ（最小タップサイズ）を１辺の長さとする正方形の面積を選択基準としても良い。また、最小値だけではなく、最大値を選択基準として使用してもよい。さらに、上記の組み合わせを選択基準として使用してもよい。
【００４５】
＜ステップＳ２１０＞
判断部１０９は、ステップＳ２０８において求めた評価値と、ステップＳ２０９において取得した選択基準と、を比較して、選択構成要素を、ユーザが合成画像上で指定した構成要素として採用するのか否かを判断する。この判断の結果、採用すると判断した場合には、処理はステップＳ２１１を介してステップＳ２１３に進み、採用しないと判断した場合には、処理はステップＳ２１１を介してステップＳ２１２に進む。
【００４６】
例えば、図６（ｃ）に示す如く、タッチ座標がＴ１であり、その結果、ノードＺ３に対応する構成要素が選択構成要素として選択されたとする。図６（ｃ）においては選択構成要素は円として投影されており、その半径を１５とする。このとき、評価値を撮像装置１３０の表示画面上における選択構成要素の面積Ｓｚ３、選択基準を撮像装置１３０の表示画面において視認可能な最小面積Ｓ０＝４９とすると、以下の式が成立し、その結果、選択構成要素は採用すると判断される。
【００４７】
Ｓｚ３＝（１５×１５）×π＝７０６．５＞Ｓ０＝４９
その結果、処理はステップＳ２１１を介してステップＳ２１３に進むことになる。なお、同様のケースにおいて選択構成要素の半径が３の場合、以下の式が成立し、その結果、選択構成要素は採用しないと判断する。
【００４８】
Ｓｚ３＝（３×３）×π＝２８．３＜Ｓ０＝４９
その結果、処理はステップＳ２１１を介してステップＳ２１２に進むことになる。このように、選択構成要素のサイズが規定サイズ以上であるのか規定サイズ未満であるのかを判断するようにしても構わない。
【００４９】
＜ステップＳ２１２＞
本ステップでは、ツリー構造において、ステップＳ２０７において選択された選択構成要素を配下とする構成要素の何れかを、新たな選択構成要素として選択する為の処理を行う。ステップＳ２１２における処理の詳細について、図３のフローチャートを用いて説明する。
【００５０】
＜ステップＳ３０１＞
検索部１１３は、モデルデータ１４１から、ステップＳ２０７で選択した選択構成要素の直上の親ノード（１つ上位のノード）を検索する。例えば、ステップＳ２０７において図７のノードＺ３に対応する構成要素が選択構成要素として選択された場合、ステップＳ３０１では、検索部１１３は、ノードＺ３の親ノードであるノードＹを検索することになる。
【００５１】
＜ステップＳ３０２＞
取得部１１４は、モデルデータ１４１から、ステップＳ３０１において検索部１１３が検索したノードに対応する構成要素の属性値を取得する。
【００５２】
＜ステップＳ３０３＞
検証部１１５は、ステップＳ３０２において取得した属性値が、予め定められた前提条件を満たしているか否かを判断する。前提条件は、その属性値を有する構成要素が表示可能であるか否かを判断するためのものであり、様々なものが考え得る。例えば、前提条件は、「属性値に「可視」が設定されている」であっても良いし、「属性値に、ノードをグルーピングするための形式的な「コンテナノード」が設定されていない」であっても良い。
【００５３】
また、別の例として、ノードのサイズ属性が子ノードとほぼ同じ場合、それぞれのノードに対応する構成要素の撮像装置１３０の表示画面上における表示サイズはほぼ同じと仮定し、前提条件を満たさないとしてもよい。
【００５４】
このような判断の結果、属性値が前提条件を満たしている場合には、処理はステップＳ３０４を介してステップＳ３０５に進む。一方、属性値が前提条件を満たしていない場合には、処理はステップＳ３０４を介してステップＳ３０１に戻り、更に上位の親ノードを検索する。
【００５５】
＜ステップＳ３０５＞
選択部１０４は、ステップＳ３０１において検索部１１３が検索したノードに対応する構成要素を選択構成要素として取得する。以上説明した図３のフローチャートに従った処理の結果、選択部１０４が選択構成要素を取得すると、処理はステップＳ２０８に戻る。ここで、ステップＳ２１２において図７のノードＺ３に対応する構成要素を選択構成要素として取得し、その後、ステップＳ２０８〜Ｓ２１１の処理によって、該選択構成要素を採用しないと判断されたとする。この場合、再びステップＳ２１２の検索処理が行われ、その結果、ノードＹに対応する構成要素を選択構成要素として取得することになる。そして、ノードＹに対応する構成要素の撮像装置１３０の表示画面上における縦サイズ＝６、横サイズ＝２４であるとすると、該構成要素の面積Ｓｙは以下の式を満たすことになり、該構成要素は採用すると判断される。
【００５６】
Ｓｙ＝６×２４＝１４４＞Ｓ０＝４９
＜ステップＳ２１３＞
生成部１１０は、モデルデータ１４１に基づく仮想物体を、ステップＳ２０５において取得部１１２が取得した「撮像装置１３０の位置姿勢」を有する視点から見た画像を生成する。その際、生成部１１０は、選択構成要素と、ツリー構造において該選択構成要素の配下に位置する構成要素と、を強調表示する。強調表示の方法には様々な方法があり、点滅させて表示しても構わないし、他の構成要素とは異なる色で表示しても構わない。また、文字などの付加情報を共に表示しても構わない。
【００５７】
そして生成部１１０は、このようにして生成した仮想物体の画像と、ステップＳ２０５において取得部１１２が取得した「撮像装置１３０によって撮像された現実空間の画像」と、を合成して合成画像を生成する。現実空間の画像と仮想空間の画像とを合成して合成画像（所謂複合現実空間の画像）を生成するための処理については周知であるため、該処理に係る説明は省略する。
【００５８】
＜ステップＳ２１４＞
送信部１１１は、ステップＳ２１３において生成部１１０が生成した合成画像を画像表示装置１２０及び撮像装置１３０に対して送信する。
【００５９】
＜ステップＳ２１５＞
画像表示装置１２０の受信部１２６は、送信部１１１が送信した合成画像を受信する。
【００６０】
＜ステップＳ２１６＞
表示部１２５は、ステップＳ２１５において受信部１２６が受信した合成画像を表示する。
【００６１】
これにより画像表示装置１２０の表示部１２５及び撮像装置１３０の表示画面には、ユーザが指定した位置に表示されている構成要素のサイズを加味した上で決定された選択構成要素及びその配下の構成要素が強調表示された合成画像が表示されることになる。
【００６２】
なお、ステップＳ２１２の処理によって、候補ノードのすべての評価値を求める必要がなくなるため、合成画像を画像表示装置１２０及び撮像装置１３０に早く送信することが可能となる。
【００６３】
［第２の実施形態］
本実施形態では、上記のステップＳ２０９において取得した選択基準を補正する点が第１の実施形態と異なる。以下では第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。
【００６４】
本実施形態に係るシステムの構成例について、図８のブロック図を用いて説明する。図８に示した構成は、図１に示した構成において、画像合成装置１００に補正部８０１を加えた構成となっている。
【００６５】
画像表示装置１２０及び画像合成装置１００のそれぞれが行う処理について、図４のフローチャートを用いて説明する。図４のフローチャートは、図２のフローチャートにおいて、ステップＳ２０９とステップＳ２１０との間にステップＳ４０１を設けたものとなっている。
【００６６】
ステップＳ４０１では、補正部８０１が、ステップＳ２０９において取得部１０８が取得した選択基準を、様々な状況に合わせて補正する。そしてステップＳ２１０では、判断部１０９は、ステップＳ２０８において求めた評価値と、ステップＳ４０１において補正した選択基準と、を比較して、選択構成要素を、ユーザが合成画像上で指定した構成要素として採用するのか否かを判断する。ステップＳ４０１における補正処理には様々なものが考えられるが、以下では幾つかの例を説明する。
【００６７】
例えば、ユーザが画像表示装置１２０に備わっているユーザインターフェースや撮像装置１３０に備わっているユーザインターフェースを操作して、選択基準の補正内容を設定した場合には、受信部１０３や取得部１１２が該補正内容を取得する。そして補正部８０１は、該取得した補正内容に基づいて、ステップＳ２０９において取得した選択基準を補正する。この補正内容は、例えば、選択基準が上記のＳ０である場合には、その補正値αとすることができる。α＝１０％の場合、補正部８０１は、下記のようにして選択基準Ｓ０を補正する。
【００６８】
Ｓ０’＝（１００＋１０）／１００×Ｓ０
そして第１の実施形態ではステップＳ２１０では選択基準としてＳ０を用いていたが、本実施形態では、ステップＳ２１０では、選択基準としてＳ０の代わりにＳ０’を用いる。なお、補正値は全ての仮想物体で同じであっても構わないし、複数の仮想物体を幾つかのグループに分割した場合に、グループ毎に補正値を設定しても構わないし、仮想物体毎に補正値を設定しても構わない。例えば、「車」の仮想物体、「机の仮想物体」等、様々な属性の仮想物体において、同じ属性の仮想物体には同じ補正値を設定するようにしても構わない。仮想物体の属性はモデルデータ１４１に適宜されている。
【００６９】
また、仮想物体を構成する構成要素（ノード）の数に応じて補正値を変えても構わない。例えば、仮想物体を構成する構成要素の数が大きいほど補正値を大きくしても良いし、構成要素の数が一定数未満であるときの補正値よりも一定数以上であるときの補正値を大きくしても構わない。
【００７０】
また、仮想物体のサイズに応じて補正値を変えても構わない。例えば、仮想物体のサイズが大きいほど補正値を大きくしても良いし、仮想物体のサイズが一定数未満であるときの補正値よりも一定数以上であるときの補正値を大きくしても構わない。
【００７１】
また、前回画像表示装置１２０からタッチ座標を受信してから規定時間内に、仮想物体と撮像装置１３０との間のビュー座標系における距離が規定距離以上縮まった場合に補正値を適用する、としても構わない。例えば、前回画像表示装置１２０からタッチ座標を受信してから１秒以内に、仮想物体と撮像装置１３０との間のビュー座標系における距離が１メートル以上縮まった場合に補正値α＝−１０％を適用する、としても構わない。
【００７２】
［第３の実施形態］
本実施形態では、ステップＳ２０７において選択した構成要素が、前回のステップＳ２０７において選択した構成要素と同じである場合には、該構成要素の代わりに、該構成要素の直上の親ノードに対応する構成要素を選択構成要素として選択する。以下では第１の実施形態との差分について重点的に説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。
【００７３】
本実施形態に係るシステムの構成例について、図９のブロック図を用いて説明する。図９に示した構成は、図１に示した構成において、画像合成装置１００に設定部９０１を加えた構成となっている。
【００７４】
画像表示装置１２０及び画像合成装置１００のそれぞれが行う処理について、図５のフローチャートを用いて説明する。図５のフローチャートは、図２のフローチャートにおいて、ステップＳ２０７とステップＳ２０８との間にステップＳ５０１及びステップＳ５０２を設けたものとなっている。
【００７５】
ステップＳ２０７において選択した構成要素が、前回のステップＳ２０７において選択した構成要素と同じである場合には、処理はステップＳ５０１を介してステップＳ５０２に進む。一方、ステップＳ２０７において選択した構成要素が、前回のステップＳ２０７において選択した構成要素と異なる場合には、処理はステップＳ５０１を介してステップＳ２０８に進む。
【００７６】
ステップＳ５０２では、設定部９０１は、ステップＳ２０７で選択した構成要素の代わりに、該構成要素の直上の親ノードに対応する構成要素を選択構成要素として選択する。これにより、画像表示装置１２０の表示画面上で複数回同じ位置をタッチすることにより、選択構成要素を切り替えることが可能となる。
【００７７】
なお、ステップＳ５０２では、親ノードの構成要素を選択することに限るものではなく、ステップＳ２０７において選択された構成要素のノードと関連するノードに対応する構成要素を選択しても良い。例えば、ステップＳ２０７において選択された構成要素の親ノード配下の兄弟ノードに対応する構成要素を選択しても構わない。
【００７８】
［第４の実施形態］
第１〜３の実施形態では、撮像装置１３０の位置姿勢はセンサ等の計測機器を用いて計測するものとしたが、撮像装置１３０の位置姿勢を求めるための技術には様々なものがあり、何れを採用しても構わない。例えば、現実空間中に配したマーカや予め現実空間中に存在する自然特徴を用いて撮像装置１３０の位置姿勢を求める方法もある。また、このような画像を用いた位置姿勢を求める方法とセンサを用いた位置姿勢計測方法とを併用してより高精度の位置姿勢を求める方法を採用しても構わない。
【００７９】
また、図１，８，９では、画像合成装置１００に接続されている画像表示装置１２０及び撮像装置１３０の台数は１としているが、複数台の画像表示装置１２０及び撮像装置１３０を画像合成装置１００に接続しても構わない。
【００８０】
また、図１，８，９では、モデルデータ１４１は、記憶装置１４０に保存されており、画像合成装置１００はモデルデータ１４１を該記憶装置１４０から取得している。しかし、モデルデータ１４１はどのような装置に保存させても良く、ネットワークを介して他の装置（ＰＣ，サーバ装置など）から取得するようにしても構わない。
【００８１】
また、仮想物体の配置位置姿勢については、予めモデルデータ１４１で規定されても良いし、動的に変更しても構わない。また、現実空間中にマーカなどを配し、該マーカに記載の情報や該マーカの位置姿勢に応じた位置姿勢でもって仮想物体を配しても構わない。また、上記の実施形態の一部若しくは全部を適宜組み合わせて実施しても構わない。
【００８２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８３】
１０３：受信部  １０４：選択部  １０７：算出部  １０８：取得部  １０９：判断部  １１０：生成部  １１１：送信部
【図１】
0006564259.tif 000002
【図２】
0006564259.tif 000003
【図３】
0006564259.tif 000004
【図４】
0006564259.tif 000005
【図５】
0006564259.tif 000006
【図６】
0006564259.tif 000007
【図７】
0006564259.tif 000008
【図８】
0006564259.tif 000009
【図９】
0006564259.tif 000010