特許第6030594号(P6030594)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特許6030594オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置
<>
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000002
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000003
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000004
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000005
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000006
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000007
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000008
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000009
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000010
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000011
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000012
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000013
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000014
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000015
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000016
  • 特許6030594-オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6030594
(24)【登録日】2016年10月28日
(45)【発行日】2016年11月24日
(54)【発明の名称】オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置
(51)【国際特許分類】
   G06T 19/00 20110101AFI20161114BHJP
【FI】
   G06T19/00 A
   G06T19/00 600
【請求項の数】4
【全頁数】16
(21)【出願番号】特願2014-68752(P2014-68752)
(22)【出願日】2014年3月28日
(65)【公開番号】特開2015-191479(P2015-191479A)
(43)【公開日】2015年11月2日
【審査請求日】2016年2月18日
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】110000637
【氏名又は名称】特許業務法人樹之下知的財産事務所
(72)【発明者】
【氏名】岡 正昭
【審査官】 真木 健彦
(56)【参考文献】
【文献】 特開2001−006003(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法であって、
前記表示装置を制御する制御装置が、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する3本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行することを特徴とするオブジェクトの変形操作方法。
【請求項2】
請求項1に記載のオブジェクトの変形操作方法において、
予めオブジェクトを複数のパーツに分割しておき、
それぞれのパーツについて、多面体を設定することを特徴とするオブジェクトの変形操作方法。
【請求項3】
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法を、前記表示装置を制御する制御装置に実行させるオブジェクトの変形操作プログラムであって、
前記制御装置に、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する3本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行させることを特徴とする三次元オブジェクトの変形操作プログラム。
【請求項4】
表示装置上に表示されたオブジェクトを変形操作する情報処理装置であって、
前記オブジェクト内の任意の点を中心とする多面体を設定する多面体設定手段と、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割する空間分割手段と、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別する空間判別手段と、
前記オブジェクトの頂点を含む空間を構成する3本のベクトルによって、前記オブジェクトの頂点の分解係数を保存する分解係数保存手段と、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示する変形表示手段とを備えていることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置に関する。
【背景技術】
【0002】
従来、ゲームプログラム等では、オブジェクトであるキャラクターをリアルに表示できることが望まれている。
キャラクターをリアルに表現する手法として、スケルトンアニメーションの技術を用いることが考えられる(例えば特許文献1参照)。スケルトンアニメーションは、各部が骨により構成されるスケルトンモデルのボーンにスキンと呼ばれる表面を付けることで表現される。
そして、スキンの表面の動きの表現にスキニングと呼ばれる技術を用いることにより、一層リアルな表現が可能となる。
スキニングは、スケルトンを構成するボーンの動きに追従させてスキンを変形させる方法である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−63595号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前記特許文献1に記載のスキニングでは、ボーンのそれぞれに直交座標系が設定され、複数のボーンに近いオブジェクトの頂点は、複数のボーンの直交座標系の重みつき加算で表現される。このため、重みをオブジェクト毎に定義する必要があり、演算処理が複雑化するという問題がある。
また、ボーンを物理モデル化するには、座標系の位置、方向だけでなく、隣接するボーンの座標系間のジョイントの弾力性なども定義しなければならないが、仮に定義したとしても結合が少ないので、ジョイントの拘束力が少なく安定しにくいという問題がある。
【0005】
本発明の目的は、演算処理負担を軽減することができ、物理モデル化しても安定してオブジェクトを変形表示させることができるオブジェクトの変形操作方法、オブジェクトの変形操作プログラム、及び情報処理装置を提供することにある。
【課題を解決するための手段】
【0006】
本発明の第1態様に係るオブジェクトの変形操作方法は、
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法であって、
前記表示装置を制御する制御装置が、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する3本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行することを特徴とする。
【0007】
第1態様に係るオブジェクトの操作方法によれば、オブジェクト内の任意の点を中心とする多面体を設定し、多面体の中心から頂点に至るベクトルによって、多面体内の空間を分割し、オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別し、オブジェクトの頂点を含む空間を構成する3本のベクトルによってオブジェクトの頂点の分解係数を保存し、多面体に作用した変形操作に応じてオブジェクトを変形させて表示している。従って、ボーンによるスキニングと比較して複数のボーンの直交座標系の重み付き加算を行う必要がなく、制御装置による演算処理負担を軽減することができる。
また、このような変形操作によれば、座標系間のジョイントを考慮する必要がないので、安定してオブジェクトを変形表示することができる。
【0008】
本発明の第2態様に係るオブジェクトの変形操作方法は、第1態様に係るオブジェクトの変形操作方法において、
予めオブジェクトを複数のパーツに分割しておき、
それぞれのパーツについて、多面体を設定することを特徴とする。
第2態様によれば、パーツ毎に多面体を設定し、それぞれの多面体について変形操作を行うことができるので、複雑な形状のオブジェクトであっても、変形操作に応じてオブジェクトを変形表示することができ、さらに、演算処理の負荷も軽くすることができる。
【0009】
本発明の第3態様に係るオブジェクトの変形操作プログラムは、
表示装置上に表示されたオブジェクトを変形操作するオブジェクトの変形操作方法を、前記表示装置を制御する制御装置に実行させるオブジェクトの変形操作プログラムであって、
前記制御装置に、
前記オブジェクト内の任意の点を中心とする多面体を設定するステップと、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割するステップと、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別するステップと、
前記オブジェクトの頂点を含む空間を構成する3本のベクトルによって、前記オブジェクトの頂点の分解係数を保存するステップと、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示するステップとを実行させることを特徴とする。
第3態様によっても前述した第1態様と同様の作用及び効果を享受するこことができる。
【0010】
本発明の第4態様に係る情報処理装置は、
表示装置上に表示されたオブジェクトを変形操作する情報処理装置であって、
前記オブジェクト内の任意の点を中心とする多面体を設定する多面体設定手段と、
前記多面体の中心から前記多面体の頂点に向かうベクトルによって、前記多面体内の空間を分割する空間分割手段と、
前記オブジェクトの頂点が、分割された空間のうち、どの空間に含まれるかを判別する空間判別手段と、
前記オブジェクトの頂点を含む空間を構成する3本のベクトルによって、前記オブジェクトの頂点の分解係数を保存する分解係数保存手段と、
前記多面体に作用した変形操作に応じて、前記オブジェクトを変形させて表示する変形表示手段とを備えていることを特徴とする。
第3態様によっても前述した第1態様と同様の作用及び効果を享受するこことができる。
【図面の簡単な説明】
【0011】
図1】本発明の第1実施形態に係る携帯端末の一例を示す平面図。
図2】前記実施形態における携帯端末の構成を示すブロック図。
図3】前記実施形態における制御部の構成を示すブロック図。
図4】前記実施形態における携帯端末の表示部に動画像を表示し、オブジェクト画像を表示させた画面の模式図。
図5】前記実施形態における携帯端末の表示部に動画像を表示し、オブジェクト画像を表示させた画面の模式図。
図6】前記実施形態におけるオプティカルフローを表示させた画面の模式図。
図7】前記実施形態におけるオプティカルフローから動きベクトルの検出を説明するための模式図。
図8】前記実施形態におけるオブジェクト画像を変形させた状態を表す模式図。
図9】前記実施形態におけるオブジェクト画像に設定された多面体を表す模式図。
図10】前記実施形態におけるオブジェクト画像の任意の頂点を多面体内の空間で表す模式図。
図11】前記実施形態における多面体を変形させた際のオブジェクト画像の任意の頂点の位置関係を説明するための模式図。
図12】前記実施形態におけるオブジェクト画像をパーツ毎に分割し、それぞれのパーツ毎に多面体を設定した状態を表す模式図。
図13】前記実施形態における作用を説明するためのフローチャート。
図14】本発明の第2実施形態に係るオブジェクト画像の変形、移動を説明するための模式図。
図15】本発明の第3実施形態に係るオブジェクト画像の変形、移動を説明するための模式図。
図16】前記実施形態の変形となるオブジェクト画像の模式図。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について説明する。
[第1実施形態]
図1には、本発明の実施形態に係る携帯端末3の一例を示す平面図である。
携帯端末3は、撮像部35で撮像された動画像上にオブジェクトを合成表示する。このような携帯端末3は、スマートフォン(多機能携帯電話機)、タブレット端末及び携帯型ゲーム機等により構成できる。
本実施形態では、携帯端末3は、図1に示すように、筐体31、表示部32、操作部33、音声出力部34、撮像部35、記憶部36及び制御部37(図2参照)を有し、ゲームプログラムを実行可能な端末装置により構成されている。
【0013】
筐体31は、携帯端末3の外装を構成するものであり、左右の手により把持可能な程度の大きさの略長円形状に形成されている。この筐体31は、正面部31A、背面部31B(図1では図示省略)、上面部31C、底面部31D及び左右の側面部31E,31Fを有する。
表示部32は、本発明の表示装置に相当し、正面部31Aにおける略中央に配設されている。この表示部32は、矩形状に形成された表示パネルにより構成されており、後述する制御部37の表示制御部371(図3参照)による制御の下、当該表示制御部371により形成される画像を表示する。このような表示パネルとして、有機EL(Electro-Luminescence)や液晶等の表示パネルを例示できる。
【0014】
操作部33は、正面部31Aにおける表示部32の周囲、及び、当該筐体31の上面部31Cに配設された各種ボタン及びスティックを有し、使用者の入力操作に応じた操作信号を制御部37に出力する。
具体的に、操作部33は、表示部32に対して左側にそれぞれ位置し、正面部31Aに対向して見た場合の上下左右の各方向に入力可能な方向ボタン331と、当該各方向に傾倒可能な操作スティック332と、底面部31D側に位置する操作ボタン333と、を有する。また、操作部33は、表示部32に対して右側に位置する4つの操作ボタン334と、操作スティック332と同様の構成を有する操作スティック335と、底面部31D側に位置する操作ボタン336,337と、を有する。更に、操作部33は、上面部31Cの左右両側にそれぞれ位置する操作ボタン338L,338Rを有する。
【0015】
音声出力部34は、正面部31Aにおける左右両端近傍にそれぞれ配設されたスピーカー34L,34Rを有する。この音声出力部34は、後述する制御部37の音声出力制御部373(図3参照)から入力される音声信号に応じた音声を、スピーカー34L,34Rにより出力する。
撮像部35は、本発明の撮像装置に相当し、正面部31Aにおける右側上部に配設された第1撮像部としてのカメラ351を有する。この撮像部35は、当該カメラ351による撮像画像を制御部37に出力する。
【0016】
図2は、携帯端末3の構成を示すブロック図である。
上記表示部32、操作部33、音声出力部34、撮像部35、記憶部36及び制御部37は、図2に示すように、それぞれ互いにバスラインBLにより接続されている。
これらのうち、記憶部36は、携帯端末3の動作に必要なプログラム及びデータを記憶している。例えば、記憶部36は、携帯端末3の動作を制御するOS(Operating System)、ゲーム等のアプリケーションプログラム、及び、画像表示プログラムを記憶している。このような記憶部36は、フラッシュメモリー等の不揮発性メモリーやHDD(Hard Disk Drive)により構成できる。
【0017】
図3(A)、図3(B)は、制御部37の構成を示すブロック図である。
制御部37は、CPU(Central Processing Unit)等を有し、携帯端末3の動作を制御する。具体的に、制御部37は、当該CPUが記憶部36に記憶されたプログラムを読み出して処理することで、使用者の入力操作(操作部33から入力される操作信号)に応じて、或いは、自律的に携帯端末3を制御する制御装置である。
この他、制御部37は、CPUが上記画像表示プログラムを実行することで、撮像部35で撮像された動画像を表示部32に表示させる。このため、制御部37は、図3に示すように、表示制御部371、撮像制御部372、音声出力制御部373、オプティカルフロー生成部374、動きベクトル検出部375、オブジェクト操作部376、操作領域選択部377、及びマスキング部378を備える。
【0018】
表示制御部371は、携帯端末3の動作状態を示す画像や、撮像部35で撮像された画像を描画メモリー(図示略)に描画し、当該画像に応じた画像信号を表示部32に出力することで、当該画像を表示部32に表示させる。
具体的に、図4に示すように、撮像部35で撮像された動画像が表示部32上に表示され、この動画像上にオブジェクト画像OBが合成表示される。
撮像制御部372は、撮像部35の動作を制御する。具体的に、撮像制御部372は、撮像部35に所定周期(フレームレート)で撮像させる。そして、撮像制御部372は、撮像部35から入力される撮像画像である動画像を取得し、記憶部36に記憶させる。
音声出力制御部373は、音声出力部34を制御して、所定の音声を出力させる。
【0019】
オプティカルフロー生成部374は、動画像を構成する少なくとも2以上のフレーム画像G1、G2からオプティカルフローを生成する。
今、図4に示されるフレーム画像G1から図5に示されるフレーム画像G2に遷移したとすると、動画像中の顔の画像CH1は右方向にスライドし、手指部分の画像CH2は、回動動作を行ったと仮定する。
オプティカルフロー生成部374は、この2つのフレーム画像G1、G2の輝度点の移動から、図6に示されるようなオプティカルフローG3を生成する。オプティカルフローG3は、勾配法、ブロックマッチング法等の公知の方法を用いて求めることができる。
勾配法は、物体上の点の明るさは、移動後も変化しないという仮定から、時空間微分とオプティカルフローとの関係式を導出し、これを利用して対象の動きを推定する方法である。
一方、ブロックマッチング法は、画像を一定の大きさの小領域に分割し、それぞれのブロックの動きベクトルを求める。各ブロックが前のフレームのどこに対応するかを探索し、対応するブロックとの位置の差を動きベクトルとする方法である。
これらの方法用いて、オプティカルフローG3は、2つのフレーム画像G1、G2からフレームレート等を用いて画像CH1、CH2の移動方向、移動速度を算出し、動きベクトルを生成する。
【0020】
動きベクトル検出部375は、オプティカルフロー生成部374で生成されたオプティカルフローG3のうち、オブジェクト画像OBが表示された位置における動きベクトルを検出する。図4から図5への変化においては、オブジェクト画像OBの回りに手指部分の画像CH2が表示され、手指部分が左方向に回動しており、これを動きベクトルV1として検出する。
【0021】
オブジェクト操作部376は、動きベクトル検出部375で検出されたオブジェクト画像OB回りの動きベクトルV1に基づいて、オブジェクト画像OBの移動、変形を行う部分であり、オブジェクト移動操作部376A及びオブジェクト変形操作部376Bを備える。
オブジェクト移動操作部376Aは、検出された動きベクトルV1の方向、大きさに応じて、オブジェクト画像OBの移動方向、移動量を算出し、表示部32上の適当な位置にオブジェクト画像OBを合成表示させる。
具体的には、図7(A)に示されるように、オブジェクト画像OB回りでオプティカルフローOFが検出されたときに、動きベクトル検出部375は、オブジェクト画像OBに設定された多面体POLの頂点近傍のオプティカルフローOFから、多面体POLの動きベクトルV1を検出する。オプティカルフローOFは、表示部32の各ピクセル毎に離散的に求められるが、求めたい頂点のオプティカルフローについて、回りのピクセル座標のオプティカルフローから内挿によって求めている。
オブジェクト移動操作部376Aは、動きベクトル検出部375Aで検出された動きベクトルV1に基づいて、図7(B)に示されるように、多面体POLを変形させた後、多面体POLを元々の頂点間の拘束条件などによって形を保つようにして、図7(C)に示されるように、多面体POLを回転させ、この多面体POLの回転移動に応じて、オブジェクト画像OBを移動させる。
【0022】
オブジェクト変形操作部376Bは、動きベクトル検出部375で検出されたオブジェクト画像OB回りの動きベクトルV1の方向、大きさに応じてオブジェクト画像OBの変形方向、変形量を算出し、オブジェクト画像OBを変形させて表示部32上に合成表示させる。このオブジェクト変形操作部376Bは、図3(B)に示されるように、多面体設定部376C、空間分割部376D、空間判別部376E、分解係数保存部376F、及び変形表示部376Gを備える。
具体的には、図8に示されるように、オブジェクト画像OBに手指部分の画像CH2が上下方向の動きをした際、動きベクトルV1によってオブジェクト画像OBを上下に変形させた状態で表示部32上に表示させる。
【0023】
オブジェクト画像OBの変形は、図9に示されるように、多面体設定部376Cが、オブジェクト画像OB内の任意の位置に中心点P0を設定し、中心点P0を中心とする多面体POLを設定する。
本実施形態では、多面体POLは、12個の頂点P1〜P12を有する凸多面体として設定されているが、空間を一意に領域分割することができるのであれば、これに限らず、オブジェクト画像OBの形状等に応じて任意に設定することができる。
多面体POLは、オブジェクト画像OBの形状と無関係であってもよく、オブジェクト画像OBの頂点POBを使って多面体POLを設定してもよい。好ましくは、多面体POLは、オブジェクト画像OBの手足等の動かしたい部分を頂点とし、オブジェクト画像OBの全体を覆い、かつなるべく小さくなるように設定する。
空間分割部376Dは、多面体POL内の空間を、中心点P0から多面体POLの頂点P1〜P12に至るベクトルによって、複数に分割する。
【0024】
次に、空間判別部376Eは、オブジェクト画像OBの任意の頂点POBを、中心点P0と、多面体POLの頂点P1と、頂点P4と、頂点P5とで構成される空間に含まれていることを判別する。
分解係数保存部376Fは、図10に示されるように、任意の頂点POBの位置xを、中心点P0から頂点P1に向かうベクトルaと、中心点P0から頂点P4に向かうベクトルbと、中心点P0から頂点P5に向かうベクトルcと、それぞれの分解係数p、q、rによって記憶保存する。
すなわち、オブジェクト画像OBの任意の頂点POBの位置xは、下記式(1)によって表現される。
x=pa+qb+rc…(1)
【0025】
変形表示部376Gは、例えば、多面体POLを変形させる動きベクトルV1を検出したら、図11に示されるように、多面体POL内の空間を検出された動きベクトルV1に応じて、図10の頂点P1、頂点P4、頂点P5を、頂点P1’、頂点P4’、頂点P5’に変形させる。
これに伴って変形表示部376Gは、記憶保存しておいた式(1)を動きベクトルV1に応じて、下記式(2)に示されるように、オブジェクト画像OBの任意の頂点POBの位置x’記憶保存し、表示部32上に変形させたオブジェクト画像OBを表示する。
x’=pa’+qb’+qc’…(2)
【0026】
また、オブジェクト変形操作部376Bは、図12に示されるように、オブジェクト画像OBに対して、1つの多面体POLを設定するだけでなく、オブジェクト画像OBを複数のパーツ、例えば、頭、手足等のパーツに分割しておき、それぞれのパーツについて、部品多面体PA1〜PA5を設定し、各パーツの任意の頂点の位置を、各部品多面体PA1〜PA5に前記式(1)の形で記憶保存することもできる。
この場合、オブジェクト画像OBの変形は、次の方法で実現される。
まず、下位となる部品多面体PA1〜PA5をオブジェクトと見立て、上位の多面体POLの変形により、部品多面体PA1〜PA5を変形、移動させる。次に、オブジェクト画像OBは、それぞれのパーツが属する下位の部品多面体PA1〜PA5の変形に応じて変形、移動する。オブジェクト画像OBの変形は、上位の多面体POLを設定せずに、下位の部品多面体PA1〜PA5を直接変形させることもできる。
例えば、オブジェクト画像OBの手の部分を変形させたい場合、当該手の部分に設定された部品多面体PA3のみを変形させればよい。
一方、変形操作がオブジェクト画像OBの全体に影響する場合、例えば、オブジェクト画像OBが海の渦流などに巻き込まれる表示画像上で操作する場合は、上位の多面体POLの変形、移動操作として行えばよい。
さらに、上位の多面体POLと、部品多面体PA1〜PA6とを組み合わせた複雑な動作も可能である。すなわち、オブジェクト画像OBが川等の流れの中で岩などにぶつかる表示画像を想定すれば、上位の多面体POLで川の流れ中の変形移動操作を行い、岩にぶつかる際の変形操作を部品多面体PA1〜PA6で行うことができる。このような階層構造をとることにより、全体の流れによる変形と部分の変形のつじつまを合わせることができる。
【0027】
オブジェクト画像OBの各パーツがどの部品多面体PA1〜PA5に属するかは、それぞれのベクトルの分解係数によって判別することができる。オブジェクト画像OBの各パーツは、部品多面体PA1〜PA5が互いに重複しないように選択する。
また、オブジェクト画像OBの頂点P13のように、頂点P13が部品多面体PA3に含まれるときは、式(1)における分解係数p、q、rは、0〜1の範囲で設定される。一方、オブジェクト画像OBの頂点P14のように、頂点P14が部品多面体PA3にも部品多面体PA4の外部にある場合、式(1)における分解係数p、q、rの二乗和を部品多面体PA3、PA4のそれぞれについて求め、比較して小さい方の部品多面体に属するとして、オブジェクト画像OBの頂点P14の変形を行えばよい。
【0028】
操作領域選択部377は、操作すべきオブジェクト画像OBが存在する領域を操作領域ARとして選択する。
また、操作領域ARの選択は、顔認識等の公知の画像認識技術を用い、図6における顔の画像CH1の領域内のオプティカルフローを除外し、手指部分の画像CH2の部分のみのオプティカルフローを生成することにより、選択することもできる。
さらに、顔の画像CH1のオプティカルフローの間隔は広く検出され、手指部分の画像CH2は狭く生成されるので、これを利用して、操作領域ARの選択を行ってもよい。
【0029】
マスキング部378は、操作領域ARにマスキングして操作を行い易くする手段であり、例えば、操作領域AR以外の動画像を非表示にしたり、操作領域ARの画像を動画像そのままでなく、コントラストを強調した2値画像としたり、輪郭画像のみを表示させたり、アイコンのようなオブジェクト画像に置き換えることにより、操作領域の視認性を向上させる。
【0030】
次に、本実施形態の作用について、図13に示すフローチャートに基づいて説明する。
まず、表示制御部371は、撮像部35で撮像された動画像と、記憶部36から読み出したオブジェクト画像OBを表示部32上に合成表示する(ステップS1)。
オプティカルフロー生成部374は、動画像を構成するフレーム画像G1、G2に基づいて、オプティカルフローG3を生成する(ステップS2)。
【0031】
動きベクトル検出部375は、操作領域AR中のオプティカルフローG3を監視し(ステップS3)、操作領域AR中の動きベクトルに変化があった場合、動きベクトルV1の方向、大きさを検出する(ステップS4)。
オブジェクト操作部376は、検出された動きベクトルV1に基づいて、オブジェクト画像OBの移動方向、移動量を算出し、表示部32上の適当な位置にオブジェクト画像OBを合成表示させる(ステップS5)。
尚、ステップS1〜ステップS5に至る一連のオブジェクトの操作方法は、コンピュータ読み取り可能なプログラムとして記憶部36に記憶され、撮像部35で撮像された動画像を表示部32で表示する際、制御部37に読み出されて実行される。
【0032】
このような本実施形態によれば、以下に示す効果がある。
オプティカルフロー生成部374により動画像のオプティカルフローG3を生成し、動きベクトル検出部375によりオブジェクト画像OBの表示位置における動きベクトルV1を検出しているので、オブジェクト操作部376によりオブジェクト画像OBの移動操作を行うに際して、検出された動きベクトルV1に応じてオブジェクト画像OBの移動操作を滑らかに行うことができる。
【0033】
操作領域選択部377により操作領域ARとして選択しているので、検出領域以外の動きベクトルでオブジェクト画像OBの操作が邪魔されることを防止することができる
マスキング部378を備えていることにより、操作領域ARをマスキング処理しているので、動画像の観察者が見やすい状態でオブジェクト画像OBを操作することができる。
【0034】
オブジェクト変形操作部376Bが、オブジェクト画像OB内の任意の中心点P0を中心とする多面体POLを設定し、多面体POLの中心点P0から頂点P1〜P12に向かうベクトルによって、多面体POL内の空間を分割し、オブジェクト画像OBの頂点POBが、分割された空間のうち、どの空間に含まれるかを判別し、オブジェクトの頂点を含む空間を構成する3本のベクトルによってオブジェクトの頂点の位置xの分解係数p、q、rを保存し、多面体POLに作用した変形操作に応じてオブジェクト画像OBを変形させて表示している。従って、ボーンによるスキニングと比較して複数のボーンの直交座標系の重み付き加算を行う必要がなく、制御部37による演算処理負担を軽減することができる。
また、オブジェクト変形操作部376Bが、オブジェクト画像OBのパーツ毎に部品多面体PA1〜PA5を設定し、それぞれの部品多面体PA1〜PA5について変形操作を行うことができるので、複雑な形状のオブジェクト画像OBであっても、変形操作に応じてオブジェクト画像OBを変形表示することができ、演算処理の負荷も軽くすることができる。
【0035】
[第2実施形態]
次に、本発明の第2実施形態について説明する。尚、以下の説明では、既に説明した部分と同一の部分については、同一符号を付して説明を省略する。
前述した第1実施形態では、撮像部35のカメラ351で撮像した動画像からオプティカルフローG3を生成し、生成したオプティカルフローG3に基づいて、動きベクトルV1を検出し、この動きベクトルV1に基づいて、オブジェクト画像OBの変形操作を行っていた。
これに対して、本実施形態では、アニメーション作成ツール等で多面体POLの頂点列の変形アニメーションを作成し、これにオブジェクト画像OBを追従させている点が相違する。
【0036】
すなわち、図14(A)に示されるように、まず、オブジェクト画像OBに対して、第1実施形態と同様に多面体POLを、キーフレーム画像として設定する。
次に、このキーフレーム画像を変形操作する場合、例えば、図14(B)に示されるキーフレーム画像、及び図14(D)に示されるキーフレーム画像が設定されていた場合、その中間の図14(C)に示される画像は、動きを生じさせたい頂点の座標の差分画像で補間して生成され、図14(A)〜(D)のような多面体POLの変形操作を記憶保存する。
画像の表示に際しては、このアニメーションにオブジェクト画像OBを追従させることにより、図14(E)〜(G)のようなオブジェクト画像OBの変形画像を表示させることができる。
このような方法によっても、前述した第1実施形態と同様の作用及び効果を奏することができる。
【0037】
[第3実施形態]
次に、本発明の第3実施形態について説明する。前述の第2実施形態では、アニメーション作成ツールを用いて、多面体POLの変形を行っていた。
これに対して、本実施形態では、図15に示されるように、物理演算エンジンソフトウェアの物理シミュレーションを利用して、多面体POLの変形、移動をさせている点が相違する。
すなわち、図15(A)に示されるように、第2実施形態と同様に、オブジェクト画像OBに対して、多面体POLを設定する。
【0038】
次に、多面体POLを、図15(B)に示されるように、物理演算エンジンソフトウェア上で自然法則に則った衝突、移動に応じた変形させた状態を記憶保存する。
ここで、物理シミュレーションの対象は、多面体POL自体について、頂点間の関係性を物理シミュレートしてもよいが、複数の頂点から構成される剛体について物理シミュレートを行い、シミュレート結果としての剛体を構成する頂点から多面体POLを特定することもできる。
物理演算エンジンソフトウェア上でオブジェクト画像OBを変形、移動操作する場合、描画するオブジェクト画像OBの頂点数よりも多面体POLの頂点が少ないので、描画に要する負荷を減らすことができ、既存の物理演算エンジンソフトウェアのデータ構造に合わせやすく、柔軟な適用が可能となるという利点を有する。
画像の表示に際しては、図15(C)に示されるように、この多面体POLの物理シミュレーション変形、移動に追従させることにより、オブジェクト画像OBの変形、移動画像を表示させることができる。
【0039】
[実施形態の変形]
本発明は、前述した実施形態に限定されるものではなく、以下に示すような変形をも含むものである。
前述した実施形態では、オブジェクト操作部376は、キャラクター的なオブジェクト画像OBを操作するものであったが、これに限らず、例えば、図14に示されるようなスライドスイッチ画像OB2を表示部32のどこかに固定して表示しておき、手指部分の画像CH2でスライドさせる操作を行ってもよい。
本発明の実施形態は、本発明の目的を達成できる範囲で他の構成を採用することができる。
【符号の説明】
【0040】
3…携帯端末、31…筐体、31A…正面部、31C…上面部、31E…側面部、32…表示部、33…操作部、331…方向ボタン、332…操作スティック、333…操作ボタン、334…操作ボタン、335…操作スティック、336…操作ボタン、338L…操作ボタン、34…音声出力部、34L…スピーカー、35…撮像部、351…カメラ、36…記憶部、37…制御部、371…表示制御部、372…撮像制御部、373…音声出力制御部、374…オプティカルフロー生成部、375…ベクトル検出部、376…オブジェクト操作部、376A…オブジェクト移動操作部、376B…オブジェクト変形操作部、376C…多面体設定部、376D…空間分割部、376E…空間判別部、376F…分解係数保存部、376G…変形表示部、377…操作領域選択部、378…マスキング部、AR…操作領域、BL…バスライン、CH1、CH2…画像、G1、G2…フレーム画像、G3…オプティカルフロー、OB…オブジェクト画像、OB2…スライドスイッチ画像
図1
図2
図3
図4
図5
図6
図7
図9
図10
図11
図12
図13
図14
図15
図16
図8