(57)【要約】【課題】  画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現するための技術を提供すること。【解決手段】  撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択し、該操作点に基づいて処理を実行する。【選択図】  図１
2019046472.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択する選択手段と、
前記操作点に基づいて処理を実行する処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記選択手段は、前記点群のうち前記撮像画像において最も上側に位置する点を前記操作点として選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記処理手段は、前記操作点に仮想物体を配置し、該仮想物体が他の仮想物体と接触した場合には、対応する処理を実行することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記処理手段は、前記操作点の付近に仮想物体を配置することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記選択手段は、撮像画像中の複数の対象物体のそれぞれについて、該対象物体の輪郭を構成する点群のうち規定の条件を満たす点を操作点として選択することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記処理手段は、前記複数の対象物体のそれぞれについて前記選択手段が選択した操作点に基づいて処理を実行することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記処理手段は、前記選択手段が選択した操作点ごとに、該操作点に固有の処理を実行することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記選択手段は、前記点群のうち規定の条件を満たす複数の点を前記操作点として選択することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記選択手段は、前記点群のうち尖度が閾値以上となる点を前記操作点として選択することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記選択手段は、前記点群のうち規定の条件を満たす点と、該点を基準とする領域内で規定の条件を満たす点と、を前記操作点として選択することを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記撮像画像から前記対象物体を抽出する抽出手段と、
前記対象物体の３次元輪郭線を生成する輪郭生成手段とを備え、
前記選択手段は、前記３次元輪郭線を構成する点群のうち規定の条件を満たす点を前記操作点として選択することを特徴とする請求項１に記載の画像処理装置。
【請求項１２】
前記輪郭生成手段は、ステレオ画像を用いて前記３次元輪郭線を生成することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記輪郭生成手段は、デプスカメラによる前記対象物体の画像を用いて前記３次元輪郭線を生成することを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
更に、
前記撮像画像を撮像する撮像部の位置姿勢に応じた仮想物体の画像を生成する生成手段と、
前記撮像画像と前記仮想物体の画像との合成画像を生成し、該生成した合成画像を表示部に対して出力する手段と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項１５】
前記生成手段は、前記操作点に基づいて前記仮想物体の画像を生成することを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記生成手段は、前記操作点の３次元位置に配置したポインタの画像を生成することを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記表示部は、頭部装着型表示装置であることを特徴とする請求項１４に記載の画像処理装置。
【請求項１８】
前記選択手段は、前記対象物体に対する操作状態に基づいて操作点を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項１９】
画像処理装置が行う画像処理方法であって、
撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択し、
前記操作点に基づいて処理を実行する
ことを特徴とする画像処理方法。
【請求項２０】
コンピュータを、請求項１乃至１８の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合現実感を提示するための技術に関するものである。
【背景技術】
【０００２】
近年、現実空間と仮想空間とのつなぎ目のない結合を目的とした、複合現実感（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ：ＭＲ）システムの研究が盛んに行われている。これらのシステムにおいて提示を行う画像表示装置としては、たとえば、頭部装着型ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔ  Ｄｉｓｐｌａｙ：ＨＭＤ）を用いることができる。ＭＲシステム研究の進展に伴い、特許文献１や非特許文献１のように現実物体と仮想物体との合成を目的とした、マスキング技術も提案されている。
【０００３】
さらに、ＨＭＤ装着者の視界が覆われて操作スイッチが視認できないという問題を解決するために、マスキング技術を用いてユーザの手など身体の一部を検出し、仮想オブジェクトを操作するジェスチャ操作技術の開発も進められている。特許文献２では、物体の動きを検知する検知部によって、表示要素に対応したユーザの身体の一部の所定の動きを検知し、処理を起動させる技術が公開されている。特許文献３では、仮想パネルを奥行き方向に積層配置し、手の奥行き方向位置及び動作を検知して、複数の仮想パネルから所定のパネルを選択する技術が公開されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２-１５７６０６号
【特許文献２】特開平８−６７０８号
【特許文献３】特許第５２６２６８１号
【非特許文献】
【０００５】
【非特許文献１】林建一，加藤博一，西田正吾，“境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定”，日本バーチャルリアリティ学会論文誌，Ｖｏｌ．１０，Ｎｏ．３，ｐｐ．３７１−３８０，２００５．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１、特許文献２の方法は、手や指の認識処理を実施したうえで、手や指の動作を判断するため、ＭＲシステムに求められるリアルタイムな応答を限られた計算資源のなかで実施することが困難な場合がある。また手や指の認識を前提とするため、手や指の形状認識が不安定な状況下では、操作が困難となる。
【０００７】
本発明はこのような問題に鑑みてなされたものであり、画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現するための技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の一様態は、撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択する選択手段と、前記操作点に基づいて処理を実行する処理手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明の構成によれば、画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】システムの構成例を示すブロック図。
【図２】情報処理装置１０００が行う処理のフローチャート。
【図３】図２のフローチャートに従った処理を説明する図。
【図４】情報処理装置１０００が行う処理のフローチャート。
【図５】図４のフローチャートに従った処理を説明する図。
【図６】情報処理装置１０００が行う処理のフローチャート。
【図７】図６のフローチャートに従った処理を説明する図。
【図８】情報処理装置１０００が行う処理のフローチャート。
【図９】図８のフローチャートに従った処理を説明する図。
【図１０】情報処理装置１０００が行う処理のフローチャート。
【図１１】図１０のフローチャートに従った処理を説明する図。
【図１２】情報処理装置１０００が行う処理のフローチャート。
【図１３】図１２のフローチャートに従った処理を説明する図。
【図１４】情報処理装置１０００が行う処理のフローチャート。
【図１５】図１４のフローチャートに従った処理を説明する図。
【図１６】コンピュータ装置のハードウェア構成例を示すブロック図。
【図１７】システムの構成例を示すブロック図。
【図１８】情報処理装置１０００が行う処理のフローチャート。
【図１９】図１８のフローチャートに従った処理を説明する図。
【図２０】情報処理装置１０００が行う処理のフローチャート。
【図２１】図２０のフローチャートに従った処理を説明する図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１２】
［第１の実施形態］
先ず、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、ＰＣ（パーソナルコンピュータ）やタブレット端末装置などのコンピュータ装置である情報処理装置１０００と、頭部装着型表示装置の一例としてのＨＭＤ１１００と、を有する。情報処理装置１０００とＨＭＤ１１００との間は、互いにデータ通信が可能なように接続されており、例えば、ＬＡＮやインターネットなどのネットワークを介して接続されている。なお、情報処理装置１０００とＨＭＤ１１００との間の接続形態については特定の接続形態に限らず、例えば、無線であっても良いし有線であっても良い。
【００１３】
先ず、ＨＭＤ１１００について説明する。撮像部１１１０はＨＭＤ１１００を頭部に装着したユーザの左眼に提供する現実空間の画像（左眼用画像）を撮像する為の左眼用撮像部（左視点）と、該ユーザの右眼に提供する現実空間の画像（右眼用画像）を撮像する為の右眼用撮像部（右視点）と、を有する。左眼用撮像部及び右眼用撮像部のそれぞれは静止画像を撮像する撮像部であっても良いし、動画像を撮像する撮像部であっても良い。そして撮像部１１１０は、左眼用撮像部により撮像された左眼用画像と右眼用撮像部により撮像された右眼用画像とのセットをスレテオ画像として情報処理装置１０００に送出する（つまりステレオ画像は、静止画像であっても良いし、動画像であっても良い）。
【００１４】
表示部１１２０は、ＨＭＤ１１００を頭部に装着したユーザの左眼に画像や文字を提供するための左眼用表示部と、該ユーザの右眼に画像や文字を提供するための右眼用表示部と、を有する。左眼用表示部及び右眼用表示部はそれぞれ、ＨＭＤ１１００を頭部に装着したユーザの左眼及び右眼の眼前に位置するようにＨＭＤ１１００に取り付けられたものであり、情報処理装置１０００から送出された画像や文字を表示する。
【００１５】
次に、情報処理装置１０００について説明する。情報処理装置１０００は、後述する各処理を実行可能な画像処理装置として機能する装置である。取得部１０１０は、撮像部１１１０から送出されたステレオ画像を受信する。輪郭生成部１０２０は、取得部１０１０が受信したステレオ画像中（撮像画像中）に写っている対象物体（人の手など、何らかの操作を行うためにユーザが利用する現実物体）の輪郭線を構成する各点の３次元位置を求める。
【００１６】
計測部１０３０は、取得部１０１０が受信した左眼用画像を用いて、世界座標系（現実空間中の１点を原点とし、該原点で互いに直交する３軸をそれぞれ、ｘ軸、ｙ軸、ｚ軸とする座標系）における左視点の位置姿勢を求める。更に計測部１０３０は、取得部１０１０が受信した右眼用画像を用いて、世界座標系における右視点の位置姿勢を求める。例えば、計測部１０３０は、画像中に写っている特徴点（現実空間中に人が意図的に配置したマーカ、現実空間中に元来存在する自然特徴等）に基づいて、該画像を撮像した撮像部の位置姿勢を算出する。なお、世界座標系における撮像部の位置姿勢を取得するための方法には様々な方法があり、特定の方法に限らない。例えば、撮像部（左眼用撮像部及び右眼用撮像部）に対する相対的な位置姿勢が既知のセンサをＨＭＤ１１００に取り付け、該センサによる計測値を該相対的な位置姿勢に基づいて変換することで、世界座標系における撮像部の位置姿勢を求めるようにしても良い。また、モーションキャプチャシステムを利用する方法、撮像画像を用いたＳｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ（ＳＬＡＭ）を利用する方法等により世界座標系における撮像部の位置姿勢を求めても良い。
【００１７】
操作点算出部１０４０は、上記の輪郭線を構成する各点のうち、規定の条件を満たす点を操作点として選択する。本実施形態では操作点算出部１０４０は、上記の輪郭線を構成する各点のうち、Ｒｏｗ方向において最も画像の上側に位置する点を操作点として選択する。
【００１８】
信号生成部１０５０は、操作点の３次元位置や動き、規定の仮想物体に対する相対的な操作点の位置や動き、等に基づいて、規定の処理を実行するためのトリガとなる信号を生成して信号処理部１０７０に対して送出する。本実施形態では、操作点の位置に配置するポインタがボタン（仮想物体）における規定の部分と接触した場合には、ボタンが押下されたと判断し、規定の処理を実行するためのトリガとなる信号を生成して信号処理部１０７０に送出する。しかし、規定の処理を実行するためのトリガとなる信号を生成するための条件は特定の条件に限らない。例えば操作点の時系列的な３次元位置（絶対位置でも良いし規定の仮想物体に対する相対的な３次元位置でも良い）の変化を規定のジェスチャとして認識した場合、規定の処理を実行するためのトリガとなる信号を生成して信号処理部１０７０に送出しても良い。信号処理部１０７０は、信号生成部１０５０から送出された信号に対応する処理を実行する。
【００１９】
保持部１０６０は、仮想空間中に配置する各仮想物体（ＣＧモデル）の描画データが保持されている。仮想物体の描画データとは、仮想物体を描画するために必要なデータである。例えば仮想物体をポリゴンで構成する場合、該仮想物体の描画データには、ポリゴンの色や材質や法線ベクトル、ポリゴンを構成する各頂点の３次元位置、ポリゴンにマッピングするテクスチャ、仮想物体の世界座標系における位置姿勢等のデータが含まれている。仮想空間中に配置する仮想物体には、操作点の３次元位置をユーザに視認させるために該操作点の３次元位置に配置するポインタ、上記のボタン、が含まれている。
【００２０】
ＣＧ生成部１０８０は、保持部１０６０に保持されているそれぞれの仮想物体の描画データを用いて、仮想物体を構築して仮想空間中に配置する。そしてＣＧ生成部１０８０は、計測部１０３０が求めた世界座標系における左視点の位置姿勢に基づき、該左視点から見た仮想空間の画像（左眼用の仮想空間画像）を生成する。更にＣＧ生成部１０８０は、計測部１０３０が求めた世界座標系における右視点の位置姿勢に基づき、該右視点から見た仮想空間の画像（右眼用の仮想空間画像）を生成する。規定の位置姿勢を有する視点から見た仮想空間の画像を生成するための技術については周知であるため、この技術に係る説明は省略する。
【００２１】
合成部１０９０は、取得部１０１０が受信した左眼用画像に左眼用の仮想空間画像を重畳させた合成画像を左眼用の複合現実空間画像として生成する。更に合成部１０９０は、取得部１０１０が受信した右眼用画像に右眼用の仮想空間画像を重畳させた合成画像を右眼用の複合現実空間画像として生成する。このとき、左眼用画像及び右眼用画像のそれぞれにおいて対象物体が写っている画像領域の一部若しくは全部に仮想空間画像を重畳させる場合には、対象物体と仮想物体との奥行きを考慮して、物体同士の隠蔽関係を整合させる。つまり、対象物体の画像領域において該対象物体よりも視点に近い仮想物体が重なった部分領域については仮想空間画像の重畳を許可する。一方、対象物体の画像領域において該対象物体よりも視点から遠い仮想物体が被った部分領域については仮想空間画像の重畳を禁止する。
【００２２】
そして合成部１０９０は、左眼用の複合現実空間の画像を、ＨＭＤ１１００の表示部１１２０が有する左眼用表示部に送出すると共に、右眼用の複合現実空間の画像を、ＨＭＤ１１００の表示部１１２０が有する右眼用表示部に送出する。
【００２３】
次に、情報処理装置１０００が１フレーム分の複合現実空間画像（左眼用の複合現実空間画像及び右眼用の複合現実空間画像）を生成して表示部１１２０に対して出力するために行う処理について、図２のフローチャートに従って説明する。なお、図２のフローチャートに従った処理を繰り返して行うことで、複数フレームの複合現実空間画像を生成してＨＭＤ１１００に対して送出することができる。
【００２４】
ステップＳ２０００では、取得部１０１０は、撮像部１１１０から送出されたステレオ画像を受信する。ステップＳ２１００では、輪郭生成部１０２０は、ステレオ画像に含まれている左眼用画像及び右眼用画像のそれぞれから、該画像上における対象物体の輪郭線（２次元輪郭線）を抽出する。例えば、図３（Ａ）に示す如く、対象物体としての人の手３０１０を含む画像３０００から手３０１０の２次元輪郭線を抽出する場合、あらかじめ手を撮像した撮像画像から該手の画像領域内の色情報を抽出してテーブルに登録しておく。色情報は、ＲＧＢであっても良いし、ＹＣｂＣｒの輝度と色味情報で表現してもよい。２次元輪郭線を取得するための方法はこれに限定されず、グラフカットや機械学習などを利用したセグメンテーション手法を用いてよい。そして、図３（Ｂ）に示す如く、画像３０００から、テーブルに登録しておいた色情報を有する画像領域の輪郭線３０２０を、手３０１０の２次元輪郭線として抽出する。
【００２５】
ステップＳ２２００では、輪郭生成部１０２０は、左眼用画像から抽出した２次元輪郭線と右眼用画像から抽出した２次元輪郭線とでマッチングをとることで、対象物体の３次元輪郭線を生成する。３次元輪郭線の生成方法は特定の方法に限らず、例えば、非特許文献１に開示されている方法を適用することができる。すなわち、ステレオ画像に含まれている左眼用画像及び右眼用画像のうち一方の画像上の２次元輪郭線上のサンプリング点に対応するエピポーラ線を他方の画像上に投影し、エピポーラ線と２次元輪郭線とが交わる点を対応点とする。この２次元輪郭線上のサンプリング点を複数決定し、２次元輪郭線上に複数の対応点を求める。そして、２次元輪郭線上にある複数の対応点のそれぞれの奥行き値を、三角測量によって算出する。
【００２６】
次に、ステップＳ２３００では、操作点算出部１０４０は、対応点を取得した画像において、Ｒｏｗ方向において最も上側の座標値を有する対応点を操作点として選択する。例えば図３（Ｃ）に示す如く、図３（Ｂ）の輪郭線３０２０に対応する３次元輪郭線３０３０上の対応点（「○」で示している）のうち、Ｒｏｗ方向において最も上側の座標値を有する対応点３０４０を操作点として選択する。なお、操作点を得る実空間オブジェクトが複数存在する場合に、操作点を抽出するための１つの実空間オブジェクトを選択してもよい。
【００２７】
本実施形態では、複数の実空間オブジェクトから得られた複数の３次元輪郭において、操作点３０４０の算出と同様の方法によって得られる特徴点のうち、取得画像でＲｏｗ方向において最も上に存在する特徴点が属する３次元輪郭を選択する。操作点を抽出するために１つの実空間オブジェクトを選択する方法では、この他に、３次元輪郭によって形成される３次元曲面の面積や、重心点の位置、３次元輪郭の頂点数や頂点群の平均位置などのさまざまな特徴を利用してよい。
【００２８】
ステップＳ２４００では、操作点算出部１０４０は、操作点の３次元位置、即ち、対応点を取得した画像を撮像した撮像部の位置姿勢を基準とする座標系における３次元位置を、該撮像部の位置姿勢に基づいて、世界座標系における３次元位置に変換する。
【００２９】
ステップＳ２５００では、計測部１０３０は、左眼用画像を用いて世界座標系における左視点の位置姿勢を求めると共に、右眼用画像を用いて世界座標系における右視点の位置姿勢を求める。そしてＣＧ生成部１０８０は、保持部１０６０に保持されているそれぞれの仮想物体の描画データを用いて、仮想物体を構築して仮想空間中に配置する。
【００３０】
その際、ＣＧ生成部１０８０は、世界座標系における操作点の３次元位置にポインタを配置する。ポインタとして用いる仮想物体は特定の仮想物体に限らない。更にＣＧ生成部１０８０は、上記のボタンを規定の位置姿勢でもって仮想空間中に配置する。そしてＣＧ生成部１０８０は、左視点から見た仮想空間の画像（左眼用の仮想空間画像）を生成すると共に、右視点から見た仮想空間の画像（右眼用の仮想空間画像）を生成する。
【００３１】
ステップＳ２６００では、合成部１０９０は、左眼用画像に左眼用の仮想空間画像を重畳させた合成画像を左眼用の複合現実空間画像として生成する。更に合成部１０９０は、右眼用画像に右眼用の仮想空間画像を重畳させた合成画像を右眼用の複合現実空間画像として生成する。これにより、例えば、図３（Ｄ）に示す如く、画像３０００上における対応点３０４０の位置にポインタ３０５０を重畳させることができる。
【００３２】
ステップＳ２７００では、合成部１０９０は、左眼用の複合現実空間の画像を、ＨＭＤ１１００の表示部１１２０が有する左眼用表示部に送出すると共に、右眼用の複合現実空間の画像を、ＨＭＤ１１００の表示部１１２０が有する右眼用表示部に送出する。
【００３３】
次に、操作点とボタンとの接触判定処理について、図４のフローチャートに従って説明する。なお、図４のフローチャートに従った処理は、図２のフローチャートに従った処理の一部として行っても良いし、別のスレッドとして行っても良い。
【００３４】
ステップＳ４１００では、信号生成部１０５０は、操作点の３次元位置に配置したポインタとボタンとが接触したか否かを判断する。ポインタとボタンとの接触判定方法には様々な方法が適用可能である。例えば、図５に示す如く、前フレームのポインタ３０５０の３次元位置と現フレームのポインタ３０５０の３次元位置とを結ぶ線分がボタン５１００を構成する何れかのポリゴンと交差する場合には、ポインタ３０５０とボタン５１００とが接触したと判断する。また、ポインタ３０５０の位置を含む３次元領域を設定し、該３次元領域を構成する面や線分が、ボタン５１００を構成する何れかのポリゴンと交差する場合には、ポインタ３０５０とボタン５１００とが接触したと判断する。
【００３５】
このような判断の結果、ポインタとボタンとが接触したと判断した場合には、処理はステップＳ４２００に進み、接触したと判断していない場合には、処理はステップＳ４１００に戻る。
【００３６】
ステップＳ４２００では、信号生成部１０５０は、ボタンが押下された場合に実行する処理として予め設定された処理を実行するための信号を生成し、該生成した信号を信号処理部１０７０に対して送出する。ステップＳ４３００では、信号処理部１０７０は、信号生成部１０５０から受けた信号に対応する処理を実行する。
【００３７】
［第２の実施形態］
本実施形態を含め、以下では、第１の実施形態との差分について説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。第１の実施形態では、選択する操作点の数を１としていたが、選択する操作点の数は２以上であっても良い。選択可能な操作点の数を２以上とし、それぞれの操作点について、該操作点の位置や動きに応じた処理を実行可能とすることで、対象物体による操作の種類を第１の実施形態よりも増加させることができる。本実施形態では、図２のフローチャートにおいて、上記のステップＳ２１００〜Ｓ２５００の代わりに図６のフローチャートに従った処理を行う。
【００３８】
ステップＳ６１００では、輪郭生成部１０２０は、ステレオ画像に含まれている左眼用画像及び右眼用画像のそれぞれから、該画像上における対象物体の画像領域を抽出する。例えば、図７（Ａ）に示す如く、対象物体としての人の手３０１０ａ及び３０１０ｂを含む画像７０００から、手３０１０ａ及び３０１０ｂのそれぞれの画像領域を抽出する。手の画像領域の抽出方法については、上記のステップＳ２１００と同様、予め登録しておいた手の色情報を有する画像領域を抽出する。
【００３９】
ステップＳ６２００では、輪郭生成部１０２０は、手の色情報を有する画素が複数存在する場合には、それぞれの画素についてラベリング処理を行う。ステップＳ６１００で手の色情報を有する画素として抽出した抽出画素同士が隣接している場合に、これらの画素に同一のラベルを付与する。図７（Ａ）の画像７０００に対してラベリング処理を行うことで、図７（Ｂ）に示す如く、手３０１０ａの画像領域７０１０に属する各画素にはラベルＡが付与され、手３０１０ｂの画像領域７０２０に属する各画素にはラベルＡとは異なるラベルＢが付与される。
【００４０】
ステップＳ６３００では、輪郭生成部１０２０は、ラベリングされた画像領域ごとに、画像領域の２次元輪郭線を上記のステップＳ２１００と同様にして抽出する。
【００４１】
ステップＳ６４００では輪郭生成部１０２０は、上記のステップＳ２２００と同様の処理を行うことで、一方の画像における着目画像領域の２次元輪郭線と、他方の画像において該着目画像領域に対応する画像領域の２次元輪郭線と、を対応付ける。そして輪郭生成部１０２０は、対応付けた２次元輪郭線の組ごとに、該組に属する２次元輪郭線を用いて上記のステップＳ２２００と同様の処理を行うことで、該組に対応する対象物体の３次元輪郭線を構成する点群を求める。
【００４２】
ステップＳ６５００では、操作点算出部１０４０は、上記の組ごとに、上記のステップＳ２３００と同様にして、該組についてステップＳ６４００で求めた点群のうち規定の条件を満たす点を操作点として選択する。図７（Ｃ）に、画像領域７０１０に対応する３次元輪郭線３０３０を構成する点群のうち操作点として選択された対応点３０４０、画像領域７０２０に対応する３次元輪郭線３０３１を構成する点群のうち操作点として選択された点７０３０、を示す。
【００４３】
ステップＳ６６００で操作点算出部１０４０は、それぞれの操作点について上記のステップＳ２４００と同様の処理を行うことで、該操作点の３次元位置を、世界座標系における３次元位置に変換する。
【００４４】
ステップＳ６７００では、操作点算出部１０４０は、前フレームにおける操作点と現フレームにおける操作点とで同じ対象物体の操作点同士を対応付けることで、連続性を確保する。例えば、前フレームについて求めたそれぞれの操作点の３次元位置と現フレームについて求めたそれぞれの操作点の３次元位置との間の距離を求める。そして、現フレームにおける着目操作点を、前フレームにおける操作点のうち該着目操作点の３次元位置に最も近い３次元位置の操作点と対応付ける。対応付けの方法として、速度情報やカルマンフィルタなどの予測情報を利用してもよい。
【００４５】
ステップＳ６８００では、上記のステップＳ２５００と同様の処理が行われるのであるが、ＣＧ生成部１０８０は操作点ごとに、世界座標系における該操作点の３次元位置にポインタを配置する。これにより、例えば、図７（Ｄ）に示す如く、画像３０００上における対応点３０４０の位置にポインタ３０５０を重畳させ、操作点としての点７０３０の位置にポインタ７０４０を重畳させることができる。
【００４６】
次に、２つのポインタの位置に応じて行う処理について、図８のフローチャートに従って説明する。なお、図８のフローチャートに従った処理は、上記の処理の一部として行っても良いし、別のスレッドとして行っても良い。
【００４７】
ステップＳ８１００では、信号生成部１０５０は、仮想空間中に２つのポインタが配置されており且つ２つのポインタ間の距離が規定距離以内である状態が連続して規定時間以上である、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップＳ８２００に進み、この条件が満たされていない場合には、処理はステップＳ８１００に戻る。
【００４８】
ステップＳ８２００では、信号生成部１０５０は、メニューパネルを展開するモード（メニューパネル展開モード）をＯＮにする。なお、上記の条件が満たされていない場合には、信号生成部１０５０は、このメニューパネル展開モードをＯＦＦにする。メニューパネル展開モードがＯＮになると、複合現実空間画像には図９（Ａ）に示す如く、ポインタ３０５０及びポインタ７０４０の２つのポインタの画像上における位置を対角線の端部の位置とする矩形のオブジェクト９１００が重畳される。オブジェクト９１００は、メニューパネルを展開中であることを示すオブジェクトである。
【００４９】
然るにメニューパネル展開モードがＯＮになると、信号生成部１０５０は、オブジェクト９１００の生成を指示する信号を生成して信号処理部１０７０に送出する。信号処理部１０７０は、このような信号を受信すると、矩形のオブジェクト９１００を生成するよう、ＣＧ生成部１０８０に指示する。なお、矩形のオブジェクト９１００と２つのポインタとの位置関係は図９（Ａ）に示すような位置関係に限らない。
【００５０】
ステップＳ８３００では、信号生成部１０５０は、２つのポインタ間の距離が規定距離以上である、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップＳ８４００に進み、この条件が満たされていない場合には、処理はステップＳ８１００に戻る。
【００５１】
ステップＳ８４００で信号生成部１０５０は、２つのポインタの位置の平均位置を中心位置とし、且つ撮像部の視線ベクトルと平行なベクトルを法線ベクトルとする面上にメニューパネルを配置するよう指示する信号を生成して信号処理部１０７０に送出する。ここで、撮像部の視線ベクトルとは、右眼用撮像部、左眼用撮像部の何れかの視線ベクトルであっても良いし、右眼用撮像部の視線ベクトル及び左眼用撮像部の視線ベクトルの平均ベクトルであっても良い。これにより信号処理部１０７０は、例えば図９（Ｂ）に示す如く、２つのポインタの位置の平均位置を中心位置とし、且つ撮像部の視線ベクトルと平行なベクトルを法線ベクトルとする面上にメニューパネル９１０１を配置するようＣＧ生成部１０８０に指示する。
【００５２】
次に、２つのポインタの位置に応じて行う別の処理について、図１０のフローチャートに従って説明する。なお、図１０のフローチャートに従った処理は、上記の処理の一部として行っても良いし、別のスレッドとして行っても良い。図１０のフローチャートに従った処理では、操作点ごとに固有の処理を割り当てておき、該操作点に対応するポインタが規定の条件を満たした場合には、該操作点に割り当てられている処理を実行する。
【００５３】
ステップＳ１０１００では、信号生成部１０５０は、それぞれの操作点に対して役割を設定する。例えば、画像の左半分に位置する操作点に対しては第１の役割を設定し、画像の右半分に位置する操作点に対しては第１の役割とは異なる第２の役割を設定する。役割の設定方法は、ユーザにＧＵＩを介して設定させても良いし、予め設定しておいても良いし、ＨＭＤ１１００の使用状況に応じて設定しても良い。
【００５４】
本実施形態では、本処理の事前段階として、本処理に入るためにメニューを押下することを前提としており、このメニューを押下した操作点（操作点Ａ）付近に上記のボタンを表示し、他方の操作点（操作点Ｂ）はボタンを押す側の操作点とする。然るにステップＳ１０１００では、操作点Ａについては、付近にボタン表示、という役割を設定し、操作点Ｂについては、ボタン押下、という役割を設定することになる。
【００５５】
ステップＳ１０２００では、信号生成部１０５０は、２つの操作点の３次元位置が撮像部１１１０（左眼用撮像部及び右眼用撮像部）の視野内に位置している、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップＳ１０３００に進み、この条件が満たされていない場合には、処理はステップＳ１０２００に戻る。
【００５６】
ステップＳ１０３００では、信号生成部１０５０は、操作点Ａの３次元位置の付近にボタンを配置することを指示する信号を生成して信号処理部１０７０に送出する。これにより信号処理部１０７０は、操作点Ａの３次元位置の付近にボタンを配置するようＣＧ生成部１０８０に指示するので、図１１（Ａ）に示す如く、複合現実空間画像上には、操作点Ａに対応するポインタ３０５０の付近にはボタン１１０００が配置される。
【００５７】
ステップＳ１０４００では、信号生成部１０５０は、上記のステップＳ４１００と同様にして、操作点Ｂに対応するポインタとボタンとが接触したか否かを判断する。図１１（Ｂ）にポインタとボタンとが接触した様子を示す。このような判断の結果、ポインタとボタンとが接触したと判断した場合には、処理はステップＳ１０５００に進み、接触したと判断していない場合には、処理はステップＳ１０２００に戻る。
【００５８】
ステップＳ１０５００では、信号生成部１０５０は、ボタンが押下された場合に実行する処理として予め設定された処理を実行するための信号を生成し、該生成した信号を信号処理部１０７０に対して送出する。信号処理部１０７０は、信号生成部１０５０から受けた信号に対応する処理を実行する。
【００５９】
なお、本実施形態では、操作点を設定可能な対象物体としての手の数を２とした。しかし、操作点を設定可能な対象物体の数は２以上であっても良く。その場合、選択される操作点の数も２以上となる。
【００６０】
［第３の実施形態］
第１，２の実施形態では、１つの対象物体に対して１つの操作点を設定していたが、１つの対象物体に対して設定可能な操作点の数は２以上であっても良い。例えば、１本の指を用いる場合よりも、複数の指を用いる場合の方が、より多様な操作を実現することができるため、１つの手における複数の指に対して操作点を設定し、該設定した操作点のそれぞれの位置や動きなどに応じた処理を実行することには意義がある。本実施形態では、図２のフローチャートにおいて、上記のステップＳ２３００〜Ｓ２５００の代わりに図１２のフローチャートに従った処理を行う。
【００６１】
ステップＳ１２１００では、操作点算出部１０４０は、３次元輪郭線を構成する点群中に存在する尖鋭点の凸度（尖度）を求める。例えば、図１３（Ａ）に示す如く、３次元輪郭線を構成する点群１３１００中に存在する尖鋭点１３２００の尖度を求める。尖鋭点１３２００は、３次元輪郭線上の点群を画像上に射影したうえで凸包処理を行い、得られた凸包の点を、射影した輪郭線の各点の共通点と定義する。なお、尖鋭点を求める方法は特定の方法に限らない。凸包生成の前処理として、射影した輪郭線に対し、ローパスフィルタを施してもよい。次に、射影した輪郭線の各点において、得られた尖鋭点を起点に両側にそれぞれ所定数番目の点を選定し、一方端の点から他方端の点までの（ｎ−１）番目とｎ番目で構成される線分と、ｎ番目と（ｎ＋１）番目で構成される線分のなす角の総和を求める。この値を尖度と定義する。なお尖度の定義は他でもよく、例えば、上記の尖度に対し、一方端の点から他方端の点までの間の隣接する点で構成する線分の集合の距離の和で割ったものを尖度としてもよい。
【００６２】
ステップＳ１２２００では、操作点算出部１０４０は、尖度が閾値以上となる尖鋭点を以下の処理の対象となる対象尖鋭点とし、尖度が閾値未満の尖鋭点を以下の処理から除外する。なお、この閾値を０とすれば、全ての尖鋭点を対象尖鋭点とすることができる。また、３次元輪郭線上の各点について尖度を求め、閾値以上の点を対象尖鋭点としても良い。
【００６３】
ステップＳ１２３００では、操作点算出部１０４０は、対象尖鋭点群から２つの対象尖鋭点を選択する。対象尖鋭点群から２つの尖鋭点を選択する選択条件については特定の条件に限らない。本実施形態では、対象尖鋭点のうち、画像（左眼用画像及び右眼用画像の何れか一方）上に射影した場合にＲｏｗ方向において最も上側と２番目に上側の座標値を有する尖鋭点をそれぞれ第１の操作点、第２の操作点として選択する。例えば、図１３（Ａ）に示す如く点群１３１００が得られている場合には、最も上側の座標値を有する尖鋭点１３３００を第１の操作点として選択し、２番目に上側の座標値を有する尖鋭点１３４００を第２の操作点として選択する。なお、尖度が最も高い尖鋭点を第１の操作点、次に尖度が高い尖鋭点を第２の操作点、として選択するようにしても良いし、座標値と尖度の双方を考慮して操作点を決定しても良い。
【００６４】
ステップＳ１２４００で操作点算出部１０４０は、第１の操作点及び第２の操作点のそれぞれについて上記のステップＳ２４００と同様の処理を行うことで、該第１の操作点及び第２の操作点のそれぞれの３次元位置を世界座標系における３次元位置に変換する。
【００６５】
ステップＳ１２５００では、上記のステップＳ２５００と同様の処理が行われるのであるが、ＣＧ生成部１０８０は第１の操作点及び第２の操作点のそれぞれについて、世界座標系における該操作点の３次元位置にポインタを配置する。これにより、例えば、図１３（Ｂ）に示す如く、画像上における第１の操作点の位置にポインタ１３３１０を重畳させ、第２の操作点の位置にポインタ１３４１０を重畳させることができる。
【００６６】
そして信号生成部１０５０は、それぞれの操作点の３次元位置や動きに応じた処理を行うためのトリガとなる信号を生成して信号処理部１０７０に送出し、信号処理部１０７０は、該信号に応じた処理を行うよう、ＣＧ生成部１０８０を制御する。なお、操作点の位置や動きに応じた処理に限らず、各操作点の位置や姿勢、動きの情報を利用してもよいし、複数の操作点間の相対的な位置や姿勢、動きの情報を利用してもよい。さらに、他の仮想物体との接触状態や、各操作点と仮想物体との相対的な位置や姿勢、動きの情報を利用してもよい。
【００６７】
＜第３の実施形態の変形例１＞
本変形例では、第３の実施形態において説明した複数の操作点の算出方法とは異なる別の算出方法について説明する。本変形例では、図２のフローチャートにおいて、上記のステップＳ２３００〜Ｓ２５００の代わりに図１４のフローチャートに従った処理を行う。
【００６８】
ステップＳ１４１００では、操作点算出部１０４０は、３次元輪郭線上の尖鋭点のうち１つを第１の操作点として選択する。第１の操作点の選択条件については特定の選択条件に限らないが、本実施形態では第３の実施形態と同様にして第１の操作点を選択するものとする。例えば、図１５（Ａ）に示す如く、点群１５１００から第３の実施形態と同様にして第１の操作点１５２００を選択する。
【００６９】
ステップＳ１４２００では、操作点算出部１０４０は、第１の操作点を基準にして画像（左眼用画像及び右眼用画像の何れか一方）上にＲＯＩ(region of interest)を設定する。例えば、図１５（Ｂ）に示す如く、３次元輪郭線上の各点を画像上に投影し、そのうち第１の操作点１５２００の位置を上辺の中点とする矩形領域１５３００をＲＯＩとして設定する。
【００７０】
ステップＳ１４３００では、操作点算出部１０４０は、画像上に投影した点によって構成される輪郭線をＲＯＩの境界によって分割する。例えば図１５（Ｃ）に示す如く、隣接する輪郭線の点で構成する線分が、ＲＯＩの境界を跨いだとき、ＲＯＩ外の点を除外するとともに、輪郭線を分割する。
【００７１】
ステップＳ１４４００では、操作点算出部１０４０は、ＲＯＩ内のそれぞれの輪郭線上の点から操作点の候補を選択する。輪郭線の候補を選択する方法については特定の方法に限らないが、本実施形態では、ＲＯＩ内のそれぞれの輪郭線について、該輪郭線上の点のうち画像上でＲｏｗ方向において最も上側の点を操作点の候補とする。
【００７２】
ステップＳ１４５００では、操作点算出部１０４０は、操作点の候補から第２の操作点、第３の操作点、…というように規定個数の操作点を決定する。操作点の決定方法は特定の方法に限らないが、本実施形態では、操作点の候補のうち画像上でＲｏｗ方向において上側の候補から順に第２の操作点、第３の操作点、…というように規定個数の操作点を決定する。
【００７３】
ステップＳ１４６００で操作点算出部１０４０は、それぞれの操作点について上記のステップＳ２４００と同様の処理を行うことで、該それぞれの操作点の３次元位置を、世界座標系における３次元位置に変換する。
【００７４】
ステップＳ１４７００では、上記のステップＳ２５００と同様の処理が行われるのであるが、ＣＧ生成部１０８０はそれぞれの操作点について、世界座標系における該操作点の３次元位置にポインタを配置する。
【００７５】
＜第３の実施形態の変形例２＞
上記の各実施形態や変形例では、対象物体の３次元輪郭線をステレオ画像を用いて求めていたが、対象物体の３次元輪郭線を求めるための方法は特定の方法に限らない。例えば、図１７に示す如く、ＨＭＤ１１００にデプスカメラ１７０１０を搭載して、対象物体のデプス画像を撮像させる。デプスカメラ１７０１０による対象物体のデプス画像は情報処理装置１０００に対して送出される。輪郭生成部１０２０は、デプスカメラ１７０１０からのデプス画像を用いて対象物体の３次元輪郭線を求める。
【００７６】
また、上記の実施形態や変形例では、画像上の操作点が誰のものであるのか、また、どのような物体であるのか、については全く識別していない。そのため、例えば、画像上に複数人のユーザの手が含まれている場合には、それぞれの手（や指）に対して操作点を設定することもできる。この場合、複数人のユーザの手の位置や動きによるジェスチャに応じた処理を行うことが可能となる。なお、ユーザの手は対象物体の一例に過ぎず、対象物体の特徴量（色や形状など）を予め保持しておくことで、この特徴量を用いて画像から対象物体の画像領域を検出することができ、その結果、対象物体の輪郭線を検出することができる。
【００７７】
また、上記の実施形態や変形例では、輪郭線上の全ての点について３次元位置を求めた後、輪郭線上の点群のうち規定の条件を満たす点を操作点としていた。しかし、輪郭線上の点群のうち規定の条件を満たす点を操作点として決定した後、この操作点の３次元位置を求めるようにしても良い。
【００７８】
［第４の実施形態］
第１の実施形態では、操作点となる所定の特徴は、操作状態に特に依存しないが、操作状態によって操作点を得るための特徴を切り替えることができれば、操作性が向上することが期待される。
【００７９】
例えば、図１９（Ａ）に示すように、実空間オブジェクトが手である場合、ＣＧモデル１９２００の選択やＣＧボタンの押下は、指先で実施する場合が多いと想定される。このため、図１９（Ａ）に示すように、ＨＭＤの視野において最も上側の座標値を有する特徴点を、操作点１９１００とすることが好ましい。一方、ＣＧモデルの操作中は、手の向きや角度が変化するため、ＨＭＤの視野における手の最上点を操作点とするよりも、図１９（Ｂ）に示すように、手の領域の重心あるいは平均中心を操作点１９４００とした方が、操作点の意図せぬ挙動が軽減される。本実施形態では、操作状態によって操作点を得るための特徴を切り替える方法について説明する。
【００８０】
操作状態によって操作点となる特徴を切り替える一連の処理を、図１８のフローチャートを用いて説明する。
【００８１】
ステップＳ１８１００−Ｓ１８２００は、第１の実施形態のステップＳ２１００−Ｓ２２００と同様であるため説明を省略する。
【００８２】
ステップＳ１８３００では、現在のアプリケーションの状態を取得し、その状態によって以後の処理を分岐する。本実施形態では、アプリケーションの状態として、ＣＧモデルの選択モードとＣＧモデルの移動モードを例として以降の説明を行うが、アプリケーションの状態はこれに限らない。
【００８３】
ステップＳ１８４００では、アプリケーションの状態がＣＧモデルの選択モードのときの操作点の選択処理が実行される。本実施形態では、ステップＳ１８２００で得られた３次元輪郭線の頂点をステップＳ１８１００において取得した画像に射影した場合に、Ｒｏｗ方向において最も上側の座標値を有する３次元輪郭線上の頂点を操作点とする。操作点を算出するための特徴はこの方法に限定されないが、ステップＳ１８５００におけるアプリケーションの状態が他のモードのときに用いられる方法とは別の方法である必要がある。
【００８４】
ステップＳ１８５００では、アプリケーションの状態がＣＧモデルの移動モードのときの操作点の選択処理が実行される。本実施形態では、ステップＳ１８２００で得られた３次元輪郭線によって形成される３次元曲面領域の重心を算出し、これを操作点とする。操作点を算出するための特徴はこれに限らず、３次元輪郭の頂点の中心位置などでもよい。
【００８５】
ステップＳ１８６００−Ｓ１８７００は、第１の実施形態のステップＳ２４００−Ｓ２５００と同様であるため説明を省略する。
【００８６】
［第５の実施形態］
本実施形態では、操作点を得る実空間オブジェクトが複数存在した場合に、操作点を抽出するための１つの実空間オブジェクトを選択する方法を、操作状態によって切り替える方法について説明する。
【００８７】
例えば、操作点を抽出するための１つの実空間オブジェクトを、ＨＭＤの視野において一番上に存在する実空間オブジェクトとすると、ＣＧモデルを下方向に移動した際、他の実空間オブジェクトがそれまで操作点が属していた実空間オブジェクトよりも上になったときに、操作点が他の実空間オブジェクトに移ってしまい、操作性が損なわれるという問題が発生する。
【００８８】
そこで本実施形態では、図２１（Ａ）に示すように、ＣＧモデルの選択状態では、操作点２１１００が取得画像の視野の一番上に存在する実空間オブジェクト２１３００、２１２００が選択される。また、図２１（Ｂ）に示すように、ＣＧモデル２１４００が移動状態のときは、ＣＧモデル２１４００の移動開始時に選択した実空間オブジェクト２１３００をトラッキングし、その実空間オブジェクト２１３００を選択する。
【００８９】
操作点を抽出するための１つの実空間オブジェクトを選択する方法を、操作状態によって切り替える一連の処理を、図２０のフローチャートを用いて説明する。
【００９０】
ステップＳ２０１００−Ｓ２０４００の処理は、第２の実施形態のステップＳ６１００−Ｓ６４００の処理と同様であるため、説明を省略する。
【００９１】
ステップＳ２０５００では、現在のアプリケーションの状態を取得し、その状態によって以降の処理を分岐する。本実施形態では、アプリケーションの状態がＣＧモデルの選択モードである場合にステップＳ２０６００に分岐し、ＣＧモデルの操作モードである場合にステップＳ２０７００に分岐する。
【００９２】
ステップＳ２０６００では、ステップＳ２０４００で得られた複数の３次元輪郭線の中から、操作点を算出するための３次元輪郭を選択する処理が実行される。本実施形態では、各３次元輪郭の頂点をステップＳ２０１００において取得した画像に射影した場合に、Ｒｏｗ方向において最も上側の座標値を有する３次元輪郭線上の頂点を比較点とする。比較点を算出するための特徴の取り方は、この方法に限定せず如何なる方法でもよい。次に、この比較点が複数の３次元輪郭の中でＲｏｗ方向において最も上側の座標となる比較点が属する３次元輪郭を、操作点を算出するための３次元領域として選択する。比較点から操作点を算出するための選択方法は上述の方法に限定されないが、ステップＳ２０７００とは別の方法である必要がある。
【００９３】
ステップＳ２０７００では、ステップＳ２０４００で得られた複数の３次元輪郭線の中から、操作点を算出するための３次元輪郭を選択する処理が実行される。本実施形態では、移動対象となるＣＧモデルを選択する選択モードにおいて、ＣＧモデルを実際に選択することによってＣＧモデルを移動する移動モードに遷移するイベントが発行される。移動モードでは、ＣＧモデルを選択する際に操作点が属していた３次元輪郭をトラッキングし続け、これを、操作点を算出するための３次元輪郭として選択する。３次元輪郭のトラッキングすなわち処理フレーム間の同一性の推定方法は、如何なる方法でもよい。本実施形態では、３次元輪郭によって生成される３次元曲面領域の重心の距離が、前フレームと現フレームにおいて最も近いものを同一の３次元輪郭として取り扱う。
【００９４】
ステップＳ２０８００では、ステップＳ２０６００あるいはステップＳ２０７００で選択した３次元輪郭線から、操作点を算出する。具体的には、選択した３次元輪郭線を撮像画像に射影した場合に、撮像画像においてＲｏｗ方向において最も上側の座標値を有する３次元輪郭線上の頂点を操作点とする。操作点を算出するための特徴はこの方法に限定せず如何なる方法でもよい。また、第４の実施形態のように、操作モードに応じてその特徴を切り替えてもよい。
【００９５】
ステップＳ２０９００−Ｓ２０１１０は、第２の実施形態のステップＳ６７００−Ｓ６８００と同様であるため説明を省略する。
【００９６】
［第６の実施形態］
図１，１７に示した情報処理装置１０００の各機能部はハードウェアで実装しても良いが、保持部１０６０を除く他の機能部についてはソフトウェア（コンピュータプログラム）で実装しても良い。後者の場合、保持部１０６０として機能するメモリを有し、且つこのソフトウェアを実行可能なコンピュータ装置は、上記の情報処理装置１０００に適用可能である。
【００９７】
情報処理装置１０００に適用可能であるコンピュータ装置のハードウェア構成例について、図１６のブロック図を用いて説明する。なお、図１６に示したハードウェア構成は、情報処理装置１０００に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎない。
【００９８】
ＣＰＵ１６２００は、ＲＯＭ１６３００やＲＡＭ１６４００に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ１６２００は、コンピュータ装置全体の動作制御を行うと共に、情報処理装置１０００が行うものとして上述した各処理を実行若しくは制御する。
【００９９】
ＲＯＭ１６３００には、書換不要のコンピュータプログラムやデータ（例えばＢＩＯＳのコンピュータプログラムやデータ）が格納されている。ＲＡＭ１６４００は、ＲＯＭ１６３００や外部記憶装置１６７００からロードされたコンピュータプログラムやデータ、入力Ｉ／Ｆ１６５００を介して外部から受信したデータ、を格納するためのエリアを有する。更にＲＡＭ１６４００は、ＣＰＵ１６２００が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１６４００は、各種のエリアを適宜提供することができる。
【０１００】
入力Ｉ／Ｆ１６５００は、外部からデータを入力するためのインターフェースとして機能するもので、例えば、上記のＨＭＤ１１００から送出される撮像画像を含む様々なデータは、この入力Ｉ／Ｆ１６５００を介して受信する。
【０１０１】
出力Ｉ／Ｆ１６６００は、データを外部の装置に対して出力するためのインターフェースとして機能するもので、例えば、上記のＨＭＤ１１００に対して出力する複合現実空間画像は、この出力Ｉ／Ｆ１６６００を介してＨＭＤ１１００に対して送信される。
【０１０２】
外部記憶装置１６７００は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１６７００には、ＯＳ（オペレーティングシステム）や、情報処理装置１０００が行うものとして上述した各処理をＣＰＵ１６２００に実行させるためのコンピュータプログラムやデータが保存されている。外部記憶装置１６７００に保存されているコンピュータプログラムには、図１，１７において保持部１０６０を除く各機能部の機能をＣＰＵ１６２００に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置１６７００に保存されているデータには、保持部１０６０が保持しているものとして説明した各種のデータや、上記の説明において既知の情報として取り扱ったもの、が含まれている。つまり、外部記憶装置１６７００は、上記の保持部１０６０としても機能する。外部記憶装置１６７００に保存されているコンピュータプログラムやデータは、ＣＰＵ１６２００による制御に従って適宜ＲＡＭ１６４００にロードされ、ＣＰＵ１６２００による処理対象となる。
【０１０３】
上記のＣＰＵ１６２００、ＲＯＭ１６３００、ＲＡＭ１６４００、入力Ｉ／Ｆ１６５００、出力Ｉ／Ｆ１６６００、外部記憶装置１６７００、は何れもバス１６１００に接続されている。
【０１０４】
なお、以上説明した各実施形態や変形例の一部若しくは全部を適宜組み合わせても構わないし、以上説明した各実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。
【０１０５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０６】
１０１０：取得部  １０２０：輪郭生成部  １０３０：計測部  １０４０：操作点算出部  １０５０：信号生成部  １０６０：保持部  １０７０：信号処理部  １０８０：ＣＧ生成部  １０９０：合成部
【図１】
2019046472.tif 000003
【図２】
2019046472.tif 000004
【図３】
2019046472.tif 000005
【図４】
2019046472.tif 000006
【図５】
2019046472.tif 000007
【図６】
2019046472.tif 000008
【図７】
2019046472.tif 000009
【図８】
2019046472.tif 000010
【図９】
2019046472.tif 000011
【図１０】
2019046472.tif 000012
【図１１】
2019046472.tif 000013
【図１２】
2019046472.tif 000014
【図１３】
2019046472.tif 000015
【図１４】
2019046472.tif 000016
【図１５】
2019046472.tif 000017
【図１６】
2019046472.tif 000018
【図１７】
2019046472.tif 000019
【図１８】
2019046472.tif 000020
【図１９】
2019046472.tif 000021
【図２０】
2019046472.tif 000022
【図２１】
2019046472.tif 000023