(57)【要約】【課題】顔の縦横比まで大きく変化させてしまうことで、見栄えの悪い画像変形結果が得られていた。【解決手段】顔画像が含まれる対象画像において、当該顔画像を含む領域を圧縮領域として設定する領域設定部と、所定の圧縮率によって、上記圧縮領域を特定方向に圧縮する画像変形部と、上記顔画像の少なくとも一部が上記特定方向に拡大するように、上記圧縮率に応じて決定した拡大量によって上記顔画像を変形する顔変形部とを備える画像処理装置とした。【選択図】図２
2010055257.tif 000002
【特許請求の範囲】
【請求項１】
顔画像が含まれる対象画像において、当該顔画像を含む領域を圧縮領域として設定する領域設定部と、
所定の圧縮率によって、上記圧縮領域を特定方向に圧縮する画像変形部と、
上記顔画像の少なくとも一部が上記特定方向に拡大するように、上記圧縮率に応じて決定した拡大量によって上記顔画像を変形する顔変形部とを備えることを特徴とする画像処理装置。
【請求項２】
顔の小型化の指示を外部から受付ける指示受付部を備え、
上記顔変形部は、上記指示受付部が上記指示を受付けた場合には、上記顔画像の少なくとも一部に対して適用する拡大量を低下させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記顔変形部は、上記圧縮率が示す数値のうちの所定割合の数値に基づいて上記拡大量を決定することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
上記顔変形部は、上記圧縮率が示す数値から上記所定割合の数値を差し引いた残りの数値に基づいて圧縮量を決定し、上記顔画像の少なくとも一部が上記特定方向と直交する方向に圧縮するよう、当該決定した圧縮量によって上記顔画像を変形することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
上記顔変形部は、所定の顔器官より外側の領域に適用する拡大量に制限を与えることを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
上記領域設定部は、上記特定方向と直交する線によって上記対象画像を上記圧縮領域と当該圧縮領域以外の領域とに分けることを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
顔画像が含まれる対象画像において、当該顔画像を含む領域を圧縮領域として設定する領域設定工程と、
上記顔画像の少なくとも一部を変形する顔変形工程と、
所定の圧縮率によって、上記圧縮領域を特定方向に圧縮する画像変形工程とを備え、
上記顔変形工程では、上記顔画像の少なくとも一部が上記特定方向に拡大するように、上記圧縮率に応じて決定した拡大量によって上記顔画像を変形することを特徴とする画像処理方法。
【請求項８】
顔画像が含まれる対象画像において、当該顔画像を含む領域を圧縮領域として設定する領域設定機能と、
所定の圧縮率によって、上記圧縮領域を特定方向に圧縮する画像変形機能と、
上記顔画像の少なくとも一部が上記特定方向に拡大するように、上記圧縮率に応じて決定した拡大量によって上記顔画像を変形する顔変形機能とをコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている（特許文献１参照。）。特許文献１には、顔の画像上の一部の領域（頬の画像を表す領域）を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の形状を変形する画像処理が開示されている。
【特許文献１】特開２００４‐３１８２０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
またユーザは、画像に顔を含む人物が写っている場合に、人物の体型が好みの体型（例えば、細身の体型）に変形された（補正された）画像を得たいと望むことがある。
しかし、画像内の人物が含まれている領域を対象として一律な変形処理を施すと、当該人物の顔も当該変形の影響を受け、その結果、顔の縦横比が大きく変化した画像が得られてしまう。このように顔の縦横比が大きく変化した人物の画像（例えば、顔が著しく長細くなった画像）は、例えその体型がユーザの好みの体型となっていても、ユーザに違和感を与えてしまう。
【０００４】
本発明は上記課題に鑑みてなされたものであり、人物を含む画像について、より見栄えのよい変形結果を容易に得ることが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の画像処理装置は、顔画像が含まれる対象画像において、当該顔画像を含む領域を圧縮領域として設定する領域設定部と、所定の圧縮率によって、上記圧縮領域を特定方向に圧縮する画像変形部と、上記顔画像の少なくとも一部が上記特定方向に拡大するように、上記圧縮率に応じて決定した拡大量によって上記顔画像を変形する顔変形部とを備える。本発明によれば、顔変形部は、圧縮領域に含まれる顔画像の少なくとも一部が、圧縮領域の圧縮率に応じて決定した拡大量によって特定方向に拡大するように変形させる。そのため、画像変形部によって圧縮領域が圧縮されても、結果的に顔の縦横比は大きく崩れることが無い。よって、ユーザに違和感を感じさせることの無い、上記圧縮領域が圧縮された画像を得ることができる。なお、画像変形部による処理と顔変形部による処理の順番はどちらが先でも良い。
【０００６】
画像処理装置は、顔の小型化の指示を外部から受付ける指示受付部を備えるとしてもよい。そして、上記顔変形部は、上記指示受付部が上記指示を受付けた場合には、上記顔画像の少なくとも一部に対して適用する拡大量を低下させるとしてもよい。当該構成によれば、ユーザに違和感を感じさせることの無い、上記圧縮領域が圧縮された画像であって、かつ顔が適度に小型化された画像を得ることができる。
【０００７】
上記顔変形部は、上記圧縮率が示す数値のうちの所定割合の数値に基づいて上記拡大量を決定するとしてもよい。例えば、上記圧縮率が２０％であれば、当該２０％という数値の何割かの数値を上記拡大量とする。このように、圧縮領域に対する圧縮の効果を完全に打ち消すような拡大量を顔画像の拡大に適用するのではなく、圧縮率が示す数値のうちの所定割合の数値に基づいて顔画像の拡大量を決定することで、画像変形部による処理と顔変形部による処理の両方が終わった後において、圧縮領域における顔と顔以外の部分とのバランスが最適となった画像を得ることができる。
【０００８】
上記顔変形部は、上記圧縮率が示す数値から上記所定割合の数値を差し引いた残りの数値に基づいて圧縮量を決定し、上記顔画像の少なくとも一部が上記特定方向と直交する方向に圧縮するよう、当該決定した圧縮量によって上記顔画像を変形するとしてもよい。当該構成によれば、顔画像は、特定方向に拡大されかつ特定方向と直交する方向に圧縮される。そのため、画像変形部による処理と顔変形部による処理の両方が終わった後において、圧縮領域における顔と顔以外の部分とのバランスが最適となった画像を得ることができる。
【０００９】
上記顔変形部は、所定の顔器官より外側の領域に適用する拡大量に制限を与えるとしてもよい。当該構成によれば、画像変形部による処理と顔変形部による処理の両方が終わった後において、顔器官より外側の領域（頬や顎などの領域）が適度に引き締まった印象の顔を含む、圧縮領域における顔と顔以外の部分とのバランスが最適となった画像を得ることができる。
【００１０】
上記領域設定部は、上記特定方向と直交する線によって上記対象画像を上記圧縮領域と当該圧縮領域以外の領域とに分ける構成としてもよい。当該構成によれば、圧縮領域に人物の画像が含まれている場合に、人物の体型は圧縮されて程よくスリムになり、かつその人物の顔の縦横比は違和感の無い状態となった画像を得ることができる。
【００１１】
これまでは、本発明の技術的思想を画像処理装置として説明したが、上述した画像処理装置が備える各手段に対応した各工程を備えた画像処理方法の発明や、上述した画像処理装置が備える各手段に対応した各機能をコンピュータに実行させる画像処理プログラムの発明をも把握することができる。また、上記の画像処理装置、画像処理方法および画像処理プログラムは具体的には、パーソナルコンピュータやサーバ等のハードウェアによって実現されてもよいし、画像入力装置としてのデジタルスチルカメラやスキャナ、あるいは、画像出力装置としてのプリンタ（印刷装置）やプロジェクタやフォトヴューワ等、様々な製品によって実現することができる。
【発明を実施するための最良の形態】
【００１２】
下記の順序に従って、本発明の実施形態を説明する。
１．画像処理装置の概略構成
２．画像補正処理
３．他の実施例
【００１３】
１．画像処理装置の概略構成
図１は、本発明にかかる画像処理装置の一例としてのプリンタ１００の構成を概略的に示す説明図である。プリンタ１００は、メモリカードＭＣ等の記録メディアから取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ１００は、内部メモリ１２０と、ＣＰＵ１１０と、操作部１４０と、表示部１５０と、プリンタエンジン１６０と、カードインタフェース（カードＩ／Ｆ）１７０と、カードスロット１７２とを備えている。
【００１４】
内部メモリ１２０は、ＲＯＭやＲＡＭによって構成されており、機能ブロックとして、画像補正処理部２００と、表示処理部３１０と、印刷処理部３２０とを備えている。画像補正処理部２００は、所定のオペレーティングシステムの下で、後述する画像補正処理を実行するためのコンピュータプログラムである。画像補正処理部２００は、プログラムモジュールとして、顔領域検出部２１０と、変形方向設定部２２０と、一方向変形部２３０とを有している。一方向変形部２３０は、ＲＡＭに設けられた一時記憶領域であるバッファ領域と、対応画素数テーブル４１０とを用いることにより、画像補正処理の一種としての一方向変形処理を実行する。一方向変形部２３０は、特許請求の範囲における領域設定部および画像変形部を兼ねている。さらに、画像補正処理部２００は、プログラムモジュールとして、顔変形部２４０を含んでいる。顔変形部２４０は、分割点配置パターンテーブル４２０を用いて、画像補正処理の一種としての顔変形処理を実行する。これら各部の機能については後述する。
【００１５】
表示処理部３１０は、表示部１５０を制御して、表示部１５０上に処理メニューやメッセージや画像等を表示させるディスプレイドライバである。印刷処理部３２０は、画像データに対して所定の色変換処理やハーフトーン処理を施すことにより画素毎のインク量を規定した印刷データを生成し、プリンタエンジン１６０を制御して当該印刷データに基づいて画像の印刷を実行させるためのコンピュータプログラムである。印刷処理部３２０による色変換処理やハーフトーン処理の処理対象となる画像データには、例えば、画像補正処理部２００によって画像補正処理が実行された後の画像を表す画像データが該当する。ＣＰＵ１１０は、上述したこれらのプログラムを内部メモリ１２０から読み出して実行することにより、これら各部の機能をそれぞれ実現する。
【００１６】
操作部１４０は、ボタンやタッチパネルを備えておりユーザによる指示等の入力を受け付ける。表示部１５０は、例えば液晶ディスプレイによって構成されている。プリンタエンジン１６０は、印刷処理部３２０から送信される印刷データに基づき印刷を行う印刷機構である。カードＩ／Ｆ１７０は、カードスロット１７２に挿入されたメモリカードＭＣとの間でデータのやり取りを行うためのインタフェースである。プリンタ１００は、カードＩ／Ｆ１７０以外にも、他の機器（例えばデジタルスチルカメラやパーソナルコンピュータ）とのデータ通信を行うためのインタフェースを備える構成とすることもできる。以上の各構成要素は、バスを介して互いに接続されている。
【００１７】
プリンタ１００は、人画像を含む画像に対して顔変形処理および一方向変形処理を実行することにより、人画像を全体的に細く変形させる（以下、「スリム化する」とも言う）ことができる。以下では、顔変形処理および一方向変形処理を含む画像補正処理を「スリム化補正処理」とも呼ぶ。本実施形態における「スリム化補正処理」では、プリンタ１００は、人画像の顔の縦横比が変化しすぎてユーザが違和感をおぼえることがないように、画像を見栄え良く変形させる。また、プリンタ１００は「スリム化補正処理」とともに、人画像の顔を小さく変形させる（以下、「小顔化する」とも言う）こともできる。
【００１８】
２．画像補正処理
図２は、プリンタ１００によって実行される画像補正処理をフローチャートにより示している。
ステップＳ（以下、ステップの表記を省略する。）１００では、画像補正処理部２００は、処理対象となる対象画像を設定（取得）する。例えば、カードスロット１７２にメモリカードＭＣが挿入されると、表示処理部３１０は、メモリカードＭＣに格納された画像の表示を含むユーザインタフェース（ＵＩ）を表示部１５０に表示させる。そして、画像補正処理部２００は、当該ＵＩからの入力に従って対象画像を設定する。
【００１９】
図３は、表示部１５０に表示されるＵＩの一例を示している。例えば、ＵＩは、画像表示欄ＩＡと、２つの画像切替用ボタンＢ１，Ｂ２と、通常印刷ボタンＢ３と、スリム補正印刷ボタンＢ４と、小顔補正印刷ボタンＢ５と、キャンセル用ボタンＢ６とを備えている。ユーザは、画像表示欄ＩＡを見ながら画像切替用ボタンＢ１，Ｂ２を操作して対象画像を選択し、通常印刷ボタンＢ３、スリム補正印刷ボタンＢ４、小顔補正印刷ボタンＢ５のいずれかを押下することで対象画像を設定できる。図３の例では、人物Ｐ１が写った画像ＴＩが対象画像として選択されており、この状態でユーザが通常印刷ボタンＢ３、スリム補正印刷ボタンＢ４、小顔補正印刷ボタンＢ５のいずれかを押下することで、画像補正処理部２００は、画像ＴＩを対象画像として設定する。なおＵＩは、メモリカードＭＣ内の複数の画像を一覧表示する構成とすることもできる。
【００２０】
また、ユーザがスリム補正印刷ボタンＢ４を押下すると、画像補正処理部２００は、対象画像に対して後述するような「スリム化補正処理」を施す。また、ユーザが小顔補正印刷ボタンＢ５を押下すると、画像補正処理部２００は、対象画像に対して後述するような「小顔化を伴うスリム化補正処理」を施す。ＵＩにおける小顔補正印刷ボタンＢ５は、顔の小型化の指示を外部から受付ける指示受付部の一例に該当する。ただし、画像補正処理部２００は、スリム補正印刷ボタンＢ４と小顔補正印刷ボタンＢ５とが両方押下げられた場合に「小顔化を伴うスリム化補正処理」を実行するとしてもよい。プリンタ１００は、当該フローチャート終了後は、補正処理が実行された画像を印刷する。ただし、ユーザが通常印刷ボタンＢ３を操作した場合には、プリンタ１００は、対象画像について「スリム化補正処理」も「小顔化を伴うスリム化補正処理」も行なうことなく通常通り印刷する。
【００２１】
Ｓ２００では、画像補正処理部２００は、上記ＵＩのボタンに対するユーザの操作によって、「スリム化補正処理」の実行または「小顔化を伴うスリム化補正処理」の実行が指示されているか否か判断し、指示されている場合にはＳ３００以下の処理に進み、指示されていな場合には当該フローチャートを終了する。以下では、Ｓ１００においてユーザがスリム補正印刷ボタンＢ４を押下げし「スリム化補正処理」の実行指示をしたとして、説明を続ける。
【００２２】
Ｓ３００では、顔領域検出部２１０が、対象画像を表す画像データをメモリカードＭＣから内部メモリ１２０に読み出すとともに、対象画像における顔領域の検出を行う。顔領域とは、対象画像内の顔画像の少なくとも一部を含む領域であって、少なくとも所定の顔器官（目や鼻や口）を含むと想定される領域である。顔領域検出部２１０は、対象画像を表す画像データを解析して当該顔器官を含むと想定される矩形の領域を顔領域として検出する。顔領域の検出は、例えばテンプレートを利用したパターンマッチングによる方法（特開２００６‐２７９４６０参照）といった公知の検出方法を用いて実行される。顔領域検出部２１０は、上記パターンマッチングにも、顔領域を検出可能な手法であればあらゆる手法を採用することができる。例えば、顔領域検出部２１０は、対象画像内に設定した矩形領域（検出対象領域）単位で、画像の各種情報（例えば、輝度情報やエッジ量やコントラスト等。）を入力し検出対象領域が顔領域に該当するか否かを示す情報を出力する、予め学習されたニューラルネットワークを用いることにより、顔領域の検出を行なっても良いし、サポートベクタマシンを利用して検出対象領域毎に顔領域であるか否かを判断してもよい。
【００２３】
図４は、Ｓ３００における顔領域の検出結果の一例を示す説明図である。図４の例では、対象画像ＴＩに人物Ｐ１の画像が含まれているため、人物Ｐ１の顔画像に対応する顔領域Ｆｄが検出されている。顔領域Ｆｄ１は両目と鼻と口の各画像をすべて含む矩形の領域である。顔領域検出部２１０は、顔領域Ｆｄを、その領域の４つの頂点の座標により特定する。対象画像内に複数の顔画像が存在する場合には、顔領域検出部２１０によってそれぞれの顔画像にかかる顔領域が検出される。ただし、メモリカードＭＣに格納された対象画像を表す画像データに、既に対象画像内の顔領域Ｆｄの検出結果（画像内の顔領域の位置を特定する情報）が付属情報として存在している場合もある。例えば、対象画像の撮影に用いられたデジタルスチルカメラの機能によって既に対象画像から顔領域Ｆｄが検出され、その検出結果を示した情報が画像データとともにメモリカードＭＣに記録されている場合等である。このような場合には、顔領域検出部２１０は対象画像から顔領域Ｆｄの検出を行なう必要はなく、上記付属情報に基づいて対象画像内の顔領域Ｆｄを特定する。
【００２４】
Ｓ４００では、変形方向設定部２２０が、一方向変形処理のための変形方向を設定する。以下、単に変形方向と言った場合には、一方向変形処理のための変形方向を意味する。変形方向は、特許請求の範囲における特定方向に該当する。変形方向は、対象画像の横方向または縦方向のどちらかである。本実施形態では、対象画像の長辺方向を横方向とし、対象画像の短辺方向を縦方向として取り扱う。変形方向設定部２２０は、変形方向を外部からのユーザの入力に応じて設定することも可能であるし、対象画像の解析結果によって設定することも可能である。
【００２５】
変形方向をユーザの入力に応じて設定する場合、変形方向設定部２２０は、表示処理部３１０に変形方向設定用のＵＩを表示する処理を実行することを指示し、表示処理部３１０は、当該指示に応じて、表示部１５０に変形方向設定用のＵＩを表示させる。ユーザは、変形方向設定用のＵＩを介し、変形方向として「横方向」または「縦方向」のどちらを選択するかを入力する。変形方向設定部２２０は、ユーザの入力によって選択された「横方向」または「縦方向」を、変形方向として設定する。なおユーザは、表示部１５０に表示された対象画像を視認しながら、基本的には、対象画像の横方向と縦方向とのうち、対象画像内の顔の左右方向（顔の幅方向）となす角度が小さい方向を、変形方向として選択する。
【００２６】
変形方向を対象画像の解析結果によって設定する場合、変形方向設定部２２０は、対象画像中の顔の傾きに応じて横方向または縦方向のどちらかを変形方向として設定する。例えば、変形方向設定部２２０は、Ｓ３００で顔領域検出部２１０が検出または特定した顔領域Ｆｄ内における、右目の画像を含む領域（右目領域）と左目を含む領域（左目領域）とを検出する。この器官領域（右目領域、左目領域）の検出は、顔領域の検出と同様に、例えばテンプレートを利用したパターンマッチングによる方法といった公知の検出方法を用いて実行することができる。
【００２７】
図５は、器官領域の検出結果の一例を示す説明図である。図５の例では、顔領域Ｆｄにおいて、右目領域ＥＲと左目領域ＥＬとが検出されている。変形方向設定部２２０は、検出した右目領域ＥＲ、左目領域ＥＬを、それぞれの領域の４つの頂点の座標によって特定することができる。変形方向設定部２２０は、右目領域ＥＲの中心点ＣＲと左目領域ＥＬの中心点ＣＬとを結ぶ線分Ｌ１に対して対象画像ＴＩ内で直交する線分Ｌ２を、顔の上下方向（顔の高さ方向）を規定する線分として扱い、線分Ｌ２の傾きを顔の傾きとする。例えば、変形方向設定部２２０は、対象画像ＴＩの縦方向に対する線分Ｌ２の傾きが４５°より小さい場合は、変形方向を「横方向」に設定する。一方、対象画像ＴＩの縦方向に対する線分Ｌ２の傾きが４５°より大きい場合は、変形方向を「縦方向」に設定する。線分Ｌ２の傾きが４５°である場合、変形方向を予め定められた標準方向（例えば、横方向）に設定する。
【００２８】
対象画像に複数の顔が含まれている場合は、変形方向設定部２２０は、変形方向を、より大きい顔の傾きに応じて設定するとしてもよい。あるいは、対象画像に複数の顔が含まれている場合、対象画像の縦方向または横方向に対する傾きが最も小さい顔の傾きに基づいて、変形方向を設定してもよいし、複数の顔の傾きに基づいて変形方向を設定してもよい。以下では、変形方向として横方向が設定されたものとして説明を続ける。
【００２９】
Ｓ５００では、顔変形部２４０が、Ｓ４００で設定された変形方向と顔の高さ方向とが略直交するか否か判定し、略直交する場合（Ｙｅｓ）にはＳ６００に進み、略直交しない場合（Ｎｏ）にはＳ６００をスキップしてＳ７００に進む。変形方向と顔の高さ方向とが略直交するとは、変形方向と線分Ｌ２とがなす角度が９０°である場合だけでなく、例えば、変形方向と線分Ｌ２とがなす角度が９０°±所定角度（例えば５°）の範囲に収まる場合を言う。Ｓ５００の判定を行なうために、画像補正処理部２００は、Ｓ４００でユーザの入力に応じて変形方向を設定した場合であっても、顔の高さ方向を規定する線分Ｌ２は上記器官領域の検出に基づいて特定する。
【００３０】
Ｓ５００の判定をＳ６００の前に行なう理由は次の通りである。本実施形態の「スリム化補正処理」は、概略的には、Ｓ６００の顔変形処理において、対象画像内の顔をその顔の幅方向に拡大し、Ｓ７００の一方向変形処理において、顔を含めた人物全体を変形方向において圧縮して人物を全体的にスリム化することにより、顔についてはスリム化し過ぎない（細長くなりすぎない）ようにする。しかしながら、変形方向と顔の高さ方向とが略直交の関係に無い場合には、Ｓ６００における顔の幅方向の拡大を打ち消す向きにＳ７００の圧縮が適切に作用せず、Ｓ６００で拡大した顔がＳ７００の圧縮処理によって適切に収縮しないという問題が生じる。さらに、変形方向と顔の高さ方向とが略直角の関係に無い場合、Ｓ６００の顔の幅方向の拡大とＳ７００の変形方向における圧縮とが、元の顔よりも当該顔を太らせる結果を招くことも有り得る。そこで本実施形態では、Ｓ５００において変形方向と顔の高さ方向とが略直交すると判定した場合にのみ、Ｓ６００に進むことにより、「スリム化補正処理」の狙いに反する補正結果が生じることを防止している。
Ｓ６００では、顔変形部２４０は、対象画像内の顔画像を対象として、顔変形処理を実行する。
【００３１】
図６は、Ｓ６００における顔変形処理の詳細をフローチャートにより示している。
Ｓ６１０では、顔変形部２４０は、上記検出または特定された顔領域Ｆｄを基準にして変形領域を設定する。変形領域とは、対象画像内の顔領域Ｆｄを含む領域であって顔変形処理の対象となる領域を意味する。変形領域は顔画像のほぼ全体をカバーする矩形領域であり、変形領域を顔画像として解釈してもよい。
【００３２】
図７は、変形領域の設定方法の一例を示す説明図である。図７において、実線の矩形ＴＡは、顔領域Ｆｄについて設定される変形領域ＴＡを示す。基準線ＲＬは、顔領域Ｆｄの高さ方向（上下方向）を定義すると共に、顔領域Ｆｄの幅方向（左右方向）の中心を示す線である。基準線ＲＬは、矩形の顔領域Ｆｄの重心を通り、顔領域Ｆｄの高さ方向に沿った境界線に平行な直線である。基準線ＲＬは線分Ｌ２と略平行な線であるとも言える。よって、上記Ｓ５００の判定では、変形方向と線分Ｌ２が略直交するか否かを判定する代わりに、変形方向と基準線ＲＬとが略直交するか否かを判定してもよい。変形領域ＴＡは、顔領域Ｆｄを基準線ＲＬと平行な方向（高さ方向）および基準線ＲＬに直交する方向（幅方向）に伸張した領域として設定される。具体的には、顔領域Ｆｄ１の高さ方向の長さをＨ１、幅方向の大きさをＷ１とすると、顔領域Ｆｄを、上方向にｋ１・Ｈ１、下方向にｋ２・Ｈ１だけ伸ばすと共に、左右にそれぞれｋ３・Ｗ１だけ伸ばした領域が、変形領域ＴＡとして設定される。ｋ１，ｋ２，ｋ３は、所定の係数である。このように変形領域ＴＡが設定されると、顔領域Ｆｄの高さ方向の輪郭線に平行な直線である基準線ＲＬは、変形領域ＴＡの高さ方向の輪郭線にも平行な直線となる。また、基準線ＲＬは、変形領域ＴＡの幅を半分に分割する直線となる。
【００３３】
図７に示すように、変形領域ＴＡは、高さ方向に関しては、概ね顎から額までの画像を含み、幅方向に関しては、左右の頬の画像を含むような領域として設定される。すなわち本実施形態では、変形領域ＴＡが概ねそのような範囲の画像を含む領域となるように、上述の係数ｋ１，ｋ２，ｋ３を予め実験により求めて設定されている。
Ｓ６２０では、顔変形部２４０は、変形領域ＴＡを複数の小領域に分割する。
【００３４】
図８は、変形領域の小領域への分割方法の一例を示す説明図である。図８では、変形領域ＴＡを記載している。顔変形部２４０は、変形領域ＴＡに複数の分割点Ｄを配置し、分割点Ｄを結ぶ直線を用いて変形領域ＴＡを複数の小領域に分割する。分割点Ｄの配置の態様（分割点Ｄの個数および位置）は、分割点配置パターンテーブル４２０により定義されている。顔変形部２４０は、分割点配置パターンテーブル４２０を参照して分割点Ｄを配置する。図８の例では、分割点Ｄは、水平分割線Ｌｈと垂直分割線Ｌｖとの交点と、水平分割線Ｌｈおよび垂直分割線Ｌｖと変形領域ＴＡの外枠との交点とに配置される。水平分割線Ｌｈおよび垂直分割線Ｌｖは、変形領域ＴＡ内に分割点Ｄを配置するための基準となる線である。図８に示すように、本実施形態における分割点Ｄの配置では、基準線ＲＬと直交する３本の水平分割線Ｌｈと、基準線ＲＬに平行な４本の垂直分割線Ｌｖとが設定される。３本の水平分割線Ｌｈを、変形領域ＴＡの下方から順に、Ｌｈ１，Ｌｈ２，Ｌｈ３と呼ぶ。また、４本の垂直分割線Ｌｖを、変形領域ＴＡの左から順に、Ｌｖ１，Ｌｖ２，Ｌｖ３，Ｌｖ４と呼ぶ。
【００３５】
水平分割線Ｌｈ１は、変形領域ＴＡにおいて、顎の画像より下方に配置され、水平分割線Ｌｈ２は、目の画像の下付近に配置され、水平分割線Ｌｈ３は、目の画像の上付近あるいは額の画像辺りに配置される。垂直分割線Ｌｖ１およびＬｖ４は、頬のラインの画像の外側に配置され、垂直分割線Ｌｖ２およびＬｖ３は、目尻の画像の外側に配置される。水平分割線Ｌｈおよび垂直分割線Ｌｖの配置は、水平分割線Ｌｈおよび垂直分割線Ｌｖと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域ＴＡの大きさとの対応関係に従い実行される。
【００３６】
上述した水平分割線Ｌｈと垂直分割線Ｌｖとの配置に従い、水平分割線Ｌｈと垂直分割線Ｌｖとの交点と、水平分割線Ｌｈおよび垂直分割線Ｌｖと変形領域ＴＡの外枠との交点とに、分割点Ｄが配置される。図８に示すように、水平分割線Ｌｈｉ（ｉ＝１，２，３のいずれか）上に位置する分割点Ｄを、左から順に、Ｄ０ｉ，Ｄ１ｉ，Ｄ２ｉ，Ｄ３ｉ，Ｄ４ｉ，Ｄ５ｉと呼ぶ。例えば、水平分割線Ｌｈ１上に位置する分割点Ｄは、Ｄ０１，Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１，Ｄ５１と呼ばれる。同様に、垂直分割線Ｌｖｊ（ｊ＝１，２，３，４のいずれか）上に位置する分割点Ｄを、下から順に、Ｄｊ０，Ｄｊ１，Ｄｊ２，Ｄｊ３と呼ぶ。例えば、垂直分割線Ｌｖ１上に位置する分割点Ｄは、Ｄ１０，Ｄ１１，Ｄ１２，Ｄ１３と呼ばれる。本実施形態における分割点Ｄの配置は、基準線ＲＬに対して対称の配置となっている。顔変形部２４０は、配置された分割点Ｄを結ぶ直線（水平分割線Ｌｈおよび垂直分割線Ｌｖ）によって変形領域ＴＡを複数の小領域に分割する。図８の例では、変形領域ＴＡは、２０個の矩形の小領域に分割されている。
【００３７】
Ｓ６３０では、顔変形部２４０は、所定の分割点Ｄについての移動量を、一方向変形処理に用いる圧縮率に応じて決定する。
ここで、後述の一方向変形処理（Ｓ７００）では、対象画像を変形方向に垂直な分割線（水平分割線Ｌｈおよび垂直分割線Ｌｖとは異なる分割線）によって分割することにより、対象画像を圧縮領域と拡大領域とに分け、圧縮領域については所定の圧縮率で圧縮し、拡大領域については所定の拡大率で拡大する。なお、変形方向に垂直な分割線で対象画像を圧縮領域と拡大領域とに分ける際には、圧縮領域に上記変形領域の全体が含まれるように分ける。Ｓ６３０では、このような圧縮領域に対して一方向変形処理の際に適用される圧縮率を取得し、当該圧縮率に基づいて分割点Ｄの移動量を決定する。
以下において単に「圧縮率」と表現した場合には、一方向変形処理の際に圧縮領域に適用される圧縮率を意味し、単に「拡大率」と表現した場合には、一方向変形処理の際に拡大領域に適用される拡大率を意味する。
【００３８】
圧縮率（および拡大率）は、予め固定値として内部メモリ１２０等に記憶されていてもよいし、操作部１４０を介してユーザによって入力された数値であってもよい。圧縮率をユーザに入力させる場合は、プリンタ１００では、表示処理部３１０に圧縮率（および拡大率）設定用のＵＩを表示する処理を実行することを指示し、表示処理部３１０は、当該指示に応じて、表示部１５０に圧縮率および拡大率設定用のＵＩを表示させる。ユーザは、圧縮率および拡大率設定用のＵＩを介し、任意の圧縮率および拡大率を入力する。或いは、プリンタ１００は、一方向変形処理後の対象画像のサイズが変わり過ぎることを防止するために、ＵＩを介して圧縮率と拡大率のいずれか一方のみをユーザに入力させ、入力された圧縮率または拡大率の一方の値に応じて、入力されていない圧縮率または拡大率の値を決定するとしてもよい。
【００３９】
顔変形部２４０は、上述したように予め内部メモリ１２０に記憶されていた圧縮率またはユーザによって入力された（あるいはユーザの入力に従って決定された）圧縮率を取得することができる。ここでは一例として、顔変形部２４０は「３０％」という圧縮率を取得したものとして説明を行なう。「３０％」の圧縮率とは、言い換えれば、一方向変形処理前の圧縮領域の変形方向における長さを一方向変形処理後に０．７倍の長さにするための倍率である。
【００４０】
顔変形部２４０は「スリム化補正処理」における顔変形処理の実行に際して、顔画像の少なくとも一部が変形方向に拡大されるように、所定の分割点Ｄについて基準線ＲＬから離れる向きへの移動量を圧縮率に応じて設定する。本実施形態では、顔変形部２４０は、各分割点Ｄのうち変形領域ＴＡの枠よりも内側に存在する分割点Ｄ１１，Ｄ１２，Ｄ１３，Ｄ２１，Ｄ２２，Ｄ２３，Ｄ３１，Ｄ３２，Ｄ３３，Ｄ４１，Ｄ４２，Ｄ４３についての移動量を決定する。図８に示したように、基準線ＲＬと直交する方向をＨ方向と呼び、基準線ＲＬと平行な方向をＶ方向と呼ぶ。また、Ｈ方向については、向かって右側への移動量を正値（プラス）として表し、向かって左側への移動量を負値（マイナス）として表し、Ｖ方向については、上方への移動量を正値（プラス）として表し、下方への移動量を負値（マイナス）として表す。
【００４１】
上述したように、Ｓ５００において変形方向と顔の高さ方向（線分Ｌ２または基準線ＲＬ）とが略直交すると判定された場合に、Ｓ６００の顔変形処理が実行される。そのため、変形方向とＨ方向とはほぼ平行であると言える。従って、所定の分割点Ｄについて、基準線ＲＬから離れる向きへの移動量を圧縮率に基づいて設定し、設定した移動量に従って分割点Ｄを移動させれば、顔画像の少なくとも一部は変形方向にも拡大される。一例として、顔変形部２４０は、Ｈ方向における移動量として、基準線ＲＬよりも左側の分割点Ｄ１１，Ｄ２１，Ｄ１２，Ｄ２２，Ｄ１３，Ｄ２３についてはマイナス側（左側）への移動量を設定し、基準線ＲＬよりも右側の分割点Ｄ３１，Ｄ４１，Ｄ３２，Ｄ４２，Ｄ３３，Ｄ４３についてはプラス側（右側）への移動量を設定する。
【００４２】
また顔変形部２４０は、Ｖ方向における移動量として、水平分割線Ｌｈ１上の分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１についてはプラス側（上側）への移動量を設定し、水平分割線Ｌｈ３上の分割点Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３についてはマイナス側（下側）への移動量を設定する。変形方向とＶ方向とは、ほぼ直交していると言える。従って、上記のように水平分割線Ｌｈ１上の所定の分割点Ｄおよび水平分割線Ｌｈ３上の所定の分割点Ｄについて移動量を設定し、設定した移動量に従って分割点Ｄを移動させれば、顔画像の少なくとも一部は変形方向と直交する方向にも圧縮される。
【００４３】
より具体的には、顔変形部２４０は、各分割点Ｄの移動量を設定する際、圧縮率が示す数値（３０％）を、まず変形領域内の画像のＨ方向における変形量（拡大量）とＶ方向における変形量（圧縮量）とに所定割合で配分する。一例として、顔変形部２４０は、圧縮率が示す数値（３０％）のうち８割（２４％）をＨ方向における変形量（拡大量）に割り当て、圧縮率が示す数値（３０％）から上記Ｈ方向における変形量（拡大量）を差し引いた残り（６％）を、Ｖ方向における変形量（圧縮量）に割り当てる。
【００４４】
顔変形部２４０は、Ｈ方向とＶ方向とに割り当てた変形量をさらに、各分割点Ｄへ移動量として配分する。一例として、顔変形部２４０は、Ｈ方向に割り当てた変形量（２４％）の５割に当る数値（１２％）を、各分割点Ｄ１１，Ｄ１２，Ｄ１３，Ｄ２１，Ｄ２２，Ｄ２３，Ｄ３１，Ｄ３２，Ｄ３３，Ｄ４１，Ｄ４２，Ｄ４３のＨ方向における移動量（基準線ＲＬから離れる向きへの移動量）として設定し、Ｖ方向に割り当てた変形量（６％）の２．５割に当る数値（１．５％）を、水平分割線Ｌｈ１上の各分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１のＶ方向プラス側への移動量として設定し、Ｖ方向に割り当てた変形量（６％）の７．５割に当る数値（４．５％）を、水平分割線Ｌｈ３上の各分割点Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３のＶ方向マイナス側への移動量として設定する。この結果、例えば、分割点Ｄ１１については、Ｈ方向マイナス側への移動量として１２％という数値が設定され、Ｖ方向プラス側への移動量として１．５％という数値が設定される。また、分割点Ｄ４３については、Ｈ方向プラス側への移動量として１２％という数値が設定され、Ｖ方向マイナス側への移動量として４．５％という数値が設定される。このように設定された分割点ＤのＨ方向、Ｖ方向への移動量は、変形領域ＴＡのＨ方向、Ｖ方向の長さ（画素数）に対する割合を意味する。
【００４５】
上述したような、圧縮率が示す数値をＨ方向とＶ方向との変形量に配分する際の割合（配分比率）や、Ｈ方向の変形量やＶ方向の変形量を各分割点Ｄに配分する際の割合は、限られるものではない。また、顔変形部２４０は、分割点ＤのＨ方向、Ｖ方向の移動量について、分割点Ｄ毎に更なる変更を加えても良い。ただし、原則的には、各分割点Ｄの移動態様は、基準線ＲＬを挟んで左右対称になるようにし、また「スリム化補正処理」の顔変形処理においては、水平分割線Ｌｈ１上の各分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１をＶ方向プラス側へ移動させる量よりも、水平分割線Ｌｈ３上の各分割点Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３をＶ方向マイナス側へ移動させる量を多くする。これは、水平分割線Ｌｈ１上の各分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１をＶ方向プラス側へ大きく移動させることによって変形後の首の画像が長くなってしまうことを、防ぐためである。
【００４６】
図９は、顔変形部２４０が、上記のように圧縮率が示す数値をＨ方向とＶ方向との変形量に配分し、さらにＨ方向およびＶ方向の変形量を各分割点Ｄに配分して決定した移動量の一例を表によって示している。ただし図９では、上記のように圧縮率に応じて決定した各分割点Ｄの移動量を、さらに分割点Ｄの位置に応じて変更した後の移動量を示している。また図９では、各分割点Ｄの移動量を上記のようなｎ％といった表現ではなく、画素ピッチに換算した値によって示している。例えば、分割点Ｄ１３については、Ｈ方向に沿って左側に画素ピッチの１９倍の距離の移動量が設定され、Ｖ方向に沿って下方に画素ピッチの７倍の距離の移動量が設定されている。さらに、図９の例では、水平分割線Ｌｈ１上の分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１および水平分割線Ｌｈ３上の分割点Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３に対してだけではなく、水平分割線Ｌｈ２上の分割点Ｄ１２，Ｄ２２，Ｄ３２，Ｄ４２に対しても、Ｖ方向における移動量を設定した例を示している。
Ｓ６４０では、顔変形部２４０は、Ｓ６３０で決定した分割点Ｄ毎の移動量に従い各分割点Ｄを移動して変形領域ＴＡ内で小領域を変形することによって、変形領域ＴＡ内の画像を変形させる。
【００４７】
図１０は、図９に例示した分割点Ｄ毎の移動量に従って、各分割点Ｄの位置を移動させて変形領域ＴＡ内の画像を変形する際の具体的態様を示している。顔変形部２４０は、変形領域ＴＡを構成する各小領域について、分割点Ｄの位置移動前の状態における小領域の画像が分割点Ｄの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。図１０では比較の便宜のため、変形前の人物Ｐ１の顔の輪郭を鎖線で示し、変形後の人物Ｐ１の顔の輪郭を実線で示している。また図１０では、移動後の分割点Ｄの符号には「’」を付し、移動前の分割点Ｄ（白丸）の符号には括弧を付している。例えば、分割点Ｄ１１，Ｄ２１，Ｄ２２，Ｄ１２を頂点とする小領域（ハッチングを付して示す小領域）の画像は、分割点Ｄ’１１，Ｄ’２１，Ｄ’２２，Ｄ’１２を頂点とする小領域の画像に変形される。この小領域画像の変形処理の詳細については後述する。
【００４８】
図１０に示すように、Ｓ６４０における分割点Ｄの移動の結果、基準線ＲＬと平行な方向（Ｖ方向）に関し、水平分割線Ｌｈ１上に配置された分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１の位置は上方に移動される一方、水平分割線Ｌｈ２，Ｌｈ３上に配置された分割点Ｄ１２，Ｄ２２，Ｄ３２，Ｄ４２，Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３の位置は下方に移動される。従って、水平分割線Ｌｈ１と水平分割線Ｌｈ３との間に位置する画像はＶ方向に関して圧縮され、その中でも特に水平分割線Ｌｈ１と水平分割線Ｌｈ２との間に位置する画像はＶ方向に関して強く圧縮される。
【００４９】
基準線ＲＬと直交する方向（Ｈ方向）に関しては、垂直分割線Ｌｖ１上に配置された分割点Ｄ１１，Ｄ１２，Ｄ１３の位置は左方向に移動され、垂直分割線Ｌｖ４上に配置された分割点Ｄ４１，Ｄ４２，Ｄ４３の位置は右方向に移動される。垂直分割線Ｌｖ２上に配置された分割点Ｄ２１，Ｄ２２，Ｄ２３の位置は左方向に移動され、垂直分割線Ｌｖ３上に配置された分割点Ｄ３１，Ｄ３２，Ｄ３３の位置は右方向に移動される。従って、垂直分割線Ｌｖ１より左側に位置する画像は、Ｈ方向に関して左側に圧縮され、垂直分割線Ｌｖ４より右側に位置する画像は、右側に圧縮される。また、垂直分割線Ｌｖ１と垂直分割線Ｌｖ２との間に位置する画像は、Ｈ方向に関して左側に移動しつつ拡大され、垂直分割線Ｌｖ３と垂直分割線Ｌｖ４との間に位置する画像は、Ｈ方向に関して右側に移動しつつ拡大される。さらに、垂直分割線Ｌｖ２と垂直分割線Ｌｖ３との間に位置する画像は、基準線ＲＬを中心にＨ方向に関して拡大される。
【００５０】
上述したように、水平分割線Ｌｈ１は顎の画像より下方に配置され、水平分割線Ｌｈ３は額の画像付近に配置され、垂直分割線Ｌｖ１およびＬｖ４は、頬のラインの画像の外側に配置され、垂直分割線Ｌｖ２およびＬｖ３は、目尻の画像の外側に配置される。そのため、本実施形態の「スリム化補正処理」における顔変形処理では、顔画像の内、顎から額にかけての部分の画像がＶ方向に縮小されるとともに、左右の頬と頬の間の顔画像が全体的にＨ方向に拡大される。以上のＨ方向およびＶ方向の変形態様を総合すると、「スリム化補正処理」が指示された場合のＳ６４０の処理によって、変形領域ＴＡに含まれる人物Ｐ１の顔の形状は、上下方向においてある程度押しつぶされ、幅方向に太った形状に変形される。
【００５１】
なお顔変形部２４０は、Ｓ６３０において、圧縮率が示す数値を最終的に各分割点Ｄに配分して決定した各移動量に対してさらに所定の補正係数を乗算し、当該補正係数を乗算して得られた各値を、各分割点Ｄの移動量としてもよい。ここで言う補正係数とは、例えば０以上１未満の数値であって、顔変形処理による顔の幅方向（Ｈ方向）における拡大の度合いおよび顔の高さ方向（Ｖ方向）における圧縮の度合いを抑制するための数値である。補正係数の具体値は、予め内部メモリ１２０に記憶されていてもよいし、ユーザの入力に設定されてもよい。このような補正係数による変形度合いの抑制は、例えば、上記のように圧縮率に基づいて各分割点Ｄに配分した移動量を各分割点Ｄに適用して変形処理を施したときに、変形量が大きすぎて画像に破綻を生じさせる恐れがある場合等に行なう。
【００５２】
図１１は、Ｓ６４０において実行される小領域画像の変形処理を概念的に示す説明図である。図１１では、分割点Ｄを黒丸で示している。また、説明を簡略化するために、４つの小領域について、左側に分割点Ｄの位置移動前の状態を、右側に分割点Ｄの位置移動後の状態を、それぞれ示している。図１１の例では、中央の分割点Ｄａが分割点Ｄａ’の位置に移動され、その他の分割点Ｄの位置は移動されない。これにより、例えば、分割点Ｄの移動前の分割点Ｄａ，Ｄｂ，Ｄｃ，Ｄｄを頂点とする矩形の小領域（以下「変形前注目小領域ＢＳＡ」とも呼ぶ）の画像は、分割点Ｄａ’，Ｄｂ，Ｄｃ，Ｄｄを頂点とする矩形の小領域（以下「変形後注目小領域ＡＳＡ」とも呼ぶ）の画像に変形される。
【００５３】
本実施形態では、矩形の小領域を小領域の重心ＣＧを用いて４つの三角形領域に分割し、三角形領域単位で画像の変形処理を行っている。図１１の例では、変形前注目小領域ＢＳＡが、変形前注目小領域ＢＳＡの重心ＣＧを頂点の１つとする４つの三角形領域に分割される。同様に、変形後注目小領域ＡＳＡが、変形後注目小領域ＡＳＡの重心ＣＧ’を頂点の１つとする４つの三角形領域に分割される。そして、分割点Ｄａの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域ＢＳＡ中の分割点Ｄａ，Ｄｄおよび重心ＣＧを頂点とする三角形領域の画像が、変形後注目小領域ＡＳＡ中の分割点Ｄａ’，Ｄｄおよび重心ＣＧ’を頂点とする三角形領域の画像に変形される。
【００５４】
図１２は、三角形領域における画像の変形処理方法の概念を示す説明図である。図１２の例では、点ｓ，ｔ，ｕを頂点とする三角形領域ｓｔｕの画像が、点ｓ’，ｔ’，ｕ’を頂点とする三角形領域ｓ’ｔ’ｕ’の画像に変形される。画像の変形は、変形後の三角形領域ｓ’ｔ’ｕ’の画像中のある画素の位置が、変形前の三角形領域ｓｔｕの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
【００５５】
例えば、図１２において、変形後の三角形領域ｓ’ｔ’ｕ’の画像中の注目画素ｐ’の位置は、変形前の三角形領域ｓｔｕの画像中の位置ｐに相当するものとする。位置ｐの算出は、以下のように行う。まず、注目画素ｐ’の位置を、下記の式（１）のようにベクトルｓ’ｔ’とベクトルｓ’ｕ’との和で表現するための係数ｍ１およびｍ２を算出する。
【００５６】
【数１】
2010055257.tif 000003
【００５７】
次に、算出された係数ｍ１およびｍ２を用いて、下記の式（２）により、変形前の三角形領域ｓｔｕにおけるベクトルｓｔとベクトルｓｕとの和を算出することにより、位置ｐが求まる。
【００５８】
【数２】
2010055257.tif 000004
【００５９】
変形前の三角形領域ｓｔｕにおける位置ｐが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域ｓｔｕにおける位置ｐが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置ｐの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置ｐにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【００６０】
変形後の三角形領域ｓ’ｔ’ｕ’の画像中の各画素について上述のように画素値を算出することにより、三角形領域ｓｔｕの画像から三角形領域ｓ’ｔ’ｕ’の画像への画像変形処理を行うことができる。このようにして、顔変形部２４０は、変形領域ＴＡを構成する各小領域について、上述したように三角形領域を定義して変形処理を行う。
【００６１】
Ｓ７００では、一方向変形部２３０が対象画像について一方向変形処理を実行する。
一方向変形部２３０は、変形方向に直交する分割線によって対象画像を圧縮領域と拡大領域とに分ける。
【００６２】
図１３Ａは、対象画像ＴＩを圧縮領域ＡＣと拡大領域ＡＥとに分けた様子を例示している。
図１３Ｂは、対象画像ＴＩに対して一方向変形処理を施した後の画像（変形済画像ＴＩ’と呼ぶ。）を例示している。
一方向変形部２３０は、変形方向における変形領域ＴＡの幅に基づいて変形方向における圧縮領域ＡＣの幅を決定し（例えば、変形方向における変形領域ＴＡの幅の２．５倍の幅を、変形方向における圧縮領域ＡＣの幅とする）、当該決定した幅を有する領域であって変形領域ＴＡを含む（基本的には中央に含む）領域を、変形方向に直交する分割線によって特定し、当該特定した領域を圧縮領域ＡＣとして設定する。従って、基本的に圧縮領域ＡＣには、対象画像ＴＩ中の人物Ｐ１の全体が含まれる結果となる。
【００６３】
また、一方向変形部２３０は、対象領域ＴＩにおける圧縮領域ＡＣ以外の領域を拡大領域ＡＥとして設定する。そして、一方向変形部２３０は、一方向変形処理を実行することにより、図１３Ｂに示すように、対象画像ＴＩの圧縮領域ＡＣを変形方向の長さが短縮された圧縮領域ＡＣ’に変形し、対象画像ＴＩの拡大領域ＡＥを変形方向の長さが延長された拡大領域ＡＥ’に変形する。
【００６４】
図１４は、Ｓ７００において実行される一方向変形処理をフローチャートにより示している。
図１５は、変形方向が横方向である場合の、一方向変形処理を模式的に示した説明図である。図１５Ａは、一方向変形処理が施される前の対象画像における画素の配置を示している。図１５Ｂは、対応画素数テーブル４１０の一例を示している。図１５Ｃは、一方向変形処理が施された画像（変形済画像）の画素の配置を示している。
【００６５】
Ｓ７１０では、一方向変形部２３０は、Ｓ４００において変形方向設定部２２０が設定した変形方向が横方向と縦方向とのいずれであるかを判断する。変形方向が横方向である場合、処理はＳ７２０に進む。一方、変形方向が縦方向である場合、処理はＳ７５０に進む。上述したように、本実施形態では横方向が変形方向であるため、Ｓ７２０に進む。
Ｓ７２０では、一方向変形部２３０は、対象画像において圧縮領域と拡大領域とを設定する。圧縮領域と拡大領域との設定方法は既に述べたため、ここでは説明を省略する。
【００６６】
Ｓ７３０では、一方向変形部２３０は、対応画素数テーブル４１０を生成する。対応画素数テーブル４１０とは、対象画像の変形方向における各画素に対応する変形済画像の画素数を表すテーブルである。一方向変形部２３０は、圧縮領域および拡大領域それぞれについて既に設定されている倍率（圧縮率および拡大率）に基づいて、変形済画像の画素数（対応画素数）を決定する。そして、決定された対応画素数を対応画素数テーブル４１０に格納することにより、対応画素数テーブル４１０が生成される。
【００６７】
一方向変形部２３０は、対応画素数テーブル４１０の生成にあたっては、圧縮率や拡大率を倍率に変換する。例えば、上述したように圧縮率として「３０％」という数値が設定されている場合には、この圧縮率を０．７倍という数値（倍率）に変換する。また、例えば、拡大率として３０％という数値が設定されている場合には、この拡大率を１．３倍という数値（倍率）に変換する。一方向変形部２３０は、例えば、このような倍率の小数部についてハーフトーン処理による二値化を行って０と１との配列パターンを決定し、配列パターンの０または１の値に倍率の整数部を加えることによって、対象画像の画素毎の対応画素数を決定することができる。一方向変形部２３０は、対応画素数テーブル４１０の生成に当っては、ハーフトーン処理としては、ディザや誤差拡散などの周知の方法を用いることができる。また、倍率の小数部ごとに予め格納された配列パターンを用いてもよい。なおＳ７２０において、対応画素数テーブル４１０を生成するのに代えて、予め作成された対応画素数テーブルを用いてもよい。
【００６８】
図１５Ａでは、説明をごく簡単にするために、画像の横方向にそれぞれ５画素からなる領域１，２，３が存在し、領域１および領域３が拡大領域であり、領域２が圧縮領域である場合を想定して説明を行なう。ここでは、領域１の倍率が１．２倍、領域２の倍率が０．６倍、領域３の倍率が１．２倍であるとする。そのため、対応画素数テーブル（図１５Ｂ）においては、領域１の５画素Ｐｘ１〜Ｐｘ５のうち、４つの画素Ｐｘ１，Ｐｘ２，Ｐｘ３，Ｐｘ５については、対応画素数が１に設定され、残り１つの画素Ｐｘ４については、対応画素数が２に設定されている。また、領域２の５画素Ｐｘ６〜Ｐｘ１０のうち、３つの画素Ｐｘ６，Ｐｘ８，Ｐｘ１０については、対応画素数が１に設定され、残り２つの画素Ｐｘ７，Ｐｘ９については、対応画素数が０に設定されている。また、領域３の５画素Ｐｘ１１〜Ｐｘ１５のうち、４つの画素Ｐｘ１１，Ｐｘ１２，Ｐｘ１３，Ｐｘ１５については、対応画素数が１に設定され、残り１つの画素Ｐｘ１４については、対応画素数が２に設定されている。
【００６９】
Ｓ７４０では、一方向変形部２３０は、対応画素数テーブルを参照し、内部メモリ１２０内のバッファ領域を用いて対象画像の１ライン分の画素の再配置を行なう。ここで、ラインとは、一方向変形処理における処理単位であり、長さが対象画像の横方向における全画素数分で、幅が１画素分の画像領域をいう。図１５の例では、図１５Ｃに示すように、領域１を構成する画素として、順次、対応画素数が１の画素Ｐｘ１，Ｐｘ２，Ｐｘ３が１つずつ配置され、次に対応画素数が２の画素Ｐｘ４が２つ配置され、次に対応画素数が１の画素Ｐｘ５が１つ配置される。次いで、領域２を構成する画素として、対応画素数が１の画素Ｐｘ６，Ｐｘ８，Ｐｘ１０が順に１つずつ配置され、次に、領域３を構成する画素として、対応画素数が１の画素Ｐｘ１１，Ｐｘ１２，Ｐｘ１３が１つずつ配置され、対応画素数が２の画素Ｐｘ１４が２つ配置され、対応画素数が１の画素Ｐｘ１５が１つ配置される。このような１ライン分の画素の再配置を全ラインについて行なうことにより、対象画像の拡大領域はそれぞれ１．２倍に拡大され、圧縮領域は０．６倍に圧縮される。
【００７０】
Ｓ７５０では、一方向変形処理実行部２３０は、対象画像の全てのラインについて、画素の再配置が完了したか否かを判断する。全てのラインについて画素の再配置が完了している場合、一方向変形処理を終了し、その結果、図２のフローチャートが終了する。一方、画素の再配置が完了していない場合、処理はＳ７４０に戻され、全てのラインについて画素の再配置が完了するまで、Ｓ７４０，Ｓ７５０が繰り返し実行される。
【００７１】
一方向変形部２３０は、Ｓ７６０においては、対象画像の縦方向と直交する分割線よって対象画像を圧縮領域と拡大領域とに分け、Ｓ７７０では、Ｓ７３０と同様に圧縮領域、拡大領域の各倍率を用いて対応画素数テーブル４１０を生成する。変形方向が縦方向の場合、対象画像の縦方向に並ぶ各画素（縦方向に並ぶ各ライン）についての対応画素数を規定した対応画素数テーブル４１０が生成される。対応画素数の決定方法はＳ７３０と同様であるので説明を省略する。
【００７２】
Ｓ７８０において、一方向変形部２３０は、対応画素数テーブルを参照して、上記バッファ領域に設けられた変形済画像の格納領域に、対象画像のラインを配置する。変形方向が横方向である場合には、画素単位でその画素に対応する対応画素数（０や１や２等）に応じた再配置を行なうが、変形方向が縦方向である場合には、ライン単位で、そのラインに対応する対応画素数に応じた配置を行なう。具体的には、上記バッファ領域の変形済画像の格納領域に、バッファ領域に格納された対象画像の１ラインを、当該１ラインに対応する対応画素数分のラインとして追加する。
【００７３】
Ｓ７９０では、一方向変形部２３０は、対象画像の全てのラインを対象としてＳ７８０の処理を完了したか否かを判断し、完了している場合は、一方向変形処理を終了し、その結果、図２のフローチャートが終了する。一方、完了していない場合は、処理はＳ７８０に戻され、対象画像の全てのラインを対象としてＳ７８０が行なわれるまで、Ｓ７８０，Ｓ７９０が繰り返し実行される。
【００７４】
このように、Ｓ７００の一方向変形処理により、対象画像において変形領域ＴＡを基準にして設定された圧縮領域（顔画像を含む領域）は変形方向に圧縮され、拡大領域は変形方向に拡大される。そのため、図１３Ｂに示したように、変形済画像ＴＩ’中の人物Ｐ１は、変形前の対象画像ＴＩ中の人物Ｐ１よりも全体的に細くなる（スリム化される）。上述したように、Ｓ６００の顔変形処理によって、顔の形状は上下方向に押しつぶされ幅方向に太った形状となっている。そのため、「スリム化補正処理」を構成する顔変形処理および一方向変形処理が施された対象画像においては、人物画像は全体的にスリムな体型に変形しつつも、顔のスリム化の度合いは他の体部分のスリム化の度合いよりも緩くなっている。人間の体の中でも顔はユーザにとって特に注意を引く部分であり、画像補正処理によって顔の縦横比が著しく変形していると、ユーザは大きな違和感を感じてしまう。本実施形態の「スリム化補正処理」によれば、顔の縦横比については、処理前と比較して著しく変化することが抑制されるため、ユーザは、見た目に違和感の無い画像を得ることができる。
【００７５】
上記では、顔変形処理（Ｓ６００）の後に一方向変形処理（Ｓ７００）を実行する場合を例に説明を行なったが、これら２つの処理を行なう場合の処理の順序は問わず、一方向変形処理の後に顔変形処理を行なう構成としてもよい。一方向変形処理の後に顔変形処理を行なう構成の場合、Ｓ５００において“Ｎｏ”の判定がなされた場合には一方向変形処理後に、図２のフローチャートを終える。
【００７６】
また、本実施形態の「スリム化補正処理」では、対象画像中の顔の縦横比が変化し過ぎることを防止しつつも、全体的にバランスの良い画像を得るための種々の工夫をしている。上述したように、顔変形処理では、変形領域の画像のＨ方向における変形量（拡大量）として、一方向変形処理における圧縮率が示す数値をそのまま適用するのではなく、圧縮率が示す数値のうち所定割合分の数値を適用する。つまり、一方向変形処理による圧縮をほぼ全て打ち消す程の拡大を顔変形処理において行なうと、「スリム化補正処理」後の画像において、顔と顔以外の体とのバランスが非常に悪い（顔以外の体だけが細い）人物画像が得られてしまう恐れがある。そのため、あくまで顔変形処理における顔の幅方向の拡大は、一方向変形処理による圧縮領域の圧縮効果がある程度勝るような度合いで行なうようにしている。
【００７７】
また上記では、顔変形部２４０が分割点Ｄの移動量を決定する際に、分割点Ｄ毎に異なる移動量を決定しても良い旨述べた。その一例として、顔変形部２４０は、目や鼻や口といった顔器官よりも外側の領域（例えば、頬付近や顎付近の領域）に適用するＨ方向への移動量（基準線ＲＬから離れていく向きへの移動量）に、制限を与えるとしてもよい。具体的には、顔変形部２４０は、垂直分割線Ｌｖ１上の分割点Ｄ１１，Ｄ１２と垂直分割線Ｌｖ２上の分割点Ｄ２１，Ｄ２２とについては、内側に位置する分割点Ｄ（Ｄ２１，Ｄ２２）に設定するＨ方向の移動量よりも、外側に位置する分割点Ｄ（Ｄ１１，Ｄ１２）に設定するＨ方向の移動量を少なくしたり、顎付近の分割点Ｄ（Ｄ１１，Ｄ２１）に設定するＨ方向の移動量をさらに少なくしてもよい。この場合、顔の左側の垂直分割線Ｌｖ３上の分割点Ｄ３１，Ｄ３２と垂直分割線Ｌｖ４上の分割点Ｄ４１，Ｄ４２とに対しても、同様の考えによってＨ方向の移動量を設定する。
【００７８】
このように、垂直分割線Ｌｖ１，Ｌｖ４上の分割点Ｄ１１，Ｄ１２，Ｄ４１，Ｄ４２のＨ方向の移動量を、垂直分割線Ｌｖ２，Ｌｖ３上の分割点Ｄ２１，Ｄ２２，Ｄ３１，Ｄ３２のＨ方向の移動量よりも少なく設定すれば、顔変形処理を行なった場合に、これら各分割点Ｄはそれぞれ基準線ＲＬから離れる向きに移動（顔画像が顔の幅方向に拡大）しつつも、移動後の分割点Ｄ’１１，Ｄ’１２と分割点Ｄ’２１，Ｄ’２２との距離および分割点Ｄ’４１，Ｄ’４２と分割点Ｄ’３１，Ｄ’３２との距離は、顔変形処理の前よりも狭まる。従って、このような顔変形処理に一方向変形処理を加えて人画像を変形方向に全体的に圧縮した後においては、顔画像も全体的に圧縮された状態となるが、その中でも特に分割点Ｄ’１１，Ｄ’１２，Ｄ’２２，Ｄ’２１で囲まれた画像領域および分割点Ｄ’４１，Ｄ’４２，Ｄ’３２，Ｄ’３１で囲まれた画像領域は顔変形処理前と比較してより狭くなる。
【００７９】
分割点Ｄ’１１，Ｄ’１２，Ｄ’２２，Ｄ’２１で囲まれた画像領域および分割点Ｄ’４１，Ｄ’４２，Ｄ’３２，Ｄ’３１で囲まれた画像領域は、左右の頬や顎のラインに対応する領域である。そのため、かかる領域が特に狭い領域へと変形されることで「スリム化補正処理」後においては、頬や顎のラインが引き締まった顔画像が得られる。さらに、顎付近の分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１のＨ方向の移動量を、頬付近の分割点Ｄ１２，Ｄ２２，Ｄ３２，Ｄ４２のＨ方向の移動量よりも少なく設定すれば、「スリム化補正処理」後においては、顎の幅がより狭くシャープな印象となった顔画像が得られる。
【００８０】
３．他の実施例
次に、上記Ｓ２００において、画像補正処理部２００が、ＵＩのボタンに対するユーザの操作によって「小顔化を伴うスリム化補正処理」の実行が指示されたと判断した後の処理について説明する。「小顔化を伴うスリム化補正処理」と上述の「スリム化補正処理」とは、Ｓ６００における顔補正処理の内容が異なる。そのため、ここでは「小顔化を伴うスリム化補正処理」における顔補正処理について説明する。
【００８１】
「スリム化補正処理」における顔変形処理と、「小顔化を伴うスリム化補正処理」における顔変形処理との違いは、Ｓ６３０で各分割点Ｄに対して決定する移動量の違いに表れる。具体的には、顔変形部２４０は「小顔化を伴うスリム化補正処理」における顔変形処理では、少なくとも一部の分割点Ｄについて、Ｈ方向に沿った基準線ＲＬから離れる向きへの移動量を「スリム化補正処理」の際に設定する移動量よりも少なく設定するとともに、少なくとも一部の分割点Ｄについて、顔画像を小顔化させるように移動量を設定する。ただしこの場合でも、顔変形部２４０は、圧縮率を示す数値をＨ方向とＶ方向との変形量に所定割合で割り当て、Ｈ方向とＶ方向とに割り当てた変形量を各分割点Ｄへ移動量として配分した上で、各分割点Ｄの移動量を調整して設定する。
【００８２】
図１６は、「小顔化を伴うスリム化補正処理」における顔変形処理の際に、顔変形部２４０が各分割点Ｄに対して決定した移動量を表で示している。図１６においても、図９と同様に、各分割点Ｄの移動量は画素ピッチによって示している。図１６においては、例えば、分割点Ｄ１２，Ｄ４２についてのＨ方向の移動量（基準線ＲＬから離れていく向きへの移動量）が、「スリム化補正処理」の顔変形処理の際に設定される移動量（図９参照）よりも少ない値に設定されている。また図１６においては、水平分割線Ｌｈ１上の分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１についてのＨ方向の移動量としては、「スリム化補正処理」の顔変形処理の際に設定される移動量（図９参照）とは異なり、基準線ＲＬに接近する向きへの移動量が設定されており、かつ、これら分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１についてのＶ方向プラス側への移動量は、「スリム化補正処理」の顔変形処理の際に設定される移動量（図９参照）よりも大幅に大きな値となっている。
【００８３】
図１７は、顔変形部２４０がＳ６４０において、図１６に示された分割点Ｄ毎の移動量に従って、各分割点Ｄの位置を移動させて変形領域ＴＡ内の画像を変形する際の具体的態様を示している。図１７でも図１０と同様に、比較の便宜のため、変形前の人物Ｐ１の顔の輪郭を鎖線で示し、変形後の人物Ｐ１の顔の輪郭を実線で示している。また図１７でも、移動後の分割点Ｄの符号に「’」を付し、移動する前の分割点Ｄ（白丸）の符号に括弧を付している。図１７に示すように、基準線ＲＬと平行な方向（Ｖ方向）に関し、水平分割線Ｌｈ１上に配置された分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１の位置は上方に移動され、水平分割線Ｌｈ２，Ｌｈ３上に配置された分割点Ｄ１２，Ｄ２２，Ｄ３２，Ｄ４２，Ｄ１３，Ｄ２３，Ｄ３３，Ｄ４３の位置は下方に移動される。ただし、分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１のＶ方向プラス側への移動量は、「スリム化補正処理」における顔変形処理のときの移動量よりも多い。そのため、水平分割線Ｌｈ１と水平分割線Ｌｈ２との間に位置する画像（顎の下付近から目の下付近までの画像）はＶ方向に関して「スリム化補正処理」における顔変形処理のときよりも強く圧縮される。
【００８４】
基準線ＲＬと直交する方向（Ｈ方向）に関しては、垂直分割線Ｌｖ１上に配置された分割点Ｄ１２，Ｄ１３の位置は左方向に移動され、垂直分割線Ｌｖ４上に配置された分割点Ｄ４２，Ｄ４３の位置は右方向に移動される。さらに、垂直分割線Ｌｖ２上に配置された分割点Ｄ２２，Ｄ２３の位置は左方向に移動され、垂直分割線Ｌｖ３上に配置された分割点Ｄ３２，Ｄ３３の位置は右方向に移動される。ただし、分割点Ｄ１２のＨ方向マイナス側への移動量および分割点Ｄ４２のＨ方向プラス側への移動量は、「スリム化補正処理」における顔変形処理のときの夫々の移動量よりも少ない。そのため、顔画像における、特に頬の高さ辺りの幅は、「スリム化補正処理」における顔変形処理のときよりも拡大の度合いが少なくなっている。
【００８５】
さらに、水平分割線Ｌｈ１上に配置された分割点Ｄ１１，Ｄ２１，Ｄ３１，Ｄ４１のＨ方向の移動量が示す向きは、「スリム化補正処理」における顔変形処理のときの移動量が示す向きと反対である。そのため、顔画像における顎付近の顔の幅は、当該「小顔化を伴うスリム化補正処理」における顔変形処理によって圧縮される。このように、「小顔化を伴うスリム化補正処理」における顔変形処理では、顔の幅が「スリム化補正処理」における顔変形処理のときほどは拡大されず、かつ顔の特に目より下の領域が縮小される（小顔化される）。そのため、「小顔化を伴うスリム化補正処理」を構成する顔変形処理および一方向変形処理が施された対象画像においては、人物画像は全体的にスリムな体型に変形されつつ顔のスリム化の度合いは基本的には他の体部分のスリム化の度合いよりも緩くなっているが、同時に、顔画像における頬や顎周辺を含む、目より下の領域については、顔の高さ方向および幅方向における縮小度合いが強くなっており、その結果、小顔化も実現されている。
【図面の簡単な説明】
【００８６】
【図１】画像処理装置としてのプリンタの構成を概略的に示す説明図である。
【図２】画像補正処理の一例を示したフローチャートである。
【図３】ＵＩの一例を示した説明図である。
【図４】対象画像から顔領域が検出された様子を示した説明図である。
【図５】顔領域から器官領域が検出された様子を示した説明図である。
【図６】顔変形処理の詳細を示したフローチャートである。
【図７】顔領域に対して変形領域を設定した様子を示した説明図である。
【図８】変形領域の小領域への分割方法の一例を示す説明図である。
【図９】分割点毎の移動量の一例を示した図である。
【図１０】顔変形処理によって変形領域内の画像が変形される様子の一例を示した図である。
【図１１】小領域画像の変形処理を概念的に示す説明図である。
【図１２】三角形領域における画像の変形処理方法の概念を示す説明図である。
【図１３】一方向変形処理によって対象画像の各領域が変形される様子の一例を示した図である。
【図１４】一方向変形処理の詳細を示したフローチャートである。
【図１５】一方向変形処理を模式的に示した説明図である。
【図１６】分割点毎の移動量の一例を示した図である。
【図１７】顔変形処理によって変形領域内の画像が変形される様子の一例を示した図である。
【符号の説明】
【００８７】
１００…プリンタ、１１０…ＣＰＵ、１２０…内部メモリ、１４０…操作部、１５０…表示部、１６０…プリンタエンジン、１７０…カードインタフェース、１７２…カードスロット、２００…画像補正処理部、２１０…顔領域検出部、２２０…変形方向設定部、２３０…一方向変形部、２４０…顔変形部、３１０…表示処理部、３２０…印刷処理部、４１０…対応画素数テーブル、４２０…分割点配置パターンテーブル
【図１】
2010055257.tif 000005
【図２】
2010055257.tif 000006
【図３】
2010055257.tif 000007
【図４】
2010055257.tif 000008
【図５】
2010055257.tif 000009
【図６】
2010055257.tif 000010
【図７】
2010055257.tif 000011
【図８】
2010055257.tif 000012
【図９】
2010055257.tif 000013
【図１０】
2010055257.tif 000014
【図１１】
2010055257.tif 000015
【図１２】
2010055257.tif 000016
【図１３】
2010055257.tif 000017
【図１４】
2010055257.tif 000018
【図１５】
2010055257.tif 000019
【図１６】
2010055257.tif 000020
【図１７】
2010055257.tif 000021