JP2013167924A - 制御点設定方法、制御点設定装置及びプログラム - Google Patents
制御点設定方法、制御点設定装置及びプログラム Download PDFInfo
- Publication number
- JP2013167924A JP2013167924A JP2012029149A JP2012029149A JP2013167924A JP 2013167924 A JP2013167924 A JP 2013167924A JP 2012029149 A JP2012029149 A JP 2012029149A JP 2012029149 A JP2012029149 A JP 2012029149A JP 2013167924 A JP2013167924 A JP 2013167924A
- Authority
- JP
- Japan
- Prior art keywords
- time
- control
- points
- predetermined
- point
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【解決手段】サーバ3であって、静止画像の被写体が含まれる被写体領域内で、モデル領域の隣合う3つの領域に設定されている3つの動き基準点の所定の基準時における基準位置に対応する対応位置に設定された3つの基準制御点のうちの何れか一の基準制御点と他の2つの基準制御点との相対的な位置関係、並びに、所定の基準時及びこの所定の基準時から所定時間経過した時点における3つの動き基準点のうち、何れか一の基準制御点に対応する一の動き基準点と他の2つの動き基準点との相対的な位置関係を基準として、所定時間経過した時点にて他の2つの基準制御点が存する位置をそれぞれ特定する制御点特定部306dを備えている。
【選択図】図3
Description
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置を用いた制御点設定方法であって、前記動き情報は、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた情報であり、静止画像を取得する取得ステップと、前記動き情報に基づいて、前記取得ステップにより取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定ステップと、前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定ステップと、前記設定ステップにより前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定ステップと、を含むことを特徴としている。
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置であって、前記動き情報は、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた情報であり、静止画像を取得する取得手段と、前記動き情報に基づいて、前記取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定手段と、前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定手段と、前記設定手段により前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定手段と、を備えることを特徴としている。
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示し、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた動き情報を記憶する記憶手段を備える制御点設定装置のコンピュータを、静止画像を取得する取得手段、前記動き情報に基づいて、前記取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定手段、前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定手段、前記設定手段により前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定手段、として機能させることを特徴としている。
図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により受信された演奏情報305bに基づいて、当該演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換し、増幅器を介してスピーカから、所定の音色、音高、音長で曲を放音する。また、音出力部204は、一の音源(例えば、楽器)の音を放音しても良いし、複数の音源の音を同時に放音しても良い。
ここで、被写体存在画像とは、所定の背景内に主要な被写体が存在する画像のことである。また、記録媒体Cには、撮像装置1の画像処理部(図示略)により所定の符号化形式(例えば、JPEG形式等)に従って符号化された被写体存在画像の画像データが記録されている。
具体的には、通信制御部206は、記録媒体制御部205から出力され入力された被写体存在画像の画像データを所定の通信ネットワークNを介してサーバ3に送信する。
サーバ3は、Web(World Wide Web)サーバとしてインターネット上にWebページ(例えば、動画生成用ページ)を開設する機能を具備するものであり、ユーザ端末2からのアクセスに応じて当該ユーザ端末2にWebページのページデータを送信する。また、サーバ3は、静止画像の被写体が含まれる被写体領域P内で、モデル領域Rの隣合う3つの領域に設定されている3つの動き基準点Qz、…の所定の基準時t1における基準位置に対応する対応位置に設定された3つの基準制御点Oz、…のうちの何れか一の基準制御点Ozと他の2つの基準制御点Oz、Ozとの相対的な位置関係、並びに、所定の基準時t1及びこの所定の基準時t1から所定時間経過した時点tnにおける3つの動き基準点Qz、…のうち、何れか一の基準制御点Ozに対応する一の動き基準点Qzと他の2つの動き基準点Qz、Qzとの相対的な位置関係を基準として、所定時間経過した時点tnにて他の2つの基準制御点Oz、Ozが存する位置をそれぞれ特定する。
図3に示すように、サーバ3は、具体的には、中央制御部301と、表示部302と、通信制御部303と、被写体切抜部304と、記憶部305と、動画処理部306等を備えて構成されている。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ3で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
具体的には、通信制御部303は、例えば、動画生成処理(後述)にてユーザ端末2から所定の通信ネットワークNを介して送信された被写体存在画像の画像データを受信して、当該画像データを中央制御部301のCPUに出力する。
中央制御部301のCPUは、入力された被写体存在画像の画像データを被写体切抜部304に出力する。
即ち、被写体切抜部304は、公知の被写体切抜手法を用いて、被写体存在画像から被写体が含まれる被写体領域Pが切り抜かれた被写体切り抜き画像を生成する。具体的には、被写体切抜部304は、中央制御部301のCPUから出力された被写体存在画像の画像データを取得し、例えば、ユーザによるユーザ端末2の操作入力部202(例えば、マウス等)の所定操作に基づいて、表示部203に表示されている当該被写体存在画像上に描画された境界線(図示略)により当該被写体存在画像を区分する。続けて、被写体切抜部304は、被写体存在画像の切抜線により区分される複数の区分領域の中で、被写体の背景を推定して当該背景の各画素の画素値に基づいて所定の演算を行って、被写体の背景色を所定の単一色として推定する。その後、被写体切抜部304は、所定の単一色の背景用画像と被写体存在画像との間で対応する各画素の差分情報(例えば、相違度マップ等)を生成する。そして、被写体切抜部304は、生成した差分情報の各画素の画素値を所定の閾値と比較して二値化した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行って面積が最大の画素集合を被写体部分とする。
その後、被写体切抜部304は、例えば、上記の面積が最大の画素集合が「1」、その他の部分が「0」である二値化された差分情報に対してローパスフィルタを施して境界部分に中間値を生じさせることでアルファ値を生成し、被写体切り抜き画像内で被写体領域Pの位置を示す位置情報としてのアルファマップ(図示略)を生成する。
アルファ値(0≦α≦1)とは、例えば、被写体存在画像の各画素について、被写体領域Pの画像を所定の背景に対してアルファブレンディングする際の重みを表すものである。この場合、被写体領域Pはアルファ値が「1」となり、被写体存在画像の所定の背景に対する透過度が0%となる。一方、被写体の背景部分はアルファ値が「0」となり、当該被写体存在画像の所定の背景に対する透過度が100%となる。
また、被写体切抜部304は、アルファマップに基づいて、被写体領域Pの各画素を第1の画素値(例えば、「1」等)とし、背景領域(図7(a)中、斜線を伏した領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像であるマスク画像P1(図7(a)参照)を生成する。即ち、被写体切抜部304は、被写体切り抜き画像内で被写体領域Pの位置を示す位置情報としてのマスク画像P1を生成する。
被写体切り抜き画像の画像データは、例えば、生成されたアルファマップやマスク画像P1等の位置情報と対応付けられたデータである。
また、被写体切り抜き画像の画像データとしては、例えば、RGBA形式の画像データを適用しても良く、具体的には、RGB色空間で規定される各色に透過度(A)の情報が付加されている。この場合には、被写体切抜部304は、透過度(A)の情報を利用して、被写体切り抜き画像内で被写体領域Pの位置を示す位置情報(図示略)を生成しても良い。
各動き情報305aは、所定空間、即ち、例えば、互いに直交する二軸(例えば、x軸(横軸)、y軸(縦軸)等)により規定される二次元の平面空間やこれらの二軸に加えて当該二軸に直交する軸(例えば、z軸等)により規定される三次元の立体的空間内における複数の基準点Q、…の変位(動き)を示す情報である。なお、動き情報305aは、二次元の平面空間を所定の回動軸周りに回転させることで複数の基準点Q、…の動きに奥行きをもたせるような情報であっても良い。
ここで、各基準点Qの位置は、動きのモデルとなる動体モデル(例えば、ヒトや動物等)の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。即ち、各基準点Qは、動きの基準となる基準フレーム(基準画像)F1の動体モデルが含まれるモデル領域R内に、動体モデルの骨格の形状や関節の位置等を考慮して設定されている。また、複数の基準点Q、…は、モデル領域Rの複数の領域毎に組をなして設定されている。例えば、モデル領域Rは、ヒトの腰部から頭部に亘る体幹に相当する体幹構成領域Raと、ヒトの左右の腕に相当する左右の腕構成領域Rb、Rcと、ヒトの左右の脚に相当する左右の脚構成領域Rd、Reとを有し、これら各構成領域の各々に基準点Qが所定数設定されている。例えば、体幹構成領域Raには、腰部側から頭部側にかけて第1〜第4体幹基準点Qa1〜Qa4が設定され、また、左腕構成領域Rbには、左脇下側から左手先側にかけて第1〜第6左腕基準点Qb1〜Qb6が設定され、また、右腕構成領域Rcには、右脇下側から右手先側にかけて第1〜第6右腕基準点Qc1〜Qc6が設定され、また、左脚構成領域Rdには、股関節側から左足先側にかけて第1〜第6左脚基準点Qd1〜Qd6が設定され、また、右脚構成領域Reには、股関節側から右足先側にかけて第1〜第6右脚基準点Qe1〜Qe6が設定されている(図4参照)。なお、基準点Qの個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
ここで、図4は、動体モデルとしてのヒトを正面から見た状態を模式的に表し、向かって左側に動体モデルとしてのヒトの右腕及び右脚が配置され、一方、向かって右側に動体モデルとしてのヒトの左腕及び左脚が配置されている。
具体的には、各動き情報305aは、例えば、基準フレームS1のモデル領域R内に設定されている複数の基準点Q、…を所定の踊りに対応させて移動させるような複数のフレームに対応する座標情報を含む。例えば、図4に示すように、動き情報305aは、ヒトの動体モデルの両方の腕を挙げ、且つ、両脚を開いた状態を模式的に表した基準フレームS1に対応する複数の基準点Q、…の座標情報、左腕を上げるとともに右腕を下げた状態を模式的に表した2番目のフレームS2に対応する複数の基準点Q、…の座標情報、さらに左腕を下げた状態を模式的に表した3番目のフレームS3に対応する複数の基準点Q、…の座標情報といったように、複数のフレームが時間軸に沿って所定の時間間隔を空けて連続して並べられている(図4にあっては、3番目以降のフレームの座標情報の図示は省略する)。
なお、複数の基準点Q、…の座標情報の各々は、例えば、左上隅部を原点(0,0)とするXY平面空間における絶対位置座標が規定された情報であっても良いし、基準点Qの基準位置(例えば、初期位置等)の座標情報に対する各基準点Qの相対的な移動量が規定された情報であっても良い。
また、図4に示した動き情報305aは、一例であってこれに限られるものではなく、動きの種類等は適宜任意に変更可能である。
演奏情報305bは、動画処理部306の動画再生部306i(後述)により動画像の再生とともに自動的に曲を演奏するための情報である。即ち、演奏情報305bは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報305bは、例えば、MIDI(Musical Instruments Digital Interface)規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能(Tickカウント数)等が規定されたヘッダ情報と、各パートに割り当てられた音源(例えば、楽器等)に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
即ち、画像取得部306aは、取得手段として、動画生成処理の処理対象となる静止画像を取得する。具体的には、画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像の画像データと、当該被写体切り抜き画像の画像データと対応付けられているマスク画像P1(図7(a)参照)の画像データを取得する。
即ち、第1制御点設定部306bは、設定手段として、動体モデルの動き情報305aに基づいて、画像取得部306aにより取得された静止画像(例えば、マスク画像P1等)の被写体領域P内で、モデル領域Rの隣合う3つの領域(例えば、体幹構成領域Ra、左右の腕構成領域Rb、Rc等)に設定されている3つの基準点Qの所定の基準時t1における基準位置に対応する対応位置に当該被写体領域Pの動きの制御に係る制御点Oを基準制御点Oz(図14(b)参照)としてそれぞれ設定する。
ここで、所定の基準時t1における基準位置は、動き情報305aに従って動体モデルが動く前の基準点Qの所定空間での初期位置を含む。基準点Qの所定空間での初期位置とは、例えば、1フレーム目に相当し、静止状態の動体モデルに対応する基準フレームS1における位置座標のことである。なお、所定フレーム目(例えば、3フレーム目等)に相当するフレームにおける複数の基準点Q、…の位置座標を基準位置としても良い。
例えば、被写体領域Pの体幹に相当する体幹対応領域Paに、体幹構成領域Raに設定されている第1〜第4体幹基準点Qa1〜Qa4に対応する第1〜第4体幹制御点Oa1〜Oa4が設定される。また、被写体領域Pの左腕に相当する左腕対応領域Pbに、左腕構成領域Rbに設定されている第1〜第6左腕基準点Qb1〜Qb6に対応する第1〜第6左腕制御点Ob1〜Ob6が設定され、また、被写体領域Pの右腕に相当する右腕対応領域Pcに、右腕構成領域Rcに設定されている第1〜第6右腕基準点Qc1〜Qc6に対応する第1〜第6右腕制御点Oc1〜Oc6が設定される。また、被写体領域Pの左脚に相当する左脚対応領域Pdに、左脚構成領域Rdに設定されている第1〜第6左脚基準点Qd1〜Qd6に対応する第1〜第6左脚制御点Od1〜Od6が設定され、また、被写体領域Pの右脚に相当する右脚対応領域Peに、右脚構成領域Reに設定されている第1〜第6右脚基準点Qe1〜Qe6に対応する第1〜第6右脚制御点Oe1〜Oe6が設定される。
上記のようにして被写体領域P内に設定された各制御点Oが有効な制御点Oとみなされ、当該有効な制御点Oが対応する基準点Qの移動に追随するように動くこととなる。
また、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて、制御点Oの設定位置が修正されてユーザ所望の位置が指定された場合には、第1制御点設定部306bは、指定されたユーザ所望の位置に制御点Oをそれぞれ設定するようにしても良い。
同様に、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて、何れかの制御点O(例えば、左腕の制御点O等)を無効とし当該制御点Oの設定を解除可能に構成されていても良い。
ここで、第1制御点設定部306bは、各対応領域の基準制御点Ozを隣合う対応領域との位置関係を考慮して設定するようにしても良い。例えば、隣合う3つの対応領域が体幹対応領域Paと左右の腕対応領域Pb、Pcの場合には、第1制御点設定部306bは、第2体幹制御点Oa2と第1左腕制御点Ob1と第1右腕制御点Oc1とを基準制御点Ozとして設定しても良い。また、例えば、隣合う3つの対応領域が体幹対応領域Paと左右の脚対応領域Pd、Peの場合には、第1制御点設定部306bは、第1体幹制御点Oa1と第1左脚制御点Od1と第1右脚制御点Oe1とを基準制御点Ozとして設定しても良い。
即ち、基準点特定部306cは、記憶部305に記憶されている動体モデル(例えば、ヒト)の動き情報305aに基づいて、所定の基準時t1に対応する基準フレームS1にてモデル領域Rの各構成領域に設定されている複数の基準点Q、…の中で、第1制御点設定部306bにより設定された基準制御点Ozに対応する動き基準点Qzの位置座標を特定する。ここで、第1制御点設定部306bによって各対応領域の基準制御点Ozが隣合う対応領域との位置関係を考慮して設定された場合には、基準点特定部306cも、モデル領域Rの隣合う3つの構成領域(例えば、体幹構成領域Raと左右の腕構成領域Rb、Rc等)にて各基準制御点Ozに対応する動き基準点Qz(図14(a)参照)の位置座標をそれぞれ特定する。
例えば、基準点特定部306cは、基準制御点Ozとして第2体幹制御点Oa2と第1左腕制御点Ob1と第1右腕制御点Oc1とが設定された場合には、各制御点Oに対応する第2体幹基準点Qa2と第1左腕基準点Qb1と第1右腕基準点Qc1とを動き基準点Qzとしてその位置座標を特定する。同様に、基準点特定部306cは、基準制御点Ozとして第1体幹制御点Oa1と第1左脚制御点Od1と第1右脚制御点Oe1とが設定された場合には、各制御点Oに対応する第1体幹基準点Qa1と第1左脚基準点Qd1と第1右脚基準点Qe1とを動き基準点Qzとしてその位置座標を特定する。
ここで、各基準点Qの位置座標の取得は、複数の基準点Q、…が組をなすモデル領域Rの複数の構成領域毎に行われても良い。これにより、基準点特定部306cは、モデル領域Rを構成する隣合う3つの構成領域の各々に対応する各組の複数の基準点Q、…のうち、所定の基準時t1から所定時間経過した時点tnにおける二次元の平面空間(所定空間)での3つの動き基準点Qz、…以外の基準点Qの位置もそれぞれ特定する。
このように、基準点特定部306cは、モデル領域Rの複数の構成領域の各々に設定されている動き基準点Qzを含む全ての基準点Qについて、所定の基準時t1から所定時間経過した時点tnに対応する各フレーム内での位置座標を特定する。
即ち、制御点特定部306dは、動き情報305aに基づいて所定の時間間隔で移動する各基準点Qに対応する各制御点Oの二次元の平面空間(例えば、XY平面空間)での位置座標を特定する。
ここで、制御点特定部306dは、動き情報305aに基づいて、被写体領域Pの各対応領域(例えば、体幹対応領域Pa、左右の腕対応領域Pb、Pc、左右の脚対応領域Pd、Pe等)毎に制御点Oの位置をそれぞれ特定する。例えば、制御点特定部306dは、被写体領域Pの各対応領域に設定されている複数の制御点O、…(例えば、体幹対応領域Paの第1〜第4体幹制御点Oa1〜Oa4等)の所定の基準時t1から所定時間経過した時点tnにおける位置座標を、モデル領域Rの各対応領域に対応する構成領域にて基準点特定部306cにより特定された当該時点tnにおける複数の基準点Q、…(例えば、体幹構成領域Raの第1〜第4体幹基準点Qa1〜Qa4等)の位置座標を基準として特定する。
そして、制御点特定部306dは、算出された移動比率Rx、Ryを基準として、XY平面空間にて基準制御点Ozが存する位置を特定する。例えば、制御点特定部306dは、移動比率Rx、Ryと静止画像(例えば、マスク画像P1)のX軸及びY軸の各方向の大きさ(例えば、画素数)i_wd、i_htとを乗算して、XY平面空間にて基準制御点Ozが存する位置を特定する(図11(b)参照)。
なお、被写体領域Pの他の対応領域、例えば、左右の腕対応領域Pb、Pc、左右の脚対応領域Pd、Pe等における基準制御点Oz、即ち、第1左腕制御点Ob1、第1右腕制御点Oc1、第1左脚制御点Od1、第1右脚制御点Oe1等の位置座標の特定方法については後述する。
即ち、制御点特定部306dは、体幹構成領域Raの基準点特定部306cにより特定された所定の基準時t1から所定時間経過した時点tnにおける動き基準点Qz以外の基準点Qと当該体幹構成領域Raの他の基準点Qとの相対的な位置関係を基準として、第1制御点設定部306bにより設定された体幹対応領域Paの第1〜第4体幹制御点Oa1〜Oa4のうち、基準制御点Oz以外の制御点Oが存する位置をそれぞれ特定する。
ここで、他の基準点Qとは、動き基準点Qzと、当該動き基準点Qz以外の基準点Qとを含む。
また、制御点特定部306dは、所定時間経過した時点tnにおける体幹構成領域Raの第1〜第4体幹基準点Qa1〜Qa4のうち、動き基準点Qzと隣合う基準点Q(例えば、第1及び第3体幹基準点Qa1、Qa3等)については、この基準点Qと動き基準点Qzとを結ぶ線分のX軸からの偏角を各基準点Qの角度変位として算出し、一方、動き基準点Qzと隣合わない基準点Q(例えば、第4体幹基準点Qa4等)については、この基準点Qに隣合い、且つ、動き基準点Qz側の基準点Q(例えば、第3体幹基準点Qa3等)と当該基準点Qとを結ぶ線分のX軸からの偏角を各基準点Qの角度変位として算出する(図12(b)参照)。図12(b)にあっては、X軸を模式的に一点鎖線で表している。
なお、例えば、第1制御点設定部306bにより各対応領域内で所定の制御点O(例えば、体幹対応領域Paの第3体幹制御点Oa3等)が間引かれて設定されることで無効な制御点Oが存する場合には、当該無効な制御点O及び対応する基準点Qを除外して有効なものどうしの距離や有効な基準点Qの角度変位の算出を行うものとする。
具体的には、制御点特定部306dは、基準制御点Ozと隣合う制御点O(例えば、第1及び第3体幹制御点Oa1、Oa3等)については、所定時間経過した時点tnにおける基準制御点Ozの位置から対応する各基準点Q(例えば、第1及び第3体幹基準点Qa1、Qa3等)の角度変位の方向に当該制御点Oの後被写体距離Dinの分だけ変位させて、XY平面空間にて当該制御点Oが存する位置を特定する。一方、制御点特定部306dは、基準制御点Ozと隣合わない制御点O(例えば、第4体幹制御点Oa4等)については、この制御点Oに隣合い、且つ、基準制御点Oz側の制御点O(例えば、第3体幹制御点Oa3等)の位置から対応する各基準点Q(例えば、第4体幹基準点Qa4等)の角度変位の方向に当該制御点Oの後被写体距離Dinの分だけ変位させて、XY平面空間にて当該制御点Oが存する位置を特定する。図12(d)にあっては、X軸を模式的に一点鎖線で表している。
なお、例えば、第1制御点設定部306bにより各対応領域内で所定の制御点O(例えば、体幹対応領域Paの第3体幹制御点Oa3等)が間引かれて設定された場合など、当該対応領域内で基準制御点Ozと隣合わない制御点Oが存在しない場合には、基準制御点Ozと隣合う制御点Oについてのみ位置座標を特定する。
即ち、制御点特定部306dは、先ず、体幹対応領域Paと隣合う左右の腕対応領域(2つの対応領域)Pb、Pcに設定されている第1〜第6左腕制御点Ob1〜Ob6並びに第1〜第6右腕制御点Oc1〜Oc6のうち、基準制御点Oz(例えば、第1左腕制御点Ob1、第1右腕制御点Oc1等)が所定の基準時t1から所定時間経過した時点tnにて存する位置を特定する。具体的には、制御点特定部306dは、第1制御点設定部306bにより被写体領域P内の対応位置に設定された第1左腕制御点Ob1及び第1右腕制御点Oc1(他の2つの基準制御点Oz、Oz)の各々と第2体幹制御点Oa2(何れか一の基準制御点Oz)とを通る2つの制御直線のなす角度、並びに、所定の基準時t1及び所定時間経過した時点tnにおける第1左腕基準点Qb1及び第1右腕基準点Qc1の各々と第2体幹基準点Qa2とを通る2つの基準直線のなす角度を基準として、所定時間経過した時点tnにて第1左腕制御点Ob1及び第1右腕制御点Oc1が存する位置をそれぞれ特定する。
即ち、角度算出部d1は、所定の基準時t1における2つの制御直線Li1l、Li1rのなす角度(基準被写体角度θi1;図15(c)参照)、所定の基準時t1における2つの基準直線Lt1l、Lt1rのなす角度(基準フレーム角度θt1;図15(a)参照)及びこの所定の基準時t1から所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす角度(後フレーム角度θtn;図15(b)参照)並びに所定の基準時t1から所定時間経過した時点tnにおける当該2つの基準直線Ltnl、Ltnrのなす角度の変化を基準として、所定時間経過した時点tnにおける2つの制御直線Linl、Linrのなす角度(後被写体角度θin;図15(d)参照)を所定の演算式に従って算出する。
同様に、角度算出部d1により算出される2つの基準直線のなす角とは、2つの動き基準点Qz、Qz(例えば、第1左腕基準点Qb1、第1右腕基準点Qc1等)の各々と一の動き基準点Qz(例えば、第2体幹基準点Qa2等)とを結ぶ2つの線分がなす角であって、モデル領域Rの当該一の動き基準点Qzが含まれる構成領域の何れか一側(例えば、体幹構成領域Raの頭側)に形成される角のことである。
また、角度算出部d1は、基準点特定部306cにより特定された所定の基準時t1から所定時間経過した時点tnにおけるXY平面空間での左腕構成領域Rbの第1左腕基準点Qb1、右腕構成領域Rcの第1右腕基準点Qc1及び体幹構成領域Raの第2体幹基準点Qa2の各々の位置座標を特定する。そして、角度算出部d1は、左腕構成領域Rbの第1左腕基準点Qb1と体幹構成領域Raの第2体幹基準点Qa2とを通る基準直線Ltnlと、右腕構成領域Rcの第1右腕基準点Qc1と体幹構成領域Raの第2体幹基準点Qa2とを通る基準直線Ltnrとを特定して、所定時間経過した時点tnにおける当該2つの基準直線Ltnl、Ltnrのなす角度を後フレーム角度θtnとして算出する(図15(b)参照)。さらに、角度算出部d1は、算出された所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす後フレーム角度θtnと、所定の基準時t1における2つの基準直線Lt1l、Lt1rのなす基準フレーム角度θt1とを比較して、所定の基準時t1から所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす角度の変化(例えば、増角や減角等)を特定する。
また、角度算出部d1は、第1制御点設定部306bにより被写体領域Pに設定された所定の基準時t1における、左腕対応領域Pbの第1左腕制御点Ob1、右腕対応領域Pcの第1右腕制御点Oc1及び体幹対応領域Paの第2体幹制御点Oa2の各々の位置座標を特定する。そして、角度算出部d1は、左腕対応領域Pbの第1左腕制御点Ob1と体幹対応領域Paの第2体幹制御点Oa2とを通る制御直線Li1lと、右腕対応領域Pcの第1右腕制御点Oc1と体幹対応領域Paの第2体幹制御点Oa2とを通る制御直線Li1rとを特定して、所定の基準時t1における当該2つの制御直線Li1l、Li1rのなす角度を基準被写体角度θi1として算出する(図15(c)参照)。
ここで、所定の演算式として下記式(1)〜(5)を規定している理由は、所定の基準時t1における2つの基準直線Lt1l、Lt1rのなす角及び2つの制御直線Li1l、Li1rのなす角のうち、両方が同じ方向の場合、2つの基準直線のなす角が「0(ゼロ)またはπまたは2π」となるとき、対応する2つの制御直線のなす角が「0またはπまたは2π」となり、互いに反対方向の場合、2つの基準直線のなす角が「0または2π」となるとき、対応する2つの制御直線のなす角が「0または2π」となるように、後被写体角度θinを算出するためである。
即ち、方向特定部d2は、角度算出部d1により算出された2つの制御直線Linl、Linrのなす後被写体角度θinと、所定の基準時t1から所定時間経過した時点tnにおける第2体幹基準点Qa2(一の動き基準点Qz)に対する第1左腕基準点Qb1及び第1右腕基準点Qc1(他の2つの動き基準点Qz、Qz)の相対的な位置とに基づいて、所定時間経過した時点tnにて第2体幹基準点Qa2に対して第1左腕基準点Qb1及び第1右腕基準点Qc1が存する方向を特定する。ここで、方向特定部d2は、所定の基準時t1から所定時間経過した時点tnにおける2つの制御直線Linl、Linrのなす角の頂点を所定時間経過した時点tnにおける第2体幹制御点Oa2(何れか一の制御点O)とし、当該第2体幹制御点Oa2と交わり、所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす角の二等分線と同方向に延在する直線Lcを基準位置とする角度範囲内で、第2体幹制御点Oa2に対して第1左腕基準点Qb1及び第1右腕基準点Qc1が存する方向を特定する。
具体的には、方向特定部d2は、所定の基準時t1から所定時間経過した時点tnにおける第2体幹制御点Oa2の位置と交わるように、所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす角の二等分線と同方向に直線Lcを設定する。そして、方向特定部d2は、2つの制御直線Linl、Linrのなす角の頂点が第2体幹制御点Oa2(何れか一の制御点O)と重なり、且つ、直線Lcが中心に位置するように角度算出部d1により算出された後被写体角度θinを構成する2つの制御直線Linl、Linrの各々と同方向に延在する2つの直線を設定する(図15(d)参照)。つまり、当該2つの直線の各々と直線Lcとがなす各角度が後被写体角度θin/2で等しくなる。
これにより、第1左腕基準点Qb1及び第1右腕基準点Qc1が存する方向として、2つの直線の延在方向が特定される。
また、制御点特定部306dは、所定の基準時t1における第1左腕制御点Ob1及び第1右腕制御点Oc1の各々と第2体幹制御点Oa2との距離(例えば、ユークリッド空間における距離等)を前制御点間距離Dc1l、Dc1rとして算出する(図15(c)参照)。
そして、制御点特定部306dは、算出された後基準点間距離Dsnl、Dsnrを前基準点間距離Ds1l、Ds1rで除算した値(比率)に前制御点間距離Dc1l、Dc1rを乗算して、所定の基準時t1から所定時間経過した時点tnにおける第1左腕制御点Ob1及び第1右腕制御点Oc1の各々と第2体幹制御点Oa2との距離を後制御点間距離Dcnl、Dcnrとして算出する(図15(d)参照)。
ここで、左腕対応領域Pbの第2〜第6左腕制御点Ob2〜Ob6並びに右腕対応領域Pcの第2〜第6右腕制御点Oc2〜Oc6の位置座標の特定方法は、上記した体幹対応領域Paの基準制御点Oz(例えば、第2体幹制御点Oa2等)以外の制御点O(例えば、第1、第3、第4体幹制御点Oa1、Oa3、Oa4等)の位置座標の特定方法と同様である。即ち、詳細な説明は省略するが、制御点特定部306dは、左右の腕構成領域Rb、Rcの各々について、基準点特定部306cにより特定された所定の基準時t1から所定時間経過した時点tnにおける動き基準点Qz(第1左腕基準点Qb1、第1右腕基準点Qc1)以外の基準点Qと当該腕構成領域の他の基準点Qとの相対的な位置関係を基準として、各腕対応領域の基準制御点Oz(第1左腕制御点Ob1、第1右腕制御点Oc1)以外の制御点Oが存する位置をそれぞれ特定する。
このように、制御点特定部306dは、基準点特定部306cにより特定された所定の基準時t1から所定時間経過した時点tnにおける隣合う3つの構成領域(例えば、体幹構成領域Ra、左右の腕構成領域Rb、Rc等)の3つの動き基準点Qz、…(例えば、第2体幹基準点Qa2、第1左腕基準点Qb1、第1右腕基準点Qc1等)以外の基準点Qと当該動き基準点Qzが含まれる構成領域(組)の他の基準点Qとの相対的な位置関係を基準として、第1制御点設定部306bにより3つの構成領域の各々に対応させて設定された各対応領域(組)の制御点Oのうち、所定時間経過した時点tnにて3つの基準制御点Oz、…以外の制御点Oが存する位置をそれぞれ特定する。
また、体幹対応領域Paと隣合う2つの対応領域として、左右の腕対応領域Pb、Pcを例示したが、一例であってこれに限られるものではなく、例えば、左右の脚対応領域Pd、Peであっても良い。なお、詳細な説明は省略するが、制御点特定部306dは、第1体幹制御点Oa1と第1左脚制御点Od1と第1右脚制御点Oe1とを基準制御点Ozとして、上記と同様に、左右の脚対応領域Pd、Peの複数の制御点O、…の位置座標を特定する。また、同様に、第1制御点設定部306bにより3つの基準制御点Oz、…として、第1体幹制御点Oa1、第1左脚制御点Od1及び第1右脚制御点Oe1が設定された場合にも、何れか一の基準制御点Ozは第1体幹制御点Oa1に限られるものではなく、第1左脚制御点Od1や第1右脚制御点Oe1としても良い。そして、先ず、左脚対応領域Pd(或いは、右脚対応領域Pe)の全ての制御点Oの位置座標を特定した後、体幹対応領域Paと右脚対応領域Pe(或いは、左脚対応領域Pd)の全ての制御点Oの位置座標を特定する。
即ち、第2制御点設定部306eは、制御点特定部306dによる特定結果に基づいて、所定の時間間隔毎に各基準点Qに対応する各制御点Oを制御点特定部306dにより特定されたXY平面空間での位置座標に移動させて設定する。つまり、第2制御点設定部306eは、所定の基準時t1から所定時間経過した時点tnにおけるXY平面空間での各基準点Qの位置に対応させるように、第1制御点設定部306bにより静止画像の被写体領域P内に設定された複数の制御点O、…を、制御点特定部306dにより特定された所定時間経過した時点tnにおけるXY平面空間での各位置に設定する。
即ち、領域分割部306fは、例えば、被写体切り抜き画像やマスク画像P1の画像データに対してドローネの三角形分割を行って、被写体領域P内に所定の間隔で頂点を配置して三角形のメッシュ状の複数の画像領域に分割する。
ここで、ドローネの三角形分割とは、各点を頂点とする複数の三角形で処理対象の領域を分割する方法のうち、三角形の最小角の和を最大にするように分割する方法のことである。
なお、領域分割部306fによる被写体領域Pの分割手法として、ドローネの三角形分割を例示したが、一例であってこれに限られるものではなく、被写体領域Pを複数の画像領域に分割する手法であれば適宜任意に変更可能である。
即ち、フレーム生成部306gは、制御点特定部306dにより特定された所定の基準時t1から所定時間経過した時点tnにおける隣合う3つの対応領域(例えば、体幹構成領域Ra、左右の腕構成領域Rb、Rc等)の3つの制御点O、…が存する位置を基準として、被写体領域Pを変形させた変形画像を生成する。具体的には、フレーム生成部306gは、第2制御点設定部306eにより設定された位置に移動させた複数の制御点O、…を基準として、動き情報305aの複数の基準点Q、…の動きに追従させるように、被写体切り抜き画像の被写体領域P内に設定されている複数の制御点O、…を移動させた複数の変形フレーム画像を逐次生成する。
例えば、フレーム生成部306gは、所定の基準時t1から所定時間経過した時点tnにおけるXY平面空間での複数の制御点O、…を基準として、領域分割部306fにより被写体領域Pが分割された複数の画像領域(例えば、三角形のメッシュ状の領域)を移動させたり変形させることで、変形フレーム画像を生成する(図18参照)。
なお、図18にあっては、被写体切り抜き画像のマスク画像P1と、動き情報305aの2番目及び3番目のフレームS3に対応する変形フレーム画像のマスク画像P2、P3を模式的に表している。
なお、フレーム生成部306gは、例えば、Open GL等の三次元の描画インターフェース等を利用して、被写体領域Pを構成する各領域(例えば、左右の腕対応領域Pb、Pcや左右の脚対応領域Pd、Pe等)の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に被写体切り抜き画像の被写体領域Pの各領域を奥行き方向に変位させるようにしても良い。
具体的には、フレーム生成部306gは、隣合う二つの変形フレーム画像間における、動画再生部306iにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの変形フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部306gは、MIDI規格の演奏情報305bに基づいてテンポの設定情報及び四分音符の分解能(Tickカウント数)を取得して、動画再生部306iにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部306gは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング(例えば、各小節の一拍目等)に同期させた隣合う二つの変形フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部306gは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの変形フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
即ち、裏面画像生成部306hは、例えば、被写体切り抜き画像の被写体領域Pの輪郭部分の色情報に基づいて、裏面画像における被写体切り抜き画像の被写体領域Pに対応する被写体対応領域を描画して当該裏面画像を生成する。
即ち、動画再生部306iは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された演奏情報305bに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部306iは、所定の曲の演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング(例えば、各小節の1拍目や各拍等)に同期させるように隣合う二つの変形フレーム画像を再生するとともに、隣合う二つの変形フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部306iは、動画処理部306により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部306iは、隣合う二つの変形フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
ここで、図5及び図6は、動画生成処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像及び当該被写体切り抜き画像に対応するマスク画像P1の画像データがサーバ3の記憶部305に記憶されているものとする。
サーバ3の通信制御部303によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、動画生成用ページのページデータを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部206によって、動画生成用ページのページデータが受信されると、表示部203は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面(図示略)を表示する。
図6に示すように、サーバ3の中央制御部301のCPUは、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。具体的には、中央制御部301のCPUは、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、処理をステップS51に移行させ、また、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、処理をステップS61に移行させ、また、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、処理をステップS71に移行させる。
ステップS4にて、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、動画処理部306の画像取得部306aは、記憶部305に記憶されている被写体切り抜き画像の画像データの中からユーザにより指定された被写体切り抜き画像の画像データと、当該被写体切り抜き画像の画像データと対応付けられているマスク画像P1の画像データを読み出して取得する(ステップS51)。
次に、動画処理部306は、取得された被写体切り抜き画像やマスク画像P1の被写体領域P内で制御点Oが既に設定されているか否かを判定する(ステップS52)。
具体的には、動画処理部306の第1制御点設定部306bは、記憶部305から動体モデル(例えば、ヒト)の動き情報305aを読み出して、当該動き情報305aに規定されている静止状態の動体モデルに対応する基準フレームS1(例えば、1フレーム目等)のモデル領域Rの各構成領域に設定されている複数の基準点Q、…の初期位置(所定の基準時t1に対応する基準位置)を取得する。そして、第1制御点設定部306bは、被写体切り抜き画像及びマスク画像P1の各被写体領域P内で各基準点Qの初期位置に対応する対応位置をそれぞれ特定した後、特定された各対応位置に制御点Oをそれぞれ設定する(図7(a)参照)。
例えば、第1制御点設定部306bは、被写体領域Pの体幹対応領域Paに第1〜第4体幹制御点Oa1〜Oa4を設定し、また、左腕対応領域Pbに第1〜第6左腕制御点Ob1〜Ob6を設定し、また、右腕対応領域Pcに第1〜第6右腕制御点Oc1〜Oc6を設定し、また、左脚対応領域Pdに第1〜第6左脚制御点Od1〜Od6を設定し、また、右脚対応領域Peに第1〜第6右脚制御点Oe1〜Oe6を設定する。
また、第1制御点設定部306bは、被写体領域Pの各対応領域に設定されている有効な複数の制御点O、…の中で、何れか一の制御点Oを基準制御点Ozとして設定する。具体的には、第1制御点設定部306bは、各対応領域の基準制御点Ozを隣合う対応領域との位置関係を考慮して設定し、例えば、隣合う3つの対応領域が体幹対応領域Paと左右の腕対応領域Pb、Pcの場合には、第2体幹制御点Oa2と第1左腕制御点Ob1と第1右腕制御点Oc1とを基準制御点Ozとして設定し、隣合う3つの対応領域が体幹対応領域Paと左右の脚対応領域Pd、Peの場合には、第1体幹制御点Oa1と第1左脚制御点Od1と第1右脚制御点Oe1とを基準制御点Ozとして設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
ステップS4にて、ユーザ端末2からの指示が、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、動画処理部306の動画再生部306iは、ユーザによる操作入力部202の所定操作に基づいて所望の背景画像(他の画像)の画像データを読み出して取得し(ステップS61)、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する(ステップS62)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画再生部306iは、当該指定指示に係る背景画像の画像データを記憶部305から読み出して取得した後、当該背景画像の画像データを動画像の背景として登録する。
その後、中央制御部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の動画再生部306iは、設定された動き情報305aや動きの速さを動画像の動きの内容として所定の格納手段に登録する(ステップS72)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
ここで、動画像の生成が可能な状態でないと判定されると(ステップS8;NO)、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
一方、動画像の生成が可能な状態であると判定されると(ステップS8;YES)、図4に示すように、中央制御部301のCPUは、処理をステップS10に移行させる。
即ち、ステップS9にて、ユーザ端末2の中央制御部201が、ユーザによる操作入力部202の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS9)。
そして、ステップS10にて、サーバ3の中央制御部301のCPUによって、動画像のプレビュー指示が入力されたと判定されると(ステップS10;YES)、動画処理部306の動画再生部306iは、設定済みの曲名に対応する演奏情報305bを動画像とともに自動的に演奏される情報として所定の格納手段に登録する(ステップS11)。
ここで、曲の演奏が終了していないと判定されると(ステップS13;NO)、動画処理部306は、所定の時間間隔で移動する複数の基準点Q、…に対応させて制御点Oを順次設定する制御点設定処理(図7参照)を実行する(ステップS14)。
なお、制御点設定処理については、後述する。
具体的には、動画処理部306の領域分割部306fは、例えば、被写体切り抜き画像及びマスク画像P1の画像データに対してドローネの三角形分割を行って、被写体領域P内に所定の間隔で頂点を配置して三角形のメッシュ状の複数の画像領域に分割する。続けて、フレーム生成部306gは、第2制御点設定部306eにより設定された所定の基準時t1から所定時間経過した時点tnにおけるXY平面空間での複数の制御点O、…を基準として、領域分割部306fにより被写体領域Pが分割された複数の画像領域(例えば、三角形のメッシュ状の領域)を移動させたり変形させることで、変形フレーム画像を生成する(図18参照)。
そして、動画処理部306は、生成された変形フレーム画像と背景画像とを公知の画像合成手法を用いて合成する。具体的には、動画処理部306は、例えば、背景画像の各画素のうち、アルファ値が「0」の画素は透過させ、アルファ値が「1」の画素は変形フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「0<α<1」の画素は1の補数(1−α)を用いて変形フレーム画像の被写体領域Pを切り抜いた画像(背景画像×(1−α))を生成した後、アルファマップにおける1の補数(1−α)を用いて変形フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を変形フレーム画像から減算し、それを被写体領域Pを切り抜いた画像(背景画像×(1−α))と合成する。
また、フレーム生成部306gは、動画再生部306iにより演奏される所定の曲の演奏の進行度合に応じて、隣合う二つの変形フレーム画像どうしの間を補間する補間フレーム画像を生成する。フレーム生成部306gにより補間フレーム画像が生成された場合にも、動画処理部306は、補間フレーム画像と背景画像とを、上記変形フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する。
次に、動画処理部306は、処理をステップS13に戻し、曲の演奏が終了したか否かを判定する(ステップS13)。
上記の処理は、ステップS13にて、曲の演奏が終了したと判定されるまで(ステップS13;YES)、繰り返し実行される。
そして、曲の演奏が終了したと判定されると(ステップS13;YES)、図6に示すように、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
具体的には、音出力部204は、演奏情報305bに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部203は、当該自動的に演奏される曲の所定のタイミングで変形フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
以下に、動画処理部306による制御点設定処理について、図8〜図17を参照して詳細に説明する。
図8は、動画生成処理における制御点設定処理に係る動作の一例を示すフローチャートである。
ここで、動き基準点Qzが特定されていないと判定されると(ステップS21;NO)、基準点特定部306cは、記憶部305から動体モデルの動き情報305aを読み出し、当該動き情報305aに基づいて、所定の基準時t1に対応する基準フレームS1にてモデル領域Rの各構成領域に設定されている複数の基準点Q、…の中で、第1制御点設定部306bにより設定された基準制御点Ozに対応する動き基準点Qzの位置座標を特定する(ステップS22)。
また、ステップS21にて、動き基準点Qzが特定されていると判定された場合にも(ステップS21;YES)、基準点特定部306cは、処理をステップS23に移行して、モデル領域Rに設定されている複数の基準点Q、…の各々の位置を特定する。
なお、制御点位置特定処理について後述する。
これにより、制御点設定処理を終了する。
以下に、制御点位置特定処理について、図9〜図17を参照して詳細に説明する。
図9は、制御点設定処理における制御点位置特定処理に係る動作の一例を示すフローチャートである。
以下に、体幹制御点特定処理について図10〜図12を参照して詳細に説明する。
図10に示すように、先ず、制御点特定部306dは、所定の基準時t1から所定時間経過した時点tnにおける、基準制御点Oz(例えば、第2体幹制御点Oa2等)に対応する動き基準点Qz(例えば、第2体幹基準点Qa2等)の初期位置(所定の基準時t1に対応する基準位置)からの移動比率を算出する(ステップS41)。
具体的には、制御点特定部306dは、例えば、基準点特定部306cにより特定された所定の基準時t1から所定時間経過した時点tnにおける第2体幹基準点Qa2の位置座標の、所定の基準時t1に対応する基準位置からのX軸及びY軸の各方向の移動距離dx、dyを算出する。その後、制御点特定部306dは、算出された移動距離dx、dyを基準フレームS1のX軸及びY軸の各方向の大きさt_wd、t_htで除算して、移動距離dx、dyに対する基準フレームS1の大きさt_wd、t_htの移動比率Rx、Ryをそれぞれ算出する(図11(a)参照)。
次に、制御点特定部306dは、所定の基準時t1における体幹対応領域Paの第1〜第4体幹制御点Oa1〜Oa4のうち、隣合う制御点Oどうしの距離を基準被写体距離Di1としてそれぞれ算出する(ステップS44;図12(c)参照)。即ち、制御点特定部306dは、所定の基準時t1における、第1体幹制御点Oa1と第2体幹制御点Oa2との基準被写体距離Di1、第2体幹制御点Oa2と第3体幹制御点Oa3との基準被写体距離Di1、第3体幹制御点Oa3と第4体幹制御点Oa4との基準被写体距離Di1を算出する。
即ち、制御点特定部306dは、所定時間経過した時点tnにおける、第1体幹制御点Oa1と第2体幹制御点Oa2との後被写体距離Din、第2体幹制御点Oa2と第3体幹制御点Oa3との後被写体距離Din、第3体幹制御点Oa3と第4体幹制御点Oa4との後被写体距離Dinを算出する。
具体的には、制御点特定部306dは、第1〜第4体幹基準点Qa1〜Qa4のうち、第2体幹基準点Qa2と隣合う第1及び第3体幹基準点Qa1、Qa3については、各基準点Qと第2体幹基準点Qa2とを結ぶ線分のX軸からの偏角を各基準点Qの角度変位として算出する。また、制御点特定部306dは、第2体幹基準点Qa2と隣合わない第4体幹基準点Qa4については、この基準点Qに隣合い、且つ、第2体幹基準点Qa2側の基準点Qである第3体幹基準点Qa3と当該第4体幹基準点Qa4とを結ぶ線分のX軸からの偏角を当該第4体幹基準点Qa4の角度変位として算出する。
具体的には、制御点特定部306dは、第2体幹制御点Oa2と隣合う第1及び第3体幹制御点Oa1、Oa3については、所定時間経過した時点tnにおける第2体幹制御点Oa2の位置から対応する第1及び第3体幹基準点Qa1、Qa3の角度変位の方向に当該制御点Oの後被写体距離Dinの分だけ変位させて、XY平面空間にて当該制御点Oが存する位置を特定する。また、制御点特定部306dは、第2体幹制御点Oa2と隣合わない第4体幹制御点Oa4については、この制御点Oに隣合い、且つ、第2体幹制御点Oa2側の制御点Oである第3体幹制御点Oa3の位置から対応する第4体幹基準点Qa4の角度変位の方向に当該制御点Oの後被写体距離Dinの分だけ変位させて、XY平面空間にて当該制御点Oが存する位置を特定する。
これにより、体幹制御点特定処理を終了する。
以下に、腕制御点特定処理について図13〜図17を参照して詳細に説明する。
図13に示すように、先ず、制御点特定部306dの角度算出部d1は、基準点特定部306cにより特定された所定の基準時t1に対応する基準フレームS1のモデル領域Rにおける体幹構成領域Ra並びに左右の腕構成領域Rb、Rcの各動き基準点Qz、即ち、体幹構成領域Raの第2体幹基準点Qa2、左腕構成領域Rbの第1左腕基準点Qb1及び右腕構成領域Rcの第1右腕基準点Qc1の各々の基準位置の位置座標を特定する(ステップS51)。
続けて、角度算出部d1は、左右の腕構成領域Rb、Rcの各動き基準点Qzと体幹構成領域Raの動き基準点Qzとを通る2つの基準直線Lt1l、Lt1r、即ち、左腕構成領域Rbの第1左腕基準点Qb1と体幹構成領域Raの第2体幹基準点Qa2とを通る基準直線Lt1lと、右腕構成領域Rcの第1右腕基準点Qc1と体幹構成領域Raの第2体幹基準点Qa2とを通る基準直線Lt1rとを特定する。そして、角度算出部d1は、所定の基準時t1における当該2つの基準直線Lt1l、Lt1rのなす角度を基準フレーム角度θt1として算出する(ステップS52;図15(a)参照)。
続けて、角度算出部d1は、左右の腕構成領域Rb、Rcの各動き基準点Qzと体幹構成領域Raの動き基準点Qzとを通る2つの基準直線Ltnl、Ltnr、即ち、左腕構成領域Rbの第1左腕基準点Qb1と体幹構成領域Raの第2体幹基準点Qa2とを通る基準直線Ltnlと、右腕構成領域Rcの第1右腕基準点Qc1と体幹構成領域Raの第2体幹基準点Qa2とを通る基準直線Ltnrとを特定する。そして、角度算出部d1は、所定時間経過した時点tnにおける当該2つの基準直線Ltnl、Ltnrのなす角度を後フレーム角度θtnとして算出する(ステップS54;図15(b)参照)。
続けて、角度算出部d1は、左右の腕対応領域Pb、Pcの各基準制御点Ozと体幹対応領域Paの基準制御点Ozとを通る2つの制御直線Li1l、Li1r、即ち、左腕対応領域Pbの第1左腕制御点Ob1と体幹対応領域Paの第2体幹制御点Oa2とを通る制御直線Li1lと、右腕対応領域Pcの第1右腕制御点Oc1と体幹対応領域Paの第2体幹制御点Oa2とを通る制御直線Li1rとを特定する。そして、角度算出部d1は、所定の基準時t1における当該2つの制御直線Li1l、Li1rのなす角度を基準被写体角度θi1として算出する(ステップS57;図15(c)参照)。
具体的には、角度算出部d1は、例えば、基準フレーム角度θt1及び基準被写体角度θi1が劣角(0<θ<π)であるか優角(π≦θ<2π)であるかや、2つの基準直線Ltnl、Ltnrのなす角度の変化が増角か減角かや、後フレーム角度θtnの大きさ等に応じて、上記した式(1)〜(5)の中で所定の演算式を特定し、特定された所定の演算式を用いて後被写体角度θinを算出する(図16(a)〜図17(d)参照)。
具体的には、方向特定部d2は、所定の基準時t1から所定時間経過した時点tnにおける第2体幹制御点Oa2の位置と交わるように、2つの基準直線Ltnl、Ltnrのなす角の二等分線と同方向に直線Lcを設定する。そして、方向特定部d2は、2つの制御直線Linl、Linrのなす角の頂点が第2体幹制御点Oa2と重なり、且つ、直線Lcが中心に位置するように角度算出部d1により算出された後被写体角度θinを構成する2つの制御直線Linl、Linrの各々と同方向に延在する2つの直線を設定する(図15(d)参照)。このようにして、方向特定部d2は、第1左腕制御点Ob1及び第1右腕制御点Oc1が存する方向として、2つの直線の延在方向を特定する。
そして、制御点特定部306dは、所定の基準時t1から所定時間経過した時点tnにおける左右の腕構成領域Rb、Rcの各動き基準点Qzと体幹構成領域Raの動き基準点Qzとの距離、即ち、第1左腕基準点Qb1及び第1右腕基準点Qc1の各々と第2体幹基準点Qa2との距離を後基準点間距離Dsnl、Dsnrとして算出する(ステップS61;図15(b)参照)。
続けて、制御点特定部306dは、所定の基準時t1における左右の腕対応領域Pb、Pcの各基準制御点Ozと体幹対応領域Paの基準制御点Ozとの距離、即ち、第1左腕制御点Ob1及び第1右腕制御点Oc1の各々と第2体幹制御点Oa2との距離を前制御点間距離Dc1l、Dc1rとして算出する(ステップS62;図15(c)参照)。
続けて、制御点特定部306dは、方向特定部d2により特定された左右の腕対応領域Pb、Pcの各基準制御点Ozが存する方向である2つの直線の各々の延在方向と、後制御点間距離Dcnl、Dcnrとに基づいて、所定時間経過した時点tnにおける左右の腕対応領域Pb、Pcの各基準制御点Ozの位置を特定する(ステップS64)。具体的には、制御点特定部306dは、所定の基準時t1から所定時間経過した時点tnにおける第2体幹制御点Oa2の位置から2つの直線の各々の延在方向に沿って後制御点間距離Dcnl、Dcnrの分だけ変位させて、XY平面空間にて第1左腕基準点Qb1及び第1右腕基準点Qc1が存する位置を特定する(図15(d)参照)。
なお、左腕対応領域Pbの第2〜第6左腕制御点Ob2〜Ob6、右腕対応領域Pcの第2〜第6右腕制御点Oc2〜Oc6の位置座標の特定方法は、上記した体幹対応領域Paの基準制御点Oz(例えば、第2体幹制御点Oa2等)以外の制御点O(例えば、第1、第3、第4体幹制御点Oa1、Oa3、Oa4等)の位置座標の特定方法と同様であり、その詳細な説明は省略する。
これにより、腕制御点特定処理を終了する。
脚制御点特定処理は、第1体幹制御点Oa1と第1左脚制御点Od1と第1右脚制御点Oe1とを基準制御点Ozとして行われる以外の点で上記の腕制御点特定処理と略同様な処理であり、その詳細な説明は省略する。
脚制御点特定処理の結果、左脚対応領域Pdの第1〜第6左脚制御点Od1〜Od6並びに右脚対応領域Peの第1〜第6右脚制御点Oe1〜Oe6の所定時間経過した時点tnにおけるXY平面空間での位置座標が特定される。
そして、図8に示すように、ステップS25にて、第2制御点設定部306eは、制御点特定部306dによる特定結果に基づいて、各制御点Oを制御点特定部306dにより特定されたXY平面空間での位置座標に移動させて設定する。これにより、制御点設定処理を終了する。
これにより、3つの動き基準点Qz、…の動きに対応させるように動かした3つの基準制御点Oz、…が存する位置を考慮して、被写体領域Pを変形させた変形画像を適正に生成することができることとなって、静止画像の被写体領域Pを動体モデルに合わせて適正に動かすことができる。
具体的には、2つの制御直線Li1l、Li1rのなす角度、所定の基準時t1における2つの基準直線のLt1l、Lt1rなす角度、及び所定時間経過した時点tnにおける2つの基準直線Lt1l、Lt1rのなす角度並びに、所定時間経過した時点tnにおける当該2つの基準直線Ltnl、Ltnrのなす角度の変化を基準とすることで、所定時間経過した時点tnにおける2つの制御直線Linl、Linrのなす角度を所定の演算式に従って算出することができる。そして、算出された2つの制御直線Linl、Linrのなす角度と、所定時間経過した時点tnにおける一の動き基準点Qzに対する他の2つの動き基準点Qz、Qzの相対的な位置とに基づいて、所定時間経過した時点tnにて何れか一の基準制御点Ozに対して他の2つの基準制御点Oz、Ozが存する方向を特定することができる。より具体的には、所定時間経過した時点tnにおける2つの制御直線Linl、Linrのなす角の頂点を所定時間経過した時点tnにおける何れか一の動き制御点Oとし、当該何れか一の動き制御点Oと交わり、所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす角の二等分線と同方向に延在する直線を基準位置とする角度範囲内で、何れか一の基準制御点Ozに対して他の2つの基準制御点Oz、Ozが存する方向を特定することができる。つまり、所定時間経過した時点tnにおける2つの制御直線Linl、Linrのなす角度範囲を所定時間経過した時点tnにおける2つの基準直線Ltnl、Ltnrのなす角の二等分線と同方向に延在する直線を基準位置として設定することで、所定時間経過することで変化した2つの基準直線Ltnl、Ltnrのなす角を構成する3つの動き基準点Qz、…の相対的な位置関係を、所定時間経過した時点tnにおける何れか一の基準制御点Ozに対する他の2つの基準制御点Oz、Ozの相対的な位置に反映させることができる。
さらに、モデル領域Rの複数の領域毎に組をなす複数の基準点Q、…の各組に対応させて複数の制御点O、…を各組毎に設定し、所定時間経過した時点tnにおける3つの動き基準点Qz、…以外の基準点Qと当該基準点Qが含まれる組の他の基準点Qとの相対的な位置関係を基準として、3つの領域の各々に対応させて設定された各組の制御点Oのうち、所定時間経過した時点tnにて3つの基準制御点Oz、…以外の制御点Oが存する位置をそれぞれ適正に特定することができる。即ち、3つの基準制御点Oz、…を適正に設定することができるだけでなく、3つの基準制御点Oz、…に対応する動き基準点Qzが含まれる組の他の基準点Qとの相対的な位置関係を基準として、当該3つの基準制御点Oz、…の各々と対応付けられている他の制御点Oも適正に設定することができる。
例えば、上記実施形態にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像生成装置)3によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、画像生成装置の構成は適宜任意に変更可能である。即ち、変形画像としての変形フレーム画像の生成に係る動画処理部306の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で動画生成処理を行うようにしても良い。
なお、被写体切り抜き画像や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、取得処理ルーチン、設定処理ルーチン、第1特定処理ルーチン、第2特定処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部301のCPUを、静止画像を取得する取得手段として機能させるようにしても良い。また、設定処理ルーチンにより中央制御部301のCPUを、動き情報305aに基づいて、取得手段により取得された静止画像の被写体が含まれる被写体領域P内で、モデル領域Rの隣合う3つの領域に設定されている3つの基準点Qの所定の基準時t1における基準位置に対応する対応位置に当該被写体領域Pの動きの制御に係る制御点Oをそれぞれ設定する設定手段として機能させるようにしても良い。また、第1特定処理ルーチンにより中央制御部301のCPUを、動き情報305aに基づいて、所定の基準時t1から所定時間経過した時点tnにおける所定空間内での3つの基準点Qの位置をそれぞれ特定する第1特定手段として機能させるようにしても良い。また、第2特定処理ルーチンにより中央制御部301のCPUを、設定手段により対応位置に設定された3つの制御点O、…のうちの何れか一の制御点Oと他の2つの制御点O、Oとの相対的な位置関係、並びに、所定の基準時t1及び所定時間経過した時点tnにおける3つの基準点Qのうち、何れか一の制御点Oに対応する一の基準点Qと他の2つの基準点Qとの相対的な位置関係を基準として、所定時間経過した時点tnにて他の2つの制御点O、Oが存する位置をそれぞれ特定する第2特定手段として機能させるようにしても良い。
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
<請求項1>
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置を用いた制御点設定方法であって、
前記動き情報は、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた情報であり、
静止画像を取得する取得ステップと、
前記動き情報に基づいて、前記取得ステップにより取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定ステップと、
前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定ステップと、
前記設定ステップにより前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定ステップと、
を含むことを特徴とする制御点設定方法。
<請求項2>
前記第2特定ステップは、
前記対応位置の前記他の2つの制御点の各々と前記何れか一の制御点とを通る2つの制御直線のなす角度、並びに、前記所定の基準時及び前記所定時間経過した時点における前記他の2つの基準点の各々と前記一の基準点とを通る2つの基準直線のなす角度を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定することを特徴とする請求項1に記載の制御点設定方法。
<請求項3>
前記第2特定ステップは、
前記対応位置に係る前記2つの制御直線のなす角度、前記所定の基準時及び前記所定時間経過した時点における前記2つの基準直線のなす角度、並びに、前記所定時間経過した時点における当該2つの基準直線のなす角度の変化を基準として、前記所定時間経過した時点における前記2つの制御直線のなす角度を所定の演算式に従って算出する算出ステップと、
前記算出ステップにより算出された前記2つの制御直線のなす角度と、前記所定時間経過した時点における前記一の基準点に対する前記他の2つの基準点の相対的な位置とに基づいて、前記所定時間経過した時点にて前記何れか一の制御点に対して前記他の2つの制御点が存する方向を特定する方向特定ステップと、を更に含むことを特徴とする請求項2に記載の制御点設定方法。
<請求項4>
前記方向特定ステップは、
前記所定時間経過した時点における前記2つの制御直線のなす角の頂点を前記所定時間経過した時点における前記何れか一の制御点とし、当該何れか一の制御点と交わり、前記所定時間経過した時点における前記2つの基準直線のなす角の二等分線と同方向に延在する直線を基準位置とする角度範囲内で、前記何れか一の制御点に対して前記他の2つの制御点が存する方向を特定することを特徴とする請求項3に記載の制御点設定方法。
<請求項5>
前記第2特定ステップは、更に、
前記第1特定ステップにより特定された前記所定時間経過した時点における前記一の基準点の前記基準位置からの距離の前記基準画像の大きさに対する比率を基準として、前記所定時間経過した時点にて前記何れか一の制御点が存する位置を特定することを特徴とする請求項1〜4の何れか一項に記載の制御点設定方法。
<請求項6>
前記第2特定ステップは、更に、
前記所定の基準時及び前記所定時間経過した時点における前記他の2つの基準点の各々と前記一の基準点との距離どうしの比率を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定することを特徴とする請求項1〜5の何れか一項に記載の制御点設定方法。
<請求項7>
前記設定ステップは、
前記動き情報に基づいて、前記被写体領域内で、前記モデル領域に設定されている複数の基準点の各々の所定の基準時における基準位置に対応する対応位置に前記制御点をそれぞれ設定することを特徴とする請求項1〜6の何れか一項に記載の制御点設定方法。
<請求項8>
前記複数の基準点は、前記モデル領域の複数の領域毎に組をなし、
前記設定ステップは、
前記複数の基準点の各組に対応させて前記複数の制御点を各組毎に設定し、
前記第1特定ステップは、
前記モデル領域の前記3つの領域の各々に対応する各組の複数の基準点のうち、前記所定時間経過した時点における前記所定空間内での前記3つの基準点以外の基準点の位置をそれぞれ特定し、
前記第2特定ステップは、
前記第1特定ステップにより特定された前記所定時間経過した時点における前記3つの基準点以外の基準点と当該基準点が含まれる組の他の基準点との相対的な位置関係を基準として、前記設定ステップにより前記3つの領域の各々に対応させて設定された各組の制御点のうち、前記所定時間経過した時点にて前記3つの制御点以外の制御点が存する位置をそれぞれ特定することを特徴とする請求項7に記載の制御点設定方法。
<請求項9>
前記所定の基準時における基準位置は、前記動体モデルが動く前の前記基準点の前記所定空間での初期位置を含むことを特徴とする請求項1〜8の何れか一項に記載の制御点設定方法。
<請求項10>
前記第2特定ステップにより特定された前記所定時間経過した時点における前記3つの制御点が存する位置を基準として、前記被写体領域を変形させた変形画像を生成する生成ステップを更に含むことを特徴とする請求項1〜9の何れか一項に記載の制御点設定方法。
<請求項11>
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置であって、
前記動き情報は、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた情報であり、
静止画像を取得する取得手段と、
前記動き情報に基づいて、前記取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定手段と、
前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定手段と、
前記設定手段により前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定手段と、
を備えることを特徴とする制御点設定装置。
<請求項12>
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示し、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた動き情報を記憶する記憶手段を備える制御点設定装置のコンピュータを、
静止画像を取得する取得手段、
前記動き情報に基づいて、前記取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定手段、
前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定手段、
前記設定手段により前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定手段、
として機能させることを特徴とするプログラム。
1 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
305 記憶部
305a 動き情報
306 動画処理部
306a 画像取得部
306b 第1制御点設定部
306c 基準点特定部
306d 制御点特定部
d1 角度算出部
d2 方向特定部
306e 第2制御点設定部
306g フレーム生成部
Claims (12)
- 基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置を用いた制御点設定方法であって、
前記動き情報は、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた情報であり、
静止画像を取得する取得ステップと、
前記動き情報に基づいて、前記取得ステップにより取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定ステップと、
前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定ステップと、
前記設定ステップにより前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定ステップと、
を含むことを特徴とする制御点設定方法。 - 前記第2特定ステップは、
前記対応位置の前記他の2つの制御点の各々と前記何れか一の制御点とを通る2つの制御直線のなす角度、並びに、前記所定の基準時及び前記所定時間経過した時点における前記他の2つの基準点の各々と前記一の基準点とを通る2つの基準直線のなす角度を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定することを特徴とする請求項1に記載の制御点設定方法。 - 前記第2特定ステップは、
前記対応位置に係る前記2つの制御直線のなす角度、前記所定の基準時及び前記所定時間経過した時点における前記2つの基準直線のなす角度、並びに、前記所定時間経過した時点における当該2つの基準直線のなす角度の変化を基準として、前記所定時間経過した時点における前記2つの制御直線のなす角度を所定の演算式に従って算出する算出ステップと、
前記算出ステップにより算出された前記2つの制御直線のなす角度と、前記所定時間経過した時点における前記一の基準点に対する前記他の2つの基準点の相対的な位置とに基づいて、前記所定時間経過した時点にて前記何れか一の制御点に対して前記他の2つの制御点が存する方向を特定する方向特定ステップと、を更に含むことを特徴とする請求項2に記載の制御点設定方法。 - 前記方向特定ステップは、
前記所定時間経過した時点における前記2つの制御直線のなす角の頂点を前記所定時間経過した時点における前記何れか一の制御点とし、当該何れか一の制御点と交わり、前記所定時間経過した時点における前記2つの基準直線のなす角の二等分線と同方向に延在する直線を基準位置とする角度範囲内で、前記何れか一の制御点に対して前記他の2つの制御点が存する方向を特定することを特徴とする請求項3に記載の制御点設定方法。 - 前記第2特定ステップは、更に、
前記第1特定ステップにより特定された前記所定時間経過した時点における前記一の基準点の前記基準位置からの距離の前記基準画像の大きさに対する比率を基準として、前記所定時間経過した時点にて前記何れか一の制御点が存する位置を特定することを特徴とする請求項1〜4の何れか一項に記載の制御点設定方法。 - 前記第2特定ステップは、更に、
前記所定の基準時及び前記所定時間経過した時点における前記他の2つの基準点の各々と前記一の基準点との距離どうしの比率を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定することを特徴とする請求項1〜5の何れか一項に記載の制御点設定方法。 - 前記設定ステップは、
前記動き情報に基づいて、前記被写体領域内で、前記モデル領域に設定されている複数の基準点の各々の所定の基準時における基準位置に対応する対応位置に前記制御点をそれぞれ設定することを特徴とする請求項1〜6の何れか一項に記載の制御点設定方法。 - 前記複数の基準点は、前記モデル領域の複数の領域毎に組をなし、
前記設定ステップは、
前記複数の基準点の各組に対応させて前記複数の制御点を各組毎に設定し、
前記第1特定ステップは、
前記モデル領域の前記3つの領域の各々に対応する各組の複数の基準点のうち、前記所定時間経過した時点における前記所定空間内での前記3つの基準点以外の基準点の位置をそれぞれ特定し、
前記第2特定ステップは、
前記第1特定ステップにより特定された前記所定時間経過した時点における前記3つの基準点以外の基準点と当該基準点が含まれる組の他の基準点との相対的な位置関係を基準として、前記設定ステップにより前記3つの領域の各々に対応させて設定された各組の制御点のうち、前記所定時間経過した時点にて前記3つの制御点以外の制御点が存する位置をそれぞれ特定することを特徴とする請求項7に記載の制御点設定方法。 - 前記所定の基準時における基準位置は、前記動体モデルが動く前の前記基準点の前記所定空間での初期位置を含むことを特徴とする請求項1〜8の何れか一項に記載の制御点設定方法。
- 前記第2特定ステップにより特定された前記所定時間経過した時点における前記3つの制御点が存する位置を基準として、前記被写体領域を変形させた変形画像を生成する生成ステップを更に含むことを特徴とする請求項1〜9の何れか一項に記載の制御点設定方法。
- 基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示す動き情報を記憶する記憶手段を備える制御点設定装置であって、
前記動き情報は、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた情報であり、
静止画像を取得する取得手段と、
前記動き情報に基づいて、前記取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定手段と、
前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定手段と、
前記設定手段により前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定手段と、
を備えることを特徴とする制御点設定装置。 - 基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定された複数の動きの基準点の所定空間内での動きを示し、前記複数の基準点の前記所定空間での位置を示す情報を時間軸に沿って並べた動き情報を記憶する記憶手段を備える制御点設定装置のコンピュータを、
静止画像を取得する取得手段、
前記動き情報に基づいて、前記取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記モデル領域の隣合う3つの領域に設定されている3つの基準点の所定の基準時における基準位置に対応する対応位置に当該被写体領域の動きの制御に係る制御点をそれぞれ設定する設定手段、
前記動き情報に基づいて、前記所定の基準時から所定時間経過した時点における前記所定空間内での前記3つの基準点の位置をそれぞれ特定する第1特定手段、
前記設定手段により前記対応位置に設定された前記3つの制御点のうちの何れか一の制御点と他の2つの制御点との相対的な位置関係、並びに、前記所定の基準時及び前記所定時間経過した時点における前記3つの基準点のうち、前記何れか一の制御点に対応する一の基準点と他の2つの基準点との相対的な位置関係を基準として、前記所定時間経過した時点にて前記他の2つの制御点が存する位置をそれぞれ特定する第2特定手段、
として機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012029149A JP5874426B2 (ja) | 2012-02-14 | 2012-02-14 | 制御点設定方法、制御点設定装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012029149A JP5874426B2 (ja) | 2012-02-14 | 2012-02-14 | 制御点設定方法、制御点設定装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013167924A true JP2013167924A (ja) | 2013-08-29 |
JP5874426B2 JP5874426B2 (ja) | 2016-03-02 |
Family
ID=49178296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012029149A Active JP5874426B2 (ja) | 2012-02-14 | 2012-02-14 | 制御点設定方法、制御点設定装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5874426B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744726A (ja) * | 1993-07-29 | 1995-02-14 | Nec Corp | 人体動作視覚化システム |
JPH1040407A (ja) * | 1996-07-24 | 1998-02-13 | Nippon Telegr & Teleph Corp <Ntt> | 動画生成方法および装置 |
JPH11185055A (ja) * | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | 動きデータ作成装置およびそのプログラムを格納した記憶媒体 |
-
2012
- 2012-02-14 JP JP2012029149A patent/JP5874426B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744726A (ja) * | 1993-07-29 | 1995-02-14 | Nec Corp | 人体動作視覚化システム |
JPH1040407A (ja) * | 1996-07-24 | 1998-02-13 | Nippon Telegr & Teleph Corp <Ntt> | 動画生成方法および装置 |
JPH11185055A (ja) * | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | 動きデータ作成装置およびそのプログラムを格納した記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP5874426B2 (ja) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5434965B2 (ja) | 動画生成方法、動画生成装置及びプログラム | |
JP6627861B2 (ja) | 画像処理システムおよび画像処理方法、並びにプログラム | |
JP5375897B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP5111627B2 (ja) | 映像処理装置及び映像処理方法 | |
JP2012199613A (ja) | 画像処理装置および方法、並びにプログラム | |
JP5408205B2 (ja) | 制御点設定方法、制御点設定装置及びプログラム | |
US8818163B2 (en) | Motion picture playing method, motion picture playing apparatus and recording medium | |
JP2000311251A (ja) | アニメーション作成装置および方法、記憶媒体 | |
JP2000250942A (ja) | 図書情報検索空間構築・検索装置および図書情報検索空間構築・検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JPH0950540A (ja) | 画像生成方法 | |
JP2002163678A (ja) | 擬似三次元画像生成方法および装置 | |
JP5813542B2 (ja) | 画像コミュニケーションシステム、AR(AugmentedReality)動画生成装置及びプログラム | |
JP2003284095A (ja) | 立体画像処理方法および装置 | |
JP5408206B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP5894505B2 (ja) | 画像コミュニケーションシステム、画像生成装置及びプログラム | |
JP5874426B2 (ja) | 制御点設定方法、制御点設定装置及びプログラム | |
JP2006196017A (ja) | アニメーション作成装置および方法、記憶媒体 | |
JP6398938B2 (ja) | 投影制御装置、及びプログラム | |
JP5891883B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP5906897B2 (ja) | 動き情報生成方法、動き情報生成装置及びプログラム | |
JP5776442B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP2020095465A (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
JP5919926B2 (ja) | 画像生成方法、画像生成装置及びプログラム | |
JP2011048545A (ja) | 画像合成装置及びプログラム | |
WO2023145571A1 (ja) | 情報処理装置、情報処理方法、データ構造及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151204 |
|
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: 20151222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160104 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Ref document number: 5874426 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |