画像生成方法、画像生成装置及びプログラム
【課題】裏面画像の生成を簡便に行う。
【解決手段】サーバ3であって、画像取得部306aにより取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、裏面画像の被写体対応領域の輪郭の色情報を特定する第1色特定部306bと、特定された裏面画像の被写体対応領域の輪郭の色情報に基づいて、裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2色特定部306dと、特定された裏面画像の被写体対応領域の輪郭の色情報及び内側領域の色情報に基づいて、裏面画像の被写体対応領域の輪郭及び内側領域をそれぞれ描画して生成する第1描画部306c及び第2描画部306eと、を備えている。
【解決手段】サーバ3であって、画像取得部306aにより取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、裏面画像の被写体対応領域の輪郭の色情報を特定する第1色特定部306bと、特定された裏面画像の被写体対応領域の輪郭の色情報に基づいて、裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2色特定部306dと、特定された裏面画像の被写体対応領域の輪郭の色情報及び内側領域の色情報に基づいて、裏面画像の被写体対応領域の輪郭及び内側領域をそれぞれ描画して生成する第1描画部306c及び第2描画部306eと、を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、正面画像から裏面画像を生成する画像生成方法、画像生成装置及びプログラムに関する。
【背景技術】
【0002】
従来、二次元の静止画像内の所望の位置に制御点を設定して、動きをつけたい制御点に所望の動きを指定することで当該静止画像を動かす技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4613313号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術において、静止画像を所定方向に回転させる場合、当該静止画像の裏側(背面側)を表現する上で当該裏側の画像を別途用意しなければならないといった問題がある。
【0005】
本発明は、このような問題に鑑みてなされたものであり、本発明の課題は、裏面画像の生成を簡便に行うことができる画像生成方法、画像生成装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る画像生成方法は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置を用いた画像生成方法であって、被写体領域が含まれる被写体画像を取得する取得ステップと、取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定ステップと、特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定ステップと、特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成ステップと、を含むことを特徴としている。
【0007】
また、本発明に係る画像生成装置は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、被写体領域が含まれる被写体画像を取得する取得手段と、この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段と、この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段と、前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段と、を備えたことを特徴としている。
【0008】
また、本発明に係るプログラムは、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、被写体領域が含まれる被写体画像を取得する取得手段、この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段、この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段、前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段、として機能させることを特徴としている。
【発明の効果】
【0009】
本発明によれば、裏面画像の生成を簡便に行うことができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した一実施形態の動画生成システムの概略構成を示すブロック図である。
【図2】図1の動画生成システムを構成するユーザ端末の概略構成を示すブロック図である。
【図3】図1の動画生成システムを構成するサーバの概略構成を示すブロック図である。
【図4】図3のサーバによる裏面画像の生成を説明するための図である。
【図5】図1の動画生成システムによる動画生成処理に係る動作の一例を示すフローチャートである。
【図6】図5の動画生成処理の続きを示すフローチャートである。
【図7】図5の動画生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。
【図8】図7の裏面画像生成処理における輪郭描画処理に係る動作の一例を示すフローチャートである。
【図9】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図10】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図11】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図12】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図13】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【発明を実施するための形態】
【0011】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の動画生成システム100の概略構成を示すブロック図である。
【0012】
本実施形態の動画生成システム100は、図1に示すように、撮像装置1と、ユーザ端末2と、サーバ3とを備え、ユーザ端末2とサーバ3とが所定の通信ネットワークNを介して各種情報を送受信可能に接続されている。
【0013】
先ず、撮像装置1について説明する。
撮像装置1は、被写体を撮像する撮像機能や撮像画像の画像データを記録媒体Cに記録する記録機能等を具備する。即ち、撮像装置1は、公知のものを適用可能であり、例えば、主要な機能を撮像機能とするデジタルカメラだけでなく、主要な機能としないものの撮像機能を具備する携帯電話機等の携帯端末なども含む。
【0014】
次に、ユーザ端末2について図2を参照して説明する。
ユーザ端末2は、例えば、パーソナルコンピュータ等により構成され、サーバ3により開設されるWebページ(例えば、動画生成用ページ)にアクセスして、当該Webページ上で各種の指示を入力する。
【0015】
図2は、ユーザ端末2の概略構成を示すブロック図である。
図2に示すように、ユーザ端末2は、具体的には、中央制御部201と、操作入力部202と、表示部203と、音出力部204と、記録媒体制御部205と、通信制御部206等を備えている。
【0016】
中央制御部201は、ユーザ端末2の各部を制御する。具体的には、中央制御部201は、CPU、RAM、ROM(何れも図示略)を備え、ROMに記憶されたユーザ端末2用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部203に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、ユーザ端末2で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0017】
操作入力部202は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等を備え、ユーザにより押下されたキーの押下信号やマウスの操作信号を中央制御部201のCPUに出力する。
なお、操作入力部202としてタッチパネル(図示略)を表示部203の表示画面に配設して、タッチパネルの接触位置に応じて各種の指示を入力するような構成としても良い。
【0018】
表示部203は、例えば、LCD、CRT(Cathode Ray Tube)等のディスプレイから構成され、中央制御部201のCPUの制御下にて各種情報を表示画面に表示する。
即ち、表示部203は、例えば、サーバ3から送信され通信制御部206により受信されたWebページ(例えば、動画生成用ページ)のページデータに基づいて、対応するWebページを表示画面に表示する。具体的には、表示部203は、動画生成処理(後述)に係る各種の処理画面の画像データに基づいて、各種の処理画面を表示画面に表示する。
【0019】
音出力部204は、例えば、D/Aコンバータ、LPF(Low Pass Filter)、増幅器、スピーカ等により構成され、中央制御部201のCPUの制御下にて放音する。
即ち、音出力部204は、例えば、サーバ3から送信され通信制御部206により受信された演奏情報に基づいて、当該演奏情報のデジタルデータをD/Aコンバータによりアナログデータに変換し、増幅器を介してスピーカから、所定の音色、音高、音長で曲を放音する。また、音出力部204は、一の音源(例えば、楽器)の音を放音しても良いし、複数の音源の音を同時に放音しても良い。
【0020】
記録媒体制御部205は、記録媒体Cが着脱自在に構成され、装着された記録媒体Cからのデータの読み出しや記録媒体Cに対するデータの書き込みを制御する。即ち、記録媒体制御部205は、撮像装置1から取り外されて装着された記録媒体Cから動画生成処理(後述)に係る被写体存在画像(図示略)の画像データ(YUVデータ)を読み出して通信制御部206に出力する。
ここで、被写体存在画像とは、所定の背景内に主要な被写体が存在する画像のことである。また、記録媒体Cには、撮像装置1の画像処理部(図示略)により所定の符号化形式(例えば、JPEG形式等)に従って符号化された被写体存在画像の画像データが記録されている。
そして、通信制御部206は、入力された被写体存在画像の画像データをサーバ3に所定の通信ネットワークNを介して送信する。
【0021】
通信制御部206は、例えば、モデム(MODEM:Modulater/DEModulater)、ターミナルアダプタ(Terminal Adapter)等によって構成され、所定の通信ネットワークNを介してサーバ3等の外部機器との間で情報の通信制御を行うためのものである。
【0022】
なお、通信ネットワークNは、例えば、専用線や既存の一般公衆回線を利用して構築された通信ネットワークであり、LAN(Local Area Network)やWAN(Wide Area Network)等の様々な回線形態を適用することが可能である。また、通信ネットワークNには、例えば、電話回線網、ISDN回線網、専用線、移動体通信網、通信衛星回線、CATV回線網等の各種通信回線網と、それらを接続するインターネットサービスプロバイダ等が含まれる。
【0023】
次に、サーバ3について図3を参照して説明する。
サーバ3は、Web(World Wide Web)サーバとしてインターネット上にWebページ(例えば、動画生成用ページ)を開設する機能を具備するものであり、ユーザ端末2からのアクセスに応じて当該ユーザ端末2にWebページのページデータを送信する。また、サーバ3は、画像生成装置として、被写体画像の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定し、当該裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定した後、これら裏面画像P9の被写体対応領域の輪郭Lの色情報及び内側領域Mの色情報に基づいて、被写体の裏側を擬似的に表す裏面画像P9を生成する。
【0024】
図3は、サーバ3の概略構成を示すブロック図である。
図3に示すように、サーバ3は、具体的には、中央制御部301と、表示部302と、通信制御部303と、被写体切抜部304と、記憶部305と、動画処理部306等を備えて構成されている。
【0025】
中央制御部301は、サーバ3の各部を制御する。具体的には、中央制御部301は、CPU、RAM、ROM(何れも図示略)を備え、CPUは、ROMに記憶されたサーバ3用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部302に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ3で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0026】
表示部302は、例えば、LCD、CRT等のディスプレイから構成され、中央制御部301のCPUの制御下にて各種情報を表示画面に表示する。
【0027】
通信制御部303は、例えば、モデム、ターミナルアダプタ等によって構成され、所定の通信ネットワークNを介してユーザ端末2等の外部機器との間で情報の通信制御を行うためのものである。
具体的には、通信制御部303は、例えば、動画生成処理(後述)にてユーザ端末2から所定の通信ネットワークNを介して送信された被写体存在画像の画像データを受信して、当該画像データを中央制御部301のCPUに出力する。
中央制御部301のCPUは、入力された被写体存在画像の画像データを被写体切抜部304に出力する。
【0028】
被写体切抜部304は、被写体存在画像から被写体切り抜き画像P1(図9(a)参照)を生成する。
即ち、被写体切抜部304は、公知の被写体切抜手法を用いて、被写体存在画像から被写体が含まれる被写体領域Psが切り抜かれた被写体切り抜き画像P1を生成する。具体的には、被写体切抜部304は、中央制御部301のCPUから出力された被写体存在画像の画像データを取得して、例えば、ユーザによるユーザ端末2の操作入力部202(例えば、マウス等)の所定操作に基づいて、表示部203に表示されている当該被写体存在画像上に描画された境界線(図示略)により当該被写体存在画像を区分する。続けて、被写体切抜部304は、被写体存在画像の切抜線により区分される複数の区分領域の中で、被写体の背景を推定して当該背景の各画素の画素値に基づいて所定の演算を行って、被写体の背景色を所定の単一色として推定する。その後、被写体切抜部304は、所定の単一色の背景用画像と被写体存在画像との間で対応する各画素の差分情報(例えば、相違度マップ等)を生成する。そして、被写体切抜部304は、生成した差分情報の各画素の画素値を所定の閾値と比較して二値化した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行って面積が最大の画素集合を被写体部分とする。
その後、被写体切抜部304は、例えば、上記の面積が最大の画素集合が「1」、その他の部分が「0」である二値化された差分情報に対してローパスフィルタを施して境界部分に中間値を生じさせることでアルファ値を生成し、被写体切り抜き画像P1内で被写体領域Psの位置を示す位置情報としてのアルファマップ(図示略)を生成する。
アルファ値(0≦α≦1)とは、例えば、被写体存在画像の各画素について、被写体領域Psの画像を所定の背景に対してアルファブレンディングする際の重みを表すものである。この場合、被写体領域Psはアルファ値が「1」となり、被写体存在画像の所定の背景に対する透過度が0%となる。一方、被写体の背景部分はアルファ値が「0」となり、当該被写体存在画像の所定の背景に対する透過度が100%となる。
【0029】
そして、被写体切抜部304は、アルファマップに基づいて、被写体存在画像の各画素のうち、アルファ値が「1」の画素を所定の単一色画像に対して透過させずに、且つ、アルファ値が「0」の画素を透過させるように、被写体画像を所定の単一色画像と合成して被写体切り抜き画像P1の画像データを生成する。
また、被写体切抜部304は、アルファマップに基づいて、被写体領域(図9(b)中、白で表す領域)の各画素を第1の画素値(例えば、「1」等)とし、背景領域(図9(b)中、黒で表す領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像P2(図9(b)参照)、即ち、被写体切り抜き画像P1内で被写体領域の位置を示す位置情報としての二値画像P2を生成する。
被写体切り抜き画像P1の画像データは、例えば、生成されたアルファマップや二値画像P2等の位置情報と対応付けられたデータである。
【0030】
なお、上記した被写体切抜部304による被写体切抜手法は、一例であってこれに限られるものではなく、被写体存在画像から被写体が含まれる被写体領域Psを切り抜く公知の手法であれば如何なる手法を適用しても良い。
また、被写体切り抜き画像P1の画像データとしては、例えば、RGBA形式の画像データを適用しても良く、具体的には、RGB色空間で規定される各色に透過度(A)の情報が付加されている。この場合には、被写体切抜部304は、透過度(A)の情報を利用して、被写体切り抜き画像P1内で被写体領域の位置を示す二値画像(図示略)を生成しても良い。
【0031】
記憶部305は、例えば、半導体の不揮発メモリやHDD(Hard Disc Drive)等により構成され、ユーザ端末2に送信されるWebページのページデータや被写体切抜部304により生成された被写体切り抜き画像P1の画像データ等を記憶する。
【0032】
また、記憶部305は、動画生成処理に用いられる動き情報305aを複数記憶している。
各動き情報305aは、所定空間、即ち、例えば、互いに直交する二軸(例えば、x軸、y軸等)により規定される二次元の平面空間やこれら二軸に加えて当該二軸に直交する軸(例えば、z軸等)により規定される三次元の立体的空間内における複数の可動点の動きを示す情報である。なお、動き情報305aは、二次元の平面空間を所定の回動軸周りに回転させることで複数の可動点の動きに奥行きをもたせるような情報であっても良い。
ここで、各可動点の位置は、動きのモデルとなる動体モデル(例えば、ヒトや動物等)の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。また、可動点の個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
また、各動き情報305aは、所定空間内にて複数の可動点の全て若しくは少なくとも一つを移動させた座標情報を所定の時間間隔で連続して並べることで、複数の可動点の動きが連続して表されている。なお、複数の可動点の座標情報の各々は、例えば、基準となる可動点の座標情報に対する各可動点の移動量を規定した情報であっても良いし、各可動点の絶対位置座標を規定した情報であっても良い。
【0033】
また、記憶部305は、動画生成処理に用いられる演奏情報305bを複数記憶している。
演奏情報305bは、動画処理部306の動画再生部306h(後述)により動画像とともに自動的に曲を演奏するための情報である。即ち、演奏情報305bは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報305bは、例えば、MIDI(Musical Instruments Digital Interface)規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能(Tickカウント数)等が規定されたヘッダ情報と、各パートに割り当てられた音源(例えば、楽器等)に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
【0034】
動画処理部306は、画像取得部306aと、第1色特定部306bと、第1描画部306cと、第2色特定部306dと、第2描画部306eと、制御点設定部306fと、フレーム生成部306gと、動画再生部306hとを具備している。
【0035】
画像取得部306aは、動画生成処理に用いられる静止画像を取得する。
即ち、画像取得部306aは、取得手段として、背景と被写体とが存在する被写体存在画像から被写体が含まれる被写体領域Psが切り抜かれた被写体切り抜き画像(被写体画像)P1を取得する。具体的には、画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像P1の画像データを処理対象の静止画像として取得する。
【0036】
第1色特定部306bは、被写体の裏側を擬似的に表す裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する。
即ち、第1色特定部306bは、第1特定手段として、画像取得部306aにより取得された被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する。ここで、第1色特定部306bは、被写体切抜部304により生成された被写体切り抜き画像P1内で被写体領域Psの位置を示す二値画像P2(図9(b)参照)を取得して、当該二値画像P2の輪郭の形状を基準として、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する。
【0037】
具体的には、第1色特定部306bは、二値画像P2の被写体領域の輪郭を構成する所定数(例えば、一つ)の画素からなる輪郭画像P3(図10(a)参照)を生成した後、当該輪郭画像P3を構成する複数の画素の各々の座標(x,y)を取得する。
次に、第1色特定部306bは、輪郭画像P3を構成する複数の画素の各々を着目点A1として指定して、当該各着目点A1の座標(x,y)を取得する(図10(b)参照)。即ち、第1色特定部306bは、二値画像P2の輪郭に対応する輪郭画像P3上に存する各画素を一の着目点A1として指定する。なお、図10(b)には、図10(a)に示す輪郭画像P3の一部分の拡大図を模式的に示し、一の着目点A1に斜線を付して表している。
続けて、第1色特定部306bは、各着目点A1に対応する二値画像P2上の各対応着目点B1から所定の一方向に延在する直線上に存し、当該二値画像P2の被写体領域における対応着目点B1と反対側の境界を構成する各境界点B2を特定する。即ち、輪郭画像P3上の一の着目点A1に対応する二値画像P2上の対応着目点B1の周辺の画素の何れかが必ず背景領域(第2の画素値「0」)となることから、第1色特定部306bは、各対応着目点B1の水平方向(x軸方向)に隣合う二つの画素のうち、何れの画素が第2の画素値「0」の背景領域となるかによって当該対応着目点B1に対する内側方向(図11(a)中、矢印で図示)を特定する。なお、対応着目点B1の水平方向(x軸方向)に隣合う二つの画素の何れもが第2の画素値「0」の背景領域となる場合については、後述する。
次に、第1色特定部306bは、特定された内側方向に延在する直線上を内側方向に一画素ずつ探索していき、画素値が第1の画素値「1」から第2の画素値「0」に変化する画素の一つ前の画素、即ち、二値画像P2の対応着目点B1と反対側の境界を構成し、第2の画素値「0」の画素に隣接する第1の画素値「1」を有する一の画素を境界点B2として特定する。そして、第1色特定部306bは、特定された境界点B2の座標(x,y)を取得する(図11(a)参照)。なお、図11(a)には、二値画像P2における図10(b)に示す輪郭画像P3の一部分に対応する部分を模式的に示し、一の対応着目点B1及び境界点B2に斜線を付して表している。
【0038】
次に、第1色特定部306bは、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値に基づいて、当該一の対応着目点B1に対応する裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値(平均値)を特定する。
即ち、第1色特定部306bは、取得した対応着目点B1及び境界点B2の各々の座標(x,y)に基づいて、被写体切り抜き画像P1の被写体領域Psの輪郭部分における当該一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値を取得する。そして、第1色特定部306bは、取得した各画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9における対応着目点B1に対応する画素の画素値として特定する。
【0039】
また、第1色特定部306bは、被写体領域Psの切り抜きの際に被写体存在画像の背景の一部が誤って切り抜かれている虞があることも考慮して、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素よりも所定の画素数(例えば、対応着目点B1と境界点B2との間の画素数の1/10程度等)内側の各画素の画素値に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。即ち、第1色特定部306bは、被写体領域Psの輪郭部分における一の対応着目点B1に対応する画素よりも所定の画素数だけ境界点B2側の画素や、被写体領域Psの輪郭部分における一の境界点B2に対応する画素よりも所定の画素数だけ対応着目点B1側の画素を特定する。そして、第1色特定部306bは、特定された各画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。
同様に、第1色特定部306bは、被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。即ち、第1色特定部306bは、被写体領域Psの輪郭部分における一の対応着目点B1や境界点B2に対応する各画素から被写体領域Psの内側に所定の距離分(例えば、対応着目点B1と境界点B2との間の画素数の1/10程度等)入り込んだ各所定領域を設定する。そして、第1色特定部306bは、設定された各所定領域内の複数の周辺画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。このとき、第1色特定部306bは、対応着目点B1や境界点B2に対応する各画素の画素値と各所定領域の周辺画素の画素値とを比較して、対応着目点B1や境界点B2に対応する各画素の画素値が周辺画素の画素値に対して所定値以上大きい場合には、周辺画素の画素値を裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値として採用しても良い。
【0040】
また、対応着目点B1に対して境界点B2を特定できなかった場合、即ち、対応着目点B1の水平方向(x軸方向)に隣合う二つの画素の何れもが第2の画素値「0」の背景領域となった場合、第1色特定部306bは、被写体切り抜き画像P1の被写体領域Psにおける当該一の対応着目点B1に対応する画素の画素値を、当該一の対応着目点B1に対応する裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値として特定する。
【0041】
また、第1色特定部306bは、輪郭画像P3を構成する複数の画素の全てを着目点A1として、上記の各処理を実行して、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素の色情報を取得する。
【0042】
第1描画部306cは、裏面画像P9の被写体対応領域の輪郭Lを描画する。
即ち、第1描画部306cは、生成手段として、第1色特定部306bにより特定された裏面画像P9の被写体対応領域の輪郭Lを構成する各画素の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素を描画する。具体的には、第1描画部306cは、例えば、被写体切り抜き画像P1と水平方向(x軸方向)及び垂直方向(y軸方向)の画素数が等しい背面生成用画像P5を生成した後、第1色特定部306bにより特定された各対応着目点B1の座標(x,y)及び裏面画像P9における各対応着目点B1に対応する各画素の画素値(例えば、平均値等)に基づいて、背面生成用画像P5上に当該裏面画像P9の被写体対応領域の輪郭Lを構成する各画素を描画する。これにより、第1描画部306cは、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭Lのみが描画された輪郭線画像P4(図11(b)参照)を生成する。
【0043】
第2色特定部306dは、裏面画像P9の被写体対応領域における輪郭Lの内側領域Mの色情報を特定する。
即ち、第2色特定部306dは、第2特定手段として、第1色特定部306bにより特定された裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定する。
具体的には、第2色特定部306dは、被写体切抜部304により生成された二値画像P2(図9(b)参照)を取得して、当該二値画像P2の被写体領域に対して収縮処理を施す。即ち、第2色特定部306dは、二値画像P2内で所定形状のウィンドウW(カーネル;図4(a)及び図4(b)参照)を所定方向に走査していき、当該二値画像P2の被写体領域に対する収縮処理を行う。
ウィンドウWは、処理対象の画素に対応する一の領域を基準位置(例えば、中心)とするとともに、所定数の画素に対応する所定数の所定領域からなる。そして、第2色特定部306dは、ウィンドウWの所定領域内の少なくとも一の画素の画素値に重みを付けて演算して処理対象の画素の画素値を算出する。つまり、第2色特定部306dは、ウィンドウWの所定領域内の少なくとも一の画素の画素値を利用し、一の領域内の画素を処理対象の画素として、所定の演算式に従って代表値(例えば、平均値)を算出して当該処理対象の画素の画素値とする。例えば、第2色特定部306dは、処理対象の画素に対応する中央領域の左側(図4(c)及び図4(d)参照)や右側や上側や下側の所定数の領域を所定領域として、当該所定領域内の少なくとも一の画素の画素値を利用して代表値(処理対象の画素の画素値)を算出する。
【0044】
また、第2色特定部306dは、二値画像P2の被写体領域における処理対象の画素の位置に応じて、ウィンドウW(カーネル;図4(a)及び図4(b)参照)の形状を異ならせて収縮処理を行う。具体的には、第2色特定部306dは、例えば、二値画像P2の被写体領域のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては、水平方向及び垂直方向の画素値の影響を略均等に受けるように正方形(例えば、3×3画素等)のウィンドウW1を収縮処理に適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては、水平方向の画素値の影響を強くし、垂直方向の画素値の影響を弱くするように横長の矩形(例えば、3画素)のウィンドウW2を収縮処理に適用する(図4(b)参照)。例えば、図4(a)に示すように、第2色特定部306dは、処理対象の画素に対応する中央領域の左側の3つの領域を所定領域として、当該3つの領域内の各画素の画素値を利用して処理対象の画素の画素値を算出する。また、例えば、図4(b)に示すように、第2色特定部306dは、処理対象の画素に対応する中央領域の左側の1つの領域を所定領域として、当該1つの領域内の画素の画素値を利用して処理対象の画素の画素値を算出する。
【0045】
これにより、第2色特定部306dは、二値画像P2の被写体領域の輪郭位置を一画素分内側に収縮させた収縮二値画像P6(図12(a)参照)を生成する。そして、第2色特定部306dは、収縮二値画像P6の被写体領域の輪郭を構成する複数の画素のみからなる収縮輪郭画像P7(図12(b)参照)を生成した後、当該収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)を取得する。
また、第2色特定部306dは、上記の二値画像P2の収縮処理を収縮後の二値画像P2(P6)に被写体領域が残っていないと判定されるまで繰り返し実行する。
【0046】
また、第2色特定部306dは、第1描画部306cにより背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭Lのみが描画された輪郭線画像P4を基準として、上記の二値画像P2の収縮処理と同様に、輪郭線画像P4の処理対象の画素の位置に応じてウィンドウWの形状を異ならせて収縮処理を行う。
即ち、第2色特定部306dは、輪郭線画像P4を処理対象の画像として、輪郭線画像P4を構成する各画素のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては、水平方向及び垂直方向の画素値の影響を略均等に受けるように正方形(例えば、3×3画素等)のウィンドウW1を収縮処理に適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては、水平方向の画素値の影響を強くし、垂直方向の画素値の影響を弱くするように横長の矩形(例えば、3画素)のウィンドウW2を収縮処理に適用する(図4(b)参照)。
そして、第2色特定部306dは、裏面画像P9の被写体対応領域の輪郭Lの内側領域Mに対応する画素を処理対象の画素として、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素のうち、ウィンドウWの所定領域内の少なくとも一の画素の画素値に基づいて、所定の演算式に従って代表値(例えば、平均値)を算出する。即ち、第2色特定部306dは、裏面画像P9の被写体対応領域の輪郭L(輪郭線画像P4)を構成する各画素の画素値に基づいて、ウィンドウWの所定領域内の少なくとも一の画素の画素値に重みを付けて演算し、裏面画像P9における輪郭よりも一画素分内側の領域の処理対象の画素の画素値を算出する。
【0047】
また、第2色特定部306dは、上記の裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの各画素の画素値の算出処理を、収縮後の二値画像P2(P6)に被写体領域が残っていないと判定されるまで繰り返し実行する。即ち、第2色特定部306dは、第2描画部306eにより背面生成用画像P5上に裏面画像P9の被写体対応領域における輪郭Lよりも所定画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)が生成される毎に(後述)、当該背面生成途中画像P8を基準として、上記の画素値の算出処理を繰り返し実行して、当該背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値を逐次算出する。
【0048】
第2描画部306eは、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mを描画する。
即ち、第2描画部306eは、生成手段として、第2色特定部306dにより特定された裏面画像P9の被写体対応領域の輪郭Lよりも内側領域Mを構成する各画素の色情報に基づいて、裏面画像P9の内側領域Mを構成する各画素を描画する。具体的には、第2描画部306eは、例えば、第2色特定部306dにより特定された収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)及び裏面画像P9の被写体対応領域の輪郭Lよりも一画素分内側の領域Mを構成する各画素の画素値(例えば、平均値等)に基づいて、輪郭線画像P4上に当該裏面画像P9の被写体対応領域の輪郭Lよりも一画素分内側の領域Mを構成する各画素を描画する。これにより、第2描画部306eは、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭L及び当該輪郭Lよりも一画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)を生成する。
【0049】
また、第2描画部306eは、上記の背面生成途中画像P8の生成処理を、第2色特定部306dにより背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値が逐次算出される毎に繰り返し実行する。即ち、第2描画部306eは、第2色特定部306dにより特定された収縮後の二値画像P2に対応する収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)及び背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値(例えば、平均値等)に基づいて、背面生成途中画像P8上に当該描画済みの最も内側の各画素よりも一画素分内側の領域Mを構成する各画素を逐次描画する。
そして、第2描画部306eは、最終的に被写体対応領域の輪郭L及び当該輪郭Lよりも内側の全ての領域Mが描画された裏面画像P9(図13(b)参照)を生成する。
【0050】
制御点設定部306fは、処理対象となる被写体切り抜き画像P1の被写体画像内で動き制御点を複数設定する。
即ち、制御点設定部306fは、画像取得部306aにより取得された被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する。具体的には、制御点設定部306fは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。また、制御点設定部306fは、被写体切り抜き画像P1の被写体画像内で動き制御点をそれぞれ設定することで、当該被写体切り抜き画像P1に対応する裏面画像P9内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定する。
このとき、動体モデルと被写体画像について、例えば、顔などの主要部の大きさを合わせるように寸法の調整(例えば、動体モデルの拡大や縮小、変形等)を行うようにしても良い。また、例えば、動体モデルと被写体画像を重ね合わせて被写体画像における複数の可動点の各々が対応する位置を特定しても良い。
さらに、制御点設定部306fは、動き情報305aに規定されている複数の可動点の全てについて、対応する動き制御点を設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の可動点に対応する動き制御点のみ設定しても良い。
【0051】
なお、制御点設定部306fは、被写体切り抜き画像P1の被写体画像内で、記憶部305から読み出された動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々が対応する位置を自動的に特定しても良い。例えば、動き制御点設定部306fは、被写体の骨格の形状や関節の位置等を考慮して複数の可動点の各々が対応する位置を特定する。そして、制御点設定部306fは、特定された複数の可動点の各々が対応する位置に動き制御点をそれぞれ設定する。
また、制御点設定部306fによる動き制御点の設定が自動的に行われた場合であっても、ユーザによる操作入力部の所定操作に基づいて動き制御点の設定位置の修正(変更)を受け付けるようにしても良い。
【0052】
フレーム生成部306gは、動画像を構成する複数のフレーム画像を逐次生成する。
即ち、フレーム生成部306gは、動画処理部306により指定された動き情報305aの複数の可動点の動きに追従させるように、被写体切り抜き画像P1の被写体画像内に設定されている複数の動き制御点を移動させて複数のフレーム画像を逐次生成する。具体的には、フレーム生成部306gは、例えば、動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報を逐次取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306gは、算出された座標に動き制御点を逐次移動させていくとともに、少なくとも一の動き制御点を基準として被写体画像内に設定される所定の画像領域(例えば、三角形や矩形のメッシュ状の領域)を移動させたり変形させることで、基準フレーム画像(図示略)を生成する。
なお、動き制御点を基準とした所定の画像領域を移動させたり変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0053】
また、フレーム生成部306gは、移動後の可動点の各々に対応する複数の制御点に基づいて生成される時間軸に沿って隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像(図示略)を生成する。即ち、フレーム生成部306gは、動画再生部306hにより複数のフレーム画像が所定の再生フレームレート(例えば、30fps等)で再生されるように、二つの基準フレーム画像どうしの間を補間する補間フレーム画像を所定数生成する。
具体的には、フレーム生成部306gは、隣合う二つの基準フレーム画像間における、動画再生部306hにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部306gは、MIDI規格の演奏情報305bに基づいてテンポの設定情報及び四分音符の分解能(Tickカウント数)を取得して、動画再生部306hにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部306gは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング(例えば、各小節の一拍目等)に同期させた隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部306gは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの基準フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0054】
また、フレーム生成部306gによる基準フレーム画像や補間フレーム画像の生成は、被写体切り抜き画像P1の画像データ及びアルファマップ等の位置情報の両方について行われる。
【0055】
動画再生部306hは、フレーム生成部306gにより生成された複数のフレーム画像の各々を再生する。
即ち、動画再生部306hは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された演奏情報305bに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部306hは、所定の曲の演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング(例えば、各小節の1拍目や各拍等)に同期させるように隣合う二つの基準フレーム画像を再生するとともに、隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部306hは、動画処理部306により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部306hは、隣合う二つの基準フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
【0056】
次に、ユーザ端末2及びサーバ3を用いた動画生成処理について図5〜図13を参照して説明する。
ここで、図5及び図6は、動画生成処理に係る動作の一例を示すフローチャートである。また、図7は、動作生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。また、図8は、裏面画像生成処理における輪郭描画処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像P1(図9(a)参照)の画像データがサーバ3の記憶部305に記憶されているものとする。
【0057】
図5に示すように、ユーザ端末2の中央制御部201のCPUは、ユーザによる操作入力部202の所定操作に基づいて、サーバ3により開設される動画生成用ページのアクセス指示が入力されると、当該アクセス指示を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS1)。
サーバ3の通信制御部303によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、動画生成用ページのページデータを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部206によって、動画生成用ページのページデータが受信されると、表示部203は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面(図示略)を表示する。
【0058】
次に、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、動画生成用ページの画面内にて操作された各種ボタンに対応する指示信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS3)。
図6に示すように、サーバ3の中央制御部301のCPUは、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。具体的には、中央制御部301のCPUは、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、処理をステップS51に移行させ、また、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、処理をステップS61に移行させ、また、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、処理をステップS71に移行させる。
【0059】
<被写体画像の指定>
ステップS4にて、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、動画処理部306の画像取得部306aは、記憶部305に記憶されている被写体切り抜き画像P1の画像データの中からユーザにより指定された被写体切り抜き画像P1の画像データを読み出して取得する(ステップS51)。
次に、制御点設定部306fは、取得された被写体切り抜き画像P1の被写体画像内で動き制御点が既に設定されているか否かを判定する(ステップS52)。
【0060】
ステップS52にて、制御点設定部306fにより動き制御点が設定されていないと判定されると(ステップS52;NO)、動画処理部306は、被写体切り抜き画像P1の画像データに基づいて、被写体画像の所定位置(例えば、中心位置等)を基準として当該被写体切り抜き画像P1のトリミングすることで被写体画像と動きモデル(例えば、動物)の大きさが等しくなるように補正する(ステップS53)。
なお、被写体切り抜き画像P1のトリミングは、当該被写体切り抜き画像P1の画像データと対応付けられている、例えば、アルファマップや二値画像P2等の位置情報についても行われる。
その後、動画処理部306は、トリミング後の画像の被写体画像の裏側を擬似的に表す裏面画像P9(図13(b)参照)を生成する裏面画像生成処理を行う(ステップS54;図7及び図8参照)。
【0061】
以下に、裏面画像生成処理について図7及び図8を参照して詳細に説明する。
図7に示すように、先ず、動画処理部306の第1色特定部306bは、被写体切抜部304により生成済みの二値画像P2の画像データ(図9(b)参照)を取得する(ステップS101)。その後、第1色特定部306bは、二値画像P2の被写体領域の輪郭を構成する所定数(例えば、一つ)の画素からなる輪郭画像P3(図10(a)参照)を生成した後(ステップS102)、当該輪郭画像P3を構成する複数の画素の各々の座標(x,y)を取得する(ステップS103)。なお、取得された複数の画素の各々の座標は、所定の格納手段(例えば、所定のメモリ等)に一時的に格納される。
次に、動画処理部306は、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素を描画する輪郭描画処理(図8参照)を実行する(ステップS104)。
【0062】
以下に、輪郭描画処理について図8を参照して詳細に説明する。
図8に示すように、動画処理部306の第1色特定部306bは、輪郭画像P3を構成する複数の画素の中で、何れか一の画素を着目点A1として指定した後、当該着目点A1の座標(x,y)を取得する(ステップS201;図10(b)参照)。
次に、第1色特定部306bは、着目点A1に対応する二値画像P2上の対応着目点B1を特定した後、当該対応着目点B1の水平方向(x軸方向)に隣合う二つの画素のうち、何れの画素が第2の画素値「0」の背景領域となるかによって当該対応着目点B1に対する内側方向(図11(a)中、矢印で図示)を特定する(ステップS202)。続けて、第1色特定部306bは、特定された内側方向に延在する直線上を内側方向に一画素ずつ探索していき、当該二値画像P2の被写体領域における対応着目点B1と反対側の境界を構成する境界点B2を特定する(ステップS203)。
【0063】
次に、第1色特定部306bは、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を算出する(ステップS204)。
具体的には、第1色特定部306bは、取得した対応着目点B1及び境界点B2の各々の座標(x,y)に基づいて、被写体切り抜き画像P1の被写体領域Psの輪郭部分における当該一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値を取得した後、各画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9における対応着目点B1に対応する画素の画素値として特定する。
【0064】
次に、第1描画部306cは、第1色特定部306bにより特定された裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値に基づいて、当該画素を描画する(ステップS205)。
具体的には、第1描画部306cは、第1色特定部306bにより特定された対応着目点B1の座標(x,y)及び裏面画像P9における対応着目点B1に対応する各画素の画素値(例えば、平均値等)に基づいて、背面生成用画像P5上に当該裏面画像P9の被写体対応領域の輪郭Lを構成する画素を描画する。
【0065】
次に、動画処理部306は、輪郭画像P3を構成する全ての画素を着目点A1として処理したか否かを判定する(ステップS206)。
ここで、全ての画素を着目点A1として処理していないと判定されると(ステップS206;NO)、第1色特定部306bは、輪郭画像P3を構成する複数の画素のうち、所定方向(例えば、垂直方向等)に隣合う次の画素を次の着目点A1として指定した後(ステップS207)、処理をステップS202に移行させる。
動画処理部306は、ステップS206にて、全ての画素を着目点A1として処理したと判定されるまで(ステップS206;YES)、上記の処理を繰り返し実行する。
【0066】
ステップS206にて、全ての画素を着目点A1として処理したと判定されると(ステップS206;YES)、動画処理部306は、輪郭描画処理を終了する。
これにより、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭Lのみが描画された輪郭線画像P4(図11(b)参照)が生成される。
【0067】
図7に戻り、動画処理部306の第2色特定部306dは、被写体切抜部304により生成済みの二値画像P2の画像データ(図9(b)参照)を取得して、当該二値画像P2の被写体領域における処理対象の画素の位置に応じて所定形状のウィンドウW(図4(a)及び図4(b)参照)を用いて、当該被写体領域Psに対する収縮処理を行う(ステップS105)。
具体的には、第2色特定部306dは、二値画像P2の被写体領域のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては正方形(例えば、3×3画素等)のウィンドウW1を適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては横長の矩形(例えば、3画素)のウィンドウW2を適用し、当該所定形状のウィンドウW1、W2(図4(a)及び図4(b)参照)を所定方向に走査していき、当該二値画像P2の被写体領域に対する収縮処理を行う。
これにより、二値画像P2の被写体領域の輪郭が一画素分内側に収縮された収縮二値画像P6(図12(a)参照)が生成される。
【0068】
次に、動画処理部306は、収縮処理後の二値画像P2(収縮二値画像P6)に被写体領域が残っているか否かを判定する(ステップS106)。
ここで、被写体領域が残っていると判定されると(ステップS106;YES)、即ち、収縮二値画像P6が生成されているので、第2色特定部306dは、生成された収縮二値画像P6の被写体領域の輪郭を構成する複数の画素のみからなる収縮輪郭画像P7(図12(b)参照)を生成した後(ステップS107)、当該収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)を取得する(ステップS108)。なお、取得された複数の画素の各々の座標は、所定の格納手段(例えば、所定のメモリ等)に一時的に格納される。
【0069】
次に、第2色特定部306dは、第1描画部306cにより描画された輪郭線画像P4における処理対象の画素の位置に応じて所定形状のウィンドウW(図4(a)及び図4(b)参照)を用いて、当該輪郭線画像P4に対する収縮処理を行って、処理対象の画素の画素値を算出する(ステップS109)。
具体的には、第2色特定部306dは、上記の二値画像P2の収縮処理と同様に、輪郭線画像P4のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては正方形(例えば、3×3画素等)のウィンドウW1を適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては横長の矩形(例えば、3画素)のウィンドウW2を適用し、当該所定形状のウィンドウW1、W2(図4(a)及び図4(b)参照)を所定方向に走査していく。そして、第2色特定部306dは、輪郭線画像P4の各画素を処理対象の画素として、ウィンドウWの所定領域内の少なくとも一の画素の画素値に基づいて、所定の演算式に従って各画素の画素値を算出する。
【0070】
次に、第2描画部306eは、第2色特定部306dにより特定された収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)及び輪郭線画像P4を構成する各画素の画素値に基づいて、輪郭線画像P4上に被写体領域の輪郭Lよりも一画素分内側の領域Mを構成する各画素を描画する(ステップS110。これにより、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭L及び当該輪郭Lよりも一画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)が生成される。
その後、動画処理部306は、処理をステップS105に移行し、それ以降の処理を逐次実行する。即ち、ステップS106にて、被写体領域が残っていないと判定されるまで(ステップS106;NO)、上記の各処理を繰り返し実行する。
具体的には、第2色特定部306dは、ステップS110にて、第2描画部306eにより背面生成用画像P5上に裏面画像P9の被写体対応領域における輪郭Lよりも所定画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)が生成される毎に、当該背面生成途中画像P8を基準として、当該背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値を逐次算出する(ステップS105)。
また、第2描画部306eは、ステップS105にて、第2色特定部306dにより背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値が逐次算出される毎に、背面生成途中画像P8上に当該描画済みの最も内側の各画素よりも一画素分内側の領域Mを構成する各画素を逐次描画する(ステップS110)。
【0071】
上記の各処理が繰り返し実行されて、最終的に、被写体対応領域の輪郭L及び当該輪郭Lよりも内側の全ての領域Mが描画された裏面画像P9(図13(b)参照)が生成される。
これにより、裏面画像生成処理を終了する。
【0072】
図6に戻り、次に、中央制御部301のCPUは、生成された裏面画像P9と対応づけられた被写体切り抜き画像P1の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS55)。その後、制御点設定部306fは、被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する(ステップS56)。
具体的には、制御点設定部306fは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。
そして、動画再生部306hは、当該被写体画像に対して設定された複数の動き制御点、並びに被写体画像の合成位置やサイズ等の合成内容を所定の格納手段(例えば、所定のメモリ等)に登録する(ステップS57)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0073】
なお、ステップS52にて、既に動き制御点が設定されていると判定されると(ステップS52;YES)、中央制御部301のCPUは、ステップS53〜S57の処理をスキップして、処理をステップS8に移行させる。
【0074】
<背景画像の指定>
ステップS4にて、ユーザ端末2からの指示が、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、動画処理部306の動画再生部306hは、ユーザによる操作入力部202の所定操作に基づいて所望の背景画像(他の画像)の画像データを読み出して(ステップS61)、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する(ステップS62)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画再生部306hは、当該指定指示に係る背景画像の画像データを記憶部305から読み出して取得した後(ステップS61)、当該背景画像の画像データを動画像の背景として登録する(ステップS62)。
【0075】
次に、中央制御部301のCPUは、背景画像の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS63)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0076】
<動き及び曲の指定>
ステップ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の動画再生部306hは、設定された動き情報305aや動きの速さを動画像の動きの内容として所定の格納手段に登録する(ステップS72)。
【0077】
次に、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて自動的に演奏される曲を設定する(ステップS73)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0078】
ステップS8では、中央制御部301のCPUは、動画像の生成が可能な状態であるか否かを判定する(ステップS8)。即ち、ユーザによる操作入力部202の所定操作に基づいて、サーバ3の動画処理部306は、被写体画像に対する動き制御点の登録、被写体画像の動きの内容の登録、背景画像の登録等を行うことで、動画像の生成準備が整って動画像を生成可能か否か判定する。
ここで、動画像の生成が可能な状態でないと判定されると(ステップS8;NO)、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
一方、動画像の生成が可能な状態であると判定されると(ステップS8;YES)、図4に示すように、中央制御部301のCPUは、処理をステップS10に移行させる。
【0079】
ステップS10では、サーバ3の中央制御部301のCPUは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて動画像のプレビュー指示が入力されたか否かを判定する(ステップS10)。
即ち、ステップS9にて、ユーザ端末2の中央制御部201が、ユーザによる操作入力部202の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS9)。
そして、ステップS10にて、サーバ3の中央制御部301のCPUによって、動画像のプレビュー指示が入力されたと判定されると(ステップS10;YES)、動画処理部306の動画再生部306hは、設定済みの曲名に対応する演奏情報305bを動画像とともに自動的に演奏される情報として所定の格納手段に登録する(ステップS11)。
【0080】
次に、動画処理部306は、格納手段に登録されている演奏情報305bに基づいて動画再生部306hによる所定の曲の演奏を開始させるとともに、動画像を構成する複数のフレーム画像のフレーム生成部306gによる生成を開始させる(ステップS12)。
続けて、動画処理部306は、動画再生部306hによる所定の曲の演奏が終了したか否かを判定する(ステップS13)。
ここで、曲の演奏が終了していないと判定されると(ステップS13;NO)、動画処理部306のフレーム生成部306gは、動き情報305aに応じて変形させた被写体画像の基準フレーム画像を生成する(ステップS14)。具体的には、フレーム生成部306gは、格納手段に登録されている動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報をそれぞれ取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306gは、算出された座標に動き制御点を逐次移動させていくとともに、動き制御点の移動に応じて被写体画像内に設定される所定の画像領域を移動させたり変形させることで、基準フレーム画像を生成する。
また、動画処理部306は、基準フレーム画像と背景画像とを公知の画像合成手法を用いて合成する。具体的には、動画処理部306は、例えば、背景画像の各画素のうち、アルファ値が「0」の画素は透過させ、アルファ値が「1」の画素は基準フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「0<α<1」の画素は1の補数(1−α)を用いて基準フレーム画像の被写体領域Psを切り抜いた画像(背景画像×(1−α))を生成した後、アルファマップにおける1の補数(1−α)を用いて基準フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を基準フレーム画像から減算し、それを被写体領域Psを切り抜いた画像(背景画像×(1−α))と合成する。
【0081】
続けて、フレーム生成部306gは、動画再生部306hにより演奏される所定の曲の演奏の進行度合に応じて、隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像を生成する(ステップS15)。具体的には、フレーム生成部306gは、隣合う二つの基準フレーム画像間における、動画再生部306hにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。
また、動画処理部306は、補間フレーム画像と背景画像とを、上記基準フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する。
【0082】
次に、中央制御部301のCPUは、動画再生部306hにより自動的に演奏される曲の演奏情報305bとともに、当該曲の所定のタイミングで再生される基準フレーム画像及び補間フレーム画像からなるプレビュー動画のデータを、通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS16)。ここで、プレビュー動画のデータは、所定数の基準フレーム画像及び補間フレーム画像からなる複数のフレーム画像とユーザ所望の背景画像とが合成された動画像を構成している。
次に、動画処理部306は、処理をステップS18に戻し、曲の演奏が終了したか否かを判定する(ステップS13)。
上記の処理は、ステップS13にて、曲の演奏が終了したと判定されるまで(ステップS13;YES)、繰り返し実行される。
そして、曲の演奏が終了したと判定されると(ステップS13;YES)、図6に示すように、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
【0083】
ステップS16にて、サーバ3から送信されたプレビュー動画のデータがユーザ端末2の通信制御部303によって受信されると、中央制御部201のCPUは、音出力部204及び表示部203を制御してプレビュー動画を再生させる(ステップS17)。
具体的には、音出力部204は、演奏情報305bに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部203は、当該自動的に演奏される曲の所定のタイミングで基準フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
【0084】
なお、上記の動画生成処理にあっては、プレビュー動画を再生するようにしたが、一例であってこれに限られるものではなく、例えば、逐次生成された基準フレーム画像や補間フレーム画像や背景画像の画像データ並びに演奏情報305bを一つのファイルとして所定の記憶手段に記憶していき、動画像に係る全てのデータの生成完了後に、当該ファイルをサーバ3からユーザ端末2に送信して当該ユーザ端末2にて再生させるようにしても良い。
【0085】
以上のように、本実施形態の動画生成システム100によれば、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定し、当該裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定した後、これら裏面画像P9の被写体対応領域の輪郭Lの色情報及び内側領域Mの色情報に基づいて、裏面画像P9の被写体対応領域の輪郭L及び内側領域Mをそれぞれ描画して被写体の裏側を擬似的に表す裏面画像P9を生成するので、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を利用して、視認者に違和感を生じさせ難い裏面画像P9の生成を簡便に行うことができる。つまり、裏面画像P9の被写体対応領域の輪郭L及び内側領域Mの各々を、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で描画することができ、被写体切り抜き画像P1の被写体領域Psに対して裏面画像P9を視認者に違和感を生じさせ難くすることができる。
これにより、静止画像(正面画像)である被写体切り抜き画像P1を所定方向に回転させる場合に、当該静止画像の裏側の表現を裏面画像P9により適正に行うことができる。また、被写体切り抜き画像P1の被写体画像内で動き制御点を設定するだけで、当該被写体切り抜き画像P1に対応する裏面画像P9内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定することができ、動画像の生成処理をより簡便なものとすることができる。
【0086】
また、被写体切り抜き画像P1内で被写体領域Psの位置を示す二値画像P2の輪郭上に存する一の対応着目点B1と、当該二値画像P2の一の対応着目点B1と反対側の境界を構成する境界点B2とを特定し、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値に基づいて、当該一の対応着目点B1に対応する裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定するので、裏面画像P9の被写体対応領域の輪郭Lの色情報を、被写体切り抜き画像P1内で被写体領域Psの位置を示す二値画像P2の輪郭の形状を基準として特定することができる。即ち、二値画像P2の輪郭の形状及び裏面画像P9の被写体対応領域の輪郭Lの色を基準として、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mを描画することができる。
【0087】
また、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素よりも所定の画素数内側の各画素の画素値や、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定するので、被写体領域Psの切り抜きの際に被写体存在画像の背景の一部が誤って切り抜かれている場合であっても、当該被写体存在画像の背景の影響を小さくして裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を適正に特定することができる。これにより、視認者に違和感を生じさせ難い裏面画像P9を適正に生成することができる。
【0088】
また、裏面画像P9の被写体対応領域の輪郭Lの色が描画された輪郭線画像P4を基準として、所定領域内の少なくとも一の画素の画素値に重みを付けて演算して裏面画像P9における内側領域Mを構成する処理対象の画素の画素値を算出するためのウィンドウWの形状を処理対象の画素の位置に応じて異ならせた収縮処理を行うので、処理対象の画素の位置に応じて水平方向や垂直方向の画素値の影響を変化させて処理対象の画像に対して収縮処理を施すことができ、視認者に違和感を生じさせ難い裏面画像P9を適正に生成することができる。つまり、輪郭線画像P4を基準として収縮処理を行う場合、例えば、股下などの被写体領域Psの内側への食い込みが相対的に大きい箇所では、輪郭を構成する一の画素の影響が大きくなって、裏面画像P9の当該箇所にて色のグラデーションが不自然になる虞がある。そこで、処理対象の画素の位置に応じて水平方向や垂直方向の画素値の影響を変化させて処理対象の画像に対して収縮処理を施すことで、色のグラデーションが自然な視認者に違和感を生じさせ難い裏面画像P9を適正に生成することができる。
【0089】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像生成装置)3によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、画像生成装置の構成は適宜任意に変更可能である。即ち、裏面画像P9の生成に係る動画処理部306の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で動画生成処理を行うようにしても良い。
【0090】
また、上記実施形態にあっては、被写体切り抜き画像P1を処理対象としたが、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、最初から被写体領域Psのみの画像を用いても良い。
また、上記実施形態の動画生成処理にあっては、被写体画像の合成位置やサイズを調整可能に構成されても良い。即ち、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、被写体画像の合成位置やサイズの調整指示が入力されたと判定すると、当該調整指示に対応する信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる。そして、サーバ3の動画処理部306は、通信制御部を介して入力された調整指示に基づいて、被写体画像の合成位置を所望の合成位置に設定したり、当該被写体画像のサイズを所望のサイズに設定するようにしても良い。
【0091】
また、上記実施形態にあっては、ユーザ端末2として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
なお、被写体切り抜き画像P1や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【0092】
加えて、上記実施形態にあっては、取得手段、第1特定手段、第2特定手段、生成手段としての機能を、中央制御部301の制御下にて、画像取得部306a、第1色特定部306b、第1描画部306c、第2色特定部306d、第2描画部306eが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部301のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、取得処理ルーチン、第1特定処理ルーチン、第2特定処理ルーチン、生成処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部301のCPUを、被写体領域Psが含まれる被写体画像を取得する取得手段として機能させるようにしても良い。また、第1特定処理ルーチンにより中央制御部301のCPUを、取得手段により取得された被写体画像の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する第1特定手段として機能させるようにしても良い。また、第2特定処理ルーチンにより中央制御部301のCPUを、第1特定手段により特定された裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定する第2特定手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部301のCPUを、第1特定手段及び第2特定手段により特定された裏面画像P9の被写体対応領域の輪郭Lの色情報及び内側領域Mの色情報に基づいて、裏面画像P9の被写体対応領域の輪郭L及び内側領域Mをそれぞれ描画して生成する生成手段として機能させるようにしても良い。
【0093】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0094】
〔付記〕
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
<請求項1>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置を用いた画像生成方法であって、
被写体領域が含まれる被写体画像を取得する取得ステップと、
取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成ステップと、
を含むことを特徴とする画像生成方法。
<請求項2>
前記第1特定ステップは、更に、
前記被写体画像内で被写体領域の位置を示す二値画像の輪郭の形状を基準として、前記裏面画像の被写体対応領域の輪郭の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
<請求項3>
前記第1特定ステップは、更に、
前記二値画像の輪郭上に存する一の着目点と、当該一の着目点から所定の一方向に延在する直線上に存し、前記二値画像の前記一の着目点と反対側の境界を構成する境界点とを特定し、前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素の画素値に基づいて、当該一の着目点に対応する前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項2に記載の画像生成方法。
<請求項4>
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素よりも所定の画素数内側の各画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
<請求項5>
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
<請求項6>
前記第2特定ステップは、更に、
前記裏面画像の被写体対応領域の輪郭の色情報に基づいて当該輪郭の色が描画された輪郭線画像を基準として、所定領域内の少なくとも一の画素の画素値に重みを付けて演算して前記裏面画像における前記内側領域を構成する処理対象の画素の画素値を算出するためのウィンドウの形状を前記処理対象の画素の位置に応じて異ならせた収縮処理を行って、前記裏面画像における前記内側領域の色情報を特定することを特徴とする請求項1〜5の何れか一項に記載の画像生成方法。
<請求項7>
前記取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜6の何れか一項に記載の画像生成方法。
<請求項8>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する取得手段と、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段と、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段と、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段と、
を備えたことを特徴とする画像生成装置。
<請求項9>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する取得手段、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0095】
100 動画生成システム
1 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
306 動画処理部
306a 画像取得部
306b 第1色特定部
306c 第1描画部
306d 第2色特定部
306e 第2描画部
【技術分野】
【0001】
本発明は、正面画像から裏面画像を生成する画像生成方法、画像生成装置及びプログラムに関する。
【背景技術】
【0002】
従来、二次元の静止画像内の所望の位置に制御点を設定して、動きをつけたい制御点に所望の動きを指定することで当該静止画像を動かす技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4613313号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術において、静止画像を所定方向に回転させる場合、当該静止画像の裏側(背面側)を表現する上で当該裏側の画像を別途用意しなければならないといった問題がある。
【0005】
本発明は、このような問題に鑑みてなされたものであり、本発明の課題は、裏面画像の生成を簡便に行うことができる画像生成方法、画像生成装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る画像生成方法は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置を用いた画像生成方法であって、被写体領域が含まれる被写体画像を取得する取得ステップと、取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定ステップと、特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定ステップと、特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成ステップと、を含むことを特徴としている。
【0007】
また、本発明に係る画像生成装置は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、被写体領域が含まれる被写体画像を取得する取得手段と、この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段と、この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段と、前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段と、を備えたことを特徴としている。
【0008】
また、本発明に係るプログラムは、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、被写体領域が含まれる被写体画像を取得する取得手段、この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段、この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段、前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段、として機能させることを特徴としている。
【発明の効果】
【0009】
本発明によれば、裏面画像の生成を簡便に行うことができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した一実施形態の動画生成システムの概略構成を示すブロック図である。
【図2】図1の動画生成システムを構成するユーザ端末の概略構成を示すブロック図である。
【図3】図1の動画生成システムを構成するサーバの概略構成を示すブロック図である。
【図4】図3のサーバによる裏面画像の生成を説明するための図である。
【図5】図1の動画生成システムによる動画生成処理に係る動作の一例を示すフローチャートである。
【図6】図5の動画生成処理の続きを示すフローチャートである。
【図7】図5の動画生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。
【図8】図7の裏面画像生成処理における輪郭描画処理に係る動作の一例を示すフローチャートである。
【図9】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図10】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図11】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図12】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図13】図7の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【発明を実施するための形態】
【0011】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の動画生成システム100の概略構成を示すブロック図である。
【0012】
本実施形態の動画生成システム100は、図1に示すように、撮像装置1と、ユーザ端末2と、サーバ3とを備え、ユーザ端末2とサーバ3とが所定の通信ネットワークNを介して各種情報を送受信可能に接続されている。
【0013】
先ず、撮像装置1について説明する。
撮像装置1は、被写体を撮像する撮像機能や撮像画像の画像データを記録媒体Cに記録する記録機能等を具備する。即ち、撮像装置1は、公知のものを適用可能であり、例えば、主要な機能を撮像機能とするデジタルカメラだけでなく、主要な機能としないものの撮像機能を具備する携帯電話機等の携帯端末なども含む。
【0014】
次に、ユーザ端末2について図2を参照して説明する。
ユーザ端末2は、例えば、パーソナルコンピュータ等により構成され、サーバ3により開設されるWebページ(例えば、動画生成用ページ)にアクセスして、当該Webページ上で各種の指示を入力する。
【0015】
図2は、ユーザ端末2の概略構成を示すブロック図である。
図2に示すように、ユーザ端末2は、具体的には、中央制御部201と、操作入力部202と、表示部203と、音出力部204と、記録媒体制御部205と、通信制御部206等を備えている。
【0016】
中央制御部201は、ユーザ端末2の各部を制御する。具体的には、中央制御部201は、CPU、RAM、ROM(何れも図示略)を備え、ROMに記憶されたユーザ端末2用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部203に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、ユーザ端末2で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0017】
操作入力部202は、例えば、数値、文字等を入力するためのデータ入力キーや、データの選択、送り操作等を行うための上下左右移動キーや各種機能キー等によって構成されるキーボードやマウス等を備え、ユーザにより押下されたキーの押下信号やマウスの操作信号を中央制御部201のCPUに出力する。
なお、操作入力部202としてタッチパネル(図示略)を表示部203の表示画面に配設して、タッチパネルの接触位置に応じて各種の指示を入力するような構成としても良い。
【0018】
表示部203は、例えば、LCD、CRT(Cathode Ray Tube)等のディスプレイから構成され、中央制御部201のCPUの制御下にて各種情報を表示画面に表示する。
即ち、表示部203は、例えば、サーバ3から送信され通信制御部206により受信されたWebページ(例えば、動画生成用ページ)のページデータに基づいて、対応するWebページを表示画面に表示する。具体的には、表示部203は、動画生成処理(後述)に係る各種の処理画面の画像データに基づいて、各種の処理画面を表示画面に表示する。
【0019】
音出力部204は、例えば、D/Aコンバータ、LPF(Low Pass Filter)、増幅器、スピーカ等により構成され、中央制御部201のCPUの制御下にて放音する。
即ち、音出力部204は、例えば、サーバ3から送信され通信制御部206により受信された演奏情報に基づいて、当該演奏情報のデジタルデータをD/Aコンバータによりアナログデータに変換し、増幅器を介してスピーカから、所定の音色、音高、音長で曲を放音する。また、音出力部204は、一の音源(例えば、楽器)の音を放音しても良いし、複数の音源の音を同時に放音しても良い。
【0020】
記録媒体制御部205は、記録媒体Cが着脱自在に構成され、装着された記録媒体Cからのデータの読み出しや記録媒体Cに対するデータの書き込みを制御する。即ち、記録媒体制御部205は、撮像装置1から取り外されて装着された記録媒体Cから動画生成処理(後述)に係る被写体存在画像(図示略)の画像データ(YUVデータ)を読み出して通信制御部206に出力する。
ここで、被写体存在画像とは、所定の背景内に主要な被写体が存在する画像のことである。また、記録媒体Cには、撮像装置1の画像処理部(図示略)により所定の符号化形式(例えば、JPEG形式等)に従って符号化された被写体存在画像の画像データが記録されている。
そして、通信制御部206は、入力された被写体存在画像の画像データをサーバ3に所定の通信ネットワークNを介して送信する。
【0021】
通信制御部206は、例えば、モデム(MODEM:Modulater/DEModulater)、ターミナルアダプタ(Terminal Adapter)等によって構成され、所定の通信ネットワークNを介してサーバ3等の外部機器との間で情報の通信制御を行うためのものである。
【0022】
なお、通信ネットワークNは、例えば、専用線や既存の一般公衆回線を利用して構築された通信ネットワークであり、LAN(Local Area Network)やWAN(Wide Area Network)等の様々な回線形態を適用することが可能である。また、通信ネットワークNには、例えば、電話回線網、ISDN回線網、専用線、移動体通信網、通信衛星回線、CATV回線網等の各種通信回線網と、それらを接続するインターネットサービスプロバイダ等が含まれる。
【0023】
次に、サーバ3について図3を参照して説明する。
サーバ3は、Web(World Wide Web)サーバとしてインターネット上にWebページ(例えば、動画生成用ページ)を開設する機能を具備するものであり、ユーザ端末2からのアクセスに応じて当該ユーザ端末2にWebページのページデータを送信する。また、サーバ3は、画像生成装置として、被写体画像の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定し、当該裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定した後、これら裏面画像P9の被写体対応領域の輪郭Lの色情報及び内側領域Mの色情報に基づいて、被写体の裏側を擬似的に表す裏面画像P9を生成する。
【0024】
図3は、サーバ3の概略構成を示すブロック図である。
図3に示すように、サーバ3は、具体的には、中央制御部301と、表示部302と、通信制御部303と、被写体切抜部304と、記憶部305と、動画処理部306等を備えて構成されている。
【0025】
中央制御部301は、サーバ3の各部を制御する。具体的には、中央制御部301は、CPU、RAM、ROM(何れも図示略)を備え、CPUは、ROMに記憶されたサーバ3用の各種処理プログラム(図示略)に従って各種の制御動作を行う。その際に、CPUは、RAM内の格納領域内に各種処理結果を格納させ、必要に応じてその処理結果を表示部302に表示させる。
RAMは、例えば、CPUにより実行される処理プログラム等を展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果等を格納するデータ格納領域などを備える。
ROMは、コンピュータ読み取り可能なプログラムコードの形態で格納されたプログラム、具体的には、サーバ3で実行可能なシステムプログラム、当該システムプログラムで実行可能な各種処理プログラムや、これら各種処理プログラムを実行する際に使用されるデータ等を記憶する。
【0026】
表示部302は、例えば、LCD、CRT等のディスプレイから構成され、中央制御部301のCPUの制御下にて各種情報を表示画面に表示する。
【0027】
通信制御部303は、例えば、モデム、ターミナルアダプタ等によって構成され、所定の通信ネットワークNを介してユーザ端末2等の外部機器との間で情報の通信制御を行うためのものである。
具体的には、通信制御部303は、例えば、動画生成処理(後述)にてユーザ端末2から所定の通信ネットワークNを介して送信された被写体存在画像の画像データを受信して、当該画像データを中央制御部301のCPUに出力する。
中央制御部301のCPUは、入力された被写体存在画像の画像データを被写体切抜部304に出力する。
【0028】
被写体切抜部304は、被写体存在画像から被写体切り抜き画像P1(図9(a)参照)を生成する。
即ち、被写体切抜部304は、公知の被写体切抜手法を用いて、被写体存在画像から被写体が含まれる被写体領域Psが切り抜かれた被写体切り抜き画像P1を生成する。具体的には、被写体切抜部304は、中央制御部301のCPUから出力された被写体存在画像の画像データを取得して、例えば、ユーザによるユーザ端末2の操作入力部202(例えば、マウス等)の所定操作に基づいて、表示部203に表示されている当該被写体存在画像上に描画された境界線(図示略)により当該被写体存在画像を区分する。続けて、被写体切抜部304は、被写体存在画像の切抜線により区分される複数の区分領域の中で、被写体の背景を推定して当該背景の各画素の画素値に基づいて所定の演算を行って、被写体の背景色を所定の単一色として推定する。その後、被写体切抜部304は、所定の単一色の背景用画像と被写体存在画像との間で対応する各画素の差分情報(例えば、相違度マップ等)を生成する。そして、被写体切抜部304は、生成した差分情報の各画素の画素値を所定の閾値と比較して二値化した後、同じ連結成分を構成する画素集合に同じ番号を付けるラベリング処理を行って面積が最大の画素集合を被写体部分とする。
その後、被写体切抜部304は、例えば、上記の面積が最大の画素集合が「1」、その他の部分が「0」である二値化された差分情報に対してローパスフィルタを施して境界部分に中間値を生じさせることでアルファ値を生成し、被写体切り抜き画像P1内で被写体領域Psの位置を示す位置情報としてのアルファマップ(図示略)を生成する。
アルファ値(0≦α≦1)とは、例えば、被写体存在画像の各画素について、被写体領域Psの画像を所定の背景に対してアルファブレンディングする際の重みを表すものである。この場合、被写体領域Psはアルファ値が「1」となり、被写体存在画像の所定の背景に対する透過度が0%となる。一方、被写体の背景部分はアルファ値が「0」となり、当該被写体存在画像の所定の背景に対する透過度が100%となる。
【0029】
そして、被写体切抜部304は、アルファマップに基づいて、被写体存在画像の各画素のうち、アルファ値が「1」の画素を所定の単一色画像に対して透過させずに、且つ、アルファ値が「0」の画素を透過させるように、被写体画像を所定の単一色画像と合成して被写体切り抜き画像P1の画像データを生成する。
また、被写体切抜部304は、アルファマップに基づいて、被写体領域(図9(b)中、白で表す領域)の各画素を第1の画素値(例えば、「1」等)とし、背景領域(図9(b)中、黒で表す領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像P2(図9(b)参照)、即ち、被写体切り抜き画像P1内で被写体領域の位置を示す位置情報としての二値画像P2を生成する。
被写体切り抜き画像P1の画像データは、例えば、生成されたアルファマップや二値画像P2等の位置情報と対応付けられたデータである。
【0030】
なお、上記した被写体切抜部304による被写体切抜手法は、一例であってこれに限られるものではなく、被写体存在画像から被写体が含まれる被写体領域Psを切り抜く公知の手法であれば如何なる手法を適用しても良い。
また、被写体切り抜き画像P1の画像データとしては、例えば、RGBA形式の画像データを適用しても良く、具体的には、RGB色空間で規定される各色に透過度(A)の情報が付加されている。この場合には、被写体切抜部304は、透過度(A)の情報を利用して、被写体切り抜き画像P1内で被写体領域の位置を示す二値画像(図示略)を生成しても良い。
【0031】
記憶部305は、例えば、半導体の不揮発メモリやHDD(Hard Disc Drive)等により構成され、ユーザ端末2に送信されるWebページのページデータや被写体切抜部304により生成された被写体切り抜き画像P1の画像データ等を記憶する。
【0032】
また、記憶部305は、動画生成処理に用いられる動き情報305aを複数記憶している。
各動き情報305aは、所定空間、即ち、例えば、互いに直交する二軸(例えば、x軸、y軸等)により規定される二次元の平面空間やこれら二軸に加えて当該二軸に直交する軸(例えば、z軸等)により規定される三次元の立体的空間内における複数の可動点の動きを示す情報である。なお、動き情報305aは、二次元の平面空間を所定の回動軸周りに回転させることで複数の可動点の動きに奥行きをもたせるような情報であっても良い。
ここで、各可動点の位置は、動きのモデルとなる動体モデル(例えば、ヒトや動物等)の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。また、可動点の個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
また、各動き情報305aは、所定空間内にて複数の可動点の全て若しくは少なくとも一つを移動させた座標情報を所定の時間間隔で連続して並べることで、複数の可動点の動きが連続して表されている。なお、複数の可動点の座標情報の各々は、例えば、基準となる可動点の座標情報に対する各可動点の移動量を規定した情報であっても良いし、各可動点の絶対位置座標を規定した情報であっても良い。
【0033】
また、記憶部305は、動画生成処理に用いられる演奏情報305bを複数記憶している。
演奏情報305bは、動画処理部306の動画再生部306h(後述)により動画像とともに自動的に曲を演奏するための情報である。即ち、演奏情報305bは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報305bは、例えば、MIDI(Musical Instruments Digital Interface)規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能(Tickカウント数)等が規定されたヘッダ情報と、各パートに割り当てられた音源(例えば、楽器等)に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
【0034】
動画処理部306は、画像取得部306aと、第1色特定部306bと、第1描画部306cと、第2色特定部306dと、第2描画部306eと、制御点設定部306fと、フレーム生成部306gと、動画再生部306hとを具備している。
【0035】
画像取得部306aは、動画生成処理に用いられる静止画像を取得する。
即ち、画像取得部306aは、取得手段として、背景と被写体とが存在する被写体存在画像から被写体が含まれる被写体領域Psが切り抜かれた被写体切り抜き画像(被写体画像)P1を取得する。具体的には、画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像P1の画像データを処理対象の静止画像として取得する。
【0036】
第1色特定部306bは、被写体の裏側を擬似的に表す裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する。
即ち、第1色特定部306bは、第1特定手段として、画像取得部306aにより取得された被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する。ここで、第1色特定部306bは、被写体切抜部304により生成された被写体切り抜き画像P1内で被写体領域Psの位置を示す二値画像P2(図9(b)参照)を取得して、当該二値画像P2の輪郭の形状を基準として、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する。
【0037】
具体的には、第1色特定部306bは、二値画像P2の被写体領域の輪郭を構成する所定数(例えば、一つ)の画素からなる輪郭画像P3(図10(a)参照)を生成した後、当該輪郭画像P3を構成する複数の画素の各々の座標(x,y)を取得する。
次に、第1色特定部306bは、輪郭画像P3を構成する複数の画素の各々を着目点A1として指定して、当該各着目点A1の座標(x,y)を取得する(図10(b)参照)。即ち、第1色特定部306bは、二値画像P2の輪郭に対応する輪郭画像P3上に存する各画素を一の着目点A1として指定する。なお、図10(b)には、図10(a)に示す輪郭画像P3の一部分の拡大図を模式的に示し、一の着目点A1に斜線を付して表している。
続けて、第1色特定部306bは、各着目点A1に対応する二値画像P2上の各対応着目点B1から所定の一方向に延在する直線上に存し、当該二値画像P2の被写体領域における対応着目点B1と反対側の境界を構成する各境界点B2を特定する。即ち、輪郭画像P3上の一の着目点A1に対応する二値画像P2上の対応着目点B1の周辺の画素の何れかが必ず背景領域(第2の画素値「0」)となることから、第1色特定部306bは、各対応着目点B1の水平方向(x軸方向)に隣合う二つの画素のうち、何れの画素が第2の画素値「0」の背景領域となるかによって当該対応着目点B1に対する内側方向(図11(a)中、矢印で図示)を特定する。なお、対応着目点B1の水平方向(x軸方向)に隣合う二つの画素の何れもが第2の画素値「0」の背景領域となる場合については、後述する。
次に、第1色特定部306bは、特定された内側方向に延在する直線上を内側方向に一画素ずつ探索していき、画素値が第1の画素値「1」から第2の画素値「0」に変化する画素の一つ前の画素、即ち、二値画像P2の対応着目点B1と反対側の境界を構成し、第2の画素値「0」の画素に隣接する第1の画素値「1」を有する一の画素を境界点B2として特定する。そして、第1色特定部306bは、特定された境界点B2の座標(x,y)を取得する(図11(a)参照)。なお、図11(a)には、二値画像P2における図10(b)に示す輪郭画像P3の一部分に対応する部分を模式的に示し、一の対応着目点B1及び境界点B2に斜線を付して表している。
【0038】
次に、第1色特定部306bは、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値に基づいて、当該一の対応着目点B1に対応する裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値(平均値)を特定する。
即ち、第1色特定部306bは、取得した対応着目点B1及び境界点B2の各々の座標(x,y)に基づいて、被写体切り抜き画像P1の被写体領域Psの輪郭部分における当該一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値を取得する。そして、第1色特定部306bは、取得した各画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9における対応着目点B1に対応する画素の画素値として特定する。
【0039】
また、第1色特定部306bは、被写体領域Psの切り抜きの際に被写体存在画像の背景の一部が誤って切り抜かれている虞があることも考慮して、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素よりも所定の画素数(例えば、対応着目点B1と境界点B2との間の画素数の1/10程度等)内側の各画素の画素値に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。即ち、第1色特定部306bは、被写体領域Psの輪郭部分における一の対応着目点B1に対応する画素よりも所定の画素数だけ境界点B2側の画素や、被写体領域Psの輪郭部分における一の境界点B2に対応する画素よりも所定の画素数だけ対応着目点B1側の画素を特定する。そして、第1色特定部306bは、特定された各画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。
同様に、第1色特定部306bは、被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。即ち、第1色特定部306bは、被写体領域Psの輪郭部分における一の対応着目点B1や境界点B2に対応する各画素から被写体領域Psの内側に所定の距離分(例えば、対応着目点B1と境界点B2との間の画素数の1/10程度等)入り込んだ各所定領域を設定する。そして、第1色特定部306bは、設定された各所定領域内の複数の周辺画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定しても良い。このとき、第1色特定部306bは、対応着目点B1や境界点B2に対応する各画素の画素値と各所定領域の周辺画素の画素値とを比較して、対応着目点B1や境界点B2に対応する各画素の画素値が周辺画素の画素値に対して所定値以上大きい場合には、周辺画素の画素値を裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値として採用しても良い。
【0040】
また、対応着目点B1に対して境界点B2を特定できなかった場合、即ち、対応着目点B1の水平方向(x軸方向)に隣合う二つの画素の何れもが第2の画素値「0」の背景領域となった場合、第1色特定部306bは、被写体切り抜き画像P1の被写体領域Psにおける当該一の対応着目点B1に対応する画素の画素値を、当該一の対応着目点B1に対応する裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値として特定する。
【0041】
また、第1色特定部306bは、輪郭画像P3を構成する複数の画素の全てを着目点A1として、上記の各処理を実行して、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素の色情報を取得する。
【0042】
第1描画部306cは、裏面画像P9の被写体対応領域の輪郭Lを描画する。
即ち、第1描画部306cは、生成手段として、第1色特定部306bにより特定された裏面画像P9の被写体対応領域の輪郭Lを構成する各画素の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素を描画する。具体的には、第1描画部306cは、例えば、被写体切り抜き画像P1と水平方向(x軸方向)及び垂直方向(y軸方向)の画素数が等しい背面生成用画像P5を生成した後、第1色特定部306bにより特定された各対応着目点B1の座標(x,y)及び裏面画像P9における各対応着目点B1に対応する各画素の画素値(例えば、平均値等)に基づいて、背面生成用画像P5上に当該裏面画像P9の被写体対応領域の輪郭Lを構成する各画素を描画する。これにより、第1描画部306cは、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭Lのみが描画された輪郭線画像P4(図11(b)参照)を生成する。
【0043】
第2色特定部306dは、裏面画像P9の被写体対応領域における輪郭Lの内側領域Mの色情報を特定する。
即ち、第2色特定部306dは、第2特定手段として、第1色特定部306bにより特定された裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定する。
具体的には、第2色特定部306dは、被写体切抜部304により生成された二値画像P2(図9(b)参照)を取得して、当該二値画像P2の被写体領域に対して収縮処理を施す。即ち、第2色特定部306dは、二値画像P2内で所定形状のウィンドウW(カーネル;図4(a)及び図4(b)参照)を所定方向に走査していき、当該二値画像P2の被写体領域に対する収縮処理を行う。
ウィンドウWは、処理対象の画素に対応する一の領域を基準位置(例えば、中心)とするとともに、所定数の画素に対応する所定数の所定領域からなる。そして、第2色特定部306dは、ウィンドウWの所定領域内の少なくとも一の画素の画素値に重みを付けて演算して処理対象の画素の画素値を算出する。つまり、第2色特定部306dは、ウィンドウWの所定領域内の少なくとも一の画素の画素値を利用し、一の領域内の画素を処理対象の画素として、所定の演算式に従って代表値(例えば、平均値)を算出して当該処理対象の画素の画素値とする。例えば、第2色特定部306dは、処理対象の画素に対応する中央領域の左側(図4(c)及び図4(d)参照)や右側や上側や下側の所定数の領域を所定領域として、当該所定領域内の少なくとも一の画素の画素値を利用して代表値(処理対象の画素の画素値)を算出する。
【0044】
また、第2色特定部306dは、二値画像P2の被写体領域における処理対象の画素の位置に応じて、ウィンドウW(カーネル;図4(a)及び図4(b)参照)の形状を異ならせて収縮処理を行う。具体的には、第2色特定部306dは、例えば、二値画像P2の被写体領域のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては、水平方向及び垂直方向の画素値の影響を略均等に受けるように正方形(例えば、3×3画素等)のウィンドウW1を収縮処理に適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては、水平方向の画素値の影響を強くし、垂直方向の画素値の影響を弱くするように横長の矩形(例えば、3画素)のウィンドウW2を収縮処理に適用する(図4(b)参照)。例えば、図4(a)に示すように、第2色特定部306dは、処理対象の画素に対応する中央領域の左側の3つの領域を所定領域として、当該3つの領域内の各画素の画素値を利用して処理対象の画素の画素値を算出する。また、例えば、図4(b)に示すように、第2色特定部306dは、処理対象の画素に対応する中央領域の左側の1つの領域を所定領域として、当該1つの領域内の画素の画素値を利用して処理対象の画素の画素値を算出する。
【0045】
これにより、第2色特定部306dは、二値画像P2の被写体領域の輪郭位置を一画素分内側に収縮させた収縮二値画像P6(図12(a)参照)を生成する。そして、第2色特定部306dは、収縮二値画像P6の被写体領域の輪郭を構成する複数の画素のみからなる収縮輪郭画像P7(図12(b)参照)を生成した後、当該収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)を取得する。
また、第2色特定部306dは、上記の二値画像P2の収縮処理を収縮後の二値画像P2(P6)に被写体領域が残っていないと判定されるまで繰り返し実行する。
【0046】
また、第2色特定部306dは、第1描画部306cにより背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭Lのみが描画された輪郭線画像P4を基準として、上記の二値画像P2の収縮処理と同様に、輪郭線画像P4の処理対象の画素の位置に応じてウィンドウWの形状を異ならせて収縮処理を行う。
即ち、第2色特定部306dは、輪郭線画像P4を処理対象の画像として、輪郭線画像P4を構成する各画素のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては、水平方向及び垂直方向の画素値の影響を略均等に受けるように正方形(例えば、3×3画素等)のウィンドウW1を収縮処理に適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては、水平方向の画素値の影響を強くし、垂直方向の画素値の影響を弱くするように横長の矩形(例えば、3画素)のウィンドウW2を収縮処理に適用する(図4(b)参照)。
そして、第2色特定部306dは、裏面画像P9の被写体対応領域の輪郭Lの内側領域Mに対応する画素を処理対象の画素として、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素のうち、ウィンドウWの所定領域内の少なくとも一の画素の画素値に基づいて、所定の演算式に従って代表値(例えば、平均値)を算出する。即ち、第2色特定部306dは、裏面画像P9の被写体対応領域の輪郭L(輪郭線画像P4)を構成する各画素の画素値に基づいて、ウィンドウWの所定領域内の少なくとも一の画素の画素値に重みを付けて演算し、裏面画像P9における輪郭よりも一画素分内側の領域の処理対象の画素の画素値を算出する。
【0047】
また、第2色特定部306dは、上記の裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの各画素の画素値の算出処理を、収縮後の二値画像P2(P6)に被写体領域が残っていないと判定されるまで繰り返し実行する。即ち、第2色特定部306dは、第2描画部306eにより背面生成用画像P5上に裏面画像P9の被写体対応領域における輪郭Lよりも所定画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)が生成される毎に(後述)、当該背面生成途中画像P8を基準として、上記の画素値の算出処理を繰り返し実行して、当該背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値を逐次算出する。
【0048】
第2描画部306eは、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mを描画する。
即ち、第2描画部306eは、生成手段として、第2色特定部306dにより特定された裏面画像P9の被写体対応領域の輪郭Lよりも内側領域Mを構成する各画素の色情報に基づいて、裏面画像P9の内側領域Mを構成する各画素を描画する。具体的には、第2描画部306eは、例えば、第2色特定部306dにより特定された収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)及び裏面画像P9の被写体対応領域の輪郭Lよりも一画素分内側の領域Mを構成する各画素の画素値(例えば、平均値等)に基づいて、輪郭線画像P4上に当該裏面画像P9の被写体対応領域の輪郭Lよりも一画素分内側の領域Mを構成する各画素を描画する。これにより、第2描画部306eは、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭L及び当該輪郭Lよりも一画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)を生成する。
【0049】
また、第2描画部306eは、上記の背面生成途中画像P8の生成処理を、第2色特定部306dにより背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値が逐次算出される毎に繰り返し実行する。即ち、第2描画部306eは、第2色特定部306dにより特定された収縮後の二値画像P2に対応する収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)及び背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値(例えば、平均値等)に基づいて、背面生成途中画像P8上に当該描画済みの最も内側の各画素よりも一画素分内側の領域Mを構成する各画素を逐次描画する。
そして、第2描画部306eは、最終的に被写体対応領域の輪郭L及び当該輪郭Lよりも内側の全ての領域Mが描画された裏面画像P9(図13(b)参照)を生成する。
【0050】
制御点設定部306fは、処理対象となる被写体切り抜き画像P1の被写体画像内で動き制御点を複数設定する。
即ち、制御点設定部306fは、画像取得部306aにより取得された被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する。具体的には、制御点設定部306fは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。また、制御点設定部306fは、被写体切り抜き画像P1の被写体画像内で動き制御点をそれぞれ設定することで、当該被写体切り抜き画像P1に対応する裏面画像P9内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定する。
このとき、動体モデルと被写体画像について、例えば、顔などの主要部の大きさを合わせるように寸法の調整(例えば、動体モデルの拡大や縮小、変形等)を行うようにしても良い。また、例えば、動体モデルと被写体画像を重ね合わせて被写体画像における複数の可動点の各々が対応する位置を特定しても良い。
さらに、制御点設定部306fは、動き情報305aに規定されている複数の可動点の全てについて、対応する動き制御点を設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の可動点に対応する動き制御点のみ設定しても良い。
【0051】
なお、制御点設定部306fは、被写体切り抜き画像P1の被写体画像内で、記憶部305から読み出された動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々が対応する位置を自動的に特定しても良い。例えば、動き制御点設定部306fは、被写体の骨格の形状や関節の位置等を考慮して複数の可動点の各々が対応する位置を特定する。そして、制御点設定部306fは、特定された複数の可動点の各々が対応する位置に動き制御点をそれぞれ設定する。
また、制御点設定部306fによる動き制御点の設定が自動的に行われた場合であっても、ユーザによる操作入力部の所定操作に基づいて動き制御点の設定位置の修正(変更)を受け付けるようにしても良い。
【0052】
フレーム生成部306gは、動画像を構成する複数のフレーム画像を逐次生成する。
即ち、フレーム生成部306gは、動画処理部306により指定された動き情報305aの複数の可動点の動きに追従させるように、被写体切り抜き画像P1の被写体画像内に設定されている複数の動き制御点を移動させて複数のフレーム画像を逐次生成する。具体的には、フレーム生成部306gは、例えば、動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報を逐次取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306gは、算出された座標に動き制御点を逐次移動させていくとともに、少なくとも一の動き制御点を基準として被写体画像内に設定される所定の画像領域(例えば、三角形や矩形のメッシュ状の領域)を移動させたり変形させることで、基準フレーム画像(図示略)を生成する。
なお、動き制御点を基準とした所定の画像領域を移動させたり変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0053】
また、フレーム生成部306gは、移動後の可動点の各々に対応する複数の制御点に基づいて生成される時間軸に沿って隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像(図示略)を生成する。即ち、フレーム生成部306gは、動画再生部306hにより複数のフレーム画像が所定の再生フレームレート(例えば、30fps等)で再生されるように、二つの基準フレーム画像どうしの間を補間する補間フレーム画像を所定数生成する。
具体的には、フレーム生成部306gは、隣合う二つの基準フレーム画像間における、動画再生部306hにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部306gは、MIDI規格の演奏情報305bに基づいてテンポの設定情報及び四分音符の分解能(Tickカウント数)を取得して、動画再生部306hにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部306gは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング(例えば、各小節の一拍目等)に同期させた隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部306gは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの基準フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0054】
また、フレーム生成部306gによる基準フレーム画像や補間フレーム画像の生成は、被写体切り抜き画像P1の画像データ及びアルファマップ等の位置情報の両方について行われる。
【0055】
動画再生部306hは、フレーム生成部306gにより生成された複数のフレーム画像の各々を再生する。
即ち、動画再生部306hは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された演奏情報305bに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部306hは、所定の曲の演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング(例えば、各小節の1拍目や各拍等)に同期させるように隣合う二つの基準フレーム画像を再生するとともに、隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部306hは、動画処理部306により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部306hは、隣合う二つの基準フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
【0056】
次に、ユーザ端末2及びサーバ3を用いた動画生成処理について図5〜図13を参照して説明する。
ここで、図5及び図6は、動画生成処理に係る動作の一例を示すフローチャートである。また、図7は、動作生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。また、図8は、裏面画像生成処理における輪郭描画処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像P1(図9(a)参照)の画像データがサーバ3の記憶部305に記憶されているものとする。
【0057】
図5に示すように、ユーザ端末2の中央制御部201のCPUは、ユーザによる操作入力部202の所定操作に基づいて、サーバ3により開設される動画生成用ページのアクセス指示が入力されると、当該アクセス指示を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS1)。
サーバ3の通信制御部303によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、動画生成用ページのページデータを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部206によって、動画生成用ページのページデータが受信されると、表示部203は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面(図示略)を表示する。
【0058】
次に、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、動画生成用ページの画面内にて操作された各種ボタンに対応する指示信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS3)。
図6に示すように、サーバ3の中央制御部301のCPUは、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。具体的には、中央制御部301のCPUは、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、処理をステップS51に移行させ、また、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、処理をステップS61に移行させ、また、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、処理をステップS71に移行させる。
【0059】
<被写体画像の指定>
ステップS4にて、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、動画処理部306の画像取得部306aは、記憶部305に記憶されている被写体切り抜き画像P1の画像データの中からユーザにより指定された被写体切り抜き画像P1の画像データを読み出して取得する(ステップS51)。
次に、制御点設定部306fは、取得された被写体切り抜き画像P1の被写体画像内で動き制御点が既に設定されているか否かを判定する(ステップS52)。
【0060】
ステップS52にて、制御点設定部306fにより動き制御点が設定されていないと判定されると(ステップS52;NO)、動画処理部306は、被写体切り抜き画像P1の画像データに基づいて、被写体画像の所定位置(例えば、中心位置等)を基準として当該被写体切り抜き画像P1のトリミングすることで被写体画像と動きモデル(例えば、動物)の大きさが等しくなるように補正する(ステップS53)。
なお、被写体切り抜き画像P1のトリミングは、当該被写体切り抜き画像P1の画像データと対応付けられている、例えば、アルファマップや二値画像P2等の位置情報についても行われる。
その後、動画処理部306は、トリミング後の画像の被写体画像の裏側を擬似的に表す裏面画像P9(図13(b)参照)を生成する裏面画像生成処理を行う(ステップS54;図7及び図8参照)。
【0061】
以下に、裏面画像生成処理について図7及び図8を参照して詳細に説明する。
図7に示すように、先ず、動画処理部306の第1色特定部306bは、被写体切抜部304により生成済みの二値画像P2の画像データ(図9(b)参照)を取得する(ステップS101)。その後、第1色特定部306bは、二値画像P2の被写体領域の輪郭を構成する所定数(例えば、一つ)の画素からなる輪郭画像P3(図10(a)参照)を生成した後(ステップS102)、当該輪郭画像P3を構成する複数の画素の各々の座標(x,y)を取得する(ステップS103)。なお、取得された複数の画素の各々の座標は、所定の格納手段(例えば、所定のメモリ等)に一時的に格納される。
次に、動画処理部306は、裏面画像P9の被写体対応領域の輪郭Lを構成する各画素を描画する輪郭描画処理(図8参照)を実行する(ステップS104)。
【0062】
以下に、輪郭描画処理について図8を参照して詳細に説明する。
図8に示すように、動画処理部306の第1色特定部306bは、輪郭画像P3を構成する複数の画素の中で、何れか一の画素を着目点A1として指定した後、当該着目点A1の座標(x,y)を取得する(ステップS201;図10(b)参照)。
次に、第1色特定部306bは、着目点A1に対応する二値画像P2上の対応着目点B1を特定した後、当該対応着目点B1の水平方向(x軸方向)に隣合う二つの画素のうち、何れの画素が第2の画素値「0」の背景領域となるかによって当該対応着目点B1に対する内側方向(図11(a)中、矢印で図示)を特定する(ステップS202)。続けて、第1色特定部306bは、特定された内側方向に延在する直線上を内側方向に一画素ずつ探索していき、当該二値画像P2の被写体領域における対応着目点B1と反対側の境界を構成する境界点B2を特定する(ステップS203)。
【0063】
次に、第1色特定部306bは、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を算出する(ステップS204)。
具体的には、第1色特定部306bは、取得した対応着目点B1及び境界点B2の各々の座標(x,y)に基づいて、被写体切り抜き画像P1の被写体領域Psの輪郭部分における当該一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値を取得した後、各画素の画素値に基づいて所定の演算を行って代表値(例えば、平均値等)を算出し、裏面画像P9における対応着目点B1に対応する画素の画素値として特定する。
【0064】
次に、第1描画部306cは、第1色特定部306bにより特定された裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値に基づいて、当該画素を描画する(ステップS205)。
具体的には、第1描画部306cは、第1色特定部306bにより特定された対応着目点B1の座標(x,y)及び裏面画像P9における対応着目点B1に対応する各画素の画素値(例えば、平均値等)に基づいて、背面生成用画像P5上に当該裏面画像P9の被写体対応領域の輪郭Lを構成する画素を描画する。
【0065】
次に、動画処理部306は、輪郭画像P3を構成する全ての画素を着目点A1として処理したか否かを判定する(ステップS206)。
ここで、全ての画素を着目点A1として処理していないと判定されると(ステップS206;NO)、第1色特定部306bは、輪郭画像P3を構成する複数の画素のうち、所定方向(例えば、垂直方向等)に隣合う次の画素を次の着目点A1として指定した後(ステップS207)、処理をステップS202に移行させる。
動画処理部306は、ステップS206にて、全ての画素を着目点A1として処理したと判定されるまで(ステップS206;YES)、上記の処理を繰り返し実行する。
【0066】
ステップS206にて、全ての画素を着目点A1として処理したと判定されると(ステップS206;YES)、動画処理部306は、輪郭描画処理を終了する。
これにより、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭Lのみが描画された輪郭線画像P4(図11(b)参照)が生成される。
【0067】
図7に戻り、動画処理部306の第2色特定部306dは、被写体切抜部304により生成済みの二値画像P2の画像データ(図9(b)参照)を取得して、当該二値画像P2の被写体領域における処理対象の画素の位置に応じて所定形状のウィンドウW(図4(a)及び図4(b)参照)を用いて、当該被写体領域Psに対する収縮処理を行う(ステップS105)。
具体的には、第2色特定部306dは、二値画像P2の被写体領域のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては正方形(例えば、3×3画素等)のウィンドウW1を適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては横長の矩形(例えば、3画素)のウィンドウW2を適用し、当該所定形状のウィンドウW1、W2(図4(a)及び図4(b)参照)を所定方向に走査していき、当該二値画像P2の被写体領域に対する収縮処理を行う。
これにより、二値画像P2の被写体領域の輪郭が一画素分内側に収縮された収縮二値画像P6(図12(a)参照)が生成される。
【0068】
次に、動画処理部306は、収縮処理後の二値画像P2(収縮二値画像P6)に被写体領域が残っているか否かを判定する(ステップS106)。
ここで、被写体領域が残っていると判定されると(ステップS106;YES)、即ち、収縮二値画像P6が生成されているので、第2色特定部306dは、生成された収縮二値画像P6の被写体領域の輪郭を構成する複数の画素のみからなる収縮輪郭画像P7(図12(b)参照)を生成した後(ステップS107)、当該収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)を取得する(ステップS108)。なお、取得された複数の画素の各々の座標は、所定の格納手段(例えば、所定のメモリ等)に一時的に格納される。
【0069】
次に、第2色特定部306dは、第1描画部306cにより描画された輪郭線画像P4における処理対象の画素の位置に応じて所定形状のウィンドウW(図4(a)及び図4(b)参照)を用いて、当該輪郭線画像P4に対する収縮処理を行って、処理対象の画素の画素値を算出する(ステップS109)。
具体的には、第2色特定部306dは、上記の二値画像P2の収縮処理と同様に、輪郭線画像P4のうち、垂直方向の略中央部よりも上側(被写体の頭側)に存する画素に対しては正方形(例えば、3×3画素等)のウィンドウW1を適用し(図4(a)参照)、その一方で、略中央部よりも下側(被写体の足側)に存する画素に対しては横長の矩形(例えば、3画素)のウィンドウW2を適用し、当該所定形状のウィンドウW1、W2(図4(a)及び図4(b)参照)を所定方向に走査していく。そして、第2色特定部306dは、輪郭線画像P4の各画素を処理対象の画素として、ウィンドウWの所定領域内の少なくとも一の画素の画素値に基づいて、所定の演算式に従って各画素の画素値を算出する。
【0070】
次に、第2描画部306eは、第2色特定部306dにより特定された収縮輪郭画像P7を構成する複数の画素の各々の座標(x,y)及び輪郭線画像P4を構成する各画素の画素値に基づいて、輪郭線画像P4上に被写体領域の輪郭Lよりも一画素分内側の領域Mを構成する各画素を描画する(ステップS110。これにより、背面生成用画像P5上に裏面画像P9の被写体対応領域の輪郭L及び当該輪郭Lよりも一画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)が生成される。
その後、動画処理部306は、処理をステップS105に移行し、それ以降の処理を逐次実行する。即ち、ステップS106にて、被写体領域が残っていないと判定されるまで(ステップS106;NO)、上記の各処理を繰り返し実行する。
具体的には、第2色特定部306dは、ステップS110にて、第2描画部306eにより背面生成用画像P5上に裏面画像P9の被写体対応領域における輪郭Lよりも所定画素分内側の領域Mが描画された背面生成途中画像P8(図13(a)参照)が生成される毎に、当該背面生成途中画像P8を基準として、当該背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値を逐次算出する(ステップS105)。
また、第2描画部306eは、ステップS105にて、第2色特定部306dにより背面生成途中画像P8の描画済みの最も内側の各画素よりも一画素分内側の領域Mの画素の画素値が逐次算出される毎に、背面生成途中画像P8上に当該描画済みの最も内側の各画素よりも一画素分内側の領域Mを構成する各画素を逐次描画する(ステップS110)。
【0071】
上記の各処理が繰り返し実行されて、最終的に、被写体対応領域の輪郭L及び当該輪郭Lよりも内側の全ての領域Mが描画された裏面画像P9(図13(b)参照)が生成される。
これにより、裏面画像生成処理を終了する。
【0072】
図6に戻り、次に、中央制御部301のCPUは、生成された裏面画像P9と対応づけられた被写体切り抜き画像P1の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS55)。その後、制御点設定部306fは、被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する(ステップS56)。
具体的には、制御点設定部306fは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。
そして、動画再生部306hは、当該被写体画像に対して設定された複数の動き制御点、並びに被写体画像の合成位置やサイズ等の合成内容を所定の格納手段(例えば、所定のメモリ等)に登録する(ステップS57)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0073】
なお、ステップS52にて、既に動き制御点が設定されていると判定されると(ステップS52;YES)、中央制御部301のCPUは、ステップS53〜S57の処理をスキップして、処理をステップS8に移行させる。
【0074】
<背景画像の指定>
ステップS4にて、ユーザ端末2からの指示が、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、動画処理部306の動画再生部306hは、ユーザによる操作入力部202の所定操作に基づいて所望の背景画像(他の画像)の画像データを読み出して(ステップS61)、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する(ステップS62)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画再生部306hは、当該指定指示に係る背景画像の画像データを記憶部305から読み出して取得した後(ステップS61)、当該背景画像の画像データを動画像の背景として登録する(ステップS62)。
【0075】
次に、中央制御部301のCPUは、背景画像の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS63)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0076】
<動き及び曲の指定>
ステップ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の動画再生部306hは、設定された動き情報305aや動きの速さを動画像の動きの内容として所定の格納手段に登録する(ステップS72)。
【0077】
次に、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて自動的に演奏される曲を設定する(ステップS73)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0078】
ステップS8では、中央制御部301のCPUは、動画像の生成が可能な状態であるか否かを判定する(ステップS8)。即ち、ユーザによる操作入力部202の所定操作に基づいて、サーバ3の動画処理部306は、被写体画像に対する動き制御点の登録、被写体画像の動きの内容の登録、背景画像の登録等を行うことで、動画像の生成準備が整って動画像を生成可能か否か判定する。
ここで、動画像の生成が可能な状態でないと判定されると(ステップS8;NO)、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
一方、動画像の生成が可能な状態であると判定されると(ステップS8;YES)、図4に示すように、中央制御部301のCPUは、処理をステップS10に移行させる。
【0079】
ステップS10では、サーバ3の中央制御部301のCPUは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて動画像のプレビュー指示が入力されたか否かを判定する(ステップS10)。
即ち、ステップS9にて、ユーザ端末2の中央制御部201が、ユーザによる操作入力部202の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS9)。
そして、ステップS10にて、サーバ3の中央制御部301のCPUによって、動画像のプレビュー指示が入力されたと判定されると(ステップS10;YES)、動画処理部306の動画再生部306hは、設定済みの曲名に対応する演奏情報305bを動画像とともに自動的に演奏される情報として所定の格納手段に登録する(ステップS11)。
【0080】
次に、動画処理部306は、格納手段に登録されている演奏情報305bに基づいて動画再生部306hによる所定の曲の演奏を開始させるとともに、動画像を構成する複数のフレーム画像のフレーム生成部306gによる生成を開始させる(ステップS12)。
続けて、動画処理部306は、動画再生部306hによる所定の曲の演奏が終了したか否かを判定する(ステップS13)。
ここで、曲の演奏が終了していないと判定されると(ステップS13;NO)、動画処理部306のフレーム生成部306gは、動き情報305aに応じて変形させた被写体画像の基準フレーム画像を生成する(ステップS14)。具体的には、フレーム生成部306gは、格納手段に登録されている動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報をそれぞれ取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306gは、算出された座標に動き制御点を逐次移動させていくとともに、動き制御点の移動に応じて被写体画像内に設定される所定の画像領域を移動させたり変形させることで、基準フレーム画像を生成する。
また、動画処理部306は、基準フレーム画像と背景画像とを公知の画像合成手法を用いて合成する。具体的には、動画処理部306は、例えば、背景画像の各画素のうち、アルファ値が「0」の画素は透過させ、アルファ値が「1」の画素は基準フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「0<α<1」の画素は1の補数(1−α)を用いて基準フレーム画像の被写体領域Psを切り抜いた画像(背景画像×(1−α))を生成した後、アルファマップにおける1の補数(1−α)を用いて基準フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を基準フレーム画像から減算し、それを被写体領域Psを切り抜いた画像(背景画像×(1−α))と合成する。
【0081】
続けて、フレーム生成部306gは、動画再生部306hにより演奏される所定の曲の演奏の進行度合に応じて、隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像を生成する(ステップS15)。具体的には、フレーム生成部306gは、隣合う二つの基準フレーム画像間における、動画再生部306hにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。
また、動画処理部306は、補間フレーム画像と背景画像とを、上記基準フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する。
【0082】
次に、中央制御部301のCPUは、動画再生部306hにより自動的に演奏される曲の演奏情報305bとともに、当該曲の所定のタイミングで再生される基準フレーム画像及び補間フレーム画像からなるプレビュー動画のデータを、通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS16)。ここで、プレビュー動画のデータは、所定数の基準フレーム画像及び補間フレーム画像からなる複数のフレーム画像とユーザ所望の背景画像とが合成された動画像を構成している。
次に、動画処理部306は、処理をステップS18に戻し、曲の演奏が終了したか否かを判定する(ステップS13)。
上記の処理は、ステップS13にて、曲の演奏が終了したと判定されるまで(ステップS13;YES)、繰り返し実行される。
そして、曲の演奏が終了したと判定されると(ステップS13;YES)、図6に示すように、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
【0083】
ステップS16にて、サーバ3から送信されたプレビュー動画のデータがユーザ端末2の通信制御部303によって受信されると、中央制御部201のCPUは、音出力部204及び表示部203を制御してプレビュー動画を再生させる(ステップS17)。
具体的には、音出力部204は、演奏情報305bに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部203は、当該自動的に演奏される曲の所定のタイミングで基準フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
【0084】
なお、上記の動画生成処理にあっては、プレビュー動画を再生するようにしたが、一例であってこれに限られるものではなく、例えば、逐次生成された基準フレーム画像や補間フレーム画像や背景画像の画像データ並びに演奏情報305bを一つのファイルとして所定の記憶手段に記憶していき、動画像に係る全てのデータの生成完了後に、当該ファイルをサーバ3からユーザ端末2に送信して当該ユーザ端末2にて再生させるようにしても良い。
【0085】
以上のように、本実施形態の動画生成システム100によれば、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定し、当該裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定した後、これら裏面画像P9の被写体対応領域の輪郭Lの色情報及び内側領域Mの色情報に基づいて、裏面画像P9の被写体対応領域の輪郭L及び内側領域Mをそれぞれ描画して被写体の裏側を擬似的に表す裏面画像P9を生成するので、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を利用して、視認者に違和感を生じさせ難い裏面画像P9の生成を簡便に行うことができる。つまり、裏面画像P9の被写体対応領域の輪郭L及び内側領域Mの各々を、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で描画することができ、被写体切り抜き画像P1の被写体領域Psに対して裏面画像P9を視認者に違和感を生じさせ難くすることができる。
これにより、静止画像(正面画像)である被写体切り抜き画像P1を所定方向に回転させる場合に、当該静止画像の裏側の表現を裏面画像P9により適正に行うことができる。また、被写体切り抜き画像P1の被写体画像内で動き制御点を設定するだけで、当該被写体切り抜き画像P1に対応する裏面画像P9内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定することができ、動画像の生成処理をより簡便なものとすることができる。
【0086】
また、被写体切り抜き画像P1内で被写体領域Psの位置を示す二値画像P2の輪郭上に存する一の対応着目点B1と、当該二値画像P2の一の対応着目点B1と反対側の境界を構成する境界点B2とを特定し、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素の画素値に基づいて、当該一の対応着目点B1に対応する裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定するので、裏面画像P9の被写体対応領域の輪郭Lの色情報を、被写体切り抜き画像P1内で被写体領域Psの位置を示す二値画像P2の輪郭の形状を基準として特定することができる。即ち、二値画像P2の輪郭の形状及び裏面画像P9の被写体対応領域の輪郭Lの色を基準として、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mを描画することができる。
【0087】
また、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素よりも所定の画素数内側の各画素の画素値や、被写体切り抜き画像P1の被写体領域Psの輪郭部分における一の対応着目点B1及び境界点B2の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を特定するので、被写体領域Psの切り抜きの際に被写体存在画像の背景の一部が誤って切り抜かれている場合であっても、当該被写体存在画像の背景の影響を小さくして裏面画像P9の被写体対応領域の輪郭Lを構成する画素の画素値を適正に特定することができる。これにより、視認者に違和感を生じさせ難い裏面画像P9を適正に生成することができる。
【0088】
また、裏面画像P9の被写体対応領域の輪郭Lの色が描画された輪郭線画像P4を基準として、所定領域内の少なくとも一の画素の画素値に重みを付けて演算して裏面画像P9における内側領域Mを構成する処理対象の画素の画素値を算出するためのウィンドウWの形状を処理対象の画素の位置に応じて異ならせた収縮処理を行うので、処理対象の画素の位置に応じて水平方向や垂直方向の画素値の影響を変化させて処理対象の画像に対して収縮処理を施すことができ、視認者に違和感を生じさせ難い裏面画像P9を適正に生成することができる。つまり、輪郭線画像P4を基準として収縮処理を行う場合、例えば、股下などの被写体領域Psの内側への食い込みが相対的に大きい箇所では、輪郭を構成する一の画素の影響が大きくなって、裏面画像P9の当該箇所にて色のグラデーションが不自然になる虞がある。そこで、処理対象の画素の位置に応じて水平方向や垂直方向の画素値の影響を変化させて処理対象の画像に対して収縮処理を施すことで、色のグラデーションが自然な視認者に違和感を生じさせ難い裏面画像P9を適正に生成することができる。
【0089】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像生成装置)3によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、画像生成装置の構成は適宜任意に変更可能である。即ち、裏面画像P9の生成に係る動画処理部306の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で動画生成処理を行うようにしても良い。
【0090】
また、上記実施形態にあっては、被写体切り抜き画像P1を処理対象としたが、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、最初から被写体領域Psのみの画像を用いても良い。
また、上記実施形態の動画生成処理にあっては、被写体画像の合成位置やサイズを調整可能に構成されても良い。即ち、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、被写体画像の合成位置やサイズの調整指示が入力されたと判定すると、当該調整指示に対応する信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる。そして、サーバ3の動画処理部306は、通信制御部を介して入力された調整指示に基づいて、被写体画像の合成位置を所望の合成位置に設定したり、当該被写体画像のサイズを所望のサイズに設定するようにしても良い。
【0091】
また、上記実施形態にあっては、ユーザ端末2として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
なお、被写体切り抜き画像P1や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【0092】
加えて、上記実施形態にあっては、取得手段、第1特定手段、第2特定手段、生成手段としての機能を、中央制御部301の制御下にて、画像取得部306a、第1色特定部306b、第1描画部306c、第2色特定部306d、第2描画部306eが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部301のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、取得処理ルーチン、第1特定処理ルーチン、第2特定処理ルーチン、生成処理ルーチンを含むプログラムを記憶しておく。そして、取得処理ルーチンにより中央制御部301のCPUを、被写体領域Psが含まれる被写体画像を取得する取得手段として機能させるようにしても良い。また、第1特定処理ルーチンにより中央制御部301のCPUを、取得手段により取得された被写体画像の被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P9の被写体対応領域の輪郭Lの色情報を特定する第1特定手段として機能させるようにしても良い。また、第2特定処理ルーチンにより中央制御部301のCPUを、第1特定手段により特定された裏面画像P9の被写体対応領域の輪郭Lの色情報に基づいて、裏面画像P9の被写体対応領域における輪郭Lよりも内側領域Mの色情報を特定する第2特定手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部301のCPUを、第1特定手段及び第2特定手段により特定された裏面画像P9の被写体対応領域の輪郭Lの色情報及び内側領域Mの色情報に基づいて、裏面画像P9の被写体対応領域の輪郭L及び内側領域Mをそれぞれ描画して生成する生成手段として機能させるようにしても良い。
【0093】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0094】
〔付記〕
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
<請求項1>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置を用いた画像生成方法であって、
被写体領域が含まれる被写体画像を取得する取得ステップと、
取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成ステップと、
を含むことを特徴とする画像生成方法。
<請求項2>
前記第1特定ステップは、更に、
前記被写体画像内で被写体領域の位置を示す二値画像の輪郭の形状を基準として、前記裏面画像の被写体対応領域の輪郭の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
<請求項3>
前記第1特定ステップは、更に、
前記二値画像の輪郭上に存する一の着目点と、当該一の着目点から所定の一方向に延在する直線上に存し、前記二値画像の前記一の着目点と反対側の境界を構成する境界点とを特定し、前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素の画素値に基づいて、当該一の着目点に対応する前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項2に記載の画像生成方法。
<請求項4>
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素よりも所定の画素数内側の各画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
<請求項5>
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
<請求項6>
前記第2特定ステップは、更に、
前記裏面画像の被写体対応領域の輪郭の色情報に基づいて当該輪郭の色が描画された輪郭線画像を基準として、所定領域内の少なくとも一の画素の画素値に重みを付けて演算して前記裏面画像における前記内側領域を構成する処理対象の画素の画素値を算出するためのウィンドウの形状を前記処理対象の画素の位置に応じて異ならせた収縮処理を行って、前記裏面画像における前記内側領域の色情報を特定することを特徴とする請求項1〜5の何れか一項に記載の画像生成方法。
<請求項7>
前記取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜6の何れか一項に記載の画像生成方法。
<請求項8>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する取得手段と、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段と、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段と、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段と、
を備えたことを特徴とする画像生成装置。
<請求項9>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する取得手段、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0095】
100 動画生成システム
1 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
306 動画処理部
306a 画像取得部
306b 第1色特定部
306c 第1描画部
306d 第2色特定部
306e 第2描画部
【特許請求の範囲】
【請求項1】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置を用いた画像生成方法であって、
被写体領域が含まれる被写体画像を取得する取得ステップと、
取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成ステップと、
を含むことを特徴とする画像生成方法。
【請求項2】
前記第1特定ステップは、更に、
前記被写体画像内で被写体領域の位置を示す二値画像の輪郭の形状を基準として、前記裏面画像の被写体対応領域の輪郭の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
【請求項3】
前記第1特定ステップは、更に、
前記二値画像の輪郭上に存する一の着目点と、当該一の着目点から所定の一方向に延在する直線上に存し、前記二値画像の前記一の着目点と反対側の境界を構成する境界点とを特定し、前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素の画素値に基づいて、当該一の着目点に対応する前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項2に記載の画像生成方法。
【請求項4】
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素よりも所定の画素数内側の各画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
【請求項5】
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
【請求項6】
前記第2特定ステップは、更に、
前記裏面画像の被写体対応領域の輪郭の色情報に基づいて当該輪郭の色が描画された輪郭線画像を基準として、所定領域内の少なくとも一の画素の画素値に重みを付けて演算して前記裏面画像における前記内側領域を構成する処理対象の画素の画素値を算出するためのウィンドウの形状を前記処理対象の画素の位置に応じて異ならせた収縮処理を行って、前記裏面画像における前記内側領域の色情報を特定することを特徴とする請求項1〜5の何れか一項に記載の画像生成方法。
【請求項7】
前記取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜6の何れか一項に記載の画像生成方法。
【請求項8】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する取得手段と、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段と、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段と、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段と、
を備えたことを特徴とする画像生成装置。
【請求項9】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する取得手段、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段、
として機能させることを特徴とするプログラム。
【請求項1】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置を用いた画像生成方法であって、
被写体領域が含まれる被写体画像を取得する取得ステップと、
取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定ステップと、
特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成ステップと、
を含むことを特徴とする画像生成方法。
【請求項2】
前記第1特定ステップは、更に、
前記被写体画像内で被写体領域の位置を示す二値画像の輪郭の形状を基準として、前記裏面画像の被写体対応領域の輪郭の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
【請求項3】
前記第1特定ステップは、更に、
前記二値画像の輪郭上に存する一の着目点と、当該一の着目点から所定の一方向に延在する直線上に存し、前記二値画像の前記一の着目点と反対側の境界を構成する境界点とを特定し、前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素の画素値に基づいて、当該一の着目点に対応する前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項2に記載の画像生成方法。
【請求項4】
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素よりも所定の画素数内側の各画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
【請求項5】
前記第1特定ステップは、更に、
前記被写体画像の被写体領域の輪郭部分における前記一の着目点及び前記境界点の各々に対応する各画素を基準とする各所定領域内の複数の画素の画素値に基づいて、前記裏面画像の被写体対応領域の輪郭を構成する画素の画素値を特定することを特徴とする請求項3に記載の画像生成方法。
【請求項6】
前記第2特定ステップは、更に、
前記裏面画像の被写体対応領域の輪郭の色情報に基づいて当該輪郭の色が描画された輪郭線画像を基準として、所定領域内の少なくとも一の画素の画素値に重みを付けて演算して前記裏面画像における前記内側領域を構成する処理対象の画素の画素値を算出するためのウィンドウの形状を前記処理対象の画素の位置に応じて異ならせた収縮処理を行って、前記裏面画像における前記内側領域の色情報を特定することを特徴とする請求項1〜5の何れか一項に記載の画像生成方法。
【請求項7】
前記取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜6の何れか一項に記載の画像生成方法。
【請求項8】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する取得手段と、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段と、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段と、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段と、
を備えたことを特徴とする画像生成装置。
【請求項9】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する取得手段、
この取得手段により取得された被写体画像の被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭の色情報を特定する第1特定手段、
この第1特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報に基づいて、前記裏面画像の被写体対応領域における輪郭よりも内側領域の色情報を特定する第2特定手段、
前記第1特定手段及び前記第2特定手段により特定された前記裏面画像の被写体対応領域の輪郭の色情報及び前記内側領域の色情報に基づいて、前記裏面画像の被写体対応領域の輪郭及び前記内側領域をそれぞれ描画して生成する生成手段、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図4】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図4】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−45341(P2013−45341A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−183643(P2011−183643)
【出願日】平成23年8月25日(2011.8.25)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願日】平成23年8月25日(2011.8.25)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]