JP5408205B2 - 制御点設定方法、制御点設定装置及びプログラム - Google Patents
制御点設定方法、制御点設定装置及びプログラム Download PDFInfo
- Publication number
- JP5408205B2 JP5408205B2 JP2011183547A JP2011183547A JP5408205B2 JP 5408205 B2 JP5408205 B2 JP 5408205B2 JP 2011183547 A JP2011183547 A JP 2011183547A JP 2011183547 A JP2011183547 A JP 2011183547A JP 5408205 B2 JP5408205 B2 JP 5408205B2
- Authority
- JP
- Japan
- Prior art keywords
- skeleton
- subject
- model
- image
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Description
基準画像に含まれる動体モデルの領域内に設定された複数の動き基準点の動き情報を記憶する記憶手段を備える制御点設定装置を用いた制御点設定方法であって、前記動体モデルの骨格に係るモデル骨格情報に基づいて、前記動体モデルの領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定ステップと、被写体領域が含まれる被写体画像を取得する取得ステップと、この取得ステップにて取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定ステップにて特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定ステップと、を含むことを特徴としている。
基準画像に含まれる動体モデルの領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置であって、前記動体モデルの骨格に係るモデル骨格情報に基づいて、前記動体モデルの領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定手段と、被写体領域が含まれる被写体画像を取得する取得手段と、この取得手段により取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定手段により特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定手段と、を備えたことを特徴としている。
基準画像に含まれる動体モデルの領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置のコンピュータに、前記動体モデルの骨格に係るモデル骨格情報に基づいて、前記動体モデルの領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定機能、被写体領域が含まれる被写体画像を取得する取得機能、取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定機能により特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定機能、を実現させることを特徴とする。
図1は、本発明を適用した一実施形態の動画生成システム100の概略構成を示すブロック図である。
撮像装置1は、被写体を撮像する撮像機能や撮像画像の画像データを記録媒体Cに記録する記録機能等を具備する。即ち、撮像装置1は、公知のものを適用可能であり、例えば、主要な機能を撮像機能とするデジタルカメラだけでなく、主要な機能としないものの撮像機能を具備する携帯電話機等の携帯端末なども含む。
ユーザ端末2は、例えば、パーソナルコンピュータ等により構成され、サーバ3により開設されるWebページ(例えば、動画生成用ページ)にアクセスして、当該Webページ上で各種の指示を入力する。
図2に示すように、ユーザ端末2は、具体的には、中央制御部201と、操作入力部202と、表示部203と、音出力部204と、記録媒体制御部205と、通信制御部206等を備えている。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、ユーザ端末2で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
なお、操作入力部202としてタッチパネル(図示略)を表示部203の表示画面に配設して、タッチパネルの接触位置に応じて各種の指示を入力するような構成としても良い。
即ち、表示部203は、例えば、サーバ3から送信され通信制御部206により受信されたWebページ(例えば、動画生成用ページ)のページデータに基づいて、対応するWebページを表示画面に表示する。具体的には、表示部203は、動画生成処理(後述)に係る各種の処理画面の画像データに基づいて、各種の処理画面を表示画面に表示する。
即ち、音出力部204は、例えば、サーバ3から送信され通信制御部206により受信された演奏情報に基づいて、当該演奏情報のデジタルデータをD/Aコンバータによりアナログデータに変換し、増幅器を介してスピーカから、所定の音色、音高、音長で曲を放音する。また、音出力部204は、一の音源(例えば、楽器)の音を放音しても良いし、複数の音源の音を同時に放音しても良い。
ここで、被写体存在画像とは、所定の背景内に主要な被写体が存在する画像のことである。また、記録媒体Cには、撮像装置1の画像処理部(図示略)により所定の符号化形式(例えば、JPEG形式等)に従って符号化された被写体存在画像の画像データが記録されている。
そして、通信制御部206は、入力された被写体存在画像の画像データをサーバ3に所定の通信ネットワークNを介して送信する。
サーバ3は、Web(World Wide Web)サーバとしてインターネット上にWebページ(例えば、動画生成用ページ)を開設する機能を具備するものであり、ユーザ端末2からのアクセスに応じて当該ユーザ端末2にWebページのページデータを送信する。また、サーバ3は、制御点設定装置として、基準画像P1の動体モデルの骨格に係るモデル骨格情報に基づいて、基準画像P1の動体モデルが含まれるモデル領域1A内における複数の動き基準点Q、…の各々の位置に係る位置情報を特定し、さらに、被写体画像の被写体の骨格に係る被写体骨格情報を取得する。そして、被写体画像の被写体の骨格に係る被写体骨格情報及びモデル領域1A内における複数の動き基準点Q、…の各々の位置に係る位置情報に基づいて、被写体領域内で複数の動き基準点Q、…の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点Jを複数設定する。
図3に示すように、サーバ3は、具体的には、中央制御部301と、表示部302と、通信制御部303と、被写体切抜部304と、記憶部305と、動画処理部306等を備えて構成されている。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ3で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
具体的には、通信制御部303は、例えば、動画生成処理(後述)にてユーザ端末2から所定の通信ネットワークNを介して送信された被写体存在画像(図示略)の画像データを受信して、当該画像データを中央制御部301のCPUに出力する。
中央制御部301のCPUは、入力された被写体存在画像の画像データを被写体切抜部304に出力する。
即ち、被写体切抜部304は、公知の被写体切抜手法を用いて、被写体存在画像から被写体が含まれる被写体領域が切り抜かれた被写体切り抜き画像を生成する。具体的には、被写体切抜部304は、中央制御部301のCPUから出力された被写体存在画像の画像データを取得して、例えば、ユーザによるユーザ端末2の操作入力部202(例えば、マウス等)の所定操作に基づいて、表示部203に表示されている当該被写体存在画像上に描画された境界線(図示略)により当該被写体存在画像を区分する。続けて、被写体切抜部304は、被写体存在画像の切抜線により区分される複数の区分領域の中で、被写体の背景を推定して当該背景の各画素の画素値に基づいて所定の演算を行って、被写体の背景色を所定の単一色として推定する。その後、被写体切抜部304は、所定の単一色の背景用画像と被写体存在画像との間で対応する各画素の差分情報(例えば、相違度マップ等)を生成する。そして、被写体切抜部304は、生成した差分情報の各画素の画素値を所定の閾値と比較して二値化した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行って面積が最大の画素集合を被写体部分とする。
その後、被写体切抜部304は、例えば、上記の面積が最大の画素集合が「1」、その他の部分が「0」である二値化された差分情報に対してローパスフィルタを施して境界部分に中間値を生じさせることでアルファ値を生成し、被写体切り抜き画像内で被写体領域の位置を示す位置情報としてのアルファマップ(図示略)を生成する。
アルファ値(0≦α≦1)とは、例えば、被写体存在画像の各画素について、被写体領域の画像を所定の背景に対してアルファブレンディングする際の重みを表すものである。この場合、被写体領域はアルファ値が「1」となり、被写体存在画像の所定の背景に対する透過度が0%となる。一方、被写体の背景部分はアルファ値が「0」となり、当該被写体存在画像の所定の背景に対する透過度が100%となる。
また、被写体切抜部304は、アルファマップに基づいて、被写体領域2A(図10(a)中、白で表す領域)の各画素を第1の画素値(例えば、「1」等)とし、背景領域(図10(a)中、ドットを付した領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像であるマスク画像P2(図10(a)参照)を生成する。即ち、被写体切抜部304は、被写体切り抜き画像内で被写体領域2Aの位置を示す位置情報としてのマスク画像P2を生成する。
被写体切り抜き画像の画像データは、例えば、生成されたアルファマップやマスク画像P2等の位置情報と対応付けられたデータである。
また、被写体切り抜き画像の画像データとしては、例えば、RGBA形式の画像データを適用しても良く、具体的には、RGB色空間で規定される各色に透過度(A)の情報が付加されている。この場合には、被写体切抜部304は、透過度(A)の情報を利用して、被写体切り抜き画像内で被写体領域の位置を示す位置情報(図示略)を生成しても良い。
各動き情報305aは、動体モデルの基準画像P1と対応付けられ、所定空間、即ち、例えば、互いに直交する二軸(例えば、x軸、y軸等)により規定される二次元の平面空間やこれら二軸に加えて当該二軸に直交する軸(例えば、z軸等)により規定される三次元の立体的空間内における複数の動き基準点Q、…の動きを示す情報である。なお、動き情報305aは、二次元の平面空間を所定の回動軸周りに回転させることで複数の動き基準点Q、…の動きに奥行きをもたせるような情報であっても良い。
基準画像P1は、動体モデルのモデル領域1Aの位置を示す情報であり、具体的には、例えば、モデル領域1A(図8(a)中、白で表す領域)の各画素を第1の画素値(例えば、「1」等)とし、それ以外の領域(図8(a)中、ドットを付した領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像である。
各動き基準点Qの位置は、動きのモデルとなる動体モデル(例えば、ヒトや動物等)の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。即ち、各動き基準点Qは、動体モデルとしてのヒトを所定方向(例えば、正面)から見た状態を表す基準画像P1の当該動体モデルが含まれるモデル領域1A内に、動体モデルの骨格の形状や関節の位置等を考慮して設定されている。
具体的には、例えば、ヒトの外形を模した基準画像P1のモデル領域1A内で、ヒトの左右の手首の各々に相当する位置に左右の手首動き基準点Q1、Q2が設定され、また、ヒトの左右の足首の各々に相当する位置に左右の足首動き基準点Q3、Q4が設定され、また、ヒトの首に相当する位置に首動き基準点Q5が設定されている(図8(a)参照)。
ここで、図8は、動体モデルとしてのヒトを正面から見た状態を模式的に表す基準画像P1である。当該基準画像P1は、向かって左側に動体モデルとしてのヒトの右腕及び右脚が配置され、一方、向かって右側に動体モデルとしてのヒトの左腕及び左脚が配置されている。
なお、複数の動き基準点Q、…の座標情報の各々は、例えば、基準となる動き基準点Qの座標情報に対する各動き基準点Qの移動量を規定した情報であっても良いし、各動き基準点Qの絶対位置座標を規定した情報であっても良い。また、動き基準点Qの個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
演奏情報305bは、動画処理部306の動画再生部306j(後述)により動画像とともに自動的に曲を演奏するための情報である。即ち、演奏情報305bは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報305bは、例えば、MIDI(Musical Instruments Digital Interface)規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能(Tickカウント数)等が規定されたヘッダ情報と、各パートに割り当てられた音源(例えば、楽器等)に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
具体的には、第1骨格情報取得部306aは、記憶部305から動き情報305aを取得して、当該動き情報305aに係る基準画像P1、即ち、動体モデルのモデル領域1Aの位置を示す基準画像P1(図8(a)参照)の画像データに対して、幅が所定数(例えば、一つ)の画素からなる線画像を生成する細線化処理を施して、モデル骨格情報としてのモデル骨格線画像P1a(図8(b)参照)を生成する。
例えば、第1骨格情報取得部306aは、基準画像P1の画像データに対してHilditch法を適用して、当該画像内で境界点である端点を削除しない、孤立点を保存する、連結性を保存する、などの各種の条件を満たす画像の探索、削除を繰り返すことにより、モデル骨格線画像P1aを生成する。
なお、上記した第1骨格情報取得部306aによるモデル骨格情報の取得処理は、一例であってこれに限られるものではなく、適宜任意に変更可能である。また、細線化処理として、Hilditch法を適用するようにしたが、一例であってこれに限られるものではなく、適宜任意に変更可能である。また、図8(b)に示すモデル骨格線画像P1aにあっては、モデル領域1Aを破線で模式的に表している。
また、基準画像P1並びに被写体切り抜き画像及びマスク画像P2では、例えば、左上隅部を原点座標として(即ち、左右方向にx軸、上下方向にy軸をとり)上記の細線化処理や後述する各種の画像処理を行う。
即ち、画像取得部306bは、取得手段として、背景と被写体とが存在する被写体存在画像から被写体が含まれる被写体領域が切り抜かれた被写体切り抜き画像(被写体画像)を取得する。具体的には、画像取得部306bは、被写体切抜部304により生成された被写体切り抜き画像の画像データと、当該被写体切り抜き画像の画像データと対応付けられているマスク画像P2の画像データを取得する。
なお、被写体切り抜き画像は、例えば、被写体としてのヒトを所定方向から見た状態を表す画像である。
即ち、第2骨格情報取得部306cは、画像取得部306bにより取得された被写体切り抜き画像の被写体の骨格に係る被写体骨格情報を取得する。具体的には、第2骨格情報取得部306cは、画像取得部306bにより取得されたマスク画像P2の画像データ、即ち、被写体切り抜き画像の画像データと対応付けられ、当該被写体切り抜き画像内で被写体領域2Aの位置を示すマスク画像P2の画像データに対して、所定数(例えば、一つ)の画素からなる線画像を生成する細線化処理を施して、被写体骨格情報としての被写体骨格線画像(図示略)を生成する。
例えば、第2骨格情報取得部306cは、上記第1骨格情報取得部306aと同様に、マスク画像P2の画像データに対してHilditch法を適用して、当該画像内で境界点である端点を削除しない、孤立点を保存する、連結性を保存する、などの各種の条件を満たす画像の探索、削除を繰り返すことにより、被写体骨格線画像を生成する。
なお、上記した第2骨格情報取得部306cによる被写体骨格情報の取得処理は、一例であってこれに限られるものではなく、適宜任意に変更可能である。また、細線化処理として、Hilditch法を適用するようにしたが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
即ち、骨格点設定部306dは、第1骨格情報取得部306aにより取得されたモデル骨格情報に基づいて、基準画像P1のモデル領域1A内で動体モデルの骨格と関連付けられたモデル骨格点Sを複数設定する。具体的には、骨格点設定部306dは、基準画像P1の画像データに基づいて、モデル領域1Aの輪郭部分であって、人体を構成する複数の部位どうしが連結された部分にてモデル骨格基準点Rを特定し、当該骨格基準点Rに基づいてモデル領域1A内で複数のモデル骨格点S、…を設定する。
モデル骨格基準点Rとしては、例えば、モデル股下基準点R1、左右のモデル脇下基準点R2、R3等が挙げられる。
骨格点設定部306dは、動体モデル(人体)を構成する左右の脚どうしが連結された部分にてモデル股下基準点R1を特定する(図9(a)参照)。即ち、骨格点設定部306dは、例えば、基準画像P1の下側の所定範囲(例えば、基準画像P1をy軸方向(上下方向)に6等分したうちの4/6から5/6程度の範囲)内の重心位置を特定する。そして、骨格点設定部306dは、特定された重心位置からy軸のマイナス方向(上方向)に走査して、モデル領域1Aを構成する輪郭線との交点を第1輪郭点として特定する。そして、骨格点設定部306dは、特定された第1輪郭点から輪郭線上をy軸の各方向(上下両方向)に所定画素数分走査し、下記式(1)に基づいて、輪郭線における走査した経路部分にて評価値「DD」が最も大きくなる位置を探索し、モデル股下基準点R1として特定する。
なお、評価値「DD」の探索方法としては、例えば、輪郭線における走査範囲内にて経路部分に沿ったy座標の座標列の前方微分を利用する。具体的には、骨格点設定部306dは、例えば、任意の位置「k」(k:0〜n)における前後の参照範囲を「2」とし、下記式(1)に基づいて、評価値「DD」の値が最大となる位置「k」を求める。そして、骨格点設定部306dは、評価値「DD」が最大となる位置「k」を「maxK」とすると、モデル股下基準点R1の座標は、「tr(maxK)」で規定される。
なお、下記式(1)において、「tr(n).y」は経路「tr」内の位置nでのy座標を表している。
式(1);
DD = -(yd_(k-2) + yd_(k-1)) + (yd_(k+1) + yd_(k+2))
yd_(n) = tr(n+1).y - tr(n).y
骨格点設定部306dは、動体モデル(人体)を構成する左右の腕の各々と胴体が連結された部分にて左右のモデル脇下基準点R2、R3を特定する(図9(a)参照)。即ち、骨格点設定部306dは、例えば、左右のモデル股関節骨格点S1、S2の各々からx軸方向に沿って当該股関節骨格点S1、S2を基準として外側となる各方向に走査し、モデル領域1Aを構成する輪郭線との交点を第2輪郭点としてそれぞれ特定する。そして、骨格点設定部306dは、特定された各第2輪郭点から輪郭線上をy軸のマイナス方向(上方向)に所定画素数分走査し、下記式(2)、(3)に基づいて、左右のモデル脇下基準点R2、R3を特定する。
なお、評価値「DD」の探索方法としては、例えば、上記したモデル股下基準点R1の特定方法と同様に、左右両側の輪郭線における走査した経路部分にてx座標及びy座標の座標列の前方微分を利用する。
具体的には、基準画像P1の向かって左側のモデル右脇下基準点R3を特定する場合、骨格点設定部306dは、例えば、任意の位置「k」(k:0〜n)における前後の参照範囲を「2」とし、下記式(2)に基づいて、評価値「DD」の値が最大となる位置「k」を求める。そして、骨格点設定部306dは、評価値「DD」が最大となる位置「k」を「maxK」とすると、モデル右脇下基準点R3の座標は、「tr(maxK)」で規定される。なお、下記式(2)において、左側の経路「tr」内の位置nの座標は、(tr(n).x, tr(n).y)で取得できる。
式(2);
DD = -(d_tr(k-2).y + d_tr(k-1).y) - (d_tr(k+1).x + d_tr(k+2).x )
d_tr(n) = tr(n+1) - tr(n)
同様に、基準画像P1の向かって右側のモデル左脇下基準点R2を特定する場合、骨格点設定部306dは、例えば、任意の位置「k」(k:0〜n)における前後の参照範囲を「2」とし、下記式(3)に基づいて、評価値「DD」の値が最大となる位置「k」を求める。そして、骨格点設定部306dは、評価値「DD」が最大となる位置「k」を「maxK」とすると、モデル左脇下基準点R2の座標は、「tr(maxK)」で規定される。なお、下記式(3)において、右側の経路「tr」内の位置nの座標は、(tr(n).x, tr(n).y)で取得できる。
式(3);
DD = -(d_tr(k-2).y + d_tr(k-1).y) + (d_tr(k+1).x + d_tr(k+2).x )
d_tr(n) = tr(n+1) - tr(n)
また、骨格点設定部306dは、例えば、基準画像P1のモデル領域1A内にて左右のモデル肩骨格点S3、S4の中点を特定する。そして、骨格点設定部306dは、特定された中点をモデル肩中央骨格点S5として設定する(図9(b)参照)。
また、骨格点設定部306dは、例えば、基準画像P1のモデル領域1A内にて左モデル肩骨格点S3からモデル骨格線画像P1aのモデル骨格線a1上を走査し、左手先側の先端部までの距離を基準として所定の比率となる位置を特定する。そして、骨格点設定部306dは、特定された位置に左モデル肘骨格点S6及び左モデル手首骨格点S7を設定する(図9(b)参照)。
同様に、骨格点設定部306dは、例えば、基準画像P1のモデル領域1A内にて右モデル肩骨格点S4からモデル骨格線画像P1aのモデル骨格線a1上を走査し、右手先側の先端部までの距離を基準として所定の比率となる位置を特定する。そして、骨格点設定部306dは、特定された位置に右モデル肘骨格点S8及び右モデル手首骨格点S9を設定する(図9(b)参照)。
同様に、骨格点設定部306dは、例えば、基準画像P1のモデル領域1A内にて右モデル股関節骨格点S2からモデル骨格線画像P1aのモデル骨格線a1上を走査し、右足先側の先端部までの距離を基準として所定の比率となる位置を特定する。そして、骨格点設定部306dは、特定された位置に右モデル膝骨格点S12及び右モデル足首骨格点S13を設定する(図9(b)参照)。
即ち、骨格点設定部306dは、第2骨格情報取得部306cにより取得された被写体骨格情報に基づいて、被写体切り抜き画像と対応付けられているマスク画像P2(図10(a)参照)の被写体領域2A内で被写体の骨格と関連付けられた被写体骨格点Iを複数設定する(図10(b)参照)。具体的には、骨格点設定部306dは、上記の基準画像P1のモデル領域1Aに対する処理と同様に、マスク画像P2の画像データに基づいて、被写体領域2Aの輪郭部分であって、人体を構成する複数の部位どうしが連結された部分に被写体骨格基準点Hを特定し、当該骨格基準点Hに基づいて被写体領域2A内で複数の被写体骨格点I、…を設定する。
被写体骨格基準点Hとしては、例えば、被写体股下基準点H1、左右の被写体脇下基準点H2、H3等が挙げられる。ここで、骨格点設定部306dは、例えば、モデル股下基準点R1並びに左右のモデル脇下基準点R2、R3の特定手法と同様の処理をマスク画像P2に対して行って、当該マスク画像P2の被写体領域2A内で、被写体股下基準点H1並びに左右の被写体脇下基準点H2、H3を特定する。
また、骨格点設定部306dは、例えば、左右のモデル股関節骨格点S1、S2、左右のモデル肩骨格点S3、S4、モデル肩中央骨格点S5、左右のモデル肘骨格点S6、S8、左右のモデル手首骨格点S7、S9、左右のモデル膝骨格点S10、S12、左右のモデル足首骨格点S11、S13並びにモデル頭頂骨格点S14の設定手法と同様の処理をマスク画像P2に対して行って、当該マスク画像P2の被写体領域2A内で、左右の被写体股関節骨格点I1、I2、左右の被写体肩骨格点I3、I4、被写体肩中央骨格点I5、左右の被写体肘骨格点I6、I8、左右の被写体手首骨格点I7、I9、左右の被写体膝骨格点I10、I12、左右の被写体足首骨格点I11、I13並びに被写体頭頂骨格点I14を設定する。
即ち、領域特定部306eは、基準画像P1の画像データに基づいて、基準画像P1のモデル領域1A内で、動体モデルを構成する代表的な部位の領域Bとして、例えば、左右の各腕に相当する左右のモデル腕領域B1、B2、左右の各脚に相当する左右のモデル脚領域B3、B4、胴体及び頭に相当する部分のモデル体領域B5をそれぞれ特定する(図9(c)参照)。
具体的には、領域特定部306eは、例えば、左モデル肩骨格点S3からy軸の各方向(上下両方向)に走査し、モデル領域1Aを構成する輪郭線との各交点をそれぞれ特定する。そして、領域特定部306eは、モデル領域1Aのうち、二つの交点を結ぶ線分により分割され、モデル肩中央骨格点S5と反対側(手先側)に存する領域を人体の左腕に相当する左モデル腕領域B1として特定する。続けて、領域特定部306eは、左モデル肘骨格点S6を通り、y軸方向に沿って延在する直線の輪郭線との各交点を特定し、当該交点間の距離を左モデル腕領域B1の太さ(幅)として特定する。
また、領域特定部306eは、例えば、人体の右腕に相当する右モデル腕領域B2についても同様の処理を行って、右モデル腕領域B2及び当該右モデル腕領域B2の太さを特定する。
また、領域特定部306eは、例えば、人体の右脚に相当する右モデル脚領域B4についても同様の処理を行って、右モデル脚領域B4及び当該右モデル脚領域B4の太さを特定する。
即ち、領域特定部306eは、マスク画像P2の画像データに基づいて、マスク画像P2の被写体領域2A内で、人体を構成する代表的な部位の領域Dとして、例えば、左右の各腕に相当する左右の被写体腕領域D1、D2、左右の各脚に相当する左右の被写体脚領域D3、D4、胴体及び頭に相当する部分の被写体体領域D5をそれぞれ特定する(図10(b)参照)。
具体的には、領域特定部306eは、例えば、上記の基準画像P1のモデル領域1Aに対する処理と同様の処理をマスク画像P2に対して行って、当該マスク画像P2の被写体領域2A内で、左右の被写体腕領域D1、D2、左右の被写体脚領域D3、D4、被写体体領域D5並びに各領域D1〜D5の太さを特定する。
なお、図10(b)に示すマスク画像P2には、被写体骨格線画像(図示略)に係る被写体骨格線a2を表している。
即ち、基準点位置特定部306fは、特定手段として、基準画像P1の動体モデルの骨格に係るモデル骨格情報に基づいて、モデル領域1A内における複数の動き基準点Q、…の各々の位置に係る位置情報を特定する。具体的には、基準点位置特定部306fは、位置情報として、複数の動き基準点Q、…の各々に対する、骨格点設定部306dにより設定された複数のモデル骨格点S、…の相対的な位置関係に係る情報を特定する(図12参照)。
そして、基準点位置特定部306fは、第1モデル骨格点「KP1」と第2モデル骨格点「KP1」とを結ぶ第1線分「L1」と、当該第1線分「L1」に対して直交し、動き基準点Qを通る直線との交点「CP1」の位置を特定する。そして、基準点位置特定部306fは、第1線分「L1」の長さを「1」として、第1モデル骨格点「KP1」及び第2モデル骨格点「KP2」の各々から交点「CP1」までの距離の比率を第1比率として特定する。
このように、基準点位置特定部306fは、動き基準点Qに対する第1及び第2モデル骨格点「KP1」、「KP2」(二つのモデル骨格点S、S)の相対的な位置関係に係る情報を含む位置情報を特定する。
即ち、基準点位置特定部306fは、領域特定部306eにより特定された左右のモデル腕領域B1、B2、左右のモデル脚領域B3、B4、モデル体領域B5の中で、処理対象となる動き基準点Q並びに第1及び第2モデル骨格点「KP1」、「KP2」が含まれる部位の領域B(例えば、左モデル腕領域B1等)及び当該領域Bの長さを特定する。そして、線分「L1」に対して直交し、且つ、第1及び第2モデル骨格点「KP1」、「KP2」の何れか一のモデル骨格点(例えば、第1モデル骨格点「KP1」等)から動き基準点Q側に延在する線分であって、特定された長さの半分の長さの第2線分「L2」を特定する。つまり、第2線分「L2」のモデル骨格点Sと反対側の端部「L2a」が、第1及び第2モデル骨格点「KP1」、「KP2」が含まれる部位の輪郭上に存することとなる。
続けて、基準点位置特定部306fは、第2線分「L2」と、当該第2線分「L2」に対して直交し、動き基準点Qを通る直線との交点「CP2」の位置を特定する。そして、基準点位置特定部306fは、第2線分「L2」の長さを「1」として、第1モデル骨格点「KP1」及び第2線分「L2」の端部「L2a」の各々から交点「CP2」までの距離の比率を第2比率として特定する。
このように、基準点位置特定部306fは、各動き基準点Qに対して、モデル領域1Aにおける第1及び第2モデル骨格点「KP1」、「KP2」(二つのモデル骨格点S、S)が含まれる部位の領域Bの輪郭部分の相対的な位置関係に係る情報を含む位置情報を特定する。
即ち、制御点設定部306gは、制御点設定手段として、基準点位置特定部306fにより特定されたモデル領域1A内における複数の動き基準点Q、…の各々の位置に係る位置情報及び第2骨格情報取得部306cにより取得された被写体骨格情報に基づいて、マスク画像P2の被写体領域2A内で複数の動き基準点Q、…の各々に対応する各位置に当該被写体領域2Aの動きの制御に係る動き制御点Jを複数設定する。具体的には、制御点設定部306gは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体領域2A内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の動き基準点Q、…の各々に対応する動き制御点Jを設定する。
即ち、制御点設定部306gは、骨格点設定部306dにより被写体領域2A内で設定された複数の被写体骨格点I、…のうち、基準点位置特定部306fにより特定された複数の動き基準点Q、…の各々を所定方向に挟むように設定された隣合う二つのモデル骨格点(例えば、第1及び第2モデル骨格点「KP1」、「KP2」)S、Sに対応する二つの被写体骨格点(例えば、第1及び第2の被写体骨格点)I、Iを特定する。また、制御点設定部306gは、被写体領域2A内で、隣合う二つのモデル骨格点(例えば、第1及び第2モデル骨格点「KP1」、「KP2」)S、Sが含まれる部位の領域Bに対応する対応領域D(例えば、左被写体腕領域D1等)を特定する。
そして、制御点設定部306gは、各動き基準点Qに対する、第1及び第2のモデル骨格点S、Sの相対的な位置関係並びに当該第1及び第2モデル骨格点S、Sが含まれる部位の領域Bの輪郭部分の相対的な位置関係(例えば、第1比率及び第2比率)を、被写体領域2A内で特定された二つの被写体骨格点I、I並びに当該二つの被写体骨格点I、Iが含まれる対応領域Dの輪郭部分に対して反映させる。即ち、制御点設定部306gは、被写体領域2A内で、各動き基準点Qに対する隣合う二つのモデル骨格点S、Sの相対的な位置関係に対応する相対的な位置関係を二つの被写体骨格点I、Iに対して有するとともに、対応領域D内で、各動き基準点Qに対する当該二つのモデル骨格点S、Sが含まれる部位の輪郭部分の相対的な位置関係に対応する相対的な位置関係を当該対応領域Dの輪郭部分に対して有する位置に各動き制御点J(例えば、左手首動き制御点J1等)を設定する(図14参照)。
そして、制御点設定部306gは、マスク画像P2の被写体領域2Aに設定された各動き制御点Jに対応させるように、当該動き制御点Jの各々の座標に従って被写体切り抜き画像の被写体領域内で各動き制御点Jを設定する。
さらに、制御点設定部306gは、動き情報305aに規定されている複数の動き基準点Q、…の全てについて、対応する動き制御点Jを設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の動き基準点Qに対応する動き制御点Jのみ設定しても良い。
即ち、フレーム生成部306hは、動き情報305aの複数の動き基準点Q、…の動きに基づいて、制御点設定部306gにより被写体切り抜き画像の被写体領域内に設定された複数の動き制御点J、…を動かし、当該動き制御点Jの動きに従って被写体領域を変形させたフレーム画像を複数生成する。具体的には、フレーム生成部306hは、動画処理部306により指定された動き情報305aの複数の動き基準点Q、…の動きに追従させるように、被写体切り抜き画像の被写体画像内に設定されている複数の動き制御点J、…を移動させる。例えば、フレーム生成部306hは、動き情報305aに従って所定の時間間隔で移動する複数の動き基準点Q、…の座標情報を逐次取得して、当該動き基準点Qの各々に対応する各動き制御点Jの座標を算出する。そして、フレーム生成部306hは、算出された座標に動き制御点Jを逐次移動させていく。このとき、フレーム生成部306hは、少なくとも一の動き制御点Jを基準として被写体領域内に設定される所定の画像領域(例えば、三角形や矩形のメッシュ状の領域)を移動させたり変形させることで、基準フレーム画像(図示略)を生成する。
なお、動き制御点Jを基準とした所定の画像領域を移動させたり変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
具体的には、フレーム生成部306hは、隣合う二つの基準フレーム画像間における、動画再生部306jにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部306hは、MIDI規格の演奏情報305bに基づいてテンポの設定情報及び四分音符の分解能(Tickカウント数)を取得して、動画再生部306jにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部306hは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング(例えば、各小節の一拍目等)に同期させた隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部306hは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの基準フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
即ち、裏面画像生成部306iは、例えば、被写体切り抜き画像の被写体領域の輪郭部分の色情報に基づいて、裏面画像における被写体切り抜き画像の被写体領域に対応する被写体対応領域Dを描画して当該裏面画像を生成する。
即ち、動画再生部306jは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された演奏情報305bに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部306jは、所定の曲の演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング(例えば、各小節の1拍目や各拍等)に同期させるように隣合う二つの基準フレーム画像を再生するとともに、隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部306jは、動画処理部306により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部306jは、隣合う二つの基準フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
次に、ユーザ端末2及びサーバ3を用いた動画生成処理について、図4〜図14を参照して説明する。
ここで、図4及び図5は、動画生成処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像及び当該被写体切り抜き画像に対応するマスク画像P2の画像データがサーバ3の記憶部305に記憶されているものとする。
サーバ3の通信制御部303によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、動画生成用ページのページデータを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部206によって、動画生成用ページのページデータが受信されると、表示部203は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面(図示略)を表示する。
図5に示すように、サーバ3の中央制御部301のCPUは、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。具体的には、中央制御部301のCPUは、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、処理をステップS51に移行させ、また、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、処理をステップS61に移行させ、また、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、処理をステップS71に移行させる。
ステップS4にて、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、動画処理部306の画像取得部306bは、記憶部305に記憶されている被写体切り抜き画像の画像データの中からユーザにより指定された被写体切り抜き画像の画像データを読み出して取得する(ステップS51)。
次に、制御点設定部306gは、取得された被写体切り抜き画像やマスク画像P2の被写体領域2A内で動き制御点Jが既に設定されているか否かを判定する(ステップS52)。
なお、制御点設定処理については、後述する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
ステップS4にて、ユーザ端末2からの指示が、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、動画処理部306の動画再生部306jは、ユーザによる操作入力部202の所定操作に基づいて所望の背景画像(他の画像)の画像データを読み出して(ステップS61)、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する(ステップS62)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画再生部306jは、当該指定指示に係る背景画像の画像データを記憶部305から読み出して取得した後(ステップS61)、当該背景画像の画像データを動画像の背景として登録する(ステップS62)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
ステップS4にて、ユーザ端末2からの指示が、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて動き情報305aや動きの速さを設定する(ステップS71)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の動きモデルのモデル名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一のモデル名(例えば、フラダンス等)の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、記憶部305に記憶されている複数の動き情報305a、…の中で、当該指定指示に係る動きモデルのモデル名と対応付けられている動き情報305aを設定する。なお、動画処理部306は、複数の動き情報305a、…の中で、例えば、デフォルトとして設定されている動き情報305aやユーザにより前回指定された動き情報305aを自動的に指定するようにしても良い。
また、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の動きの速さ(例えば、1/2倍、標準(等倍)、2倍等)の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の速さ(例えば、標準等)の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る速さを被写体画像の動きの速さとして設定する。
その後、動画処理部306の動画再生部306jは、設定された動き情報305aや動きの速さを動画像の動きの内容として所定の格納手段に登録する(ステップS72)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
ここで、動画像の生成が可能な状態でないと判定されると(ステップS8;NO)、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
一方、ステップS8にて、動画像の生成が可能な状態であると判定されると(ステップS8;YES)、図4に示すように、中央制御部301のCPUは、処理をステップS10に移行させる。
即ち、ステップS9にて、ユーザ端末2の中央制御部201が、ユーザによる操作入力部202の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS9)。
そして、ステップS10にて、サーバ3の中央制御部301のCPUによって、動画像のプレビュー指示が入力されたと判定されると(ステップS10;YES)、動画処理部306の動画再生部306jは、設定済みの曲名に対応する演奏情報305bを動画像とともに自動的に演奏される情報として所定の格納手段に登録する(ステップS11)。
続けて、動画処理部306は、動画再生部306jによる所定の曲の演奏が終了したか否かを判定する(ステップS13)。
ここで、曲の演奏が終了していないと判定されると(ステップS13;NO)、動画処理部306のフレーム生成部306hは、動き情報305aに応じて変形させた被写体領域の画像の基準フレーム画像を生成する(ステップS14)。具体的には、フレーム生成部306hは、格納手段に登録されている動き情報305aに従って所定の時間間隔で移動する複数の動き基準点Q、…の座標情報をそれぞれ取得して、当該動き基準点Qの各々に対応する各動き制御点Jの座標を算出する。そして、フレーム生成部306hは、算出された座標に動き制御点Jを逐次移動させていくとともに、動き制御点Jの移動に応じて被写体領域の画像内に設定される所定の画像領域を移動させたり変形させることで、基準フレーム画像を生成する。
また、動画処理部306は、基準フレーム画像と背景画像とを公知の画像合成手法を用いて合成する。具体的には、動画処理部306は、例えば、背景画像の各画素のうち、アルファ値が「0」の画素は透過させ、アルファ値が「1」の画素は基準フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「0<α<1」の画素は1の補数(1−α)を用いて基準フレーム画像の被写体領域を切り抜いた画像(背景画像×(1−α))を生成した後、アルファマップにおける1の補数(1−α)を用いて基準フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を基準フレーム画像から減算し、それを被写体領域を切り抜いた画像(背景画像×(1−α))と合成する。
また、動画処理部306は、補間フレーム画像と背景画像とを、上記基準フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する。
次に、動画処理部306は、処理をステップS18に戻し、曲の演奏が終了したか否かを判定する(ステップS13)。
上記の処理は、ステップS13にて、曲の演奏が終了したと判定されるまで(ステップS13;YES)、繰り返し実行される。
そして、曲の演奏が終了したと判定されると(ステップS13;YES)、図5に示すように、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
具体的には、音出力部204は、演奏情報305bに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部203は、当該自動的に演奏される曲の所定のタイミングで基準フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
以下に、動画処理部306による制御点設定処理について、図6〜図14を参照して詳細に説明する。
図6は、動画生成処理における制御点設定処理に係る動作の一例を示すフローチャートである。
次に、動画処理部306は、被写体切り抜き画像及びマスク画像P2の被写体領域2Aの画像を解析する被写体画像解析処理を行う(ステップS102)。なお、被写体画像解析処理については、後述する。
その後、動画処理部306は、マスク画像P2の被写体領域2A内で各動き基準点Qに対応する動き制御点Jの位置を特定する制御点位置特定処理(図9参照)を行う(ステップS104)。なお、制御点位置特定処理については、後述する。
続けて、動画処理部306は、被写体切り抜き画像やマスク画像P2の被写体領域2A内で、制御点位置特定処理により特定された各位置に動き基準点Qに対応する動き制御点Jを設定して(ステップS105)、制御点設定処理を終了する。
以下に、動画処理部306による基準画像解析処理について、図7〜図9を参照して詳細に説明する。
図7は、動画生成処理における基準画像解析処理に係る動作の一例を示すフローチャートである。
次に、動画処理部306の骨格点設定部306dは、基準画像P1の下側の所定範囲、例えば、基準画像P1をy軸方向(上下方向)に6等分したうちの4/6から5/6程度の範囲内の重心位置を特定する(ステップS202)。そして、骨格点設定部306dは、重心位置からy軸のマイナス方向(上方向)に走査して、モデル領域1Aを構成する輪郭線との交点を第1輪郭点として特定する(ステップS203)。
ここで、評価値「DD」が最大となる位置「k」を「maxK」とすると、モデル股下基準点R1の座標は、「tr(maxK)」で規定される。なお、下記式(1)において、「tr(n).y」は経路「tr」内の位置nでのy座標を表している。
式(1);
DD = -(yd_(k-2) + yd_(k-1)) + (yd_(k+1) + yd_(k+2))
yd_(n) = tr(n+1).y - tr(n).y
続けて、骨格点設定部306dは、左右のモデル股関節骨格点S1、S2の各々からx軸方向に沿って当該股関節骨格点を基準として外側となる各方向に走査し、基準画像P1のモデル領域1Aを構成する輪郭線との交点を第2輪郭点としてそれぞれ特定する(ステップS206;図9(b)参照)。
ここで、評価値「DD」が最大となる位置「k」を「maxK」とすると、左右のモデル脇下基準点R2、R3の座標は、「tr(maxK)」で規定される。なお、下記式(2)において、左側の経路「tr」内の位置nの座標は、(tr(n).x, tr(n).y)で取得できる。また、下記式(3)において、右側の経路「tr」内の位置nの座標は、(tr(n).x, tr(n).y)で取得できる。
式(2);
DD = -(d_tr(k-2).y + d_tr(k-1).y) - (d_tr(k+1).x + d_tr(k+2).x )
d_tr(n) = tr(n+1) - tr(n)
式(3);
DD = -(d_tr(k-2).y + d_tr(k-1).y) + (d_tr(k+1).x + d_tr(k+2).x )
d_tr(n) = tr(n+1) - tr(n)
そして、骨格点設定部306dは、基準画像P1のモデル領域1A内にて左右のモデル肩骨格点S3、S4の中点を特定し、特定された中点をモデル肩中央骨格点S5として設定する(ステップS209;図9(b)参照)。
具体的には、骨格点設定部306dは、基準画像P1のモデル領域1A内にて左モデル肩骨格点S3からモデル骨格線画像P1aのモデル骨格線a1上を走査し、左手先側の先端部までの距離を基準として所定の比率となる位置に、左モデル肘骨格点S6及び左モデル手首骨格点S7を設定する。同様に、骨格点設定部306dは、例えば、基準画像P1のモデル領域1A内にて右モデル肩骨格点S4からモデル骨格線画像P1aのモデル骨格線a1上を走査し、右手先側の先端部までの距離を基準として所定の比率となる位置に、右モデル肘骨格点S8及び右モデル手首骨格点S9を設定する。
具体的には、骨格点設定部306dは、基準画像P1のモデル領域1A内にて左モデル股関節骨格点S1からモデル骨格線画像P1aのモデル骨格線a1上を走査し、左足先側の先端部までの距離を基準として所定の比率となる位置に、左モデル膝骨格点S10及び左モデル足首骨格点S11を設定する。同様に、骨格点設定部306dは、例えば、基準画像P1のモデル領域1A内にて右モデル股関節骨格点S2からモデル骨格線画像P1aのモデル骨格線a1上を走査し、右足先側の先端部までの距離を基準として所定の比率となる位置に、右モデル膝骨格点S12及び右モデル足首骨格点S13を設定する。
具体的には、領域特定部306eは、左モデル肩骨格点S3からy軸の各方向(上下両方向)に走査し、モデル領域1Aを構成する輪郭線との各交点をそれぞれ特定する。そして、領域特定部306eは、モデル領域1Aのうち、二つの交点を結ぶ線分により分割され、モデル肩中央骨格点S5と反対側(手先側)に存する領域を人体の左腕に相当する左モデル腕領域B1として特定する。同様に、領域特定部306eは、人体の右腕に相当する右モデル腕領域B2についても同様の処理を行って、右モデル腕領域B2を特定する。
具体的には、領域特定部306eは、左モデル股関節骨格点S1からx軸の各方向(左右両方向)に走査し、モデル領域1Aを構成する輪郭線との各交点をそれぞれ特定する。そして、領域特定部306eは、モデル領域1Aのうち、二つの交点を結ぶ線分により分割され、モデル肩中央骨格点S5と反対側(足先側)に存する領域を人体の左脚に相当する左モデル脚領域B3として特定する。同様に、領域特定部306eは、人体の右脚に相当する右モデル脚領域B4についても同様の処理を行って、右モデル脚領域B4を特定する。
具体的には、領域特定部306eは、左モデル肘骨格点S6を通り、y軸方向に沿って延在する直線の輪郭線との各交点を特定し、当該交点間の距離を左モデル腕領域B1の太さ(幅)として特定する。同様に、領域特定部306eは、右モデル腕領域B2の太さを特定する。
また、領域特定部306eは、左モデル膝骨格点S10を通り、x軸方向に沿って延在する直線の輪郭線との各交点を特定し、当該交点間の距離を左モデル脚領域B3の太さとして特定する。同様に、領域特定部306eは、右モデル脚領域B4の太さを特定する。
また、領域特定部306eは、左右のモデル肩骨格点S3、S4間の距離をモデル体領域B5の太さとして特定する。
これにより、基準画像解析処理を終了する。
以下に、動画処理部306による被写体画像解析処理について、図10を参照して詳細に説明する。
図10(a)及び図10(b)は、動画生成処理における被写体画像解析処理に係る画像の一例を模式的に示す図である。
即ち、被写体画像解析処理では、骨格点設定部306dは、モデル股下基準点R1並びに左右のモデル脇下基準点R2、R3の特定手法と同様の処理をマスク画像P2(図10(a)参照)に対して行って、当該マスク画像P2の被写体領域2A内で、被写体股下基準点H1並びに左右の被写体脇下基準点H2、H3を特定する(図10(b)参照)。
また、骨格点設定部306dは、左右のモデル股関節骨格点S1、S2、左右のモデル肩骨格点S3、S4、モデル肩中央骨格点S5、左右のモデル肘骨格点S6、S8、左右のモデル手首骨格点S7、S9、左右のモデル膝骨格点S10、S12、左右のモデル足首骨格点S11、S13並びにモデル頭頂骨格点S14の設定手法と同様の処理をマスク画像P2に対して行って、当該マスク画像P2の被写体領域2A内で、左右の被写体股関節骨格点I1、I2、左右の被写体肩骨格点I3、I4、被写体肩中央骨格点I5、左右の被写体肘骨格点I6、I8、左右の被写体手首骨格点I7、I9、左右の被写体膝骨格点I10、I12、左右の被写体足首骨格点I11、I13並びに被写体頭頂骨格点I14を設定する。
以下に、動画処理部306による基準点位置特定処理について、図11、図12を参照して詳細に説明する。
図11は、動画生成処理における基準点位置特定処理に係る動作の一例を示すフローチャートである。
なお、ステップS302における領域Bの特定は、第1及び第2モデル骨格点「KP1」、「KP2」の特定後に行われても良い。この場合には、当該第1及び第2モデル骨格点「KP1」、「KP2」が含まれる部位の領域B(即ち、処理対象となる動き基準点Q、第1及び第2モデル骨格点「KP1」、「KP2」が含まれる部位の領域B)を特定しても良い。
ここで、「0」以下であると判定されると(ステップS307;YES)、基準点位置特定部306fは、二つの候補骨格点「KP2_1」、「KP2_2」の中で、動き基準点Qに近い方の候補骨格点を第2モデル骨格点「KP2」として特定する(ステップS308)。
一方、ステップS307にて、「0」以下でないと判定されると(ステップS307;NO)、基準点位置特定部306fは、内積「IP1」のみが「0」よりも大きいか否かを判定する(ステップS309)。
一方、S309にて、内積「IP1」のみが「0」よりも大きくないと判定されると(ステップS309;NO)、基準点位置特定部306fは、内積「IP2」に係る候補骨格点「KP2_2」を第2モデル骨格点「KP2」として特定する(ステップS311)。
具体的には、基準点位置特定部306fは、第1モデル骨格点「KP1」と第2モデル骨格点「KP1」とを結ぶ第1線分「L1」と、当該第1線分「L1」に対して直交し、動き基準点Qを通る直線との交点「CP1」の位置を特定する。そして、基準点位置特定部306fは、第1線分「L1」の長さを「1」として、第1モデル骨格点「KP1」及び第2モデル骨格点「KP2」の各々から交点「CP1」までの距離の比率を第1比率として特定する。
また、基準点位置特定部306fは、線分「L1」に対して直交し、且つ、第1モデル骨格点「KP1」から動き基準点Q側に延在する線分であって、領域特定部306eにより特定された領域の長さの半分の長さの第2線分「L2」を特定する。続けて、基準点位置特定部306fは、第2線分「L2」と、当該第2線分「L2」に対して直交し、動き基準点Qを通る直線との交点「CP2」の位置を特定する。そして、基準点位置特定部306fは、第2線分「L2」の長さを「1」として、第1モデル骨格点「KP1」及び第2線分「L2」の端部「L2a」の各々から交点「CP2」までの距離の比率を第2比率として特定する。
ここで、全ての動き基準点Qについて位置情報を特定していないと判定されると(ステップS313;NO)、基準点位置特定部306fは、次の処理対象として、複数の動き基準点Q、…の中で、未だ指定されていない動き基準点Q(例えば、右手首動き基準点Q2等)を指定した後(ステップS314)、処理をステップS302に移行する。
その後、動画処理部306は、ステップS302以降の処理を、ステップS313にて全ての動き基準点Qについて位置情報を特定したと判定(ステップS313;YES)されるまで、逐次繰り返し実行する。これにより、複数の動き基準点Q、…の各々について位置情報(第1比率及び第2比率)が特定される。
以下に、動画処理部306による制御点位置特定処理について、図13、図14を参照して詳細に説明する。
図13は、動画生成処理における制御点位置特定処理に係る動作の一例を示すフローチャートである。
ここで、全ての動き制御点Jの位置を特定していないと判定されると(ステップS406;NO)、制御点設定部306gは、次の処理対象として、複数の動き基準点Q、…の中で、未だ指定されていない動き基準点Q(例えば、右手首動き基準点Q2等)を指定した後(ステップS407)、処理をステップS402に移行する。
その後、動画処理部306は、ステップS402以降の処理を、ステップS406にて全ての動き制御点Jの位置を特定したと判定(ステップS406;YES)されるまで、逐次繰り返し実行する。これにより、複数の動き基準点Q、…の各々について対応する動き制御点Jの位置が特定される。
さらに、各動き基準点Qに対する、モデル領域1Aにおける二つのモデル骨格点S、Sが含まれる部位の輪郭部分の相対的な位置関係に係る情報を含む位置情報を特定するので、各動き基準点Qに対する二つのモデル骨格点S、Sが含まれる部位の輪郭部分の相対的な位置関係を考慮して、被写体領域2A内で複数の動き制御点J、…を適正な位置に設定することができる。
特に、被写体領域2Aの輪郭部分であって人体を構成する複数の部位どうしが連結された部分にて特定された被写体骨格基準点Hに基づいて、マスク画像P2の被写体領域2A内で複数の被写体骨格点I、…を設定するので、人体を構成する複数の部位や当該部位どうしの連結性を考慮して、被写体領域2A内で複数の被写体骨格点I、…を適正な位置に設定することができる。
また、モデル領域1A内で複数の動き基準点Q、…の各々を所定方向に挟むように設定された隣合う二つのモデル骨格点S、Sに対応する二つの被写体骨格点I、Iを特定し、被写体領域2A内で、各動き基準点Qに対する二つのモデル骨格点S、Sの相対的な位置関係に対応する相対的な位置関係を二つの被写体骨格点I、Iに対して有する位置に各動き制御点Jを設定するので、各動き基準点Qに対する二つのモデル骨格点S、Sの相対的な位置関係を被写体領域2A内で二つの被写体骨格点I、Iに反映させることができ、モデル領域1A内での隣合う二つのモデル骨格点S、Sに対する各動き基準点Qの位置に対応させるように、被写体領域2A内で二つの被写体骨格点I、Iに対して動き制御点Jを設定することができる。
さらに、被写体領域2A内で、隣合う二つのモデル骨格点S、Sが含まれる部位の領域Bに対応する対応領域Dを特定し、対応領域D内で、各動き基準点Qに対する二つのモデル骨格点S、Sが含まれる部位の輪郭部分の相対的な位置関係に対応する相対的な位置関係を当該対応領域Dの輪郭部分に対して有する位置に各動き制御点Jを設定するので、各動き基準点Qに対する二つのモデル骨格点S、Sが含まれる部位の輪郭部分の相対的な位置関係を対応領域Dの輪郭部分に反映させることができ、モデル領域1A内での隣合う二つのモデル骨格点S、Sが含まれる部位の輪郭部分に対する各動き基準点Qの位置に対応させるように、対応領域D内で二つの被写体骨格点I、Iが含まれる部位の輪郭部分に対して動き制御点Jを設定することができる。
例えば、上記実施形態にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(制御点設定装置)3によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、制御点設定装置の構成は適宜任意に変更可能である。即ち、裏面画像の生成に係る動画処理部306の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で動画生成処理を行うようにしても良い。
また、上記実施形態の動画生成処理にあっては、基準位置特定処理(図11参照)の前に、被写体画像解析処理を行うようにしたが、これらの処理の順序は一例であってこれに限られるものではなく、逆にしても良いし、同時に行っても良い。
なお、被写体切り抜き画像や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、特定処理ルーチン、取得処理ルーチン、制御点設定処理ルーチンを含むプログラムを記憶しておく。そして、特定処理ルーチンにより中央制御部301のCPUを、基準画像P1の動体モデルの骨格に係るモデル骨格情報に基づいて、モデル領域1A内における複数の動き基準点Q、…の各々の位置に係る位置情報を特定する特定手段として機能させるようにしても良い。また、取得処理ルーチンにより中央制御部301のCPUを、被写体領域が含まれる被写体画像を取得する取得手段として機能させるようにしても良い。また、制御点設定処理ルーチンにより中央制御部301のCPUを、取得手段により取得された被写体画像の被写体の骨格に係る被写体骨格情報及び特定手段により特定された位置情報に基づいて、被写体領域内で複数の動き基準点Q、…の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点Jを複数設定する制御点設定手段として機能させるようにしても良い。
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
<請求項1>
動体モデルの基準画像と対応付けられ、当該基準画像の動体モデルが含まれるモデル領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置を用いた制御点設定方法であって、
前記基準画像の動体モデルの骨格に係るモデル骨格情報に基づいて、前記モデル領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定ステップと、
被写体領域が含まれる被写体画像を取得する取得ステップと、
この取得ステップにて取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定ステップにて特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定ステップと、
を含むことを特徴とする制御点設定方法。
<請求項2>
前記モデル骨格情報に基づいて、前記モデル領域内で前記動体モデルの骨格と関連付けられたモデル骨格点を複数設定する骨格点設定ステップを更に含み、
前記位置情報は、前記複数の動き基準点の各々に対する、前記骨格点設定ステップにて設定された前記複数のモデル骨格点の相対的な位置関係に係る情報を含むことを特徴とする請求項1に記載の制御点設定方法。
<請求項3>
前記特定ステップは、更に、
前記複数のモデル骨格点の中で、前記複数の動き基準点の各々を所定方向に挟むように設定された隣合う二つのモデル骨格点を特定し、各動き基準点に対する当該二つのモデル骨格点の相対的な位置関係に係る情報を含む前記位置情報を特定することを特徴とする請求項2に記載の制御点設定方法。
<請求項4>
前記特定ステップは、更に、
前記モデル領域における、前記二つのモデル骨格点が含まれる部位の輪郭部分を特定し、各動き基準点に対する当該輪郭部分の相対的な位置関係に係る情報を含む前記位置情報を特定することを特徴とする請求項3に記載の制御点設定方法。
<請求項5>
前記基準画像は、前記動体モデルとしてのヒトを所定方向から見た状態を表す画像であり、
前記骨格点設定ステップは、
前記モデル領域の輪郭部分であって人体を構成する複数の部位どうしが連結された部分にて骨格基準点を特定し、当該骨格基準点に基づいて前記モデル領域内で前記複数のモデル骨格点を設定することを特徴とする請求項2〜4の何れか一項に記載の制御点設定方法。
<請求項6>
前記骨格点設定ステップは、更に、
前記被写体骨格情報に基づいて、前記被写体領域内で前記被写体の骨格と関連付けられた被写体骨格点を複数設定し、
前記制御点設定ステップは、
前記複数の動き基準点の各々に対する、前記特定ステップにて特定された前記複数のモデル骨格点の相対的な位置関係に係る情報及び前記骨格点設定ステップにて前記被写体領域内で設定された前記複数の被写体骨格点に基づいて、当該被写体領域内で前記複数の動き制御点を設定することを特徴とする請求項2〜5の何れか一項に記載の制御点設定方法。
<請求項7>
前記被写体画像は、前記被写体としてのヒトを所定方向から見た状態を表す画像であり、
前記骨格点設定ステップは、
前記被写体領域の輪郭部分であって人体を構成する複数の部位どうしが連結された部分にて骨格基準点を特定し、当該骨格基準点に基づいて前記被写体領域内で前記複数の被写体骨格点を設定することを特徴とする請求項6に記載の制御点設定方法。
<請求項8>
前記制御点設定ステップは、
前記骨格点設定ステップにて前記被写体領域内で設定された前記複数の被写体骨格点のうち、前記特定ステップにて特定された前記複数の動き基準点の各々を所定方向に挟むように設定された隣合う二つのモデル骨格点に対応する二つの被写体骨格点を特定するステップを含み、
前記被写体領域内で、各動き基準点に対する前記二つのモデル骨格点の相対的な位置関係に対応する相対的な位置関係を前記二つの被写体骨格点に対して有する位置に各動き制御点を設定することを特徴とする請求項6又は7に記載の制御点設定方法。
<請求項9>
前記制御点設定ステップは、
前記被写体領域内で、前記隣合う二つのモデル骨格点が含まれる部位の領域に対応する対応領域を特定するステップを含み、
前記対応領域内で、各動き基準点に対する前記二つのモデル骨格点が含まれる部位の輪郭部分の相対的な位置関係に対応する相対的な位置関係を当該対応領域の輪郭部分に対して有する位置に各動き制御点を設定することを特徴とする請求項8に記載の制御点設定方法。
<請求項10>
前記動き情報の前記複数の動き基準点の動きに基づいて前記複数の動き制御点を動かし、当該動き制御点の動きに従って前記被写体画像の前記被写体領域を変形させたフレーム画像を複数生成する生成ステップを更に含むことを特徴とする請求項1〜9の何れか一項に記載の制御点設定方法。
<請求項11>
前記取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜10の何れか一項に記載の制御点設定方法。
<請求項12>
動体モデルの基準画像と対応付けられ、当該基準画像の動体モデルが含まれるモデル領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置であって、
前記基準画像の動体モデルの骨格に係るモデル骨格情報に基づいて、前記モデル領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定手段と、
被写体領域が含まれる被写体画像を取得する取得手段と、
この取得手段により取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定手段により特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定手段と、
を備えたことを特徴とする制御点設定装置。
<請求項13>
動体モデルの基準画像と対応付けられ、当該基準画像の動体モデルが含まれるモデル領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置のコンピュータを、
前記基準画像の動体モデルの骨格に係るモデル骨格情報に基づいて、前記モデル領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定手段、
被写体領域が含まれる被写体画像を取得する取得手段、
この取得手段により取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定手段により特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定手段、
として機能させることを特徴とするプログラム。
1 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
305 記憶部
305a 動き情報
306 動画処理部
306a 第1骨格情報取得部
306b 画像取得部
306c 第2骨格情報取得部
306d 骨格点設定部
306f 基準点位置特定部
306g 制御点設定部
306h フレーム生成部
Claims (13)
- 基準画像に含まれる動体モデルの領域内に設定された複数の動き基準点の動き情報を記憶する記憶手段を備える制御点設定装置を用いた制御点設定方法であって、
前記動体モデルの骨格に係るモデル骨格情報に基づいて、前記動体モデルの領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定ステップと、
被写体領域が含まれる被写体画像を取得する取得ステップと、
この取得ステップにて取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定ステップにて特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定ステップと、
を含むことを特徴とする制御点設定方法。 - 前記モデル骨格情報に基づいて、前記動体モデルの領域内で前記動体モデルの骨格と関連付けられたモデル骨格点を複数設定する骨格点設定ステップを更に含み、
前記位置情報は、前記複数の動き基準点の各々に対する、前記骨格点設定ステップにて設定された前記複数のモデル骨格点の相対的な位置関係に係る情報を含むことを特徴とする請求項1に記載の制御点設定方法。 - 前記特定ステップは、更に、
前記複数のモデル骨格点の中で、前記複数の動き基準点の各々を所定方向に挟むように設定された隣合う二つのモデル骨格点を特定し、各動き基準点に対する当該二つのモデル骨格点の相対的な位置関係に係る情報を含む前記位置情報を特定することを特徴とする請求項2に記載の制御点設定方法。 - 前記特定ステップは、更に、
前記動体モデルの領域における、前記二つのモデル骨格点が含まれる部位の輪郭部分を特定し、各動き基準点に対する当該輪郭部分の相対的な位置関係に係る情報を含む前記位置情報を特定することを特徴とする請求項3に記載の制御点設定方法。 - 前記基準画像は、前記動体モデルとしてのヒトを所定方向から見た状態を表す画像であり、
前記骨格点設定ステップは、
前記動体モデルの領域の輪郭部分であって人体を構成する複数の部位どうしが連結された部分にて骨格基準点を特定し、当該骨格基準点に基づいて前記動体モデルの領域内で前記複数のモデル骨格点を設定することを特徴とする請求項2〜4の何れか一項に記載の制御点設定方法。 - 前記骨格点設定ステップは、更に、
前記被写体骨格情報に基づいて、前記被写体領域内で前記被写体の骨格と関連付けられた被写体骨格点を複数設定し、
前記制御点設定ステップは、
前記複数の動き基準点の各々に対する、前記特定ステップにて特定された前記複数のモデル骨格点の相対的な位置関係に係る情報及び前記骨格点設定ステップにて前記被写体領域内で設定された前記複数の被写体骨格点に基づいて、当該被写体領域内で前記複数の動き制御点を設定することを特徴とする請求項2〜5の何れか一項に記載の制御点設定方法。 - 前記被写体画像は、前記被写体としてのヒトを所定方向から見た状態を表す画像であり、
前記骨格点設定ステップは、
前記被写体領域の輪郭部分であって人体を構成する複数の部位どうしが連結された部分にて骨格基準点を特定し、当該骨格基準点に基づいて前記被写体領域内で前記複数の被写体骨格点を設定することを特徴とする請求項6に記載の制御点設定方法。 - 前記制御点設定ステップは、
前記骨格点設定ステップにて前記被写体領域内で設定された前記複数の被写体骨格点のうち、前記特定ステップにて特定された前記複数の動き基準点の各々を所定方向に挟むように設定された隣合う二つのモデル骨格点に対応する二つの被写体骨格点を特定するステップを含み、
前記被写体領域内で、各動き基準点に対する前記二つのモデル骨格点の相対的な位置関係に対応する相対的な位置関係を前記二つの被写体骨格点に対して有する位置に各動き制御点を設定することを特徴とする請求項6又は7に記載の制御点設定方法。 - 前記制御点設定ステップは、
前記被写体領域内で、前記隣合う二つのモデル骨格点が含まれる部位の領域に対応する対応領域を特定するステップを含み、
前記対応領域内で、各動き基準点に対する前記二つのモデル骨格点が含まれる部位の輪郭部分の相対的な位置関係に対応する相対的な位置関係を当該対応領域の輪郭部分に対して有する位置に各動き制御点を設定することを特徴とする請求項8に記載の制御点設定方法。 - 前記動き情報の前記複数の動き基準点の動きに基づいて前記複数の動き制御点を動かし、当該動き制御点の動きに従って前記被写体画像の前記被写体領域を変形させたフレーム画像を複数生成する生成ステップを更に含むことを特徴とする請求項1〜9の何れか一項に記載の制御点設定方法。
- 前記取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜10の何れか一項に記載の制御点設定方法。
- 基準画像に含まれる動体モデルの領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置であって、
前記動体モデルの骨格に係るモデル骨格情報に基づいて、前記動体モデルの領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定手段と、
被写体領域が含まれる被写体画像を取得する取得手段と、
この取得手段により取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定手段により特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定手段と、
を備える制御点設定装置。 - 基準画像に含まれる動体モデルの領域内に設定された複数の動き基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置のコンピュータに、
前記動体モデルの骨格に係るモデル骨格情報に基づいて、前記動体モデルの領域内における前記複数の動き基準点の各々の位置に係る位置情報を特定する特定機能、
被写体領域が含まれる被写体画像を取得する取得機能、
取得された被写体画像の被写体の骨格に係る被写体骨格情報及び前記特定機能により特定された前記位置情報に基づいて、前記被写体領域内で前記複数の動き基準点の各々に対応する各位置に当該被写体領域の動きの制御に係る動き制御点を複数設定する制御点設定機能、
を実現させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011183547A JP5408205B2 (ja) | 2011-08-25 | 2011-08-25 | 制御点設定方法、制御点設定装置及びプログラム |
US13/592,094 US20130050225A1 (en) | 2011-08-25 | 2012-08-22 | Control point setting method, control point setting apparatus and recording medium |
CN2012103082860A CN103218772A (zh) | 2011-08-25 | 2012-08-27 | 控制点设定方法以及控制点设定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011183547A JP5408205B2 (ja) | 2011-08-25 | 2011-08-25 | 制御点設定方法、制御点設定装置及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013045335A JP2013045335A (ja) | 2013-03-04 |
JP2013045335A5 JP2013045335A5 (ja) | 2013-04-11 |
JP5408205B2 true JP5408205B2 (ja) | 2014-02-05 |
Family
ID=47743005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011183547A Expired - Fee Related JP5408205B2 (ja) | 2011-08-25 | 2011-08-25 | 制御点設定方法、制御点設定装置及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130050225A1 (ja) |
JP (1) | JP5408205B2 (ja) |
CN (1) | CN103218772A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI515605B (zh) * | 2013-01-29 | 2016-01-01 | 緯創資通股份有限公司 | 手勢辨識與控制方法及其裝置 |
WO2018132760A1 (en) * | 2017-01-13 | 2018-07-19 | Warner Bros. Entertainment, Inc. | Adding motion effects to digital still images |
WO2019110105A1 (en) * | 2017-12-07 | 2019-06-13 | Brainlab Ag | Patient positioning using a skeleton model |
CN110942422A (zh) * | 2018-09-21 | 2020-03-31 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置和计算机存储介质 |
CN109905593B (zh) | 2018-11-06 | 2021-10-15 | 华为技术有限公司 | 一种图像处理方法和装置 |
CN109727302B (zh) * | 2018-12-28 | 2023-08-08 | 网易(杭州)网络有限公司 | 骨骼创建方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322097A (ja) * | 2004-05-11 | 2005-11-17 | Nippon Telegr & Teleph Corp <Ntt> | 対象物像モデルのアニメーション表示装置、対象物像モデルのアニメーション表示方法および対象物像モデルのアニメーション表示プログラム |
JP4613313B2 (ja) * | 2005-04-01 | 2011-01-19 | 国立大学法人 東京大学 | 画像処理システムおよび画像処理プログラム |
JP2007004718A (ja) * | 2005-06-27 | 2007-01-11 | Matsushita Electric Ind Co Ltd | 画像生成装置及び画像生成方法 |
GB2431717A (en) * | 2005-10-31 | 2007-05-02 | Sony Uk Ltd | Scene analysis |
US8023726B2 (en) * | 2006-11-10 | 2011-09-20 | University Of Maryland | Method and system for markerless motion capture using multiple cameras |
WO2009086088A1 (en) * | 2007-12-21 | 2009-07-09 | Honda Motor Co., Ltd. | Controlled human pose estimation from depth image streams |
US8565476B2 (en) * | 2009-01-30 | 2013-10-22 | Microsoft Corporation | Visual target tracking |
US20100259547A1 (en) * | 2009-02-12 | 2010-10-14 | Mixamo, Inc. | Web platform for interactive design, synthesis and delivery of 3d character motion data |
CN101579238B (zh) * | 2009-06-15 | 2012-12-19 | 吴健康 | 人体运动捕获三维再现系统及其方法 |
KR101626065B1 (ko) * | 2009-10-13 | 2016-05-31 | 삼성전자주식회사 | 마커리스 모션 캡쳐링 장치 및 방법 |
US8213680B2 (en) * | 2010-03-19 | 2012-07-03 | Microsoft Corporation | Proxy training data for human body tracking |
EP2383696A1 (en) * | 2010-04-30 | 2011-11-02 | LiberoVision AG | Method for estimating a pose of an articulated object model |
US8437506B2 (en) * | 2010-09-07 | 2013-05-07 | Microsoft Corporation | System for fast, probabilistic skeletal tracking |
US8786680B2 (en) * | 2011-06-21 | 2014-07-22 | Disney Enterprises, Inc. | Motion capture from body mounted cameras |
US9536338B2 (en) * | 2012-07-31 | 2017-01-03 | Microsoft Technology Licensing, Llc | Animating objects using the human body |
-
2011
- 2011-08-25 JP JP2011183547A patent/JP5408205B2/ja not_active Expired - Fee Related
-
2012
- 2012-08-22 US US13/592,094 patent/US20130050225A1/en not_active Abandoned
- 2012-08-27 CN CN2012103082860A patent/CN103218772A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2013045335A (ja) | 2013-03-04 |
CN103218772A (zh) | 2013-07-24 |
US20130050225A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3601350B2 (ja) | 演奏画像情報作成装置および再生装置 | |
JP5434965B2 (ja) | 動画生成方法、動画生成装置及びプログラム | |
JP5408205B2 (ja) | 制御点設定方法、制御点設定装置及びプログラム | |
JP5375897B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
KR100339764B1 (ko) | 애니메이션작성장치및애니메이션작성방법 | |
JP6942300B2 (ja) | コンピュータグラフィックスのプログラム、表示装置、送信装置、受信装置、動画生成装置、データ変換装置、データ生成装置、情報処理方法及び情報処理システム | |
JP2000311251A (ja) | アニメーション作成装置および方法、記憶媒体 | |
JP5055223B2 (ja) | 映像コンテンツ生成装置及びコンピュータプログラム | |
JP2011175598A (ja) | 手話アニメーション生成装置及び手話アニメーション生成プログラム | |
JP4056167B2 (ja) | 図書情報検索空間構築・検索装置および図書情報検索空間構築・検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP6431259B2 (ja) | カラオケ装置、ダンス採点方法、およびプログラム | |
JP5408206B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP2017005371A (ja) | 共演映像演出装置および共演映像演出システム | |
JP2006196017A (ja) | アニメーション作成装置および方法、記憶媒体 | |
JPH11175061A (ja) | 制御装置およびカラオケ装置 | |
JP6313003B2 (ja) | カラオケ装置、画像出力方法、およびプログラム | |
JP5906897B2 (ja) | 動き情報生成方法、動き情報生成装置及びプログラム | |
JP5776442B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP5874426B2 (ja) | 制御点設定方法、制御点設定装置及びプログラム | |
JPH1166346A (ja) | アニメーション作成装置および記録媒体 | |
JP5919926B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP3535360B2 (ja) | 音響生成方法および音響生成装置および記録媒体 | |
JPH0991465A (ja) | アニメーション作成装置 | |
JP2009128922A (ja) | 画像生成装置及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130206 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130723 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131021 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5408205 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |