(57)【要約】【課題】人間の複雑な動作を簡易な装備で正確に検出することは困難である。【解決手段】動作検出部２８の位置データ取得部５２は、画像取得部２０が取得した各時刻における画像フレーム内での、ユーザが保持する発光デバイス１８の発光部６の像の位置データと、追跡処理部２６による視覚追跡の結果推定された各時刻の頭部輪郭の曲線データを取得する。履歴記憶部５６は、発光部６の像の位置データと頭部輪郭の曲線データを蓄積し履歴として記憶する。判定基準記憶部５８は、発光部６の像と頭部輪郭の曲線との相対位置の時間変化から、所定の動作がなされたと判定する基準を記憶する。動作判定部５４は、当該判定基準に照らし、実際のデータに基づき動作がなされたか否かを判定する。【選択図】図７
2011008601.tif 000002
【特許請求の範囲】
【請求項１】
マーカーを装備したユーザの動きを動画像として撮像する撮像装置と、
前記撮像装置が撮像した動画像に含まれる各画像フレームにおけるユーザの輪郭の候補曲線を、前の時刻の画像フレームにおいて推定したユーザの輪郭に基づいて定め、各候補曲線の尤度を観測することにより、各画像フレームにおけるユーザの輪郭を推定する追跡処理部と、
各画像フレームにおける、前記マーカーの像と前記追跡処理部が推定したユーザの輪郭の相対位置を逐次記憶する履歴記憶部と、
前記履歴記憶部が記憶した相対位置の時間変化を、あらかじめ動作ごとに設定した第一の基準と照合することにより、当該動作がなされたか否かを判定する動作判定部と、
前記動作判定部が動作がなされたと判定したとき、当該動作に対応した処理を行い出力データを生成する出力データ生成部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記動作判定部は、前記マーカーがユーザの背面に隠れたことおよび隠れた位置を前記相対位置の時間変化より検出し、隠れた位置によっても、動作がなされたか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記追跡処理部は、ユーザの肩の稜線を含む頭部輪郭を推定し、
前記動作判定部は、ユーザが手に持つマーカーの像と前記肩の稜線との相対位置の時間変化を前記第一の基準と照合することにより、ユーザの腕に係る動作がなされたか否かを判定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記動作判定部は、鉛直方向に対する前記頭部輪郭の縦方向の傾きが設定されたしきい値より大きくなったとき、前記ユーザの腕に係る動作がなされたか否かを判定するための前記第一の基準を、前記頭部輪郭のうち上側の肩の稜線の端点を通る水平線と前記マーカーの像との相対位置の時間変化に対して設定された別の基準に切り替えることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記出力データ生成部は、前記動作判定部が検出した動作によって、ユーザの動きを反映して動くオブジェクトを描画した表示画像を生成し、前記動作判定部が前記マーカーがユーザの背面に隠れたことおよび隠れた位置を前記相対位置の時間変化より検出したら、それに対応するように前記オブジェクトが手に持つ物の少なくとも一部が隠れるように陰面消去処理を行うことを特徴とする請求項２から４のいずれかに記載の情報処理装置。
【請求項６】
前記動作判定部は、前記相対位置の時間変化を、あらかじめ動作ごとに設定した第二の基準と照合することにより、当該動作がなされることを予測し、
前記出力データ生成部は、当該動作がなされたと判定される前に、当該動作に対応して行うべき処理を投機的に行うことを特徴とする請求項１から５のいずれかに記載の情報処理装置。
【請求項７】
前記撮像装置は、それぞれマーカーを手に持った複数のユーザの動きを撮像し、
前記動作判定部は、前記肩の稜線の傾きと前記マーカーの像の位置との関係から、前記マーカーの像と前記肩の稜線との対応関係を取得し、対応する前記マーカーの像と前記肩の稜線との相対位置の時間変化を前記基準とそれぞれ照合することにより、動作がなされたか否かをユーザごとに判定することを特徴とする請求項３または４に記載の情報処理装置。
【請求項８】
マーカーを装備したユーザの動きを動画像として撮像するステップと、
撮像した動画像に含まれる各画像フレームにおけるユーザの輪郭の候補曲線を、前の時刻の画像フレームにおいて推定したユーザの輪郭に基づいて定め、各候補曲線の尤度を観測することにより、各画像フレームにおけるユーザの輪郭を推定するステップと、
各画像フレームにおける、前記マーカーの像と推定したユーザの輪郭の相対位置を逐次メモリに記憶させるステップと、
前記メモリから読み出した相対位置の時間変化を、あらかじめ動作ごとに設定した基準と照合することにより、当該動作がなされたか否かを判定するステップと、
前記動作がなされたと判定されたとき、当該動作に対応した処理を行い出力データを生成するステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
マーカーを装備したユーザの動画像のデータを入力データとしてコンピュータに処理を実現させるコンピュータプログラムであって、
前記動画像に含まれる各画像フレームにおけるユーザの輪郭の候補曲線を、前の時刻の画像フレームにおいて推定したユーザの輪郭に基づいて定め、各候補曲線の尤度を観測することにより、各画像フレームにおけるユーザの輪郭を推定する機能と、
各画像フレームにおける、前記マーカーの像と推定したユーザの輪郭の相対位置を逐次メモリに記憶させる機能と、
前記メモリから読み出した相対位置の時間変化を、あらかじめ動作ごとに設定した基準と照合することにより、当該動作がなされたか否かを判定する機能と、
前記動作がなされたと判定されたとき、当該動作に対応した処理を行い出力データを生成する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１０】
マーカーを装備したユーザの動画像のデータを入力データとしてコンピュータに処理を実現させるコンピュータプログラムを記録した記録媒体であって、
前記動画像に含まれる各画像フレームにおけるユーザの輪郭の候補曲線を、前の時刻の画像フレームにおいて推定したユーザの輪郭に基づいて定め、各候補曲線の尤度を観測することにより、各画像フレームにおけるユーザの輪郭を推定する機能と、
各画像フレームにおける、前記マーカーの像と推定したユーザの輪郭の相対位置を逐次メモリに記憶させる機能と、
前記メモリから読み出した相対位置の時間変化を、あらかじめ動作ごとに設定した基準と照合することにより、当該動作がなされたか否かを判定する機能と、
前記動作がなされたと判定されたとき、当該動作に対応した処理を行い出力データを生成する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した、コンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理技術に関し、特にユーザの入力に応じた処理を行うためのユーザインターフェースを含む情報処理装置およびそこで実行される情報処理方法に関する。
【背景技術】
【０００２】
近年、ゲーム装置や電化製品などを含む電子機器や情報処理装置は、その機能が著しく高度化している。それに伴い、ユーザインターフェースによってユーザが行うことのできる入力体系は複雑化している。そのような複雑な入力体系にあっても容易な入力が可能となるように、ユーザインターフェースには様々な工夫がなされてきた。例えば、複数の指示入力ボタンを備えたコントローラやアナログスティックなどのほか、ユーザをリアルタイムに撮像してその動きを検出し、処理内容や表示画面に反映させる技術が提案されている。
【０００３】
具体的には、ユーザの動きを検出するため、撮像画像をパターンマッチングする方法や、ユーザが保持するコントローラやユーザ自身に取り付けた発光体からの光の位置変化を取得する方法などが提案されている（例えば特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２１６９５５号公報
【特許文献２】ＷＯ  ２００７／０５０８８５  Ａ２公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようにユーザの動きを入力情報として取得する技術においては、より自然な動きを精度よく、かつ高速に判別することが求められる。ところが複雑な動きにも対応できる装置を実現しようとすると、必要な装備が増えてユーザにかかる手間や製造コストが増大したり、計算コストが増大し満足する応答性能が得られないことがあり得る。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、複雑な動きを容易に検出することのできるユーザインターフェースを含む情報処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は情報理装置に関する。この情報処理装置は、マーカーを装備したユーザの動きを動画像として撮像する撮像装置と、撮像装置が撮像した動画像に含まれる各画像フレームにおけるユーザの輪郭の候補曲線を、前の時刻の画像フレームにおいて推定したユーザの輪郭に基づいて定め、各候補曲線の尤度を観測することにより、各画像フレームにおけるユーザの輪郭を推定する追跡処理部と、各画像フレームにおける、マーカーの像と追跡処理部が推定したユーザの輪郭の相対位置を逐次記憶する履歴記憶部と、履歴記憶部が記憶した相対位置の時間変化を、あらかじめ動作ごとに設定した第一の基準と照合することにより、当該動作がなされたか否かを判定する動作判定部と、動作判定部が動作がなされたと判定したとき、当該動作に対応した処理を行い出力データを生成する出力データ生成部と、を備えることを特徴とする。
【０００８】
ここで「マーカー」とは、あらかじめ決められた色、形状を有する物体であってそれを装備したユーザの体の部位の位置を表す物である。マーカーは単一であっても複数であってもよく、それを装備するための機構は限定されない。例えば棒の先にマーカーを備えた物をユーザが持つ場合、マーカーをユーザに貼付する場合、マーカーを貼付した衣類や装着物をユーザが身につける場合などのいずれでもよい。
【０００９】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、マーカーを装備したユーザの動きを動画像として撮像するステップと、撮像した動画像に含まれる各画像フレームにおけるユーザの輪郭の候補曲線を、前の時刻の画像フレームにおいて推定したユーザの輪郭に基づいて定め、各候補曲線の尤度を観測することにより、各画像フレームにおけるユーザの輪郭を推定するステップと、各画像フレームにおける、マーカーの像と推定したユーザの輪郭の相対位置を逐次メモリに記憶させるステップと、メモリから読み出した相対位置の時間変化を、あらかじめ動作ごとに設定した基準と照合することにより、当該動作がなされたか否かを判定するステップと、動作がなされたと判定されたとき、当該動作に対応した処理を行い出力データを生成するステップと、を含むことを特徴とする。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、人の動作を利用して多様な処理を精度よく行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】発光デバイスの構成を示す図である。
【図３】人物を追跡対象とした場合の視覚追跡手法を説明するための図である。
【図４】パーティクルフィルタを用いた確率密度分布推定の手法を説明する図である。
【図５】本実施の形態における情報処理装置の構成を詳細に示す図である。
【図６】本実施の形態における追跡処理部の構成を詳細に示す図である。
【図７】本実施の形態における動作検出部の構成を詳細に示す図である。
【図８】本実施の形態における情報処理の例を説明する概念図である。
【図９】図８に示したアプリケーションにおいて動作検出部と出力データ生成部が行う処理の例を説明する図である。
【図１０】ユーザ自体の傾きが大きいときの動作の判定基準を説明するため図である。
【図１１】本実施の形態における情報処理の別の例において表示する画像例を示す図である。
【図１２】本実施の形態においてユーザの動作をマウスの代替手段とした場合の動作の割り当て例を説明する図である。
【図１３】本実施の形態においてユーザの動作を反映して動くオブジェクトを表示するための情報処理装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム１０は、発光デバイス１８、発光デバイスを保持するユーザ１および当該発光デバイス１８からの光を撮像する撮像装置１２、ユーザの動作を検出しそれに応じた情報処理を行う情報処理装置１４、情報処理装置が処理した結果得られた画像データを出力する表示装置１６を含む。
【００１４】
情報処理装置１４と、撮像装置１２あるいは表示装置１６との接続は、有線、無線を問わず、また種々のネットワークを介していてもよい。あるいは撮像装置１２、情報処理装置１４、表示装置１６のうちいずれか２つ、または全てが組み合わされて一体的に装備されていてもよい。また、撮像装置１２は必ずしも表示装置１６の上に搭載されていなくてもよい。ユーザ１は情報処理装置１４で処理される内容によって複数でもよく、発光デバイス１８もまた複数でよい。
【００１５】
撮像装置１２は発光デバイス１８、ユーザ１を含む画像のデータを、所定のフレームレートで取得する。取得した動画像データは情報処理装置１４に入力される。情報処理装置１４は、撮像装置１２から取得した動画像データからユーザ１の頭部輪郭および発光デバイス１８からの光の位置を取得し、その相対位置の時間変化によってユーザの動作を検出する。ユーザの頭部の動きを取得する際は、後に詳述する視覚追跡技術によって、ユーザの肩の稜線の位置も取得する。そして肩の稜線と、ユーザが手にした発光デバイス１８からの光との位置関係により、ユーザの腕に係る多様な動作を判別する。表示装置１６は、情報処理装置１４がユーザ１の動作を検出した結果を反映させて生成した画像データを取得し、画像として出力する。
【００１６】
なお動作を検出したあと、それを利用して情報処理装置１４が実行する処理は様々考えられ、その内容は限定されない。また本実施の形態では頭部および手の動きに着目して、上半身の動きを検出する態様を述べるが、足などの下半身、または体全体を用いた動作などでも、発光デバイス１８の装着位置や追跡処理に用いるテンプレート形状を変化させることにより同様に検出できる。また、あらかじめ定めた色や形状を有し、画像に写る他の物と区別して認識が可能なマーカーであれば、発光せずとも発光デバイス１８に代えることができる。
【００１７】
図２は発光デバイス１８の構成を示している。発光デバイス１８は、発光部６およびハンドル８を含む。発光部６は内部に発光ダイオードや電球など一般的な発光体を備えた、光透過性を有する樹脂などで形成される球体であり、発光している状態では、発光部６全体が光る。ハンドル８はユーザが手にする部分であり、図示はしないが、必要に応じてオン／オフボタンなどの入力ボタンを備えてもよい。また、情報処理装置１４と有線、あるいは無線で情報を送受する通信手段を備えてもよい。この場合、例えば複数のユーザに対し異なる発光色を割り当てたり、処理の進捗によって発光色を変化させたりすることができる。
【００１８】
さらにハンドル８の内部にジャイロセンサ（図示せず）を備え、ユーザの頭部輪郭および発光部６の位置に加え、ユーザの動作を検出する際の情報として利用してもよい。ジャイロセンサの他、加速度センサ、地磁気センサなどを備えてもよい。なお発光デバイス１８は、ユーザが身につけて発光すれば、その形状は図２に示したものに限らない。また発光部６の発光に代わり赤外線などの不可視光線を利用してもよい。この場合、撮像装置１２の他に不可視光線を検出する装置を設け、当該光線の位置座標を頭部輪郭の追跡を行う為の撮像画像内の座標系へ投影することによって、同様の動作検出を行うことができる。
【００１９】
次に情報処理装置１４が行う、ユーザ１の動作の検出処理について説明する。まず、肩の稜線を含む頭部輪郭の動きを取得するため、パーティクルフィルタを用いた視覚追跡処理を、撮像装置１２が撮像したユーザ１を含む画像に対して実行する。頭部輪郭の視覚追跡は、動画像の各画像フレームの頭部輪郭を時間発展的に推定していく技術である。
【００２０】
本実施の形態では上述のとおり、「人間の動作」という時間幅を有する行為を入力として利用する。撮像対象を認識する技術として一般的に用いられるパターンマッチングは基本的に静止画に対する処理であり、それを時間変化の検出に利用するということは、結局、複数の静止画についての検出結果をつなげていくことに他ならない。このとき、基本的には前の画像フレームとの関連性を考慮しないため、複数の人が画像に含まれていたり人が移動したりといった状況の変化が考えられるような有限の時間で発生した事象を検出するときは誤差を含みやすい。本実施の形態によれば、頭部輪郭の追跡処理自体が時間発展的であるため、前の画像フレームとの関連性から個々人の動きを精度よく捉えることができる。
【００２１】
図３は人物を追跡対象とした場合の視覚追跡手法を説明するための図である。人物画像１５０は撮像装置１２が撮像した動画像の画像ストリームを構成する画像フレームのひとつであり、追跡対象である人物１５２が写っている。当該人物１５２が、図１におけるユーザ１に対応する。
【００２２】
この人物１５２の動きを追跡するために、人物１５２の頭部輪郭の形状を近似するΩ形の曲線１５４を既知の表現で記述する。一方、人物１５２を含む人物画像１５０にはエッジ抽出処理を施し、エッジ画像を取得しておく。そして曲線１５４を規定するパラメータを変化させることにより当該曲線１５４を並進、伸縮、回転させて、その近傍にあるエッジを探索することにより、人物１５２の頭部輪郭と最もマッチすると推定されるパラメータの値を特定する。以上の処理をフレームごとに繰り返すことにより人物１５２の追跡が進捗する。ここでエッジとは一般的には画像の濃度や色に急な変化を有する箇所のことである。
【００２３】
規定するパラメータの値を様々にした曲線１５４と人物１５２の頭部輪郭とのマッチングを行うために、パーティクルフィルタによる確率分布予測技術を導入する。すなわち、ひとつ前のフレームにおけるパラメータ空間上の対象物の確率分布に応じて曲線１５４のサンプリング数を増減させ、追跡候補の絞り込みを行う。これにより存在確率の高い部分に対しては重点的に探索を行うことができ、精度のよいマッチングが効率的に行える。
【００２４】
対象物の輪郭に着目した追跡に対するパーティクルフィルタの適用手法は、例えば非特許文献（ICondensation: Unifying low-level and high-level tracking in a stochastic framework, Michael Isard and Andrew Blake, Proc 5th European Conf. Computer Vision, 1998）に詳述されている。ここでは本実施の形態に係る点に着目して説明する。
【００２５】
まずΩ形の曲線１５４を、Ｂスプライン曲線で記述する。Ｂスプライン曲線はｎ個の制御点（Ｑ０，・・・，Ｑｎ）とｎ個のノット（ｓ０，・・・，ｓｎ）とから定義される。そして基本となる曲線形状、この場合はΩ形の曲線となるように、それらのパラメータをあらかじめ設定しておく。このときの設定によって得られる曲線を以後、テンプレートＱtと呼ぶ。なお、図３で示した人物画像１５０における人物１５２の追跡を行う場合は、テンプレートＱtはΩ形であるが、その形状は追跡対象によって変化させる。すなわち追跡対象がボールであれば円形、手のひらであれば手の形状などとなる。
【００２６】
次にテンプレートの状態を変化させるための変換パラメータとして、形状空間ベクトルｘを準備する。形状空間ベクトルｘは以下のような６つのパラメータで構成される。
【００２７】
【数１】
2011008601.tif 000003
【００２８】
ここで（shiftｘ，shiftｙ）は（ｘ，ｙ）方向への並進量、（extendｘ，extendｙ）は倍率、θは回転角である。そして形状空間ベクトルｘをテンプレートＱtに作用させるための作用行列Ｗを用いると、変形後の曲線、すなわち候補曲線Ｑは以下のように記述できる。
【００２９】
【数２】
2011008601.tif 000004
【００３０】
式２を用いれば、形状空間ベクトルｘを構成する６つのパラメータを適宜変化させることにより、テンプレートを並進、伸縮、回転させることができ、組み合わせによって候補曲線Ｑを種々変化させることができる。
【００３１】
そして、制御点、およびノットの間隔といったテンプレートＱtのパラメータや、形状空間ベクトルｘを構成する６つのパラメータを変化させることによって表現される複数の候補曲線について、各ノットの近傍にある人物１５２のエッジを探索する。その後、エッジとの距離などから各候補曲線の尤度を求めることにより、形状空間ベクトルｘを構成する６つのパラメータで定義される６次元空間における確率密度分布を推定する。
【００３２】
図４はパーティクルフィルタを用いた確率密度分布推定の手法を説明する図である。同図では理解を簡単にするために、形状空間ベクトルｘを構成する６つのパラメータのうち、あるパラメータｘ１の変化を横軸に表しているが、実際には６次元空間において同様の処理が行われる。ここで確率密度分布を推定したい画像フレームが時刻ｔの画像フレームであるとする。
【００３３】
まず、時刻ｔの画像フレームのひとつ前のフレームである時刻ｔ−１の画像フレームにおいて推定された、パラメータｘ１軸上の確率密度分布を用いて（Ｓ１０）、時刻ｔにおけるパーティクルを生成する（Ｓ１２）。それまでにフィルタリングを行い、すでにパーティクルが存在する場合は、その分裂、および消滅を決定する。Ｓ１０において表した確率密度分布は、パラメータ空間上の座標に対応して離散的に求められたものであり、円が大きいほど確率密度が高いことを表している。
【００３４】
パーティクルはサンプリングするパラメータｘ１の値とサンプリング密度とを実体化したものであり、例えば時刻ｔ−１において確率密度が高かったパラメータｘ１の領域は、パーティクル密度を高くすることで重点的にサンプリングを行い、確率密度の低かった範囲はパーティクルを少なくすることでサンプリングをあまり行わない。これにより、例えば人物１５２のエッジ近傍において候補曲線を多く発生させて、効率よくマッチングを行う。
【００３５】
次に所定の運動モデルを用いて、パーティクルをパラメータ空間上で遷移させる（Ｓ１４）。所定の運動モデルとは例えば、ガウシアン型運動モデル、自己回帰予測型運動モデルなどである。前者は、時刻ｔにおける確率密度は時刻ｔ−１における各確率密度の周囲にガウス分布している、とするモデルである。後者は、サンプルデータから取得した２次以上の自己回帰予測モデルを仮定する手法で、例えば人物１５２がある速度で等速運動をしているといったことを過去のパラメータの変化から推定する。図４の例では、自己回帰予測型運動モデルによりパラメータｘ１の正方向への動きが推定され、各パーティクルをそのように遷移させている。
【００３６】
次に、各パーティクルで決定される候補曲線の近傍にある人物１５２のエッジを、時刻ｔのエッジ画像を用いて探索することにより、各候補曲線の尤度を求め、時刻ｔにおける確率密度分布を推定する（Ｓ１６）。前述のとおり、このときの確率密度分布はＳ１６に示すように、真の確率密度分布４００を離散的に表したものになる。以降、これを繰り返すことにより、各時刻における確率密度分布がパラメータ空間において表される。例えば確率密度分布が単峰性であった場合、すなわち追跡対象が唯一であった場合は、得られた確率密度を用いて各パラメータの値に対し重み付けした和を最終的なパラメータとすることにより、追跡対象の輪郭と推定される曲線が得られることになる。
【００３７】
Ｓ１６において推定される時刻ｔにおける確率密度分布p(xti)は以下のように計算される。
【００３８】
【数３】
2011008601.tif 000005
【００３９】
ここでｉはパーティクルに一意に与えられた番号、p(xti|xti, ut-1)は所定の運動モデル、p(yt|xti)は尤度である。式３で得られる確率密度分布は、形状空間ベクトルの各パラメータに対して得られる。したがって当該確率密度分布でパーティクルの加重平均を求めることにより、各時刻の形状空間ベクトルが推定できる。
【００４０】
図５は情報処理装置１４の構成を詳細に示している。情報処理装置１４は、撮像装置１２から入力される入力画像データを取得する画像取得部２０、上述の視覚追跡処理を実行する追跡処理部２６、追跡の結果得られた頭部輪郭と、入力画像に写る、発光デバイス１８の発光部６の像との相対位置の時間変化からユーザの動作を検出する動作検出部２８、検出した動作を利用したゲームなどのアプリケーションを実行し画像データなどの出力データを生成する出力データ生成部３０、および生成された出力データの表示装置１６などへの出力を制御する出力制御部３２を含む。
【００４１】
図５および以後の図６、７において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、画像処理を行うプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４２】
画像取得部２０は、有線、無線を問わず撮像装置１２からユーザを撮像した画像をリアルタイムで取得する。追跡処理部２６は、上述の視覚追跡の手法によりユーザの頭部輪郭を追跡する。動作検出部２８は、追跡処理部２６の追跡の結果得られる各画像フレームの時刻における頭部輪郭の曲線データ、および発光部６の像の位置データに基づき、ユーザの動作を検出する。
【００４３】
出力データ生成部３０は、動作検出部２８が所定の動作を検出した場合に、その結果に対応する処理を行い、画像データなどの出力データを生成する。上述のように本実施の形態は様々なアプリケーションへの応用が可能であるため、出力データ生成部３０は、画像データを生成するばかりでなく各アプリケーションに応じた処理を行ってよい。例えば、動作検出部２８が検出する動作と、それに応じた処理とをあらかじめ対応づけておき、出力データ生成部３０は当該動作に対応する処理を行うようにしてもよい。
【００４４】
図６は追跡処理部２６の構成を詳細に示している。追跡処理部２６は、入力画像データからエッジ画像などを生成する画像処理部４０、パーティクルの生成および消滅によってパラメータ空間におけるサンプリングを行うサンプリング部４２、各パーティクルが規定する候補曲線の尤度を観測する観測部４６、観測の結果を統合し、形状空間ベクトルを推定する結果取得部５０、Ω形のテンプレートを規定するパラメータを記憶するパラメータ記憶部４８を含む。
【００４５】
画像処理部４０は、入力画像データの画像フレームごとにエッジ抽出処理を施し、エッジ画像を生成する。ここではキャニーエッジフィルタや、ソーベルフィルタなど一般的なエッジ抽出アルゴリズムを用いることができる。また画像処理部４０は、背景差分を利用した前景抽出器（図示せず）を実装していてもよく、エッジ抽出処理の前処理として入力画像から追跡対象を含む前景を抽出することにより、追跡対象のエッジを効率的に抽出するようにしてもよい。
【００４６】
サンプリング部４２は、一つ前の時刻ｔ−１における画像フレームに対して推定された、形状空間ベクトルｘの空間での確率密度分布に基づきパーティクルの生成および消滅の処理を行う。そして全パーティクルに対し所定の運動モデルを適用して、パーティクルを当該空間上で遷移させる。
【００４７】
観測部４６は、サンプリング部４２が生成・消滅、遷移させた各パーティクルが定める候補曲線の尤度を観測する。尤度は上述のように、画像処理部４０が生成したエッジ画像上で、各候補曲線の近傍にあるエッジを探索し、当該エッジまでの距離を候補曲線ごとに見積もることによって決定する。候補曲線は上述のように、パラメータ記憶部４８から読み出したΩ形のテンプレートに対し、各パーティクルを規定するパラメータを作用させることによって得られる。
【００４８】
結果取得部５０は、観測部４６が観測した尤度に基づき式３で示すような確率密度分布を形状空間ベクトルｘの空間において算出し、それにより各パラメータを重み付け平均する。また次の時刻ｔ＋１における追跡処理に使用するため、サンプリング部４２にそのデータを返す。
【００４９】
追跡対象が複数存在する場合、結果取得部５０はさらに、それぞれに用意したテンプレートを用いて、追跡対象ごとに追跡を行う。また複数の追跡対象が重なるような場合を追跡結果によって検出し、後ろに隠れる追跡対象については所定のタイミングで追跡処理対象からはずすなどの措置を講じる。これにより追跡対象が別の追跡対象の背後に回ったことによって観測尤度が一時的に低下しても、不適当な追跡結果を出力するのを避けることができる。
【００５０】
図７は動作検出部２８の構成を詳細に示している。動作検出部２８は、画像取得部２０が取得した各時刻における画像フレーム内での、発光デバイス１８の発光部６の像の位置データと、追跡処理部２６による視覚追跡の結果推定された各時刻の頭部輪郭の曲線データを取得する位置データ取得部５２、発光部６の像の位置データと頭部輪郭の曲線データを蓄積し履歴として記憶する履歴記憶部５６、発光部６の像と頭部輪郭の曲線との相対位置の時間変化から、所定の動作がなされたと判定する基準を記憶する判定基準記憶部５８、当該判定基準に照らし、実際のデータに基づき動作がなされたか否かを判定する動作判定部５４を含む。
【００５１】
位置データ取得部５２は、画像取得部２０から入力画像のフレームを取得し、発光デバイス１８の発光部６の、画像フレーム内での位置座標を取得する。さらに、追跡処理部２６が各画像フレームに対し推定した頭部輪郭を表す曲線のデータを取得する。頭部輪郭を表す曲線のデータは上述のように、各パーティクルを規定する形状空間ベクトルのパラメータを確率密度分布で重み付け平均して得られた結果である。それぞれ取得した結果は、画像フレーム空間内の同一の座標系で表現し、フレームごとに履歴記憶部５６に順に蓄積していく。
【００５２】
動作判定部５４は、履歴記憶部５６に記憶された、直近の所定期間における発光部６の像の位置と頭部輪郭の曲線のデータを読み出し、それらの相対位置の時間変化と、判定基準記憶部５８に登録した判定基準とを照合し、登録された動作がなされたか否かを判定する。判定結果は出力データ生成部３０に通知する。判定基準記憶部５８に登録する動作および当該動作がなされたと判定する基準は、情報処理システム１０がその後に行う処理内容によって異なってよい。このとき情報処理内容を規定するソフトウェアには、判定すべき動作と判定基準とを対応付けたテーブルを付加データとして含め、当該ソフトウェアが起動されたときに判定基準記憶部５８に読み出すようにする。
【００５３】
次に、発光部６の像および頭部輪郭の曲線の相対位置の変化から判別できる動作と、それを利用した情報処理の具体例を説明する。図８は上述の構成を有する情報処理システム１０で実現できる情報処理の例を説明する概念図である。同図は情報処理として、表示装置１６に表示した仮想世界において、ユーザ１の動きに対応して動く忍者のオブジェクト２が冒険したり敵と戦ったりするロールプレイングゲームを例示している。
【００５４】
このようなアプリケーションの場合、ユーザ１の全体的な動きは、追跡処理部２６によって、上述のとおり頭部輪郭を取得することにより検出できる。その結果を用いて、各画像フレームにおけるオブジェクト２の頭部位置を決定し、それに基づき必要な体の部位を描画していく。また、ユーザが撮像装置に近づいたり離れたりしたことを頭部輪郭の大きさにより判断して、オブジェクト２を仮想世界で前進させたり後退させたりすることもできる。さらに発光部６の像の平面上の座標に基づきオブジェクト２の手の座標、発光部６の像の大きさに基づきオブジェクト２の手の奥行き方向の位置も決定できる。なお図８の例では、オブジェクト２はユーザ１を撮像した入力画像の鏡面画像として描画している。
【００５５】
図９は、図８に示したようなアプリケーションにおいて動作検出部２８と出力データ生成部３０が行う処理の例を説明する図である。図中、垂直下方向が時間軸であり、時系列順に時刻Ａ、Ｂ、およびＣにおいて撮像装置１２が取得した入力画像１００ａ、１００ｂ、１００ｃ、各入力画像から得られる、頭部輪郭の曲線７０と発光部６の像７２の位置データ１０２ａ、１０２ｂ、１０２ｃ、および、各時刻における動作検出結果などに基づき描画される表示画像１０４ａ、１０４ｂ、１０４ｃを表している。
【００５６】
なお時刻Ａ、Ｂ、Ｃはユーザの動作のうち特徴的な瞬間であり、その間も所定のフレームレートで画像取得、追跡処理、動作判定、表示が逐次なされている。また、図８に示すように表示画像はユーザを撮像した画像フレームの鏡面画像でよいが、図９では理解を容易にするため変換前の画像を示している。
【００５７】
まず時刻Ａの入力画像１００ａにおいてユーザの像６８は、入力画像１００ａに写る位置に発光デバイス１８を持っている。この入力画像１００ａおよびそれ以前の画像フレームからの追跡処理の結果から、頭部輪郭の曲線７０および発光部６の像７２の位置データ１０２ａを取得する。この位置データ１０２ａに基づき、表示画像１０４ａのオブジェクト２を描画する。具体的には、頭部輪郭の曲線７０から頭部の位置、発光部６の像７２の位置から手の位置を決定し、それに基づきオブジェクト２の全体像を描画する。
【００５８】
ここで、オブジェクト２は図８に示すように忍者であり、武器として背中に刀７４を装備しているとする。このような態様において本実施の形態では、頭部輪郭の曲線７０と発光部６の像７２の位置とを逐次追跡し、それらの相対位置に基づき、ユーザが刀を抜いた、振った、鞘に納めた、といった複雑な動作を判別する。時刻Ａではそれまでの流れから、刀７４は背中の鞘に納められており、オブジェクト２の手には何も握られていないように表示されている。
【００５９】
ここでユーザが刀を抜く動作をしたとする。この場合、まず時刻Ａから時刻Ｂまでの時間において、ユーザ、すなわちユーザの像６８は、発光デバイス１８を保持した手を矢印ａ０の方向に動かす。発光部６の位置は撮像装置１２が取得するフレームレートでトレースされ、同期間において発光部６の像７２の位置データは矢印ａ２のように変化する。それに基づき表示画像１０４ａでは、オブジェクト２の手を矢印ａ４のように動かす。
【００６０】
そして時刻Ｂで、入力画像１００ｂに示すように、ユーザ、すなわちユーザの像６８は発光部６が肩に隠れる程度の位置まで発光デバイス１８を移動させる。すると同時刻での発光部６の像７２の位置データは取得されず、位置データ１０２ｂに示すように頭部輪郭の曲線７０のみが位置データとして記録される。しかしながら本実施の形態では、頭部輪郭の曲線７０と発光部６の像７２の相対位置の時間変化を、フレームレートのオーダーで逐次取得しているため、発光部６が肩の後ろに隠れている、すなわちユーザが発光デバイス１８を持った手を背中に回した、という動作を検出できる。
【００６１】
この動作の検出は、必ずしも発光部６が完全に隠れている状態でなされなくてもよいが、本実施の形態では上述のように相対位置の時間変化を取得しているため、完全に隠れていたとしても発光部６の検出エラーとなることが少ない。また、頭部輪郭の曲線７０と発光部６の大きさの変化も取得しているため、ユーザの手が体の前面にあるか背面へ回りそうかも特定でき、検出精度が高い。このようにユーザが手を背中に回した、という動作を検出したら、表示画像１０４ｂに示すように、オブジェクト２の手が背後の刀７４の柄を握ったように描画する。
【００６２】
次に時刻Ｂから時刻Ｃまでの時間においてユーザは、発光デバイス１８を保持した手を矢印ｂ０の方向に動かし、発光部６が肩から出現すると、位置データにおいては頭部輪郭の肩の稜線から発光部６の像７２が矢印ｂ２の方向に移動するように出現する。このように肩の稜線から発光部６の像７２が出現し、かつその直前の時刻Ｂにおいて刀の柄を握る動作をオブジェクト２にさせている場合は、表示画像において、オブジェクト２が握った刀を鞘から抜いたように描画する。
【００６３】
その後は、時刻Ｃに示すように、ユーザすなわちユーザの像６８が発光デバイス１８を下ろすと（入力画像１００ｃ）、そのときの頭部輪郭の曲線７０と発光部６の像７２の位置データ１０２ｃが取得され（位置データ１０２ｃ）、それに基づき表示画像１０４ｃが生成される（表示画像１０４ｃ）。図に示すように、時刻Ａと時刻Ｃの入力画像においてユーザのポーズは同様である。しかしながら時刻Ｃにおける表示画像１０４ｃではオブジェクト２が刀７４を手にしていることになる。このように、入力された動画像を構成する２つの画像フレームでユーザが同じポーズをとっていても、動画像としての連続的な動きを監視していくことにより、ユーザの意図に合致した異なる表示を行うことができる。
【００６４】
例えば時刻Ｃでは、表示画像１０４ｃにおけるオブジェクト２は刀７４を手にしているため、以後のあるタイミングでユーザが時刻ＡからＢと同様の動作をしても、今度は刀を鞘に納める動作であると判定できる。本実施の形態では、頭部輪郭という２次元形状と、発光部６の像という点形状との位置関係に着目する。したがって刀を鞘から抜く際、および納める際には、頭部輪郭の肩の稜線と発光部６の像との距離に応じて、刀の先がオブジェクト２の背後に隠れたように陰面消去処理を行うことができ、よりリアルな画像を表示することができる。また肩の稜線を把握しているため、発光部６の像が消えた場合に、図９の時刻Ｂのような動作がなされたのか、もう片方の手や別の人物などによって偶然隠れたのかを判別することもできる。
【００６５】
図９では理解を容易にするため、ユーザの像６８の頭部は大きく移動しないように表示したが、本実施の形態の上記手法は、頭部輪郭という、ユーザの顔の向き、体の向きに依存しない形状に基づいているため、ユーザがどのような体勢にあっても同様に処理を行うことができる。図８において説明したようなロールプレイングゲームや格闘技ゲームなどのアプリケーションでは、ユーザがあらゆる方向を向いたり動いたりすることを許容できることが望ましいため、本実施の形態の効果を顕著に発揮できる。これにより、より複雑かつリアルな仮想世界を表現することが可能になる。また横になって行うゲームなど、アプリケーションを多様化することができる。
【００６６】
図９に示したユーザの体勢では、「発光部６の像７２が肩の稜線を越える→発光部６の像７２が肩の稜線に再度近づきつつ消える」、という位置データの時間変化の判定基準と、それまで刀を握っていたか否かの場合分けによって、ユーザが刀を抜く動作、鞘に納める動作を判定し、陰面消去など必要な処理を施しながら当該動作を表示画像へ反映させた。一方情報処理の内容によっては、ユーザが寝転ぶなど肩の稜線が著しく傾いた場合に別の基準を用意しておく。図１０はユーザ自体の傾きが大きいときの動作の判定基準を説明するため図である。
【００６７】
図１０の入力画像１００ｄにおいてユーザの像６８は寝転んだ状態で発光デバイス１８を動かしている。このような体勢においては、ユーザが発光デバイス１８を上に上げることと、位置データ１０２ｄにおいて発光部６の像が頭部輪郭の肩の稜線を越えることとは必ずしも一致しない。そこで別の判断基準として水平線７６を導入する。水平線７６は、頭部輪郭の曲線７０のうち上側の肩の端点を通る水平の線である。
【００６８】
そして、発光部６の像７２が水平線７６を越えて上に移動した場合、ユーザが手を上げる動作、水平線７６から下に下りた場合、ユーザが手を下げる動作として判別する。ユーザが寝転んだ、あるいはそれに準じる程度に傾いた、といった事象は、図中、破線７８のに示す頭部輪郭の縦方向の、鉛直方向に対する傾きにしきい値を設けることにより判定する。この傾きは、頭部輪郭の曲線７０を定義する形状空間ベクトルのうち、回転角を表すパラメータθに基づき求めることができる。そして傾きがしきい値を越えた時点で判断基準を切り替える。なお水平線７６による判定基準は例示であり、動作の判定後になされる情報処理の内容などによって適宜設定してよい。
【００６９】
次に発光部６の像および頭部輪郭の曲線の相対位置の変化による動作検出を利用した情報処理の別の例を説明する。この例では、発光デバイス１８をそれぞれ持った二人のユーザを撮像対象とし、それぞれの動きを反映させた二人のオブジェクトを表示装置１６に表示する。図１１はこのようなアプリケーションにおいて表示する画像例を示している。表示画像１１０においてオブジェクト１１２ａ、１１２ｂは二人のユーザにそれぞれ対応し、コンピュータグラフィックスによって描画してもよいし、撮像したユーザをそのまま、あるいは鏡面画像に変換して表示してもよい。表示画像１１０ではさらに、各ユーザの頭および両肩に風船のオブジェクト１１６ａ、１１６ｂを、ユーザが発光デバイス１８を保持する手にハンマーのオブジェクト１１４ａ、１１４ｂを描画する。
【００７０】
このような構成とすることで、ユーザが表示装置１６に表示された表示画像１１０を見ながら発光デバイス１８を振ることにより、仮想世界における相手のオブジェクトにつけられた風船を自分が保持するハンマーで叩き割るゲームを実現できる。この場合も、発光デバイス１８の発光部６の像と、それを保持するユーザの肩の稜線との相対位置の時間変化によって、ユーザがハンマーを振り上げる動作を検出する。上述したように、ユーザがいかなる体勢になっても、頭部輪郭の一部として肩の稜線を追跡できるため、それを基準に発光部６の動きを追うことにより、ユーザがハンマーを振り上げようとしたタイミングを検出することができる。
【００７１】
また、このように検出したユーザの動作に加え、上記で触れたように発光デバイス１８の内部にジャイロセンサーを内蔵し、発光デバイス１８の角速度の測定結果も表示画像１１０に反映させるようにしてもよい。例えば、ハンマーを振り下ろそうとする動作を検出したら、発光デバイス１８の角速度に応じてハンマーの取っ手を長くする。図１１の例ではこのようにして、ハンマーを振り下ろそうとしているユーザ側のハンマーのオブジェクト１１４ｂの取っ手が、他方のユーザのハンマーのオブジェクト１１４ａの取っ手より長くなっている。このようにすることで、取っ手の長さの変化も考慮したうえで、相手の風船を割る速さを競う、といったゲームを実現できる。
【００７２】
また、ハンマーを振り上げたと判定するより前の時点、例えば発光部６の像が肩の稜線を下から上へ所定の速度で越えようとしている時点などを第２の基準として設けてもよい。この第２の基準を満たした場合、ユーザがこれからハンマーを振り上げようとしていると判断し、ハンマーを振り上げる画像の描画処理やジャイロセンサーによる測定開始など、その後に必要と予測される処理を投機的に行うようにしてもよい。このようにすることで、ユーザの動きに対する表示画像の応答性を高めることができる。
【００７３】
図１１のアプリケーションのように複数のユーザが撮像対象となっている場合、それぞれが保持する発光デバイス１８の発光部６の像が、どちらのユーザのものかを判別する必要がある。本実施の形態では上述のとおり各ユーザの肩の稜線が取得できているため、当該稜線の傾きと、発光部の像の位置によって、発光部の像とユーザとの対応付けが可能である。すなわち、ユーザの像１１２ｂのように肩の稜線が上がっていれば、その延長線の近傍にある発光部の像は当該ユーザが保持する発光デバイス１８の物である。
【００７４】
あるいはゲーム開始時に、発光部６の像と頭部輪郭の曲線との対応付けを行うようにしてもよい。具体的には、各ユーザが肩や頭頂部に発光部６が接するように発光デバイス１８を持ち、それを初期画像として頭部輪郭の追跡処理および発光部６の像の位置データを取得するようにすればよい。両者とも時間経過に対して逐次位置の変化が追跡されるため、初期画像において両者の対応関係を取得しておけば、いずれの時刻においても対応がとれていることになる。
【００７５】
上記初期画像を取得する際には、発光部６の像の大きさと頭部輪郭から得られる頭部の大きさの相対的関係を取得してもよい。これを基準とし、ゲーム中に取得した両者の大きさの相対関係と比較することにより、発光デバイス１８がユーザより後ろにあるか前にあるかを判断することができる。すなわち、相対的に発光部６の像が大きくなっていれば発光デバイス１８はユーザの頭などより撮像装置１２に近く、小さくなっていれば発光デバイス１８はユーザの頭などより撮像装置１２から離れている、と判定する。この結果を、これまで述べた発光部の像と頭部輪郭の曲線の相対位置の時間変化に加味することにより、さらに複雑な動作を判別したり、投機的処理を行ったりすることができる。
【００７６】
図８、図１１で示したアプリケーションはあくまで一例であり、頭部輪郭の曲線とユーザが保持する発光デバイスの発光部の像との相対位置の時間変化を利用した動作検出は、様々な情報処理に適用することができる。例えばユーザの動作をマウスの代替手段としてもよい。すなわち、撮像したユーザの動きを４つに類型化し、それぞれを一般的にマウスが備える４種類の機能に割り当てる。
【００７７】
図１２はこのような態様における動作の割り当て例を説明する図である。この例ではユーザの状態を、発光部６が肩の稜線より下にある（類型１２０ａ）、発光部６が肩の稜線より上にあり、頭部輪郭の外側にある（類型１２０ｂ）、発光部６が肩の稜線より上にあり、頭部輪郭の前方にある（類型１２０ｃ）、発光部６が肩の稜線より上にあり、頭部輪郭の後方にある（類型１２０ｄ）、の４つの類型に分け、それぞれ、マウス１２２本体の移動、スクロール、右クリック、左クリックに割り当てる。
【００７８】
類型１２０ａの場合、発光部６と頭部輪郭との距離をマウスの移動速度に変換する。移動方向は発光部６と頭部輪郭の相対位置によって決定する。類型１２０ｂの場合も、発光部６と頭部輪郭との距離をスクロール速度に変換し、スクロール方向は発光部６と頭部輪郭の相対位置によって決定する。類型１２０ｄは、発光部６が頭の後ろに隠れて見えない状態であるが、発光部６の像の位置変化を取得しているため、頭の後ろに隠れたことを認識できる。そして発光部６が見えるか否かによって、類型１２０ｃと類型１２０ｄとを区別できる。
【００７９】
ユーザは、例えば表示装置１６の画面を見ながら必要に応じていずれかの類型の動作を行う。このとき、ユーザが意図をもって動作を行っているか否かを区別するため、発光デバイス１８に設けたボタンを押した状態でいずれかの類型の動作を行った場合に、その後の処理を行うようにするなど、類型判断を開始するための規則をあらかじめ設定しておく。ボタンを押していない状態や、発光部６の発光開始などを類型判断の開始としてもよい。ユーザの動作がいずれの類型であるかを判定したら、上述の割り当てに従い当該動作をマウスの操作に変換する。その後は通常のマウス操作でなされるものと同様に、画面上の画像を変化させる。この態様においても、頭部輪郭という２次元形状と、発光部６の形状とを同時に取得し、その経時変化を取得することで、単純な動作でも容易にマウス操作に代えることができる。
【００８０】
次に、これまで述べた構成によって実現できる情報処理装置１４の動作について説明する。図１３は、ユーザの動作を反映して動くオブジェクトを表示するための情報処理装置１４の処理手順を示すフローチャートである。まずユーザが発光デバイス１８を手に持ち、アプリケーションのソフトウェアを起動させると、撮像装置１２が当該ユーザの撮像を開始するとともに表示装置１６に初期画面を表示する（Ｓ１０８）。
【００８１】
ソフトウェアの起動は、ユーザが発光デバイス１８に設けた図示しない起動ボタンを押下することにより行うようにする。ソフトウェアの起動によって、情報処理装置１４が発光デバイス１８の発光部６を発光させるよう制御する。あるいは発光デバイス１８に設けた図示しないオン／オフボタンによってユーザが発光開始操作を行うようにしてもよい。次に、必要に応じて、上述のように各ユーザの頭部輪郭と発光部の像との対応関係を取得するなどの初期処理を行う（Ｓ１０９）。
【００８２】
一方、追跡処理部２６は撮像装置１２が撮像した入力画像を逐次読み込んで頭部輪郭の視覚追跡を開始する（Ｓ１１０）。動作検出部２８の位置データ取得部５２は、追跡の結果として、現在時刻ｔにおける画像フレームの頭部輪郭の曲線データを取得するとともに、画像取得部２０が取得した入力画像フレームから、発光部６の像の位置データを取得する（Ｓ１１２、Ｓ１１４）。各データは時刻順に履歴記憶部５６に格納する。動作判定部５４は、現在時刻までの所定期間における、頭部輪郭の曲線と発光部の像の相対位置の時間変化を読み出し、判定基準記憶部５８に登録済みの、動作の判定基準のいずれかに当てはまるか否かを判定する（Ｓ１１６）。
【００８３】
上述のとおり、一つの動作を判定するために、相対位置の変遷に対して複数のタイミングで基準を設定する必要がある場合も多いため、動作判定部５４は所定時間、相対位置の監視を継続し、全ての基準が満たされたときに、対応して登録された動作がなされたと判定する。登録された動作がなされたと判定されたら（Ｓ１１６のＹ）、当該動作に対応する画像を描画する（Ｓ１１８）。具体的には、表示画像内のオブジェクトに、判定された動作に対応する動きをさせたり、マウスの操作に変換して表示画像を変化させたりする。
【００８４】
加えて、必要に応じて頭部輪郭の曲線や発光部６の動きに合わせてオブジェクトを動かすなどして最終的に得られる最新画像を表示する（Ｓ１２０）。登録された動作がなされていない場合も（Ｓ１１６のＮ）同様に、必要な動きを加えた最新画像を表示する（Ｓ１２０）。処理を終了する必要が生じない間は（Ｓ１２２のＮ）、次の画像フレームの時刻ｔ＋１についてＳ１１２からＳ１２０の処理を行うことを繰り返し、ユーザによる処理の停止指示や、ゲームの終了などによって処理を終了する（Ｓ１２２のＹ）。
【００８５】
以上述べた本実施の形態によれば、ユーザの頭部領域を視覚追跡技術により時間発展的に追跡するとともに、ユーザが保持する発光デバイスの発光部の像の位置を逐次取得する。そして両者の相対位置の時間変化をあらかじめ定めた基準と照らすことにより、登録された動作がなされたことを判別する。ユーザがどのような体勢にあっても、またどのような方向を向いていても、頭部輪郭形状への影響は少ないため、ユーザの手が体に対してどのように動いているかを性格に認識することができる。撮像装置の位置が変化しても同様に処理が可能である。結果として、幅広い環境、複雑な動作にも対応することができ、ゲームをはじめ適用できるアプリケーションの幅が増えるとともに、よりリアルな仮想世界を表現することが可能となる。
【００８６】
さらに、発光部の像がユーザの背後に隠れるなどしても、時間変化を取得しているため、どこに隠れているかを認識できる。そして肩のラインなどに基づき、表示画像に描画したオブジェクトに対し陰面消去などの処理を行ったり、隠れた状態をマウスの機能に割り当てたり、といった多様な処理に利用することができる。本実施の形態は、一般的な情報処理システムのほかは、発光デバイスおよび撮像装置を準備するのみで実現できるため、たくさんの発光体を体に貼り付けたりする必要がなく、ユーザに手間や煩わしさを感じさせることが少ない。また必要な装置が限られるため安価に実現できる。さらに顔検出やパターンマッチングなど、基本的には静止画像に対して行う処理によって動作検出を試みるより、正確かつ高速に動作判定を行える。
【００８７】
また、動作がなされたと判定する前に、当該動作へ移行しそうであることを、相対位置の時間変化によって予測できるため、その後の処理を投機的に行っておけば、より応答性のよいアプリケーションが実現できる。
【００８８】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８９】
例えば複数のユーザが並んだ状態を撮像し、挙手したユーザを検出して自動でズームアップする撮影装置が考えられる。このときユーザは発光デバイスを保持するのに代わり、発光体を手に貼り付けるなどしてもよい。この場合も、各ユーザの肩の稜線の水準へ発光体が下から近づき当該水準を越える時間変化がなされたとき、あるいは越えた状態が所定時間継続したときに、挙手がなされたと判定する。複数のユーザによる挙手がなされた場合でも、それぞれの挙手の判定タイミングによって、最も早く挙手したユーザを同定できる。
【符号の説明】
【００９０】
６  発光部、  ８  ハンドル、  １０  情報処理システム、  １２  撮像装置、  １４  情報処理装置、  １６  表示装置、  １８  発光デバイス、  ２０  画像取得部、  ２６  追跡処理部、  ２８  動作検出部、  ３０  出力データ生成部、  ３２  出力制御部、  ４０  画像処理部、  ４２  サンプリング部、  ４６  観測部、  ５０  結果取得部、  ５２  位置データ取得部、  ５４  動作判定部、  ５６  履歴記憶部、  ５８  判定基準記憶部。
【図１】
2011008601.tif 000006
【図２】
2011008601.tif 000007
【図３】
2011008601.tif 000008
【図４】
2011008601.tif 000009
【図５】
2011008601.tif 000010
【図６】
2011008601.tif 000011
【図７】
2011008601.tif 000012
【図８】
2011008601.tif 000013
【図９】
2011008601.tif 000014
【図１０】
2011008601.tif 000015
【図１１】
2011008601.tif 000016
【図１２】
2011008601.tif 000017
【図１３】
2011008601.tif 000018