(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、実施の形態を説明する。
【0011】
また、以下の実施の形態において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
【0012】
<メイクシミュレーション装置の構成>
図1は、メイクシミュレーション装置10の機能構成を示すブロック図である。
【0013】
メイクシミュレーション装置10は、メイク対象のユーザ(以下「被メイクユーザ」という)の顔を撮影した画像(以下「顔画像」という)に対して、コンピュータ上でメイクを行うための装置である。メイクシミュレーション装置10は、人物の顔が撮影されている顔画像にメイクパーツを重畳して表示装置に表示させる。
【0014】
メイクシミュレーション装置10は、機能として、顔画像取得部15と、メイクパーツ描画部20と、メイクパーツ変形部30と、メイクパーツ重畳部40とを有する。これらの機能は、後述の
図17に示すように、メイクシミュレーション装置10が備えるCPU等のハードウェアが動作することによって実現される。
【0015】
顔画像取得部15は、被メイクユーザの顔の外見が特定の顔パーツの動きに起因して相違している、第1の顔画像60及び第2の顔画像62を取得する。
【0016】
メイクパーツ描画部20は、被メイクユーザの第1の顔画像60にメイクパーツを描画する。以下、描画されたメイクパーツを「描画メイクパーツ」という。描画メイクパーツ70は、顔画像に描画されたメイクをデータ化したものであり、例えば、ラスタデータ又はベクタデータ等である。以下、被メイクユーザの顔画像にメイクパーツを描画するユーザを、「メイク実施ユーザ」と呼ぶ。メイク実施ユーザと被メイクユーザとは同一人物であっても良いし、異なってもよい。
【0017】
メイクパーツ変形部30は、第1の顔画像60の特定の顔パーツに描画されたメイクパーツを、当該特定の顔パーツの動きに応じて変形させる。以下、変形されたメイクパーツを「変形メイクパーツ」と呼ぶ。
【0018】
メイクパーツ重畳部40は、第2の顔画像62に、変形メイクパーツ72を重畳する。第2の顔画像62及びそれに重畳された変形メイクパーツ72は、表示装置に表示される。
【0019】
これにより、メイク実施ユーザは、被メイクユーザの第1の顔画像60に描いたメイクが、同じ被メイクユーザの第2の顔画像62ではどのように見えるかを、容易に確認することができる。
【0020】
なお、第1の顔画像60、第2の顔画像62、描画メイクパーツ70、及び、変形メイクパーツ72は、顔画像管理テーブル50において、被メイクユーザ毎に対応付けられて管理される。顔画像管理テーブル50の詳細については後述する(
図8参照)。
【0021】
本実施の形態では、動きのある顔パーツを目として説明する。しかし、顔パーツは、動きのある他の顔パーツ、例えば、眉又は唇等であってもよい。
【0022】
また、本実施の形態では、メイクパーツを、目をメイクするためのアイメイクパーツとして説明する。しかし、メイクパーツはアイメイクパーツに限らず、眉、唇又は頬等をメイクするパーツであってもよい。
【0023】
また、本実施の形態において、第1の顔画像60が目を閉じている顔画像である場合は、第2の顔画像62は目を開いている顔画像となり、第1の顔画像60が目を開いている顔画像である場合は、第2の顔画像62は目を閉じている顔画像となる。以下、目を閉じている顔画像を「目閉じ画像」、目を開いている顔画像を「目開き画像」と呼ぶ。
【0024】
これにより、メイク実施ユーザは、目閉じ画像に描いたアイメイクが、目開き画像ではどのように見えるか、また、目開き画像に描いたアイメイクが、目閉じ画像ではどのように見えるかを、容易に確認することができる。
【0025】
以下、本実施の形態について詳細に説明する。
【0026】
図2は、アイメイクパーツに関する模式図である。
【0027】
メイクパーツ重畳部40は、顔画像における目の特徴点を基準として、アイメイクパーツを重畳する。
【0028】
目の特徴点として、
図2(a)に示すように、目頭点80A、目尻点80B、黒目上点80C、黒目下点80D、及び、眉山上点80Eが設定される。なお、目の特徴点同士の間にさらに中間点が設定されてもよい。
【0029】
アイメイクパーツは、例えば
図2(a)に示すように、上まぶたメイクパーツ90Aと、目のきわ上メイクパーツ90Bと、下まぶたメイクパーツ90Cとを含む。
【0030】
上まぶたメイクパーツ90Aは、例えば
図2(b)に示すように、目頭点80A、目尻点80B及び眉山上点80Eを基準として、顔画像に合成される。
【0031】
目際上メイクパーツは、例えば
図2(c)に示すように、目頭点80A、目尻点80B及び黒目上点80Cを基準として、顔画像に合成される。
【0032】
下まぶたメイクパーツ90Cは、例えば
図2(d)に示すように、目頭点80A、目尻点80B及び黒目下点80Dを基準として、顔画像に合成される。
【0033】
図3及び
図4は、目の開閉に関する模式図である。
【0034】
図3は二重まぶたの場合の模式図であり、
図4は一重まぶたの場合の模式図である。
【0035】
メイク実施ユーザは、
図3(a)に示すように、目開き画像にアイメイクパーツを描く場合もあれば、
図3(b)に示すように、目閉じ画像にアイメイクパーツを描く場合もある。
【0036】
メイクパーツ変形部30は、目開き画像に対して
図3(a)に示すようなアイメイクパーツが描かれた場合、そのアイメイクパーツを変形して、
図3(b)に示すような目閉じ画像用のアイメイクパーツを生成する。
【0037】
メイクパーツ変形部30は、目閉じ画像に対して
図3(b)に示すようなアイメイクパーツが描かれた場合、そのアイメイクパーツを変形して、
図3(a)に示すような目開き画像用のアイメイクパーツを生成する。
【0038】
顔画像が目開き画像又は目閉じ画像のどちらであるかは、黒目上点80Cと黒目下点80Dとの間の距離L1に基づいて判断される。この距離L1が所定値未満の場合、目閉じ画像と判断され、そうでない場合、目開き画像と判断される。
【0039】
メイクパーツ変形部30は、アイメイクパーツのうち、上まぶたメイクパーツ90A及び目のきわ上メイクパーツ90Bを変形対象とし、下まぶたメイクパーツ90Cを変形対象としない。実際の顔に施された下まぶたメイクも、目の開閉によってほとんど変形しないからである。
【0040】
また、一重まぶた(及び奥二重まぶた。以下同じ)の場合、典型的には、実際の目を閉じた顔に施された目のきわ上メイクは、目を開けた場合に見えなくなる。
【0041】
したがって、
図4(b)に示すように、メイクパーツ重畳部40は、一重まぶたの目開き画像に変形メイクパーツ72を重畳する場合、上まぶたメイクパーツ90Bを目閉じ画像に対して変形しない。これにより、一重まぶたの被メイクユーザに対するメイクシミュレーションがよりリアルになる。
【0042】
二重まぶた又は一重まぶたのどちらであるかは、顔画像において、目のきわの上に二重線が存在するか否かによって判断される。二重線が検出された場合は二重まぶたと判断され、二重線が検出されなかった場合は一重まぶたと判断される。なお、二重線の検出は、既存の画像解析手段によって行われてよい。
【0043】
なお、メイクパーツ重畳部40は、変形メイクパーツ72の一部が目の領域内と重複する場合、変形メイクパーツ72のその一部については非表示とする。目の領域内は、目頭点80A、目尻点80B、黒目上点80C、及び、黒目下点80Dで囲まれた範囲内として定義される。これにより、目の領域内に不自然に変形メイクパーツ72が重畳表示されることを防止することができる。
【0044】
図5A、
図5Bは、上まぶたメイクパーツ90Aの変形方法に関する一例を示す模式図である。
【0045】
メイクパーツ変形部30は、
図5Aに示すように、目開き画像に描画された上まぶたメイクパーツ92Aの下弦部分を下方向に引き延ばす(ワーピングする)ことにより、目閉じ画像用の上まぶたメイクパーツ92Bを生成する。
【0046】
メイクパーツ変形部30は、
図5Bに示すように、目閉じ画像に描画された上まぶたメイクパーツ94Aの下弦部分を上方向に引き延ばす(ワーピングする)ことにより、目開き画像用の上まぶたメイクパーツ94Bを生成する。
【0047】
または、メイクパーツ変形部30は、目閉じ画像に描画された上まぶたメイクパーツ94Aの縦成分を全体的に上方向に拡大することにより、目開き画像用の上まぶたメイクパーツ94Bを生成する。
【0048】
または、メイクパーツ変形部30は、目閉じ画像に描画された上まぶたメイクパーツ94Aをそのまま目開き画像に重畳し、その描画された上まぶたメイクパーツからその開いている目の領域内と重複する部分を除去することにより、目開き画像用の上まぶたメイクパーツ90Aを生成する。
【0049】
なお、メイクパーツ変形部30は、上記の上まぶたメイクパーツと同様の方法で、描画された目のきわ上メイクパーツから、変形された目のきわ上メイクパーツを生成する。
【0050】
図6は、上まぶたメイクパーツ90Aの変形方法に関する変形例を示す模式図である。
【0051】
メイクパーツ変形部30は、次のように、目開き画像に描画された上まぶたメイクパーツ96Aを変形して、目閉じ画像用の上まぶたメイクパーツ96Bを生成してもよい。
【0052】
(A1)メイクパーツ変形部30は、目開き画像における目の特徴点の分析結果98から、目頭点80A及び黒目上点80Cを特定し、目開き状態から目閉じ状態への切替に伴う目領域内の変形領域を算出する。
【0053】
(A2)次に、メイクパーツ変形部30は、目開き画像に描画された上まぶたメイクパーツ96Aを、画素の列単位で、パーツ下部の塗りをA1で算出した変形領域の各画素列の高さ分だけ下に移動させ、目閉じ画像用の上まぶたメイクパーツ96Bを生成する。このとき、パーツ上部の塗りはそのままとする。すなわち、目開き画像と目閉じ画像との間の変形領域の各画素列の高さに応じて、塗りの範囲を下方へ拡大する。
【0054】
なお、目閉じ画像に描画された上まぶたメイクパーツ98Bから、目開き画像用の上まぶたメイクパーツ98Aを生成する場合、メイクパーツ変形部30は、上記A2に代えて、下記A3を行う。
【0055】
(A3)メイクパーツ変形部30は、目閉じ画像に描画された上まぶたメイクパーツ96Bを、画素の列単位で、パーツ下部の塗りをA1で算出した各画素列の高さ分だけ上に移動させ、目開き画像用の上まぶたメイクパーツ96Aを生成する。このとき、パーツ上部の塗りはそのままとする。すなわち、目閉じ画像と目開き画像との間の変形領域の各画素列の高さに応じて、塗りの範囲を上方へ縮小する。
【0056】
図7は、目開き画像と目閉じ画像との切り替えに関する一例を示す模式図である。
【0057】
メイク実施ユーザが、画像102Aに示すように、目開き画像に描画メイクパーツ104Aを描き、目閉じ画像への切り替え操作を行うと、メイクパーツ重畳部40は、画像102Bに示すように、その描画メイクパーツ104Aに対する変形メイクパーツ104Bを目閉じ画像に重畳する。
【0058】
また、メイク実施ユーザが、画像102Bに示すように、目閉じ画像に描画メイクパーツ104Bを描き、目開き画像への切り替え操作を行うと、メイクパーツ重畳部40は、画像102Aに示すように、その描画メイクパーツ104Bに対する変形メイクパーツ104Aを目開き画像に重畳する。
【0059】
このように、メイク実施ユーザは、メイクシミュレーション装置10を利用することによって、顔に描いたメイクの見え方が目の開閉によってどのように変わるかを容易に知ることができる。
【0060】
<顔画像管理テーブルの構成>
図8は、顔画像管理テーブル50の構成を示すテーブル図である。
【0061】
顔画像管理テーブル50は、被メイクユーザの顔画像と、その顔画像に描かれた描画メイクパーツ70と、その描画メイクパーツ70を変形させた変形メイクパーツ72と、を対応付けて管理するためのテーブルである。
【0062】
例えば、顔画像管理テーブル50は、データ項目として、メイクユーザID202、目開き画像204、目閉じ画像206、左目開きメイクパーツ208、右目開きメイクパーツ210、左目閉じメイクパーツ212、右目閉じメイクパーツ214、及び、一重まぶたフラグ216を有する。
【0063】
メイクユーザID202には、被メイクユーザの識別情報が格納される。
【0064】
目開き画像204には、メイクユーザID202の被メイクユーザが目を開いている顔画像のデータが格納される。目閉じ画像206には、メイクユーザID202の被メイクユーザが目を閉じている顔画像のデータが格納される。
【0065】
左目開きメイクパーツ208には、目開き画像204の左目に対するアイメイクパーツのデータが格納される。右目開きメイクパーツ210には、目開き画像204の右目に対するアイメイクパーツのデータが格納される。
【0066】
左目閉じメイクパーツ212には、目閉じ画像206の左目に対するアイメイクパーツのデータが格納される。右目閉じメイクパーツ214には、目閉じ画像206の右目に対するアイメイクパーツのデータが格納される。
【0067】
一重まぶたフラグ216には、メイクユーザID202の被メイクユーザが一重まぶたか否かの識別情報が格納される。例えば、一重又は奥二重まぶたの場合には「ON」、二重又は三重まぶたの場合には「OFF」が格納される。
【0068】
メイクパーツを左目と右目とで分けている理由は、人は左目と右目とで形状が異なり、それに伴い、描かれるメイクパーツも異なるためである。
【0069】
また、
図8のテーブルにおいて、メイクパーツ212に3つのデータが格納されている理由は、上述のとおり、アイメイクパーツには、上まぶたメイクパーツ90Aと、目のきわ上メイクパーツ90Bと、下まぶたメイクパーツ90Cとが含まれているからである。なお、各メイクパーツ208、210、212、214に格納されるデータ数は、3つに限らず、幾つであってもよい。
【0070】
また、目開きメイクパーツ208、210に格納されているデータが「目開き描画メイクパーツ」である場合、同じ行(レコード)の目閉じメイクパーツ212、214に格納されているデータは「目閉じ変形メイクパーツ」となる。
【0071】
反対に、目閉じメイクパーツ212、214に格納されているデータが「目閉じ描画メイクパーツ」である場合、同じ行(レコード)の目開きメイクパーツ208、210に格納されているデータは「目開き変形メイクパーツ」となる。
【0072】
なお、
図8には示されていないが、顔画像管理テーブル50は、メイクユーザID202に対して、当該ユーザの左目及び右目の各特徴点の位置情報を対応付けて管理してもよい。
【0073】
<変形メイクパーツの生成方法>
次に、変形メイクパーツの生成方法について説明する。
【0074】
図9は、変形メイクパーツ生成処理を示すフローチャートである。
【0075】
顔画像取得部15は、顔画像管理テーブル50から顔画像を取得する(ST100)。
【0076】
次に、メイクパーツ変形部30は、その取得した顔画像が、目開き画像又は目閉じ画像の何れであるかを判定する(ST102)。
【0077】
メイクパーツ変形部30は、その取得した顔画像が目開き画像と判定した場合(ST102:目開き画像)、目開き画像の描画メイクパーツから目閉じ画像の変形メイクパーツを生成する処理を実行し(ST110)、本処理を終了する。当該処理の詳細については後述する(
図10参照)。
【0078】
メイクパーツ変形部30は、その取得した顔画像が目閉じ画像と判定した場合(ST102:目閉じ画像)、目閉じ画像の描画メイクパーツから目開き画像の変形メイクパーツを生成する処理を実行し(ST112)、本処理を終了する。当該処理の詳細については後述する(
図11参照)。
【0079】
図10は、目開き画像の描画メイクパーツから目閉じ画像の変形メイクパーツを生成する処理を示すフローチャートである。当該処理は、
図9のST110に相当する。
【0080】
顔画像取得部15は、顔画像管理テーブル50の目閉じ画像206から、ST100で取得した目開き画像に対応する目閉じ画像を取得する(ST200)。
【0081】
次に、メイクパーツ変形部30は、目閉じ画像から目の特徴点を検出する(ST202)。
【0082】
次に、メイクパーツ変形部30は、目閉じ画像を、目開き画像に適合するようにスケールを調整する(ST204)。例えば、目閉じ画像の目の横幅(目頭点80Aと目尻点80Bとの距離)が、目閉じ画像の目の横幅と同じになるように、目閉じ画像を拡大又は縮小する。
図5A、
図5Bで説明したように、メイクパーツは、縦成分は変形されるが、横成分は変形されないためである。
【0083】
次に、メイクパーツ変形部30は、顔画像管理テーブル50の目開きメイクパーツ208、210から、上まぶたメイクパーツ90A及び目のきわ上メイクパーツ90Bを取得し、それらのメイクパーツの下弦を下方向にワーピングして変形メイクパーツ72を生成する(ST206)。
【0084】
次に、メイクパーツ変形部30は、その生成した目閉じ画像用の変形メイクパーツ72、つまり、変形させた上まぶたメイクパーツ及び目のきわ上メイクパーツを、顔画像管理テーブル50の目閉じメイクパーツ212、214に格納し(ST208)、
図8のST110に戻る。
【0085】
図11は、目閉じ画像の描画メイクパーツから目開き画像の変形メイクパーツを生成する処理を示すフローチャートである。当該処理は、
図9のST112に相当する。
【0086】
顔画像取得部15は、顔画像管理テーブル50の目閉じ画像206から、ST100で取得した目閉じ画像に対応する目開き画像を取得する(ST300)。
【0087】
次に、メイクパーツ変形部30は、目開き画像から目の特徴点を検出する(ST302)。
【0088】
次に、メイクパーツ変形部30は、目開き画像を、目閉じ画像に適合するようにスケールを調整する(ST304)。例えば、目開き画像の目の横幅(目頭点80Aと目尻点80Bとの距離)が、目閉じ画像の目の横幅と同じになるように、目開き画像を拡大又は縮小する。
【0089】
次に、メイクパーツ変形部30は、顔画像管理テーブル50の一重まぶたフラグ216を参照し、顔画像の目が一重まぶたか否かを判定する(ST306)。
【0090】
顔画像の目が一重まぶたである場合(ST306:YES)、メイクパーツ変形部30は、顔画像管理テーブル50の目閉じメイクパーツ212、214から、上まぶたメイクパーツを取得し、その取得した上まぶたメイクパーツを変形させずに(そのまま)、顔画像管理テーブル50の目開きメイクパーツ208、210に格納し(ST310)、
図8のST112に戻る。
【0091】
顔画像の目が二重まぶたである場合(ST306:NO)、メイクパーツ変形部30は、顔画像管理テーブル50の目閉じメイクパーツ212、214から、上まぶたメイクパーツを取得し、それらのメイクパーツの下弦部分を上方向にワーピングして変形メイクパーツを生成する(ST320)。
【0092】
そして、メイクパーツ変形部30は、その生成した目開き画像用の変形メイクパーツ、つまり、変形させた上まぶたメイクパーツを、顔画像管理テーブル50の目開きメイクパーツ208、210に格納し(ST322)、
図8のST112に戻る。
【0093】
<変形メイクパーツの表示方法>
次に、変形メイクパーツの表示方法について説明する。
【0094】
図12は、目開き画像から目閉じ画像への表示切替処理を示すフローチャートである。
【0095】
メイクパーツ重畳部40は、顔画像管理テーブル50から、表示中の目開き画像に対応付けられている目閉じ画像を取得する(ST400)。
【0096】
次に、メイクパーツ重畳部40は、
図10で述べたように、目閉じ画像のスケールを調整する(ST402)。
【0097】
次に、メイクパーツ重畳部40は、顔画像管理テーブル50の目閉じメイクパーツ212,214から、上まぶたの変形メイクパーツ、目のきわ上の描画メイクパーツ、及び、下まぶたの描画メイクパーツを取得して目閉じ画像に重畳することより表示画像を生成し(ST404)、本処理を終了する。この表示画像は、所定の表示装置によって表示される。
【0098】
図13は、目閉じ画像から目開き画像への表示切替処理を示すフローチャートである。
【0099】
メイクパーツ重畳部40は、顔画像管理テーブル50から、表示中の目閉じ画像に対応付けられている目開き画像を取得する(ST450)。
【0100】
次に、メイクパーツ重畳部40は、
図10で述べたように、目開き画像のスケールを調整する(ST452)。
【0101】
次に、メイクパーツ重畳部40は、顔画像管理テーブル50の一重まぶたフラグ216を参照し、顔画像が一重まぶたであるか否かを判定する(ST454)。
【0102】
顔画像が一重まぶたである場合(ST454:YES)、メイクパーツ重畳部40は、顔画像管理テーブル50の目開きメイクパーツ208、210から、上まぶたの描画メイクパーツ(つまり未変形のメイクパーツ)、目のきわ上の描画メイクパーツ、及び、下まぶたの描画メイクパーツを取得して目開き画像に重畳することにより表示画像を生成し(ST456)、本処理を終了する。この表示画像は、所定の表示装置によって表示される。
【0103】
顔画像が二重まぶたである場合(ST454:NO)、メイクパーツ重畳部40は、顔画像管理テーブル50の目開きメイクパーツ208、210から、上まぶたの変形メイクパーツ、目のきわ上の変形メイクパーツ、及び、下まぶたの描画メイクパーツを取得して目開き画像に重畳することにより、表示画像を生成し(ST460)、本処理を終了する。この表示画像は、所定の表示装置によって表示される。
【0104】
上述では、目開閉時における、上まぶたメイクパーツ90Aの変形方法について、
図3ないし
図6を用いた変形例を説明したが、以下に説明するような変形をさらに追加してもよい。
【0105】
図18Aは、目開き画像の模式図である。
図18Bは、目閉じ画像の模式図である。
図18Aでは、
図2Aないし
図2Dにおける80A、80B、80Cの3点の特徴点を利用して、
図3A、
図4Aに示される、目の上の弧のラインを検出する。
図18Aの目開き画像から目閉じ画像へ移行する際、メイクパーツを次のように変形する。目開き画像に描画された上まぶたメイクパーツ90Aの下弦ライン91Aから、目閉じ画像における、目の上の弧ライン92Aの位置まで上まぶたメイクパーツ90Aの塗りの範囲を拡張する。
【0106】
反対に、
図18Bの目閉じ画像から目開き画像へ移行する際、メイクパーツを次のように変形する。目閉じ画像に描画された上まぶたメイクパーツ90Aの下弦ライン91Aから、目開き画像の目の上の弧ライン92Aの位置まで上まぶたメイクパーツ90Aの塗りの範囲を縮小する。なお、二重幅メイクパーツの目閉じ画像から目開き画像に移行する際の模式図を
図19に示す。
図19に示すように、幅D(上メイクパーツの下弦ライン93Aと目開き画像における目の上の弧ライン92Aの上下方向の距離)だけ上方向にメイクパーツ90Aの塗り範囲を拡大する。
【0107】
さらに、二重まぶたの場合と三重まぶたの場合で、アイメイクパーツの変形量を異ならせてもよい。まず、三重まぶたであるか否か判定は、例えば、
図20に示す目閉じ画像において、目の上の弧ライン92Aと二重ライン95Aの間にラインが検出される場合、三重まぶたと判定する。このラインが検出されない場合は二重と判定する。三重まぶたの場合、目を開けた時に描画部分がライン(皺)の中に折り畳まれて隠れてしまう。そのため、二重まぶたの場合と比較して、メイクパーツ90Aの塗り範囲の上方向の拡大量を多くする(例えば1.1倍)。
【0108】
<メイクパーツの描画>
図14は、メイクパーツ描画画面を示す模式図である。
【0109】
メイクパーツ描画画面400は、例えば、メイクパーツ描画部20によって生成され、例えば、タッチペン対応の液晶ディスプレイ又はタブレット画面等の表示装置に表示される。
【0110】
メイクパーツ描画画面400には、メイクアイテム選択領域402、メイクパーツ描画領域404、プレビュー画像表示領域406が設けられている。また、メイクパーツ描画画面400には、拡大ボタン420、縮小ボタン422、実寸大ボタン424、全体ボタン426、及び、目開閉切り替えボタン428が設けられている。
【0111】
メイクアイテム選択領域402には、顔画像にメイクパーツを描画するための各種メイクアイテム430が表示される。
【0112】
メイクアイテム430は、例えば、アイブロウ432、アイシャドウ434、アイライン436、及び、マスカラ438等を含む。メイクアイテム430には、そのメイクアイテム430を描画するための1又は複数のブラシ450が対応付けられている。
【0113】
アイブロウ432には、複数の毛を一度に描くためのブラシ450Aが対応付けられている。このブラシ450Aは、右目用と左目用とを選択可能である。右目用のブラシ450Aと左目用のブラシ450Aとでは、毛の流れが左右反転している。このブラシ450Aは、筆圧の強弱が色の濃淡に対応する。
【0114】
また、アイブロウ432には、パウダーのように眉毛をぼかすためのブラシ450Bが対応付けられている。このブラシ450Bは、筆圧の強弱が色の濃淡に対応する。
【0115】
また、アイブロウ432には、眉毛を1本ずつ描くためのブラシ450Cが対応付けられている。このブラシ450Cは、筆圧の強弱が色の濃淡に対応する。
【0116】
アイシャドウ434には、通常のブラシ450Dと、筆圧の強弱が色の濃淡に対応するブラシと450Eとが対応付けられている。
【0117】
アイライン436には、筆圧の強弱が色の濃淡に対応するブラシ450Fと、筆圧の強弱が線の太さに対応するブラシ450Gとが対応付けられている。
【0118】
マスカラ438には、目の形状に沿って睫毛を描いていくためのブラシ450H、450Iが対応付けられている。このブラシ450H、450Iは、右目用と左目用とを選択可能である。また、Cカーブを描くためのブラシ450Hと、Jカーブを描くためのブラシ450Iとを選択可能である。Cカーブ、Jカーブの詳細については後述する(
図15A、
図15B参照)。このブラシ450H、450Iは、筆圧の強弱がマスカラのサイズの大小に対応する。すなわち、強い筆圧で描くとマスカラのサイズが大きく描かれ、弱い筆圧で描くとマスカラのサイズが小さく描かれる。また、ブラシ450H、450Iは、上睫毛用と下睫毛用に切り替え可能である。上睫毛用と下睫毛用とでは毛の流れが上下反転している。
【0119】
また、マスカラ438には、複数の睫毛を一度に描くためのブラシ450Jが対応付けられている。
【0120】
また、マスカラ438には、睫毛を1本ずつ描くためのブラシ450Kが対応付けられている。このブラシは、筆圧の強弱が色の濃淡に対応する。
【0121】
メイク実施ユーザは、選択ボタン440からこれらのブラシ450を選択して、メイクパーツ描画領域404に表示されている顔画像にメイクを描く。ここで描かれたメイクが、描画メイクパーツとなる。
【0122】
拡大ボタン420は、押下されると、メイクパーツ描画領域404に表示されている顔画像が拡大する。
【0123】
縮小ボタン422は、押下されると、メイクパーツ描画領域404に表示されている顔画像が縮小する。
【0124】
実寸大ボタン424は、押下されると、実寸大の顔画像がメイクパーツ描画領域404に表示される。これにより、メイク実施ユーザは、実際の顔のメイクを施すように、メイクパーツを描くことができる。また、近くから見たときのメイク後の顔をよりリアルに知ることができる。
【0125】
全体ボタン426は、押下されると、顔画像の全体がメイクパーツ描画領域404に表示される。これにより、遠くから見たときのメイク後の顔をよりリアルに知ることができる。
【0126】
目開閉切り替えボタン428は、押下されると、メイクパーツ描画領域404に目開き画像及び描画メイクパーツ70が表示されている場合、目閉じ画像及び変形メイクパーツ72の表示に切り替える。反対に、メイクパーツ描画領域404に目閉じ画像及び描画メイクパーツ70が表示されている場合、目開き画像及び変形メイクパーツ72の表示に切り替える。これにより、目を開いたときと目を閉じたときのメイクの見え方を容易に知ることができる。
【0127】
また、
図14のメイクパーツ描画画面において、例えば、アイブロウ432やマスカラ438のように右目用と左目用のブラシがある場合、GUI上の左右選択ボタンによる切り替え以外に、タッチペンのボタンによる切り替え方法でもよい。例えば、デフォルトは右目用のブラシが選択されているが、タッチペンのボタンを押しながら描画する場合は左目用のブラシが選択される。
【0128】
プレビュー画像表示領域406には、顔画像の全体が表示されると共に、顔画像の全体に対するメイクパーツ描画領域に表示されている顔画像の位置が表示される。なお、実寸大ボタン424が押下されると、プレビュー画像表示領域406の顔画像が実寸大に表示される構成であってもよい。
【0129】
図15AはマスカラのCカーブを示す模式図であり、
図15BはマスカラのJカーブを示す模式図である。
【0130】
マスカラ438に対応付けられているCカーブ用のブラシは、ブラシを目頭から目尻に向かって移動させると、
図15Aに示すように、半円の弧のようなカーブ形状を連続的に描く。これにより、メイク実施ユーザは、Cカーブの睫毛エクステンションを、顔画像に簡単に描くことができる。
【0131】
マスカラ438に対応付けられているJカーブ用のブラシは、ブラシを目頭から目尻に向かって移動させると、
図15Bに示すように、半楕円の弧のようなカーブ形状を連続的に描く。これにより、メイク実施ユーザは、Jカーブの睫毛エクステンションを、顔画像に簡単に描くことができる。
【0132】
図16は、目の開閉によるマスカラパーツの変形を示す模式図である。
【0133】
マスカラパーツについても、上述の上まぶたメイクパーツと同様に、変形メイクパーツを生成することができる。
【0134】
メイクパーツ変形部30は、目開き画像に対して
図16(a)に示すようなマスカラパーツが描かれた場合、そのマスカラパーツを変形して、
図16(b)に示すような目閉じ画像用のマスカラパーツを生成する。
【0135】
メイクパーツ変形部30は、目閉じ画像において、マスカラパーツが自然な見た目となるよう寝るように(顔面に沿うよう)、言い換えれば、通常の目閉じ状態に伴うまつ毛の挙動となるよう、目頭点80Aと、目尻点80Bと、黒目上点80C及び黒目下点80Dの間に位置する点を用いて、マスカラパーツを変形させてよい。
【0136】
例えば、メイクパーツ変形部30は、
図16(a)に示すように、黒目上点80C及び黒目下点80Dを結ぶ線分の中点P1を特定し、さらに、その中点P1と黒目上点80Cとを結ぶ線分の中点P2を特定する。そして、メイクパーツ変形部30は、目頭点80Aと、その特定した中点P2と、目尻点80Bとを用いて目開き画像に描かれたマスカラパーツを変形させる。
【0137】
<ハードウェア構成>
以上、本発明に係る実施形態について図面を参照して詳述してきたが、上述した装置10の機能は、コンピュータプログラムにより実現され得る。
【0138】
図17は、各装置の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ1100は、キーボードやマウス、タッチパッドなどの入力装置1101、ディスプレイやスピーカーなどの出力装置1102、CPU(Central Processing Unit)1103、ROM(Read Only Memory)1104、RAM(Random Access Memory)1105、ハードディスク装置やSSD(Solid State Drive)などの記憶装置1106、DVD−ROM(Digital Versatile Disk Read Only Memory)やUSB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る読取装置1107、ネットワークを介して通信を行うネットワークカード1108を備え、各部はバス1109により接続される。
【0139】
そして、読取装置1107は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置1106に記憶させる。あるいは、ネットワークカード1108が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置1106に記憶させる。
【0140】
そして、CPU1103が、記憶装置1106に記憶されたプログラムをRAM1105にコピーし、そのプログラムに含まれる命令をRAM1105から順次読み出して実行することにより、上記各装置の機能が実現される。
【0141】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。