(57)【特許請求の範囲】
【請求項１】
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、且つ所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた、複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶手段を備える画像生成装置を用いた画像生成方法であって、当該画像生成装置のコンピュータが、
二次元の静止画像を取得する取得ステップと、
この取得ステップにより取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定ステップと、
前記取得ステップにより取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定ステップと、
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定ステップと、
この特定ステップにより特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出ステップと、
前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成ステップと、を実行し、
前記生成ステップは、
前記算出ステップにより算出された所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させることを特徴とする画像生成方法。
【請求項２】
前記特定ステップは、更に、
前記被写体領域の中で前記複数の重なり制御領域以外の非重なり制御領域を前記構成領域として特定し、
前記算出ステップは、
前記特定ステップにより特定された前記非重なり制御領域を構成する各画素が奥行き方向に互いに異なる位置となるように、当該非重なり制御領域の所定の時間間隔毎の奥行き方向の位置を算出することを特徴とする請求項１に記載の画像生成方法。
【請求項３】
前記複数の重なり制御領域は、前記非重なり制御領域に隣接する当該被写体領域の端部側の領域であり、
前記算出ステップは、
前記非重なり制御領域の奥行き方向の位置を基準として、前記複数の重なり制御領域の奥行き方向の位置を算出することを特徴とする請求項２に記載の画像生成方法。
【請求項４】
前記算出ステップは、更に、
前記複数の重なり制御領域の各々について、各重なり制御領域を分割する複数の画像領域の頂点の奥行き方向の位置を、当該各重なり制御領域に係る重なり制御点からの距離を基準として算出することを特徴とする請求項１〜３の何れか一項に記載の画像生成方法。
【請求項５】
前記距離は、前記被写体領域を分割する複数の画像領域の縁部に沿った経路に係る距離であることを特徴とする請求項１〜４の何れか一項に記載の画像生成方法。
【請求項６】
前記第１設定ステップは、
前記静止画像の前記被写体領域内で、前記基準画像の前記モデル領域内に設定されている複数の動き基準点に対応する位置に前記複数の動き制御点を設定することを特徴とする請求項１〜５の何れか一項に記載の画像生成方法。
【請求項７】
前記記憶手段は、更に、
前記基準画像の前記モデル領域内に設定された複数の動き基準点の所定の時間間隔毎の動きを示す動き情報を記憶し、
前記生成ステップは、更に、
前記記憶手段に記憶されている前記動き情報に係る前記複数の動き基準点の所定の時間間隔毎の動きに基づいて前記複数の動き制御点を動かし、当該複数の動き制御点の動きに従って前記被写体領域を変形させて前記変形画像を生成することを特徴とする請求項６に記載の画像生成方法。
【請求項８】
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、且つ所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた、複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶部を備える画像生成装置であって、
二次元の静止画像を取得する取得部と、
この取得部により取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定部と、
前記取得部により取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定部と、
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定部と、
この特定部により特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出部と、
前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成部と、
を備え、
前記生成部は、前記算出部により算出された所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させる処理を備えることを特徴とする画像生成装置。
【請求項９】
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、且つ所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた、複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶部を備える画像生成装置のコンピュータを、
二次元の静止画像を取得する取得機能、
この取得機能により取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定機能、
前記取得機能により取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定機能、
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定機能、
この特定機能により特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出機能、
前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成機能、
として機能させるプログラムであって、
前記生成機能は、前記算出機能により算出された所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させる機能を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元の静止画像を変形させて変形画像を生成する画像生成方法、画像生成装置及びプログラムに関する。
【背景技術】
【０００２】
従来、二次元の静止画像内の所望の位置に動き制御点を設定して、動きをつけたい動き制御点に所望の動きを指定することで当該静止画像を動かす技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６１３３１３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の場合、動き制御点の動きは二次元空間で表現されているため、当該静止画像の一部分の領域を他の領域と前後に重ねるような動きに対しては奥行きの表現を適正に行うことができないといった問題がある。
【０００５】
本発明は、このような問題に鑑みてなされたものであり、本発明の課題は、二次元の静止画像を変形させた変形画像にて奥行きの表現を適正に行うことができる画像生成方法、画像生成装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る画像生成方法は、
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、且つ所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた、複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶手段を備える画像生成装置を用いた画像生成方法であって、当該画像生成装置のコンピュータが、
二次元の静止画像を取得する取得ステップと、
この取得ステップにより取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定ステップと、
前記取得ステップにより取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定ステップと、
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定ステップと、
この特定ステップにより特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出ステップと、
前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成ステップと、を実行し、
前記生成ステップは、
前記算出ステップにより算出された所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させることを特徴としている。
【０００７】
また、本発明に係る画像生成装置は、
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、且つ所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた、複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶部を備える画像生成装置であって、
二次元の静止画像を取得する取得部と、
この取得部により取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定部と、
前記取得部により取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定部と、
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定部と、
この特定部により特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出部と、
前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成部と、
を備え、
前記生成部は、前記算出部により算出された所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させる処理を備えることを特徴としている。
【０００８】
また、本発明に係るプログラムは、
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、且つ所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた、複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶部を備える画像生成装置のコンピュータを、
二次元の静止画像を取得する取得機能、
この取得機能により取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定機能、
前記取得機能により取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定機能、
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定機能、
この特定機能により特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出機能、
前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成機能、
として機能させるプログラムであって、
前記生成機能は、前記算出機能により算出された所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させる機能を含むことを特徴としている。
【発明の効果】
【０００９】
本発明によれば、二次元の静止画像を変形させた変形画像にて奥行きの表現を適正に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明を適用した一実施形態の動画生成システムの概略構成を示すブロック図である。
【図２】図１の動画生成システムを構成するユーザ端末の概略構成を示すブロック図である。
【図３】図１の動画生成システムを構成するサーバの概略構成を示すブロック図である。
【図４】図３のサーバに記憶されている動き情報を模式的に示す図である。
【図５】図１の動画生成システムによる動画生成処理に係る動作の一例を示すフローチャートである。
【図６】図５の動画生成処理の続きを示すフローチャートである。
【図７】図５の動画生成処理におけるフレーム画像生成処理に係る動作の一例を示すフローチャートである。
【図８】図５の動画生成処理における構成領域特定処理に係る動作の一例を示すフローチャートである。
【図９】図５の動画生成処理におけるフレーム描画処理に係る動作の一例を示すフローチャートである。
【図１０】図３のサーバに記憶されているレイヤー情報を模式的に示す図である。
【図１１】図７のフレーム画像生成処理に係る画像の一例を模式的に示す図である。
【図１２】図７のフレーム画像生成処理に係る画像の一例を模式的に示す図である。
【図１３】図７のフレーム画像生成処理に係る画像の一例を模式的に示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図１は、本発明を適用した一実施形態の動画生成システム１００の概略構成を示すブロック図である。
【００１２】
本実施形態の動画生成システム１００は、図１に示すように、撮像装置１と、ユーザ端末２と、サーバ３とを備え、ユーザ端末２とサーバ３とが所定の通信ネットワークＮを介して各種情報を送受信可能に接続されている。
【００１３】
先ず、撮像装置１について説明する。
撮像装置１は、被写体を撮像する撮像機能や撮像画像の画像データを記録媒体Ｃに記録する記録機能等を具備する。即ち、撮像装置１は、公知のものを適用可能であり、例えば、主要な機能を撮像機能とするデジタルカメラだけでなく、主要な機能としないものの撮像機能を具備する携帯電話機等の携帯端末なども含む。
【００１４】
次に、ユーザ端末２について図２を参照して説明する。
ユーザ端末２は、例えば、パーソナルコンピュータ等により構成され、サーバ３により開設されるＷｅｂページ（例えば、動画生成用ページ）にアクセスして、当該Ｗｅｂページ上で各種の指示を入力する。
【００１５】
図２は、ユーザ端末２の概略構成を示すブロック図である。
図２に示すように、ユーザ端末２は、具体的には、中央制御部２０１と、操作入力部２０２と、表示部２０３と、音出力部２０４と、記録媒体制御部２０５と、通信制御部２０６等を備えている。
【００１６】
中央制御部２０１は、ユーザ端末２の各部を制御する。具体的には、中央制御部２０１は、ＣＰＵ、ＲＡＭ、ＲＯＭ（何れも図示略）を備え、ＲＯＭに記憶されたユーザ端末２用の各種処理プログラム（図示略）に従って各種の制御動作を行う。その際に、ＣＰＵは、ＲＡＭ内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部２０３に表示させる。
ＲＡＭは、例えば、ＣＰＵにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ＲＯＭは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、ユーザ端末２で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【００１７】
操作入力部２０２は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等を備え、ユーザにより押下されたキーの押下信号やマウスの操作信号を中央制御部２０１のＣＰＵに出力する。
なお、操作入力部２０２としてタッチパネル（図示略）を表示部２０３の表示画面に配設して、タッチパネルの接触位置に応じて各種の指示を入力するような構成としても良い。
【００１８】
表示部２０３は、例えば、ＬＣＤ、ＣＲＴ（Cathode Ray Tube）等のディスプレイから構成され、中央制御部２０１のＣＰＵの制御下にて各種情報を表示画面に表示する。
即ち、表示部２０３は、例えば、サーバ３から送信され通信制御部２０６により受信されたＷｅｂページ（例えば、動画生成用ページ）のページデータに基づいて、対応するＷｅｂページを表示画面に表示する。具体的には、表示部２０３は、動画生成処理（後述）に係る各種の処理画面の画像データに基づいて、各種の処理画面を表示画面に表示する。
【００１９】
音出力部２０４は、例えば、Ｄ／Ａコンバータ、ＬＰＦ（Low Pass Filter）、増幅器、スピーカ等により構成され、中央制御部２０１のＣＰＵの制御下にて放音する。
即ち、音出力部２０４は、例えば、サーバ３から送信され通信制御部２０６により受信された演奏情報に基づいて、当該演奏情報のデジタルデータをＤ／Ａコンバータによりアナログデータに変換し、増幅器を介してスピーカから、所定の音色、音高、音長で曲を放音する。また、音出力部２０４は、一の音源（例えば、楽器）の音を放音しても良いし、複数の音源の音を同時に放音しても良い。
【００２０】
記録媒体制御部２０５は、記録媒体Ｃが着脱自在に構成され、装着された記録媒体Ｃからのデータの読み出しや記録媒体Ｃに対するデータの書き込みを制御する。即ち、記録媒体制御部２０５は、撮像装置１から取り外されて装着された記録媒体Ｃから動画生成処理（後述）に係る被写体存在画像（図示略）の画像データ（ＹＵＶデータ）を読み出して通信制御部２０６に出力する。
ここで、被写体存在画像とは、所定の背景内に主要な被写体が存在する画像のことである。また、記録媒体Ｃには、撮像装置１の画像処理部（図示略）により所定の符号化形式（例えば、ＪＰＥＧ形式等）に従って符号化された被写体存在画像の画像データが記録されている。
そして、通信制御部２０６は、入力された被写体存在画像の画像データをサーバ３に所定の通信ネットワークＮを介して送信する。
【００２１】
通信制御部２０６は、例えば、モデム（MODEM:Modulater/DEModulater）、ターミナルアダプタ（Terminal Adapter）等によって構成され、所定の通信ネットワークＮを介してサーバ３等の外部機器との間で情報の通信制御を行うためのものである。
【００２２】
なお、通信ネットワークＮは、例えば、専用線や既存の一般公衆回線を利用して構築された通信ネットワークであり、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等の様々な回線形態を適用することが可能である。また、通信ネットワークＮには、例えば、電話回線網、ＩＳＤＮ回線網、専用線、移動体通信網、通信衛星回線、ＣＡＴＶ回線網等の各種通信回線網と、それらを接続するインターネットサービスプロバイダ等が含まれる。
【００２３】
次に、サーバ３について図３を参照して説明する。
サーバ３は、Ｗｅｂ（World Wide Web）サーバとしてインターネット上にＷｅｂページ（例えば、動画生成用ページ）を開設する機能を具備するものであり、ユーザ端末２からのアクセスに応じて当該ユーザ端末２にＷｅｂページのページデータを送信する。また、サーバ３は、画像生成装置として、静止画像の被写体領域Ｂ内で、二次元空間に対する奥行き方向の基準位置と対応付けられた複数の重なり基準点Ｒ、…に対応する各位置に複数の構成領域Ｌ、…の重なりの制御に係る重なり制御点Ｔを複数設定する。そして、サーバ３は、複数の重なり制御点Ｔ、…の各々に対応する重なり基準点Ｒの奥行き方向の基準位置に基づいて算出された複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に被写体領域Ｂにおける各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、被写体領域Ｂ内に設定されている複数の動き制御点Ｓ、…の動きに従って当該被写体領域Ｂを変形させた変形画像を生成する。
【００２４】
図３は、サーバ３の概略構成を示すブロック図である。
図３に示すように、サーバ３は、具体的には、中央制御部３０１と、表示部３０２と、通信制御部３０３と、被写体切抜部３０４と、記憶部３０５と、動画処理部３０６等を備えて構成されている。
【００２５】
中央制御部３０１は、サーバ３の各部を制御する。具体的には、中央制御部３０１は、ＣＰＵ、ＲＡＭ、ＲＯＭ（何れも図示略）を備え、ＣＰＵは、ＲＯＭに記憶されたサーバ３用の各種処理プログラム（図示略）に従って各種の制御動作を行う。その際に、ＣＰＵは、ＲＡＭ内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部３０２に表示させる。
ＲＡＭは、例えば、ＣＰＵにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ＲＯＭは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ３で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【００２６】
表示部３０２は、例えば、ＬＣＤ、ＣＲＴ等のディスプレイから構成され、中央制御部３０１のＣＰＵの制御下にて各種情報を表示画面に表示する。
【００２７】
通信制御部３０３は、例えば、モデム、ターミナルアダプタ等によって構成され、所定の通信ネットワークＮを介してユーザ端末２等の外部機器との間で情報の通信制御を行うためのものである。
具体的には、通信制御部３０３は、例えば、動画生成処理（後述）にてユーザ端末２から所定の通信ネットワークＮを介して送信された被写体存在画像の画像データを受信して、当該画像データを中央制御部３０１のＣＰＵに出力する。
中央制御部３０１のＣＰＵは、入力された被写体存在画像の画像データを被写体切抜部３０４に出力する。
【００２８】
被写体切抜部３０４は、被写体存在画像から被写体切り抜き画像（図示略）を生成する。
即ち、被写体切抜部３０４は、公知の被写体切抜手法を用いて、被写体存在画像から被写体が含まれる被写体領域が切り抜かれた被写体切り抜き画像を生成する。具体的には、被写体切抜部３０４は、中央制御部３０１のＣＰＵから出力された被写体存在画像の画像データを取得して、例えば、ユーザによるユーザ端末２の操作入力部２０２（例えば、マウス等）の所定操作に基づいて、表示部２０３に表示されている当該被写体存在画像上に描画された境界線（図示略）により当該被写体存在画像を区分する。続けて、被写体切抜部３０４は、被写体存在画像の切抜線により区分される複数の区分領域の中で、被写体の背景を推定して当該背景の各画素の画素値に基づいて所定の演算を行って、被写体の背景色を所定の単一色として推定する。その後、被写体切抜部３０４は、所定の単一色の背景用画像と被写体存在画像との間で対応する各画素の差分情報（例えば、相違度マップ等）を生成する。そして、被写体切抜部３０４は、生成した差分情報の各画素の画素値を所定の閾値と比較して二値化した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行って面積が最大の画素集合を被写体部分とする。
その後、被写体切抜部３０４は、例えば、上記の面積が最大の画素集合が「１」、その他の部分が「０」である二値化された差分情報に対してローパスフィルタを施して境界部分に中間値を生じさせることでアルファ値を生成し、被写体切り抜き画像内で被写体領域の位置を示す位置情報としてのアルファマップ（図示略）を生成する。
アルファ値（０≦α≦１）とは、例えば、被写体存在画像の各画素について、被写体領域の画像を所定の背景に対してアルファブレンディングする際の重みを表すものである。この場合、被写体領域はアルファ値が「１」となり、被写体存在画像の所定の背景に対する透過度が０％となる。一方、被写体の背景部分はアルファ値が「０」となり、当該被写体存在画像の所定の背景に対する透過度が１００％となる。
【００２９】
そして、被写体切抜部３０４は、アルファマップに基づいて、被写体存在画像の各画素のうち、アルファ値が「１」の画素を所定の単一色画像に対して透過させずに、且つ、アルファ値が「０」の画素を透過させるように、被写体画像を所定の単一色画像と合成して被写体切り抜き画像の画像データを生成する。
また、被写体切抜部３０４は、アルファマップに基づいて、被写体領域Ｂ（図１１（ａ）中、白で表す領域）の各画素を第１の画素値（例えば、「１」等）とし、背景領域（図１１（ａ）中、ドットを付した領域）の各画素を第１の画素値と異なる第２の画素値（例えば、「０」等）とする二値画像であるマスク画像Ｐ１（図１１（ａ）参照）を生成する。即ち、被写体切抜部３０４は、被写体切り抜き画像内で被写体領域Ｂの位置を示す位置情報としてのマスク画像Ｐ１を生成する。
被写体切り抜き画像の画像データは、例えば、生成されたアルファマップやマスク画像Ｐ１等の位置情報と対応付けられたデータである。
【００３０】
なお、上記した被写体切抜部３０４による被写体切抜手法は、一例であってこれに限られるものではなく、被写体存在画像から被写体が含まれる被写体領域を切り抜く公知の手法であれば如何なる手法を適用しても良い。
また、被写体切り抜き画像の画像データとしては、例えば、ＲＧＢＡ形式の画像データを適用しても良く、具体的には、ＲＧＢ色空間で規定される各色に透過度（Ａ）の情報が付加されている。この場合には、被写体切抜部３０４は、透過度（Ａ）の情報を利用して、被写体切り抜き画像内で被写体領域Ｂの位置を示す位置情報（図示略）を生成しても良い。
【００３１】
記憶部３０５は、例えば、半導体の不揮発メモリやＨＤＤ（Hard Disc Drive）等により構成され、ユーザ端末２に送信されるＷｅｂページのページデータや被写体切抜部３０４により生成された被写体切り抜き画像の画像データ等を記憶する。
【００３２】
また、記憶部３０５は、動画生成処理に用いられる動き情報３０５ａを複数記憶している。
各動き情報３０５ａは、所定空間、即ち、例えば、互いに直交する二軸（例えば、ｘ軸、ｙ軸等）により規定される二次元の平面空間並びにこれら二軸に加えて当該二軸に直交する軸（例えば、ｚ軸等）により規定される三次元の立体的空間内における複数の動き基準点Ｑ、…の動きを示す情報である。なお、動き情報３０５ａは、二次元の平面空間を所定の回動軸周りに回転させることで複数の動き基準点Ｑ、…の動きに奥行きをもたせるような情報であっても良い。
ここで、各動き基準点Ｑの位置は、動きのモデルとなる動体モデル（例えば、ヒトや動物等）の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。即ち、各動き基準点Ｑは、基準となる基準画像の動体モデルが含まれるモデル領域Ａ内に、動体モデルの骨格の形状や関節の位置等を考慮して設定されている。例えば、動き基準点Ｑは、基準画像のモデル領域Ａ内で、ヒトの左右の手首の各々に相当する位置に左右の手首動き基準点Ｑ１、Ｑ２が設定され、また、ヒトの左右の足首の各々に相当する位置に左右の足首動き基準点Ｑ３、Ｑ４が設定され、また、ヒトの首に相当する位置に首動き基準点Ｑ５が設定されている（図４参照）。なお、動き基準点Ｑの個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
ここで、図４は、動体モデルとしてのヒトを正面から見た状態を模式的に表す基準画像である。当該基準画像は、向かって左側に動体モデルとしてのヒトの右腕及び右脚が配置され、一方、向かって右側に動体モデルとしてのヒトの左腕及び左脚が配置されている。
【００３３】
また、各動き情報３０５ａは、所定空間内にて複数の動き基準点Ｑ、…の全て若しくは少なくとも一つを移動させた座標情報を所定の時間間隔で連続して並べることで、複数の動き基準点Ｑ、…の所定の時間間隔毎の動きが連続して表されている。具体的には、各動き情報３０５ａは、例えば、基準画像のモデル領域Ａ内に設定されている複数の動き基準点Ｑ、…を所定の踊りに対応させるように移動させた情報である。
例えば、図４に示すように、動き情報３０５ａは、ヒトの動体モデルの両方の腕を挙げ、且つ、両脚を開いた状態を模式的に表した複数の動き基準点Ｑ、…の座標情報Ｄ１、一方の脚（図４における左側の脚）を他方の脚と交差させた状態を模式的に表した複数の動き基準点Ｑ、…の座標情報Ｄ２、さらに一方の腕（図４における左側の腕）を下げた状態を模式的に表した複数の動き基準点Ｑ、…の座標情報Ｄ３といったように、時間軸に沿って所定の時間間隔を空けて連続して並べられている（図４にあっては、座標情報Ｄ３以降の座標情報の図示は省略する）。
なお、図４に示した動き情報３０５ａは、一例であってこれに限られるものではなく、動きの種類等は適宜任意に変更可能である。また、複数の動き基準点Ｑ、…の座標情報の各々は、例えば、基準となる動き基準点Ｑの座標情報に対する各動き基準点Ｑの移動量を規定した情報であっても良いし、各動き基準点Ｑの絶対位置座標を規定した情報であっても良い。
【００３４】
また、記憶部３０５は、複数の重なり基準点Ｒ、…の二次元空間内での位置を示す重なり位置情報３０５ｂを複数記憶している。
各重なり位置情報３０５ｂは、互いに直交する二軸（例えば、ｘ軸、ｙ軸等）により規定される二次元の平面空間での複数の重なり基準点Ｒ、…の位置を示す情報である。
ここで、各重なり基準点Ｒは、基準画像のモデル領域Ａを構成する複数の領域毎、即ち、例えば、動体モデルとしてのヒトの代表的な各部位毎に設定されており、体幹から遠い位置に設定されていることが好ましい。また、各重なり基準点Ｒは、各動き基準点Ｑと略等しい位置に設定されていても良い。具体的には、例えば、各重なり基準点Ｒは、基準画像のモデル領域Ａ内で、ヒトの左右の手首の各々に相当する位置に左右の手首重なり基準点Ｒ１、Ｒ２が設定され、また、ヒトの左右の足首の各々に相当する位置に左右の足首重なり基準点Ｒ３、Ｒ４が設定されている。
また、各重なり基準点Ｒは、所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置（奥行き情報）と対応付けられている。即ち、各重なり位置情報３０５ｂは、複数の重なり基準点Ｒ、…の全て若しくは少なくとも一つを二次元の平面空間に対する奥行き方向（例えば、ｚ軸方向等）に移動させた座標情報を所定の時間間隔で連続して並べることで、複数の重なり基準点Ｒ、…の所定の時間間隔毎の奥行き方向の基準位置が連続して表されている。なお、複数の重なり基準点Ｒ、…の座標情報の各々は、例えば、基準となる重なり基準点Ｒの座標情報に対する各重なり基準点Ｒの移動量を規定した情報であっても良いし、各重なり基準点Ｒの絶対位置座標を規定した情報であっても良い。
このように、記憶部３０５は、基準画像の動体モデルが含まれるモデル領域Ａを構成する複数の領域毎に設定され、所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた複数の重なり基準点Ｒ、…の二次元空間内での位置を示す位置情報を記憶する記憶手段を構成している。
【００３５】
また、記憶部３０５は、動画生成処理に用いられる演奏情報３０５ｃを複数記憶している。
演奏情報３０５ｃは、動画処理部３０６の動画再生部３０６ｉ（後述）により動画像とともに自動的に曲を演奏するための情報である。即ち、演奏情報３０５ｃは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報３０５ｃは、例えば、ＭＩＤＩ（Musical Instruments Digital Interface）規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能（Tickカウント数）等が規定されたヘッダ情報と、各パートに割り当てられた音源（例えば、楽器等）に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
【００３６】
動画処理部３０６は、画像取得部３０６ａと、第１設定部３０６ｂと、第２設定部３０６ｃと、領域分割部３０６ｄと、領域特定部３０６ｅと、奥行き位置算出部３０６ｆと、フレーム生成部３０６ｇと、裏面画像生成部３０６ｈと、動画再生部３０６ｉとを具備している。
【００３７】
画像取得部３０６ａは、動画生成処理に用いられる静止画像を取得する。
即ち、画像取得部３０６ａは、取得手段として、動画生成処理の処理対象となる二次元の静止画像を取得する。具体的には、画像取得部３０６ａは、被写体切抜部３０４により生成された被写体切り抜き画像の画像データと、当該被写体切り抜き画像の画像データと対応付けられているマスク画像Ｐ１の画像データを取得する。
【００３８】
第１設定部３０６ｂは、動画生成処理の処理対象となる静止画像の被写体領域内で動き制御点Ｓを複数設定する。
即ち、第１設定部３０６ｂは、第１設定手段として、画像取得部３０６ａにより取得された二次元の静止画像の被写体領域内で、被写体の動きの制御に係る動き制御点Ｓを複数設定する。具体的には、第１設定部３０６ｂは、被写体切り抜き画像及びマスク画像Ｐ１の各々の被写体領域Ｂ内で、基準画像のモデル領域Ａ内に設定されている複数の動き基準点Ｑ、…に対応する各位置に複数の動き制御点Ｓ、…の各々を設定する。
例えば、第１設定部３０６ｂは、記憶部３０５から動体モデル（例えば、ヒト）の動き情報３０５ａを読み出して、被写体切り抜き画像及びマスク画像Ｐ１の各被写体領域Ｂ内で、当該動き情報３０５ａに規定されている基準フレーム（例えば、１フレーム目等）の複数の動き基準点Ｑ、…（例えば、動き基準点Ｑ１〜Ｑ５等）の各々に対応する動き制御点Ｓ（例えば、動き制御点Ｓ１〜Ｓ５等）を、ユーザによるユーザ端末２の操作入力部２０２の所定操作に基づいて指定された所望の位置にそれぞれ設定する（図１１（ａ）参照）。ここで、第１設定部３０６ｂは、被写体切り抜き画像の被写体領域Ｂ内で動き制御点Ｓをそれぞれ設定することで、当該被写体切り抜き画像に対応する裏面画像内の所定位置に対してもそれぞれ対応する動き制御点Ｓを自動的に設定しても良い。
このとき、第１設定部３０６ｂは、動体モデルのモデル領域Ａと被写体切り抜き画像やマスク画像Ｐ１の被写体領域Ｂとについて、例えば、顔などの主要部の大きさを合わせるように寸法の調整（例えば、動体モデルの拡大や縮小、変形等）を行うようにしても良い。また、例えば、モデル領域Ａと被写体領域Ｂの画像を重ね合わせて被写体領域Ｂにおける複数の動き基準点Ｑ、…の各々が対応する位置を特定しても良い。
さらに、第１設定部３０６ｂは、動き情報３０５ａに規定されている複数の動き基準点Ｑ、…の全てについて、対応する動き制御点Ｓを設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の動き基準点Ｑに対応する動き制御点Ｓのみ設定しても良い。
【００３９】
なお、第１設定部３０６ｂは、被写体切り抜き画像やマスク画像Ｐ１の被写体領域Ｂ内で、記憶部３０５から読み出された動き情報３０５ａに規定されている基準フレーム（例えば、１フレーム目等）の複数の動き基準点Ｑ、…の各々が対応する位置を自動的に特定しても良い。例えば、第１設定部３０６ｂは、被写体の骨格の形状や関節の位置等を考慮して複数の動き基準点Ｑ、…の各々が対応する位置を特定する。そして、第１設定部３０６ｂは、特定された複数の動き基準点Ｑ、…の各々が対応する位置に動き制御点Ｓをそれぞれ設定する。
また、第１設定部３０６ｂによる動き制御点Ｓの設定が自動的に行われた場合であっても、ユーザによる操作入力部の所定操作に基づいて動き制御点Ｓの設定位置の修正（変更）を受け付けるようにしても良い。
【００４０】
第２設定部３０６ｃは、動画生成処理の処理対象となる静止画像の被写体領域Ｂ内で重なり制御点Ｔを複数設定する。
即ち、第２設定部３０６ｃは、第２設定手段として、画像取得部３０６ａにより取得された二次元の静止画像の被写体領域Ｂ内で、複数の重なり基準点Ｒ、…に対応する各位置に被写体領域Ｂを構成する複数の構成領域Ｌ、…の重なりの制御に係る重なり制御点Ｔを複数設定する。具体的には、第２設定部３０６ｃは、被写体切り抜き画像及びマスク画像Ｐ１の各々の被写体領域Ｂ内で、基準画像のモデル領域Ａを構成する複数の領域毎（例えば、動体モデルとしてのヒトの代表的な各部位毎等）に設定されている複数の重なり基準点Ｒ、…に対応する各位置に複数の重なり制御点Ｔ、…の各々を設定する。
例えば、第２設定部３０６ｃは、記憶部３０５から重なり位置情報３０５ｂを読み出して、被写体切り抜き画像及びマスク画像Ｐ１の各々の被写体領域Ｂ内で、当該重なり位置情報３０５ｂに規定されている基準フレーム（例えば、１フレーム目等）の複数の重なり基準点Ｒ、…（例えば、重なり基準点Ｒ１〜Ｒ４等）の各々に対応する重なり制御点Ｔ（例えば、重なり制御点Ｔ１〜Ｔ４等）を、ユーザによるユーザ端末２の操作入力部２０２の所定操作に基づいて指定された所望の位置にそれぞれ設定する（図１１（ａ）参照）。このとき、第２設定部３０６ｃは、重なり位置情報３０５ｂに規定されている複数の重なり基準点Ｒ、…の全てについて、対応する重なり制御点Ｔを設定しても良いし、被写体の中央部、腕や脚の各先端部等の代表的な所定数の重なり基準点Ｒに対応する重なり制御点Ｔのみ設定しても良い。
また、第２設定部３０６ｃは、第１設定部３０６ｂによる動き制御点Ｓの設定位置を基準として、例えば、動き制御点Ｓの設定位置と略等しい位置に重なり制御点Ｔを設定しても良い。このとき、第２設定部３０６ｃは、設定済みの動き制御点Ｓの全てについて、略等しい位置に重なり制御点Ｔを設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の動き制御点Ｓに対応する重なり制御点Ｔのみ設定しても良い。
【００４１】
領域分割部３０６ｄは、被写体領域Ｂを所定形状の複数の画像領域Ｂａ、…に分割する。
即ち、領域分割部３０６ｄは、例えば、被写体切り抜き画像やマスク画像Ｐ１の画像データに対してドローネの三角形分割を行って、被写体領域Ｂ内に所定の間隔で頂点を配置して三角形のメッシュ状の複数の画像領域Ｂａ、…に分割する（図１１（ｂ）参照）。ここで、動き制御点Ｓや重なり制御点Ｔと略等しい位置に、画像領域Ｂａの頂点を設定しても良いし、異なる位置に設定しても良い。
なお、ドローネの三角形分割とは、各点を頂点とする複数の三角形で処理対象の領域を分割する方法のうち、三角形の最小角の和を最大にするように分割する方法のことである。
なお、領域分割部３０６ｄによる被写体領域Ｂの分割手法として、ドローネの三角形分割を例示したが、一例であってこれに限られるものではなく、被写体領域Ｂを複数の画像領域Ｂａ、…に分割する手法であれば適宜任意に変更可能である。
【００４２】
領域特定部３０６ｅは、複数の重なり制御点Ｔ、…の各々について、被写体領域Ｂを構成する複数の構成領域Ｌ、…を特定する。
即ち、領域特定部３０６ｅは、第２設定部３０６ｃにより設定された複数の重なり制御点Ｔ、…の各々について、最も近い位置に存する他の重なり制御点Ｔとの距離を基準として、マスク画像Ｐ１の被写体領域Ｂの中で構成領域Ｌとしての重なり制御領域Ｍを複数特定する。具体的には、領域特定部３０６ｅは、例えば、ダイクストラ法等を利用して、各重なり制御点Ｔ（例えば、左手首重なり制御点Ｔ１等）について、領域分割部３０６ｄにより被写体領域Ｂが分割された複数の画像領域Ｂａ、…（例えば、三角形の画像領域Ｂａ）の縁部に沿った経路で最も近い位置に存する他の重なり制御点Ｔ（例えば、右手首重なり制御点Ｔ２等）を特定する（図１２（ａ）参照）。そして、領域特定部３０６ｅは、各重なり制御点Ｔについて、特定された最も近い位置に存する他の重なり制御点Ｔまでの距離の半分となる距離以内に存する複数の画像領域Ｂａ、…からなる領域を、当該重なり制御点Ｔの重なり制御領域Ｍとして特定する（図１２（ｂ）参照）。例えば、領域特定部３０６ｅは、左手首重なり制御点Ｔ１に係る左腕重なり制御領域Ｍ１、右手首重なり制御点Ｔ２に係る右腕重なり制御領域Ｍ２、左足首重なり制御点Ｔ３に係る左脚重なり制御領域Ｍ３、右足首重なり制御点Ｔ４に係る右脚重なり制御領域Ｍ４等をそれぞれ特定する。
なお、図１２（ａ）、後述する図１２（ｃ）にあっては、被写体領域Ｂを分割した複数の画像領域Ｂａ、…の図示を省略し、重なり制御点Ｔどうしの距離を模式的に破線で表している。
【００４３】
また、領域特定部３０６ｅは、被写体領域Ｂの中で複数の重なり制御領域Ｍ、…以外の非重なり制御領域Ｎを構成領域Ｌとして特定する。
即ち、領域特定部３０６ｅは、マスク画像Ｐ１の被写体領域Ｂの中で重なり制御領域Ｍが特定された結果、残った部分の領域を非重なり制御領域Ｎとして特定する。具体的には、領域特定部３０６ｅは、例えば、マスク画像Ｐ１の被写体領域Ｂの中で左右の腕重なり制御領域Ｍ１、Ｍ２及び左右の脚重なり制御領域Ｍ３、Ｍ４が特定された結果、残った部分の領域である主として胴体及び頭に相当する各領域を非重なり制御領域Ｎとして特定する（図１２（ｂ）参照）。
つまり、胴体に相当する非重なり制御領域Ｎは、被写体領域Ｂの相対的に中心側の領域となり、複数の重なり制御領域Ｍ、…は、非重なり制御領域Ｎに隣接して当該被写体領域Ｂの相対的に端部側の領域となる。
【００４４】
なお、領域特定部３０６ｅによる重なり制御領域Ｍや非重なり制御領域Ｎの特定手法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【００４５】
奥行き位置算出部３０６ｆは、被写体領域Ｂを構成する複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置を算出する。
即ち、奥行き位置算出部３０６ｆは、算出手段として、複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置を、複数の重なり制御点Ｔ、…の各々に対応する重なり基準点Ｒの奥行き方向の基準位置（奥行き情報）に基づいて算出する。具体的には、奥行き位置算出部３０６ｆは、領域特定部３０６ｅにより特定された複数の重なり制御領域Ｍ、…の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域Ｍに係る重なり制御点Ｔに対応する重なり基準点Ｒの所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置に基づいて算出する。例えば、奥行き位置算出部３０６ｆは、記憶部３０５から重なり位置情報３０５ｂを読み出して、第２設定部３０６ｃにより各重なり制御点Ｔが対応付けられた重なり基準点Ｒの所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置を取得する。そして、奥行き位置算出部３０６ｆは、取得された重なり基準点Ｒの所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置に基づいて、各重なり制御領域Ｍを構成する複数の画像領域Ｂａ、…の各頂点の画素が所定方向（例えば、被写体領域Ｂの端部側から中央部側に向かう方向）に互いに重なり合わないように、当該重なり基準点Ｒに対応する重なり制御点Ｔに係る各重なり制御領域Ｍの所定の時間間隔毎の奥行き方向の位置を算出する。
【００４６】
ここで、奥行き位置算出部３０６ｆは、複数の重なり制御領域（構成領域Ｌ）Ｍ、…の各々について、領域分割部３０６ｄにより各重なり制御領域Ｍが分割された複数の画像領域Ｂａ、…の各頂点の奥行き方向の位置を、当該各重なり制御領域Ｍに係る重なり制御点Ｔからの距離を基準として算出しても良い。
例えば、奥行き位置算出部３０６ｆは、複数の重なり制御領域（構成領域Ｌ）Ｍ、…の各々について、複数の画像領域Ｂａ、…の各頂点の位置を「０」〜「１」の範囲の値で正規化した奥行き正規化情報を算出する。具体的には、奥行き位置算出部３０６ｆは、重なり制御点Ｔの位置が「１」となり、重なり制御点Ｔから離れる程値が小さくなっていき、最も遠い位置に存する頂点（重なり制御領域Ｍの重なり制御点Ｔと反対側の頂点）の位置で「０」となるような奥行き正規化情報を算出する。
また、奥行き位置算出部３０６ｆは、各重なり制御領域Ｍ内で、重なり制御点Ｔを基準として、当該重なり制御点Ｔから最も近い位置に存する他の重なり制御点Ｔに向かう方向とは反対側の領域Ｍａ内に存する所定数の画像領域Ｂａの各頂点の奥行き正規化情報を、重なり制御点Ｔと同様に「１」とする（図１２（ｃ）参照）。ここで、奥行き位置算出部３０６ｆは、各重なり制御領域Ｍ内で、重なり制御点Ｔを基準として所定の距離（例えば、重なり制御領域Ｍ内で取り得る最長経路の１／５程度等）内に存する各頂点の奥行き正規化情報を「１」としても良い。
【００４７】
また、奥行き位置算出部３０６ｆは、領域特定部３０６ｅにより特定された非重なり制御領域Ｎを構成する各画素が奥行き方向に互いに異なる位置となるように、当該非重なり制御領域Ｎの所定の時間間隔毎の奥行き方向の位置を算出する。
即ち、奥行き位置算出部３０６ｆは、非重なり制御領域Ｎについて、複数の画像領域Ｂａ、…の各頂点の位置を「０」〜「１」の範囲の値で正規化した奥行き正規化情報を算出する。具体的には、奥行き位置算出部３０６ｆは、例えば、ｙ軸方向（上下方向）に沿って複数の画像領域Ｂａ、…の各頂点を正規化し、最も上部（例えば、頭側）に存する頂点の位置が「１」、最も下部（例えば、足側）に存する頂点の位置が「０」となるように奥行き正規化情報を算出する。
【００４８】
そして、奥行き位置算出部３０６ｆは、非重なり制御領域Ｎの奥行き方向の位置を基準として、複数の重なり制御領域Ｍ、…の奥行き方向の位置を算出する。
即ち、奥行き位置算出部３０６ｆは、例えば、非重なり制御領域Ｎの任意の点（非重なり制御点）の奥行き方向の位置を「０」とし、記憶部３０５から重なり位置情報３０５ｂを読み出して、複数の重なり制御領域Ｍ、…の各々に係る重なり制御点Ｔに対応する重なり基準点Ｒの奥行き方向の基準位置を取得した後、当該複数の重なり制御点Ｔ、…並びに非重なり制御点を所定の規則に従って並べ替える。例えば、重なり位置情報３０５ｂが、左手首重なり制御点Ｔ１に対応する左手首重なり基準点Ｒ１の奥行き方向の基準位置を「１００」、右手首重なり制御点Ｔ２に対応する右手首重なり基準点Ｒ２の奥行き方向の基準位置を「２０」、左足首重なり制御点Ｔ３に対応する左足首重なり基準点Ｒ３の奥行き方向の基準位置を「−５０」、右足首重なり制御点Ｔ４に対応する右足首重なり基準点Ｒ４の奥行き方向の基準位置を「−７０」とした内容の場合、奥行き位置算出部３０６ｆは、左手首重なり制御点Ｔ１、右手首重なり制御点Ｔ２、非重なり制御点、左足首重なり制御点Ｔ３、右足首重なり制御点Ｔ４の順に並べ替える。
そして、奥行き位置算出部３０６ｆは、左手首重なり制御点Ｔ１に係る左腕重なり制御領域Ｍ１、右手首重なり制御点Ｔ２に係る右腕重なり制御領域Ｍ２、非重なり制御点に係る非重なり制御領域Ｎ、左足首重なり制御点Ｔ３に係る左脚重なり制御領域Ｍ３、右足首重なり制御点Ｔ４に係る右脚重なり制御領域Ｍ４の順に、所定層数のレイヤー（例えば、第1〜第５レイヤー；図１０参照）に割り当てる。
ここで、所定層数のレイヤーは、奥行き方向に互いに異なる位置で（重なり合わないように）設定され、実際にフレーム画像が描画される際に利用される奥行き方向の値となる（図１０参照）。また、所定層数のレイヤーの奥行き方向は、当該処理対象の静止画像が恰も二次元の静止画像に見えるように、当該方向の長さ（厚さ）がフレーム画像の状態で目立たないような値に設定されている。
【００４９】
また、奥行き位置算出部３０６ｆは、左腕重なり制御領域Ｍ１、右腕重なり制御領域Ｍ２、非重なり制御領域Ｎ、左脚重なり制御領域Ｍ３及び右脚重なり制御領域Ｍ４の奥行き正規化情報に基づいて、各構成領域Ｌの各頂点の奥行き方向の位置を算出する。
具体的には、奥行き位置算出部３０６ｆは、処理対象となる重なり制御領域Ｍに対応する重なり基準点Ｒの奥行き方向の基準位置が、非重なり制御領域Ｎの奥行き方向の位置「０」よりも大きいか否かを判定し、当該判定結果に応じて奥行き方向の位置を算出するための一般式を切り替えて設定する。
例えば、奥行き位置算出部３０６ｆは、左腕重なり制御領域Ｍ１や右腕重なり制御領域Ｍ２のように、重なり基準点Ｒの奥行き方向の基準位置が非重なり制御領域Ｎの奥行き方向の位置「０」よりも小さい場合、各重なり制御領域Ｍを構成する画像領域Ｂａの各頂点のレイヤー内での奥行き方向の位置「Zpos」を下記式（１）に基づいて算出する。同様に、奥行き位置算出部３０６ｆは、非重なり制御領域Ｎについては、当該非重なり制御領域Ｎを構成する画像領域Ｂａの各頂点のレイヤー内での奥行き方向の位置「Zpos」を下記式（１）に基づいて算出する。
Zpos＝「奥行き正規化情報」＊「LayerW」+「LayerMin」    …式（１）
また、奥行き位置算出部３０６ｆは、左脚重なり制御領域Ｍ３や右脚重なり制御領域Ｍ４のように、重なり基準点Ｒの奥行き方向の基準位置が非重なり制御領域Ｎの奥行き方向の位置「０」よりも大きい場合、各重なり制御領域Ｍを構成する画像領域Ｂａの各頂点のレイヤー内での奥行き方向の位置「Zpos」を下記式（２）に基づいて算出する。
Zpos＝(１−「奥行き正規化情報」)＊「LayerW」＋「LayerMin」    …式（２）
ここで、上記式（１）、（２）における、「LayerW」は、対応する各レイヤーについて取り得る奥行き距離（幅）の最大値「LayerMax」と最小値「LayerMin」との差（幅）を表している。
【００５０】
なお、奥行き位置算出部３０６ｆによる各構成領域Ｌの各頂点の奥行き方向の位置の算出手法は、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【００５１】
フレーム生成部３０６ｇは、動画像を構成する複数の基準フレーム画像を逐次生成する。
即ち、フレーム生成部３０６ｇは、動画処理部３０６により指定された動き情報３０５ａの複数の動き基準点Ｑ、…の動きに追従させるように、被写体切り抜き画像の被写体領域Ｂ内に設定されている複数の動き制御点Ｓ、…を移動させて複数の基準フレーム画像を逐次生成する（図１３（ａ）及び図１３（ｂ）参照）。具体的には、フレーム生成部３０６ｇは、例えば、動き情報３０５ａに従って所定の時間間隔で移動する複数の動き基準点Ｑ、…の座標情報を逐次取得して、当該動き基準点Ｑの各々に対応する各動き制御点Ｓの座標を算出する。そして、フレーム生成部３０６ｇは、算出された座標に動き制御点Ｓを逐次移動させていくとともに、領域分割部３０６ｄにより被写体領域Ｂが分割された複数の画像領域（例えば、三角形のメッシュ状の領域）Ｂａ、…を移動させたり変形させることで、基準フレーム画像（図示略）を生成する。
このとき、フレーム生成部３０６ｇは、生成手段として、奥行き位置算出部３０６ｆにより算出された複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置「Zpos」に基づいて、当該所定の時間間隔毎に被写体領域Ｂにおける各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、複数の動き制御点Ｓ、…の動きに従って被写体領域Ｂを変形させた基準フレーム画像（変形画像）を生成する。具体的には、フレーム生成部３０６ｇは、例えば、Open GL等の三次元の描画インターフェース等を利用して、被写体領域Ｂの構成する構成領域Ｌとしての複数の重なり制御領域Ｍ、…及び非重なり制御領域Ｎの各々の所定の時間間隔毎の奥行き方向の位置「Zpos」に基づいて、当該所定の時間間隔毎に被写体切り抜き画像の被写体領域Ｂにおける各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させる。
【００５２】
なお、動き制御点Ｓを基準とした所定の画像領域Ｂａを移動させたり変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
また、図１３（ａ）及び図１３（ｂ）にあっては、変形後の基準フレーム画像に対応するマスク画像Ｐ２、Ｐ３を模式的に表しており、図１３（ａ）は、動き情報３０５ａの複数の動き基準点Ｑ、…の座標情報Ｄ２に対応する図であり、図１３（ｂ）は、動き情報３０５ａの複数の動き基準点Ｑ、…の座標情報Ｄ３に対応する図である。
さらに、図１３（ａ）及び図１３（ｂ）に示すマスク画像Ｐ２、Ｐ３にあっては、変形後の基準フレーム画像に対応させるように二つの脚を交差させた状態を模式的に表している。つまり、変形後の基準フレーム画像では、交差している部分は前後に重なるように位置しているが、二次元のマスク画像Ｐ２、Ｐ３では、実際には脚どうしの前後関係は表れない。
【００５３】
また、フレーム生成部３０６ｇは、移動後の動き基準点Ｑの各々に対応する複数の動き制御点Ｓ、…に基づいて生成される時間軸に沿って隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像（図示略）を生成する。即ち、フレーム生成部３０６ｇは、動画再生部３０６ｉにより複数のフレーム画像が所定の再生フレームレート（例えば、３０ｆｐｓ等）で再生されるように、二つの基準フレーム画像どうしの間を補間する補間フレーム画像を所定数生成する。
具体的には、フレーム生成部３０６ｇは、隣合う二つの基準フレーム画像間における、動画再生部３０６ｉにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部３０６ｇは、ＭＩＤＩ規格の演奏情報３０５ｃに基づいてテンポの設定情報及び四分音符の分解能（Tickカウント数）を取得して、動画再生部３０６ｉにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部３０６ｇは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング（例えば、各小節の一拍目等）に同期させた隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部３０６ｇは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの基準フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【００５４】
また、フレーム生成部３０６ｇによる基準フレーム画像や補間フレーム画像の生成は、上記と同様にして、マスク画像Ｐ１の画像データ並びにアルファマップについても行われる。
【００５５】
裏面画像生成部３０６ｈは、被写体の裏側（背面側）を擬似的に表す裏面画像（図示略）を生成する。
即ち、裏面画像生成部３０６ｈは、例えば、被写体切り抜き画像の被写体領域の輪郭部分の色情報に基づいて、裏面画像における被写体切り抜き画像の被写体領域に対応する被写体対応領域を描画して当該裏面画像を生成する。
【００５６】
動画再生部３０６ｉは、フレーム生成部３０６ｇにより生成された複数のフレーム画像の各々を再生する。
即ち、動画再生部３０６ｉは、ユーザによるユーザ端末２の操作入力部２０２の所定操作に基づいて指定された演奏情報３０５ｃに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部３０６ｉは、所定の曲の演奏情報３０５ｃのデジタルデータをＤ／Ａコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング（例えば、各小節の１拍目や各拍等）に同期させるように隣合う二つの基準フレーム画像を再生するとともに、隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部３０６ｉは、動画処理部３０６により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部３０６ｉは、隣合う二つの基準フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
【００５７】
次に、ユーザ端末２及びサーバ３を用いた動画生成処理について、図５〜図１２を参照して説明する。
ここで、図５及び図６は、動画生成処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像及び当該被写体切り抜き画像に対応するマスク画像Ｐ１の画像データがサーバ３の記憶部３０５に記憶されているものとする。
【００５８】
図５に示すように、ユーザ端末２の中央制御部２０１のＣＰＵは、ユーザによる操作入力部２０２の所定操作に基づいて、サーバ３により開設される動画生成用ページのアクセス指示が入力されると、当該アクセス指示を通信制御部２０６により所定の通信ネットワークＮを介してサーバ３に送信させる（ステップＳ１）。
サーバ３の通信制御部３０３によって、ユーザ端末２から送信されたアクセス指示が受信されると、中央制御部３０１のＣＰＵは、動画生成用ページのページデータを通信制御部３０３により所定の通信ネットワークＮを介してユーザ端末２に送信させる（ステップＳ２）。
そして、ユーザ端末２の通信制御部２０６によって、動画生成用ページのページデータが受信されると、表示部２０３は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面（図示略）を表示する。
【００５９】
次に、ユーザ端末２の中央制御部２０１は、ユーザによる操作入力部２０２の所定操作に基づいて、動画生成用ページの画面内にて操作された各種ボタンに対応する指示信号を通信制御部２０６により所定の通信ネットワークＮを介してサーバ３に送信させる（ステップＳ３）。
図６に示すように、サーバ３の中央制御部３０１のＣＰＵは、ユーザ端末２からの指示の内容に応じて処理を分岐させる（ステップＳ４）。具体的には、中央制御部３０１のＣＰＵは、ユーザ端末２からの指示が、被写体画像の指定に関する内容の場合（ステップＳ４；被写体画像の指定）、処理をステップＳ５１に移行させ、また、背景画像の指定に関する内容の場合（ステップＳ４；背景画像の指定）、処理をステップＳ６１に移行させ、また、動き及び曲の指定に関する内容の場合（ステップＳ４；動き及び曲の指定）、処理をステップＳ７１に移行させる。
【００６０】
＜被写体画像の指定＞
ステップＳ４にて、ユーザ端末２からの指示が、被写体画像の指定に関する内容の場合（ステップＳ４；被写体画像の指定）、動画処理部３０６の画像取得部３０６ａは、記憶部３０５に記憶されている被写体切り抜き画像の画像データの中からユーザにより指定された被写体切り抜き画像の画像データと、当該被写体切り抜き画像の画像データと対応付けられているマスク画像Ｐ１の画像データを読み出して取得する（ステップＳ５１）。
次に、動画処理部３０６は、取得された被写体切り抜き画像やマスク画像Ｐ１の被写体領域Ｂ内で動き制御点Ｓ及び重なり制御点Ｔが既に設定されているか否かを判定する（ステップＳ５２）。
【００６１】
ステップＳ５２にて、動き制御点Ｓ及び重なり制御点Ｔが設定されていないと判定されると（ステップＳ５２；ＮＯ）、動画処理部３０６は、被写体切り抜き画像及びマスク画像Ｐ１の画像データに基づいて、被写体領域Ｂの所定位置（例えば、中心位置等）を基準として当該被写体切り抜き画像及びマスク画像Ｐ１をトリミングすることで、被写体領域Ｂと動体モデルのモデル領域Ａの大きさが等しくなるように補正する（ステップＳ５３）。
なお、トリミングは、当該被写体切り抜き画像の画像データと対応付けられているアルファマップについても行われる。
その後、動画処理部３０６は、トリミング後の画像の被写体領域Ｂの画像の裏側を擬似的に表す裏面画像（図示略）を生成する裏面画像生成処理を行う（ステップＳ５４）。
【００６２】
次に、中央制御部３０１のＣＰＵは、生成された裏面画像と対応づけられた被写体切り抜き画像の画像データを通信制御部３０３により所定の通信ネットワークＮを介してユーザ端末２に送信させる（ステップＳ５５）。その後、動画処理部３０６は、被写体切り抜き画像及びマスク画像Ｐ１の各々の被写体領域Ｂ内で、動き制御点Ｓ及び重なり制御点Ｔを複数設定する（ステップＳ５６）。
具体的には、動画処理部３０６の第１設定部３０６ｂは、記憶部３０５から動体モデル（例えば、ヒト）の動き情報３０５ａを読み出して、被写体切り抜き画像及びマスク画像Ｐ１の各被写体領域Ｂ内で、当該動き情報３０５ａに規定されている基準フレーム（例えば、１フレーム目等）の複数の動き基準点Ｑ、…の各々に対応する動き制御点Ｓを、ユーザによるユーザ端末２の操作入力部２０２の所定操作に基づいて指定された所望の位置にそれぞれ設定する（図１１（ａ）参照）。また、動画処理部３０６の第２設定部３０６ｃは、第１設定部３０６ｂによる動き制御点Ｓの設定位置を基準として、例えば、被写体領域Ｂの先端部等に設定された動き制御点Ｓと略等しい位置に重なり制御点Ｔを所定数設定する。
例えば、図１１（ａ）に示すように、第１設定部３０６ｂは、被写体切り抜き画像及びマスク画像Ｐ１の各被写体領域Ｂ内で、左右の手首動き基準点Ｑ１、Ｑ２の各々に対応する左右の手首動き制御点Ｓ１、Ｓ２、左右の足首動き基準点Ｑ３、Ｑ４の各々に対応する左右の足首動き制御点Ｓ３、Ｓ４、首動き基準点Ｑ５に対応する首動き制御点Ｓ５を設定する。また、例えば、第２設定部３０６ｃは、被写体切り抜き画像及びマスク画像Ｐ１の各被写体領域Ｂ内で、左右の手首重なり基準点Ｒ１、Ｒ２の各々に対応する左右の手首重なり制御点Ｔ１、Ｔ２、左右の足首重なり基準点Ｒ３、Ｒ４の各々に対応する左右の足首重なり制御点Ｔ３、Ｔ４を設定する。
【００６３】
そして、動画再生部３０６ｉは、当該被写体領域Ｂに対して設定された動き制御点Ｓや重なり制御点Ｔ、並びに被写体画像の合成位置やサイズ等の合成内容を所定の格納手段（例えば、所定のメモリ等）に登録する（ステップＳ５７）。
その後、中央制御部３０１のＣＰＵは、処理をステップＳ８に移行させる。ステップＳ８の処理の内容については、後述する。
【００６４】
なお、ステップＳ５２にて、既に動き制御点Ｓ及び重なり制御点Ｔが設定されていると判定されると（ステップＳ５２；ＹＥＳ）、中央制御部３０１のＣＰＵは、ステップＳ５３〜Ｓ５７の処理をスキップして、処理をステップＳ８に移行させる。ステップＳ８の処理の内容については、後述する。
【００６５】
＜背景画像の指定＞
ステップＳ４にて、ユーザ端末２からの指示が、背景画像の指定に関する内容の場合（ステップＳ４；背景画像の指定）、動画処理部３０６の動画再生部３０６ｉは、ユーザによる操作入力部２０２の所定操作に基づいて所望の背景画像（他の画像）の画像データを読み出して取得し（ステップＳ６１）、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する（ステップＳ６２）。
具体的には、サーバ３には、ユーザ端末２の表示部２０３に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部２０２の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークＮ及び通信制御部３０３を介して入力される。動画再生部３０６ｉは、当該指定指示に係る背景画像の画像データを記憶部３０５から読み出して取得した後、当該背景画像の画像データを動画像の背景として登録する。
【００６６】
次に、中央制御部３０１のＣＰＵは、背景画像の画像データを通信制御部３０３により所定の通信ネットワークＮを介してユーザ端末２に送信させる（ステップＳ６３）。
その後、中央制御部３０１のＣＰＵは、処理をステップＳ８に移行させる。ステップＳ８の処理の内容については、後述する。
【００６７】
＜動き及び曲の指定＞
ステップＳ４にて、ユーザ端末２からの指示が、動き及び曲の指定に関する内容の場合（ステップＳ４；動き及び曲の指定）、動画処理部３０６は、ユーザによる操作入力部２０２の所定操作に基づいて動き情報３０５ａや動きの速さを設定する（ステップＳ７１）。
具体的には、サーバ３には、ユーザ端末２の表示部２０３に表示されている動画生成用ページの画面内の複数の動きモデルのモデル名の中で、ユーザによる操作入力部２０２の所定操作に基づいて指定された何れか一のモデル名（例えば、フラダンス等）の指定指示が、通信ネットワークＮ及び通信制御部３０３を介して入力される。動画処理部３０６は、記憶部３０５に記憶されている複数の動き情報３０５ａ、…の中で、当該指定指示に係る動きモデルのモデル名と対応付けられている動き情報３０５ａを設定する。なお、動画処理部３０６は、複数の動き情報３０５ａ、…の中で、例えば、デフォルトとして設定されている動き情報３０５ａやユーザにより前回指定された動き情報３０５ａを自動的に指定するようにしても良い。
また、サーバ３には、ユーザ端末２の表示部２０３に表示されている動画生成用ページの画面内の複数の動きの速さ（例えば、１／２倍、標準（等倍）、２倍等）の中で、ユーザによる操作入力部２０２の所定操作に基づいて指定された何れか一の速さ（例えば、標準等）の指定指示が、通信ネットワークＮ及び通信制御部３０３を介して入力される。動画処理部３０６は、当該指定指示に係る速さを被写体画像の動きの速さとして設定する。
その後、動画処理部３０６の動画再生部３０６ｉは、設定された動き情報３０５ａや動きの速さを動画像の動きの内容として所定の格納手段に登録する（ステップＳ７２）。
【００６８】
次に、動画処理部３０６は、ユーザによる操作入力部２０２の所定操作に基づいて自動的に演奏される曲を設定する（ステップＳ７３）。
具体的には、サーバ３には、ユーザ端末２の表示部２０３に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部２０２の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークＮ及び通信制御部３０３を介して入力される。動画処理部３０６は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部３０１のＣＰＵは、処理をステップＳ８に移行させる。ステップＳ８の処理の内容については、後述する。
【００６９】
ステップＳ８では、中央制御部３０１のＣＰＵは、動画像の生成が可能な状態であるか否かを判定する（ステップＳ８）。即ち、ユーザによる操作入力部２０２の所定操作に基づいて、サーバ３の動画処理部３０６は、被写体領域Ｂに対する動き制御点Ｓや重なり制御点Ｔの登録、被写体領域Ｂの画像の動きの内容の登録、背景画像の登録等を行うことで、動画像の生成準備が整って動画像を生成可能か否か判定する。
ここで、動画像の生成が可能な状態でないと判定されると（ステップＳ８；ＮＯ）、中央制御部３０１のＣＰＵは、処理をステップＳ４に戻し、ユーザ端末２からの指示の内容に応じて処理を分岐させる（ステップＳ４）。
一方、動画像の生成が可能な状態であると判定されると（ステップＳ８；ＹＥＳ）、図４に示すように、中央制御部３０１のＣＰＵは、処理をステップＳ１０に移行させる。
【００７０】
ステップＳ１０では、サーバ３の中央制御部３０１のＣＰＵは、ユーザによるユーザ端末２の操作入力部２０２の所定操作に基づいて動画像のプレビュー指示が入力されたか否かを判定する（ステップＳ１０）。
即ち、ステップＳ９にて、ユーザ端末２の中央制御部２０１が、ユーザによる操作入力部２０２の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部２０６により所定の通信ネットワークＮを介してサーバ３に送信させる（ステップＳ９）。
そして、ステップＳ１０にて、サーバ３の中央制御部３０１のＣＰＵによって、動画像のプレビュー指示が入力されたと判定されると（ステップＳ１０；ＹＥＳ）、動画処理部３０６の動画再生部３０６ｉは、設定済みの曲名に対応する演奏情報３０５ｃを動画像とともに自動的に演奏される情報として所定の格納手段に登録する（ステップＳ１１）。
【００７１】
次に、動画処理部３０６は、格納手段に登録されている演奏情報３０５ｃに基づいて動画再生部３０６ｉによる所定の曲の演奏を開始させる（ステップＳ１２）。続けて、動画処理部３０６は、動画再生部３０６ｉによる所定の曲の演奏が終了したか否かを判定する（ステップＳ１３）。
ここで、曲の演奏が終了していないと判定されると（ステップＳ１３；ＮＯ）、動画処理部３０６は、基準フレーム画像を生成するフレーム画像生成処理（図７参照）を実行する（ステップＳ１４）。
なお、フレーム画像生成処理については、後述する。
【００７２】
続けて、フレーム生成部３０６ｇは、動画再生部３０６ｉにより演奏される所定の曲の演奏の進行度合に応じて、隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像を生成する（ステップＳ１５）。
また、動画処理部３０６は、補間フレーム画像と背景画像とを、上記基準フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する（詳細後述）。
【００７３】
次に、中央制御部３０１のＣＰＵは、動画再生部３０６ｉにより自動的に演奏される曲の演奏情報３０５ｃとともに、当該曲の所定のタイミングで再生される基準フレーム画像及び補間フレーム画像からなるプレビュー動画のデータを、通信制御部３０３により所定の通信ネットワークＮを介してユーザ端末２に送信させる（ステップＳ１６）。ここで、プレビュー動画のデータは、所定数の基準フレーム画像及び補間フレーム画像からなる複数のフレーム画像とユーザ所望の背景画像とが合成された動画像を構成している。
次に、動画処理部３０６は、処理をステップＳ１８に戻し、曲の演奏が終了したか否かを判定する（ステップＳ１３）。
上記の処理は、ステップＳ１３にて、曲の演奏が終了したと判定されるまで（ステップＳ１３；ＹＥＳ）、繰り返し実行される。
そして、曲の演奏が終了したと判定されると（ステップＳ１３；ＹＥＳ）、図６に示すように、中央制御部３０１のＣＰＵは、処理をステップＳ４に戻し、ユーザ端末２からの指示の内容に応じて処理を分岐させる（ステップＳ４）。
【００７４】
ステップＳ１６にて、サーバ３から送信されたプレビュー動画のデータがユーザ端末２の通信制御部３０３によって受信されると、中央制御部２０１のＣＰＵは、音出力部２０４及び表示部２０３を制御してプレビュー動画を再生させる（ステップＳ１７）。
具体的には、音出力部２０４は、演奏情報３０５ｃに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部２０３は、当該自動的に演奏される曲の所定のタイミングで基準フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
【００７５】
なお、上記の動画生成処理にあっては、プレビュー動画を再生するようにしたが、一例であってこれに限られるものではなく、例えば、逐次生成された基準フレーム画像や補間フレーム画像や背景画像の画像データ並びに演奏情報３０５ｃを一つのファイルとして所定の記憶手段に記憶していき、動画像に係る全てのデータの生成完了後に、当該ファイルをサーバ３からユーザ端末２に送信して当該ユーザ端末２にて再生させるようにしても良い。
【００７６】
＜フレーム画像生成処理＞
以下に、動画処理部３０６によるフレーム画像生成処理について、図７〜図９を参照して詳細に説明する。
図７は、動画生成処理におけるフレーム画像生成処理に係る動作の一例を示すフローチャートである。
【００７７】
図７に示すように、先ず、動画処理部３０６の領域分割部３０６ｄは、例えば、被写体切り抜き画像及びマスク画像Ｐ１の画像データに対してドローネの三角形分割を行って、被写体領域Ｂ内に所定の間隔で頂点を配置して三角形のメッシュ状の複数の画像領域Ｂａ、…に分割する（ステップＳ１０１；図１１（ｂ）参照）。
【００７８】
次に、動画処理部３０６は、マスク画像Ｐ１の被写体領域Ｂを構成する複数の構成領域Ｌ、…を特定する構成領域特定処理（図８参照）を行う（ステップＳ１０２）。なお、フレーム画像生成処理については、後述する。
その後、動画処理部３０６は、被写体領域Ｂの複数の構成領域Ｌ、…を奥行き方向に変位させるとともに、動き制御点Ｓの動きに従って変形させた基準フレーム画像を描画するフレーム描画処理（図９参照）を行う（ステップＳ１０３）。なお、フレーム画像生成処理については、後述する。
【００７９】
そして、動画処理部３０６は、生成された基準フレーム画像と背景画像とを公知の画像合成手法を用いて合成する（ステップＳ１０４）。具体的には、動画処理部３０６は、例えば、背景画像の各画素のうち、アルファ値が「０」の画素は透過させ、アルファ値が「１」の画素は基準フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「０＜α＜１」の画素は１の補数（１−α）を用いて基準フレーム画像の被写体領域を切り抜いた画像（背景画像×（１−α））を生成した後、アルファマップにおける１の補数（１−α）を用いて基準フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を基準フレーム画像から減算し、それを被写体領域を切り抜いた画像（背景画像×（１−α））と合成する。
これにより、フレーム画像生成処理を終了する。
【００８０】
＜構成領域特定処理＞
以下に、動画処理部３０６による構成領域特定処理について、図８を参照して詳細に説明する。
図８は、フレーム画像生成処理における構成領域特定処理に係る動作の一例を示すフローチャートである。
【００８１】
図８に示すように、先ず、動画処理部３０６の領域特定部３０６ｅは、例えば、ダイクストラ法等を利用して、複数の重なり制御点Ｔ、…の各々から領域分割部３０６ｄにより分割された全ての画像領域Ｂａの各頂点までの距離を算出する（ステップＳ２０１）。
次に、領域特定部３０６ｅは、複数の重なり制御点Ｔ、…を所定の順序に従って配置した後、何れか一の重なり制御点Ｔ（例えば、左手首重なり制御点Ｔ１等）を指定した後（ステップＳ２０２）、指定された重なり制御点Ｔを基準とする重なり制御領域Ｍを特定するための領域情報が指定されているか否かを判定する（ステップＳ２０３）。ここで、領域情報としては、例えば、「重なり制御点Ｔからの距離が所定数（例えば、１００）の画素以内を重なり制御領域Ｍとする」等の情報が挙げられる。また、一の重なり制御点Ｔに最も近い他の重なり制御点Ｔについて、後述するように、当該重なり制御点Ｔどうしの距離の半分となる距離以内に存する複数の画像領域Ｂａ、…からなる領域が、当該他の重なり制御点Ｔの重なり制御領域Ｍとして特定された場合には、残りの半分の距離以内に存する複数の画像領域Ｂａ、…からなる領域を、一の重なり制御点Ｔについての重なり制御領域Ｍとするような情報を、領域情報としても良い。
【００８２】
ステップＳ２０３にて、領域情報が指定されていないと判定されると（ステップＳ２０３；ＮＯ）、領域特定部３０６ｅは、他の各重なり制御点Ｔまでの最短距離を算出する（ステップＳ２０４）。具体的には、領域特定部３０６ｅは、ステップＳ２０１にて算出された全ての画像領域Ｂａの各頂点までの距離を用いて、複数の画像領域Ｂａ、…（例えば、三角形の画像領域Ｂａ）の縁部に沿った経路で他の各重なり制御点Ｔまでの最短距離を算出する（図１２（ａ）参照）。
そして、領域特定部３０６ｅは、算出された他の各重なり制御点Ｔまでの最短距離の中で、最短距離が最も短い、即ち、最も近い位置に存する他の重なり制御点Ｔ（例えば、右手首重なり制御点Ｔ２等）を特定した後、当該他の重なり制御点Ｔまでの距離の半分となる距離以内に存する複数の画像領域Ｂａ、…からなる領域を、当該重なり制御点Ｔの重なり制御領域Ｍとして特定する（ステップＳ２０５；図１２（ｂ）参照）。
【００８３】
一方、ステップＳ２０３にて、領域情報が指定されていると判定された場合には（ステップＳ２０３；ＹＥＳ）、領域特定部３０６ｅは、当該領域情報に基づいて、重なり制御点Ｔの重なり制御領域Ｍを特定する（ステップＳ２０６）。
【００８４】
その後、動画処理部３０６の奥行き位置算出部３０６ｆは、特定された重なり制御領域Ｍ内で、重なり制御点Ｔの位置を「１」とし、重なり制御点Ｔから離れる程値が小さくなっていき、最も遠い位置に存する頂点の位置で「０」とするように、複数の画像領域Ｂａ、…の各頂点の位置を「０」〜「１」の範囲の値で正規化して、奥行き正規化情報を算出する（ステップＳ２０７）。
続けて、奥行き位置算出部３０６ｆは、特定された重なり制御領域Ｍ内で、重なり制御点Ｔから最も近い位置に存する他の重なり制御点Ｔに向かう方向とは反対側の領域Ｍａ内に存する所定数の画像領域Ｂａの各頂点の奥行き正規化情報を、重なり制御点Ｔと同様に「１」とする（ステップＳ２０８）。
なお、「０」〜「１」の範囲の値で正規化するにあたって、次の様にしてもよい。一の重なり制御点Ｔから最も近い位置に存する他の重なり制御点Ｔに向かう方向とは反対側の領域Ｍａ内にて、重なり制御点Ｔから一番遠い点の奥行き正規化情報を「１」とする。「０」は上述した通りであって、その間を距離に従い「０」〜「１」の範囲の値で正規化しても良い。
【００８５】
次に、動画処理部３０６は、全ての重なり制御点Ｔについて重なり制御領域Ｍを特定したか否かを判定する（ステップＳ２０９）。
ここで、全ての重なり制御点Ｔについて重なり制御領域Ｍを特定していないと判定されると（ステップＳ２０９；ＮＯ）、領域特定部３０６ｅは、次の処理対象として、複数の重なり制御点Ｔ、…の中で、未だ指定されていない重なり制御点Ｔ（例えば、右手首重なり制御点Ｔ２等）を指定した後（ステップＳ２１０）、処理をステップＳ２０３に移行する。
その後、動画処理部３０６は、ステップＳ２０３以降の処理を、ステップＳ２０９にて全ての重なり制御点Ｔについて重なり制御領域Ｍを特定したと判定（ステップＳ２０９；ＹＥＳ）されるまで、逐次繰り返し実行する。これにより、複数の重なり制御点Ｔ、…の各々について重なり制御領域Ｍが特定される。
【００８６】
そして、ステップＳ２０９にて、全ての重なり制御点Ｔについて重なり制御領域Ｍを特定したと判定されると（ステップＳ２０９；ＹＥＳ）、領域特定部３０６ｅは、マスク画像Ｐ１の被写体領域Ｂの中で非重なり制御領域Ｎを特定する（ステップＳ２１１；図１２（ｂ）参照）。具体的には、領域特定部３０６ｅは、マスク画像Ｐ１の被写体領域Ｂの中で重なり制御領域Ｍが特定された結果、残った部分の領域（例えば、主として胴体及び頭に相当する各領域）を非重なり制御領域Ｎとして特定する。
【００８７】
次に、奥行き位置算出部３０６ｆは、非重なり制御領域Ｎについて、ｙ軸方向に沿って、最も上部（例えば、頭側）に存する頂点の位置が「１」、最も下部（例えば、足側）に存する頂点の位置が「０」とするように、複数の画像領域Ｂａ、…の各頂点の位置を「０」〜「１」の範囲の値で正規化して、奥行き正規化情報を算出する（ステップＳ２１２）。
続けて、奥行き位置算出部３０６ｆは、特定された非重なり制御領域Ｎの任意の点を非重なり制御点として、奥行き方向の位置を「０」に設定して（ステップＳ２１３）、構成領域特定処理を終了する。
【００８８】
＜フレーム描画処理＞
以下に、動画処理部３０６によるフレーム描画処理について、図９を参照して詳細に説明する。
図９は、フレーム画像生成処理におけるフレーム描画処理に係る動作の一例を示すフローチャートである。
【００８９】
図９に示すように、先ず、動画処理部３０６のフレーム生成部３０６ｇは、記憶部３０５から動き情報３０５ａを読み出して、当該動き情報３０５ａに基づいて処理対象となる基準フレーム画像における複数の動き基準点Ｑ、…の各々に対応する各動き制御点Ｓの位置（座標情報）を算出する（ステップＳ３０１）。続けて、フレーム生成部３０６ｇは、算出された座標に各動き制御点Ｓを逐次移動させていくとともに、被写体切り抜き画像の被写体領域Ｂを構成する複数の画像領域Ｂａ、…を移動させたり変形させる（ステップＳ３０２）。
【００９０】
次に、奥行き位置算出部３０６ｆは、記憶部３０５から重なり位置情報３０５ｂを読み出して、複数の重なり制御領域Ｍ、…の各々に係る重なり制御点Ｔに対応する重なり基準点Ｒの奥行き方向の基準位置を取得する（ステップＳ３０３）。
続けて、奥行き位置算出部３０６ｆは、複数の重なり制御領域Ｍ、…の各々に対応する重なり基準点Ｒの奥行き方向の基準位置並びに非重なり制御点の奥行き方向の位置「０」に基づいて、当該複数の重なり制御点Ｔ、…並びに非重なり制御点を所定の規則に従って並べ替える（ステップＳ３０４）。例えば、奥行き位置算出部３０６ｆは、左手首重なり制御点Ｔ１、右手首重なり制御点Ｔ２、非重なり制御点、左足首重なり制御点Ｔ３、右足首重なり制御点Ｔ４の順に並べ替える。
【００９１】
そして、奥行き位置算出部３０６ｆは、所定の格納手段（例えば、メモリ等）に格納されている所定層数のレイヤーに係るレイヤー情報を取得する（ステップＳ３０５；図１０参照）。
続けて、奥行き位置算出部３０６ｆは、複数の重なり制御点Ｔ、…に係る重なり制御領域Ｍ並びに非重なり制御点に係る非重なり制御領域Ｎの中で、ソート順に従って何れか一の重なり制御領域Ｍ（例えば、最も奥側に位置する重なり制御領域Ｍ）を指定する（ステップＳ３０６）。例えば、奥行き位置算出部３０６ｆは、例えば、左手首重なり制御点Ｔ１に係る左腕重なり制御領域Ｍ１を指定する。
そして、奥行き位置算出部３０６ｆは、指定された重なり制御領域Ｍ（例えば、左腕重なり制御領域Ｍ１）に対して、ソート順に従って対応するレイヤー（例えば、第１レイヤー等）を割り当てる（ステップＳ３０７）。
【００９２】
次に、奥行き位置算出部３０６ｆは、処理対象となる重なり制御領域Ｍに対応する重なり基準点Ｒの奥行き方向の基準位置が、非重なり制御領域Ｎに係る非重なり制御点の奥行き方向の位置「０」よりも大きいか否かを判定する（ステップＳ３０８）。
ここで、非重なり制御点の奥行き方向の位置「０」よりも小さいと判定されると（ステップＳ３０８；ＮＯ）、奥行き位置算出部３０６ｆは、当該重なり制御領域Ｍ（例えば、左腕重なり制御領域Ｍ１等）を構成する画像領域Ｂａの各頂点のレイヤー内での奥行き方向の位置「Zpos」を下記式（１）に基づいて算出する（ステップＳ３０９）。即ち、奥行き位置算出部３０６ｆは、奥行き正規化情報が「１」に近い程奥側に、且つ、「０」に近い程手前側となるように、各頂点のレイヤー内での奥行き方向の位置「Zpos」を算出する。
Zpos＝「奥行き正規化情報」＊「LayerW」+「LayerMin」    …式（１）
【００９３】
一方、ステップＳ３０８にて、非重なり制御点の奥行き方向の位置「０」よりも大きいと判定されると（ステップＳ３０８；ＹＥＳ）、奥行き位置算出部３０６ｆは、当該重なり制御領域Ｍ（例えば、左脚重なり制御領域Ｍ３等）を構成する画像領域Ｂａの各頂点のレイヤー内での奥行き方向の位置「Zpos」を下記式（２）に基づいて算出する（ステップＳ３１０）。即ち、奥行き位置算出部３０６ｆは、奥行き正規化情報が「１」に近い程手前側に、且つ、「０」に近い程奥側となるように、各頂点のレイヤー内での奥行き方向の位置「Zpos」を算出する。
Zpos＝(１−「奥行き正規化情報」)＊「LayerW」＋「LayerMin」    …式（２）
【００９４】
次に、奥行き位置算出部３０６ｆは、全ての重なり制御領域Ｍについて各頂点の奥行き方向の位置「Zpos」を算出する処理を行ったか否かを判定する（ステップＳ３１１）。
ここで、全ての重なり制御領域Ｍについて処理していないと判定されると（ステップＳ３１１；ＮＯ）、奥行き位置算出部３０６ｆは、次の処理対象として、複数の重なり制御領域Ｍ、…の中で、未だ指定されていない重なり制御領域Ｍ（例えば、右腕重なり制御領域Ｍ２等）をソート順に従って指定した後（ステップＳ３１２）、処理をステップＳ３０７に移行する。
その後、奥行き位置算出部３０６ｆは、ステップＳ３０７以降の処理を、ステップＳ３１１にて全ての重なり制御領域Ｍについて処理したと判定（ステップＳ３１１；ＹＥＳ）されるまで、逐次繰り返し実行する。これにより、複数の重なり制御領域Ｍ、…の各々について各頂点の奥行き方向の位置「Zpos」が算出される。
【００９５】
そして、ステップＳ３１１にて、全ての重なり制御領域Ｍについて処理したと判定されると（ステップＳ３１１；ＹＥＳ）、奥行き位置算出部３０６ｆは、非重なり制御領域Ｎを構成する画像領域Ｂａの各頂点のレイヤー内での奥行き方向の位置「Zpos」を下記式（１）に基づいて算出する（ステップＳ３１３）。即ち、奥行き位置算出部３０６ｆは、奥行き正規化情報が「１」に近い程奥側に、且つ、「０」に近い程手前側となるように、各頂点のレイヤー内での奥行き方向の位置「Zpos」を算出する。
Zpos＝「奥行き正規化情報」＊「LayerW」+「LayerMin」    …式（１）
【００９６】
その後、フレーム生成部３０６ｇは、例えば、Open GL等の三次元の描画インターフェース等を利用して、奥行き位置算出部３０６ｆにより算出された複数の構成領域Ｌ、…（複数の重なり制御領域Ｍ、…並びに非重なり制御領域Ｎ等）の奥行き方向の位置「Zpos」に基づいて、被写体切り抜き画像の被写体領域における各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させる（ステップＳ３１４）。この結果、被写体切り抜き画像の被写体領域における各構成領域Ｌを奥行き方向に変位させるとともに、被写体領域を変形させた基準フレーム画像が生成される。
これにより、フレーム描画処理を終了する。
【００９７】
以上のように、本実施形態の動画生成システム１００によれば、サーバ３は、複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置を、複数の重なり制御点Ｔ、…の各々に対応する重なり基準点Ｒの二次元空間に対する奥行き方向の基準位置に基づいて算出し、算出された複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に被写体領域における各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、被写体領域内に設定されている複数の動き制御点Ｓ、…の動きに従って当該被写体領域を変形させた基準フレーム画像（変形画像）を生成することができる。即ち、複数の動き制御点Ｓ、…の動きに従って二次元の静止画像の被写体領域を変形させた変形画像を生成する場合に、当該静止画像の被写体領域の一部分の領域を他の領域と前後に重ねるような動きであっても、被写体領域を構成する各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させることで、複数の構成領域Ｌ、…の各々が奥行き方向に等しい位置に存在することがなく、二次元の静止画像を変形させた変形画像にて奥行きの表現を適正に行うことができる。この結果、ユーザ所望の動きを表現した複数のフレーム画像からなる動画像の生成を適正に行うことができる。
【００９８】
また、複数の重なり制御点Ｔ、…の各々について、最も近い位置に存する他の重なり制御点Ｔとの距離を基準として、被写体領域Ｂの中で重なり制御領域Ｍを複数特定し、当該複数の重なり制御領域Ｍ、…の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域Ｍに係る重なり制御点Ｔに対応する重なり基準点Ｒの奥行き方向の基準位置に基づいて算出するので、被写体領域Ｂの中で、奥行き方向に互いに異なる位置で当該奥行き方向に変位する構成領域Ｌとしての重なり制御領域Ｍを複数特定する場合に、一の重なり制御点Ｔについて、最も近い位置に存する他の重なり制御点Ｔまでの距離を考慮して、他の重なり制御点Ｔに対応する重なり制御領域Ｍの大きさに対してバランスの良い大きさの重なり制御領域Ｍを特定することができる。これにより、変形画像における一の重なり制御領域Ｍ及び他の重なり制御領域Ｍを前後に重ねるような動きの表現を適正に行うことができる。
さらに、複数の重なり制御領域Ｍ、…の各々について、各重なり制御領域Ｍを分割する複数の画像領域Ｂａ、…の頂点の奥行き方向の位置を、当該各重なり制御領域Ｍに係る重なり制御点Ｔからの距離を基準として算出するので、変形画像にて重なり制御領域Ｍを構成する複数の画像領域Ｂａ、…の奥行きの表現を適正に行うことができる。
なお、上記距離とは、被写体領域Ｂを分割する複数の画像領域Ｂａ、…の縁部に沿った経路に係る距離であるので、重なり制御点Ｔ間の距離や重なり制御点Ｔから各画像領域Ｂａの頂点までの距離の算出を適正に行うことができる。
【００９９】
また、被写体領域Ｂの中で複数の重なり制御領域Ｍ、…以外の非重なり制御領域Ｎを構成領域Ｌとして特定し、当該非重なり制御領域Ｎを構成する各画素が奥行き方向に互いに異なる位置となるように、当該非重なり制御領域Ｎの所定の時間間隔毎の奥行き方向の位置を算出するので、変形画像にて非重なり制御領域Ｎを構成する各画素の奥行きの表現を適正に行うことができるだけでなく、変形画像における非重なり制御領域Ｎと重なり制御領域Ｍを前後に重ねるような動きの表現を適正に行うことができる。
特に、非重なり制御領域Ｎの奥行き方向の位置を基準として、この非重なり制御領域Ｎに隣接する当該被写体領域Ｂの相対的に端部側の領域である複数の重なり制御領域Ｍ、…の奥行き方向の位置を算出するので、複数の重なり制御領域Ｍ、…の奥行き方向の位置の算出を適正に行うことができ、変形画像における一の重なり制御領域Ｍを、他の重なり制御領域Ｍや非重なり制御領域Ｎと前後に重ねるような動きの表現を適正に行うことができる。
【０１００】
また、静止画像の被写体領域Ｂ内で、基準画像の動体モデルのモデル領域Ａ内に設定されている複数の動き基準点Ｑ、…に対応する位置に複数の動き制御点Ｓ、…を設定するので、複数の動き基準点Ｑ、…の位置を基準として複数の動き制御点Ｓ、…の設定を適正に行うことができ、二次元の静止画像の変形、即ち、変形画像の生成を適正に行うことができる。
具体的には、基準画像のモデル領域Ａ内に設定された複数の動き基準点Ｑ、…の所定の時間間隔毎の動きを示す動き情報３０５ａに基づいて、当該動き情報３０５ａに係る複数の動き基準点Ｑ、…の所定の時間間隔毎の動きに基づいて複数の動き制御点Ｓ、…を動かし、これら複数の動き制御点Ｓ、…の動きに従って被写体領域を変形させて、所定の時間間隔毎の変形画像を適正に生成することができる。
【０１０１】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態にあっては、ユーザによるユーザ端末２の所定操作に基づいて、Ｗｅｂサーバとして機能するサーバ（画像生成装置）３によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、画像生成装置の構成は適宜任意に変更可能である。即ち、変形画像としての基準フレーム画像の生成に係る動画処理部３０６の機能をソフトウェアにより実現される構成として、ユーザ端末２にインストールすることで通信ネットワークＮを必要とすることなく、当該ユーザ端末２単体で動画生成処理を行うようにしても良い。
【０１０２】
また、上記実施形態にあっては、重なり制御点Ｔ間の距離や重なり制御点Ｔから各画像領域Ｂａの頂点までの距離を、被写体領域Ｂを分割した複数の画像領域Ｂａ、…の縁部に沿った経路に係る距離に基づいて算出するようにしたが、重なり制御点Ｔ間の距離や重なり制御点Ｔから各画像領域Ｂａの頂点までの距離の算出方法は一例であってこれに限られるものではなく、適宜任意に変更可能である。
【０１０３】
さらに、上記実施形態にあっては、被写体切り抜き画像やマスク画像の被写体領域Ｂの中で複数の重なり制御領域Ｍ以外の領域を非重なり制御領域Ｎとして特定するようにしたが、非重なり制御領域Ｎを特定するか否かは適宜任意に変更可能である。即ち、非重なり制御領域Ｎが被写体領域Ｂの中心側に設定され、重なり制御領域Ｍが腕や脚といった比較的動きの大きい領域に設定された場合には、当該非重なり制御領域Ｎを能動的に動かして重なり制御領域Ｍと前後に重ね合わせるような動きを想定し難いため、必ずしも非重なり制御領域Ｎを特定しておく必要はない。
【０１０４】
また、上記実施形態の動画生成処理にあっては、静止画像の被写体領域内で、複数の動き制御点Ｓ、…を設定した後（第１設定ステップ）、静止画像の被写体領域内で、複数の重なり制御点Ｔ、…を設定する（第２設定ステップ）ようにしたが、動き制御点Ｓ及び重なり制御点Ｔの設定の順序は一例であってこれに限られるものではなく、逆にしても良いし、同時に行っても良い。
【０１０５】
さらに、上記実施形態の動画生成処理にあっては、被写体画像の合成位置やサイズを調整可能に構成されても良い。即ち、ユーザ端末２の中央制御部２０１は、ユーザによる操作入力部２０２の所定操作に基づいて、被写体画像の合成位置やサイズの調整指示が入力されたと判定すると、当該調整指示に対応する信号を通信制御部２０６により所定の通信ネットワークＮを介してサーバ３に送信させる。そして、サーバ３の動画処理部３０６は、通信制御部を介して入力された調整指示に基づいて、被写体画像の合成位置を所望の合成位置に設定したり、当該被写体画像のサイズを所望のサイズに設定するようにしても良い。
【０１０６】
また、上記実施形態にあっては、ユーザ端末２として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
なお、被写体切り抜き画像や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【０１０７】
加えて、上記実施形態にあっては、取得手段、第１設定手段、第２設定手段、算出手段、生成手段としての機能を、中央制御部３０１の制御下にて、画像取得部３０６ａ、第１設定部３０６ｂ、第２設定部３０６ｃ、奥行き位置算出部３０６ｆ、フレーム生成部３０６ｇが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部３０１のＣＰＵによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ（図示略）に、取得処理ルーチン、第１設定処理ルーチン、第２設定処理ルーチン、算出処理ルーチン、生成処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部３０１のＣＰＵを、二次元の静止画像を取得する取得手段として機能させるようにしても良い。また、第１設定処理ルーチンにより中央制御部３０１のＣＰＵを、取得手段により取得された静止画像の被写体が含まれる被写体領域Ｂ内で、被写体の動きの制御に係る動き制御点Ｓを複数設定する第１設定手段として機能させるようにしても良い。また、第２設定処理ルーチンにより中央制御部３０１のＣＰＵを、取得手段により取得された静止画像の被写体領域Ｂ内で、複数の重なり基準点Ｒ、…に対応する各位置に被写体領域Ｂを構成する複数の構成領域Ｌ、…の重なりの制御に係る重なり制御点Ｔを複数設定する第２設定手段として機能させるようにしても良い。また、算出処理ルーチンにより中央制御部３０１のＣＰＵを、複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置を、複数の重なり制御点Ｔ、…の各々に対応する重なり基準点Ｒの奥行き方向の基準位置に基づいて算出する算出手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部３０１のＣＰＵを、算出手段により算出された複数の構成領域Ｌ、…の各々の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に被写体領域における各構成領域Ｌを奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、複数の動き制御点Ｓ、…の動きに従って被写体領域を変形させた変形画像を生成する生成手段として機能させるようにしても良い。
【０１０８】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ＲＯＭやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ（搬送波）も適用される。
【０１０９】
〔付記〕
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
＜請求項１＞
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶手段を備える画像生成装置を用いた画像生成方法であって、
二次元の静止画像を取得する取得ステップと、
この取得ステップにより取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定ステップと、
前記取得ステップにより取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定ステップと、
前記複数の構成領域の各々の所定の時間間隔毎の奥行き方向の位置を、前記複数の重なり制御点の各々に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出ステップと、
この算出ステップにより算出された前記複数の構成領域の各々の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成ステップと、
を含むことを特徴とする画像生成方法。
＜請求項２＞
前記複数の重なり制御点の各々について、最も近い位置に存する他の重なり制御点との距離を基準として、前記被写体領域の中で前記構成領域としての重なり制御領域を複数特定する特定ステップを更に含み、
前記算出ステップは、
前記特定ステップにより特定された前記複数の重なり制御領域の各々の所定の時間間隔毎の奥行き方向の位置を、各重なり制御領域に係る重なり制御点に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出することを特徴とする請求項１に記載の画像生成方法。
＜請求項３＞
前記特定ステップは、更に、
前記被写体領域の中で前記複数の重なり制御領域以外の非重なり制御領域を前記構成領域として特定し、
前記算出ステップは、
前記特定ステップにより特定された前記非重なり制御領域を構成する各画素が奥行き方向に互いに異なる位置となるように、当該非重なり制御領域の所定の時間間隔毎の奥行き方向の位置を算出することを特徴とする請求項２に記載の画像生成方法。
＜請求項４＞
前記複数の重なり制御領域は、前記非重なり制御領域に隣接する当該被写体領域の端部側の領域であり、
前記算出ステップは、
前記非重なり制御領域の奥行き方向の位置を基準として、前記複数の重なり制御領域の奥行き方向の位置を算出することを特徴とする請求項３に記載の画像生成方法。
＜請求項５＞
前記算出ステップは、更に、
前記複数の重なり制御領域の各々について、各重なり制御領域を分割する複数の画像領域の頂点の奥行き方向の位置を、当該各重なり制御領域に係る重なり制御点からの距離を基準として算出することを特徴とする請求項２〜４の何れか一項に記載の画像生成方法。
＜請求項６＞
前記距離は、前記被写体領域を分割する複数の画像領域の縁部に沿った経路に係る距離であることを特徴とする請求項２〜５の何れか一項に記載の画像生成方法。
＜請求項７＞
前記第１設定ステップは、
前記静止画像の前記被写体領域内で、前記基準画像の前記モデル領域内に設定されている複数の動き基準点に対応する位置に前記複数の動き制御点を設定することを特徴とする請求項１〜６の何れか一項に記載の画像生成方法。
＜請求項８＞
前記記憶手段は、更に、
前記基準画像の前記モデル領域内に設定された複数の動き基準点の所定の時間間隔毎の動きを示す動き情報を記憶し、
前記生成ステップは、更に、
前記記憶手段に記憶されている前記動き情報に係る前記複数の動き基準点の所定の時間間隔毎の動きに基づいて前記複数の動き制御点を動かし、当該複数の動き制御点の動きに従って前記被写体領域を変形させて前記変形画像を生成することを特徴とする請求項７に記載の画像生成方法。
＜請求項９＞
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶手段を備える画像生成装置であって、
二次元の静止画像を取得する取得手段と、
この取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定手段と、
前記取得手段により取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定手段と、
前記複数の構成領域の各々の所定の時間間隔毎の奥行き方向の位置を、前記複数の重なり制御点の各々に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出手段と、
この算出手段により算出された前記複数の構成領域の各々の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成手段と、
を備えたことを特徴とする画像生成装置。
＜請求項１０＞
基準画像の動体モデルが含まれるモデル領域を構成する複数の領域毎に設定され、所定の時間間隔毎の二次元空間に対する奥行き方向の基準位置と対応付けられた複数の重なり基準点の前記二次元空間内での位置を示す位置情報を記憶する記憶手段を備える画像生成装置のコンピュータを、
二次元の静止画像を取得する取得手段、
この取得手段により取得された前記静止画像の被写体が含まれる被写体領域内で、前記被写体の動きの制御に係る動き制御点を複数設定する第１設定手段、
前記取得手段により取得された前記静止画像の前記被写体領域内で、前記複数の重なり基準点に対応する各位置に前記被写体領域を構成する複数の構成領域の重なりの制御に係る重なり制御点を複数設定する第２設定手段、
前記複数の構成領域の各々の所定の時間間隔毎の奥行き方向の位置を、前記複数の重なり制御点の各々に対応する前記重なり基準点の前記奥行き方向の基準位置に基づいて算出する算出手段、
この算出手段により算出された前記複数の構成領域の各々の所定の時間間隔毎の奥行き方向の位置に基づいて、当該所定の時間間隔毎に前記被写体領域における各構成領域を奥行き方向に互いに異なる位置で当該奥行き方向に変位させるとともに、前記複数の動き制御点の動きに従って前記被写体領域を変形させた変形画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【０１１０】
１００    動画生成システム
１        撮像装置
２        ユーザ端末
３        サーバ
３０１    中央制御部
３０５    記憶部
３０６    動画処理部
３０６ａ  画像取得部
３０６ｂ  第１設定部
３０６ｃ  第２設定部
３０６ｅ  領域特定部
３０６ｆ  奥行き位置算出部
３０６ｇ  フレーム生成部
【図１】
0005375897.tif 000002
【図２】
0005375897.tif 000003
【図３】
0005375897.tif 000004
【図４】
0005375897.tif 000005
【図５】
0005375897.tif 000006
【図６】
0005375897.tif 000007
【図７】
0005375897.tif 000008
【図８】
0005375897.tif 000009
【図９】
0005375897.tif 000010
【図１０】
0005375897.tif 000011
【図１１】
0005375897.tif 000012
【図１２】
0005375897.tif 000013
【図１３】
0005375897.tif 000014