画像生成方法、画像生成装置及びプログラム
【課題】裏面画像の生成を簡便に行う。
【解決手段】サーバ3であって、被写体領域が含まれる被写体画像を取得する画像取得部306aと、被写体画像の被写体の骨格に係る骨格情報を取得する骨格情報取得部306bと、骨格情報に基づいて、被写体領域の輪郭部分の色情報を特定する色特定部306eと、被写体領域の輪郭部分の色情報に基づいて、裏面画像の被写体対応領域を被写体の部位毎にそれぞれ描画して当該裏面画像を生成する裏面画像生成部306fと、を備えている。
【解決手段】サーバ3であって、被写体領域が含まれる被写体画像を取得する画像取得部306aと、被写体画像の被写体の骨格に係る骨格情報を取得する骨格情報取得部306bと、骨格情報に基づいて、被写体領域の輪郭部分の色情報を特定する色特定部306eと、被写体領域の輪郭部分の色情報に基づいて、裏面画像の被写体対応領域を被写体の部位毎にそれぞれ描画して当該裏面画像を生成する裏面画像生成部306fと、を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、正面画像から裏面画像を生成する画像生成方法、画像生成装置及びプログラムに関する。
【背景技術】
【0002】
従来、二次元の静止画像内の所望の位置に制御点を設定して、動きをつけたい制御点に所望の動きを指定することで当該静止画像を動かす技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4613313号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術において、静止画像を所定方向に回転させる場合、当該静止画像の裏側(背面側)を表現する上で当該裏側の画像を別途用意しなければならないといった問題がある。
【0005】
本発明は、このような問題に鑑みてなされたものであり、本発明の課題は、裏面画像の生成を簡便に行うことができる画像生成方法、画像生成装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る画像生成方法は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成方法であって、被写体領域が含まれる被写体画像を取得する第1取得ステップと、この第1取得ステップにより取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得ステップと、この第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定ステップと、この特定ステップにより特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成ステップと、を含むことを特徴としている。
【0007】
また、本発明に係る画像生成装置は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、被写体領域が含まれる被写体画像を取得する第1取得手段と、この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段と、この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段と、この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段と、を備えたことを特徴としている。
【0008】
また、本発明に係るプログラムは、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、被写体領域が含まれる被写体画像を取得する第1取得手段、この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段、この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段、この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段、として機能させることを特徴としている。
【発明の効果】
【0009】
本発明によれば、裏面画像の生成を簡便に行うことができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した一実施形態の動画生成システムの概略構成を示すブロック図である。
【図2】図1の動画生成システムを構成するユーザ端末の概略構成を示すブロック図である。
【図3】図1の動画生成システムを構成するサーバの概略構成を示すブロック図である。
【図4】図1の動画生成システムによる動画生成処理に係る動作の一例を示すフローチャートである。
【図5】図4の動画生成処理の続きを示すフローチャートである。
【図6】図5の動画生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。
【図7】図6の裏面画像生成処理における腕描画処理に係る動作の一例を示すフローチャートである。
【図8】図7の腕描画処理における腕領域描画処理に係る動作の一例を示すフローチャートである。
【図9】図7の腕描画処理における手先領域描画処理に係る動作の一例を示すフローチャートである。
【図10】図9の手先領域描画処理における直角四辺形設定処理に係る動作の一例を示すフローチャートである。
【図11】図6の裏面画像生成処理における脚描画処理に係る動作の一例を示すフローチャートである。
【図12】図6の裏面画像生成処理における胴体描画処理に係る動作の一例を示すフローチャートである。
【図13】図6の裏面画像生成処理における頭描画処理に係る動作の一例を示すフローチャートである。
【図14】図13の頭描画処理における第1描画処理に係る動作の一例を示すフローチャートである。
【図15】図13の頭描画処理における第2描画処理に係る動作の一例を示すフローチャートである。
【図16】図6の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図17】図7の腕描画処理に係る画像の一例を模式的に示す図である。
【図18】図9の手先領域描画処理に係る画像の一例を模式的に示す図である。
【図19】図12の胴体描画処理に係る画像の一例を模式的に示す図である。
【図20】図13の頭描画処理に係る画像の一例を模式的に示す図である。
【図21】図6の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【発明を実施するための形態】
【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が含まれる被写体画像の被写体の骨格に係る骨格情報に基づいて、被写体領域Psの輪郭部分の色情報を特定し、当該被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して、被写体の裏側を擬似的に表す裏面画像P3を生成する。
【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(図16(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は、アルファマップに基づいて、被写体領域(図16(b)中、白で表す領域)の各画素を第1の画素値(例えば、「1」等)とし、背景領域(図16(b)中、黒で表す領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像であるマスク画像P2(図16(b)参照)を生成する。即ち、被写体切抜部304は、被写体切り抜き画像P1内で被写体領域Psの位置を示す位置情報としてのマスク画像P2を生成する。
被写体切り抜き画像P1の画像データは、例えば、生成されたアルファマップやマスク画像P2等の位置情報と対応付けられたデータである。
【0030】
なお、上記した被写体切抜部304による被写体切抜手法は、一例であってこれに限られるものではなく、被写体存在画像から被写体が含まれる被写体領域Psを切り抜く公知の手法であれば如何なる手法を適用しても良い。
また、被写体切り抜き画像P1の画像データとしては、例えば、RGBA形式の画像データを適用しても良く、具体的には、RGB色空間で規定される各色に透過度(A)の情報が付加されている。この場合には、被写体切抜部304は、透過度(A)の情報を利用して、被写体切り抜き画像P1内で被写体領域Psの位置を示す位置情報(図示略)を生成しても良い。
【0031】
記憶部305は、例えば、半導体の不揮発メモリやHDD(Hard Disc Drive)等により構成され、ユーザ端末2に送信されるWebページのページデータや被写体切抜部304により生成された被写体切り抜き画像P1の画像データ等を記憶する。
【0032】
また、記憶部305は、動画生成処理に用いられる動き情報305aを複数記憶している。
各動き情報305aは、所定空間、即ち、例えば、互いに直交する二軸(例えば、x軸、y軸等)により規定される二次元の平面空間やこれら二軸に加えて当該二軸に直交する軸(例えば、z軸等)により規定される三次元の立体的空間内における複数の可動点の動きを示す情報である。なお、動き情報305aは、二次元の平面空間を所定の回動軸周りに回転させることで複数の可動点の動きに奥行きをもたせるような情報であっても良い。
ここで、各可動点の位置は、動きのモデルとなる動体モデル(例えば、ヒトや動物等)の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。また、可動点の個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
また、各動き情報305aは、所定空間内にて複数の可動点の全て若しくは少なくとも一つを移動させた座標情報を所定の時間間隔で連続して並べることで、複数の可動点の動きが連続して表されている。なお、複数の可動点の座標情報の各々は、例えば、基準となる可動点の座標情報に対する各可動点の移動量を規定した情報であっても良いし、各可動点の絶対位置座標を規定した情報であっても良い。
【0033】
また、記憶部305は、動画生成処理に用いられる演奏情報305bを複数記憶している。
演奏情報305bは、動画処理部306の動画再生部306i(後述)により動画像とともに自動的に曲を演奏するための情報である。即ち、演奏情報305bは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報305bは、例えば、MIDI(Musical Instruments Digital Interface)規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能(Tickカウント数)等が規定されたヘッダ情報と、各パートに割り当てられた音源(例えば、楽器等)に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
【0034】
動画処理部306は、画像取得部306aと、骨格情報取得部306bと、輪郭情報取得部306cと、骨格点設定部306dと、色特定部306eと、裏面画像生成部306fと、制御点設定部306gと、フレーム生成部306hと、動画再生部306iとを具備している。
【0035】
画像取得部306aは、動画生成処理に用いられる静止画像を取得する。
即ち、画像取得部306aは、第1取得手段として、背景と被写体とが存在する被写体存在画像から被写体が含まれる被写体領域Psが切り抜かれた被写体切り抜き画像(被写体画像)P1を取得する。具体的には、画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像P1の画像データを処理対象の静止画像として取得する。
また、画像取得部306aは、被写体切り抜き画像P1の画像データと対応付けられているマスク画像P2の画像データを取得する。
【0036】
骨格情報取得部306bは、被写体切り抜き画像P1の被写体の骨格に係る骨格情報を取得する。
即ち、骨格情報取得部306bは、第2取得手段として、画像取得部306aにより取得された被写体切り抜き画像P1の被写体の骨格に係る骨格情報を取得する。具体的には、骨格情報取得部306bは、画像取得部306aにより取得されたマスク画像P2の画像データ、即ち、被写体切り抜き画像P1の画像データと対応付けられ、当該被写体切り抜き画像P1内で被写体領域Psの位置を示すマスク画像P2の画像データに対して、所定数(例えば、一つ)の画素からなる線画像を生成する細線化処理を施して、骨格情報としての骨格線画像(図示略)を生成する。
例えば、骨格情報取得部306bは、マスク画像P2の画像データに対してHilditch法を適用して、当該画像内で境界点である端点を削除しない、孤立点を保存する、連結性を保存する、などの各種の条件を満たす画像の探索、削除を繰り返すことにより、骨格線画像を生成する。
なお、上記した骨格情報取得部306bによる骨格情報の取得処理は、一例であってこれに限られるものではなく、適宜任意に変更可能である。また、細線化処理として、Hilditch法を適用するようにしたが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
また、マスク画像P2及び被写体切り抜き画像P1では、例えば、左上隅部を原点座標として(即ち、左右方向にx軸、上下方向にy軸をとり)上記の細線化処理や後述する各種の画像処理を行う。
【0037】
輪郭情報取得部306cは、マスク画像P2の被写体領域の輪郭線に係る輪郭情報を取得する。
具体的には、輪郭情報取得部306cは、画像取得部306aにより取得されたマスク画像P2の被写体領域の輪郭線を構成する各画素を特定して、当該各画素の座標に係る輪郭情報を取得する。
【0038】
骨格点設定部306dは、被写体切り抜き画像P1の被写体領域Ps内で骨格と関連付けられた骨格点Bを設定する。
即ち、骨格点設定部306dは、骨格情報取得部306bにより取得された骨格情報に基づいて、被写体切り抜き画像P1の被写体領域Ps内で骨格と関連付けられた骨格点Bを複数設定する。具体的には、骨格点設定部306dは、被写体の骨格線画像の形状やヒトの関節の位置等を考慮して、骨格線画像内でヒトの代表的な各部に相当する各位置に骨格点Bを複数特定する。そして、骨格点設定部306dは、特定された複数の骨格点B、…を被写体切り抜き画像P1及びマスク画像P2の対応する各位置に設定する。
例えば、骨格点設定部306dは、骨格線画像内で、ヒトの左右の肩の各々に相当する位置に左右の肩骨格点B1、B2、左右の肘の各々に相当する位置に左右の肘骨格点B3、B4、左右の手首の各々に相当する位置に左右の手首骨格点B5、B6、左右の手先の各々に相当する位置に左右の手先骨格点B7、B8、左右の股関節の各々に相当する位置に左右の股関節骨格点B9、B10、左右の膝の各々に相当する位置に左右の膝骨格点B11、B12、左右の足首の各々に相当する位置に左右の足首骨格点B13、B14、左右のつま先の各々に相当する位置に左右のつま先骨格点B15、B16、顎に相当する位置に顎骨格点B17、頭頂部に相当する位置に頭頂部骨格点B18等をそれぞれ特定する(図16(a)及び図16(b)参照)。そして、骨格点設定部306dは、設定された各骨格点Bの座標に基づいて、当該骨格点Bを被写体切り抜き画像P1及びマスク画像P2の対応する各位置(座標)に設定する。
なお、上記した各骨格点Bは、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【0039】
色特定部306eは、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を特定する。
即ち、色特定部306eは、特定手段として、骨格情報取得部306bにより取得された骨格情報に基づいて、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を特定する。具体的には、色特定部306eは、第1特定部e1、第2特定部e2及び第3特定部e3を具備し、これら第1〜第3特定部e1〜e3は、ヒトの代表的な各部位毎に被写体領域Psの輪郭部分の色情報を特定する。
【0040】
第1特定部e1は、被写体領域Psにおけるヒトの両腕及び両脚に相当する各部分の輪郭部分の色情報を特定する。
即ち、第1特定部e1は、骨格点設定部306dによりヒトの両腕や両脚に相当する部分に設定された複数(例えば、二つ)の骨格点B、Bを通る基準線分Lを基準として、当該両腕及び両脚に相当する部分の輪郭部分の色情報を特定する。具体的には、第1特定部e1は、被写体切り抜き画像P1及びマスク画像P2にて、被写体領域Psのヒトの両腕や両脚に相当する部分に係る複数の骨格点B、…を通る基準線分L(例えば、第1基準線分L1)を設定し、当該両腕や両脚に相当する部分における基準線分Lに対する直交方向の輪郭部分の色情報を特定する。
【0041】
具体的には、第1特定部e1は、例えば、腕描画処理の腕領域描画処理(後述)にて、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの右肩に相当する位置に設定されている右肩骨格点B2と右手首に相当する位置に設定されている右手首骨格点B6とを特定する。そして、第1特定部e1は、輪郭情報取得部306cにより取得された輪郭情報に基づいて、右肩骨格点B2から右手首骨格点B6を経て手先側に延在する直線と交わる輪郭線上の第1輪郭点C1を特定する。そして、第1特定部e1は、マスク画像P2にて、右肩骨格点B2と第1輪郭点C1とを結ぶ線分を第1基準線分L1として設定する。
なお、図17(b)にあっては、右手先骨格点B8と第1輪郭点C1が等しい位置となっているが、一例であってこれに限られるものではなく、互いに異なる位置であっても良い。
【0042】
第1特定部e1は、マスク画像P2の腕部画像P2a(図17(b)参照)における第1基準線分L1上を所定画素数(例えば、一画素)ずつ移動させながら、当該第1基準線分L1に対する直交方向(例えば、図17(b)における上下方向)に走査して、当該第1基準線分L1を直交方向に挟み、被写体領域Psの右腕に相当する部分の輪郭の各々と交わる二点を各走査毎に特定する。そして、第1特定部e1は、各走査毎に特定された右腕に相当する部分の輪郭の二点を基準として、被写体切り抜き画像P1における当該右腕に相当する部分の二つの輪郭部分の色情報を各走査毎に特定する。具体的には、第1特定部e1は、第1基準線分L1を構成する各画素について、先ず、当該第1基準線分L1に直交する二方向のうちの所定の一方向(例えば、図17(b)における上方向)に走査していく。そして、第1特定部e1は、被写体領域Psにおける右腕に相当する部分の一方向の輪郭線上に到達すると、マスク画像P2の腕部画像P2aにおける当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の腕部画像P1a(図17(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。同様に、第1特定部e1は、第1基準線分L1に直交する二方向のうちの他方向(例えば、図17(b)における下方向)についても、上記と略同様の処理を行って、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。
【0043】
その後、第1特定部e1は、第1基準線分L1における各走査位置にて、当該第1基準線分L1に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、所定の演算を行って当該走査位置における代表画素値(例えば、平均値)を算出する。
なお、第1特定部e1は、第1基準線分L1における各走査位置にて当該第1基準線分L1に直交する方向に並んだ全ての画素の画素値に基づいて、所定の演算を行って各走査位置における代表画素値(例えば、平均値)を算出しても良い。
【0044】
また、第1特定部e1は、被写体領域Psにおける左腕に相当する部分について、腕領域描画処理にて上記の各処理と略同様の処理を行う。
また、第1特定部e1は、被写体領域Psにおける両脚に相当する部分についても、脚領域描画処理(後述)にて上記の各処理と略同様の処理を行う。この場合、基準線分Lに対する直交方向は、例えば、図16(a)及び図16(b)における左右方向となる。
【0045】
また、第1特定部e1は、腕描画処理の手先領域描画処理(後述)にて、被写体領域Psにおけるヒトの手先及び足先に相当する部分に直角四辺形R1(図18(b)参照)を設定し、当該直角四辺形R1内に存する手先及び足先に相当する部分の輪郭部分の色情報を特定する。
具体的には、第1特定部e1は、被写体切り抜き画像P1及びマスク画像P2にて、骨格点設定部306dによりヒトの手先及び足先に相当する部分の各々の先端側に設定された一の骨格点Bと当該一の骨格点Bに隣接する他の骨格点Bとを通る基準線分L(例えば、第2基準線分L2)を設定し、当該基準線分Lに対して平行な2つの辺及び基準線分Lに対して直交する2つの辺を有し、ヒトの手先及び足先に相当する部分の各々を囲む直角四辺形R1を設定する。例えば、第1特定部e1は、手先領域描画処理の直角四辺形設定処理(後述)にて、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの右手首に相当する位置に設定されている右手首骨格点B6と右手先に相当する位置に設定されている右手先骨格点B8とを特定する。そして、第1特定部e1は、輪郭情報取得部306cにより取得された輪郭情報に基づいて、右手首骨格点B6から右手先骨格点B8を経て手先側に延在する直線と交わる輪郭線上の第2輪郭点C2を特定する。そして、第1特定部e1は、マスク画像P2にて右手首骨格点B6と第2輪郭点C2とを結ぶ線分を第2基準線分L2として設定する。また、第1特定部e1は、輪郭情報に基づいて、マスク画像P2の被写体領域の右手先に相当する部分の画像P2a1(図18(b)参照)の輪郭線上を走査して、第2基準線分L2に直交する直線と交わる輪郭線上の点であって、被写体領域Psの中央部(例えば、重心位置により近い骨格点B)から最も離れた位置に存する第1交点D1を特定する。さらに、第1特定部e1は、輪郭情報に基づいて、マスク画像P2の被写体領域の右手先に相当する部分の画像P2a1の輪郭線上を走査して、第2基準線分L2を挟む平行な二直線の各々と交わる輪郭線上の二点であって、当該第2基準線分L2に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する。そして、第1特定部e1は、マスク画像P2にて第1〜第3交点D1〜D3並びに右手首骨格点B6に接する直角四辺形R1を設定して、当該直角四辺形R1の第1〜第4頂点F1〜F4の各座標を取得する。
【0046】
また、第1特定部e1は、被写体切り抜き画像P1の被写体領域Psにおけるヒトの手先及び足先に相当する部分にて、直角四辺形R1の第2基準線分L2と平行な一の辺(例えば、第1頂点F1と第4頂点F4を結ぶ一の辺)を基準として当該第2基準線分L2に対する直交方向(例えば、図18(b)における上下方向)に走査して、当該直角四辺形R1内に存する被写体領域Psの色情報を各走査毎に取得する。そして、第1特定部e1は、各走査毎に取得された直角四辺形R1内に存する被写体領域Ps(ヒトの手先及び足先に相当する部分)の色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定する。
具体的には、第1特定部e1は、例えば、マスク画像P2の手先画像P2a1(図18(b)参照)における直角四辺形R1の第1頂点F1と第4頂点F4を結ぶ一の辺上を所定画素数(例えば、一画素)ずつ移動させながら、当該一の辺に対する直交方向(例えば、図18(b)における上下方向)に走査していく。そして、第1特定部e1は、被写体切り抜き画像P1の手先画像P1a1における当該直角四辺形R1内に存する被写体領域Ps(ヒトの手先及び足先に相当する部分)の各画素の画素値を各走査毎に取得する。そして、第1特定部e1は、各走査毎に、直角四辺形R1内に存する被写体領域Psであるヒトの手先に相当する部分の各画素の画素値を代表する代表値(例えば、平均値)を算出して、当該被写体領域Psの各走査に対応する輪郭部分の色情報としてそれぞれ特定する。
なお、図18(b)にあっては、右手先骨格点B8と第2輪郭点C2と第1交点D1が等しい位置となっているが、一例であってこれに限られるものではなく、互いに異なる位置であっても良いし、何れか二つが等しい位置であっても良い。
【0047】
また、第1特定部e1は、被写体領域Psにおける左腕に相当する部分について、手先領域描画処理にて上記の各処理と略同様の処理を行う。
また、第1特定部e1は、被写体領域Psにおける両脚に相当する部分についても、足先領域描画処理(後述)にて上記の各処理と略同様の処理を行う。この場合、基準線分Lに対する直交方向は、例えば、図16(a)及び図16(b)における左右方向となる。
【0048】
第2特定部e2は、被写体領域Psにおけるヒトの胴体に相当する部分の輪郭部分の色情報を特定する。
即ち、第2特定部e2は、骨格点設定部306dによりヒトの胴体に相当する部分に設定された一の骨格点Bを通る基準線分Lを基準として、当該胴体に相当する部分の輪郭部分の色情報を特定する。具体的には、第2特定部e2は、被写体切り抜き画像P1及びマスク画像P2にて、ヒトの胴体に相当する部分に設定された一の骨格点Bを通り、脊椎にほぼ沿って延在する基準線分L(例えば、第3基準線分L3)の少なくとも一の端部側を当該基準線分Lの延在方向に所定の割合(例えば、1割)延長した延長線分L3aを設定する。
例えば、第2特定部e2は、胴体描画処理(後述)にて、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの顎に相当する位置に設定されている顎骨格点B17と左右の股関節に相当する位置に設定されている左右の股関節骨格点B9、B10を特定する。そして、第2特定部e2は、左右の股関節骨格点B9、B10の中点Bmを特定した後、マスク画像P2にて、当該中点Bmと顎骨格点B17とを結ぶ第3基準線分L3の両端部側を当該基準線分Lの延在方向に1割ずつ延長した延長線分L3aを設定する。
【0049】
そして、第2特定部e2は、延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、被写体領域Psのヒトの胴体に相当する部分の色情報を各走査毎に取得し、各走査毎に取得されたヒトの胴体に相当する部分の色情報に基づいて、被写体領域Psのヒトの胴体に相当する部分の各走査に対応する輪郭部分の色情報をそれぞれ特定する。このとき、第2特定部e2は、延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、延長線分L3aを直交方向に挟み、被写体領域Psのヒトの胴体に相当する部分の輪郭の各々と交わる二点、或いは、被写体領域Psの胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定する。そして、第2特定部e2は、各走査毎に特定された二点を基準として、被写体領域Psのヒトの胴体に相当する部分における二つの輪郭部分の色情報を各走査毎に取得する。
ここで、第2特定部e2による被写体領域Psのヒトの胴体に相当する部分に対する各処理は、裏面画像生成部306fによる裏面画像P3の被写体対応領域Paにおける両腕及び両脚に相当する部分の描画の後に行われる。
即ち、第1特定部e1による被写体領域Psのヒトの両腕及び両脚に相当する部分の輪郭部分の色情報の特定及び裏面画像生成部306fによる当該両腕及び両脚に相当する部分の描画が行われた後、第2特定部e2による被写体領域Psのヒトの胴体に相当する部分の輪郭部分の色情報の特定及び裏面画像生成部306fによる当該胴体に相当する部分の描画が行われた後、第3特定部e3による被写体領域Psのヒトの頭に相当する部分の輪郭部分の色情報の特定及び裏面画像生成部306fによる当該頭に相当する部分の描画が行われる。
【0050】
第2特定部e2は、マスク画像P2の胴体画像P2bにおける延長線分L3a上を所定画素数(例えば、一画素)ずつ移動させながら、当該延長線分L3aに対する直交方向(例えば、図19(b)における左右方向)に走査して、当該延長線分L3aを直交方向に挟み、被写体領域Psのヒトの胴体に相当する部分の輪郭の各々と交わる二点、或いは、被写体領域Psの胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定する。そして、第2特定部e2は、各走査毎に特定された胴体に相当する部分の輪郭の二点、或いは、両腕及び両脚の各々と交わる二点を基準として、被写体切り抜き画像P1における当該胴体に相当する部分の二つの輪郭部分の色情報を各走査毎に特定する。具体的には、第2特定部e2は、延長線分L3aを構成する各画素について、先ず、当該延長線分L3aに直交する二方向のうちの所定の一方向(例えば、図19(b)における左方向)に走査していく。そして、第2特定部e2は、被写体領域Psにおける胴体に相当する部分の一方向の輪郭線上に到達するか、或いは、両腕や両脚の描画済領域Aに到達すると、マスク画像P2の胴体画像P2bにおける当該輪郭線上や描画済領域Aの所定画素手前の画素の座標を取得する。そして、第2特定部e2は、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、輪郭線上や描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。同様に、第2特定部e2は、延長線分L3aに直交する二方向のうちの他方向(例えば、図19(b)における右方向)についても、上記と略同様の処理を行って、輪郭線上や描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。
【0051】
その後、第2特定部e2は、延長線分L3aにおける各走査位置にて、当該延長線分L3aに直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、所定の演算を行って当該走査位置における代表画素値(例えば、平均値)を算出する。
なお、第2特定部e2は、延長線分L3aにおける各走査位置にて当該延長線分L3aに直交する方向に並んだ全ての画素の画素値に基づいて、所定の演算を行って各走査位置における代表画素値(例えば、平均値)を算出しても良い。
【0052】
第3特定部e3は、被写体領域Psにおけるヒトの頭に相当する部分の輪郭部分の色情報を特定する。
即ち、第3特定部e3は、骨格点設定部306dによりヒトの頭に相当する部分に設定された複数(例えば、二つ)の骨格点Bを通る基準線分Lを基準として、当該頭に相当する部分の輪郭部分の色情報を特定する。具体的には、第3特定部e3は、被写体切り抜き画像P1及びマスク画像P2にて、被写体領域Psのヒトの頭に相当する部分に係る複数の骨格点B、…を通る基準線分L(例えば、第4基準線分L4)を設定し、当該頭に相当する部分における基準線分Lに対する直交方向及び平行方向の各輪郭部分の色情報を特定する。つまり、第3特定部e3は、頭描画処理の第1描画処理(後述)にて、被写体領域Psのヒトの頭に相当する部分の先端側に設定された一の骨格点Bと当該一の骨格点Bに隣接する他の骨格点Bとを通る基準線分Lに対する直交方向の輪郭部分の色情報を特定した後、第2描画処理にて、基準線分Lに対する平行方向の輪郭部分の色情報を特定する。
【0053】
具体的には、第1描画処理にて、第3特定部e3は、基準線分Lを基準として当該基準線分Lに対する直交方向に走査して、被写体領域Psのヒトの頭に相当する部分の色情報を各走査毎に取得し、各走査毎に取得された被写体領域Psのヒトの頭に相当する部分の色情報に基づいて、被写体領域Psのヒトの頭に相当する部分の各走査に対応する輪郭部分の色情報をそれぞれ特定する。
例えば、第3特定部e3は、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの顎に相当する位置に設定されている顎骨格点B17と頭頂部に相当する位置に設定されている頭頂部骨格点B18とを特定する。そして、第3特定部e3は、マスク画像P2にて、顎骨格点B17と頭頂部骨格点B18とを結ぶ線分を第4基準線分L4として設定する。
第3特定部e3は、マスク画像P2における第4基準線分L4上を所定画素数(例えば、一画素)ずつ移動させながら、当該第4基準線分L4に対する直交方向(例えば、図20(b)における左右方向)に走査して、当該第4基準線分L4を直交方向に挟み、被写体領域Psの頭に相当する部分の輪郭の各々と交わる二点を各走査毎に特定する。そして、第3特定部e3は、各走査毎に特定された頭に相当する部分の輪郭の二点を基準として、被写体切り抜き画像P1における当該頭に相当する部分の二つの輪郭部分の色情報を各走査毎に特定する。具体的には、第3特定部e3は、第4基準線分L4を構成する各画素について、先ず、当該第4基準線分L4に直交する二方向のうちの所定の一方向(例えば、図20(b)における左方向)に走査していく。そして、第3特定部e3は、被写体領域Psにおける頭に相当する部分の一方向の輪郭線上に到達すると、マスク画像P2の頭部画像P2cにおける当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。同様に、第3特定部e3は、第4基準線分L4に直交する二方向のうちの他方向(例えば、図20(b)における右方向)についても、上記と略同様の処理を行って、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。
【0054】
その後、第3特定部e3は、第4基準線分L4における各走査位置にて、当該第4基準線分L4に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、所定の演算を行って当該走査位置における代表画素値(例えば、平均値)を算出する。
なお、第3特定部e3は、第4基準線分L4における各走査位置にて当該第4基準線分L4に直交する方向に並んだ全ての画素の画素値に基づいて、所定の演算を行って各走査位置における代表画素値(例えば、平均値)を算出しても良い。
【0055】
また、第2描画処理にて、第3特定部e3は、被写体領域Psにおけるヒトの頭に相当する部分に直角四辺形R2(図20(b)参照)を設定し、当該直角四辺形R2内に存する頭に相当する部分の輪郭部分の色情報を特定する。具体的には、第3特定部e3は、被写体切り抜き画像P1及びマスク画像P2にて、基準線分L(例えば、第4基準線分L4)に対して平行な2つの辺及び基準線分Lに対して直交する2つの辺を有し、ヒトの頭に相当する部分を囲む直角四辺形R2を設定する。
例えば、第3特定部e3は、第2描画処理の直角四辺形設定処理(後述)にて、輪郭情報取得部306cにより取得された輪郭情報に基づいて、マスク画像P2の被写体領域の頭に相当する部分の画像P2cの輪郭線上を走査して、第4基準線分L4を挟む平行な二直線の各々と交わる輪郭線上の二点であって、当該第4基準線分L4に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する。そして、第3特定部e3は、マスク画像P2にて顎骨格点B17及び頭頂部骨格点B18並びに第2及び第3交点D2、D3に接する直角四辺形R2を設定して、当該直角四辺形R2の第1〜第4頂点F1〜F4の各座標を取得する。
【0056】
また、第3特定部e3は、被写体切り抜き画像P1の被写体領域Psにおけるヒトの頭に相当する部分にて、直角四辺形R1の第4基準線分L4に直交する一の辺(例えば、第1頂点F1と第2頂点F2を結ぶ一の辺)を基準として当該第4基準線分L4に対する平行方向(例えば、図20(b)における下方向)に走査して、当該直角四辺形R2内に存する被写体領域Psの色情報を各走査毎に取得する。そして、第3特定部e3は、各走査毎に取得された直角四辺形R2内に存する被写体領域Ps(ヒトの頭に相当する部分)の色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定する。
具体的には、第3特定部e3は、例えば、マスク画像P2の頭部画像P2c(図20(b)参照)における直角四辺形R2の頭頂部側の第1頂点F1と第2頂点F2を結ぶ一の辺上を所定画素数(例えば、一画素)ずつ移動させながら、当該一の辺に対する直交方向(例えば、図20(b)における下方向)に走査していく。そして、第3特定部e3は、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)における当該直角四辺形R2内に存する被写体領域(ヒトの頭に相当する部分)Psの輪郭線上に到達すると、マスク画像P2における当該輪郭線上の点の座標を取得する。その後、第3特定部e3は、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する走査方向(例えば、図20(b)における下方向)に所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出して、当該走査に対応する輪郭部分の色情報として特定する。
【0057】
裏面画像生成部306fは、被写体の裏側を擬似的に表す裏面画像P3を生成する。
即ち、裏面画像生成部306fは、生成手段として、色特定部306eにより特定された被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して当該裏面画像P3を生成する。具体的には、裏面画像生成部306fは、裏面画像P3の被写体対応領域Paを当該被写体の基準線分Lが含まれる部位、即ち、ヒトの代表的な各部位(例えば、両腕部、両脚部、胴体、頭等)毎にそれぞれ描画して、裏面画像P3を生成する。
【0058】
また、裏面画像生成部306fは、腕描画処理の腕領域描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Ps(図16(b)中、白で表す領域)に対応する被写体対応領域Paの中で、各腕に相当する部分P3a(図17(c)参照)を、基準線分L(例えば、第1基準線分L1)に直交する各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。その後、裏面画像生成部306fは、色特定部306eの第1特定部e1により特定された直角四辺形R1内に存する被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの手先及び足先に相当する部分P3a1(図18(c)参照)を各走査毎にそれぞれ描画する。具体的には、腕描画処理の手先領域描画処理にて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、直角四辺形R1内に存するヒトの手先に相当する部分P3a1を、第2基準線分L2に対する直交方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
なお、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、両脚に相当する部分についても、脚描画処理(後述)にて上記の各処理と略同様の処理を行う。この場合、基準線分Lに対する直交方向は、例えば、図16(a)及び図16(b)における左右方向となる。
【0059】
また、裏面画像生成部306fは、色特定部306eの第2特定部e2により特定された被写体領域Psにおけるヒトの胴体に相当する部分の各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの胴体に相当する部分Psb(図19(c)参照)を各走査毎にそれぞれ描画する。具体的には、裏面画像生成部306fは、胴体描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Psに対応する被写体対応領域Paの中で、胴体に相当する部分P3bを、延長線分L3aに対する直交方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
【0060】
また、裏面画像生成部306fは、色特定部306eの第3特定部e3により特定された被写体領域Psのヒトの頭に相当する部分の基準線分L(例えば、第4基準線分L4)に対する直交方向の輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3c(図20(c)参照)を直交方向に描画する。その後、裏面画像生成部306fは、第3特定部e3により特定された直角四辺形R2内に存する被写体領域Psの基準線分Lに対する平行方向の各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cを平行方向に描画する。
具体的には、裏面画像生成部306fは、頭描画処理の第1描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Psに対応する被写体対応領域Paの中で、頭に相当する部分P3cを、第4基準線分L4に対する直交方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
【0061】
その後、裏面画像生成部306fは、頭描画処理の第2描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Psに対応する被写体対応領域Paの中で、直角四辺形R2内に存する頭に相当する部分を、第4基準線分L4に対する平行方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
このとき、裏面画像生成部306fは、直角四辺形R2内に存する頭に相当する部分の基準線分Lに対する平行方向の長さ、及び、直角四辺形R2の基準線分Lと平行な一の辺の長さのうちの少なくとも一の長さを基準として、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cの所定位置まで平行方向に描画する。即ち、直角四辺形R2内に存する頭に相当する部分の各走査に係る第4基準線分L4に対する平行方向の長さが、第4基準線分L4の長さに基づいて顎側に設定された境界線Q(図20(b)参照)に到達するか否かに応じて、裏面画像生成部306fは、直角四辺形R2内に存する頭に相当する部分の描画領域を変更する。
例えば、直角四辺形R2内に存する頭に相当する部分における一の走査に係る平行方向の長さが境界線Qに到達しない場合(例えば、図20(b)における左右方向端部側の一の走査に対応)、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域のうち、頭頂部側の輪郭の位置から当該領域の長さの所定割合となる位置までを代表画素値で描画する。また、直角四辺形R2内に存する頭に相当する部分における一の走査に係る平行方向の長さが境界線Qに到達した場合(例えば、図20(b)における左右方向中央部側の一の走査に対応)、裏面画像生成部306fは、第1頂点F1と第2頂点F2とを結ぶ一の辺から頭頂部側の輪郭までの背景部分の長さT(図20(b)参照)を算出した後、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域の長さから背景部分の長さTを減じた顎側位置を特定し、当該走査方向に沿った領域のうちの頭頂部側の輪郭の位置から顎側位置までを代表画素値で描画する。
【0062】
制御点設定部306gは、処理対象となる被写体切り抜き画像P1の被写体画像内で動き制御点を複数設定する。
即ち、制御点設定部306gは、画像取得部306aにより取得された被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する。具体的には、制御点設定部306gは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。また、制御点設定部306gは、被写体切り抜き画像P1の被写体画像内で制御点をそれぞれ設定することで、当該被写体切り抜き画像P1に対応する裏面画像P3内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定する。
このとき、動体モデルと被写体画像について、例えば、顔などの主要部の大きさを合わせるように寸法の調整(例えば、動体モデルの拡大や縮小、変形等)を行うようにしても良い。また、例えば、動体モデルと被写体画像を重ね合わせて被写体画像における複数の可動点の各々が対応する位置を特定しても良い。
さらに、制御点設定部306gは、動き情報305aに規定されている複数の可動点の全てについて、対応する動き制御点を設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の可動点に対応する動き制御点のみ設定しても良い。
【0063】
なお、制御点設定部306gは、被写体切り抜き画像P1の被写体画像内で、記憶部305から読み出された動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々が対応する位置を自動的に特定しても良い。例えば、制御点設定部306gは、被写体の骨格の形状や関節の位置等を考慮して複数の可動点の各々が対応する位置を特定する。そして、制御点設定部306gは、特定された複数の可動点の各々が対応する位置に動き制御点をそれぞれ設定する。
また、制御点設定部306gによる動き制御点の設定が自動的に行われた場合であっても、ユーザによる操作入力部の所定操作に基づいて動き制御点の設定位置の修正(変更)を受け付けるようにしても良い。
【0064】
フレーム生成部306hは、動画像を構成する複数のフレーム画像を逐次生成する。
即ち、フレーム生成部306hは、動画処理部306により指定された動き情報305aの複数の可動点の動きに追従させるように、被写体切り抜き画像P1の被写体画像内に設定されている複数の動き制御点を移動させて複数のフレーム画像を逐次生成する。具体的には、フレーム生成部306hは、例えば、動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報を逐次取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306hは、算出された座標に動き制御点を逐次移動させていくとともに、少なくとも一の動き制御点を基準として被写体画像内に設定される所定の画像領域(例えば、三角形や矩形のメッシュ状の領域)を移動させたり変形させることで、基準フレーム画像(図示略)を生成する。
なお、動き制御点を基準とした所定の画像領域を移動させたり変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0065】
また、フレーム生成部306hは、移動後の可動点の各々に対応する複数の動き制御点に基づいて生成される時間軸に沿って隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像(図示略)を生成する。即ち、フレーム生成部306hは、動画再生部306iにより複数のフレーム画像が所定の再生フレームレート(例えば、30fps等)で再生されるように、二つの基準フレーム画像どうしの間を補間する補間フレーム画像を所定数生成する。
具体的には、フレーム生成部306hは、隣合う二つの基準フレーム画像間における、動画再生部306iにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部306hは、MIDI規格の演奏情報305bに基づいてテンポの設定情報及び四分音符の分解能(Tickカウント数)を取得して、動画再生部306iにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部306hは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング(例えば、各小節の一拍目等)に同期させた隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部306hは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの基準フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0066】
また、フレーム生成部306hによる基準フレーム画像や補間フレーム画像の生成は、被写体切り抜き画像P1の画像データ及びアルファマップ等の位置情報の両方について行われる。
【0067】
動画再生部306iは、フレーム生成部306hにより生成された複数のフレーム画像の各々を再生する。
即ち、動画再生部306iは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された演奏情報305bに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部306iは、所定の曲の演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング(例えば、各小節の1拍目や各拍等)に同期させるように隣合う二つの基準フレーム画像を再生するとともに、隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部306iは、動画処理部306により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部306iは、隣合う二つの基準フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
【0068】
次に、ユーザ端末2及びサーバ3を用いた動画生成処理について、図4〜図21を参照して説明する。
ここで、図4及び図5は、動画生成処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像P1(図16(a)参照)の画像データがサーバ3の記憶部305に記憶されているものとする。
【0069】
図4に示すように、ユーザ端末2の中央制御部201のCPUは、ユーザによる操作入力部202の所定操作に基づいて、サーバ3により開設される動画生成用ページのアクセス指示が入力されると、当該アクセス指示を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS1)。
サーバ3の通信制御部303によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、動画生成用ページのページデータを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部206によって、動画生成用ページのページデータが受信されると、表示部203は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面(図示略)を表示する。
【0070】
次に、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、動画生成用ページの画面内にて操作された各種ボタンに対応する指示信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS3)。
図6に示すように、サーバ3の中央制御部301のCPUは、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。具体的には、中央制御部301のCPUは、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、処理をステップS51に移行させ、また、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、処理をステップS61に移行させ、また、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、処理をステップS71に移行させる。
【0071】
<被写体画像の指定>
ステップS4にて、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、動画処理部306の画像取得部306aは、記憶部305に記憶されている被写体切り抜き画像P1の画像データの中からユーザにより指定された被写体切り抜き画像P1の画像データを読み出して取得する(ステップS51)。
次に、制御点設定部306gは、取得された被写体切り抜き画像P1の被写体画像内で動き制御点が既に設定されているか否かを判定する(ステップS52)。
【0072】
ステップS52にて、制御点設定部306gにより動き制御点が設定されていないと判定されると(ステップS52;NO)、動画処理部306は、被写体切り抜き画像P1の画像データに基づいて、被写体画像の所定位置(例えば、中心位置等)を基準として当該被写体切り抜き画像P1のトリミングすることで被写体画像と動きモデル(例えば、動物)の大きさが等しくなるように補正する(ステップS53)。
なお、被写体切り抜き画像P1のトリミングは、当該被写体切り抜き画像P1の画像データと対応付けられている、例えば、アルファマップやマスク画像P2等の位置情報についても行われる。
その後、動画処理部306は、トリミング後の画像の被写体画像の裏側を擬似的に表す裏面画像P3(図21(a)参照)を生成する裏面画像生成処理を行う(ステップS54;図6参照)。
なお、裏面画像生成処理については後述する。
【0073】
図6に戻り、次に、中央制御部301のCPUは、生成された裏面画像P3と対応づけられた被写体切り抜き画像P1の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS55)。その後、制御点設定部306gは、被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する(ステップS56)。
具体的には、制御点設定部306gは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。
そして、動画再生部306iは、当該被写体画像に対して設定された複数の動き制御点、並びに被写体画像の合成位置やサイズ等の合成内容を所定の格納手段(例えば、所定のメモリ等)に登録する(ステップS57)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0074】
なお、ステップS52にて、既に動き制御点が設定されていると判定されると(ステップS52;YES)、中央制御部301のCPUは、ステップS53〜S57の処理をスキップして、処理をステップS8に移行させる。
【0075】
<背景画像の指定>
ステップS4にて、ユーザ端末2からの指示が、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、動画処理部306の動画再生部306iは、ユーザによる操作入力部202の所定操作に基づいて所望の背景画像(他の画像)の画像データを読み出して(ステップS61)、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する(ステップS62)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画再生部306iは、当該指定指示に係る背景画像の画像データを記憶部305から読み出して取得した後(ステップS61)、当該背景画像の画像データを動画像の背景として登録する(ステップS62)。
【0076】
次に、中央制御部301のCPUは、背景画像の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS63)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0077】
<動き及び曲の指定>
ステップS4にて、ユーザ端末2からの指示が、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて動き情報305aや動きの速さを設定する(ステップS71)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の動きモデルのモデル名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一のモデル名(例えば、フラダンス等)の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、記憶部305に記憶されている複数の動き情報305a、…の中で、当該指定指示に係る動きモデルのモデル名と対応付けられている動き情報305aを設定する。なお、動画処理部306は、複数の動き情報305a、…の中で、例えば、デフォルトとして設定されている動き情報305aやユーザにより前回指定された動き情報305aを自動的に指定するようにしても良い。
また、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の動きの速さ(例えば、1/2倍、標準(等倍)、2倍等)の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の速さ(例えば、標準等)の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る速さを被写体画像の動きの速さとして設定する。
その後、動画処理部306の動画再生部306iは、設定された動き情報305aや動きの速さを動画像の動きの内容として所定の格納手段に登録する(ステップS72)。
【0078】
次に、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて自動的に演奏される曲を設定する(ステップS73)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0079】
ステップS8では、中央制御部301のCPUは、動画像の生成が可能な状態であるか否かを判定する(ステップS8)。即ち、ユーザによる操作入力部202の所定操作に基づいて、サーバ3の動画処理部306は、被写体画像に対する動き制御点の登録、被写体画像の動きの内容の登録、背景画像の登録等を行うことで、動画像の生成準備が整って動画像を生成可能か否か判定する。
ここで、動画像の生成が可能な状態でないと判定されると(ステップS8;NO)、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
一方、動画像の生成が可能な状態であると判定されると(ステップS8;YES)、図4に示すように、中央制御部301のCPUは、処理をステップS10に移行させる。
【0080】
ステップS10では、サーバ3の中央制御部301のCPUは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて動画像のプレビュー指示が入力されたか否かを判定する(ステップS10)。
即ち、ステップS9にて、ユーザ端末2の中央制御部201が、ユーザによる操作入力部202の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS9)。
そして、ステップS10にて、サーバ3の中央制御部301のCPUによって、動画像のプレビュー指示が入力されたと判定されると(ステップS10;YES)、動画処理部306の動画再生部306iは、設定済みの曲名に対応する演奏情報305bを動画像とともに自動的に演奏される情報として所定の格納手段に登録する(ステップS11)。
【0081】
次に、動画処理部306は、格納手段に登録されている演奏情報305bに基づいて動画再生部306iによる所定の曲の演奏を開始させるとともに、動画像を構成する複数のフレーム画像のフレーム生成部306hによる生成を開始させる(ステップS12)。
続けて、動画処理部306は、動画再生部306iによる所定の曲の演奏が終了したか否かを判定する(ステップS13)。
ここで、曲の演奏が終了していないと判定されると(ステップS13;NO)、動画処理部306のフレーム生成部306hは、動き情報305aに応じて変形させた被写体画像の基準フレーム画像を生成する(ステップS14)。具体的には、フレーム生成部306hは、格納手段に登録されている動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報をそれぞれ取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306hは、算出された座標に動き制御点を逐次移動させていくとともに、動き制御点の移動に応じて被写体画像内に設定される所定の画像領域を移動させたり変形させることで、基準フレーム画像を生成する。
また、動画処理部306は、基準フレーム画像と背景画像とを公知の画像合成手法を用いて合成する。具体的には、動画処理部306は、例えば、背景画像の各画素のうち、アルファ値が「0」の画素は透過させ、アルファ値が「1」の画素は基準フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「0<α<1」の画素は1の補数(1−α)を用いて基準フレーム画像の被写体領域Psを切り抜いた画像(背景画像×(1−α))を生成した後、アルファマップにおける1の補数(1−α)を用いて基準フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を基準フレーム画像から減算し、それを被写体領域Psを切り抜いた画像(背景画像×(1−α))と合成する。
【0082】
続けて、フレーム生成部306hは、動画再生部306iにより演奏される所定の曲の演奏の進行度合に応じて、隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像を生成する(ステップS15)。具体的には、フレーム生成部306hは、隣合う二つの基準フレーム画像間における、動画再生部306iにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。
また、動画処理部306は、補間フレーム画像と背景画像とを、上記基準フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する。
【0083】
次に、中央制御部301のCPUは、動画再生部306iにより自動的に演奏される曲の演奏情報305bとともに、当該曲の所定のタイミングで再生される基準フレーム画像及び補間フレーム画像からなるプレビュー動画のデータを、通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS16)。ここで、プレビュー動画のデータは、所定数の基準フレーム画像及び補間フレーム画像からなる複数のフレーム画像とユーザ所望の背景画像とが合成された動画像を構成している。
次に、動画処理部306は、処理をステップS18に戻し、曲の演奏が終了したか否かを判定する(ステップS13)。
上記の処理は、ステップS13にて、曲の演奏が終了したと判定されるまで(ステップS13;YES)、繰り返し実行される。
そして、曲の演奏が終了したと判定されると(ステップS13;YES)、図5に示すように、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
【0084】
ステップS16にて、サーバ3から送信されたプレビュー動画のデータがユーザ端末2の通信制御部303によって受信されると、中央制御部201のCPUは、音出力部204及び表示部203を制御してプレビュー動画を再生させる(ステップS17)。
具体的には、音出力部204は、演奏情報305bに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部203は、当該自動的に演奏される曲の所定のタイミングで基準フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
【0085】
なお、上記の動画生成処理にあっては、プレビュー動画を再生するようにしたが、一例であってこれに限られるものではなく、例えば、逐次生成された基準フレーム画像や補間フレーム画像や背景画像の画像データ並びに演奏情報305bを一つのファイルとして所定の記憶手段に記憶していき、動画像に係る全てのデータの生成完了後に、当該ファイルをサーバ3からユーザ端末2に送信して当該ユーザ端末2にて再生させるようにしても良い。
【0086】
<裏面画像生成処理>
以下に、動画処理部306による裏面画像生成処理について、図6〜図15を参照して詳細に説明する。
図6は、動作生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。
【0087】
図6に示すように、先ず、動画処理部306の画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像P1の画像データと対応付けられているマスク画像P2の画像データを取得した後、骨格情報取得部306bは、当該画像データから骨格情報を生成して取得する(ステップA1)。
具体的には、骨格情報取得部306bは、画像取得部306aにより取得された、被写体切り抜き画像P1内で被写体領域Psの位置を示すマスク画像P2の画像データに対して、例えば、一画素からなる線画像を生成する細線化処理を施して骨格線画像(図示略)を生成し、当該骨格線画像を骨格情報として取得する。
【0088】
次に、輪郭情報取得部306cは、画像取得部306aにより取得されたマスク画像P2の画像データに基づいて、当該マスク画像P2の被写体領域の輪郭線を構成する各画素を特定して、当該各画素の座標に係る輪郭情報を取得する(ステップA2)。
【0089】
続けて、骨格点設定部306dは、被写体の骨格線画像の形状やヒトの関節の位置等を考慮して、骨格線画像内でヒトの代表的な各部に相当する各位置に骨格点Bを複数特定した後、当該複数の骨格点B、…を被写体切り抜き画像P1及びマスク画像P2の対応する各位置に設定する(ステップA3)。例えば、骨格点設定部306dは、骨格線画像内で、左右の肩骨格点B1、B2、左右の肘骨格点B3、B4、左右の手首骨格点B5、B6、左右の手先骨格点B7、B8、左右の股関節骨格点B9、B10、左右の膝骨格点B11、B12、左右の足首骨格点B13、B14、左右のつま先骨格点B15、B16、顎骨格点B17、頭頂部骨格点B18等をそれぞれ特定して(図16(a)及び図16(b)参照)、当該骨格点Bを被写体切り抜き画像P1及びマスク画像P2の対応する各位置(座標)に設定する。
【0090】
次に、動画処理部306は、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Ps(図16(b)中、白で表す領域)に対応する被写体対応領域Paの中で、左右の腕に相当する部分P3a(図17(c)参照)を描画する腕描画処理(図7参照)を行う(ステップA4)。
なお、腕描画処理について後述する。
【0091】
続けて、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、左右の脚に相当する部分を描画する脚描画処理(図11参照)を行う(ステップA5)。
なお、脚描画処理について後述する。
【0092】
次に、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、胴体に相当する部分P3b(図19(c)参照)を描画する胴体描画処理(図12参照)を行う(ステップA6)。
なお、胴体描画処理について後述する。
【0093】
続けて、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、頭に相当する部分P3c(図20(c)参照)を描画する頭描画処理(図13参照)を行う(ステップA7)。
なお、頭描画処理について後述する。
【0094】
その後、動画処理部306は、頭描画処理後のマスク画像P2、即ち、裏面画像P3(図21(a)参照)に対する後処理を施して(ステップA8)、当該裏面画像生成処理を終了する。
ここで、裏面画像P3に対する後処理とは、当該裏面画像P3における線状に描画された模様を目立たなくする処理であり、例えば、当該裏面画像P3の画像データに対してバイラテラルフィルタを適用する処理が挙げられる。これにより、裏面画像P3の色情報が近い領域は周囲の画素値でならされ、色情報の異なる領域同士の画素値は保たれるため、当該後処理後の裏面画像P3d(図21(b)参照)を色のグラデーションがより自然で、視認者に違和感を生じさせ難い表現態様とすることができる。
【0095】
<腕描画処理>
以下に、腕描画処理について、図7〜図10を参照して詳細に説明する。
図7は、裏面画像生成処理における腕描画処理に係る動作の一例を示すフローチャートである。
【0096】
図7に示すように、先ず、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの左右の腕に相当する部分P3aのうち、腕本体の領域を描画する腕領域描画処理(図8参照)を行った後(ステップA41)、手先側の領域を描画する手先領域描画処理(図9参照)を行う(ステップA42)。
【0097】
<腕領域描画処理>
以下に、腕領域描画処理について、図8を参照して詳細に説明する。
図8は、腕領域描画処理に係る動作の一例を示すフローチャートである。
ここで、腕領域描画処理は、左右の腕の各々について個別に行われる処理である。以下の説明では、右腕を例示して説明するが、当該右腕に係る処理後に左腕についても同様の処理が行われるようになっている。
【0098】
図8に示すように、色特定部306eの第1特定部e1は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された右肩骨格点B2と右手首骨格点B6とを特定する(ステップA101)。
次に、第1特定部e1は、右肩骨格点B2から右手首骨格点B6を経て手先側に延在する直線を特定した後、輪郭情報取得部306cにより取得された輪郭情報に基づいて、当該直線と交わる輪郭線上の第1輪郭点C1を特定する(ステップA102)。そして、第1特定部e1は、マスク画像P2にて、右肩骨格点B2と第1輪郭点C1とを結ぶ線分を第1基準線分L1として設定する(ステップA103)。
【0099】
続けて、第1特定部e1は、マスク画像P2における第1基準線分L1上の第1輪郭点C1の位置(座標)を指定した後(ステップA104)、当該第1基準線分L1に直交する二方向のうちの所定の一方向(例えば、図17(b)における上方向)に一画素ずつ走査していく(ステップA105)。
そして、第1特定部e1は、走査位置が被写体領域Psにおける右腕に相当する部分の一方向の輪郭線上に到達したか否かを判定する(ステップA106)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA106;YES)、第1特定部e1は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の腕部画像P1a(図17(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA107)。
【0100】
次に、第1特定部e1は、第1基準線分L1に直交する二方向のうちの他方向(例えば、図17(b)における下方向)に一画素ずつ走査していく(ステップA108)。
そして、第1特定部e1は、走査位置が被写体領域Psにおける右腕に相当する部分の他方向の輪郭線上に到達したか否かを判定する(ステップA109)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA109;YES)、第1特定部e1は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の腕部画像P1a(図17(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA110)。
【0101】
次に、第1特定部e1は、第1基準線分L1に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、第1基準線分L1の当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA111)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの右腕に相当する部分P3aのうち、第1基準線分L1の当該走査方向に沿った所定数の画素からなる領域を、第1特定部e1により算出された代表画素値で描画する(ステップA112)。
【0102】
次に、第1特定部e1は、第1基準線分L1に直交する二方向の各々の方向について、今回の走査方向に沿った所定数の画素からなる領域の長さと前回の走査方向に沿った所定数の画素からなる領域の長さとの差分が所定値を超えたか否かを判定する(ステップA113)。
具体的には、第1特定部e1は、今回の走査方向に沿った所定数の画素からなる領域が、前回の走査方向に沿った所定数の画素からなる領域の長さの所定割合の長さよりも長いか否かに応じて、差分が所定値を超えたか否かを判定する。
【0103】
ステップA113にて、差分が所定値を超えていないと判定されると(ステップA113;NO)、第1特定部e1は、第1基準線分L1上の走査位置が右肩骨格点B2に到達したか否かを判定する(ステップA114)。
ここで、走査位置が右肩骨格点B2に到達していないと判定されると(ステップA114;NO)、第1特定部e1は、第1基準線分L1上の走査位置を右肩骨格点B2側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA115)、処理をステップA105に移行させる。
その後、動画処理部306は、ステップA105以降の処理を、ステップA114にて走査位置が右肩骨格点B2に到達したと判定(ステップA114;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの右腕の腕本体に相当する部分が第1基準線分L1を基準とする各走査毎に描画される。
【0104】
そして、ステップA114にて、第1基準線分L1上の走査位置が右肩骨格点B2に到達したと判定されると(ステップA114;YES)、動画処理部306は、当該腕領域描画処理を終了する。
また、ステップA113にて、差分が所定値を超えたと判定された場合にも(ステップA113;YES)、動画処理部306は、当該腕領域描画処理を終了する。
【0105】
<手先領域描画処理>
以下に、手先領域描画処理について、図9及び図10を参照して詳細に説明する。
図9は、手先領域描画処理に係る動作の一例を示すフローチャートである。また、図10は、手先領域描画処理における直角四辺形設定処理係る動作の一例を示すフローチャートである。
ここで、手先領域描画処理は、左右の手の各々について個別に行われる処理である。以下の説明では、右手を例示して説明するが、当該右手に係る処理後に左手についても同様の処理が行われるようになっている。
【0106】
図9に示すように、色特定部306eの第1特定部e1は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された右手首骨格点B6と右手先骨格点B8とを特定する(ステップA201)。
次に、第1特定部e1は、被写体切り抜き画像P1及びマスク画像P2にて、ヒトの手先に相当する部分(例えば、マスク画像P2におけるP2a1等)の各々を囲む直角四辺形R1を設定する直角四辺形設定処理(図10参照)を行う(ステップA202)。
【0107】
ここで、直角四辺形設定処理について、図10を参照して詳細に説明する。
図10に示すように、第1特定部e1は、右手首骨格点B6から右手先骨格点B8を経て手先側に延在する直線を特定した後、輪郭情報取得部306cにより取得された輪郭情報に基づいて、当該直線と交わる輪郭線上の第2輪郭点C2を特定する(ステップA301)。そして、第1特定部e1は、マスク画像P2にて右手首骨格点B6と第2輪郭点C2とを結ぶ線分を第2基準線分L2として設定する(ステップA302)。
【0108】
次に、第1特定部e1は、輪郭情報に基づいて、マスク画像P2の被写体領域の右手先に相当する部分の輪郭線上の点であって、第2基準線分L2に直交し、且つ、右手首骨格点B6を通る直線と交わる輪郭線上の二つの手首側交点の座標を取得する(ステップA303)。
続けて、第1特定部e1は、マスク画像P2の被写体領域の右手先に相当する部分の輪郭線のうち、第2輪郭点C2を含む二つの手首側交点間を走査し、輪郭情報に基づいて、第2基準線分L2に直交する直線と交わり、右手首骨格点B6から最も離れた位置に存する第1交点D1を特定する(ステップA304)。次に、第1特定部e1は、マスク画像P2の被写体領域の右手先に相当する部分の輪郭線のうち、第2輪郭点C2を含む二つの手首側交点間を走査し、輪郭情報に基づいて、第2基準線分L2を挟む平行な二直線の各々と交わり、当該第2基準線分L2に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する(ステップA305)。
【0109】
その後、第1特定部e1は、マスク画像P2にて、第1〜第3交点D1〜D3並びに右手首骨格点B6に接する直角四辺形R1を設定して、当該直角四辺形R1の第1〜第4頂点F1〜F4の各座標を取得する(ステップA306)。
これにより、直角四辺形設定処理を終了する。
【0110】
図9に戻り、第1特定部e1は、マスク画像P2における手先画像P2a1(図18(b)参照)における直角四辺形R1の第1頂点F1と第4頂点F4を結ぶ一の辺上の第1頂点F1の位置(座標)を指定する(ステップA203)。
その後、第1特定部e1は、第1頂点F1と第4頂点F4を結ぶ一の辺に直交する方向(例えば、図18(b)における上下方向)に一画素ずつ走査していき、被写体切り抜き画像P1の手先画像P1a1(図18(a)参照)における当該直角四辺形R1内に存する被写体領域Ps(ヒトの手先及び足先に相当する部分)の各画素の画素値を取得する(ステップA204)。
【0111】
次に、第1特定部e1は、走査位置が直角四辺形R1の一の辺に対向する辺(第2頂点F2と第3頂点F3を結ぶ辺)に到達したか否かを判定する(ステップA205)。ここで、走査位置が対向する辺上に到達したと判定されると(ステップA205;YES)、第1特定部e1は、取得された各画素の画素値に基づいて、一の辺上の当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA206)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの右手に相当する部分P3a1のうち、当該走査方向に沿った所定数の画素からなる領域を、第1特定部e1により算出された代表画素値で描画する(ステップA207)。
【0112】
次に、第1特定部e1は、一の辺上の走査位置が第4頂点F4に到達したか否かを判定する(ステップA208)。
ここで、走査位置が第4頂点F4に到達していないと判定されると(ステップA208;NO)、第1特定部e1は、一の辺上の走査位置を第4頂点F4側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA209)、処理をステップA204に移行させる。
その後、動画処理部306は、ステップA204以降の処理を、ステップA208にて走査位置が第4頂点F4に到達したと判定(ステップA208;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの右手先に相当する部分P3a1が一の辺を基準とする各走査毎に描画される。
【0113】
そして、ステップA208にて、一の辺上の走査位置が第4頂点F4に到達したと判定されると(ステップA208;YES)、動画処理部306は、当該手先領域描画処理を終了する。
【0114】
<脚描画処理>
以下に、脚描画処理について、図11を参照して詳細に説明する。
図11は、裏面画像生成処理における脚描画処理に係る動作の一例を示すフローチャートである。
【0115】
図11に示すように、先ず、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの左右の脚に相当する部分のうち、脚本体の領域を描画する脚領域描画処理を行った後(ステップA51)、足先側の領域を描画する足先領域描画処理を行う(ステップA52)。
なお、脚描画処理の脚領域描画処理及び足先領域描画処理は、上記した腕描画処理における腕領域描画処理及び手先領域描画処理の各々の各処理と略同様の処理であり、その詳細な説明は省略する。
【0116】
<胴体描画処理>
以下に、胴体描画処理について、図12を参照して詳細に説明する。
図12は、裏面画像生成処理における胴体描画処理に係る動作の一例を示すフローチャートである。
【0117】
図12に示すように、色特定部306eの第2特定部e2は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された顎骨格点B17と左右の股関節骨格点B9、B10を特定する(ステップA601)。
そして、第2特定部e2は、左右の股関節骨格点B9、B10の中点Bmを特定した後、マスク画像P2にて、当該中点Bmと顎骨格点B17とを結ぶ第3基準線分L3を特定する(ステップA602)。続けて、第2特定部e2は、第3基準線分L3の両端部側を当該基準線分Lの延在方向に1割ずつ延長した延長線分L3aを設定する(ステップA603)。
【0118】
続けて、第2特定部e2は、マスク画像P2における延長線分L3a上の顎側の端部の位置(座標)を指定した後(ステップA604)、当該延長線分L3aに直交する二方向のうちの所定の一方向(例えば、図19(b)における左方向)に一画素ずつ走査していく(ステップA605)。
そして、第2特定部e2は、走査位置が被写体領域Psにおける胴体に相当する部分の一方向の輪郭線上に到達したか否かを判定する(ステップA606)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA606;YES)、第2特定部e2は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA607)。
【0119】
一方、ステップA606にて、走査位置が輪郭線上に到達していないと判定されると(ステップA606;NO)、第2特定部e2は、走査位置が両腕や両脚の描画済領域Aに到達したか否かを判定する(ステップA608)。
ここで、走査位置が両腕や両脚の描画済領域Aに到達したと判定されると(ステップA608;YES)、第2特定部e2は、処理をステップA607に移行して、マスク画像P2における描画済領域Aの所定画素手前の画素の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA607)。
【0120】
その後、第2特定部e2は、延長線分L3aに直交する二方向のうちの他方向(例えば、図19(b)における下方向)に一画素ずつ走査していく(ステップA609)。
そして、第2特定部e2は、走査位置が被写体領域Psにおける胴体に相当する部分の他方向の輪郭線上に到達したか否かを判定する(ステップA610)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA610;YES)、第2特定部e2は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA611)。
【0121】
一方、ステップA610にて、走査位置が輪郭線上に到達していないと判定されると(ステップA610;NO)、第2特定部e2は、走査位置が両腕や両脚の描画済領域Aに到達したか否かを判定する(ステップA612)。
ここで、走査位置が両腕や両脚の描画済領域Aに到達したと判定されると(ステップA612;YES)、第2特定部e2は、処理をステップA611に移行して、マスク画像P2における描画済領域Aの所定画素手前の画素の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA611)。
【0122】
その後、第2特定部e2は、延長線分L3aに直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、延長線分L3aの当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA613)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの胴体に相当する部分P3bのうち、延長線分L3aの当該走査方向に沿った所定数の画素からなる領域を、第2特定部e2により算出された代表画素値で描画する(ステップA614)。
【0123】
次に、第2特定部e2は、延長線分L3aに直交する二方向の各々の方向について、今回の走査方向に沿った所定数の画素からなる領域の長さと前回の走査方向に沿った所定数の画素からなる領域の長さとの差分が所定値を超えたか否かを判定する(ステップA615)。
具体的には、第2特定部e2は、今回の走査方向に沿った所定数の画素からなる領域が、前回の走査方向に沿った所定数の画素からなる領域の長さの所定割合の長さよりも長いか否かに応じて、差分が所定値を超えたか否かを判定する。
【0124】
ステップA615にて、差分が所定値を超えていないと判定されると(ステップA615;NO)、第2特定部e2は、延長線分L3a上の走査位置が股関節側の端部に到達したか否かを判定する(ステップA616)。
ここで、走査位置が股関節側の端部に到達していないと判定されると(ステップA616;NO)、第2特定部e2は、延長線分L3a上の走査位置を股関節側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA617)、処理をステップA605に移行させる。
その後、動画処理部306は、ステップA605以降の処理を、ステップA616にて走査位置が股関節側の端部に到達したと判定(ステップA616;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの胴体に相当する部分P3bが延長線分L3aを基準とする各走査毎に描画される。
【0125】
そして、ステップA616にて、延長線分L3a上の走査位置が股関節側の端部に到達したと判定されると(ステップA616;YES)、動画処理部306は、当該胴体描画処理を終了する。
また、ステップA615にて、差分が所定値を超えたと判定された場合にも(ステップA615;YES)、動画処理部306は、当該胴体描画処理を終了する。
【0126】
<頭描画処理>
以下に、頭描画処理について、図13〜図15を参照して詳細に説明する。
図13は、裏面画像生成処理における脚描画処理に係る動作の一例を示すフローチャートである。
【0127】
図13に示すように、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの頭に相当する部分P3cを、基準線分L(例えば、第4基準線分L4)に対する直交方向に描画する第1描画処理(図14参照)を行った後(ステップA71)、マスク画像P2(裏面画像P3)における被写体対応領域Paにおける直角四辺形R2内に存する頭に相当する部分を平行方向に描画する第2描画処理(図15参照)を行う(ステップA72)。
【0128】
<第1描画処理>
以下に、第1描画処理について、図14を参照して詳細に説明する。
図14は、第1描画処理に係る動作の一例を示すフローチャートである。
【0129】
図14に示すように、色特定部306eの第3特定部e3は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された顎骨格点B17と頭頂部骨格点B18とを特定する(ステップA801)。
次に、第3特定部e3は、マスク画像P2にて、顎骨格点B17と頭頂部骨格点B18とを結ぶ線分を第4基準線分L4として設定する(ステップA802)。
【0130】
続けて、第3特定部e3は、マスク画像P2における第4基準線分L4上の顎骨格点B17の位置(座標)を指定した後(ステップA803)、当該第4基準線分L4に直交する二方向のうちの所定の一方向(例えば、図20(b)における左方向)に一画素ずつ走査していく(ステップA804)。
そして、第3特定部e3は、走査位置が被写体領域Psにおける頭に相当する部分の一方向の輪郭線上に到達したか否かを判定する(ステップA805)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA805;YES)、第3特定部e3は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA806)。
【0131】
次に、第3特定部e3は、第4基準線分L4に直交する二方向のうちの他方向(例えば、図20(b)における右方向)に一画素ずつ走査していく(ステップA807)。
そして、第3特定部e3は、走査位置が被写体領域Psにおける頭に相当する部分の他方向の輪郭線上に到達したか否かを判定する(ステップA808)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA808;YES)、第3特定部e3は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA809)。
【0132】
次に、第3特定部e3は、第4基準線分L4に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、第4基準線分L4の当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA810)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの頭に相当する部分P3cのうち、第4基準線分L4の当該走査方向に沿った所定数の画素からなる領域を、第3特定部e3により算出された代表画素値で描画する(ステップA811)。
【0133】
次に、第3特定部e3は、第4基準線分L4に直交する二方向の各々の方向について、今回の走査方向に沿った所定数の画素からなる領域の長さと前回の走査方向に沿った所定数の画素からなる領域の長さとの差分が所定値を超えたか否かを判定する(ステップA812)。
具体的には、第3特定部e3は、今回の走査方向に沿った所定数の画素からなる領域が、前回の走査方向に沿った所定数の画素からなる領域の長さの所定割合の長さよりも長いか否かに応じて、差分が所定値を超えたか否かを判定する。
【0134】
ステップA812にて、差分が所定値を超えていないと判定されると(ステップA812;NO)、第3特定部e3は、第4基準線分L4上の走査位置が頭頂部骨格点B18に到達したか否かを判定する(ステップA813)。
ここで、走査位置が頭頂部骨格点B18に到達していないと判定されると(ステップA813;NO)、第3特定部e3は、第4基準線分L4上の走査位置を頭頂部骨格点B18側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA814)、処理をステップA804に移行させる。
その後、動画処理部306は、ステップA804以降の処理を、ステップA813にて走査位置が頭頂部骨格点B18に到達したと判定(ステップA813;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの頭に相当する部分P3cが第4基準線分L4を基準とする各走査毎に描画される。
【0135】
そして、ステップA813にて、第4基準線分L4上の走査位置が頭頂部骨格点B18に到達したと判定されると(ステップA813;YES)、動画処理部306は、当該第1描画処理を終了する。
また、ステップA812にて、差分が所定値を超えたと判定された場合にも(ステップA812;YES)、動画処理部306は、当該第1描画処理を終了する。
【0136】
<第2描画処理>
以下に、第2描画処理について、図15を参照して詳細に説明する。
図15は、第2描画処理に係る動作の一例を示すフローチャートである。
【0137】
図15に示すように、色特定部306eの第3特定部e3は、先ず、被写体切り抜き画像P1及びマスク画像P2にて、ヒトの頭に相当する部分の各々を囲む直角四辺形R2を設定する直角四辺形設定処理(図10参照)を行う(ステップA901)。
【0138】
第2描画処理における直角四辺形設定処理は、上記した手先領域描画処理における直角四辺形設定処理の各処理と略同様の処理である。
即ち、第3特定部e3は、輪郭情報に基づいて、マスク画像P2の被写体領域の頭に相当する部分の輪郭線上の点であって、第4基準線分L4に直交し、且つ、顎骨格点B17を通る直線と交わる輪郭線上の二つの顎側交点の座標を取得する。
続けて、第3特定部e3は、マスク画像P2の被写体領域の頭に相当する部分の輪郭線のうち、頭頂部骨格点B18を含む二つの顎側交点間を走査し、輪郭情報に基づいて、第4基準線分L4を挟む平行な二直線の各々と交わり、当該第4基準線分L4に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する。
その後、第3特定部e3は、マスク画像P2にて顎骨格点B17及び頭頂部骨格点B18並びに第2及び第3交点D2、D3に接する直角四辺形R2を設定して、当該直角四辺形R2の第1〜第4頂点F1〜F4の各座標を取得する。
これにより、直角四辺形設定処理を終了する。
【0139】
次に、第3特定部e3は、第4基準線分L4の延在方向の長さに基づいて顎側に境界線Qを設定する(ステップA902)。具体的には、第3特定部e3は、直角四辺形R2内に、第4基準線分L4の延在方向の長さの所定割合(例えば、9割程度)の位置を通り、当該第4基準線分L4に直交する直線を境界線Qとして設定する。
【0140】
次に、第3特定部e3は、マスク画像P2の頭画像P2c(図20(b)参照)における直角四辺形R2の第1頂点F1と第2頂点F2を結ぶ一の辺上の第1頂点F1の位置(座標)を指定した後(ステップA903)、当該一の辺に直交する方向(例えば、図20(b)における下方向)に一画素ずつ走査していく(ステップA904)。
そして、第3特定部e3は、走査位置が被写体領域Psにおける頭に相当する部分の輪郭線上に到達したか否かを判定する(ステップA905)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA905;YES)、第3特定部e3は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する走査方向(例えば、図20(b)における下方向)に所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA906)。
【0141】
次に、裏面画像生成部306fは、直角四辺形R2内に存する頭に相当する部分における当該走査位置に係る第4基準線分L4に対する平行方向の長さが、境界線Q上に到達したか否かを判定する(ステップA907)。
ここで、当該走査位置における平行方向の長さが境界線Q上に到達しないと判定されると(ステップA907;NO)、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域のうち、頭頂部側の輪郭の位置から当該領域の長さの所定割合となる位置までを、第3特定部e3により特定された代表画素値で描画する(ステップA908)。
一方、ステップA907にて、当該走査位置における平行方向の長さが境界線Q上に到達したと判定されると(ステップA907;YES)、裏面画像生成部306fは、第1頂点F1と第2頂点F2とを結ぶ一の辺から頭頂部側の輪郭までの背景部分の長さTを算出した後(ステップA909)、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域のうち、頭頂部側の輪郭の位置から背景部分の長さTを減じた顎側位置までを、第3特定部e3により特定された代表画素値で描画する(ステップA910)。
【0142】
次に、第3特定部e3は、一の辺上の走査位置が第2頂点F2に到達したか否かを判定する(ステップA911)。
ここで、走査位置が第2頂点F2に到達していないと判定されると(ステップA911;NO)、第3特定部e3は、一の辺上の走査位置を第2頂点F2側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA912)、処理をステップA904に移行させる。
その後、動画処理部306は、ステップA904以降の処理を、ステップA911にて走査位置が第2頂点F2に到達したと判定(ステップA911;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの頭に相当する部分が一の辺を基準とする各走査毎に描画される。
【0143】
そして、ステップA911にて、一の辺上の走査位置が第2頂点F2に到達したと判定されると(ステップA911;YES)、動画処理部306は、当該第2描画処理を終了する。
【0144】
以上のように、本実施形態の動画生成システム100によれば、被写体切り抜き画像P1の被写体の骨格に係る骨格情報に基づいて、被写体領域Psの輪郭部分の色情報を特定し、当該被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して、被写体の裏側を擬似的に表す裏面画像P3を生成するので、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を利用して、視認者に違和感を生じさせ難い裏面画像P3の生成を簡便に行うことができる。具体的には、被写体切り抜き画像P1の被写体領域Ps内で設定された骨格と関連付けられた骨格点Bを通る基準線分Lを基準として、被写体領域Psの輪郭部分、特に、被写体領域Psにおける基準線分Lに対する直交方向及び平行方向のうちの少なくとも一の方向の輪郭部分の色情報を特定して、裏面画像P3の被写体対応領域Paを当該被写体の基準線分Lが含まれる部位毎にそれぞれ描画することができる。
従って、裏面画像P3の被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で被写体の部位毎に描画することができ、被写体切り抜き画像P1の被写体領域Psに対して裏面画像P3を視認者に違和感を生じさせ難くすることができる。
これにより、静止画像(正面画像)である被写体切り抜き画像P1を所定方向に回転させる場合に、当該静止画像の裏側の表現を裏面画像P3により適正に行うことができる。また、被写体切り抜き画像P1の被写体画像内で動き制御点を設定するだけで、当該被写体切り抜き画像P1に対応する裏面画像P3内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定することができ、動画像の生成処理をより簡便なものとすることができる。
【0145】
また、被写体領域Psのヒトの手先及び足先に相当する部分の各々を囲む直角四辺形R1を設定し、この直角四辺形R1の基準線分Lと平行な一の辺を基準として当該基準線分Lに対する直交方向に走査して、当該直角四辺形R1内に存する被写体領域Psの色情報を各走査毎に取得して、被写体領域Psの色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定することができる。そして、直角四辺形R1内に存する被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの手先及び足先に相当する部分P3a1を各走査毎にそれぞれ描画するので、被写体領域Psが入り組んだ形状をなすヒトの手先や足先に相当する部分であっても、当該ヒトの手先及び足先に相当する部分に設定された直角四辺形R1を利用して、裏面画像P3の当該直角四辺形R1内に存する被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で各走査毎にそれぞれ描画することができる。
【0146】
また、被写体領域Psのヒトの胴体に相当する部分に設定された基準線分Lの少なくとも一の端部側を当該基準線分Lの延在方向に所定の割合延長した延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、前記被写体領域Psの色情報を各走査毎に取得し、各走査毎に取得された被写体領域Psの色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定することができる。そして、被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの胴体に相当する部分P3bを各走査毎にそれぞれ描画するので、ヒトの胴体に相当する部分に設定された延長線分L3aを利用して、裏面画像P3の被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの当該延長線分L3aに直交する方向の輪郭部分の色から視認者が想像し易い色で各走査毎にそれぞれ描画することができる。
【0147】
また、被写体領域Psのヒトの胴体に相当する部分に係る輪郭部分の色情報の特定処理が、裏面画像P3の被写体対応領域Paにおける両腕及び両脚に相当する部分の描画に係る裏面画像生成処理の後に行われても、延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、延長線分L3aを直交方向に挟み、被写体領域Psの輪郭の各々と交わる二点、或いは、被写体領域Psの胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定し、各走査毎に特定された二点を基準として、被写体領域Psの二つの輪郭部分の色情報を各走査毎に取得することができる。つまり、裏面画像P3の被写体対応領域Paの胴体に隣接する両腕及び両脚に相当する部分が描画済みであるか否かを考慮して、裏面画像P3の生成を効率良く適正に行うことができる。
【0148】
また、被写体領域Psのヒトの頭に相当する部分に設定された基準線分Lに対する直交方向の輪郭部分の色情報、即ち、基準線分Lを基準として当該基準線分Lに対する直交方向に走査することで各走査毎に取得された被写体領域Psの色情報に基づいて特定された、被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cを直交方向に描画することができる。
その後、基準線分Lに対する平行方向の輪郭部分の色情報、即ち、ヒトの頭に相当する部分を囲む直角四辺形R2の基準線分Lに直交する一の辺を基準として基準線分Lに対する平行方向に走査することで各走査毎に取得された当該直角四辺形R2内に存する被写体領域Psの色情報に基づいて特定された、被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cを平行方向に描画することができる。具体的には、直角四辺形R2内に存する被写体領域Psの基準線分Lに対する平行方向の長さや直角四辺形R2の基準線分Lと平行な一の辺の長さを基準として、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cの所定位置まで平行方向に描画することができる。
従って、基準線分Lに対する直交方向及び平行方向の各輪郭部分の色を考慮して、裏面画像P3の被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの当該基準線分Lに対する直交方向や平行方向の輪郭部分の色から視認者が想像し易い色で描画することができる。つまり、頭頂部側では基準線分Lに対する直交方向の輪郭部分の色を考慮して、例えば、髪の毛の色から視認者が想像し易い色で描画することができる一方で、頭頂部から離れたより顎側の部分では基準線分Lに対する平行方向の輪郭部分の色を考慮して、例えば、耳や首周りの地肌の色から視認者が想像し易い色で描画することができる。
【0149】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像生成装置)3によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、画像生成装置の構成は適宜任意に変更可能である。即ち、裏面画像P3の生成に係る動画処理部306の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で動画生成処理を行うようにしても良い。
【0150】
また、上記実施形態にあっては、被写体切り抜き画像P1を処理対象としたが、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、最初から被写体領域Psのみの画像を用いても良い。
また、裏面画像生成処理を、腕描画処理、脚描画処理、胴体描画処理、頭描画処理の順に行うようにしたが、当該各処理の順序は一例であってこれに限られるものではなく、適宜任意に変更可能である。
また、頭描画処理を、第1描画処理、第2描画処理の順に行うようにしたが、当該各処理の順序は一例であってこれに限られるものではなく、適宜任意に変更可能である。即ち、例えば、頭に帽子を被ったヒトに係る被写体切り抜き画像P1の場合等には、マスク画像P2における被写体対応領域Paにおける直角四辺形R2内に存する頭に相当する部分を平行方向に描画する第2描画処理の後に、基準線分Lに対する直交方向に描画する第1描画処理を行うようにしても良い。さらに、第1描画処理と第2描画処理の処理順序を入れ替えた裏面画像P3を二つ生成して、ユーザに何れか一方の裏面画像P3を選択させるような構成としても良い。
【0151】
また、上記実施形態の動画生成処理にあっては、被写体画像の合成位置やサイズを調整可能に構成されても良い。即ち、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、被写体画像の合成位置やサイズの調整指示が入力されたと判定すると、当該調整指示に対応する信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる。そして、サーバ3の動画処理部306は、通信制御部を介して入力された調整指示に基づいて、被写体画像の合成位置を所望の合成位置に設定したり、当該被写体画像のサイズを所望のサイズに設定するようにしても良い。
【0152】
また、上記実施形態にあっては、ユーザ端末2として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
なお、被写体切り抜き画像P1や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【0153】
加えて、上記実施形態にあっては、第1取得手段、第2取得手段、特定手段、生成手段としての機能を、中央制御部301の制御下にて、画像取得部306a、骨格情報取得部306b、色特定部306e、裏面画像生成部306fが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部301のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、第1取得処理ルーチン、第2取得処理ルーチン、特定処理ルーチン、生成処理ルーチンを含むプログラムを記憶しておく。そして、第1取得処理ルーチンにより中央制御部301のCPUを、被写体領域Psが含まれる被写体画像を取得する第1取得手段として機能させるようにしても良い。また、第2取得処理ルーチンにより中央制御部301のCPUを、第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段として機能させるようにしても良い。また、特定処理ルーチンにより中央制御部301のCPUを、第2取得手段により取得された骨格情報に基づいて、被写体領域Psの輪郭部分の色情報を特定する特定手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部301のCPUを、特定手段により特定された被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して当該裏面画像P3を生成する生成手段として機能させるようにしても良い。
【0154】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0155】
〔付記〕
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
<請求項1>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成方法であって、
被写体領域が含まれる被写体画像を取得する第1取得ステップと、
この第1取得ステップにより取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得ステップと、
この第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定ステップと、
この特定ステップにより特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成ステップと、
を含むことを特徴とする画像生成方法。
<請求項2>
前記第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体画像の前記被写体領域内で骨格と関連付けられた骨格点を設定する設定ステップを更に含み、
前記特定ステップは、
前記設定ステップにより設定された骨格点を通る基準線分を基準として、前記被写体領域の輪郭部分の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
<請求項3>
前記生成ステップは、更に、
前記裏面画像の前記被写体対応領域を当該被写体の前記基準線分が含まれる部位毎にそれぞれ描画することを特徴とする請求項2に記載の画像生成方法。
<請求項4>
前記特定ステップは、更に、
前記被写体領域における前記基準線分に対する直交方向及び平行方向のうちの少なくとも一の方向の輪郭部分の色情報を特定することを特徴とする請求項2又は3に記載の画像生成方法。
<請求項5>
前記特定ステップは、
前記被写体領域の手先及び足先に相当する部分の各々の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記手先及び足先に相当する部分の各々を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分と平行な一の辺を基準として当該基準線分に対する直交方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記直角四辺形内に存する前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
<請求項6>
前記生成ステップは、更に、
前記特定ステップにより特定された前記直角四辺形内に存する前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における手先及び足先に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項5に記載の画像生成方法。
<請求項7>
前記特定ステップは、
前記被写体領域の胴体に相当する部分に設定された一の骨格点を通り、脊椎にほぼ沿って延在する基準線分の少なくとも一の端部側を当該基準線分の延在方向に所定の割合延長した延長線分を設定するステップと、
設定された前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
<請求項8>
前記特定ステップは、更に、
前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記延長線分を前記直交方向に挟み、前記被写体領域の輪郭の各々と交わる二点、或いは、前記被写体領域の前記胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定するステップを有し、
各走査毎に特定された前記二点を基準として、前記被写体領域の二つの輪郭部分の色情報を各走査毎に取得することを特徴とする請求項7に記載の画像生成方法。
<請求項9>
前記被写体領域の胴体に相当する部分に係る前記特定ステップは、前記裏面画像の前記被写体対応領域における前記両腕及び前記両脚に相当する部分の描画に係る前記生成ステップの後に行われることを特徴とする請求項7又は8に記載の画像生成方法。
<請求項10>
前記生成ステップは、更に、
前記特定ステップにより特定された前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における胴体に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項7〜9の何れか一項に記載の画像生成方法。
<請求項11>
前記生成ステップは、
前記特定ステップにより特定された、前記被写体領域の頭に相当する部分の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対する直交方向の輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における頭に相当する部分を前記直交方向に描画するステップと、
前記特定ステップにより特定された、前記基準線分に対する平行方向の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域における頭に相当する部分を前記平行方向に描画するステップとを更に有することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
<請求項12>
前記特定ステップは、
前記基準線分を基準として当該基準線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
<請求項13>
前記特定ステップは、
前記基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記頭に相当する部分を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分に直交する一の辺を基準として前記基準線分に対する平行方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
<請求項14>
前記生成ステップは、更に、
前記直角四辺形内に存する前記被写体領域の前記基準線分に対する平行方向の長さ、及び、前記直角四辺形の前記基準線分と平行な一の辺の長さのうちの少なくとも一の長さを基準として、前記裏面画像の前記被写体対応領域における頭に相当する部分の所定位置まで前記平行方向に描画することを特徴とする請求項11〜13の何れか一項に記載の画像生成方法。
<請求項15>
前記第1取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜14の何れか一項に記載の画像生成方法。
<請求項16>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する第1取得手段と、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段と、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段と、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段と、
を備えたことを特徴とする画像生成装置。
<請求項17>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する第1取得手段、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0156】
100 動画生成システム
1 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
306 動画処理部
306a 画像取得部
306b 骨格情報取得部
306d 骨格点設定部
306e 色特定部
e1 第1特定部
e2 第2特定部
e3 第3特定部
306f 裏面画像生成部
【技術分野】
【0001】
本発明は、正面画像から裏面画像を生成する画像生成方法、画像生成装置及びプログラムに関する。
【背景技術】
【0002】
従来、二次元の静止画像内の所望の位置に制御点を設定して、動きをつけたい制御点に所望の動きを指定することで当該静止画像を動かす技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4613313号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術において、静止画像を所定方向に回転させる場合、当該静止画像の裏側(背面側)を表現する上で当該裏側の画像を別途用意しなければならないといった問題がある。
【0005】
本発明は、このような問題に鑑みてなされたものであり、本発明の課題は、裏面画像の生成を簡便に行うことができる画像生成方法、画像生成装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る画像生成方法は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成方法であって、被写体領域が含まれる被写体画像を取得する第1取得ステップと、この第1取得ステップにより取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得ステップと、この第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定ステップと、この特定ステップにより特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成ステップと、を含むことを特徴としている。
【0007】
また、本発明に係る画像生成装置は、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、被写体領域が含まれる被写体画像を取得する第1取得手段と、この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段と、この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段と、この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段と、を備えたことを特徴としている。
【0008】
また、本発明に係るプログラムは、
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、被写体領域が含まれる被写体画像を取得する第1取得手段、この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段、この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段、この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段、として機能させることを特徴としている。
【発明の効果】
【0009】
本発明によれば、裏面画像の生成を簡便に行うことができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した一実施形態の動画生成システムの概略構成を示すブロック図である。
【図2】図1の動画生成システムを構成するユーザ端末の概略構成を示すブロック図である。
【図3】図1の動画生成システムを構成するサーバの概略構成を示すブロック図である。
【図4】図1の動画生成システムによる動画生成処理に係る動作の一例を示すフローチャートである。
【図5】図4の動画生成処理の続きを示すフローチャートである。
【図6】図5の動画生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。
【図7】図6の裏面画像生成処理における腕描画処理に係る動作の一例を示すフローチャートである。
【図8】図7の腕描画処理における腕領域描画処理に係る動作の一例を示すフローチャートである。
【図9】図7の腕描画処理における手先領域描画処理に係る動作の一例を示すフローチャートである。
【図10】図9の手先領域描画処理における直角四辺形設定処理に係る動作の一例を示すフローチャートである。
【図11】図6の裏面画像生成処理における脚描画処理に係る動作の一例を示すフローチャートである。
【図12】図6の裏面画像生成処理における胴体描画処理に係る動作の一例を示すフローチャートである。
【図13】図6の裏面画像生成処理における頭描画処理に係る動作の一例を示すフローチャートである。
【図14】図13の頭描画処理における第1描画処理に係る動作の一例を示すフローチャートである。
【図15】図13の頭描画処理における第2描画処理に係る動作の一例を示すフローチャートである。
【図16】図6の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【図17】図7の腕描画処理に係る画像の一例を模式的に示す図である。
【図18】図9の手先領域描画処理に係る画像の一例を模式的に示す図である。
【図19】図12の胴体描画処理に係る画像の一例を模式的に示す図である。
【図20】図13の頭描画処理に係る画像の一例を模式的に示す図である。
【図21】図6の裏面画像生成処理に係る画像の一例を模式的に示す図である。
【発明を実施するための形態】
【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が含まれる被写体画像の被写体の骨格に係る骨格情報に基づいて、被写体領域Psの輪郭部分の色情報を特定し、当該被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して、被写体の裏側を擬似的に表す裏面画像P3を生成する。
【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(図16(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は、アルファマップに基づいて、被写体領域(図16(b)中、白で表す領域)の各画素を第1の画素値(例えば、「1」等)とし、背景領域(図16(b)中、黒で表す領域)の各画素を第1の画素値と異なる第2の画素値(例えば、「0」等)とする二値画像であるマスク画像P2(図16(b)参照)を生成する。即ち、被写体切抜部304は、被写体切り抜き画像P1内で被写体領域Psの位置を示す位置情報としてのマスク画像P2を生成する。
被写体切り抜き画像P1の画像データは、例えば、生成されたアルファマップやマスク画像P2等の位置情報と対応付けられたデータである。
【0030】
なお、上記した被写体切抜部304による被写体切抜手法は、一例であってこれに限られるものではなく、被写体存在画像から被写体が含まれる被写体領域Psを切り抜く公知の手法であれば如何なる手法を適用しても良い。
また、被写体切り抜き画像P1の画像データとしては、例えば、RGBA形式の画像データを適用しても良く、具体的には、RGB色空間で規定される各色に透過度(A)の情報が付加されている。この場合には、被写体切抜部304は、透過度(A)の情報を利用して、被写体切り抜き画像P1内で被写体領域Psの位置を示す位置情報(図示略)を生成しても良い。
【0031】
記憶部305は、例えば、半導体の不揮発メモリやHDD(Hard Disc Drive)等により構成され、ユーザ端末2に送信されるWebページのページデータや被写体切抜部304により生成された被写体切り抜き画像P1の画像データ等を記憶する。
【0032】
また、記憶部305は、動画生成処理に用いられる動き情報305aを複数記憶している。
各動き情報305aは、所定空間、即ち、例えば、互いに直交する二軸(例えば、x軸、y軸等)により規定される二次元の平面空間やこれら二軸に加えて当該二軸に直交する軸(例えば、z軸等)により規定される三次元の立体的空間内における複数の可動点の動きを示す情報である。なお、動き情報305aは、二次元の平面空間を所定の回動軸周りに回転させることで複数の可動点の動きに奥行きをもたせるような情報であっても良い。
ここで、各可動点の位置は、動きのモデルとなる動体モデル(例えば、ヒトや動物等)の骨格の形状や関節の位置等を考慮してそれぞれ規定されている。また、可動点の個数は、動体モデルの形状や大きさ等に応じて適宜任意に設定可能である。
また、各動き情報305aは、所定空間内にて複数の可動点の全て若しくは少なくとも一つを移動させた座標情報を所定の時間間隔で連続して並べることで、複数の可動点の動きが連続して表されている。なお、複数の可動点の座標情報の各々は、例えば、基準となる可動点の座標情報に対する各可動点の移動量を規定した情報であっても良いし、各可動点の絶対位置座標を規定した情報であっても良い。
【0033】
また、記憶部305は、動画生成処理に用いられる演奏情報305bを複数記憶している。
演奏情報305bは、動画処理部306の動画再生部306i(後述)により動画像とともに自動的に曲を演奏するための情報である。即ち、演奏情報305bは、例えば、テンポ、拍子、音程、音階、調、発想標語等を異ならせて複数規定され、それぞれ曲名と対応付けて記憶されている。
また、各演奏情報305bは、例えば、MIDI(Musical Instruments Digital Interface)規格等に従って規定されたデジタルデータであり、具体的には、トラック数や四分音符の分解能(Tickカウント数)等が規定されたヘッダ情報と、各パートに割り当てられた音源(例えば、楽器等)に供給させるイベント及びタイミングかならなるトラック情報等を有している。このトラック情報のイベントとして、例えば、テンポあるいは拍子の変更や、NoteOn・Offを指示する情報などがある。
【0034】
動画処理部306は、画像取得部306aと、骨格情報取得部306bと、輪郭情報取得部306cと、骨格点設定部306dと、色特定部306eと、裏面画像生成部306fと、制御点設定部306gと、フレーム生成部306hと、動画再生部306iとを具備している。
【0035】
画像取得部306aは、動画生成処理に用いられる静止画像を取得する。
即ち、画像取得部306aは、第1取得手段として、背景と被写体とが存在する被写体存在画像から被写体が含まれる被写体領域Psが切り抜かれた被写体切り抜き画像(被写体画像)P1を取得する。具体的には、画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像P1の画像データを処理対象の静止画像として取得する。
また、画像取得部306aは、被写体切り抜き画像P1の画像データと対応付けられているマスク画像P2の画像データを取得する。
【0036】
骨格情報取得部306bは、被写体切り抜き画像P1の被写体の骨格に係る骨格情報を取得する。
即ち、骨格情報取得部306bは、第2取得手段として、画像取得部306aにより取得された被写体切り抜き画像P1の被写体の骨格に係る骨格情報を取得する。具体的には、骨格情報取得部306bは、画像取得部306aにより取得されたマスク画像P2の画像データ、即ち、被写体切り抜き画像P1の画像データと対応付けられ、当該被写体切り抜き画像P1内で被写体領域Psの位置を示すマスク画像P2の画像データに対して、所定数(例えば、一つ)の画素からなる線画像を生成する細線化処理を施して、骨格情報としての骨格線画像(図示略)を生成する。
例えば、骨格情報取得部306bは、マスク画像P2の画像データに対してHilditch法を適用して、当該画像内で境界点である端点を削除しない、孤立点を保存する、連結性を保存する、などの各種の条件を満たす画像の探索、削除を繰り返すことにより、骨格線画像を生成する。
なお、上記した骨格情報取得部306bによる骨格情報の取得処理は、一例であってこれに限られるものではなく、適宜任意に変更可能である。また、細線化処理として、Hilditch法を適用するようにしたが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
また、マスク画像P2及び被写体切り抜き画像P1では、例えば、左上隅部を原点座標として(即ち、左右方向にx軸、上下方向にy軸をとり)上記の細線化処理や後述する各種の画像処理を行う。
【0037】
輪郭情報取得部306cは、マスク画像P2の被写体領域の輪郭線に係る輪郭情報を取得する。
具体的には、輪郭情報取得部306cは、画像取得部306aにより取得されたマスク画像P2の被写体領域の輪郭線を構成する各画素を特定して、当該各画素の座標に係る輪郭情報を取得する。
【0038】
骨格点設定部306dは、被写体切り抜き画像P1の被写体領域Ps内で骨格と関連付けられた骨格点Bを設定する。
即ち、骨格点設定部306dは、骨格情報取得部306bにより取得された骨格情報に基づいて、被写体切り抜き画像P1の被写体領域Ps内で骨格と関連付けられた骨格点Bを複数設定する。具体的には、骨格点設定部306dは、被写体の骨格線画像の形状やヒトの関節の位置等を考慮して、骨格線画像内でヒトの代表的な各部に相当する各位置に骨格点Bを複数特定する。そして、骨格点設定部306dは、特定された複数の骨格点B、…を被写体切り抜き画像P1及びマスク画像P2の対応する各位置に設定する。
例えば、骨格点設定部306dは、骨格線画像内で、ヒトの左右の肩の各々に相当する位置に左右の肩骨格点B1、B2、左右の肘の各々に相当する位置に左右の肘骨格点B3、B4、左右の手首の各々に相当する位置に左右の手首骨格点B5、B6、左右の手先の各々に相当する位置に左右の手先骨格点B7、B8、左右の股関節の各々に相当する位置に左右の股関節骨格点B9、B10、左右の膝の各々に相当する位置に左右の膝骨格点B11、B12、左右の足首の各々に相当する位置に左右の足首骨格点B13、B14、左右のつま先の各々に相当する位置に左右のつま先骨格点B15、B16、顎に相当する位置に顎骨格点B17、頭頂部に相当する位置に頭頂部骨格点B18等をそれぞれ特定する(図16(a)及び図16(b)参照)。そして、骨格点設定部306dは、設定された各骨格点Bの座標に基づいて、当該骨格点Bを被写体切り抜き画像P1及びマスク画像P2の対応する各位置(座標)に設定する。
なお、上記した各骨格点Bは、一例であってこれに限られるものではなく、適宜任意に変更可能である。
【0039】
色特定部306eは、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を特定する。
即ち、色特定部306eは、特定手段として、骨格情報取得部306bにより取得された骨格情報に基づいて、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を特定する。具体的には、色特定部306eは、第1特定部e1、第2特定部e2及び第3特定部e3を具備し、これら第1〜第3特定部e1〜e3は、ヒトの代表的な各部位毎に被写体領域Psの輪郭部分の色情報を特定する。
【0040】
第1特定部e1は、被写体領域Psにおけるヒトの両腕及び両脚に相当する各部分の輪郭部分の色情報を特定する。
即ち、第1特定部e1は、骨格点設定部306dによりヒトの両腕や両脚に相当する部分に設定された複数(例えば、二つ)の骨格点B、Bを通る基準線分Lを基準として、当該両腕及び両脚に相当する部分の輪郭部分の色情報を特定する。具体的には、第1特定部e1は、被写体切り抜き画像P1及びマスク画像P2にて、被写体領域Psのヒトの両腕や両脚に相当する部分に係る複数の骨格点B、…を通る基準線分L(例えば、第1基準線分L1)を設定し、当該両腕や両脚に相当する部分における基準線分Lに対する直交方向の輪郭部分の色情報を特定する。
【0041】
具体的には、第1特定部e1は、例えば、腕描画処理の腕領域描画処理(後述)にて、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの右肩に相当する位置に設定されている右肩骨格点B2と右手首に相当する位置に設定されている右手首骨格点B6とを特定する。そして、第1特定部e1は、輪郭情報取得部306cにより取得された輪郭情報に基づいて、右肩骨格点B2から右手首骨格点B6を経て手先側に延在する直線と交わる輪郭線上の第1輪郭点C1を特定する。そして、第1特定部e1は、マスク画像P2にて、右肩骨格点B2と第1輪郭点C1とを結ぶ線分を第1基準線分L1として設定する。
なお、図17(b)にあっては、右手先骨格点B8と第1輪郭点C1が等しい位置となっているが、一例であってこれに限られるものではなく、互いに異なる位置であっても良い。
【0042】
第1特定部e1は、マスク画像P2の腕部画像P2a(図17(b)参照)における第1基準線分L1上を所定画素数(例えば、一画素)ずつ移動させながら、当該第1基準線分L1に対する直交方向(例えば、図17(b)における上下方向)に走査して、当該第1基準線分L1を直交方向に挟み、被写体領域Psの右腕に相当する部分の輪郭の各々と交わる二点を各走査毎に特定する。そして、第1特定部e1は、各走査毎に特定された右腕に相当する部分の輪郭の二点を基準として、被写体切り抜き画像P1における当該右腕に相当する部分の二つの輪郭部分の色情報を各走査毎に特定する。具体的には、第1特定部e1は、第1基準線分L1を構成する各画素について、先ず、当該第1基準線分L1に直交する二方向のうちの所定の一方向(例えば、図17(b)における上方向)に走査していく。そして、第1特定部e1は、被写体領域Psにおける右腕に相当する部分の一方向の輪郭線上に到達すると、マスク画像P2の腕部画像P2aにおける当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の腕部画像P1a(図17(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。同様に、第1特定部e1は、第1基準線分L1に直交する二方向のうちの他方向(例えば、図17(b)における下方向)についても、上記と略同様の処理を行って、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。
【0043】
その後、第1特定部e1は、第1基準線分L1における各走査位置にて、当該第1基準線分L1に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、所定の演算を行って当該走査位置における代表画素値(例えば、平均値)を算出する。
なお、第1特定部e1は、第1基準線分L1における各走査位置にて当該第1基準線分L1に直交する方向に並んだ全ての画素の画素値に基づいて、所定の演算を行って各走査位置における代表画素値(例えば、平均値)を算出しても良い。
【0044】
また、第1特定部e1は、被写体領域Psにおける左腕に相当する部分について、腕領域描画処理にて上記の各処理と略同様の処理を行う。
また、第1特定部e1は、被写体領域Psにおける両脚に相当する部分についても、脚領域描画処理(後述)にて上記の各処理と略同様の処理を行う。この場合、基準線分Lに対する直交方向は、例えば、図16(a)及び図16(b)における左右方向となる。
【0045】
また、第1特定部e1は、腕描画処理の手先領域描画処理(後述)にて、被写体領域Psにおけるヒトの手先及び足先に相当する部分に直角四辺形R1(図18(b)参照)を設定し、当該直角四辺形R1内に存する手先及び足先に相当する部分の輪郭部分の色情報を特定する。
具体的には、第1特定部e1は、被写体切り抜き画像P1及びマスク画像P2にて、骨格点設定部306dによりヒトの手先及び足先に相当する部分の各々の先端側に設定された一の骨格点Bと当該一の骨格点Bに隣接する他の骨格点Bとを通る基準線分L(例えば、第2基準線分L2)を設定し、当該基準線分Lに対して平行な2つの辺及び基準線分Lに対して直交する2つの辺を有し、ヒトの手先及び足先に相当する部分の各々を囲む直角四辺形R1を設定する。例えば、第1特定部e1は、手先領域描画処理の直角四辺形設定処理(後述)にて、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの右手首に相当する位置に設定されている右手首骨格点B6と右手先に相当する位置に設定されている右手先骨格点B8とを特定する。そして、第1特定部e1は、輪郭情報取得部306cにより取得された輪郭情報に基づいて、右手首骨格点B6から右手先骨格点B8を経て手先側に延在する直線と交わる輪郭線上の第2輪郭点C2を特定する。そして、第1特定部e1は、マスク画像P2にて右手首骨格点B6と第2輪郭点C2とを結ぶ線分を第2基準線分L2として設定する。また、第1特定部e1は、輪郭情報に基づいて、マスク画像P2の被写体領域の右手先に相当する部分の画像P2a1(図18(b)参照)の輪郭線上を走査して、第2基準線分L2に直交する直線と交わる輪郭線上の点であって、被写体領域Psの中央部(例えば、重心位置により近い骨格点B)から最も離れた位置に存する第1交点D1を特定する。さらに、第1特定部e1は、輪郭情報に基づいて、マスク画像P2の被写体領域の右手先に相当する部分の画像P2a1の輪郭線上を走査して、第2基準線分L2を挟む平行な二直線の各々と交わる輪郭線上の二点であって、当該第2基準線分L2に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する。そして、第1特定部e1は、マスク画像P2にて第1〜第3交点D1〜D3並びに右手首骨格点B6に接する直角四辺形R1を設定して、当該直角四辺形R1の第1〜第4頂点F1〜F4の各座標を取得する。
【0046】
また、第1特定部e1は、被写体切り抜き画像P1の被写体領域Psにおけるヒトの手先及び足先に相当する部分にて、直角四辺形R1の第2基準線分L2と平行な一の辺(例えば、第1頂点F1と第4頂点F4を結ぶ一の辺)を基準として当該第2基準線分L2に対する直交方向(例えば、図18(b)における上下方向)に走査して、当該直角四辺形R1内に存する被写体領域Psの色情報を各走査毎に取得する。そして、第1特定部e1は、各走査毎に取得された直角四辺形R1内に存する被写体領域Ps(ヒトの手先及び足先に相当する部分)の色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定する。
具体的には、第1特定部e1は、例えば、マスク画像P2の手先画像P2a1(図18(b)参照)における直角四辺形R1の第1頂点F1と第4頂点F4を結ぶ一の辺上を所定画素数(例えば、一画素)ずつ移動させながら、当該一の辺に対する直交方向(例えば、図18(b)における上下方向)に走査していく。そして、第1特定部e1は、被写体切り抜き画像P1の手先画像P1a1における当該直角四辺形R1内に存する被写体領域Ps(ヒトの手先及び足先に相当する部分)の各画素の画素値を各走査毎に取得する。そして、第1特定部e1は、各走査毎に、直角四辺形R1内に存する被写体領域Psであるヒトの手先に相当する部分の各画素の画素値を代表する代表値(例えば、平均値)を算出して、当該被写体領域Psの各走査に対応する輪郭部分の色情報としてそれぞれ特定する。
なお、図18(b)にあっては、右手先骨格点B8と第2輪郭点C2と第1交点D1が等しい位置となっているが、一例であってこれに限られるものではなく、互いに異なる位置であっても良いし、何れか二つが等しい位置であっても良い。
【0047】
また、第1特定部e1は、被写体領域Psにおける左腕に相当する部分について、手先領域描画処理にて上記の各処理と略同様の処理を行う。
また、第1特定部e1は、被写体領域Psにおける両脚に相当する部分についても、足先領域描画処理(後述)にて上記の各処理と略同様の処理を行う。この場合、基準線分Lに対する直交方向は、例えば、図16(a)及び図16(b)における左右方向となる。
【0048】
第2特定部e2は、被写体領域Psにおけるヒトの胴体に相当する部分の輪郭部分の色情報を特定する。
即ち、第2特定部e2は、骨格点設定部306dによりヒトの胴体に相当する部分に設定された一の骨格点Bを通る基準線分Lを基準として、当該胴体に相当する部分の輪郭部分の色情報を特定する。具体的には、第2特定部e2は、被写体切り抜き画像P1及びマスク画像P2にて、ヒトの胴体に相当する部分に設定された一の骨格点Bを通り、脊椎にほぼ沿って延在する基準線分L(例えば、第3基準線分L3)の少なくとも一の端部側を当該基準線分Lの延在方向に所定の割合(例えば、1割)延長した延長線分L3aを設定する。
例えば、第2特定部e2は、胴体描画処理(後述)にて、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの顎に相当する位置に設定されている顎骨格点B17と左右の股関節に相当する位置に設定されている左右の股関節骨格点B9、B10を特定する。そして、第2特定部e2は、左右の股関節骨格点B9、B10の中点Bmを特定した後、マスク画像P2にて、当該中点Bmと顎骨格点B17とを結ぶ第3基準線分L3の両端部側を当該基準線分Lの延在方向に1割ずつ延長した延長線分L3aを設定する。
【0049】
そして、第2特定部e2は、延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、被写体領域Psのヒトの胴体に相当する部分の色情報を各走査毎に取得し、各走査毎に取得されたヒトの胴体に相当する部分の色情報に基づいて、被写体領域Psのヒトの胴体に相当する部分の各走査に対応する輪郭部分の色情報をそれぞれ特定する。このとき、第2特定部e2は、延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、延長線分L3aを直交方向に挟み、被写体領域Psのヒトの胴体に相当する部分の輪郭の各々と交わる二点、或いは、被写体領域Psの胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定する。そして、第2特定部e2は、各走査毎に特定された二点を基準として、被写体領域Psのヒトの胴体に相当する部分における二つの輪郭部分の色情報を各走査毎に取得する。
ここで、第2特定部e2による被写体領域Psのヒトの胴体に相当する部分に対する各処理は、裏面画像生成部306fによる裏面画像P3の被写体対応領域Paにおける両腕及び両脚に相当する部分の描画の後に行われる。
即ち、第1特定部e1による被写体領域Psのヒトの両腕及び両脚に相当する部分の輪郭部分の色情報の特定及び裏面画像生成部306fによる当該両腕及び両脚に相当する部分の描画が行われた後、第2特定部e2による被写体領域Psのヒトの胴体に相当する部分の輪郭部分の色情報の特定及び裏面画像生成部306fによる当該胴体に相当する部分の描画が行われた後、第3特定部e3による被写体領域Psのヒトの頭に相当する部分の輪郭部分の色情報の特定及び裏面画像生成部306fによる当該頭に相当する部分の描画が行われる。
【0050】
第2特定部e2は、マスク画像P2の胴体画像P2bにおける延長線分L3a上を所定画素数(例えば、一画素)ずつ移動させながら、当該延長線分L3aに対する直交方向(例えば、図19(b)における左右方向)に走査して、当該延長線分L3aを直交方向に挟み、被写体領域Psのヒトの胴体に相当する部分の輪郭の各々と交わる二点、或いは、被写体領域Psの胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定する。そして、第2特定部e2は、各走査毎に特定された胴体に相当する部分の輪郭の二点、或いは、両腕及び両脚の各々と交わる二点を基準として、被写体切り抜き画像P1における当該胴体に相当する部分の二つの輪郭部分の色情報を各走査毎に特定する。具体的には、第2特定部e2は、延長線分L3aを構成する各画素について、先ず、当該延長線分L3aに直交する二方向のうちの所定の一方向(例えば、図19(b)における左方向)に走査していく。そして、第2特定部e2は、被写体領域Psにおける胴体に相当する部分の一方向の輪郭線上に到達するか、或いは、両腕や両脚の描画済領域Aに到達すると、マスク画像P2の胴体画像P2bにおける当該輪郭線上や描画済領域Aの所定画素手前の画素の座標を取得する。そして、第2特定部e2は、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、輪郭線上や描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。同様に、第2特定部e2は、延長線分L3aに直交する二方向のうちの他方向(例えば、図19(b)における右方向)についても、上記と略同様の処理を行って、輪郭線上や描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。
【0051】
その後、第2特定部e2は、延長線分L3aにおける各走査位置にて、当該延長線分L3aに直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、所定の演算を行って当該走査位置における代表画素値(例えば、平均値)を算出する。
なお、第2特定部e2は、延長線分L3aにおける各走査位置にて当該延長線分L3aに直交する方向に並んだ全ての画素の画素値に基づいて、所定の演算を行って各走査位置における代表画素値(例えば、平均値)を算出しても良い。
【0052】
第3特定部e3は、被写体領域Psにおけるヒトの頭に相当する部分の輪郭部分の色情報を特定する。
即ち、第3特定部e3は、骨格点設定部306dによりヒトの頭に相当する部分に設定された複数(例えば、二つ)の骨格点Bを通る基準線分Lを基準として、当該頭に相当する部分の輪郭部分の色情報を特定する。具体的には、第3特定部e3は、被写体切り抜き画像P1及びマスク画像P2にて、被写体領域Psのヒトの頭に相当する部分に係る複数の骨格点B、…を通る基準線分L(例えば、第4基準線分L4)を設定し、当該頭に相当する部分における基準線分Lに対する直交方向及び平行方向の各輪郭部分の色情報を特定する。つまり、第3特定部e3は、頭描画処理の第1描画処理(後述)にて、被写体領域Psのヒトの頭に相当する部分の先端側に設定された一の骨格点Bと当該一の骨格点Bに隣接する他の骨格点Bとを通る基準線分Lに対する直交方向の輪郭部分の色情報を特定した後、第2描画処理にて、基準線分Lに対する平行方向の輪郭部分の色情報を特定する。
【0053】
具体的には、第1描画処理にて、第3特定部e3は、基準線分Lを基準として当該基準線分Lに対する直交方向に走査して、被写体領域Psのヒトの頭に相当する部分の色情報を各走査毎に取得し、各走査毎に取得された被写体領域Psのヒトの頭に相当する部分の色情報に基づいて、被写体領域Psのヒトの頭に相当する部分の各走査に対応する輪郭部分の色情報をそれぞれ特定する。
例えば、第3特定部e3は、被写体切り抜き画像P1及びマスク画像P2における、被写体領域Psのヒトの顎に相当する位置に設定されている顎骨格点B17と頭頂部に相当する位置に設定されている頭頂部骨格点B18とを特定する。そして、第3特定部e3は、マスク画像P2にて、顎骨格点B17と頭頂部骨格点B18とを結ぶ線分を第4基準線分L4として設定する。
第3特定部e3は、マスク画像P2における第4基準線分L4上を所定画素数(例えば、一画素)ずつ移動させながら、当該第4基準線分L4に対する直交方向(例えば、図20(b)における左右方向)に走査して、当該第4基準線分L4を直交方向に挟み、被写体領域Psの頭に相当する部分の輪郭の各々と交わる二点を各走査毎に特定する。そして、第3特定部e3は、各走査毎に特定された頭に相当する部分の輪郭の二点を基準として、被写体切り抜き画像P1における当該頭に相当する部分の二つの輪郭部分の色情報を各走査毎に特定する。具体的には、第3特定部e3は、第4基準線分L4を構成する各画素について、先ず、当該第4基準線分L4に直交する二方向のうちの所定の一方向(例えば、図20(b)における左方向)に走査していく。そして、第3特定部e3は、被写体領域Psにおける頭に相当する部分の一方向の輪郭線上に到達すると、マスク画像P2の頭部画像P2cにおける当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。同様に、第3特定部e3は、第4基準線分L4に直交する二方向のうちの他方向(例えば、図20(b)における右方向)についても、上記と略同様の処理を行って、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出する。
【0054】
その後、第3特定部e3は、第4基準線分L4における各走査位置にて、当該第4基準線分L4に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、所定の演算を行って当該走査位置における代表画素値(例えば、平均値)を算出する。
なお、第3特定部e3は、第4基準線分L4における各走査位置にて当該第4基準線分L4に直交する方向に並んだ全ての画素の画素値に基づいて、所定の演算を行って各走査位置における代表画素値(例えば、平均値)を算出しても良い。
【0055】
また、第2描画処理にて、第3特定部e3は、被写体領域Psにおけるヒトの頭に相当する部分に直角四辺形R2(図20(b)参照)を設定し、当該直角四辺形R2内に存する頭に相当する部分の輪郭部分の色情報を特定する。具体的には、第3特定部e3は、被写体切り抜き画像P1及びマスク画像P2にて、基準線分L(例えば、第4基準線分L4)に対して平行な2つの辺及び基準線分Lに対して直交する2つの辺を有し、ヒトの頭に相当する部分を囲む直角四辺形R2を設定する。
例えば、第3特定部e3は、第2描画処理の直角四辺形設定処理(後述)にて、輪郭情報取得部306cにより取得された輪郭情報に基づいて、マスク画像P2の被写体領域の頭に相当する部分の画像P2cの輪郭線上を走査して、第4基準線分L4を挟む平行な二直線の各々と交わる輪郭線上の二点であって、当該第4基準線分L4に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する。そして、第3特定部e3は、マスク画像P2にて顎骨格点B17及び頭頂部骨格点B18並びに第2及び第3交点D2、D3に接する直角四辺形R2を設定して、当該直角四辺形R2の第1〜第4頂点F1〜F4の各座標を取得する。
【0056】
また、第3特定部e3は、被写体切り抜き画像P1の被写体領域Psにおけるヒトの頭に相当する部分にて、直角四辺形R1の第4基準線分L4に直交する一の辺(例えば、第1頂点F1と第2頂点F2を結ぶ一の辺)を基準として当該第4基準線分L4に対する平行方向(例えば、図20(b)における下方向)に走査して、当該直角四辺形R2内に存する被写体領域Psの色情報を各走査毎に取得する。そして、第3特定部e3は、各走査毎に取得された直角四辺形R2内に存する被写体領域Ps(ヒトの頭に相当する部分)の色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定する。
具体的には、第3特定部e3は、例えば、マスク画像P2の頭部画像P2c(図20(b)参照)における直角四辺形R2の頭頂部側の第1頂点F1と第2頂点F2を結ぶ一の辺上を所定画素数(例えば、一画素)ずつ移動させながら、当該一の辺に対する直交方向(例えば、図20(b)における下方向)に走査していく。そして、第3特定部e3は、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)における当該直角四辺形R2内に存する被写体領域(ヒトの頭に相当する部分)Psの輪郭線上に到達すると、マスク画像P2における当該輪郭線上の点の座標を取得する。その後、第3特定部e3は、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する走査方向(例えば、図20(b)における下方向)に所定画素数分の各画素の画素値を代表する代表値(例えば、平均値)を算出して、当該走査に対応する輪郭部分の色情報として特定する。
【0057】
裏面画像生成部306fは、被写体の裏側を擬似的に表す裏面画像P3を生成する。
即ち、裏面画像生成部306fは、生成手段として、色特定部306eにより特定された被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して当該裏面画像P3を生成する。具体的には、裏面画像生成部306fは、裏面画像P3の被写体対応領域Paを当該被写体の基準線分Lが含まれる部位、即ち、ヒトの代表的な各部位(例えば、両腕部、両脚部、胴体、頭等)毎にそれぞれ描画して、裏面画像P3を生成する。
【0058】
また、裏面画像生成部306fは、腕描画処理の腕領域描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Ps(図16(b)中、白で表す領域)に対応する被写体対応領域Paの中で、各腕に相当する部分P3a(図17(c)参照)を、基準線分L(例えば、第1基準線分L1)に直交する各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。その後、裏面画像生成部306fは、色特定部306eの第1特定部e1により特定された直角四辺形R1内に存する被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの手先及び足先に相当する部分P3a1(図18(c)参照)を各走査毎にそれぞれ描画する。具体的には、腕描画処理の手先領域描画処理にて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、直角四辺形R1内に存するヒトの手先に相当する部分P3a1を、第2基準線分L2に対する直交方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
なお、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、両脚に相当する部分についても、脚描画処理(後述)にて上記の各処理と略同様の処理を行う。この場合、基準線分Lに対する直交方向は、例えば、図16(a)及び図16(b)における左右方向となる。
【0059】
また、裏面画像生成部306fは、色特定部306eの第2特定部e2により特定された被写体領域Psにおけるヒトの胴体に相当する部分の各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの胴体に相当する部分Psb(図19(c)参照)を各走査毎にそれぞれ描画する。具体的には、裏面画像生成部306fは、胴体描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Psに対応する被写体対応領域Paの中で、胴体に相当する部分P3bを、延長線分L3aに対する直交方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
【0060】
また、裏面画像生成部306fは、色特定部306eの第3特定部e3により特定された被写体領域Psのヒトの頭に相当する部分の基準線分L(例えば、第4基準線分L4)に対する直交方向の輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3c(図20(c)参照)を直交方向に描画する。その後、裏面画像生成部306fは、第3特定部e3により特定された直角四辺形R2内に存する被写体領域Psの基準線分Lに対する平行方向の各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cを平行方向に描画する。
具体的には、裏面画像生成部306fは、頭描画処理の第1描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Psに対応する被写体対応領域Paの中で、頭に相当する部分P3cを、第4基準線分L4に対する直交方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
【0061】
その後、裏面画像生成部306fは、頭描画処理の第2描画処理にて、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Psに対応する被写体対応領域Paの中で、直角四辺形R2内に存する頭に相当する部分を、第4基準線分L4に対する平行方向の各走査毎に当該各走査に対応する画素値の代表値でそれぞれ描画する。
このとき、裏面画像生成部306fは、直角四辺形R2内に存する頭に相当する部分の基準線分Lに対する平行方向の長さ、及び、直角四辺形R2の基準線分Lと平行な一の辺の長さのうちの少なくとも一の長さを基準として、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cの所定位置まで平行方向に描画する。即ち、直角四辺形R2内に存する頭に相当する部分の各走査に係る第4基準線分L4に対する平行方向の長さが、第4基準線分L4の長さに基づいて顎側に設定された境界線Q(図20(b)参照)に到達するか否かに応じて、裏面画像生成部306fは、直角四辺形R2内に存する頭に相当する部分の描画領域を変更する。
例えば、直角四辺形R2内に存する頭に相当する部分における一の走査に係る平行方向の長さが境界線Qに到達しない場合(例えば、図20(b)における左右方向端部側の一の走査に対応)、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域のうち、頭頂部側の輪郭の位置から当該領域の長さの所定割合となる位置までを代表画素値で描画する。また、直角四辺形R2内に存する頭に相当する部分における一の走査に係る平行方向の長さが境界線Qに到達した場合(例えば、図20(b)における左右方向中央部側の一の走査に対応)、裏面画像生成部306fは、第1頂点F1と第2頂点F2とを結ぶ一の辺から頭頂部側の輪郭までの背景部分の長さT(図20(b)参照)を算出した後、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域の長さから背景部分の長さTを減じた顎側位置を特定し、当該走査方向に沿った領域のうちの頭頂部側の輪郭の位置から顎側位置までを代表画素値で描画する。
【0062】
制御点設定部306gは、処理対象となる被写体切り抜き画像P1の被写体画像内で動き制御点を複数設定する。
即ち、制御点設定部306gは、画像取得部306aにより取得された被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する。具体的には、制御点設定部306gは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。また、制御点設定部306gは、被写体切り抜き画像P1の被写体画像内で制御点をそれぞれ設定することで、当該被写体切り抜き画像P1に対応する裏面画像P3内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定する。
このとき、動体モデルと被写体画像について、例えば、顔などの主要部の大きさを合わせるように寸法の調整(例えば、動体モデルの拡大や縮小、変形等)を行うようにしても良い。また、例えば、動体モデルと被写体画像を重ね合わせて被写体画像における複数の可動点の各々が対応する位置を特定しても良い。
さらに、制御点設定部306gは、動き情報305aに規定されている複数の可動点の全てについて、対応する動き制御点を設定しても良いし、被写体の中央部や各先端部等の代表的な所定数の可動点に対応する動き制御点のみ設定しても良い。
【0063】
なお、制御点設定部306gは、被写体切り抜き画像P1の被写体画像内で、記憶部305から読み出された動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々が対応する位置を自動的に特定しても良い。例えば、制御点設定部306gは、被写体の骨格の形状や関節の位置等を考慮して複数の可動点の各々が対応する位置を特定する。そして、制御点設定部306gは、特定された複数の可動点の各々が対応する位置に動き制御点をそれぞれ設定する。
また、制御点設定部306gによる動き制御点の設定が自動的に行われた場合であっても、ユーザによる操作入力部の所定操作に基づいて動き制御点の設定位置の修正(変更)を受け付けるようにしても良い。
【0064】
フレーム生成部306hは、動画像を構成する複数のフレーム画像を逐次生成する。
即ち、フレーム生成部306hは、動画処理部306により指定された動き情報305aの複数の可動点の動きに追従させるように、被写体切り抜き画像P1の被写体画像内に設定されている複数の動き制御点を移動させて複数のフレーム画像を逐次生成する。具体的には、フレーム生成部306hは、例えば、動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報を逐次取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306hは、算出された座標に動き制御点を逐次移動させていくとともに、少なくとも一の動き制御点を基準として被写体画像内に設定される所定の画像領域(例えば、三角形や矩形のメッシュ状の領域)を移動させたり変形させることで、基準フレーム画像(図示略)を生成する。
なお、動き制御点を基準とした所定の画像領域を移動させたり変形させる処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0065】
また、フレーム生成部306hは、移動後の可動点の各々に対応する複数の動き制御点に基づいて生成される時間軸に沿って隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像(図示略)を生成する。即ち、フレーム生成部306hは、動画再生部306iにより複数のフレーム画像が所定の再生フレームレート(例えば、30fps等)で再生されるように、二つの基準フレーム画像どうしの間を補間する補間フレーム画像を所定数生成する。
具体的には、フレーム生成部306hは、隣合う二つの基準フレーム画像間における、動画再生部306iにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。例えば、フレーム生成部306hは、MIDI規格の演奏情報305bに基づいてテンポの設定情報及び四分音符の分解能(Tickカウント数)を取得して、動画再生部306iにより演奏される所定の曲の演奏の経過時間をTickカウント数に変換する。続けて、フレーム生成部306hは、所定の曲の演奏の経過時間に対応するTickカウント数に基づいて、所定のタイミング(例えば、各小節の一拍目等)に同期させた隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合を、例えば百分率で算出する。そして、フレーム生成部306hは、所定の曲の演奏の相対的な進行度合に応じて、当該隣合う二つの基準フレーム画像に対する重み付けを変えて補間フレーム画像を生成する。
なお、補間フレーム画像を生成する処理は、公知の技術であるので、ここでは詳細な説明を省略する。
【0066】
また、フレーム生成部306hによる基準フレーム画像や補間フレーム画像の生成は、被写体切り抜き画像P1の画像データ及びアルファマップ等の位置情報の両方について行われる。
【0067】
動画再生部306iは、フレーム生成部306hにより生成された複数のフレーム画像の各々を再生する。
即ち、動画再生部306iは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された演奏情報305bに基づいて所定の曲を自動的に演奏するとともに、当該所定の曲の所定のタイミングで複数のフレーム画像の各々を再生する。具体的には、動画再生部306iは、所定の曲の演奏情報305bのデジタルデータをD/Aコンバータによりアナログデータに変換して当該所定の曲を自動的に演奏させ、このとき、所定のタイミング(例えば、各小節の1拍目や各拍等)に同期させるように隣合う二つの基準フレーム画像を再生するとともに、隣合う二つの基準フレーム画像間における所定の曲の演奏の相対的な進行度合に応じて、当該進行度合に対応する各々の補間フレーム画像を再生する。
なお、動画再生部306iは、動画処理部306により指定された速さで被写体画像に係る複数のフレーム画像を再生しても良い。この場合には、動画再生部306iは、隣合う二つの基準フレーム画像を同期させるタイミングを変化させることで、所定の単位時間内に再生されるフレーム画像の数を変更して被写体画像の動きの速さを可変させる。
【0068】
次に、ユーザ端末2及びサーバ3を用いた動画生成処理について、図4〜図21を参照して説明する。
ここで、図4及び図5は、動画生成処理に係る動作の一例を示すフローチャートである。
なお、以下の説明にあっては、被写体存在画像の画像データから生成された被写体切り抜き画像P1(図16(a)参照)の画像データがサーバ3の記憶部305に記憶されているものとする。
【0069】
図4に示すように、ユーザ端末2の中央制御部201のCPUは、ユーザによる操作入力部202の所定操作に基づいて、サーバ3により開設される動画生成用ページのアクセス指示が入力されると、当該アクセス指示を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS1)。
サーバ3の通信制御部303によって、ユーザ端末2から送信されたアクセス指示が受信されると、中央制御部301のCPUは、動画生成用ページのページデータを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS2)。
そして、ユーザ端末2の通信制御部206によって、動画生成用ページのページデータが受信されると、表示部203は、当該動画生成用ページのページデータに基づいて、動画生成用ページの画面(図示略)を表示する。
【0070】
次に、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、動画生成用ページの画面内にて操作された各種ボタンに対応する指示信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS3)。
図6に示すように、サーバ3の中央制御部301のCPUは、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。具体的には、中央制御部301のCPUは、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、処理をステップS51に移行させ、また、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、処理をステップS61に移行させ、また、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、処理をステップS71に移行させる。
【0071】
<被写体画像の指定>
ステップS4にて、ユーザ端末2からの指示が、被写体画像の指定に関する内容の場合(ステップS4;被写体画像の指定)、動画処理部306の画像取得部306aは、記憶部305に記憶されている被写体切り抜き画像P1の画像データの中からユーザにより指定された被写体切り抜き画像P1の画像データを読み出して取得する(ステップS51)。
次に、制御点設定部306gは、取得された被写体切り抜き画像P1の被写体画像内で動き制御点が既に設定されているか否かを判定する(ステップS52)。
【0072】
ステップS52にて、制御点設定部306gにより動き制御点が設定されていないと判定されると(ステップS52;NO)、動画処理部306は、被写体切り抜き画像P1の画像データに基づいて、被写体画像の所定位置(例えば、中心位置等)を基準として当該被写体切り抜き画像P1のトリミングすることで被写体画像と動きモデル(例えば、動物)の大きさが等しくなるように補正する(ステップS53)。
なお、被写体切り抜き画像P1のトリミングは、当該被写体切り抜き画像P1の画像データと対応付けられている、例えば、アルファマップやマスク画像P2等の位置情報についても行われる。
その後、動画処理部306は、トリミング後の画像の被写体画像の裏側を擬似的に表す裏面画像P3(図21(a)参照)を生成する裏面画像生成処理を行う(ステップS54;図6参照)。
なお、裏面画像生成処理については後述する。
【0073】
図6に戻り、次に、中央制御部301のCPUは、生成された裏面画像P3と対応づけられた被写体切り抜き画像P1の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS55)。その後、制御点設定部306gは、被写体切り抜き画像P1の被写体画像内で複数の可動点に対応する各位置に動き制御点を複数設定する(ステップS56)。
具体的には、制御点設定部306gは、記憶部305から動体モデル(例えば、動物)の動き情報305aを読み出して、被写体切り抜き画像P1の被写体画像内で、当該動き情報305aに規定されている基準フレーム(例えば、1フレーム目等)の複数の可動点の各々に対応する動き制御点を、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて指定された所望の位置にそれぞれ設定する。
そして、動画再生部306iは、当該被写体画像に対して設定された複数の動き制御点、並びに被写体画像の合成位置やサイズ等の合成内容を所定の格納手段(例えば、所定のメモリ等)に登録する(ステップS57)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0074】
なお、ステップS52にて、既に動き制御点が設定されていると判定されると(ステップS52;YES)、中央制御部301のCPUは、ステップS53〜S57の処理をスキップして、処理をステップS8に移行させる。
【0075】
<背景画像の指定>
ステップS4にて、ユーザ端末2からの指示が、背景画像の指定に関する内容の場合(ステップS4;背景画像の指定)、動画処理部306の動画再生部306iは、ユーザによる操作入力部202の所定操作に基づいて所望の背景画像(他の画像)の画像データを読み出して(ステップS61)、当該背景画像の画像データを動画像の背景として所定の格納手段に登録する(ステップS62)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の画像データの中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の画像データの指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画再生部306iは、当該指定指示に係る背景画像の画像データを記憶部305から読み出して取得した後(ステップS61)、当該背景画像の画像データを動画像の背景として登録する(ステップS62)。
【0076】
次に、中央制御部301のCPUは、背景画像の画像データを通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS63)。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0077】
<動き及び曲の指定>
ステップS4にて、ユーザ端末2からの指示が、動き及び曲の指定に関する内容の場合(ステップS4;動き及び曲の指定)、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて動き情報305aや動きの速さを設定する(ステップS71)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の動きモデルのモデル名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一のモデル名(例えば、フラダンス等)の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、記憶部305に記憶されている複数の動き情報305a、…の中で、当該指定指示に係る動きモデルのモデル名と対応付けられている動き情報305aを設定する。なお、動画処理部306は、複数の動き情報305a、…の中で、例えば、デフォルトとして設定されている動き情報305aやユーザにより前回指定された動き情報305aを自動的に指定するようにしても良い。
また、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の動きの速さ(例えば、1/2倍、標準(等倍)、2倍等)の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の速さ(例えば、標準等)の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る速さを被写体画像の動きの速さとして設定する。
その後、動画処理部306の動画再生部306iは、設定された動き情報305aや動きの速さを動画像の動きの内容として所定の格納手段に登録する(ステップS72)。
【0078】
次に、動画処理部306は、ユーザによる操作入力部202の所定操作に基づいて自動的に演奏される曲を設定する(ステップS73)。
具体的には、サーバ3には、ユーザ端末2の表示部203に表示されている動画生成用ページの画面内の複数の曲名の中で、ユーザによる操作入力部202の所定操作に基づいて指定された何れか一の曲名の指定指示が、通信ネットワークN及び通信制御部303を介して入力される。動画処理部306は、当該指定指示に係る曲名の曲を設定する。
その後、中央制御部301のCPUは、処理をステップS8に移行させる。ステップS8の処理の内容については、後述する。
【0079】
ステップS8では、中央制御部301のCPUは、動画像の生成が可能な状態であるか否かを判定する(ステップS8)。即ち、ユーザによる操作入力部202の所定操作に基づいて、サーバ3の動画処理部306は、被写体画像に対する動き制御点の登録、被写体画像の動きの内容の登録、背景画像の登録等を行うことで、動画像の生成準備が整って動画像を生成可能か否か判定する。
ここで、動画像の生成が可能な状態でないと判定されると(ステップS8;NO)、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
一方、動画像の生成が可能な状態であると判定されると(ステップS8;YES)、図4に示すように、中央制御部301のCPUは、処理をステップS10に移行させる。
【0080】
ステップS10では、サーバ3の中央制御部301のCPUは、ユーザによるユーザ端末2の操作入力部202の所定操作に基づいて動画像のプレビュー指示が入力されたか否かを判定する(ステップS10)。
即ち、ステップS9にて、ユーザ端末2の中央制御部201が、ユーザによる操作入力部202の所定操作に基づいて入力された動画像のプレビュー指示を、通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる(ステップS9)。
そして、ステップS10にて、サーバ3の中央制御部301のCPUによって、動画像のプレビュー指示が入力されたと判定されると(ステップS10;YES)、動画処理部306の動画再生部306iは、設定済みの曲名に対応する演奏情報305bを動画像とともに自動的に演奏される情報として所定の格納手段に登録する(ステップS11)。
【0081】
次に、動画処理部306は、格納手段に登録されている演奏情報305bに基づいて動画再生部306iによる所定の曲の演奏を開始させるとともに、動画像を構成する複数のフレーム画像のフレーム生成部306hによる生成を開始させる(ステップS12)。
続けて、動画処理部306は、動画再生部306iによる所定の曲の演奏が終了したか否かを判定する(ステップS13)。
ここで、曲の演奏が終了していないと判定されると(ステップS13;NO)、動画処理部306のフレーム生成部306hは、動き情報305aに応じて変形させた被写体画像の基準フレーム画像を生成する(ステップS14)。具体的には、フレーム生成部306hは、格納手段に登録されている動き情報305aに従って所定の時間間隔で移動する複数の可動点の座標情報をそれぞれ取得して、当該可動点の各々に対応する各動き制御点の座標を算出する。そして、フレーム生成部306hは、算出された座標に動き制御点を逐次移動させていくとともに、動き制御点の移動に応じて被写体画像内に設定される所定の画像領域を移動させたり変形させることで、基準フレーム画像を生成する。
また、動画処理部306は、基準フレーム画像と背景画像とを公知の画像合成手法を用いて合成する。具体的には、動画処理部306は、例えば、背景画像の各画素のうち、アルファ値が「0」の画素は透過させ、アルファ値が「1」の画素は基準フレーム画像の対応する画素の画素値で上書きし、さらに、背景画像の各画素のうち、アルファ値が「0<α<1」の画素は1の補数(1−α)を用いて基準フレーム画像の被写体領域Psを切り抜いた画像(背景画像×(1−α))を生成した後、アルファマップにおける1の補数(1−α)を用いて基準フレーム画像を生成した際に単一背景色とブレンドした値を計算し、当該値を基準フレーム画像から減算し、それを被写体領域Psを切り抜いた画像(背景画像×(1−α))と合成する。
【0082】
続けて、フレーム生成部306hは、動画再生部306iにより演奏される所定の曲の演奏の進行度合に応じて、隣合う二つの基準フレーム画像どうしの間を補間する補間フレーム画像を生成する(ステップS15)。具体的には、フレーム生成部306hは、隣合う二つの基準フレーム画像間における、動画再生部306iにより演奏される所定の曲の演奏の進行度合を逐次取得して、当該進行度合に応じて、隣合う二つの基準フレーム画像間で再生される補間フレーム画像を逐次生成する。
また、動画処理部306は、補間フレーム画像と背景画像とを、上記基準フレーム画像の場合と同様に、公知の画像合成手法を用いて合成する。
【0083】
次に、中央制御部301のCPUは、動画再生部306iにより自動的に演奏される曲の演奏情報305bとともに、当該曲の所定のタイミングで再生される基準フレーム画像及び補間フレーム画像からなるプレビュー動画のデータを、通信制御部303により所定の通信ネットワークNを介してユーザ端末2に送信させる(ステップS16)。ここで、プレビュー動画のデータは、所定数の基準フレーム画像及び補間フレーム画像からなる複数のフレーム画像とユーザ所望の背景画像とが合成された動画像を構成している。
次に、動画処理部306は、処理をステップS18に戻し、曲の演奏が終了したか否かを判定する(ステップS13)。
上記の処理は、ステップS13にて、曲の演奏が終了したと判定されるまで(ステップS13;YES)、繰り返し実行される。
そして、曲の演奏が終了したと判定されると(ステップS13;YES)、図5に示すように、中央制御部301のCPUは、処理をステップS4に戻し、ユーザ端末2からの指示の内容に応じて処理を分岐させる(ステップS4)。
【0084】
ステップS16にて、サーバ3から送信されたプレビュー動画のデータがユーザ端末2の通信制御部303によって受信されると、中央制御部201のCPUは、音出力部204及び表示部203を制御してプレビュー動画を再生させる(ステップS17)。
具体的には、音出力部204は、演奏情報305bに基づいて曲を自動的に演奏してスピーカから放音するとともに、表示部203は、当該自動的に演奏される曲の所定のタイミングで基準フレーム画像及び補間フレーム画像からなるプレビュー動画を表示画面に表示する。
【0085】
なお、上記の動画生成処理にあっては、プレビュー動画を再生するようにしたが、一例であってこれに限られるものではなく、例えば、逐次生成された基準フレーム画像や補間フレーム画像や背景画像の画像データ並びに演奏情報305bを一つのファイルとして所定の記憶手段に記憶していき、動画像に係る全てのデータの生成完了後に、当該ファイルをサーバ3からユーザ端末2に送信して当該ユーザ端末2にて再生させるようにしても良い。
【0086】
<裏面画像生成処理>
以下に、動画処理部306による裏面画像生成処理について、図6〜図15を参照して詳細に説明する。
図6は、動作生成処理における裏面画像生成処理に係る動作の一例を示すフローチャートである。
【0087】
図6に示すように、先ず、動画処理部306の画像取得部306aは、被写体切抜部304により生成された被写体切り抜き画像P1の画像データと対応付けられているマスク画像P2の画像データを取得した後、骨格情報取得部306bは、当該画像データから骨格情報を生成して取得する(ステップA1)。
具体的には、骨格情報取得部306bは、画像取得部306aにより取得された、被写体切り抜き画像P1内で被写体領域Psの位置を示すマスク画像P2の画像データに対して、例えば、一画素からなる線画像を生成する細線化処理を施して骨格線画像(図示略)を生成し、当該骨格線画像を骨格情報として取得する。
【0088】
次に、輪郭情報取得部306cは、画像取得部306aにより取得されたマスク画像P2の画像データに基づいて、当該マスク画像P2の被写体領域の輪郭線を構成する各画素を特定して、当該各画素の座標に係る輪郭情報を取得する(ステップA2)。
【0089】
続けて、骨格点設定部306dは、被写体の骨格線画像の形状やヒトの関節の位置等を考慮して、骨格線画像内でヒトの代表的な各部に相当する各位置に骨格点Bを複数特定した後、当該複数の骨格点B、…を被写体切り抜き画像P1及びマスク画像P2の対応する各位置に設定する(ステップA3)。例えば、骨格点設定部306dは、骨格線画像内で、左右の肩骨格点B1、B2、左右の肘骨格点B3、B4、左右の手首骨格点B5、B6、左右の手先骨格点B7、B8、左右の股関節骨格点B9、B10、左右の膝骨格点B11、B12、左右の足首骨格点B13、B14、左右のつま先骨格点B15、B16、顎骨格点B17、頭頂部骨格点B18等をそれぞれ特定して(図16(a)及び図16(b)参照)、当該骨格点Bを被写体切り抜き画像P1及びマスク画像P2の対応する各位置(座標)に設定する。
【0090】
次に、動画処理部306は、マスク画像P2(裏面画像P3)における被写体切り抜き画像P1の被写体領域Ps(図16(b)中、白で表す領域)に対応する被写体対応領域Paの中で、左右の腕に相当する部分P3a(図17(c)参照)を描画する腕描画処理(図7参照)を行う(ステップA4)。
なお、腕描画処理について後述する。
【0091】
続けて、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、左右の脚に相当する部分を描画する脚描画処理(図11参照)を行う(ステップA5)。
なお、脚描画処理について後述する。
【0092】
次に、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、胴体に相当する部分P3b(図19(c)参照)を描画する胴体描画処理(図12参照)を行う(ステップA6)。
なお、胴体描画処理について後述する。
【0093】
続けて、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの中で、頭に相当する部分P3c(図20(c)参照)を描画する頭描画処理(図13参照)を行う(ステップA7)。
なお、頭描画処理について後述する。
【0094】
その後、動画処理部306は、頭描画処理後のマスク画像P2、即ち、裏面画像P3(図21(a)参照)に対する後処理を施して(ステップA8)、当該裏面画像生成処理を終了する。
ここで、裏面画像P3に対する後処理とは、当該裏面画像P3における線状に描画された模様を目立たなくする処理であり、例えば、当該裏面画像P3の画像データに対してバイラテラルフィルタを適用する処理が挙げられる。これにより、裏面画像P3の色情報が近い領域は周囲の画素値でならされ、色情報の異なる領域同士の画素値は保たれるため、当該後処理後の裏面画像P3d(図21(b)参照)を色のグラデーションがより自然で、視認者に違和感を生じさせ難い表現態様とすることができる。
【0095】
<腕描画処理>
以下に、腕描画処理について、図7〜図10を参照して詳細に説明する。
図7は、裏面画像生成処理における腕描画処理に係る動作の一例を示すフローチャートである。
【0096】
図7に示すように、先ず、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの左右の腕に相当する部分P3aのうち、腕本体の領域を描画する腕領域描画処理(図8参照)を行った後(ステップA41)、手先側の領域を描画する手先領域描画処理(図9参照)を行う(ステップA42)。
【0097】
<腕領域描画処理>
以下に、腕領域描画処理について、図8を参照して詳細に説明する。
図8は、腕領域描画処理に係る動作の一例を示すフローチャートである。
ここで、腕領域描画処理は、左右の腕の各々について個別に行われる処理である。以下の説明では、右腕を例示して説明するが、当該右腕に係る処理後に左腕についても同様の処理が行われるようになっている。
【0098】
図8に示すように、色特定部306eの第1特定部e1は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された右肩骨格点B2と右手首骨格点B6とを特定する(ステップA101)。
次に、第1特定部e1は、右肩骨格点B2から右手首骨格点B6を経て手先側に延在する直線を特定した後、輪郭情報取得部306cにより取得された輪郭情報に基づいて、当該直線と交わる輪郭線上の第1輪郭点C1を特定する(ステップA102)。そして、第1特定部e1は、マスク画像P2にて、右肩骨格点B2と第1輪郭点C1とを結ぶ線分を第1基準線分L1として設定する(ステップA103)。
【0099】
続けて、第1特定部e1は、マスク画像P2における第1基準線分L1上の第1輪郭点C1の位置(座標)を指定した後(ステップA104)、当該第1基準線分L1に直交する二方向のうちの所定の一方向(例えば、図17(b)における上方向)に一画素ずつ走査していく(ステップA105)。
そして、第1特定部e1は、走査位置が被写体領域Psにおける右腕に相当する部分の一方向の輪郭線上に到達したか否かを判定する(ステップA106)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA106;YES)、第1特定部e1は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の腕部画像P1a(図17(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA107)。
【0100】
次に、第1特定部e1は、第1基準線分L1に直交する二方向のうちの他方向(例えば、図17(b)における下方向)に一画素ずつ走査していく(ステップA108)。
そして、第1特定部e1は、走査位置が被写体領域Psにおける右腕に相当する部分の他方向の輪郭線上に到達したか否かを判定する(ステップA109)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA109;YES)、第1特定部e1は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の腕部画像P1a(図17(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA110)。
【0101】
次に、第1特定部e1は、第1基準線分L1に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、第1基準線分L1の当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA111)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの右腕に相当する部分P3aのうち、第1基準線分L1の当該走査方向に沿った所定数の画素からなる領域を、第1特定部e1により算出された代表画素値で描画する(ステップA112)。
【0102】
次に、第1特定部e1は、第1基準線分L1に直交する二方向の各々の方向について、今回の走査方向に沿った所定数の画素からなる領域の長さと前回の走査方向に沿った所定数の画素からなる領域の長さとの差分が所定値を超えたか否かを判定する(ステップA113)。
具体的には、第1特定部e1は、今回の走査方向に沿った所定数の画素からなる領域が、前回の走査方向に沿った所定数の画素からなる領域の長さの所定割合の長さよりも長いか否かに応じて、差分が所定値を超えたか否かを判定する。
【0103】
ステップA113にて、差分が所定値を超えていないと判定されると(ステップA113;NO)、第1特定部e1は、第1基準線分L1上の走査位置が右肩骨格点B2に到達したか否かを判定する(ステップA114)。
ここで、走査位置が右肩骨格点B2に到達していないと判定されると(ステップA114;NO)、第1特定部e1は、第1基準線分L1上の走査位置を右肩骨格点B2側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA115)、処理をステップA105に移行させる。
その後、動画処理部306は、ステップA105以降の処理を、ステップA114にて走査位置が右肩骨格点B2に到達したと判定(ステップA114;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの右腕の腕本体に相当する部分が第1基準線分L1を基準とする各走査毎に描画される。
【0104】
そして、ステップA114にて、第1基準線分L1上の走査位置が右肩骨格点B2に到達したと判定されると(ステップA114;YES)、動画処理部306は、当該腕領域描画処理を終了する。
また、ステップA113にて、差分が所定値を超えたと判定された場合にも(ステップA113;YES)、動画処理部306は、当該腕領域描画処理を終了する。
【0105】
<手先領域描画処理>
以下に、手先領域描画処理について、図9及び図10を参照して詳細に説明する。
図9は、手先領域描画処理に係る動作の一例を示すフローチャートである。また、図10は、手先領域描画処理における直角四辺形設定処理係る動作の一例を示すフローチャートである。
ここで、手先領域描画処理は、左右の手の各々について個別に行われる処理である。以下の説明では、右手を例示して説明するが、当該右手に係る処理後に左手についても同様の処理が行われるようになっている。
【0106】
図9に示すように、色特定部306eの第1特定部e1は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された右手首骨格点B6と右手先骨格点B8とを特定する(ステップA201)。
次に、第1特定部e1は、被写体切り抜き画像P1及びマスク画像P2にて、ヒトの手先に相当する部分(例えば、マスク画像P2におけるP2a1等)の各々を囲む直角四辺形R1を設定する直角四辺形設定処理(図10参照)を行う(ステップA202)。
【0107】
ここで、直角四辺形設定処理について、図10を参照して詳細に説明する。
図10に示すように、第1特定部e1は、右手首骨格点B6から右手先骨格点B8を経て手先側に延在する直線を特定した後、輪郭情報取得部306cにより取得された輪郭情報に基づいて、当該直線と交わる輪郭線上の第2輪郭点C2を特定する(ステップA301)。そして、第1特定部e1は、マスク画像P2にて右手首骨格点B6と第2輪郭点C2とを結ぶ線分を第2基準線分L2として設定する(ステップA302)。
【0108】
次に、第1特定部e1は、輪郭情報に基づいて、マスク画像P2の被写体領域の右手先に相当する部分の輪郭線上の点であって、第2基準線分L2に直交し、且つ、右手首骨格点B6を通る直線と交わる輪郭線上の二つの手首側交点の座標を取得する(ステップA303)。
続けて、第1特定部e1は、マスク画像P2の被写体領域の右手先に相当する部分の輪郭線のうち、第2輪郭点C2を含む二つの手首側交点間を走査し、輪郭情報に基づいて、第2基準線分L2に直交する直線と交わり、右手首骨格点B6から最も離れた位置に存する第1交点D1を特定する(ステップA304)。次に、第1特定部e1は、マスク画像P2の被写体領域の右手先に相当する部分の輪郭線のうち、第2輪郭点C2を含む二つの手首側交点間を走査し、輪郭情報に基づいて、第2基準線分L2を挟む平行な二直線の各々と交わり、当該第2基準線分L2に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する(ステップA305)。
【0109】
その後、第1特定部e1は、マスク画像P2にて、第1〜第3交点D1〜D3並びに右手首骨格点B6に接する直角四辺形R1を設定して、当該直角四辺形R1の第1〜第4頂点F1〜F4の各座標を取得する(ステップA306)。
これにより、直角四辺形設定処理を終了する。
【0110】
図9に戻り、第1特定部e1は、マスク画像P2における手先画像P2a1(図18(b)参照)における直角四辺形R1の第1頂点F1と第4頂点F4を結ぶ一の辺上の第1頂点F1の位置(座標)を指定する(ステップA203)。
その後、第1特定部e1は、第1頂点F1と第4頂点F4を結ぶ一の辺に直交する方向(例えば、図18(b)における上下方向)に一画素ずつ走査していき、被写体切り抜き画像P1の手先画像P1a1(図18(a)参照)における当該直角四辺形R1内に存する被写体領域Ps(ヒトの手先及び足先に相当する部分)の各画素の画素値を取得する(ステップA204)。
【0111】
次に、第1特定部e1は、走査位置が直角四辺形R1の一の辺に対向する辺(第2頂点F2と第3頂点F3を結ぶ辺)に到達したか否かを判定する(ステップA205)。ここで、走査位置が対向する辺上に到達したと判定されると(ステップA205;YES)、第1特定部e1は、取得された各画素の画素値に基づいて、一の辺上の当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA206)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの右手に相当する部分P3a1のうち、当該走査方向に沿った所定数の画素からなる領域を、第1特定部e1により算出された代表画素値で描画する(ステップA207)。
【0112】
次に、第1特定部e1は、一の辺上の走査位置が第4頂点F4に到達したか否かを判定する(ステップA208)。
ここで、走査位置が第4頂点F4に到達していないと判定されると(ステップA208;NO)、第1特定部e1は、一の辺上の走査位置を第4頂点F4側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA209)、処理をステップA204に移行させる。
その後、動画処理部306は、ステップA204以降の処理を、ステップA208にて走査位置が第4頂点F4に到達したと判定(ステップA208;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの右手先に相当する部分P3a1が一の辺を基準とする各走査毎に描画される。
【0113】
そして、ステップA208にて、一の辺上の走査位置が第4頂点F4に到達したと判定されると(ステップA208;YES)、動画処理部306は、当該手先領域描画処理を終了する。
【0114】
<脚描画処理>
以下に、脚描画処理について、図11を参照して詳細に説明する。
図11は、裏面画像生成処理における脚描画処理に係る動作の一例を示すフローチャートである。
【0115】
図11に示すように、先ず、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの左右の脚に相当する部分のうち、脚本体の領域を描画する脚領域描画処理を行った後(ステップA51)、足先側の領域を描画する足先領域描画処理を行う(ステップA52)。
なお、脚描画処理の脚領域描画処理及び足先領域描画処理は、上記した腕描画処理における腕領域描画処理及び手先領域描画処理の各々の各処理と略同様の処理であり、その詳細な説明は省略する。
【0116】
<胴体描画処理>
以下に、胴体描画処理について、図12を参照して詳細に説明する。
図12は、裏面画像生成処理における胴体描画処理に係る動作の一例を示すフローチャートである。
【0117】
図12に示すように、色特定部306eの第2特定部e2は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された顎骨格点B17と左右の股関節骨格点B9、B10を特定する(ステップA601)。
そして、第2特定部e2は、左右の股関節骨格点B9、B10の中点Bmを特定した後、マスク画像P2にて、当該中点Bmと顎骨格点B17とを結ぶ第3基準線分L3を特定する(ステップA602)。続けて、第2特定部e2は、第3基準線分L3の両端部側を当該基準線分Lの延在方向に1割ずつ延長した延長線分L3aを設定する(ステップA603)。
【0118】
続けて、第2特定部e2は、マスク画像P2における延長線分L3a上の顎側の端部の位置(座標)を指定した後(ステップA604)、当該延長線分L3aに直交する二方向のうちの所定の一方向(例えば、図19(b)における左方向)に一画素ずつ走査していく(ステップA605)。
そして、第2特定部e2は、走査位置が被写体領域Psにおける胴体に相当する部分の一方向の輪郭線上に到達したか否かを判定する(ステップA606)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA606;YES)、第2特定部e2は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA607)。
【0119】
一方、ステップA606にて、走査位置が輪郭線上に到達していないと判定されると(ステップA606;NO)、第2特定部e2は、走査位置が両腕や両脚の描画済領域Aに到達したか否かを判定する(ステップA608)。
ここで、走査位置が両腕や両脚の描画済領域Aに到達したと判定されると(ステップA608;YES)、第2特定部e2は、処理をステップA607に移行して、マスク画像P2における描画済領域Aの所定画素手前の画素の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA607)。
【0120】
その後、第2特定部e2は、延長線分L3aに直交する二方向のうちの他方向(例えば、図19(b)における下方向)に一画素ずつ走査していく(ステップA609)。
そして、第2特定部e2は、走査位置が被写体領域Psにおける胴体に相当する部分の他方向の輪郭線上に到達したか否かを判定する(ステップA610)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA610;YES)、第2特定部e2は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA611)。
【0121】
一方、ステップA610にて、走査位置が輪郭線上に到達していないと判定されると(ステップA610;NO)、第2特定部e2は、走査位置が両腕や両脚の描画済領域Aに到達したか否かを判定する(ステップA612)。
ここで、走査位置が両腕や両脚の描画済領域Aに到達したと判定されると(ステップA612;YES)、第2特定部e2は、処理をステップA611に移行して、マスク画像P2における描画済領域Aの所定画素手前の画素の座標を取得した後、被写体切り抜き画像P1の胴体画像P1b(図19(a)参照)に基づいて、描画済領域Aの所定画素手前の画素の画素値と当該画素に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA611)。
【0122】
その後、第2特定部e2は、延長線分L3aに直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、延長線分L3aの当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA613)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの胴体に相当する部分P3bのうち、延長線分L3aの当該走査方向に沿った所定数の画素からなる領域を、第2特定部e2により算出された代表画素値で描画する(ステップA614)。
【0123】
次に、第2特定部e2は、延長線分L3aに直交する二方向の各々の方向について、今回の走査方向に沿った所定数の画素からなる領域の長さと前回の走査方向に沿った所定数の画素からなる領域の長さとの差分が所定値を超えたか否かを判定する(ステップA615)。
具体的には、第2特定部e2は、今回の走査方向に沿った所定数の画素からなる領域が、前回の走査方向に沿った所定数の画素からなる領域の長さの所定割合の長さよりも長いか否かに応じて、差分が所定値を超えたか否かを判定する。
【0124】
ステップA615にて、差分が所定値を超えていないと判定されると(ステップA615;NO)、第2特定部e2は、延長線分L3a上の走査位置が股関節側の端部に到達したか否かを判定する(ステップA616)。
ここで、走査位置が股関節側の端部に到達していないと判定されると(ステップA616;NO)、第2特定部e2は、延長線分L3a上の走査位置を股関節側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA617)、処理をステップA605に移行させる。
その後、動画処理部306は、ステップA605以降の処理を、ステップA616にて走査位置が股関節側の端部に到達したと判定(ステップA616;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの胴体に相当する部分P3bが延長線分L3aを基準とする各走査毎に描画される。
【0125】
そして、ステップA616にて、延長線分L3a上の走査位置が股関節側の端部に到達したと判定されると(ステップA616;YES)、動画処理部306は、当該胴体描画処理を終了する。
また、ステップA615にて、差分が所定値を超えたと判定された場合にも(ステップA615;YES)、動画処理部306は、当該胴体描画処理を終了する。
【0126】
<頭描画処理>
以下に、頭描画処理について、図13〜図15を参照して詳細に説明する。
図13は、裏面画像生成処理における脚描画処理に係る動作の一例を示すフローチャートである。
【0127】
図13に示すように、動画処理部306は、マスク画像P2(裏面画像P3)における被写体対応領域Paの頭に相当する部分P3cを、基準線分L(例えば、第4基準線分L4)に対する直交方向に描画する第1描画処理(図14参照)を行った後(ステップA71)、マスク画像P2(裏面画像P3)における被写体対応領域Paにおける直角四辺形R2内に存する頭に相当する部分を平行方向に描画する第2描画処理(図15参照)を行う(ステップA72)。
【0128】
<第1描画処理>
以下に、第1描画処理について、図14を参照して詳細に説明する。
図14は、第1描画処理に係る動作の一例を示すフローチャートである。
【0129】
図14に示すように、色特定部306eの第3特定部e3は、先ず、被写体切り抜き画像P1及びマスク画像P2における、骨格点設定部306dにより設定された顎骨格点B17と頭頂部骨格点B18とを特定する(ステップA801)。
次に、第3特定部e3は、マスク画像P2にて、顎骨格点B17と頭頂部骨格点B18とを結ぶ線分を第4基準線分L4として設定する(ステップA802)。
【0130】
続けて、第3特定部e3は、マスク画像P2における第4基準線分L4上の顎骨格点B17の位置(座標)を指定した後(ステップA803)、当該第4基準線分L4に直交する二方向のうちの所定の一方向(例えば、図20(b)における左方向)に一画素ずつ走査していく(ステップA804)。
そして、第3特定部e3は、走査位置が被写体領域Psにおける頭に相当する部分の一方向の輪郭線上に到達したか否かを判定する(ステップA805)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA805;YES)、第3特定部e3は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA806)。
【0131】
次に、第3特定部e3は、第4基準線分L4に直交する二方向のうちの他方向(例えば、図20(b)における右方向)に一画素ずつ走査していく(ステップA807)。
そして、第3特定部e3は、走査位置が被写体領域Psにおける頭に相当する部分の他方向の輪郭線上に到達したか否かを判定する(ステップA808)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA808;YES)、第3特定部e3は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA809)。
【0132】
次に、第3特定部e3は、第4基準線分L4に直交する二方向のうちの各方向について算出された画素値の代表値に基づいて、第4基準線分L4の当該走査位置における代表画素値(例えば、平均値)を算出する(ステップA810)。
続けて、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの頭に相当する部分P3cのうち、第4基準線分L4の当該走査方向に沿った所定数の画素からなる領域を、第3特定部e3により算出された代表画素値で描画する(ステップA811)。
【0133】
次に、第3特定部e3は、第4基準線分L4に直交する二方向の各々の方向について、今回の走査方向に沿った所定数の画素からなる領域の長さと前回の走査方向に沿った所定数の画素からなる領域の長さとの差分が所定値を超えたか否かを判定する(ステップA812)。
具体的には、第3特定部e3は、今回の走査方向に沿った所定数の画素からなる領域が、前回の走査方向に沿った所定数の画素からなる領域の長さの所定割合の長さよりも長いか否かに応じて、差分が所定値を超えたか否かを判定する。
【0134】
ステップA812にて、差分が所定値を超えていないと判定されると(ステップA812;NO)、第3特定部e3は、第4基準線分L4上の走査位置が頭頂部骨格点B18に到達したか否かを判定する(ステップA813)。
ここで、走査位置が頭頂部骨格点B18に到達していないと判定されると(ステップA813;NO)、第3特定部e3は、第4基準線分L4上の走査位置を頭頂部骨格点B18側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA814)、処理をステップA804に移行させる。
その後、動画処理部306は、ステップA804以降の処理を、ステップA813にて走査位置が頭頂部骨格点B18に到達したと判定(ステップA813;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの頭に相当する部分P3cが第4基準線分L4を基準とする各走査毎に描画される。
【0135】
そして、ステップA813にて、第4基準線分L4上の走査位置が頭頂部骨格点B18に到達したと判定されると(ステップA813;YES)、動画処理部306は、当該第1描画処理を終了する。
また、ステップA812にて、差分が所定値を超えたと判定された場合にも(ステップA812;YES)、動画処理部306は、当該第1描画処理を終了する。
【0136】
<第2描画処理>
以下に、第2描画処理について、図15を参照して詳細に説明する。
図15は、第2描画処理に係る動作の一例を示すフローチャートである。
【0137】
図15に示すように、色特定部306eの第3特定部e3は、先ず、被写体切り抜き画像P1及びマスク画像P2にて、ヒトの頭に相当する部分の各々を囲む直角四辺形R2を設定する直角四辺形設定処理(図10参照)を行う(ステップA901)。
【0138】
第2描画処理における直角四辺形設定処理は、上記した手先領域描画処理における直角四辺形設定処理の各処理と略同様の処理である。
即ち、第3特定部e3は、輪郭情報に基づいて、マスク画像P2の被写体領域の頭に相当する部分の輪郭線上の点であって、第4基準線分L4に直交し、且つ、顎骨格点B17を通る直線と交わる輪郭線上の二つの顎側交点の座標を取得する。
続けて、第3特定部e3は、マスク画像P2の被写体領域の頭に相当する部分の輪郭線のうち、頭頂部骨格点B18を含む二つの顎側交点間を走査し、輪郭情報に基づいて、第4基準線分L4を挟む平行な二直線の各々と交わり、当該第4基準線分L4に対する直交方向に最も離れた位置に存する第2及び第3交点D2、D3を特定する。
その後、第3特定部e3は、マスク画像P2にて顎骨格点B17及び頭頂部骨格点B18並びに第2及び第3交点D2、D3に接する直角四辺形R2を設定して、当該直角四辺形R2の第1〜第4頂点F1〜F4の各座標を取得する。
これにより、直角四辺形設定処理を終了する。
【0139】
次に、第3特定部e3は、第4基準線分L4の延在方向の長さに基づいて顎側に境界線Qを設定する(ステップA902)。具体的には、第3特定部e3は、直角四辺形R2内に、第4基準線分L4の延在方向の長さの所定割合(例えば、9割程度)の位置を通り、当該第4基準線分L4に直交する直線を境界線Qとして設定する。
【0140】
次に、第3特定部e3は、マスク画像P2の頭画像P2c(図20(b)参照)における直角四辺形R2の第1頂点F1と第2頂点F2を結ぶ一の辺上の第1頂点F1の位置(座標)を指定した後(ステップA903)、当該一の辺に直交する方向(例えば、図20(b)における下方向)に一画素ずつ走査していく(ステップA904)。
そして、第3特定部e3は、走査位置が被写体領域Psにおける頭に相当する部分の輪郭線上に到達したか否かを判定する(ステップA905)。ここで、走査位置が輪郭線上に到達したと判定されると(ステップA905;YES)、第3特定部e3は、マスク画像P2における当該輪郭線上の点の座標を取得した後、被写体切り抜き画像P1の頭部画像P1c(図20(a)参照)に基づいて、輪郭線上の点の画素値と当該輪郭線上の点に隣接する走査方向(例えば、図20(b)における下方向)に所定画素数分の各画素の画素値の代表値(例えば、平均値)を算出する(ステップA906)。
【0141】
次に、裏面画像生成部306fは、直角四辺形R2内に存する頭に相当する部分における当該走査位置に係る第4基準線分L4に対する平行方向の長さが、境界線Q上に到達したか否かを判定する(ステップA907)。
ここで、当該走査位置における平行方向の長さが境界線Q上に到達しないと判定されると(ステップA907;NO)、裏面画像生成部306fは、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域のうち、頭頂部側の輪郭の位置から当該領域の長さの所定割合となる位置までを、第3特定部e3により特定された代表画素値で描画する(ステップA908)。
一方、ステップA907にて、当該走査位置における平行方向の長さが境界線Q上に到達したと判定されると(ステップA907;YES)、裏面画像生成部306fは、第1頂点F1と第2頂点F2とを結ぶ一の辺から頭頂部側の輪郭までの背景部分の長さTを算出した後(ステップA909)、マスク画像P2(裏面画像P3)における被写体対応領域Paの当該走査方向に沿った領域のうち、頭頂部側の輪郭の位置から背景部分の長さTを減じた顎側位置までを、第3特定部e3により特定された代表画素値で描画する(ステップA910)。
【0142】
次に、第3特定部e3は、一の辺上の走査位置が第2頂点F2に到達したか否かを判定する(ステップA911)。
ここで、走査位置が第2頂点F2に到達していないと判定されると(ステップA911;NO)、第3特定部e3は、一の辺上の走査位置を第2頂点F2側に一画素移動させて、当該画素の位置(座標)を指定した後(ステップA912)、処理をステップA904に移行させる。
その後、動画処理部306は、ステップA904以降の処理を、ステップA911にて走査位置が第2頂点F2に到達したと判定(ステップA911;YES)されるまで、逐次繰り返し実行する。これにより、マスク画像P2(裏面画像P3)におけるヒトの頭に相当する部分が一の辺を基準とする各走査毎に描画される。
【0143】
そして、ステップA911にて、一の辺上の走査位置が第2頂点F2に到達したと判定されると(ステップA911;YES)、動画処理部306は、当該第2描画処理を終了する。
【0144】
以上のように、本実施形態の動画生成システム100によれば、被写体切り抜き画像P1の被写体の骨格に係る骨格情報に基づいて、被写体領域Psの輪郭部分の色情報を特定し、当該被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して、被写体の裏側を擬似的に表す裏面画像P3を生成するので、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色情報を利用して、視認者に違和感を生じさせ難い裏面画像P3の生成を簡便に行うことができる。具体的には、被写体切り抜き画像P1の被写体領域Ps内で設定された骨格と関連付けられた骨格点Bを通る基準線分Lを基準として、被写体領域Psの輪郭部分、特に、被写体領域Psにおける基準線分Lに対する直交方向及び平行方向のうちの少なくとも一の方向の輪郭部分の色情報を特定して、裏面画像P3の被写体対応領域Paを当該被写体の基準線分Lが含まれる部位毎にそれぞれ描画することができる。
従って、裏面画像P3の被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で被写体の部位毎に描画することができ、被写体切り抜き画像P1の被写体領域Psに対して裏面画像P3を視認者に違和感を生じさせ難くすることができる。
これにより、静止画像(正面画像)である被写体切り抜き画像P1を所定方向に回転させる場合に、当該静止画像の裏側の表現を裏面画像P3により適正に行うことができる。また、被写体切り抜き画像P1の被写体画像内で動き制御点を設定するだけで、当該被写体切り抜き画像P1に対応する裏面画像P3内の所定位置に対してもそれぞれ対応する動き制御点を自動的に設定することができ、動画像の生成処理をより簡便なものとすることができる。
【0145】
また、被写体領域Psのヒトの手先及び足先に相当する部分の各々を囲む直角四辺形R1を設定し、この直角四辺形R1の基準線分Lと平行な一の辺を基準として当該基準線分Lに対する直交方向に走査して、当該直角四辺形R1内に存する被写体領域Psの色情報を各走査毎に取得して、被写体領域Psの色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定することができる。そして、直角四辺形R1内に存する被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの手先及び足先に相当する部分P3a1を各走査毎にそれぞれ描画するので、被写体領域Psが入り組んだ形状をなすヒトの手先や足先に相当する部分であっても、当該ヒトの手先及び足先に相当する部分に設定された直角四辺形R1を利用して、裏面画像P3の当該直角四辺形R1内に存する被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの輪郭部分の色から視認者が想像し易い色で各走査毎にそれぞれ描画することができる。
【0146】
また、被写体領域Psのヒトの胴体に相当する部分に設定された基準線分Lの少なくとも一の端部側を当該基準線分Lの延在方向に所定の割合延長した延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、前記被写体領域Psの色情報を各走査毎に取得し、各走査毎に取得された被写体領域Psの色情報に基づいて、被写体領域Psの各走査に対応する輪郭部分の色情報をそれぞれ特定することができる。そして、被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの胴体に相当する部分P3bを各走査毎にそれぞれ描画するので、ヒトの胴体に相当する部分に設定された延長線分L3aを利用して、裏面画像P3の被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの当該延長線分L3aに直交する方向の輪郭部分の色から視認者が想像し易い色で各走査毎にそれぞれ描画することができる。
【0147】
また、被写体領域Psのヒトの胴体に相当する部分に係る輪郭部分の色情報の特定処理が、裏面画像P3の被写体対応領域Paにおける両腕及び両脚に相当する部分の描画に係る裏面画像生成処理の後に行われても、延長線分L3aを基準として当該延長線分L3aに対する直交方向に走査して、延長線分L3aを直交方向に挟み、被写体領域Psの輪郭の各々と交わる二点、或いは、被写体領域Psの胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定し、各走査毎に特定された二点を基準として、被写体領域Psの二つの輪郭部分の色情報を各走査毎に取得することができる。つまり、裏面画像P3の被写体対応領域Paの胴体に隣接する両腕及び両脚に相当する部分が描画済みであるか否かを考慮して、裏面画像P3の生成を効率良く適正に行うことができる。
【0148】
また、被写体領域Psのヒトの頭に相当する部分に設定された基準線分Lに対する直交方向の輪郭部分の色情報、即ち、基準線分Lを基準として当該基準線分Lに対する直交方向に走査することで各走査毎に取得された被写体領域Psの色情報に基づいて特定された、被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cを直交方向に描画することができる。
その後、基準線分Lに対する平行方向の輪郭部分の色情報、即ち、ヒトの頭に相当する部分を囲む直角四辺形R2の基準線分Lに直交する一の辺を基準として基準線分Lに対する平行方向に走査することで各走査毎に取得された当該直角四辺形R2内に存する被写体領域Psの色情報に基づいて特定された、被写体領域Psの各走査に対応する輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cを平行方向に描画することができる。具体的には、直角四辺形R2内に存する被写体領域Psの基準線分Lに対する平行方向の長さや直角四辺形R2の基準線分Lと平行な一の辺の長さを基準として、裏面画像P3の被写体対応領域Paにおけるヒトの頭に相当する部分P3cの所定位置まで平行方向に描画することができる。
従って、基準線分Lに対する直交方向及び平行方向の各輪郭部分の色を考慮して、裏面画像P3の被写体対応領域Paを、被写体切り抜き画像P1の被写体領域Psの当該基準線分Lに対する直交方向や平行方向の輪郭部分の色から視認者が想像し易い色で描画することができる。つまり、頭頂部側では基準線分Lに対する直交方向の輪郭部分の色を考慮して、例えば、髪の毛の色から視認者が想像し易い色で描画することができる一方で、頭頂部から離れたより顎側の部分では基準線分Lに対する平行方向の輪郭部分の色を考慮して、例えば、耳や首周りの地肌の色から視認者が想像し易い色で描画することができる。
【0149】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態にあっては、ユーザによるユーザ端末2の所定操作に基づいて、Webサーバとして機能するサーバ(画像生成装置)3によって動画像を生成するようにしたが、一例であってこれに限られるものではなく、画像生成装置の構成は適宜任意に変更可能である。即ち、裏面画像P3の生成に係る動画処理部306の機能をソフトウェアにより実現される構成として、ユーザ端末2にインストールすることで通信ネットワークNを必要とすることなく、当該ユーザ端末2単体で動画生成処理を行うようにしても良い。
【0150】
また、上記実施形態にあっては、被写体切り抜き画像P1を処理対象としたが、一例であってこれに限られるものではなく、適宜任意に変更可能であり、例えば、最初から被写体領域Psのみの画像を用いても良い。
また、裏面画像生成処理を、腕描画処理、脚描画処理、胴体描画処理、頭描画処理の順に行うようにしたが、当該各処理の順序は一例であってこれに限られるものではなく、適宜任意に変更可能である。
また、頭描画処理を、第1描画処理、第2描画処理の順に行うようにしたが、当該各処理の順序は一例であってこれに限られるものではなく、適宜任意に変更可能である。即ち、例えば、頭に帽子を被ったヒトに係る被写体切り抜き画像P1の場合等には、マスク画像P2における被写体対応領域Paにおける直角四辺形R2内に存する頭に相当する部分を平行方向に描画する第2描画処理の後に、基準線分Lに対する直交方向に描画する第1描画処理を行うようにしても良い。さらに、第1描画処理と第2描画処理の処理順序を入れ替えた裏面画像P3を二つ生成して、ユーザに何れか一方の裏面画像P3を選択させるような構成としても良い。
【0151】
また、上記実施形態の動画生成処理にあっては、被写体画像の合成位置やサイズを調整可能に構成されても良い。即ち、ユーザ端末2の中央制御部201は、ユーザによる操作入力部202の所定操作に基づいて、被写体画像の合成位置やサイズの調整指示が入力されたと判定すると、当該調整指示に対応する信号を通信制御部206により所定の通信ネットワークNを介してサーバ3に送信させる。そして、サーバ3の動画処理部306は、通信制御部を介して入力された調整指示に基づいて、被写体画像の合成位置を所望の合成位置に設定したり、当該被写体画像のサイズを所望のサイズに設定するようにしても良い。
【0152】
また、上記実施形態にあっては、ユーザ端末2として、パーソナルコンピュータを例示したが、一例であってこれに限られるものではなく適宜任意に変更可能であり、例えば、携帯電話機等を適用しても良い。
なお、被写体切り抜き画像P1や動画像のデータには、ユーザによる所定の改変を禁止する制御情報を埋め込むようにしても良い。
【0153】
加えて、上記実施形態にあっては、第1取得手段、第2取得手段、特定手段、生成手段としての機能を、中央制御部301の制御下にて、画像取得部306a、骨格情報取得部306b、色特定部306e、裏面画像生成部306fが駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部301のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、第1取得処理ルーチン、第2取得処理ルーチン、特定処理ルーチン、生成処理ルーチンを含むプログラムを記憶しておく。そして、第1取得処理ルーチンにより中央制御部301のCPUを、被写体領域Psが含まれる被写体画像を取得する第1取得手段として機能させるようにしても良い。また、第2取得処理ルーチンにより中央制御部301のCPUを、第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段として機能させるようにしても良い。また、特定処理ルーチンにより中央制御部301のCPUを、第2取得手段により取得された骨格情報に基づいて、被写体領域Psの輪郭部分の色情報を特定する特定手段として機能させるようにしても良い。また、生成処理ルーチンにより中央制御部301のCPUを、特定手段により特定された被写体領域Psの輪郭部分の色情報に基づいて、裏面画像P3の被写体対応領域Paを被写体の部位毎にそれぞれ描画して当該裏面画像P3を生成する生成手段として機能させるようにしても良い。
【0154】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0155】
〔付記〕
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
<請求項1>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成方法であって、
被写体領域が含まれる被写体画像を取得する第1取得ステップと、
この第1取得ステップにより取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得ステップと、
この第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定ステップと、
この特定ステップにより特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成ステップと、
を含むことを特徴とする画像生成方法。
<請求項2>
前記第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体画像の前記被写体領域内で骨格と関連付けられた骨格点を設定する設定ステップを更に含み、
前記特定ステップは、
前記設定ステップにより設定された骨格点を通る基準線分を基準として、前記被写体領域の輪郭部分の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
<請求項3>
前記生成ステップは、更に、
前記裏面画像の前記被写体対応領域を当該被写体の前記基準線分が含まれる部位毎にそれぞれ描画することを特徴とする請求項2に記載の画像生成方法。
<請求項4>
前記特定ステップは、更に、
前記被写体領域における前記基準線分に対する直交方向及び平行方向のうちの少なくとも一の方向の輪郭部分の色情報を特定することを特徴とする請求項2又は3に記載の画像生成方法。
<請求項5>
前記特定ステップは、
前記被写体領域の手先及び足先に相当する部分の各々の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記手先及び足先に相当する部分の各々を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分と平行な一の辺を基準として当該基準線分に対する直交方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記直角四辺形内に存する前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
<請求項6>
前記生成ステップは、更に、
前記特定ステップにより特定された前記直角四辺形内に存する前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における手先及び足先に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項5に記載の画像生成方法。
<請求項7>
前記特定ステップは、
前記被写体領域の胴体に相当する部分に設定された一の骨格点を通り、脊椎にほぼ沿って延在する基準線分の少なくとも一の端部側を当該基準線分の延在方向に所定の割合延長した延長線分を設定するステップと、
設定された前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
<請求項8>
前記特定ステップは、更に、
前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記延長線分を前記直交方向に挟み、前記被写体領域の輪郭の各々と交わる二点、或いは、前記被写体領域の前記胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定するステップを有し、
各走査毎に特定された前記二点を基準として、前記被写体領域の二つの輪郭部分の色情報を各走査毎に取得することを特徴とする請求項7に記載の画像生成方法。
<請求項9>
前記被写体領域の胴体に相当する部分に係る前記特定ステップは、前記裏面画像の前記被写体対応領域における前記両腕及び前記両脚に相当する部分の描画に係る前記生成ステップの後に行われることを特徴とする請求項7又は8に記載の画像生成方法。
<請求項10>
前記生成ステップは、更に、
前記特定ステップにより特定された前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における胴体に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項7〜9の何れか一項に記載の画像生成方法。
<請求項11>
前記生成ステップは、
前記特定ステップにより特定された、前記被写体領域の頭に相当する部分の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対する直交方向の輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における頭に相当する部分を前記直交方向に描画するステップと、
前記特定ステップにより特定された、前記基準線分に対する平行方向の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域における頭に相当する部分を前記平行方向に描画するステップとを更に有することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
<請求項12>
前記特定ステップは、
前記基準線分を基準として当該基準線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
<請求項13>
前記特定ステップは、
前記基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記頭に相当する部分を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分に直交する一の辺を基準として前記基準線分に対する平行方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
<請求項14>
前記生成ステップは、更に、
前記直角四辺形内に存する前記被写体領域の前記基準線分に対する平行方向の長さ、及び、前記直角四辺形の前記基準線分と平行な一の辺の長さのうちの少なくとも一の長さを基準として、前記裏面画像の前記被写体対応領域における頭に相当する部分の所定位置まで前記平行方向に描画することを特徴とする請求項11〜13の何れか一項に記載の画像生成方法。
<請求項15>
前記第1取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜14の何れか一項に記載の画像生成方法。
<請求項16>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する第1取得手段と、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段と、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段と、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段と、
を備えたことを特徴とする画像生成装置。
<請求項17>
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する第1取得手段、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0156】
100 動画生成システム
1 撮像装置
2 ユーザ端末
3 サーバ
301 中央制御部
306 動画処理部
306a 画像取得部
306b 骨格情報取得部
306d 骨格点設定部
306e 色特定部
e1 第1特定部
e2 第2特定部
e3 第3特定部
306f 裏面画像生成部
【特許請求の範囲】
【請求項1】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成方法であって、
被写体領域が含まれる被写体画像を取得する第1取得ステップと、
この第1取得ステップにより取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得ステップと、
この第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定ステップと、
この特定ステップにより特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成ステップと、
を含むことを特徴とする画像生成方法。
【請求項2】
前記第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体画像の前記被写体領域内で骨格と関連付けられた骨格点を設定する設定ステップを更に含み、
前記特定ステップは、
前記設定ステップにより設定された骨格点を通る基準線分を基準として、前記被写体領域の輪郭部分の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
【請求項3】
前記生成ステップは、更に、
前記裏面画像の前記被写体対応領域を当該被写体の前記基準線分が含まれる部位毎にそれぞれ描画することを特徴とする請求項2に記載の画像生成方法。
【請求項4】
前記特定ステップは、更に、
前記被写体領域における前記基準線分に対する直交方向及び平行方向のうちの少なくとも一の方向の輪郭部分の色情報を特定することを特徴とする請求項2又は3に記載の画像生成方法。
【請求項5】
前記特定ステップは、
前記被写体領域の手先及び足先に相当する部分の各々の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記手先及び足先に相当する部分の各々を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分と平行な一の辺を基準として当該基準線分に対する直交方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記直角四辺形内に存する前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
【請求項6】
前記生成ステップは、更に、
前記特定ステップにより特定された前記直角四辺形内に存する前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における手先及び足先に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項5に記載の画像生成方法。
【請求項7】
前記特定ステップは、
前記被写体領域の胴体に相当する部分に設定された一の骨格点を通り、脊椎にほぼ沿って延在する基準線分の少なくとも一の端部側を当該基準線分の延在方向に所定の割合延長した延長線分を設定するステップと、
設定された前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
【請求項8】
前記特定ステップは、更に、
前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記延長線分を前記直交方向に挟み、前記被写体領域の輪郭の各々と交わる二点、或いは、前記被写体領域の前記胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定するステップを有し、
各走査毎に特定された前記二点を基準として、前記被写体領域の二つの輪郭部分の色情報を各走査毎に取得することを特徴とする請求項7に記載の画像生成方法。
【請求項9】
前記被写体領域の胴体に相当する部分に係る前記特定ステップは、前記裏面画像の前記被写体対応領域における前記両腕及び前記両脚に相当する部分の描画に係る前記生成ステップの後に行われることを特徴とする請求項7又は8に記載の画像生成方法。
【請求項10】
前記生成ステップは、更に、
前記特定ステップにより特定された前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における胴体に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項7〜9の何れか一項に記載の画像生成方法。
【請求項11】
前記生成ステップは、
前記特定ステップにより特定された、前記被写体領域の頭に相当する部分の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対する直交方向の輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における頭に相当する部分を前記直交方向に描画するステップと、
前記特定ステップにより特定された、前記基準線分に対する平行方向の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域における頭に相当する部分を前記平行方向に描画するステップとを更に有することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
【請求項12】
前記特定ステップは、
前記基準線分を基準として当該基準線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
【請求項13】
前記特定ステップは、
前記基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記頭に相当する部分を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分に直交する一の辺を基準として前記基準線分に対する平行方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
【請求項14】
前記生成ステップは、更に、
前記直角四辺形内に存する前記被写体領域の前記基準線分に対する平行方向の長さ、及び、前記直角四辺形の前記基準線分と平行な一の辺の長さのうちの少なくとも一の長さを基準として、前記裏面画像の前記被写体対応領域における頭に相当する部分の所定位置まで前記平行方向に描画することを特徴とする請求項11〜13の何れか一項に記載の画像生成方法。
【請求項15】
前記第1取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜14の何れか一項に記載の画像生成方法。
【請求項16】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する第1取得手段と、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段と、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段と、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段と、
を備えたことを特徴とする画像生成装置。
【請求項17】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する第1取得手段、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【請求項1】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成方法であって、
被写体領域が含まれる被写体画像を取得する第1取得ステップと、
この第1取得ステップにより取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得ステップと、
この第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定ステップと、
この特定ステップにより特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成ステップと、
を含むことを特徴とする画像生成方法。
【請求項2】
前記第2取得ステップにより取得された前記骨格情報に基づいて、前記被写体画像の前記被写体領域内で骨格と関連付けられた骨格点を設定する設定ステップを更に含み、
前記特定ステップは、
前記設定ステップにより設定された骨格点を通る基準線分を基準として、前記被写体領域の輪郭部分の色情報を特定することを特徴とする請求項1に記載の画像生成方法。
【請求項3】
前記生成ステップは、更に、
前記裏面画像の前記被写体対応領域を当該被写体の前記基準線分が含まれる部位毎にそれぞれ描画することを特徴とする請求項2に記載の画像生成方法。
【請求項4】
前記特定ステップは、更に、
前記被写体領域における前記基準線分に対する直交方向及び平行方向のうちの少なくとも一の方向の輪郭部分の色情報を特定することを特徴とする請求項2又は3に記載の画像生成方法。
【請求項5】
前記特定ステップは、
前記被写体領域の手先及び足先に相当する部分の各々の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記手先及び足先に相当する部分の各々を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分と平行な一の辺を基準として当該基準線分に対する直交方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記直角四辺形内に存する前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
【請求項6】
前記生成ステップは、更に、
前記特定ステップにより特定された前記直角四辺形内に存する前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における手先及び足先に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項5に記載の画像生成方法。
【請求項7】
前記特定ステップは、
前記被写体領域の胴体に相当する部分に設定された一の骨格点を通り、脊椎にほぼ沿って延在する基準線分の少なくとも一の端部側を当該基準線分の延在方向に所定の割合延長した延長線分を設定するステップと、
設定された前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
【請求項8】
前記特定ステップは、更に、
前記延長線分を基準として当該延長線分に対する直交方向に走査して、前記延長線分を前記直交方向に挟み、前記被写体領域の輪郭の各々と交わる二点、或いは、前記被写体領域の前記胴体に隣接する両腕及び両脚の各々と交わる二点を各走査毎に特定するステップを有し、
各走査毎に特定された前記二点を基準として、前記被写体領域の二つの輪郭部分の色情報を各走査毎に取得することを特徴とする請求項7に記載の画像生成方法。
【請求項9】
前記被写体領域の胴体に相当する部分に係る前記特定ステップは、前記裏面画像の前記被写体対応領域における前記両腕及び前記両脚に相当する部分の描画に係る前記生成ステップの後に行われることを特徴とする請求項7又は8に記載の画像生成方法。
【請求項10】
前記生成ステップは、更に、
前記特定ステップにより特定された前記被写体領域の各走査に対応する輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における胴体に相当する部分を各走査毎にそれぞれ描画することを特徴とする請求項7〜9の何れか一項に記載の画像生成方法。
【請求項11】
前記生成ステップは、
前記特定ステップにより特定された、前記被写体領域の頭に相当する部分の先端側に設定された一の骨格点と当該一の骨格点に隣接する他の骨格点とを通る基準線分に対する直交方向の輪郭部分の色情報に基づいて、前記裏面画像の前記被写体対応領域における頭に相当する部分を前記直交方向に描画するステップと、
前記特定ステップにより特定された、前記基準線分に対する平行方向の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域における頭に相当する部分を前記平行方向に描画するステップとを更に有することを特徴とする請求項2〜4の何れか一項に記載の画像生成方法。
【請求項12】
前記特定ステップは、
前記基準線分を基準として当該基準線分に対する直交方向に走査して、前記被写体領域の色情報を各走査毎に取得するステップを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
【請求項13】
前記特定ステップは、
前記基準線分に対して平行な2つの辺及び前記基準線分に対して直交する2つの辺を有し、前記頭に相当する部分を囲む直角四辺形を設定するステップと、
設定された前記直角四辺形の前記基準線分に直交する一の辺を基準として前記基準線分に対する平行方向に走査して、当該直角四辺形内に存する前記被写体領域の色情報を各走査毎に取得するステップとを更に有し、
各走査毎に取得された前記被写体領域の色情報に基づいて、前記被写体領域の各走査に対応する輪郭部分の色情報をそれぞれ特定することを特徴とする請求項11に記載の画像生成方法。
【請求項14】
前記生成ステップは、更に、
前記直角四辺形内に存する前記被写体領域の前記基準線分に対する平行方向の長さ、及び、前記直角四辺形の前記基準線分と平行な一の辺の長さのうちの少なくとも一の長さを基準として、前記裏面画像の前記被写体対応領域における頭に相当する部分の所定位置まで前記平行方向に描画することを特徴とする請求項11〜13の何れか一項に記載の画像生成方法。
【請求項15】
前記第1取得ステップは、背景と被写体とが存在する画像から被写体が含まれる被写体領域を切り抜いた画像を前記被写体画像として取得することを特徴とする請求項1〜14の何れか一項に記載の画像生成方法。
【請求項16】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置であって、
被写体領域が含まれる被写体画像を取得する第1取得手段と、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段と、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段と、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段と、
を備えたことを特徴とする画像生成装置。
【請求項17】
被写体の裏側を擬似的に表す裏面画像を生成する画像生成装置のコンピュータを、
被写体領域が含まれる被写体画像を取得する第1取得手段、
この第1取得手段により取得された被写体画像の被写体の骨格に係る骨格情報を取得する第2取得手段、
この第2取得手段により取得された前記骨格情報に基づいて、前記被写体領域の輪郭部分の色情報を特定する特定手段、
この特定手段により特定された前記被写体領域の輪郭部分の色情報に基づいて、前記裏面画像の被写体対応領域を前記被写体の部位毎にそれぞれ描画して当該裏面画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2013−45340(P2013−45340A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−183636(P2011−183636)
【出願日】平成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 ]