(57)【特許請求の範囲】
【請求項１】
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法であって、
前記表示装置を制御する制御装置が、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する３本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行することを特徴とするオブジェクトの変形操作方法。
【請求項２】
請求項１に記載のオブジェクトの変形操作方法において、
予めオブジェクトを複数のパーツに分割しておき、
それぞれのパーツについて、多面体を設定することを特徴とするオブジェクトの変形操作方法。
【請求項３】
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法を、前記表示装置を制御する制御装置に実行させるオブジェクトの変形操作プログラムであって、
前記制御装置に、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する３本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行させることを特徴とする三次元オブジェクトの変形操作プログラム。
【請求項４】
表示装置上に表示されたオブジェクトを変形操作する情報処理装置であって、
前記オブジェクト内の任意の点を中心とする多面体を設定する多面体設定手段と、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割する空間分割手段と、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別する空間判別手段と、
前記オブジェクトの頂点を含む空間を構成する３本のベクトルによって、前記オブジェクトの頂点の分解係数を保存する分解係数保存手段と、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示する変形表示手段とを備えていることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
従来、ゲームプログラム等では、オブジェクトであるキャラクターをリアルに表示できることが望まれている。
キャラクターをリアルに表現する手法として、スケルトンアニメーションの技術を用いることが考えられる（例えば特許文献１参照）。スケルトンアニメーションは、各部が骨により構成されるスケルトンモデルのボーンにスキンと呼ばれる表面を付けることで表現される。
そして、スキンの表面の動きの表現にスキニングと呼ばれる技術を用いることにより、一層リアルな表現が可能となる。
スキニングは、スケルトンを構成するボーンの動きに追従させてスキンを変形させる方法である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−６３５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記特許文献１に記載のスキニングでは、ボーンのそれぞれに直交座標系が設定され、複数のボーンに近いオブジェクトの頂点は、複数のボーンの直交座標系の重みつき加算で表現される。このため、重みをオブジェクト毎に定義する必要があり、演算処理が複雑化するという問題がある。
また、ボーンを物理モデル化するには、座標系の位置、方向だけでなく、隣接するボーンの座標系間のジョイントの弾力性なども定義しなければならないが、仮に定義したとしても結合が少ないので、ジョイントの拘束力が少なく安定しにくいという問題がある。
【０００５】
本発明の目的は、演算処理負担を軽減することができ、物理モデル化しても安定してオブジェクトを変形表示させることができるオブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１態様に係るオブジェクトの変形操作方法は、
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法であって、
前記表示装置を制御する制御装置が、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する３本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行することを特徴とする。
【０００７】
第１態様に係るオブジェクトの操作方法によれば、オブジェクト内の任意の点を中心とする多面体を設定し、多面体の中心から頂点に至るベクトルによって、多面体内の空間を分割し、オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別し、オブジェクトの頂点を含む空間を構成する３本のベクトルによってオブジェクトの頂点の分解係数を保存し、多面体に作用した変形操作に応じてオブジェクトを変形させて表示している。従って、ボーンによるスキニングと比較して複数のボーンの直交座標系の重み付き加算を行う必要がなく、制御装置による演算処理負担を軽減することができる。
また、このような変形操作によれば、座標系間のジョイントを考慮する必要がないので、安定してオブジェクトを変形表示することができる。
【０００８】
本発明の第２態様に係るオブジェクトの変形操作方法は、第１態様に係るオブジェクトの変形操作方法において、
予めオブジェクトを複数のパーツに分割しておき、
それぞれのパーツについて、多面体を設定することを特徴とする。
第２態様によれば、パーツ毎に多面体を設定し、それぞれの多面体について変形操作を行うことができるので、複雑な形状のオブジェクトであっても、変形操作に応じてオブジェクトを変形表示することができ、さらに、演算処理の負荷も軽くすることができる。
【０００９】
本発明の第３態様に係るオブジェクトの変形操作プログラムは、
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法を、前記表示装置を制御する制御装置に実行させるオブジェクトの変形操作プログラムであって、
前記制御装置に、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する３本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行させることを特徴とする。
第３態様によっても前述した第１態様と同様の作用及び効果を享受するこことができる。
【００１０】
本発明の第４態様に係る情報処理装置は、
表示装置上に表示されたオブジェクトを変形操作する情報処理装置であって、
前記オブジェクト内の任意の点を中心とする多面体を設定する多面体設定手段と、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割する空間分割手段と、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別する空間判別手段と、
前記オブジェクトの頂点を含む空間を構成する３本のベクトルによって、前記オブジェクトの頂点の分解係数を保存する分解係数保存手段と、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示する変形表示手段とを備えていることを特徴とする。
第３態様によっても前述した第１態様と同様の作用及び効果を享受するこことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る携帯端末の一例を示す平面図。
【図２】前記実施形態における携帯端末の構成を示すブロック図。
【図３】前記実施形態における制御部の構成を示すブロック図。
【図４】前記実施形態における携帯端末の表示部に動画像を表示し、オブジェクト画像を表示させた画面の模式図。
【図５】前記実施形態における携帯端末の表示部に動画像を表示し、オブジェクト画像を表示させた画面の模式図。
【図６】前記実施形態におけるオプティカルフローを表示させた画面の模式図。
【図７】前記実施形態におけるオプティカルフローから動きベクトルの検出を説明するための模式図。
【図８】前記実施形態におけるオブジェクト画像を変形させた状態を表す模式図。
【図９】前記実施形態におけるオブジェクト画像に設定された多面体を表す模式図。
【図１０】前記実施形態におけるオブジェクト画像の任意の頂点を多面体内の空間で表す模式図。
【図１１】前記実施形態における多面体を変形させた際のオブジェクト画像の任意の頂点の位置関係を説明するための模式図。
【図１２】前記実施形態におけるオブジェクト画像をパーツ毎に分割し、それぞれのパーツ毎に多面体を設定した状態を表す模式図。
【図１３】前記実施形態における作用を説明するためのフローチャート。
【図１４】本発明の第２実施形態に係るオブジェクト画像の変形、移動を説明するための模式図。
【図１５】本発明の第３実施形態に係るオブジェクト画像の変形、移動を説明するための模式図。
【図１６】前記実施形態の変形となるオブジェクト画像の模式図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について説明する。
[第１実施形態]
図１には、本発明の実施形態に係る携帯端末３の一例を示す平面図である。
携帯端末３は、撮像部３５で撮像された動画像上にオブジェクトを合成表示する。このような携帯端末３は、スマートフォン（多機能携帯電話機）、タブレット端末及び携帯型ゲーム機等により構成できる。
本実施形態では、携帯端末３は、図１に示すように、筐体３１、表示部３２、操作部３３、音声出力部３４、撮像部３５、記憶部３６及び制御部３７（図２参照）を有し、ゲームプログラムを実行可能な端末装置により構成されている。
【００１３】
筐体３１は、携帯端末３の外装を構成するものであり、左右の手により把持可能な程度の大きさの略長円形状に形成されている。この筐体３１は、正面部３１Ａ、背面部３１Ｂ（図１では図示省略）、上面部３１Ｃ、底面部３１Ｄ及び左右の側面部３１Ｅ，３１Ｆを有する。
表示部３２は、本発明の表示装置に相当し、正面部３１Ａにおける略中央に配設されている。この表示部３２は、矩形状に形成された表示パネルにより構成されており、後述する制御部３７の表示制御部３７１（図３参照）による制御の下、当該表示制御部３７１により形成される画像を表示する。このような表示パネルとして、有機ＥＬ（Electro-Luminescence）や液晶等の表示パネルを例示できる。
【００１４】
操作部３３は、正面部３１Ａにおける表示部３２の周囲、及び、当該筐体３１の上面部３１Ｃに配設された各種ボタン及びスティックを有し、使用者の入力操作に応じた操作信号を制御部３７に出力する。
具体的に、操作部３３は、表示部３２に対して左側にそれぞれ位置し、正面部３１Ａに対向して見た場合の上下左右の各方向に入力可能な方向ボタン３３１と、当該各方向に傾倒可能な操作スティック３３２と、底面部３１Ｄ側に位置する操作ボタン３３３と、を有する。また、操作部３３は、表示部３２に対して右側に位置する４つの操作ボタン３３４と、操作スティック３３２と同様の構成を有する操作スティック３３５と、底面部３１Ｄ側に位置する操作ボタン３３６，３３７と、を有する。更に、操作部３３は、上面部３１Ｃの左右両側にそれぞれ位置する操作ボタン３３８Ｌ，３３８Ｒを有する。
【００１５】
音声出力部３４は、正面部３１Ａにおける左右両端近傍にそれぞれ配設されたスピーカー３４Ｌ，３４Ｒを有する。この音声出力部３４は、後述する制御部３７の音声出力制御部３７３（図３参照）から入力される音声信号に応じた音声を、スピーカー３４Ｌ，３４Ｒにより出力する。
撮像部３５は、本発明の撮像装置に相当し、正面部３１Ａにおける右側上部に配設された第１撮像部としてのカメラ３５１を有する。この撮像部３５は、当該カメラ３５１による撮像画像を制御部３７に出力する。
【００１６】
図２は、携帯端末３の構成を示すブロック図である。
上記表示部３２、操作部３３、音声出力部３４、撮像部３５、記憶部３６及び制御部３７は、図２に示すように、それぞれ互いにバスラインＢＬにより接続されている。
これらのうち、記憶部３６は、携帯端末３の動作に必要なプログラム及びデータを記憶している。例えば、記憶部３６は、携帯端末３の動作を制御するＯＳ（Operating System）、ゲーム等のアプリケーションプログラム、及び、画像表示プログラムを記憶している。このような記憶部３６は、フラッシュメモリー等の不揮発性メモリーやＨＤＤ（Hard Disk Drive）により構成できる。
【００１７】
図３（Ａ）、図３（Ｂ）は、制御部３７の構成を示すブロック図である。
制御部３７は、ＣＰＵ（Central Processing Unit）等を有し、携帯端末３の動作を制御する。具体的に、制御部３７は、当該ＣＰＵが記憶部３６に記憶されたプログラムを読み出して処理することで、使用者の入力操作（操作部３３から入力される操作信号）に応じて、或いは、自律的に携帯端末３を制御する制御装置である。
この他、制御部３７は、ＣＰＵが上記画像表示プログラムを実行することで、撮像部３５で撮像された動画像を表示部３２に表示させる。このため、制御部３７は、図３に示すように、表示制御部３７１、撮像制御部３７２、音声出力制御部３７３、オプティカルフロー生成部３７４、動きベクトル検出部３７５、オブジェクト操作部３７６、操作領域選択部３７７、及びマスキング部３７８を備える。
【００１８】
表示制御部３７１は、携帯端末３の動作状態を示す画像や、撮像部３５で撮像された画像を描画メモリー（図示略）に描画し、当該画像に応じた画像信号を表示部３２に出力することで、当該画像を表示部３２に表示させる。
具体的に、図４に示すように、撮像部３５で撮像された動画像が表示部３２上に表示され、この動画像上にオブジェクト画像ＯＢが合成表示される。
撮像制御部３７２は、撮像部３５の動作を制御する。具体的に、撮像制御部３７２は、撮像部３５に所定周期（フレームレート）で撮像させる。そして、撮像制御部３７２は、撮像部３５から入力される撮像画像である動画像を取得し、記憶部３６に記憶させる。
音声出力制御部３７３は、音声出力部３４を制御して、所定の音声を出力させる。
【００１９】
オプティカルフロー生成部３７４は、動画像を構成する少なくとも２以上のフレーム画像Ｇ１、Ｇ２からオプティカルフローを生成する。
今、図４に示されるフレーム画像Ｇ１から図５に示されるフレーム画像Ｇ２に遷移したとすると、動画像中の顔の画像ＣＨ１は右方向にスライドし、手指部分の画像ＣＨ２は、回動動作を行ったと仮定する。
オプティカルフロー生成部３７４は、この２つのフレーム画像Ｇ１、Ｇ２の輝度点の移動から、図６に示されるようなオプティカルフローＧ３を生成する。オプティカルフローＧ３は、勾配法、ブロックマッチング法等の公知の方法を用いて求めることができる。
勾配法は、物体上の点の明るさは、移動後も変化しないという仮定から、時空間微分とオプティカルフローとの関係式を導出し、これを利用して対象の動きを推定する方法である。
一方、ブロックマッチング法は、画像を一定の大きさの小領域に分割し、それぞれのブロックの動きベクトルを求める。各ブロックが前のフレームのどこに対応するかを探索し、対応するブロックとの位置の差を動きベクトルとする方法である。
これらの方法用いて、オプティカルフローＧ３は、２つのフレーム画像Ｇ１、Ｇ２からフレームレート等を用いて画像ＣＨ１、ＣＨ２の移動方向、移動速度を算出し、動きベクトルを生成する。
【００２０】
動きベクトル検出部３７５は、オプティカルフロー生成部３７４で生成されたオプティカルフローＧ３のうち、オブジェクト画像ＯＢが表示された位置における動きベクトルを検出する。図４から図５への変化においては、オブジェクト画像ＯＢの回りに手指部分の画像ＣＨ２が表示され、手指部分が左方向に回動しており、これを動きベクトルＶ１として検出する。
【００２１】
オブジェクト操作部３７６は、動きベクトル検出部３７５で検出されたオブジェクト画像ＯＢ回りの動きベクトルＶ１に基づいて、オブジェクト画像ＯＢの移動、変形を行う部分であり、オブジェクト移動操作部３７６Ａ及びオブジェクト変形操作部３７６Ｂを備える。
オブジェクト移動操作部３７６Ａは、検出された動きベクトルＶ１の方向、大きさに応じて、オブジェクト画像ＯＢの移動方向、移動量を算出し、表示部３２上の適当な位置にオブジェクト画像ＯＢを合成表示させる。
具体的には、図７（Ａ）に示されるように、オブジェクト画像ＯＢ回りでオプティカルフローＯＦが検出されたときに、動きベクトル検出部３７５は、オブジェクト画像ＯＢに設定された多面体ＰＯＬの頂点近傍のオプティカルフローＯＦから、多面体ＰＯＬの動きベクトルＶ１を検出する。オプティカルフローＯＦは、表示部３２の各ピクセル毎に離散的に求められるが、求めたい頂点のオプティカルフローについて、回りのピクセル座標のオプティカルフローから内挿によって求めている。
オブジェクト移動操作部３７６Ａは、動きベクトル検出部３７５Ａで検出された動きベクトルＶ１に基づいて、図７（Ｂ）に示されるように、多面体ＰＯＬを変形させた後、多面体ＰＯＬを元々の頂点間の拘束条件などによって形を保つようにして、図７（Ｃ）に示されるように、多面体ＰＯＬを回転させ、この多面体ＰＯＬの回転移動に応じて、オブジェクト画像ＯＢを移動させる。
【００２２】
オブジェクト変形操作部３７６Ｂは、動きベクトル検出部３７５で検出されたオブジェクト画像ＯＢ回りの動きベクトルＶ１の方向、大きさに応じてオブジェクト画像ＯＢの変形方向、変形量を算出し、オブジェクト画像ＯＢを変形させて表示部３２上に合成表示させる。このオブジェクト変形操作部３７６Ｂは、図３（Ｂ）に示されるように、多面体設定部３７６Ｃ、空間分割部３７６Ｄ、空間判別部３７６Ｅ、分解係数保存部３７６Ｆ、及び変形表示部３７６Ｇを備える。
具体的には、図８に示されるように、オブジェクト画像ＯＢに手指部分の画像ＣＨ２が上下方向の動きをした際、動きベクトルＶ１によってオブジェクト画像ＯＢを上下に変形させた状態で表示部３２上に表示させる。
【００２３】
オブジェクト画像ＯＢの変形は、図９に示されるように、多面体設定部３７６Ｃが、オブジェクト画像ＯＢ内の任意の位置に中心点Ｐ０を設定し、中心点Ｐ０を中心とする多面体ＰＯＬを設定する。
本実施形態では、多面体ＰＯＬは、１２個の頂点Ｐ１〜Ｐ１２を有する凸多面体として設定されているが、空間を一意に領域分割することができるのであれば、これに限らず、オブジェクト画像ＯＢの形状等に応じて任意に設定することができる。
多面体ＰＯＬは、オブジェクト画像ＯＢの形状と無関係であってもよく、オブジェクト画像ＯＢの頂点ＰＯＢを使って多面体ＰＯＬを設定してもよい。好ましくは、多面体ＰＯＬは、オブジェクト画像ＯＢの手足等の動かしたい部分を頂点とし、オブジェクト画像ＯＢの全体を覆い、かつなるべく小さくなるように設定する。
空間分割部３７６Ｄは、多面体ＰＯＬ内の空間を、中心点Ｐ０から多面体ＰＯＬの頂点Ｐ１〜Ｐ１２に至るベクトルによって、複数に分割する。
【００２４】
次に、空間判別部３７６Ｅは、オブジェクト画像ＯＢの任意の頂点ＰＯＢを、中心点Ｐ０と、多面体ＰＯＬの頂点Ｐ１と、頂点Ｐ４と、頂点Ｐ５とで構成される空間に含まれていることを判別する。
分解係数保存部３７６Ｆは、図１０に示されるように、任意の頂点ＰＯＢの位置ｘを、中心点Ｐ０から頂点Ｐ１に向かうベクトルａと、中心点Ｐ０から頂点Ｐ４に向かうベクトルｂと、中心点Ｐ０から頂点Ｐ５に向かうベクトルｃと、それぞれの分解係数ｐ、ｑ、ｒによって記憶保存する。
すなわち、オブジェクト画像ＯＢの任意の頂点ＰＯＢの位置ｘは、下記式（１）によって表現される。
ｘ＝ｐａ＋ｑｂ＋ｒｃ…（１）
【００２５】
変形表示部３７６Ｇは、例えば、多面体ＰＯＬを変形させる動きベクトルＶ１を検出したら、図１１に示されるように、多面体ＰＯＬ内の空間を検出された動きベクトルＶ１に応じて、図１０の頂点Ｐ１、頂点Ｐ４、頂点Ｐ５を、頂点Ｐ１’、頂点Ｐ４’、頂点Ｐ５’に変形させる。
これに伴って変形表示部３７６Ｇは、記憶保存しておいた式（１）を動きベクトルＶ１に応じて、下記式（２）に示されるように、オブジェクト画像ＯＢの任意の頂点ＰＯＢの位置ｘ’記憶保存し、表示部３２上に変形させたオブジェクト画像ＯＢを表示する。
ｘ’＝ｐａ’＋ｑｂ’＋ｑｃ’…（２）
【００２６】
また、オブジェクト変形操作部３７６Ｂは、図１２に示されるように、オブジェクト画像ＯＢに対して、１つの多面体ＰＯＬを設定するだけでなく、オブジェクト画像ＯＢを複数のパーツ、例えば、頭、手足等のパーツに分割しておき、それぞれのパーツについて、部品多面体ＰＡ１〜ＰＡ５を設定し、各パーツの任意の頂点の位置を、各部品多面体ＰＡ１〜ＰＡ５に前記式（１）の形で記憶保存することもできる。
この場合、オブジェクト画像ＯＢの変形は、次の方法で実現される。
まず、下位となる部品多面体ＰＡ１〜ＰＡ５をオブジェクトと見立て、上位の多面体ＰＯＬの変形により、部品多面体ＰＡ１〜ＰＡ５を変形、移動させる。次に、オブジェクト画像ＯＢは、それぞれのパーツが属する下位の部品多面体ＰＡ１〜ＰＡ５の変形に応じて変形、移動する。オブジェクト画像ＯＢの変形は、上位の多面体ＰＯＬを設定せずに、下位の部品多面体ＰＡ１〜ＰＡ５を直接変形させることもできる。
例えば、オブジェクト画像ＯＢの手の部分を変形させたい場合、当該手の部分に設定された部品多面体ＰＡ３のみを変形させればよい。
一方、変形操作がオブジェクト画像ＯＢの全体に影響する場合、例えば、オブジェクト画像ＯＢが海の渦流などに巻き込まれる表示画像上で操作する場合は、上位の多面体ＰＯＬの変形、移動操作として行えばよい。
さらに、上位の多面体ＰＯＬと、部品多面体ＰＡ１〜ＰＡ６とを組み合わせた複雑な動作も可能である。すなわち、オブジェクト画像ＯＢが川等の流れの中で岩などにぶつかる表示画像を想定すれば、上位の多面体ＰＯＬで川の流れ中の変形移動操作を行い、岩にぶつかる際の変形操作を部品多面体ＰＡ１〜ＰＡ６で行うことができる。このような階層構造をとることにより、全体の流れによる変形と部分の変形のつじつまを合わせることができる。
【００２７】
オブジェクト画像ＯＢの各パーツがどの部品多面体ＰＡ１〜ＰＡ５に属するかは、それぞれのベクトルの分解係数によって判別することができる。オブジェクト画像ＯＢの各パーツは、部品多面体ＰＡ１〜ＰＡ５が互いに重複しないように選択する。
また、オブジェクト画像ＯＢの頂点Ｐ１３のように、頂点Ｐ１３が部品多面体ＰＡ３に含まれるときは、式（１）における分解係数ｐ、ｑ、ｒは、０〜１の範囲で設定される。一方、オブジェクト画像ＯＢの頂点Ｐ１４のように、頂点Ｐ１４が部品多面体ＰＡ３にも部品多面体ＰＡ４の外部にある場合、式（１）における分解係数ｐ、ｑ、ｒの二乗和を部品多面体ＰＡ３、ＰＡ４のそれぞれについて求め、比較して小さい方の部品多面体に属するとして、オブジェクト画像ＯＢの頂点Ｐ１４の変形を行えばよい。
【００２８】
操作領域選択部３７７は、操作すべきオブジェクト画像ＯＢが存在する領域を操作領域ＡＲとして選択する。
また、操作領域ＡＲの選択は、顔認識等の公知の画像認識技術を用い、図６における顔の画像ＣＨ１の領域内のオプティカルフローを除外し、手指部分の画像ＣＨ２の部分のみのオプティカルフローを生成することにより、選択することもできる。
さらに、顔の画像ＣＨ１のオプティカルフローの間隔は広く検出され、手指部分の画像ＣＨ２は狭く生成されるので、これを利用して、操作領域ＡＲの選択を行ってもよい。
【００２９】
マスキング部３７８は、操作領域ＡＲにマスキングして操作を行い易くする手段であり、例えば、操作領域ＡＲ以外の動画像を非表示にしたり、操作領域ＡＲの画像を動画像そのままでなく、コントラストを強調した２値画像としたり、輪郭画像のみを表示させたり、アイコンのようなオブジェクト画像に置き換えることにより、操作領域の視認性を向上させる。
【００３０】
次に、本実施形態の作用について、図１３に示すフローチャートに基づいて説明する。
まず、表示制御部３７１は、撮像部３５で撮像された動画像と、記憶部３６から読み出したオブジェクト画像ＯＢを表示部３２上に合成表示する（ステップＳ１）。
オプティカルフロー生成部３７４は、動画像を構成するフレーム画像Ｇ１、Ｇ２に基づいて、オプティカルフローＧ３を生成する（ステップＳ２）。
【００３１】
動きベクトル検出部３７５は、操作領域ＡＲ中のオプティカルフローＧ３を監視し（ステップＳ３）、操作領域ＡＲ中の動きベクトルに変化があった場合、動きベクトルＶ１の方向、大きさを検出する（ステップＳ４）。
オブジェクト操作部３７６は、検出された動きベクトルＶ１に基づいて、オブジェクト画像ＯＢの移動方向、移動量を算出し、表示部３２上の適当な位置にオブジェクト画像ＯＢを合成表示させる（ステップＳ５）。
尚、ステップＳ１〜ステップＳ５に至る一連のオブジェクトの操作方法は、コンピュータ読み取り可能なプログラムとして記憶部３６に記憶され、撮像部３５で撮像された動画像を表示部３２で表示する際、制御部３７に読み出されて実行される。
【００３２】
このような本実施形態によれば、以下に示す効果がある。
オプティカルフロー生成部３７４により動画像のオプティカルフローＧ３を生成し、動きベクトル検出部３７５によりオブジェクト画像ＯＢの表示位置における動きベクトルＶ１を検出しているので、オブジェクト操作部３７６によりオブジェクト画像ＯＢの移動操作を行うに際して、検出された動きベクトルＶ１に応じてオブジェクト画像ＯＢの移動操作を滑らかに行うことができる。
【００３３】
操作領域選択部３７７により操作領域ＡＲとして選択しているので、検出領域以外の動きベクトルでオブジェクト画像ＯＢの操作が邪魔されることを防止することができる
マスキング部３７８を備えていることにより、操作領域ＡＲをマスキング処理しているので、動画像の観察者が見やすい状態でオブジェクト画像ＯＢを操作することができる。
【００３４】
オブジェクト変形操作部３７６Ｂが、オブジェクト画像ＯＢ内の任意の中心点Ｐ０を中心とする多面体ＰＯＬを設定し、多面体ＰＯＬの中心点Ｐ０から頂点Ｐ１〜Ｐ１２に向かうベクトルによって、多面体ＰＯＬ内の空間を分割し、オブジェクト画像ＯＢの頂点ＰＯＢが、分割された空間のうち、どの空間に含まれるかを判別し、オブジェクトの頂点を含む空間を構成する３本のベクトルによってオブジェクトの頂点の位置ｘの分解係数ｐ、ｑ、ｒを保存し、多面体ＰＯＬに作用した変形操作に応じてオブジェクト画像ＯＢを変形させて表示している。従って、ボーンによるスキニングと比較して複数のボーンの直交座標系の重み付き加算を行う必要がなく、制御部３７による演算処理負担を軽減することができる。
また、オブジェクト変形操作部３７６Ｂが、オブジェクト画像ＯＢのパーツ毎に部品多面体ＰＡ１〜ＰＡ５を設定し、それぞれの部品多面体ＰＡ１〜ＰＡ５について変形操作を行うことができるので、複雑な形状のオブジェクト画像ＯＢであっても、変形操作に応じてオブジェクト画像ＯＢを変形表示することができ、演算処理の負荷も軽くすることができる。
【００３５】
[第２実施形態]
次に、本発明の第２実施形態について説明する。尚、以下の説明では、既に説明した部分と同一の部分については、同一符号を付して説明を省略する。
前述した第１実施形態では、撮像部３５のカメラ３５１で撮像した動画像からオプティカルフローＧ３を生成し、生成したオプティカルフローＧ３に基づいて、動きベクトルＶ１を検出し、この動きベクトルＶ１に基づいて、オブジェクト画像ＯＢの変形操作を行っていた。
これに対して、本実施形態では、アニメーション作成ツール等で多面体ＰＯＬの頂点列の変形アニメーションを作成し、これにオブジェクト画像ＯＢを追従させている点が相違する。
【００３６】
すなわち、図１４（Ａ）に示されるように、まず、オブジェクト画像ＯＢに対して、第１実施形態と同様に多面体ＰＯＬを、キーフレーム画像として設定する。
次に、このキーフレーム画像を変形操作する場合、例えば、図１４（Ｂ）に示されるキーフレーム画像、及び図１４（Ｄ）に示されるキーフレーム画像が設定されていた場合、その中間の図１４（Ｃ）に示される画像は、動きを生じさせたい頂点の座標の差分画像で補間して生成され、図１４（Ａ）〜（Ｄ）のような多面体ＰＯＬの変形操作を記憶保存する。
画像の表示に際しては、このアニメーションにオブジェクト画像ＯＢを追従させることにより、図１４（Ｅ）〜（Ｇ）のようなオブジェクト画像ＯＢの変形画像を表示させることができる。
このような方法によっても、前述した第１実施形態と同様の作用及び効果を奏することができる。
【００３７】
[第３実施形態]
次に、本発明の第３実施形態について説明する。前述の第２実施形態では、アニメーション作成ツールを用いて、多面体ＰＯＬの変形を行っていた。
これに対して、本実施形態では、図１５に示されるように、物理演算エンジンソフトウェアの物理シミュレーションを利用して、多面体ＰＯＬの変形、移動をさせている点が相違する。
すなわち、図１５（Ａ）に示されるように、第２実施形態と同様に、オブジェクト画像ＯＢに対して、多面体ＰＯＬを設定する。
【００３８】
次に、多面体ＰＯＬを、図１５（Ｂ）に示されるように、物理演算エンジンソフトウェア上で自然法則に則った衝突、移動に応じた変形させた状態を記憶保存する。
ここで、物理シミュレーションの対象は、多面体ＰＯＬ自体について、頂点間の関係性を物理シミュレートしてもよいが、複数の頂点から構成される剛体について物理シミュレートを行い、シミュレート結果としての剛体を構成する頂点から多面体ＰＯＬを特定することもできる。
物理演算エンジンソフトウェア上でオブジェクト画像ＯＢを変形、移動操作する場合、描画するオブジェクト画像ＯＢの頂点数よりも多面体ＰＯＬの頂点が少ないので、描画に要する負荷を減らすことができ、既存の物理演算エンジンソフトウェアのデータ構造に合わせやすく、柔軟な適用が可能となるという利点を有する。
画像の表示に際しては、図１５（Ｃ）に示されるように、この多面体ＰＯＬの物理シミュレーション変形、移動に追従させることにより、オブジェクト画像ＯＢの変形、移動画像を表示させることができる。
【００３９】
[実施形態の変形]
本発明は、前述した実施形態に限定されるものではなく、以下に示すような変形をも含むものである。
前述した実施形態では、オブジェクト操作部３７６は、キャラクター的なオブジェクト画像ＯＢを操作するものであったが、これに限らず、例えば、図１４に示されるようなスライドスイッチ画像ＯＢ２を表示部３２のどこかに固定して表示しておき、手指部分の画像ＣＨ２でスライドさせる操作を行ってもよい。
本発明の実施形態は、本発明の目的を達成できる範囲で他の構成を採用することができる。
【符号の説明】
【００４０】
３…携帯端末、３１…筐体、３１Ａ…正面部、３１Ｃ…上面部、３１Ｅ…側面部、３２…表示部、３３…操作部、３３１…方向ボタン、３３２…操作スティック、３３３…操作ボタン、３３４…操作ボタン、３３５…操作スティック、３３６…操作ボタン、３３８Ｌ…操作ボタン、３４…音声出力部、３４Ｌ…スピーカー、３５…撮像部、３５１…カメラ、３６…記憶部、３７…制御部、３７１…表示制御部、３７２…撮像制御部、３７３…音声出力制御部、３７４…オプティカルフロー生成部、３７５…ベクトル検出部、３７６…オブジェクト操作部、３７６Ａ…オブジェクト移動操作部、３７６Ｂ…オブジェクト変形操作部、３７６Ｃ…多面体設定部、３７６Ｄ…空間分割部、３７６Ｅ…空間判別部、３７６Ｆ…分解係数保存部、３７６Ｇ…変形表示部、３７７…操作領域選択部、３７８…マスキング部、ＡＲ…操作領域、ＢＬ…バスライン、ＣＨ１、ＣＨ２…画像、Ｇ１、Ｇ２…フレーム画像、Ｇ３…オプティカルフロー、ＯＢ…オブジェクト画像、ＯＢ２…スライドスイッチ画像
【図１】
0006030594.tif 000002
【図２】
0006030594.tif 000003
【図３】
0006030594.tif 000004
【図４】
0006030594.tif 000005
【図５】
0006030594.tif 000006
【図６】
0006030594.tif 000007
【図７】
0006030594.tif 000008
【図９】
0006030594.tif 000009
【図１０】
0006030594.tif 000010
【図１１】
0006030594.tif 000011
【図１２】
0006030594.tif 000012
【図１３】
0006030594.tif 000013
【図１４】
0006030594.tif 000014
【図１５】
0006030594.tif 000015
【図１６】
0006030594.tif 000016
【図８】
0006030594.tif 000017