(57)【特許請求の範囲】
【請求項１】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部と、
を含み、
前記被写体情報取得部は、
前記センサ情報に基づいて、前記被写体のプレイエリアの面の情報を取得し、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記面の情報と前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成することを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記キャラクタ処理部は、
前記基準点の位置から下ろした垂線が前記面に交わる点を、前記配置基準点として求めることを特徴とする画像生成システム。
【請求項３】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部と、
を含み、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成し、
前記画像生成部は、
前記センサからの前記被写体の距離が変化した場合にも、前記配置基準点が表示部の画面下部の位置になるように前記キャラクタが表示される画像を生成することを特徴とする画像生成システム。
【請求項４】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部と、
を含み、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成し、
前記キャラクタは、複数のオブジェクトで構成され、オブジェクト空間内に配置されるモデルオブジェクトであり、
前記キャラクタ処理部は、
前記センサからの前記被写体の距離が長くなるにつれて、前記オブジェクト空間内での前記モデルオブジェクトの位置を下降させる処理を行うことを特徴とする画像生成システム。
【請求項５】
請求項３又は４において、
前記キャラクタ処理部は、
前記センサからの前記センサ情報に基づいて、前記センサからの前記被写体の距離を求めることを特徴とする画像生成システム。
【請求項６】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部と、
を含み、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成し、
前記キャラクタ処理部は、
過去の前記配置基準点の位置を用いて、現在の前記配置基準点の位置を決定することを特徴とする画像生成システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記キャラクタ処理部は、
前記キャラクタの前記基準点の位置として腰の位置を取得し、前記腰の位置に基づいて、前記キャラクタの前記配置基準点を求めることを特徴とする画像生成システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記被写体情報取得部は、
前記被写体情報として、前記被写体のスケルトン情報を取得し、
前記キャラクタ処理部は、
前記スケルトン情報に基づいて前記キャラクタを動作させると共に、前記スケルトン情報から前記キャラクタの前記基準点の位置を求めて、前記配置基準点を求めることを特徴とする画像生成システム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記画像生成部は、
背景画像を構成するオブジェクト又は第２のキャラクタの位置、形状、サイズ及び動きの少なくとも１つと、前記配置基準点とに基づいて設定される位置に、前記キャラクタが配置されて表示される画像を生成することを特徴とする画像生成システム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記画像生成部は、
前記被写体の撮像画像に含まれる前記被写体の所定部位の部位画像と、前記キャラクタの画像の合成処理を行って、合成画像を生成することを特徴とする画像生成システム。
【請求項１１】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部として、
コンピュータを機能させ、
前記被写体情報取得部は、
前記センサ情報に基づいて、前記被写体のプレイエリアの面の情報を取得し、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記面の情報と前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成することを特徴とするプログラム。
【請求項１２】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部として、
コンピュータを機能させ、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成し、
前記画像生成部は、
前記センサからの前記被写体の距離が変化した場合にも、前記配置基準点が表示部の画面下部の位置になるように前記キャラクタが表示される画像を生成することを特徴とするプログラム。
【請求項１３】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部として、
コンピュータを機能させ、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成し、
前記キャラクタは、複数のオブジェクトで構成され、オブジェクト空間内に配置されるモデルオブジェクトであり、
前記キャラクタ処理部は、
前記センサからの前記被写体の距離が長くなるにつれて、前記オブジェクト空間内での前記モデルオブジェクトの位置を下降させる処理を行うことを特徴とするプログラム。
【請求項１４】
センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、
前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、
前記キャラクタの画像を生成する画像生成部として、
コンピュータを機能させ、
前記キャラクタ処理部は、
前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、
前記画像生成部は、
前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成し、
前記キャラクタ処理部は、
過去の前記配置基準点の位置を用いて、現在の前記配置基準点の位置を決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、スケルトン情報を用いたモーション再生によりキャラクタを動作させるゲームの画像生成システムが知られている。このような画像生成システムの従来技術としては例えば特許文献１に開示される技術が知られている。また、プレーヤの動きを特定するスケルトン情報をリアルタイムにキャプチャし、キャプチャされたスケルトン情報を用いて、ゲーム処理を行うようなシステムについても提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３０１９８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、プレーヤの動きを表すスケルトン情報をリアルタイムに取得すれば、このスケルトン情報を用いることで、プレーヤの動きに応じて動作するキャラクタを表示することができる。しかしながら、スケルトン情報を単純に用いる手法では、プレーヤの位置などに応じて、表示部でのキャラクタの表示位置が不適切になってしまう事態が生じる。
【０００５】
本発明の幾つかの態様によれば、被写体に対応するキャラクタの適切な表示位置の設定を可能にする画像生成システム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、センサからのセンサ情報に基づいて、被写体の被写体情報を取得する被写体情報取得部と、前記被写体に対応するキャラクタを動作させる処理を行うキャラクタ処理部と、前記キャラクタの画像を生成する画像生成部と、を含み、前記キャラクタ処理部は、前記被写体情報から前記キャラクタの基準点の位置を求め、前記基準点の位置に基づいて、前記キャラクタの配置基準点を求め、前記画像生成部は、前記配置基準点に応じた位置に前記キャラクタが配置されて表示される画像を生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００７】
本発明の一態様では、被写体の被写体情報が取得され、被写体に対応するキャラクタを動作させる処理が行われる。また被写体情報からキャラクタの基準点の位置が求められ、基準点の位置に基づいてキャラクタの配置基準点が求められる。そして配置基準点に応じた位置にキャラクタが配置されて表示される。このようにすれば、被写体に対応するキャラクタを動作させる場合に、被写体情報を利用して、キャラクタの配置基準点を求め、配置基準点に応じた位置にキャラクタを配置できる。従って、被写体に対応するキャラクタの適切な表示位置の設定が可能になる。
【０００８】
また本発明の一態様では、前記被写体情報取得部は、前記センサ情報に基づいて、前記被写体の移動エリアの面の情報を取得し、前記キャラクタ処理部は、前記面の情報と前記基準点の位置に基づいて、前記キャラクタの前記配置基準点を求めてもよい。
【０００９】
このようにすれば、被写体が移動する移動エリアの面の情報を用いることで、移動エリアの面の位置に対応するキャラクタの配置基準点を求めることが可能になる。
【００１０】
また本発明の一態様では、前記キャラクタ処理部は、前記基準点の位置から下ろした垂線が前記面に交わる点を、前記配置基準点として求めてもよい。
【００１１】
このようにすれば、基準点の位置と面の情報を用いることで、基準点の位置の下方であって、移動エリアの面の位置に対応するキャラクタの配置基準点を求めることが可能になる。
【００１２】
また本発明の一態様では、前記キャラクタ処理部は、前記キャラクタの前記基準点の位置として腰の位置を取得し、前記腰の位置に基づいて、前記キャラクタの前記配置基準点を求めてもよい。
【００１３】
このようにすれば、センサにより非検出となる可能性が低い腰の位置を、基準点の位置として、キャラクタの配置基準点を設定できるようになる。
【００１４】
また本発明の一態様では、前記画像生成部は、前記センサからの前記被写体の距離が変化した場合にも、前記配置基準点が表示部の画面下部の位置になるように前記キャラクタが表示される画像を生成してもよい。
【００１５】
このようにすれば、センサからの被写体の距離が変化した場合に、キャラクタの表示位置が不自然に変化してしまうのを抑制でき、キャラクタの適切な表示位置の設定が可能になる。
【００１６】
また本発明の一態様では、前記キャラクタは、複数のオブジェクトで構成され、オブジェクト空間内に配置されるモデルオブジェクトであり、前記キャラクタ処理部は、前記センサからの前記被写体の距離が長くなるにつれて、前記オブジェクト空間内での前記モデルオブジェクトの位置を下降させる処理を行ってもよい。
【００１７】
このようにすれば、センサからの被写体の距離が長くなった場合にも、例えばキャラクタが表示画面において上昇してしまうような事態の発生を抑制できる。
【００１８】
また本発明の一態様では、前記キャラクタ処理部は、前記センサからの前記センサ情報に基づいて、前記センサからの前記被写体の距離を求めてもよい。
【００１９】
このようにすれば、センサ情報を用いて、センサからの被写体の距離を求め、センサからの被写体の距離に応じたキャラクタの表示制御を実現できるようになる。
【００２０】
また本発明の一態様では、前記被写体情報取得部は、前記被写体情報として、前記被写体のスケルトン情報を取得し、前記キャラクタ処理部は、前記スケルトン情報に基づいて前記キャラクタを動作させると共に、前記スケルトン情報から前記キャラクタの前記基準点の位置を求めて、前記配置基準点を求めてもよい。
【００２１】
このようにすれば、プレーヤの動きに応じてキャラクタを動作させるためのスケルトン情報を有効利用して、キャラクタの基準点の位置を求め、配置基準点を求めることが可能になる。
【００２２】
また本発明の一態様では、前記画像生成部は、背景画像を構成するオブジェクト又は第２のキャラクタの位置、形状、サイズ及び動きの少なくとも１つと、前記配置基準点とに基づいて設定される位置に、前記キャラクタが配置されて表示される画像を生成してもよい。
【００２３】
このようにすれば、背景画像を構成するオブジェクトや第２のキャラクタの位置、形状、サイズ又は動きを反映させて、配置基準点を設定し、配置基準点に対応する位置にキャラクタを表示できるようになる。
【００２４】
また本発明の一態様では、前記キャラクタ処理部は、過去の前記配置基準点の位置を用いて、現在の前記配置基準点の位置を決定してもよい。
【００２５】
このようにすれば、被写体情報に基づき配置基準点を設定した場合に、配置基準点が微少に変動することでキャラクタの表示位置が微少に変動してしまうような事態を抑制できる。
【００２６】
また本発明の一態様では、前記画像生成部は、前記被写体の撮像画像に含まれる前記被写体の所定部位の部位画像と、前記キャラクタの画像の合成処理を行って、合成画像を生成してもよい。
【００２７】
このようにすれば、被写体の所定部位の部位画像を反映させたキャラクタの画像を生成して表示できるようになる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態の画像生成システムの構成例。
【図２】本実施形態の画像生成システムの業務用ゲーム装置への適用例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態の画像生成システムの家庭用ゲーム装置、パーソナルコンピュータへの適用例。
【図４】図４（Ａ）、図４（Ｂ）は深度情報、ボディーインデックス情報の例。
【図５】スケルトン情報の説明図。
【図６】キャラクタの画像とプレーヤの顔画像の画像合成手法の説明図。
【図７】図７（Ａ）はプレーヤの撮像画像の例、図７（Ｂ）はキャラクタと顔画像の合成画像の例。
【図８】本実施形態により生成されるゲーム画像の例。
【図９】プレーヤの動きに応じてキャラクタを動作させる手法の説明図。
【図１０】スケルトン情報を用いてキャラクタを動作させる手法の説明図。
【図１１】モデルオブジェクトのレンダリング処理の説明図。
【図１２】図１２（Ａ）、図１２（Ｂ）はプレーヤの位置に応じてキャラクタの表示位置が変化してしまう問題の説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）もプレーヤの位置に応じてキャラクタの表示位置が変化してしまう問題の説明図。
【図１４】図１４（Ａ）、図１４（Ｂ）は本実施形態の手法の説明図。
【図１５】本実施形態の手法の説明図。
【図１６】図１６（Ａ）、図１６（Ｂ）はセンサからのプレーヤの距離に応じてオブジェクト空間でのモデルオブジェクトの位置を変更する手法の説明図。
【図１７】図１７（Ａ）、図１７（Ｂ）は足の位置を用いる比較例の手法の問題点の説明図。
【図１８】図１８（Ａ）〜図１８（Ｃ）は背景のオブジェクトの位置、形状又はサイズと配置基準点を用いたキャラクタの配置手法の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）は背景のオブジェクトの動きと配置基準点を用いたキャラクタの配置手法の説明図。
【図２０】他のキャラクタの位置と配置基準点を用いたキャラクタの配置手法の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）は他のキャラクタの位置、形状又はサイズと配置基準点を用いたキャラクタの配置手法の説明図。
【図２２】過去の配置基準点の位置を用いて配置基準点の位置を決定する手法の説明図。
【図２３】本実施形態の詳細な処理例を示すフローチャート。
【発明を実施するための形態】
【００２９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３０】
１．画像生成システム
図１に本実施形態の画像生成システム（画像生成装置、ゲームシステム、ゲーム装置）の構成例を示す。画像生成システムは、処理部１００、操作部１６０、センサ１６２、記憶部１７０、表示部１９０、音出力部１９２、Ｉ／Ｆ部１９４、通信部１９６、印刷部１９８を含む。なお本実施形態の画像生成システムの構成は図１に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３１】
処理部１００は、操作部１６０からの操作情報や、センサ１６２からのセンサ情報や、プログラムなどに基づいて、入力処理、演算処理、出力処理などの各種の処理を行う。
【００３２】
処理部１００の各部が行う本実施形態の各処理（各機能）はプロセッサ（ハードウェアを含むプロセッサ）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリーにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。プロセッサは、例えばＣＰＵ（Central Processing Unit）であってもよい。但し、プロセッサはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Processing Unit）等、各種のプロセッサを用いることが可能である。またプロセッサはＡＳＩＣによるハードウェア回路であってもよい。メモリー（記憶部１７０）は、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリーであってもよいし、レジスターであってもよい。或いはハードディスク装置（ＨＤＤ）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部１００の各部の処理（機能）が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【００３３】
処理部１００は、入力処理部１０２、演算処理部１１０、出力処理部１４０を含む。入力処理部１０２は、各種の情報の入力処理を行う。例えば入力処理部１０２は、操作部１６０により入力されたプレーヤの操作情報を受け付ける処理を、入力処理として行う。例えば操作部１６０で検出された操作情報を取得する処理を行う。また入力処理部１０２は、センサ１６２からのセンサ情報を取得する処理を、入力処理として行う。また入力処理部１０２は、記憶部１７０から情報を読み出す処理を、入力処理として行う。例えば読み出しコマンドで指定された情報を、記憶部１７０から読み出す処理を行う。また入力処理部１０２は、通信部１９６を介して情報を受信する処理を、入力処理として行う。例えば画像生成システムの外部装置（他の画像生成システム、サーバシステム等）からネットワークを介して情報を受信する処理を行う。受信処理は、通信部１９６に情報の受信を指示したり、通信部１９６が受信した情報を取得して記憶部１７０に書き込む処理などである。
【００３４】
演算処理部１１０は、各種の演算処理を行う。例えば演算処理部１１０は、ゲーム処理、オブジェクト空間設定処理、キャラクタ処理、ゲーム成績演算処理、仮想カメラ制御処理、画像生成処理、或いは音生成処理などの演算処理を行う。この演算処理部１１０は、ゲーム処理部１１１、オブジェクト空間設定部１１２、キャラクタ処理部１１３、被写体情報取得部１１４、ゲーム成績演算部１１８、仮想カメラ制御部１１９、画像生成部１２０、音生成部１３０、印刷処理部１３２を含む。
【００３５】
ゲーム処理は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などである。このゲーム処理はゲーム処理部１１１（ゲーム処理のプログラムモジュール）により実行される。
【００３６】
オブジェクト空間設定処理は、オブジェクト空間に複数のオブジェクトを配置設定する処理である。このオブジェクト空間設定処理はオブジェクト空間設定部１１２（オブジェクト空間設定処理のプログラムモジュール）により実行される。例えばオブジェクト空間設定部１１２は、ゲームに登場するキャラクタ（人、ロボット、動物、怪物、飛行機、船舶、戦闘機、戦車、戦艦、車等）、マップ（地形）、建物、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）を、オブジェクト空間に配置設定する。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１１２は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００３７】
キャラクタ処理（移動体演算処理）は、キャラクタ（移動体）について行われる各種の演算処理である。例えばキャラクタ処理は、キャラクタ（ゲームに登場する表示物）をオブジェクト空間（仮想３次元空間、３次元ゲーム空間）で移動させるための処理や、キャラクタを動作させるための処理である。このキャラクタ処理はキャラクタ処理部１１３（キャラクタ処理のプログラムモジュール）により実行される。例えばキャラクタ処理部１１３は、操作部１６０によりプレーヤが入力した操作情報や、センサ１６２からのセンサ情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、キャラクタ（モデルオブジェクト）をオブジェクト空間内で移動させたり、キャラクタを動作（モーション、アニメーション）させる制御処理を行う。具体的には、キャラクタの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、キャラクタの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３８】
ゲーム成績演算処理は、プレーヤのゲームでの成績を演算する処理である。例えばゲーム成績演算処理は、プレーヤがゲームで獲得するポイントや得点を演算する処理や、ゲーム内通貨、メダル又はチケットなどのゲーム成果を演算する処理である。このゲーム成績演算処理はゲーム成績演算部１１８（ゲーム成績演算処理のプログラムモジュール）により実行される。
【００３９】
仮想カメラ制御処理は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）を制御する処理である。この仮想カメラ制御処理は仮想カメラ制御部１１９（仮想カメラ制御処理のプログラムモジュール）により実行される。具体的には仮想カメラ制御部１１９は、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００４０】
画像生成処理は、表示部１９０に表示される画像（ゲーム画像）や、印刷部１９８により印刷される画像を生成するための処理であり、各種の画像合成処理や画像エフェクト処理などを含むことができる。音生成処理は、音出力部１９２により出力されるＢＧＭ、効果音又は音声等の音（ゲーム音）を生成するための処理であり、各種の音合成処理やサウンドエフェクト処理などを含むことができる。これらの画像生成処理、音生成処理は、画像生成部１２０、音生成部１３０（画像生成処理、音生成処理のプログラムモジュール）により実行される。
【００４１】
例えば画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像が生成される。なお、画像生成部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現してもよい。
【００４２】
出力処理部１４０は、各種の情報の出力処理を行う。例えば出力処理部１４０は、記憶部１７０に情報を書き込む処理を、出力処理として行う。例えば、書き込みコマンドで指定された情報を、記憶部１７０に書き込む処理を行う。また出力処理部１４０は、生成された画像の情報を表示部１９０に出力したり、生成された音の情報を音出力部１９２に出力する処理を、出力処理として行う。また出力処理部１４０は、通信部１９６を介して情報を送信する処理を、出力処理として行う。例えば画像生成システムの外部装置（他の画像生成システム、サーバシステム等）に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部１９６に情報の送信を指示したり、送信する情報を通信部１９６に指示する処理などである。また出力処理部１４０は、印刷媒体に印刷される画像を印刷部１９８に転送する処理を、出力処理として行う。
【００４３】
操作部１６０（操作デバイス）は、プレーヤ（ユーザ）が操作情報を入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００４４】
センサ１６２は、被写体情報を取得するためのセンサ情報を検出する。センサ１６２は例えばカラーセンサ１６４（カラーカメラ）、デプスセンサ１６６（デプスカメラ）を含むことができる。
【００４５】
記憶部１７０（メモリー）は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭやＳＳＤやＨＤＤなどにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０は、オブジェクト情報記憶部１７２、描画バッファ１７８を含む。
【００４６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。この情報記憶媒体１８０に、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶できる。
【００４７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、或いはＨＭＤなどにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４８】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリーカード）、ＵＳＢメモリー、或いは磁気カードなどにより実現できる。
【００４９】
通信部１９６は、ネットワークを介して外部装置（他の画像生成システム、サーバシステム等）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５０】
印刷部１９８は、例えばプリント用紙やシール紙などの印刷媒体に画像を印刷する。この印刷部１９８は、例えば印刷用ヘッド、印刷媒体の送り機構などにより実現できる。具体的には、処理部１００の印刷処理部１３２（印刷処理のプログラムモジュール）が、印刷対象画像を選択するための処理を行い、選択された印刷対象画像の印刷を、印刷部１９８に指示する。これにより、印刷対象画像が印刷された印刷物が、後述する図２の払い出し口１５２から払い出されるようになる。印刷対象画像は、例えばゲーム中のプレーヤのキャラクタの様子を撮影した画像や、プレーヤのキャラクタと他のキャラクタとで一緒に撮る記念写真の画像などである。
【００５１】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバシステム（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバシステムによる情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５２】
図２、図３（Ａ）、図３（Ｂ）は本実施形態の画像生成システムが適用されるハードウェア装置の例を示す図である。
【００５３】
図２は本実施形態の画像生成システムが適用された業務用ゲーム装置の例である。この業務用ゲーム装置は、操作ボタン、方向指示ボタンにより実現される操作部１６０や、カラーセンサ１６４、デプスセンサ１６６を有するセンサ１６２や、ＬＣＤ、ＣＲＴなどにより実現される表示部１９０や、スピーカにより実現される音出力部１９２や、コイン投入口１５０や、写真などの印刷物の払い出し口１５２を備えている。プレーヤＰＬは、表示部１９０に表示されるゲーム画像を見ながら、ゲームをプレイするための各種の動作を行う。プレーヤＰＬの動き（手足のなどの部位の動きや位置の移動）は、センサ１６２により検出される。そして検出結果に応じたゲーム処理が行われ、ゲーム処理に基づくゲーム画像が表示部１９０に表示される。
【００５４】
本実施形態の画像生成システムが適用されるハードウェア装置は、図２のような業務用ゲーム装置には限定されず、例えば図３（Ａ）に示す家庭用ゲーム装置や、図３（Ｂ）に示すパーソナルコンピュータ（情報処理装置）などの種々のハードウェア装置に適用可能である。図３（Ａ）では、カラーセンサ１６４やデプスセンサ１６６を有するセンサ１６２（センサ装置）を家庭用ゲーム装置の本体装置に接続し、当該センサ１６２を、例えば表示部であるテレビの近くに配置する。そしてセンサ１６２によりプレーヤの動作を検出することで、家庭用ゲーム装置の本体装置が、種々のゲーム処理を実行し、テレビの画面にゲーム画像を表示する。図３（Ｂ）では、センサ１６２をパーソナルコンピュータの本体装置に接続し、センサ１６２によりプレーヤの動作を検出し、ゲーム処理の結果に基づくゲーム画像を、表示部である液晶ディスプレイに表示する。
【００５５】
そして本実施形態の画像生成システム（画像生成装置、ゲーム装置、ゲームシステム）は、図１に示すように、キャラクタ処理部１１３と被写体情報取得部１１４と画像生成部１２０を含む。被写体情報取得部１１４は、センサ１６２からのセンサ情報に基づいて、被写体の被写体情報を取得する。例えば被写体のスケルトン情報（広義には動き情報）を取得する。このスケルトン情報（被写体情報）に基づいて、被写体の動きが特定される。被写体は例えば図２に示すプレーヤＰＬである。被写体は人間以外の動物などであってもよい。キャラクタ処理部１１３は、被写体に対応するキャラクタを動作させる処理を行う。例えば被写体情報であるスケルトン情報に基づいてキャラクタを動作させる処理を行い、画像生成部１２０が当該キャラクタの画像を生成する。例えばスケルトン情報に基づくモーション再生によりキャラクタを動作させる。
【００５６】
そしてキャラクタ処理部１１３は、被写体情報からキャラクタの基準点の位置を求める。例えば被写体情報であるスケルトン情報から基準点の位置を求める。そして基準点の位置に基づいて、キャラクタの配置基準点を求める。画像生成部１２０は、配置基準点に応じた位置にキャラクタが配置されて表示される画像を生成する。
【００５７】
基準点の位置は、キャラクタ（スケルトン）の基準となる位置であり、例えば中心に近い位置である。具体的には、基準点の位置は、例えば腰などの基準部位の位置である。スケルトン情報は、例えばこの基準点の位置の情報（座標）を、例えば関節情報として有している。配置基準点は、キャラクタの配置の際の基準となる点として用いられる位置（座標）である。キャラクタは、この配置基準点に応じた位置（配置基準点を用いて特定される位置）に配置されて、その画像が生成され、表示部１９０に表示される。
【００５８】
被写体情報取得部１１４は、センサ１６２からのセンサ情報に基づいて、被写体の移動エリアの面の情報を取得する。例えば、被写体がゲーム中に移動可能な移動エリアの面の情報を取得する。面の情報は、例えば面（平面）の方程式の情報であり、面の方程式の係数等の情報である。
【００５９】
そして、キャラクタ処理部１１３は、取得された面の情報と、キャラクタの基準点の位置に基づいて、キャラクタの配置基準点を求める。例えば基準点の位置の情報と面の方程式に基づいて、配置基準点を求める。具体的には、基準点の位置から下ろした垂線が面に交わる点を、配置基準点として求める。即ち、当該垂線と面の交点の座標を、配置基準点の座標として求める。
【００６０】
例えばキャラクタ処理部１１３は、キャラクタの基準点の位置として腰の位置を取得し、腰の位置に基づいて、キャラクタの配置基準点を求める。例えば、スケルトン情報から、キャラクタに対応するスケルトンの腰の関節の情報を、腰の位置の情報として取得する。そして、例えば腰の位置から下ろした垂線が、上述した面に交わる点を、配置基準点として求める。このようにして求められた配置基準点は、例えばキャラクタの足元の位置（立ち位置）に対応する点となる。
【００６１】
例えば画像生成部１２０は、センサ１６２からの被写体の距離が変化した場合にも、配置基準点が表示部１９０の画面下部の位置（画面の下辺から所定距離の位置）になるようにキャラクタが表示される画像を生成する。センサ１６２からの被写体の距離は、センサ１６２の位置を基準とした被写体の相対的な距離であり、これはデプスセンサ１６６により取得される深度情報（深度値）に対応するものである。当該距離が変化した場合にも、キャラクタの配置基準点が、表示部１９０の画面下部の位置に設定（固定）されるように、キャラクタが表示部１９０の画面に表示される。
【００６２】
例えばキャラクタは、複数のオブジェクトで構成され、オブジェクト空間内に配置されるモデルオブジェクトである。例えば複数の３次元のオブジェクト（パーツオブジェクト）により構成される３次元のモデルオブジェクトである。各オブジェクトは例えば複数のポリゴン（広義にはプリミティブ面）により構成される。
【００６３】
この場合にキャラクタ処理部１１３は、センサ１６２からの被写体の距離が長くなるにつれて、オブジェクト空間内でのモデルオブジェクトの位置を下降させる処理を行う。例えばオブジェクト空間での水平面を、Ｘ軸、Ｚ軸で規定されるＸＺ平面とし、高さ方向をＹ軸とした場合に、センサ１６２からの被写体の距離が長くなるにつれて（センサ１６２から被写体が離れるにつれて）、モデルオブジェクトを、オブジェクト空間のＹ軸方向で下降させる処理を行う。こうすることで、例えば、当該距離が変化した場合にも、キャラクタの配置基準点が、例えば表示部１９０の画面下部の位置になるようなキャラクタの表示が可能になる。
【００６４】
この場合に、キャラクタ処理部１１３は、センサ１６２からのセンサ情報に基づいて、センサ１６２からの被写体の距離を求める。具体的には、被写体情報取得部１１４は、センサ情報に基づいて、センサ１６２から見た被写体の深度情報を取得する。例えばデプスセンサ１６６からのセンサ情報に基づいて深度情報を取得する。そしてキャラクタ処理部１１３は、取得された深度情報に基づいて、センサ１６２からの被写体の距離を求める。例えば深度情報の深度値を、当該距離として用いる。なお、センサ１６２からの被写体の距離を求める手法は、深度情報を用いる手法には限定されない。例えばセンサ１６２として、デプスセンサ１６６とは異なる測距センサを設け、この測距センサからのセンサ情報に基づいて、センサ１６２からの被写体の距離を求めてもよい。
【００６５】
また画像生成部１２０は、背景画像を構成するオブジェクト又は第２のキャラクタの位置、形状、サイズ及び動きの少なくとも１つと、配置基準点とに基づいて設定される位置に、キャラクタが配置されて表示される画像を生成する。
【００６６】
例えば背景画像が１又は複数のオブジェクトで構成される場合に、このオブジェクトの位置、形状、サイズ又は動きと、キャラクタの配置基準点とに基づいて設定される位置に、キャラクタを配置してその画像を生成する。例えばオブジェクトの位置とキャラクタの配置基準点が所定の位置関係になるように、キャラクタを配置する。或いはオブジェクトの形状に合わせた位置に配置基準点が設定されるように、キャラクタを配置する。或いはオブジェクトのサイズ（サイズの変化）や、オブジェクトの動きに応じて、配置基準点の位置が変化するように、キャラクタを配置する。
【００６７】
また画面上に、スケルトン情報に基づき動作するキャラクタと共に、第２のキャラクタが表示される場合を想定する。この場合には、第２のキャラクタの位置、形状、サイズ又は動きと、キャラクタの配置基準点とに基づいて設定される位置に、キャラクタを配置してその画像を生成する。例えば第２のキャラクタの位置とキャラクタの配置基準点が所定の位置関係になるように、キャラクタを配置する。或いは第２のキャラクタの形状に合わせた位置に配置基準点が設定されるように、キャラクタを配置する。或いは第２のキャラクタのサイズ（サイズの変化）や、第２のキャラクタの動きに応じて、配置基準点の位置が変化するように、キャラクタを配置する。
【００６８】
またキャラクタ処理部１１３は、過去の配置基準点の位置を用いて、現在の配置基準点の位置を決定する。例えば過去の配置基準点の位置（座標）を用いたフィルター処理（平均化処理）などにより、配置基準点の位置（座標）を決定する。これにより、配置基準点の位置が細かく変動したり、突発的に急激に変動するのを抑制できる。
【００６９】
また画像生成部１２０は、被写体の撮像画像に含まれる被写体の所定部位の部位画像と、キャラクタの画像の合成処理を行って、合成画像を生成する。撮像画像は、例えばセンサ１６２が有するカラーセンサ１６４（カラーカメラ）により撮影される画像（ＲＧＢ画像等のカラー画像）である。このカラーセンサ１６４とデプスセンサ１６６は別々に設けられていてもよい。例えばカラーセンサ１６４によって撮影された撮像画像から、被写体の所定部位の部位画像（例えば顔画像）が切り出され、切り出された部位画像が、キャラクタの画像に合成された合成画像が生成される。例えばキャラクタの所定部位に対応する部分に対して、被写体の部位画像が合成される。例えば、被写体の全体が映る撮像画像から、顔の部分を切り取ることで、所定部位である顔の部位画像である顔画像が取得される。撮像画像での顔の位置は、被写体情報取得部１１４により取得されたスケルトン情報（被写体情報）に基づき特定できる。
【００７０】
なお画像生成部１２０は、オブジェクト空間において、被写体（プレーヤ等）の位置に対応する位置に配置されるモデルオブジェクトのレンダリング処理を行って、キャラクタの画像を生成する。例えば被写体情報取得部１１４により取得されたスケルトン情報（被写体情報）に基づいて、被写体の位置を特定し、オブジェクト空間内において、特定された被写体の位置に対応する位置に、キャラクタであるモデルオブジェクトが配置される。そして、当該モデルオブジェクトのレンダリング処理が行われて、仮想カメラから見えるキャラクタの画像が生成される。この場合に画像生成部１２０は、モデルオブジェクトのレンダリング処理を、照明モデルに基づいて行って、キャラクタの画像を生成する。このようにすれば、キャラクタの画像として、照明モデルの光源による陰影づけが施された画像を生成できるようになる。
【００７１】
２．本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお以下では、プレーヤの動きに応じてキャラクタを動作させるゲームに本実施形態の手法を適用した場合について説明するが、本実施形態の手法はこれに限定されず、様々なゲーム（ＲＰＧゲーム、音楽ゲーム、戦闘ゲーム、コミュニケーションゲーム、ロボットゲーム、カードゲーム、スポーツゲーム、或いはアクションゲーム等）に適用可能である。
【００７２】
２．１  ゲームの説明
まず本実施形態の画像生成システムにより実現されるゲームの例について説明する。本実施形態では図２のセンサ１６２によりプレーヤＰＬ（広義には被写体）の動きを検出し、検出された動きを反映させたゲーム処理を行って、ゲーム画像を生成している。
【００７３】
図２に示すように、センサ１６２（画像センサ）は、例えばその撮像方向（光軸方向）がプレーヤＰＬ（ユーザ、操作者）の方に向くように設置されている。例えばセンサ１６２の撮像方向は、小さな子供についてもその全体を撮像できるように、水平面に対して俯角方向に設定されている。なお図２ではセンサ１６２は表示部１９０の横に設置されているが、設置位置はこれに限定されず、任意の位置（例えば表示部１９０の下部、上部等）に設置できる。
【００７４】
センサ１６２はカラーセンサ１６４とデプスセンサ１６６を含む。カラーセンサ１６４はカラー画像（ＲＧＢ画像）を撮像するものであり、ＣＭＯＳセンサやＣＣＤなどにより実現できる。デプスセンサ１６６では、赤外線等の光を投射し、その投射光の反射強度や、投射光が戻ってくるまでの時間を検出することで、深度情報（デプス情報）が取得される。例えばデプスセンサ１６６は、赤外線を投光する赤外プロジェクタと、赤外線カメラにより構成できる。そして例えばＴＯＦ（Time Of Flight）方式により深度情報を取得する。深度情報は、その各画素位置に深度値（奥行き値）が設定され情報である。深度情報では、プレーヤやその周りの風景の深度値（奥行き値）が、例えばグレースケール値として設定される。
【００７５】
なお、センサ１６２は、カラーセンサ１６４とデプスセンサ１６６とが別々に設けられたセンサであってもよいし、カラーセンサ１６４とデプスセンサ１６６とが複合的に組み合わせられたセンサであってもよい。またデプスセンサ１６６はＴＯＦ方式以外の方式（例えばライトコーディング）のセンサであってもよい。また深度情報の取得手法としては種々の変形実施が可能であり、例えば超音波などを用いた測距センサなどにより深度情報を取得してもよい。
【００７６】
図４（Ａ）、図４（Ｂ）は、各々、センサ１６２に基づき取得される深度情報、ボディーインデックス情報の例である。図４（Ａ）は深度情報を概念的に示すものであり、この深度情報は、センサ１６２から見たプレーヤ等の被写体の距離を表す情報である。図４（Ｂ）のボディーインデックス情報は、人物領域を表す情報である。このボディーインデックス情報によりプレーヤのボディーの位置や形状を特定できる。
【００７７】
図５は、センサ１６２からのセンサ情報に基づき取得されるスケルトン情報の例である。図５ではスケルトン情報として、スケルトンを構成する骨の位置情報（３次元座標）が、関節（部位）Ｃ０〜Ｃ２０の位置情報として取得されている。Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６は、各々、腰、背骨、肩中央、右肩、左肩、首、頭に対応する。Ｃ７、Ｃ８、Ｃ９、Ｃ１０、Ｃ１１、Ｃ１２は、各々、右肘、右手首、右手、左肘、左手首、左手に対応する。Ｃ１３、Ｃ１４、Ｃ１５、Ｃ１６、Ｃ１７、Ｃ１８、Ｃ１９、Ｃ２０は、各々、右腰、左腰、右膝、右かかと、右足、左膝、左かかと、左足に相当する。スケルトンを構成する各骨は、センサ１６２に映るプレーヤの各部位に対応するものとなる。例えば被写体情報取得部１１４は、センサ１６２からのセンサ情報（カラー画像情報、深度情報）に基づいて、プレーヤの３次元形状を特定する。そして３次元形状の情報や画像の動きベクトル（オプティカルフロー）などを用いて、プレーヤの各部位を推定し、各部位の関節の位置を推定する。そして推定された関節位置に対応する、深度情報での画素位置の２次元座標と、当該画素位置に設定された深度値に基づいて、スケルトンの関節の位置の３次元座標情報を求め、図５に示すようなスケルトン情報を取得する。取得されたスケルトン情報を用いることで、プレーヤの動き（手足などの部位の動きや位置の移動）を特定できるようになる。これにより、プレーヤの動きに応じてキャラクタを動作させることが可能になる。例えば図２においてプレーヤＰＬが手足を動かした場合に、これに連動して、表示部１９０に表示されるキャラクタ（プレーヤキャラクタ）の手足を動かすことが可能になる。またプレーヤＰＬが前後左右に移動すると、これに連動して、オブジェクト空間内でキャラクタを前後左右に移動させることが可能になる。
【００７８】
また本実施形態では、センサ１６２のカラーセンサ１６４によりプレーヤＰＬを撮影することで得られた撮像画像と、キャラクタ（プレーヤキャラクタ）の画像の合成画像を生成している。具体的には撮像画像から切り出された顔画像（広義には被写体画像、部位画像）と、キャラクタの画像の合成画像を生成する。
【００７９】
例えば図６では、キャラクタＣＨＰ（衣装）のモデルオブジェクトが用意されており、ポリゴンＳＣＩ（ビルボードポリゴン、スクリーン）には、撮像画像から切り出されたプレーヤＰＬの顔画像ＩＭＦが表示されている。キャラクタＣＨＰのモデルオブジェクトは、顔（頭部）以外の複数の部位のオブジェクトで構成されており、綺麗な衣装を着たキャラクタとなっている。
【００８０】
そして図６では、仮想カメラＶＣの視点位置とキャラクタＣＨＰの顔の位置を結ぶ線の延長線上に、ポリゴンＳＣＩの顔画像ＩＭＦが表示されている。仮想カメラＶＣ、キャラクタＣＨＰ、ポリゴンＳＣＩの顔画像ＩＭＦを、このような配置関係に設定することで、キャラクタＣＨＰの顔の部分にプレーヤの顔画像ＩＭＦが合成された画像を生成できるようになる。
【００８１】
なおキャラクタＣＨＰに対する顔画像ＩＭＦの画像合成手法は、図６に示す手法には限定されない。例えばキャラクタＣＨＰの顔（所定部位）を構成するオブジェクトに対して、顔画像ＩＭＦ（被写体画像、部位画像）のテクスチャをマッピングするなどの種々の画像合成手法を採用できる。
【００８２】
例えば図７（Ａ）は、センサ１６２のカラーセンサ１６４により撮像されたプレーヤＰＬの撮像画像の例である。この撮像画像からプレーヤＰＬの顔画像ＩＭＦを切り出し（トリミングし）、図６の画像合成手法によりキャラクタＣＨＰの画像と合成することで、図７（Ｂ）に示すような合成画像を生成できる。図７（Ｂ）では、顔の部分がプレーヤＰＬの顔画像ＩＭＦとなっており、顔以外の部分がＣＧ画像であるキャラクタＣＨＰの画像になっている。これによりプレーヤＰＬは、自分の分身であるキャラクタＣＨＰに対して、童話やアニメの世界の主人公が着ているような衣装を着せて、ゲームをプレイできるため、ゲームの面白味やプレーヤの熱中度を向上できる。
【００８３】
図８は、本実施形態の画像生成システムにより生成されて、図２の表示部１９０に表示されるゲーム画像の例である。プレーヤＰＬの顔画像ＩＭＦが合成されたキャラクタＣＨＰは、例えばその手に魔法の杖ＳＴを持っている。そして図２のプレーヤＰＬが腕を動かすと、この腕の動きがセンサ１６２により検出されて、図５のスケルトン情報として、腕の骨が動いているスケルトンの情報が取得される。これにより、図８に示すゲーム画像上のキャラクタＣＨＰの腕が動くようになり、魔法の杖ＳＴで、敵キャラクタＥＮ１、ＥＮ２、ＥＮ３をヒットして攻撃できるようになる。そして敵を倒した数やボーナスポイントの獲得などによって、プレーヤのゲーム成績が演算される。
【００８４】
このように本実施形態の手法によれば、プレーヤＰＬは、童話やアニメの主人公の衣装を、自分の分身であるキャラクタＣＨＰに着せて、あたかもその主人公になったかのように感じながら、図８のようなゲームをプレイできるようになる。従って、子供などのプレーヤＰＬが熱中できる面白味のあるゲームの実現が可能になる。
【００８５】
２．２  プレーヤの動きに応じたキャラクタの動作
本実施形態では、スケルトン情報を用いることで、プレーヤの動きに応じたキャラクタの動作を実現している。例えば図９において表示部１９０に表示されるキャラクタＣＨＰは、複数のオブジェクトにより構成されるモデルオブジェクトとなっている。例えばポリゴン等のプリミティブ面で構成された３次元のＣＧオブジェクトでキャラクタＣＨＰの画像が生成される。また図９に示すように、キャラクタＣＨＰの画像として、当該モデルオブジェクトの顔の位置にプレーヤＰＬ（被写体）の顔画像ＩＭＦが表示される画像が生成される。このようなキャラクタＣＨＰと顔画像ＩＭＦの合成キャラクタ画像は、例えば図６で説明した画像合成手法により生成できる。
【００８６】
なお、図９では、キャラクタＣＨＰに顔画像ＩＭＦを合成する場合について示しているが、本実施形態はこれに限定されるものでなく、顔画像ＩＭＦの合成は必須ではない。
【００８７】
本実施形態では、図９に示すようにプレーヤＰＬ（被写体）が動いた場合に、このプレーヤＰＬの動きに連動して、表示部１９０に表示されるキャラクタＣＨＰが動作する。例えばプレーヤＰＬが右に動いた場合に、それに応じて、表示部１９０に表示されるキャラクタＣＨＰも右に動く。同様にプレーヤＰＬが左に動いた場合に、それに応じて、表示部１９０に表示されるキャラクタＣＨＰも左に動く。
【００８８】
具体的には本実施形態では、図５で説明したスケルトン情報を用いてキャラクタＣＨＰの動作を制御している。例えばスケルトン情報に基づくモーションデータにより、キャラクタＣＨＰのモーション再生を行って、キャラクタＣＨＰを動作させる。
【００８９】
図１０はスケルトンを概念的に説明する図である。キャラクタＣＨＰを動作させるスケルトンは、キャラクタＣＨＰの位置に配置設定される３次元形状の骨格であり、ＳＫは、このスケルトンをスクリーンＳＣＳに投影したものを表している。スケルトンは、図５で説明したように複数の関節で構成されており、各関節の位置は３次元座標で表される。スケルトンは、図９のプレーヤＰＬの動きに連動して、その骨が動く。そして、スケルトンの骨が動くと、これに連動して、キャラクタＣＨＰの当該骨に対応する部位も動くことになる。例えばプレーヤＰＬが腕を動かすと、これに連動して、スケルトンの腕の骨が動き、キャラクタＣＨＰの腕も動くことになる。またプレーヤＰＬが足を動かすと、これに連動して、スケルトンの足の骨が動き、キャラクタＣＨＰの足も動くことになる。またプレーヤＰＬが頭部を動かすと、これに連動して、スケルトンの頭部の骨が動き、キャラクタＣＨＰの頭部も動くことになる。なお図１０では、例えば仮想カメラＶＣの視点位置にセンサ１６２が配置され、仮想カメラＶＣの視線方向にセンサ１６２の撮像方向が向いているものとして想定されている。
【００９０】
このように本実施形態では、プレーヤＰＬの動きに連動してキャラクタＣＨＰが動作する。このため、キャラクタＣＨＰが、自身の本当の分身であるかのような感覚をプレーヤに与えることができる。
【００９１】
また本実施形態では、キャラクタＣＨＰとして、複数のオブジェクトにより構成されるモデルオブジェクトを用いる。そして、オブジェクト空間（３次元仮想空間）において、プレーヤＰＬ（被写体）の位置に対応する位置に配置される当該モデルオブジェクトのレンダリング処理を行うことで、キャラクタＣＨＰの画像を生成する。例えば図１１において、キャラクタＣＨＰは、オブジェクト空間内において、図９でのプレーヤＰＬの位置に対応する位置に配置される。例えばプレーヤＰＬが前後左右に移動すると、キャラクタＣＨＰもオブジェクト空間内において前後左右に移動することになる。
【００９２】
そして、モデルオブジェクトであるキャラクタＣＨＰのレンダリング処理は、図１１に示すように光源ＬＳを用いた照明モデルに基づいて行われる。具体的には、照明モデルに基づくライティング処理（シェーディング処理）が行われる。このライティング処理は、光源ＬＳの情報（光源ベクトル、光源色、明るさ、光源タイプ等）や、仮想カメラＶＣの視線ベクトルや、キャラクタＣＨＰを構成するオブジェクトの法線ベクトルや、オブジェクトのマテリアル（色、材質）などを用いて行われる。なお照明モデルとしては、アンビエント光とディフューズ光だけを考慮したランバードの拡散照明モデルや、アンビエント光、ディフューズ光に加えてスペキュラ光も考慮するフォンの照明モデルやブリン・フォンの照明モデルなどがある。
【００９３】
このように照明モデルに基づくライティング処理を行うことで、キャラクタＣＨＰに対して光源ＬＳによる適切な陰影づけがついたリアルで高品質な画像を生成できるようになる。例えばスポットライトの光源を用いてライティング処理を行えば、スポットライトにより照らされているように見えるキャラクタＣＨＰ（衣装）の画像を生成できるようになり、プレーヤの仮想現実感等を向上できる。
【００９４】
２．３  配置基準点の設定
以上のように本実施形態では、図９においてプレーヤＰＬが前後左右に動くと、オブジェクト空間において、キャラクタＣＨＰのモデルオブジェクトも前後左右に動き、この前後左右に動くモデルオブジェクトを照明モデルに基づいてレンダリングすることで、表示部１９０に表示されるキャラクタＣＨＰの画像が生成されている。
【００９５】
そして図１２（Ａ）では、プレーヤＰＬは、センサ１６２から近い距離に位置している。プレーヤＰＬは、面ＳＡを有する移動エリアＡＲ（プレイエリア）において自在に移動することができ、図１２（Ａ）ではセンサ１６２の方に近づいている。即ち、図９においてプレーヤＰＬは、前方向ＤＲ１側に移動しており、センサ１６２や表示部１９０に近づいている。
【００９６】
一方、図１２（Ｂ）では、プレーヤＰＬは、センサ１６２から離れる方向に移動しており、センサ１６２から遠い距離に位置している。即ち、図９においてプレーヤＰＬは、後ろ方向ＤＲ２側に移動しており、センサ１６２や表示部１９０から遠ざかっている。
【００９７】
図１３（Ａ）、図１３（Ｂ）は、図１２（Ａ）、図１２（Ｂ）のようにプレーヤＰＬが移動エリアＡＲ上で前後に移動した場合に、表示部１９０に表示されるゲーム画像の例である。例えば図１２（Ａ）のようにプレーヤＰＬがセンサ１６２の方に近づくと、図１３（Ａ）に示すようなゲーム画像が表示部１９０に表示される。このゲーム画像では、キャラクタＣＨＰや、背景画像を構成するオブジェクトＢＧ１、ＢＧ２、ＢＧ３が表示されている。
【００９８】
一方、図１２（Ｂ）のようにプレーヤＰＬがセンサ１６２から遠ざかると、図１３（Ｂ）に示すようなゲーム画像が表示部１９０に表示される。図１３（Ｂ）では、図１３（Ａ）に比べて、キャラクタＣＨＰが画面上で上方向に上昇してしまっている。また図１２（Ｂ）のように、センサ１６２（カラーセンサ１６４）からプレーヤＰＬが離れることで、図１３（Ｂ）では図１３（Ａ）に比べてキャラクタＣＨＰの表示サイズも小さくなっている。
【００９９】
即ち本実施形態では、小さな子供についてもセンサ１６２の撮像範囲（センシング範囲）に入るように、センサ１６２の撮像方向は水平面に対して俯角方向に設定されている。従って、センサ１６２から遠ざかる方向にプレーヤＰＬが移動すると、図１３（Ｂ）に示すように、表示部１９０の画面上では、プレーヤＰＬに対応するキャラクタＣＨＰが上方向に移動してしまう。
【０１００】
このように、スケルトン情報を単に用いてキャラクタＣＨＰを動作させて、表示部１９０に表示する手法では、図１２（Ａ）、図１２（Ｂ）に示すようにセンサ１６２からのプレーヤＰＬの距離が変化すると、キャラクタＣＨＰの表示位置が不自然に変化してしまう。例えば図１３（Ｂ）では、背景画像のオブジェクトＢＧ１、ＢＧ２、ＢＧ３に対して、あたかもキャラクタＣＨＰが宙に浮いているかのような画像が生成されているため、当該画像にプレーヤが不自然さを感じてしまう。特に背景画像が２次元的な絵の画像である場合には、背景のオブジェクトＢＧ１、ＢＧ２、ＢＧ３に対して相対的にキャラクタＣＨＰが上昇することで、キャラクタＣＨＰが宙に浮いているようにプレーヤが感じてしまう。
【０１０１】
このような問題を解決するために本実施形態では、スケルトン情報（広義には被写体情報）からキャラクタの基準点の位置を求め、当該基準点の位置に基づいて配置基準点を求める。そして配置基準点に応じた位置にキャラクタを表示する手法を採用している。
【０１０２】
例えば図１４（Ａ）、図１４（Ｂ）に示すように、スケルトン情報からキャラクタＣＨＰの基準点の位置Ｃ０を取得する。図１４（Ｂ）に示すように、位置Ｃ０は、スケルトン情報において、基準点である腰の位置（関節位置）に相当する。この基準点の位置Ｃ０は、キャラクタＣＨＰの手、足等の端部の部位を除いた位置であり、中心付近の部位の位置である。本実施形態では、この基準点の位置Ｃ０から、配置基準点ＲＰを求め、配置基準点ＲＰに対応する位置にキャラクタＣＨＰを配置して表示する。例えば、センサ情報に基づいてスケルトン情報を取得する場合に、腰の位置はプレーヤＰＬの中心付近の位置であるため、腰の位置がセンサ１６２により非検出となる可能性は少ない。このため、基準点の位置Ｃ０として腰の位置を用いれば、基準点の位置Ｃ０を安定的に取得して、配置基準点ＲＰを設定できるようになる。
【０１０３】
具体的には本実施形態では、センサ１６２からのセンサ情報に基づいて、図１２（Ａ）、図１２（Ｂ）に示すプレーヤＰＬの移動エリアＡＲの面ＳＡの情報を取得する。例えば点Ｐ０（ｘ０，ｙ０，ｚ０）を通り、法線ベクトルｎ＝（ａ，ｂ，ｃ）に垂直な面（平面）の方程式は、下式（１）のように表される。
【０１０４】
ａ（ｘ−ｘ０）＋ｂ（ｙ−ｙ０）＋ｃ（ｚ−ｚ０）＝０    （１）
例えば本実施形態では、移動エリアＡＲの面ＳＡの情報として、上式（１）の係数ａ、ｂ、ｃやｘ０、ｙ０、ｚ０を取得する。この面ＳＡの情報と基準点の位置Ｃ０に基づいて、キャラクタＣＨＰの配置基準点ＲＰを求める。具体的には、基準点（腰）の位置Ｃ０から下ろした垂線が面ＳＡに交わる点を、配置基準点ＲＰとして求める。
【０１０５】
即ち、基準点の位置Ｃ０の座標（３次元座標）は、図５で説明したスケルトン情報から求めることができる。従って、この位置Ｃ０の座標と、上式（１）の面の方程式を用いることで、位置Ｃ０からの垂線が面ＳＡと交わる点である配置基準点ＲＰの座標を求めることができる。この配置基準点ＲＰは、キャラクタＣＨＰの足元位置であり、立ち位置に相当するものである。
【０１０６】
このように面ＳＡの情報を用いれば、配置基準点ＲＰとして、面ＳＡに対応する位置の点を求めることが可能になる。例えば基準点の位置Ｃ０から下ろした垂線の交点を、配置基準点ＲＰとすることで、基準点の位置Ｃ０の下方であって、且つ、面ＳＡに対応する位置の点を、配置基準点ＲＰとして求めることができる。従って、配置基準点ＲＰとして、キャラクタＣＨＰの足元位置（立ち位置）に対応する点を求めることが可能になる。
【０１０７】
そして本実施形態では図１２（Ａ）、図１２（Ｂ）のようにセンサ１６２からのプレーヤＰＬ（被写体）の距離が変化した場合にも、配置基準点ＲＰが表示部１９０の画面下部の位置になるようにキャラクタＣＨＰが表示される画像を生成する。即ち図１３（Ｂ）のようにキャラクタＣＨＰが上方向には移動せずに、配置基準点ＲＰが表示部１９０の画面下部の位置に固定されるようにキャラクタＣＨＰを表示する。
【０１０８】
例えば図１２（Ｂ）のように、プレーヤＰＬが後方に移動してセンサ１６２から距離が離れたとする。この場合に、図１５のＡ１のようにキャラクタＣＨＰが上方向に移動してしまわないように、キャラクタＣＨＰを下方向ＤＡに移動する。そして、Ａ２に示すように配置基準点ＲＰが画面下部の所定位置に位置するように、キャラクタＣＨＰを配置して表示する。このようにすれば、センサ１６２からのプレーヤＰＬの距離が変化した場合にも、配置基準点ＲＰが常に画面下部の位置になるように、キャラクタＣＨＰが表示される。従って、図１３（Ｂ）のようにキャラクタＣＨＰが宙に浮かんだかのように見える不自然な画像が生成されてしまうのを防止できる。
【０１０９】
より具体的には本実施形態では、キャラクタＣＨＰは、複数のオブジェクトで構成され、オブジェクト空間内に配置されるモデルオブジェクトとなっている。この場合に、センサ１６２からのプレーヤＰＬの距離が長くなるにつれて、オブジェクト空間内でのモデルオブジェクトの位置を下降させる処理を行う。具体的には図６において、モデルオブジェクトであるキャラクタＣＨＰと、顔画像が表示されるポリゴンＳＣＩ（ビルボードポリゴン）を、オブジェクト空間において下方向に移動する。
【０１１０】
例えば図１６（Ａ）は、キャラクタＣＨＰのモデルオブジェクト情報の例である。このモデルオブジェクト情報は、オブジェクト空間内でのモデルオブジェクトの位置の情報や方向の情報を含む。またモデルオブジェクトを構成する複数のオブジェクトＯＢ１、ＯＢ２、ＯＢ３・・・の情報を含む。
【０１１１】
本実施形態では、センサ１６２からのプレーヤＰＬの距離が長くなるにつれて、図１６（Ａ）に示すようにモデルオブジェクトの位置情報を変更する。即ち図１５のＡ１において下方向ＤＡにキャラクタＣＨＰが移動するように、図１６（Ａ）のモデルオブジェクトの位置情報を変更する。このようにすれば、センサ１６２からのプレーヤＰＬの距離が変化した場合にも、配置基準点ＲＰが画面下部の所定位置になるようにキャラクタＣＨＰを表示できるようになる。
【０１１２】
例えば図１６（Ｂ）は、センサ１６２からのプレーヤＰＬの距離と、キャラクタＣＨＰであるモデルオブジェクトの位置（垂直方向であるＹ軸方向での位置）との関係を規定するテーブルデータの例である。センサ１６２とプレーヤＰＬの距離がＬ１である場合には、モデルオブジェクトの位置はＰ１であり、センサ１６２とプレーヤＰＬの距離がＬ２となって両者が離れると、モデルオブジェクトの位置はＰ１からＰ２に下降する。図１６（Ｂ）のようなテーブルデータを用いることで、センサ１６２とプレーヤＰＬの距離が変化した場合にも、画面下部に配置基準点ＲＰが位置するようにキャラクタＣＨＰを表示できるようになる。
【０１１３】
なお、センサ１６２からのプレーヤＰＬの距離については、デプスセンサ１６６を用いてプレーヤＰＬの深度情報を取得し、取得された深度情報に基づいて求めることが可能である。
【０１１４】
例えば本実施形態の比較例の手法として、キャラクタＣＨＰの足の位置を配置基準点として設定する手法も考えられる。しかしながら、図１２（Ａ）のようにプレーヤＰＬがセンサ１６２に接近した場合に、図１７（Ａ）に示すように、センサ１６２のセンシング範囲（撮像範囲）にプレーヤＰＬが収まらなくなり、センサ１６２によっては足の位置を検出できなくなってしまう。即ち、この場合には、スケルトン情報による骨格認識では、キャラクタＣＨＰの足の位置を特定できず、足の位置は不明な位置となってしまう。このため、キャラクタＣＨＰの足の位置を配置基準点として設定する比較例の手法では、キャラクタＣＨＰを適正な位置に表示できなくなってしまう。
【０１１５】
また図１７（Ｂ）に示すようにプレーヤＰＬが足を上げたり、ジャンプした場合にも、比較例の手法では、キャラクタＣＨＰを適正な位置に表示できない。即ち、この場合に比較例の手法では、センサ１６２により足の位置を検出し、その足の位置を配置基準点に設定することになる。従って、図１７（Ｂ）の場合には、上げられた足の位置が配置基準点に設定されてしまい、キャラクタＣＨＰの足元位置（立ち位置）を配置基準点に設定することができない。このため、例えば図１７（Ｂ）のように上げられた足の位置が、画面下部の位置に設定されるような表示になってしまい、キャラクタＣＨＰの適正な表示を実現できない。
【０１１６】
この点、本実施形態の手法によれば、図１７（Ａ）のようにプレーヤＰＬの足の位置を検出できなかったり、図１７（Ｂ）のようにプレーヤＰＬが足を上げたり、ジャンプした場合にも、図１４（Ａ）に示すようにキャラクタＣＨＰの足元位置（立ち位置）に配置基準点ＲＰを設定できるようになる。つまり、足の位置ではなく、基準点の位置Ｃ０を用いているため、プレーヤＰＬの足の位置を検出できなかったり、プレーヤＰＬが足を上げたり、ジャンプした場合にも、配置基準点ＲＰを適正に設定できる。従って、図１５のＡ２に示すように、キャラクタＣＨＰの適正な表示を実現できるという利点がある。
【０１１７】
２．４  変形例
次に本実施形態の種々の変形例を説明する。例えば図１５では、配置基準点ＲＰが画面下部の位置になるようにキャラクタＣＨＰを表示しているが、配置基準点ＲＰに応じた位置にキャラクタＣＨＰを表示する手法としては、種々の変形実施が可能である。
【０１１８】
例えば本実施形態では、背景画像を構成するオブジェクトの位置、形状、サイズ、及び動きの少なくとも１つと、配置基準点ＲＰとに基づいて設定される位置に、キャラクタＣＨＰを配置して表示してもよい。
【０１１９】
例えば図１８（Ａ）では、キャラクタＣＨＰがステージＳＴＧ上に配置されている。ステージＳＴＧは、背景画像を構成するオブジェクトである。この場合は、ステージＳＴＧの位置や形状と、配置基準点ＲＰとに基づき設定される位置に、キャラクタＣＨＰが配置されて表示される。例えば背景オブジェクトであるステージＳＴＧが高い場所に設けられていれば、それに合わせて配置基準点ＲＰの位置も高い場所に設定され、キャラクタＣＨＰも高い場所に配置されて表示される。またステージＳＴＧの形状に合わせた位置に、配置基準点ＲＰが設定される。例えばステージＳＴＧの形状に凸凹があれば、その凸凹の形状に合わせた位置に、配置基準点ＲＰが設定されて、キャラクタＣＨＰが表示される。
【０１２０】
また図１８（Ｂ）では、球ＢＡＬの上にキャラクタＣＨＰが立っている。この球ＢＡＬは背景画像を構成するオブジェクトである。図１８（Ｂ）では、この球ＢＡＬの位置や形状に応じた位置に、配置基準点ＲＰが設定されて、キャラクタＣＨＰが表示されている。例えば球ＢＡＬの場所に対応する位置に、配置基準点ＲＰが設定されて、キャラクタＣＨＰが表示される。また球ＢＡＬの球形状に合わせた位置に配置基準点ＲＰが設定されて、キャラクタＣＨＰが表示される。更に、図１８（Ｃ）では、球ＢＡＬのサイズが変化しており、図１８（Ｂ）に比べて大きくなっている。この場合には、球ＢＡＬのサイズに応じた位置に配置基準点ＲＰが設定される。例えば球ＢＡＬのサイズが図１８（Ｂ）、図１８（Ｃ）に示すように変化すると、これに応じて配置基準点ＲＰの位置も変化し、キャラクタＣＨＰの表示位置も変化する。
【０１２１】
また図１９（Ａ）、図１９（Ｂ）では、背景オブジェクトである球ＢＡＬが動いている。例えば球ＢＡＬが左から右に移動している。この場合には球ＢＡＬの動きに応じて、配置基準点ＲＰの位置が変化し、キャラクタＣＨＰの表示位置も変化する。即ち球ＢＡＬが左から右に移動すると、配置基準点ＲＰも左から右に移動し、配置基準点ＲＰに応じた位置に表示されるキャラクタＣＨＰも左から右に移動する。なお背景のオブジェクトとしては、例えば椅子、机、階段又は海などの種々の表示物を想定できる。例えば海の波の変化に応じて、配置基準点ＲＰの位置を変化させ、キャラクタＣＨＰが波に揺られているように見える画像を生成してもよい。
【０１２２】
また第２のキャラクタの位置、形状、サイズ及び動きの少なくとも１つと、配置基準点とに基づいて設定される位置に、キャラクタＣＨＰを配置して表示してもよい。
【０１２３】
例えば図２０では、プレーヤのキャラクタＣＨＰと、第２のキャラクタＣＨとが並んで表示されている。この場合には、第２のキャラクタＣＨの位置である配置点ＲＰＣに応じた位置に、配置基準点ＲＰが設定される。例えばキャラクタＣＨＰと第２のキャラクタＣＨが同軸上に並んで配置されるように、キャラクタＣＨＰの配置基準点ＲＰが設定される。具体的には、図２０の画面の水平方向の軸をＸ軸とした場合に、キャラクタＣＨＰの配置基準点ＲＰと第２のキャラクタＣＨの配置点ＲＰＣとが、同じＸ軸上に設定されるように、配置基準点ＲＰが設定されて、キャラクタＣＨＰが表示される。
【０１２４】
図２１（Ａ）、図２１（Ｂ）は、プレーヤのキャラクタＣＨＰと第２のキャラクタＣＨが一緒に並んで撮る記念写真の撮影モードでの画面例である。このような記念写真の撮影モードにおいて、第２のキャラクタＣＨの位置、形状、サイズ又は動きに応じた位置に配置基準点ＲＰが設定されて、キャラクタＣＨＰが表示される。
【０１２５】
例えば図２１（Ａ）では、キャラクタＣＨＰの配置基準点ＲＰと、第２のキャラクタＣＨの位置である配置点ＲＰＣが同軸上に並ぶように、配置基準点ＲＰが設定される。また図２１（Ｂ）では、図２１（Ａ）に比べて、第２のキャラクタＣＨの形状やサイズが変化している。この場合には、この第２のキャラクタＣＨの形状やサイズの変化に応じた位置に、キャラクタＣＨＰの配置基準点ＲＰを設定してもよい。例えば第２のキャラクタＣＨの形状に応じた位置に配置基準点ＲＰを設定する。或いは、第２のキャラクタＣＨのサイズが変化した場合に、それに応じて配置基準点ＲＰの位置を変化させる。或いは、第２のキャラクタＣＨが動いた場合に、それに応じてキャラクタＣＨＰの配置基準点ＲＰの位置を変化させる。例えば図２１（Ｂ）において第２のキャラクタＣＨが右に動いた場合には、それに応じて配置基準点ＲＰも右に動かして、キャラクタＣＨＰを右に動かす。第２のキャラクタＣＨが左に動いた場合には、それに応じて配置基準点ＲＰも左に動かして、キャラクタＣＨＰを左に動かす。
【０１２６】
また本実施形態では、過去の前記配置基準点の位置（座標）を用いて、配置基準点の位置（座標）を決定してもよい。
【０１２７】
例えば図２２において、ＲＰn-k・・・ＲＰn-3、ＲＰn-2、ＲＰn-1は、過去の配置基準点である。これらの過去の配置基準点ＲＰn-k・・・ＲＰn-3、ＲＰn-2、ＲＰn-1の位置（座標情報）は、例えば図１の記憶部１７０に記憶されて保存される。この場合に、現在の配置基準点ＲＰｎの位置を、過去のＲＰn-k〜ＲＰn-1の基準点の位置に基づいて決定する。例えばＲＰn-k〜ＲＰn-1の基準点の位置の平均を、現在の配置基準点ＲＰｎの位置とする。即ち過去の位置変化情報に基づいてを配置基準点を求める。このようにすれば、急な位置変化や一時的な位置変化はすぐには反映されずに吸収されるようになる。従って、配置基準点の位置が微少に変動して、キャラクタの表示位置も微少に変動してしまうような事態を防止できる。
【０１２８】
例えば本実施形態では図１４（Ａ）、図１４（Ｂ）で説明したように、センサ情報に基づき取得されたスケルトン情報から、キャラクタＣＨＰの基準点の位置Ｃ０を取得して、配置基準点ＲＰを求めている。しかしながら、スケルトン情報はセンサ１６２からのセンサ情報に基づき取得されるものであるため、図１４（Ａ）、図１４（Ｂ）の基準点の位置Ｃ０が微少に変動し、配置基準点ＲＰの位置も微少に変動してしまう。このような場合にも、図２２に示すように、過去の配置基準点ＲＰn-k〜ＲＰn-1の位置に基づいて現在の配置基準点ＲＰｎの位置を求めれば、スケルトン情報の基準点の位置Ｃ０が変動しても、配置基準点ＲＰｎの位置の変動を最小限に抑えることが可能になる。
【０１２９】
また本実施形態では、スケルトン情報からキャラクタの基準点の位置を求める場合について説明したが、本実施形態はこれに限定されず、基準点の位置は、センサ情報に基づく被写体情報から求められるものであればよい。被写体情報としては、スケルトン情報以外にも、例えば被写体の体格情報やシルエット情報などを想定できる。
【０１３０】
例えばセンサ１６２からのセンサ情報により、プレーヤ（被写体）の身長などの体格情報を、被写体情報として求める。そして、体格情報である身長に基づいて、予め定められた基準点の位置を設定してもよい。例えば身長が高いプレーヤであれば、基準点の位置を高い位置に設定し、身長が低いプレーヤであれば、基準点の位置を低い位置に設定する。
【０１３１】
或いはセンサ１６２からのセンサ情報により、プレーヤのシルエットの情報を、被写体情報として求める。そして、プレーヤのシルエットの類型分類などに基づいて、基準点の位置を設定してもよい。例えばプレーヤのシルエットの情報から、プレーヤの性別、年齢、体型などについてのシルエットの類型分類を行って、基準点を設定する。このように被写体情報に基づく基準点の設定手法としては、種々の変形実施が可能である。
【０１３２】
また本実施形態では、センサ１６２として、デプスセンサ１６６や測距センサなどの距離センサを設けて、プレーヤまでの距離を求める場合について説明したが、本実施形態はこれに限定されない。例えば、センサ１６２として、位置センサを設け、位置センサによりプレーヤの位置を検出し、検出された位置に基づいて、プレーヤまでの距離（例えば表示部からの距離）を求めてもよい。そして距離が変化した場合にも、配置基準点が画面下部の位置になるようにキャラクタが表示される画像を生成する。例えば位置センサとして、プレーヤの足元の位置を検出する感圧式センサを、図１２（Ａ）、図１２（Ｂ）の移動エリアＡＲに設ける。そして感圧式センサにより検出されたプレーヤの位置に基づいて、プレーヤまでの距離を求める。或いは、プレーヤの位置センサとして、プレーヤの上方に撮像センサを設ける。そして撮像センサの撮像画像に基づいてプレーヤの位置を検出し、検出された位置に基づいて、プレーヤまでの距離を求める。
【０１３３】
３．詳細な処理
次に本実施形態の詳細な処理例について図２３のフローチャートを用いて説明する。
【０１３４】
まず、図５で説明したようなプレーヤのスケルトン情報を取得する（ステップＳ１）。またセンサ１６２からのプレーヤＰＬの距離情報（深度情報）や、移動エリアＡＲの面ＳＡの情報を取得する（ステップＳ２、Ｓ３）。
【０１３５】
次に図１４（Ａ）、図１４（Ｂ）で説明したように、キャラクタＣＨＰ（スケルトン）の腰の位置Ｃ０から下ろした垂線が面ＳＡと交わる点を、配置基準点ＲＰ（足元位置）として求める（ステップＳ４）。即ち、腰の位置Ｃ０の３次元座標情報と、面ＳＡの方程式に基づいて配置基準点ＲＰを求める。
【０１３６】
次に図１５〜図１６（Ｂ）で説明したように、センサ１６２からのプレーヤＰＬの距離が長くなるにつれて、オブジェクト空間内でのキャラクタＣＨＰの配置基準点ＲＰの位置を下降させて、キャラクタＣＨＰの画像を生成する（ステップＳ５、Ｓ６）。このようにすれば、センサ１６２からのプレーヤＰＬの距離が変化しても、図１５のＡ２に示すように、画面下部に配置基準点ＲＰが位置するようにキャラクタＣＨＰを表示できるようになる。
【０１３７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（被写体、所定部位、部位画像等）と共に記載された用語（プレーヤ、顔、顔画像等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、スケルトン情報の取得処理、キャラクタの動作処理、配置基準点の演算処理、キャラクタの配置・表示処理等も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【符号の説明】
【０１３８】
ＰＬ  プレーヤ（被写体）、ＣＨＰ  キャラクタ、ＩＭＦ  顔画像（部位画像）、
Ｃ０  基準点の位置、ＲＰ  配置基準点、ＡＲ  移動エリア、ＳＡ  面、
１００  処理部、１０２  入力処理部、１１０  演算処理部、１１１  ゲーム処理部、
１１２  オブジェクト空間設定部、１１３  キャラクタ処理部、
１１４  被写体情報取得部、１１８  ゲーム成績演算部、
１１９  仮想カメラ制御部、１２０  画像生成部、１３０  音生成部、
１３２  印刷処理部、１４０  出力処理部、１５０  払い出し口、１５２  コイン投入口、
１６０  操作部、１６２  センサ、１６４  カラーセンサ、１６６  デプスセンサ、
１７０  記憶部、１７２  オブジェクト情報記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９４  Ｉ／Ｆ部、
１９５  携帯型情報記憶媒体、１９６  通信部、１９８  印刷部
【図１】
0006732463.tif 000002
【図２】
0006732463.tif 000003
【図３】
0006732463.tif 000004
【図４】
0006732463.tif 000005
【図５】
0006732463.tif 000006
【図６】
0006732463.tif 000007
【図７】
0006732463.tif 000008
【図８】
0006732463.tif 000009
【図９】
0006732463.tif 000010
【図１０】
0006732463.tif 000011
【図１１】
0006732463.tif 000012
【図１２】
0006732463.tif 000013
【図１３】
0006732463.tif 000014
【図１４】
0006732463.tif 000015
【図１５】
0006732463.tif 000016
【図１６】
0006732463.tif 000017
【図１７】
0006732463.tif 000018
【図１８】
0006732463.tif 000019
【図１９】
0006732463.tif 000020
【図２０】
0006732463.tif 000021
【図２１】
0006732463.tif 000022
【図２２】
0006732463.tif 000023
【図２３】
0006732463.tif 000024