画像処理装置および画像処理方法
【課題】生成条件に合わせて画像を適切に変形させることのできる技術を提供することを目的とする。
【解決手段】撮影時における対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、距離パラメータが示す距離が近いほど強くなるように変形の度合いを調整する。
【解決手段】撮影時における対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、距離パラメータが示す距離が近いほど強くなるように変形の度合いを調整する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象画像上の少なくとも一部の領域を変形する画像処理技術に関する。
【背景技術】
【0002】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている(例えば特許文献1)。特許文献1には、顔の画像上の一部の領域(頬の画像を表す領域)を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の形状を変形する画像処理が開示されている。
【0003】
【特許文献1】特開2004−318204
【0004】
ところで、画像の生成(例えば、撮影)の条件と、画像の出力(例えば、表示や印刷)の条件とは、種々に変化し得る。生成条件としては、例えば、撮影時における被写体と撮影装置との間の距離や、撮影時における被写体の明るさ等がある。また、出力条件としては、例えば、印刷時における用紙サイズや、表示用のモニタのサイズ等がある。出力された画像を観察して得られる被写体の印象は、このような条件に応じて種々に変化する。その結果、一律に画像を変形しても、望ましい画像が得られない可能性があった。なお、このような問題は、顔を変形させる場合に限らず、画像の少なくとも一部を変形させる画像処理に共通する問題であった。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記の課題を解決するためになされたものであり、生成条件に合わせて画像を適切に変形させることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述の課題の少なくとも一部を解決するために、本発明の画像処理装置は、変形の度合いを調整する変形量調整部と、撮影によって生成された対象画像上の少なくとも一部の領域を前記調整された度合いで変形させる変形処理部と、を備え、前記変形量調整部は、撮影時における前記対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、前記距離パラメータが示す距離が近いほど強くなるように前記変形の度合いを調整する。
【0007】
この画像処理装置によれば、距離が近いほど変形の度合いが強くなるので、生成条件(距離)に合わせて画像を適切に変形させることができる。
【0008】
さらに、前記変形処理部は、前記被写体の少なくとも一部分の前記対象画像上における少なくとも一方向の大きさが小さくなるように、前記変形を実行することとしてもよい。
【0009】
この構成によれば、被写体を、距離に合わせて適切に変形させることができる。
【0010】
上記画像処理装置において、さらに、前記対象画像上の所定の種類の被写体を検出する検出部と、検出された前記被写体の前記対象画像上におけるサイズを、前記対象画像を解析することによって算出するサイズ算出部と、を備え、前記変形量調整部は、前記サイズを、大きいほど近い距離を示す前記距離パラメータとして利用することとしてもよい。
【0011】
この構成によれば、所定の種類の被写体のサイズが距離パラメータとして利用されるので、画像を適切に変形させることができる。
【0012】
さらに、前記検出部によって複数の被写体が検出された場合には、前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、前記変形量調整部は、前記各被写体のサイズの内の最大サイズに基づいて前記変形の度合いを調整することとしてもよい。
【0013】
この構成によれば、最大サイズに基づいて変形の度合いが調整されるので、変形の度合いが不足することを抑制できる。
【0014】
さらに、上記画像処理装置は、前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、前記変形処理部は、前記変形領域内の画像の変形を実行することとしてもよい。
【0015】
この構成によれば、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0016】
さらに、前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記複数の被写体の中から前記サイズが最大である最大被写体を選択し、前記最大被写体を含む一部の領域を前記変形領域として設定することとしてもよい。
【0017】
この構成によれば、画像の全体を過剰に変形させずに、目立ちやすい最大被写体を変形させることができる。
【0018】
また、前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記サイズが、与えられた選択閾値より大きな被写体を選択し、前記選択された被写体毎に前記変形領域を設定することとしてもよい。
【0019】
この構成によれば、画像の全体を過剰に変形させずに、比較的大きくて目立ちやすい被写体を変形させることができる。
【0020】
また、上記画像処理装置は、さらに、前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、前記変形処理部は、前記変形領域内の画像の変形を実行することとしてもよい。
【0021】
この構成によれば、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0022】
さらに、前記検出部によって複数の被写体が検出された場合には、(A)前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、(B)前記変形領域設定部は、前記各被写体毎に前記変形領域を設定し、(C)前記変形量調整部は、前記各変形領域毎に前記変形の度合いを調整し、(D)前記変形処理部は、前記各変形領域毎に調整された前記変形の度合いに従って、前記各変形領域内の画像の変形を、それぞれ実行することとしてもよい。
【0023】
この構成によれば、複数の被写体のそれぞれを適切に変形させることができる。
【0024】
また、上記画像処理装置は、さらに、前記対象画像上の所定の種類の被写体を検出する検出部と、前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部と、を備え、前記変形処理部は、前記変形領域内の画像の変形を実行することとしてもよい。
【0025】
この構成によれば、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0026】
さらに、上述の各画像処理装置において、前記被写体は人物の顔であることとしてもよい。
【0027】
この構成によれば、人物の顔を含む対象画像を、距離に合わせて適切に変形させることができる。
【0028】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像変形方法および装置、画像補正方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0029】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.第5実施例:
F.第6実施例:
G.第7実施例:
H.変形領域の設定:
I.顔変形処理:
J.他の変形処理:
K.変形例:
【0030】
A.第1実施例:
図1は、本発明の一実施例としての画像処理装置が適用されるプリンタ100の構成を概略的に示す説明図である。プリンタ100は、メモリカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ100は、プリンタ100の各部を制御するCPU110と、例えばROMやRAMによって構成された内部メモリ120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、プリンタエンジン160と、カードインタフェース(カードI/F)170と、を備えている。プリンタ100は、さらに、他の機器(例えば、デジタルスチルカメラやパーソナルコンピュータ)とのデータ通信を行うためのインタフェースを備えているものとしてもよい。プリンタ100の各構成要素は、バスを介して互いに接続されている。
【0031】
プリンタエンジン160は、印刷データに基づき印刷を行う印刷機構である。カードインタフェース170は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのインタフェースである。なお、第1実施例では、メモリカードMCにRGBデータとしての画像データが格納されており、プリンタ100は、カードインタフェース170を介してメモリカードMCに格納された画像データの取得を行う。
【0032】
内部メモリ120には、顔形状補正部200と、表示処理部310と、印刷処理部320とが格納されている。顔形状補正部200は、所定のオペレーティングシステムの下で、後述する顔形状補正処理を実行するためのコンピュータプログラムである。表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部320は、画像データから印刷データを生成し、プリンタエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。CPU110は、内部メモリ120から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【0033】
顔形状補正部200は、プログラムモジュールとして、変形態様設定部210と、顔領域検出部220と、顔領域調整部230と、変形領域設定部240と、変形領域分割部250と、分割領域変形部260と、変形量調整部290と、を含んでいる。変形態様設定部210は、指定取得部212を含んでいる。後述するように、変形領域分割部250と、分割領域変形部260と、により画像の変形が行われる。そのため、変形領域分割部250と分割領域変形部260とは、併せて「変形処理部」とも呼ぶことができる。これらの各部の機能については、後述する。
【0034】
内部メモリ120には、また、分割点配置パターンテーブル410と分割点移動テーブル420とが格納されている。分割点配置パターンテーブル410および分割点移動テーブル420の内容については、後述の顔変形処理の説明において詳述する。
【0035】
プリンタ100は、メモリカードMCに格納された画像データに基づき、画像の印刷を行う。カードスロット172にメモリカードMCが挿入されると、表示処理部310により、メモリカードMCに格納された画像の一覧表示を含むユーザインタフェースが表示部150に表示される。図2は、画像の一覧表示を含むユーザインタフェースの一例を示す説明図である。なお、第1実施例では、画像の一覧表示は、メモリカードMCに格納された画像データ(画像ファイル)に含まれるサムネイル画像を用いて実現される。図2に示すユーザインタフェースには、8つのサムネイル画像TN1〜TN8と、5つのボタンBN1〜BN5が表示されている。
【0036】
プリンタ100は、図2に示すユーザインタフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に通常印刷ボタンBN3が選択されると、選択された画像を通常通り印刷する通常印刷処理を実行する。他方、当該ユーザインタフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に顔形状補正印刷ボタンBN4が選択されると、プリンタ100は、選択された画像について、画像中の顔の形状を補正して補正後の画像を印刷する顔形状補正印刷処理を実行する。図2の例では、サムネイル画像TN1と顔形状補正印刷ボタンBN4とが選択されている。そのため、プリンタ100は、サムネイル画像TN1に対応する画像について顔の形状を補正して補正後の画像を印刷する。
【0037】
図3は、プリンタ100において顔形状補正印刷を行う際に実行される顔形状補正印刷ルーチンを示すフローチャートである。ステップS100では、顔形状補正部200(図1)が、顔形状補正処理を実行する。顔形状補正処理は、画像中の顔の少なくとも一部の形状(例えば顔の輪郭形状や目の形状)を補正する処理である。なお、目や鼻などの顔の一部分は、一般に器官とも呼ばれる。
【0038】
図4は、図3のステップS100において実行される顔形状補正処理ルーチンを示すフローチャートである。ステップS110では、顔形状補正部200(図1)が、顔形状補正処理の対象となる対象画像を設定する。顔形状補正部200は、図2に示したユーザインタフェースにおいてユーザにより選択されたサムネイル画像TN1に対応する画像を対象画像として設定する。設定された対象画像の画像データは、メモリカードMCからカードインタフェース170を介してプリンタ100に取得され、内部メモリ120の所定領域に格納される。なお、以下では、このようにメモリーカードMCから取得され、プリンタ100の内部メモリ120に格納された画像データを「元画像データ」とも呼ぶ。また、元画像データにより表される画像を「元画像」とも呼ぶ。
【0039】
ステップS120(図4)では、変形態様設定部210(図1)が、顔形状補正のための画像変形のタイプと画像変形の度合いとを設定する。変形態様設定部210は、画像変形のタイプおよび度合いを設定するためのユーザインタフェースを表示部150に表示するように表示処理部310に指示し、当該ユーザインタフェースを通じてユーザにより指定された画像変形のタイプおよび度合いを選択し、処理に使用する画像変形タイプおよび度合いとして設定する。
【0040】
図5は、画像変形のタイプおよび度合いを設定するためのユーザインタフェースの一例を示す説明図である。図5に示すように、このユーザインタフェースには、画像変形タイプを設定するためのインタフェースが含まれている。第1実施例では、例えば、顔の形状をシャープにする変形タイプ「タイプA」や、目の形状を大きくする変形タイプ「タイプB」等が選択肢として予め設定されているものとする。ユーザは、このインタフェースを介して画像変形のタイプを指定する。変形態様設定部210は、ユーザにより指定された画像変形タイプを、実際の処理に使用する画像変形タイプとして設定する。
【0041】
また、図5に示すユーザインタフェースには、画像変形の度合い(程度)を設定するためのインタフェースが含まれている。図5に示すように、第1実施例では、画像変形の度合いとして、強(S)、中(M)、弱(W)の3段階と、自動と、の4つが選択肢として予め設定されているものとする。ユーザは、このインタフェースを介して画像変形の度合いを指定する。強、中、弱の3つの内のいずれかが指定された場合には、変形態様設定部210は、ユーザにより指定された画像変形の度合いを、実際の処理に使用する画像変形の度合いとして設定する。「自動」が指定された場合には、画像変形の度合いが変形量調整部290(図1)によって自動的に調整される。ユーザインタフェースに設けられたチェックボックスは、ユーザが変形態様の詳細指定を希望する場合にチェックされる。
【0042】
以降では、画像変形のタイプとして顔の形状をシャープにするための変形タイプ「タイプA」が設定され、画像変形の度合いとして「自動」が設定され、ユーザによる詳細指定の希望はなかったものとして説明を行う。
【0043】
ステップS130(図4)では、顔領域検出部220(図1)が、対象画像における顔領域の検出を行う。ここで、顔領域とは、対象画像上の画像領域であって、少なくとも顔の一部の画像が含まれる領域を意味している。顔領域検出部220による顔領域の検出は、例えばテンプレートを利用したパターンマッチングによる方法(特開2004−318204参照)といった公知の顔検出方法を用いて実行される。
【0044】
図6は、顔領域の検出結果の一例を示す説明図である。図6の例では、対象画像TIに人物が含まれている。そのため、ステップS130における顔検出により、対象画像TIからは、人物に対応して顔領域FAが検出される。この顔領域は、図6に示すように、それぞれの目と鼻と口の画像を含む矩形の領域となっている。
【0045】
ステップS130の顔領域の検出において、顔領域が検出されなかった場合には、その旨が表示部150を通じてユーザに通知される。この場合には、顔形状補正を伴わない通常印刷が行われるものとしてもよい。また、他の顔検出方法を用いた顔領域の再度の検出処理が行われるものとしてもよい。
【0046】
なお、ステップS130では、テンプレートを利用したパターンマッチングにより、対象画像から顔が検出される。このようなテンプレートを利用したパターンマッチングによる方法等の公知の顔検出方法は、一般に、顔全体や顔の部位(目や口等)について位置や傾き(角度)を詳細に検出するものではなく、対象画像中から顔の画像が概ね含まれると考えられる領域を顔領域として設定するものである。
【0047】
ステップS500において、プリンタ100は、検出された顔領域に基づいて顔形状補正のための画像変形処理を施す領域(変形領域)を設定する。具体的には、自然で好ましい顔形状補正が実現されるように、ステップS130で検出された顔領域について位置調整および傾き調整を行うことにより、変形領域が設定される。このように変形領域を設定することにより、一般的に観察者の注目度が高い顔の画像が、設定された変形領域と顔の画像との位置や角度の関係によって不自然に変形されることが抑制される。なお、変形領域を設定する方法については、後述の変形領域の設定の説明において詳述する。
【0048】
図7は、ステップS500における変形領域の設定結果を示す説明図である。図7の破線は、ステップS130において対象画像TIから検出された顔領域FAを示している。図7の太線は、顔領域FAについて設定された変形領域を示している。図7に示すように、ステップS500では、この顔領域FAに対応した変形領域TAが設定される。
【0049】
図4のステップS590では、変形量調整部290(図1)が、変形の度合い(変形量とも呼ぶ)を調整する。この調整の詳細については後述する。
【0050】
ステップS600では、ステップS500で設定された変形領域に対し、変形処理が行われる。第1実施例のステップS600では、変形領域内の変形処理後の画像を元画像に変形処理を施した画像とする変形処理が行われる。なお、変形処理の具体的内容については、後述の顔変形処理の説明で詳述する。変形処理の後、図3の顔形状補正印刷ルーチンに制御が戻される。
【0051】
図8は、変形処理が行われた結果を示す説明図である。図8(a)は、図4のステップS600により変形処理が行われる前の状態を示している。変形処理は変形領域TAにのみ施される。図8(b)に示す変形処理後の対象画像TIでは、変形領域TA内の人物の顔が細くなる。なお、後述するように、変形領域TAの外の領域は変形されない。その結果、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0052】
図8の例では、顔の左右の頬のライン(顔の輪郭)が変形量DQだけ内側に移動している。この変形量DQは、図4のステップS590で調整されている。このような変形によって、変形後の顔の幅Wdは、変形前の顔の幅Woと比べて、変形量DQの2倍だけ狭くなる。このように幅が狭くなるように画像を変形させる理由は、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけるためである。
【0053】
図9は、被写体の印象の違いを示す説明図である。図中には、被写体Sと、人(観察者)の右目REと左目LEと、カメラCMとが示されている。この図は、観察者の上面から見た位置関係を示している。
【0054】
図9の例では、説明を簡単にするために、上面から見た被写体Sの形状が半径rの円であることと仮定している。なお、このような丸い被写体Sとしては、人の頭に限らず、種々の被写体(例えば、円筒形の建物)が挙げられる。この被写体Sは、2つの目RE、LEの真正面に位置している。また、カメラCMは、2つの目RE、LEの中点MPに配置されている。すなわち、カメラCMは、観察者とほぼ同じ位置から、被写体Sを見る。なお、図中のx軸は、被写体Sの中心Cと、中点MPとを通る座標軸である。y軸は、中心Cを通り、x軸と垂直な座標軸である。2つの目RE、LEは、このy軸に沿って並んでいる。距離Lは、2つの目RE、LEの間の距離を示している。また、距離dは、中心Cと目RE、LEとの間のx軸に沿った距離を示している。
【0055】
図中の第1幅W1は、被写体Sの幅を示している。この第1幅W1は、カメラCMから見える部分の幅を示している。カメラCMから見える部分は、被写体Sの表面の内の、カメラ被写体範囲SRC内の部分である。このカメラ被写体範囲SRCは、カメラCMの視野の全範囲の内の被写体Sが占める範囲を示している。
【0056】
図中の第2幅W2も、被写体Sの幅を示している。ただし、この第2幅W2は、両目RE、LEから見える部分の幅を示している。両目RE、LEから見える部分は、被写体Sの表面の内の、右被写体範囲SRRと左被写体範囲SRLとの重なる範囲の内の部分である。右被写体範囲SRRは、右目REの視野の全範囲の内の被写体Sが占める範囲を示し、左被写体範囲SRLは、左目LEの視野の全範囲の内の被写体Sが占める範囲を示している。
【0057】
図示するように、右目REと左目LEとの間では、被写体Sの見える部分が異なっている。すなわち、右目REから見える部分は右目RE側に偏っており、左目LEから見える部分は左目LE側に偏っている。このような場合には、人(観察者)による被写体Sの認識は、両目RE、LEに共通な可視部分から強い影響を受けると推定される。例えば、人は、両目RE、LEに共通な可視部分の幅W2が被写体Sの幅であるという認識を持つと推定される。
【0058】
また、図示するように、第2幅W2は第1幅W1よりも狭い。すなわち、撮影によって生成された画像を観察すると、実際の被写体Sを観察したときと比べて幅が広い印象を受ける。そこで、図8(B)に示すように幅が狭くなるように画像を変形させることによって、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0059】
図10は、第1幅W1に対する第2幅W2の比率Riと、距離dとの関係を示すグラフである。横軸は距離dを示し、縦軸は比率Riを示している。また、図10には、これらの幅W1、W2を示す関数も示されている。これらの幅W1、W2は、半径rと距離dと距離Lとの関数で表されている。なお、図10のグラフでは、半径rと距離Lとは固定されている。
【0060】
図示するように、この比率Ri(W2/W1)は、距離dが小さいほど小さい。また、この比率Ri(W2/W1)は、「1.0」よりも小さく、距離dが大きいほど「1.0」に近くなる。
【0061】
図11(A)は、変形量DQと被写体距離(Subject Distance)Sdとの関係を示すグラフである。図11(B)は、変形前の幅Woに対する変形後の幅Wdの比率Rwと、被写体距離Sdとの関係を示すグラフである。これらのグラフでは、横軸が被写体距離Sdを示している。
【0062】
被写体距離Sdは、対象画像TIが撮影された時の撮影装置と被写体との距離を示している。このような被写体距離Sdは、対象画像TIを表す画像データを格納する画像ファイルに、履歴情報として格納されている。このような画像データと履歴情報とを格納するデータファイルの形式としては、例えば、Exif(Exchangeable Image File Format)が利用される。本実施例では、このようなExifデータファイルが、メモリカードMC(図1)からプリンタ100に供給される。なお、履歴情報は、通常は、撮影装置(例えば、デジタルスチルカメラ)によって設定される。
【0063】
図11(A)に示す変形量DQは、図11(B)に示す比率Rwが図10に示す比率Riと同じとなるように、予め設定されている。この結果、変形量DQは、被写体距離Sdが短いほど大きな値に設定される。ここで、距離Lと半径rとは所定値に予め固定されている。目の距離Lとしては、例えば、0.1mを採用可能である。また、半径r、すなわち、被写体Sの大きさとしては、被写体を代表する値(例えば、0.1m)を採用可能である。なお、本実施例では、変形量DQは、変形領域TA内における幅の変化率(この場合は減少率)を示している。
【0064】
図4のステップS590では、変形量調整部290(図1)は、対象画像TIに対応付けられた履歴情報から被写体距離Sdを取得し、被写体距離Sdから変形量DQを決定する。変形量DQと被写体距離Sdとの対応関係は、図11(A)に示すように、予め設定されている。なお、被写体距離Sdは、特許請求の範囲における「距離パラメータ」に相当する。図4のステップS600では、このように決定された変形量DQを利用して画像が変形される(図8(B))。その結果、距離に合わせて画像を適切に変形させることができる。具体的には、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0065】
図4の顔形状補正処理ルーチンから制御が戻されると、図3のステップS200において、変形処理後の画像(補正画像)が表示される。具体的には、顔形状補正部200(図1)が、顔形状補正後の対象画像を表示部150に表示するよう表示処理部310に指示する。図12は、顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図である。顔形状補正後の対象画像TIが表示された表示部150により、ユーザは、補正結果を確認することができる。ユーザが補正結果に満足せず「戻る」ボタンを選択した場合には、例えば表示部150に図5に示した変形タイプおよび変形度合いを選択する画面が表示され、ユーザによる変形タイプや変形度合いの再度の設定が実行される。ユーザが補正結果に満足し、「印刷」ボタンを選択した場合には、以下の補正画像印刷処理が開始される。
【0066】
ステップS300では、印刷処理部320(図1)が、プリンタエンジン160を制御して、顔形状補正処理後の対象画像の印刷を行う。印刷処理部320は、顔形状補正処理後の対象画像の画像データに、解像度変換やハーフトーン処理などの処理を施して印刷データを生成する。生成された印刷データは、印刷処理部320からプリンタエンジン160に供給され、プリンタエンジン160は対象画像の印刷を実行する。これにより、顔形状補正後の対象画像の印刷が完了する。
【0067】
B.第2実施例:
図13(A)は、第2実施例における変形量DQを示すグラフである。図11(A)に第1実施例との差違は、被写体距離Sdの代わりに被写体距離レンジ(Subject Distance Range)Sdrに基づいて変形量DQが決定される点だけである。
【0068】
被写体距離レンジSdrは、対象画像TIが撮影された時の撮影装置と被写体との距離を、「マクロ」、「近景」、「遠景」の3段階で示している。この被写体距離レンジSdrは、上述の被写体距離Sdと同様に、履歴情報として画像ファイルに格納される。撮影装置の中には、被写体距離Sdを設定せずに被写体距離レンジSdrを設定するものがある。第2実施例では、このような撮影装置によって生成された画像ファイルを利用することができる。
【0069】
図13(A)のグラフでは、横軸が被写体距離レンジSdrを示し、縦軸が変形量DQを示している。この変形量DQは、図11(A)に示す第1実施例と同様に、距離が近いほど大きくなるように予め設定されている。
【0070】
図13(B)は、比率Rw(変形後の幅Wd/変形前の幅Wo)と被写体距離レンジSdrとの関係を示すグラフである。横軸が被写体距離レンジSdrを示し、縦軸が比率Rwを示している。本実施例では、変形量調整部290は、図13(A)に示す対応関係に従って、被写体距離レンジSdrから変形量DQを決定するので、距離が近いほど比率Rwが小さくなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。なお、変形量DQと被写体距離レンジSdrとの対応関係は、比率Rwが図10に示す比率Riに近い値となるように設定することが好ましい。なお、被写体距離レンジSdrは、特許請求の範囲における「距離パラメータ」に相当する。
【0071】
C.第3実施例:
図14は、第3実施例におけるプリンタ100aの構成を概略的に示す説明図である。図1に示すプリンタ100との差違は、顔形状補正部200aに、サイズ算出部292が追加されている点だけである。他の構成は、図1に示すプリンタ100と同じである。
【0072】
図15は、サイズ算出部292(図14)によって算出されるサイズを示す概略図である。本実施例では、顔形状補正処理は、図4の手順に従って実行される。ただし、上述の各実施例とは異なり、ステップS590では、まず、サイズ算出部292が、対象画像TI上の被写体のサイズを算出する。そして、変形量調整部290は、算出されたサイズを利用して、変形量DQを調整する。図4の他のステップの処理は、上述の各実施例と同じである。
【0073】
本実施例では、被写体として顔が採用されている。そして、サイズ算出部292は、2つの目の間の距離からサイズを算出する。サイズ算出部292は、まず、顔領域FAから2つの目を検出する。目の検出方法としては、例えば、テンプレートを利用したパターンマッチングによる方法といった公知の種々の方法を採用可能である。次にサイズ算出部292は、検出された2つの目の間の距離Eydを算出する。算出された距離Eydは、画素数によって表されている。次にサイズ算出部292は、対象画像TIのサイズに対する被写体の相対的なサイズEyrを算出する。本実施例では、相対サイズEyrは、距離Eydを、対象画像TIの幅方向の画素数IWと高さ方向の画素数IVとの内の大きい方で割った値である(図15の例では、幅方向の画素数IW)。この相対サイズEyrは、対象画像TIの画素密度に依存しない対象画像TI上の被写体のサイズを示している。
【0074】
相対サイズEyrは、撮影時の撮影装置と被写体との距離が近いほど、大きくなる。すなわち、相対サイズEyrは、距離を示す指標として利用可能である。そこで、変形量調整部290は、この相対サイズEyrから変形量DQを決定する。なお、2つの目の間の距離(すなわち、相対サイズEyr)の人による違いは、被写体と撮影装置との距離の変化による相対サイズEyrの変化と比べて、十分に小さい。従って、相対サイズEyrは、人に依存しない距離の共通指標として利用可能である。
【0075】
図16(A)は、第3実施例における変形量DQを示すグラフである。横軸は相対サイズEyrを示し、縦軸は変形量DQを示している。この変形量DQは、相対サイズEyrが大きいほど大きくなるように予め設定されている。すなわち、変形量DQは、撮影時の撮影装置と被写体との距離が近いほど、大きくなるように設定されている。
【0076】
図16(B)は、比率Rw(変形後の幅Wd/変形前の幅Wo)と相対サイズEyrとの関係を示すグラフである。横軸は相対サイズEyrを示し、縦軸は比率Rwを示している。本実施例では、変形量調整部290は、図16(A)に示す対応関係に従って、相対サイズEyrから変形量DQを決定するので、距離が近いほど比率Rwが小さくなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。なお、変形量DQと相対サイズEyrとの対応関係は、比率Rwが図10に示す比率Riに近い値となるように設定することが好ましい。なお、相対サイズEyrは、特許請求の範囲における「距離パラメータ」に相当する。
【0077】
以上のように、第3実施例では、対象画像TIを解析することによって距離パラメータが算出される。その結果、被写体距離Sdと被写体距離レンジSdrとのそれぞれを利用できない場合であっても、距離に合わせて画像を適切に変形させることができる。
【0078】
D.第4実施例:
図17は、第4実施例における顔形状補正処理の概略を示す説明図である。この第4実施例の処理は、図14〜図16に示す第3実施例において対象画像TIから複数の被写体が検出された場合の処理を示している。
【0079】
図17には、対象画像TIが示されている。この対象画像TIには、3人の人物S1、S2、S3が写っている。その結果、図4のステップS130では、これら3人の人物S1、S2、S3のそれぞれに対応する3つの顔領域FA1、FA2、FA3が検出される。次のステップS500では、これら3つの顔領域FA1、FA2、FA3のそれぞれに対応する3つの変形領域TA1、TA2、TA3が設定される。
【0080】
図4の次のステップS590では、サイズ算出部292(図14)は、3つの顔領域FA1、FA2、FA3のそれぞれに対応する3つの相対サイズEyr1、Eyr2、Eyr3を算出する。そして、変形量調整部290(図14)は、図16(A)の対応関係に従って、3つの変形領域TA1、TA2、TA3のそれぞれの変形量DQ1、DQ2、DQ3を、3つの相対サイズEyr1、Eyr2、Eyr3から、それぞれ決定する。ステップS600では、3つの変形領域TA1、TA2、TA3は、各領域毎に決定された3つの変形量DQ1、DQ2、DQ3を利用して、それぞれ変形される。
【0081】
以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0082】
以上のように、第4実施例では、変形領域(すなわち、被写体)毎に変形量DQが調整される。その結果、1枚の対象画像TIから複数の被写体が検出された場合に、各被写体を適切に変形させることができる。
【0083】
E.第5実施例:
図18は、第5実施例における顔形状補正処理の概略を示す説明図である。この第5実施例の処理は、図14〜図16に示す第3実施例において対象画像TIから複数の被写体が検出された場合の処理の別の例を示している。
【0084】
図18には、図17と同じ対象画像TIが処理される場合が示されている。図17に示す第4実施例との差違は、全ての変形領域に共通の変形量DQが適用される点だけである。変形量調整部290は、対象画像TIから検出された全ての被写体の相対サイズの内の最大の相対サイズに基づいて、共通の変形量DQを決定する。図18の例では、3つの相対サイズEyr1、Eyr2、Eyr3の中の最大の第1相対サイズEyr1に基づいて変形量DQが決定される。以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0085】
以上のように、第5実施例では、変形量が最大サイズに基づいて決定されるので、変形量が不足することを抑制できる。また、全ての変形領域に共通の変形量が適用されるので、変形量が異なる複数の変形処理を実行する場合と比べて、画像処理を簡素化することができる。
【0086】
なお、第5実施例では、全ての変形領域に共通の変形量DQが適用される。そこで、変形量DQの決定に利用される距離パラメータとしては、1枚の対象画像TIに1つの値が対応付けられるようなパラメータを採用してもよい。例えば、上述の被写体距離Sdを採用してもよく、また、上述の被写体距離レンジSdrを採用してもよい。なお、相対サイズEyrとは異なるパラメータを採用する場合には、サイズ算出部292(図14)を省略してもよい。
【0087】
F.第6実施例:
図19は、第6実施例における顔形状補正処理ルーチンを示すフローチャートである。図4に示す手順との差違は、ステップS130とステップS500との間にステップS140が追加されている点だけである。他のステップの処理は、図4、図14、図18に示す第5実施例と同様に実行される。
【0088】
ステップS140では、変形領域設定部240(図14)は、ステップS130で複数の顔領域(すなわち、被写体)が検出された場合に、所定の条件を満たす顔領域を選択する。選択された顔領域は、変形処理の対象として利用される。また、変形領域設定部240は、選択されなかった顔領域を、変形処理の対象から除外する。
【0089】
図20は、第6実施例における顔形状補正処理の概略を示す説明図である。図20には、図18と同じ対象画像TIが示されている。第6実施例では、与えられた選択閾値よりも相対サイズが大きな顔領域が選択される。これにより、相対サイズの大きな被写体と相対サイズの小さな被写体が1枚の対象画像TI上に混在している場合には、相対サイズが大きい一部の被写体が選択される。
【0090】
第6実施例では、変形領域設定部240は、最大相対サイズに基づいて、最大相対サイズよりも小さい値に選択閾値を設定する。具体的には、1より小さい所定係数(例えば、0.8)を最大相対サイズに乗じて得られる値を選択閾値として利用する。ここで、最大相対サイズとは、対象画像TIから検出された全ての被写体の相対サイズの内の最大のサイズを意味している。なお、このような選択閾値の設定方法としては、他の種々の方法を採用可能である。例えば、選択閾値が、最大相対サイズに比例しなくてもよい。なお、図20の例では、第1相対サイズEyr1が最大であり、第3相対サイズEyr3は選択閾値よりも小さく、第2相対サイズEyr2は選択閾値よりも大きいことと仮定している。
【0091】
図20の対象画像TIを処理する場合には、図19のステップS140では、まず、サイズ算出部292(図14)が、ステップS130で検出された3つの顔領域FA1、FA2、FA3のそれぞれに対応する3つの相対サイズEyr1、Eyr2、Eyr3を算出する。次に、変形領域設定部240は、選択閾値を決定し、相対サイズが選択閾値よりも大きな顔領域を選択する。図20の例では、第1顔領域FA1と第2顔領域FA2とが選択され、第3顔領域FA3は変形処理の対象から除外される。図19の続くステップS500〜S600の処理は、選択された顔領域に対して実行される。これらの結果、相対サイズが比較的大きい2つの被写体S1、S2が、最大の相対サイズ(この例では、第1相対サイズEyr1)に基づいて調整された変形量DQに従って、変形される。
【0092】
以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0093】
このように、第6実施例では、相対サイズが最大相対サイズに近い被写体のみが、最大相対サイズに基づいて調整された変形量DQに従って変形される。その結果、比較的大きくて目立ちやすい被写体を変形させることができる。また、相対サイズが最大相対サイズと比べて十分に小さいく目立ちにくい被写体を変形することを防止できる。
【0094】
なお、選択閾値は所定の値に固定されていてもよい。ただし、最大相対サイズに基づいて、最大相対サイズよりも小さい値に選択閾値を設定すれば、対象画像TIに合わせて処理対象を選択することができる。
【0095】
また、第6実施例では、全ての変形領域に共通の変形量DQが適用される。そこで、変形量DQの決定に利用される距離パラメータとしては、1枚の対象画像TIに1つの値が対応付けられるようなパラメータを採用してもよい。例えば、上述の被写体距離Sdを採用してもよく、また、上述の被写体距離レンジSdrを採用してもよい。
【0096】
G.第7実施例:
図21は、第7実施例における顔形状補正処理の概略を示す説明図である。この第7実施例では、顔形状補正処理は、図20に示す第6実施例と同様に、図19に示す手順に従って実行される。図20に示す第6実施例との差違は、ステップS140で、変形領域設定部240(図14)は、ステップS130で複数の顔領域(すなわち、被写体)が検出された場合に、相対サイズが最大である顔領域(被写体)を選択する点だけである。図19の他のステップは、第6実施例と同様に実行される。
【0097】
図21には、図20と同じ対象画像TIが処理される場合が示されている。図20に示す第6実施例とは異なり、第7実施例では、相対サイズが最大である第1顔領域FA1のみが選択されている。
【0098】
以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0099】
このように、第7実施例では、相対サイズが最大である被写体のみが、最大相対サイズに基づいて調整された変形量DQに従って変形される。その結果、画像の全体を過剰に変形させずに、目立ちやすい最大被写体を変形させることができる。
【0100】
なお、第7実施例では、変形量DQの決定に利用される距離パラメータとしては、1枚の対象画像TIに1つの値が対応付けられるようなパラメータを採用してもよい。例えば、上述の被写体距離Sdを採用してもよく、また、上述の被写体距離レンジSdrを採用してもよい。
【0101】
H.変形領域の設定:
図22は、顔領域FAの検出結果の一例を示す説明図である。なお、以下の説明では、画像を選択するユーザインタフェースにおいて、1人の顔のみが含まれている画像TN1(図2)が選択されたものとしている。図22に示すように、図4のステップS130において、対象画像TIからは、1つの顔領域FAが検出される。なお、対象画像TIから複数の顔領域が検出された場合には、以下に説明する変形領域の設定処理は検出された個々の顔領域に対して行われる。図22に示した基準線RLは、顔領域FAの高さ方向(上下方向)を定義すると共に、顔領域FAの幅方向(左右方向)の中心を示す線である。すなわち、基準線RLは、矩形の顔領域FAの重心を通り、顔領域FAの高さ方向(上下方向)に沿った境界線に平行な直線である。
【0102】
図23は、変形領域の設定処理の流れを示すフローチャートである。図23のフローチャートに示す処理は、図4のステップS500において実行される。ステップS510では、顔領域調整部230(図1)が、ステップS130(図4)で検出された顔領域FAの高さ方向の位置調整を行う。ここで、顔領域FAの高さ方向の位置調整とは、顔領域FAの基準線RL(図22参照)に沿った位置を調整して、対象画像TIにおける顔領域FAを再設定することを意味している。
【0103】
図24は、顔領域FAの高さ方向の位置調整処理の流れを示すフローチャートである。ステップS511では、顔領域調整部230(図1)が、特定領域SAを設定する。ここで、特定領域SAとは、対象画像TI上の領域であって、顔領域FAの高さ方向の位置調整を実行する際に参照する所定の参照被写体の画像を含む領域である。参照被写体は、例えば「目」に設定することができ、その場合、特定領域SAは「目」の画像を含む領域として設定される。
【0104】
図25は、特定領域SAの一例を示す説明図である。顔領域調整部230は、特定領域SAを顔領域FAとの関係に基づいて設定する。具体的には、顔領域FAの大きさを、基準線RLに直交する方向および基準線RLに平行な方向に、所定比率で縮小(または拡大)した大きさの領域であって、顔領域FAの位置と所定の位置関係を有する領域が、特定領域SAとして設定される。すなわち、顔領域検出部220により検出された顔領域FAとの関係に基づき特定領域SAを設定すれば、特定領域SAが両方の目の画像を含む領域となるように、上記所定比率や所定の位置関係が予め設定されている。なお、特定領域SAは、目の画像とまぎらわしい画像(例えば髪の毛の画像)がなるべく含まれないように、両目の画像を含む限りにおいて、なるべく小さい領域として設定されることが好ましい。
【0105】
また、図25に示すように、特定領域SAは、基準線RLに対して対称な矩形形状の領域として設定される。特定領域SAは、基準線RLにより、向かって左側の領域(以下「左分割特定領域SA(l)」とも呼ぶ)と、向かって右側の領域(以下「右分割特定領域SA(r)」とも呼ぶ)とに分割される。特定領域SAは、左分割特定領域SA(l)と右分割特定領域SA(r)とのそれぞれに片目の画像が含まれるように設定される。
【0106】
ステップS512(図24)では、顔領域調整部230(図1)が、特定領域SAにおける目の画像の位置を検出するための評価値を算出する。図26は、評価値の算出方法の一例を示す説明図である。評価値の算出には、RGB画像データとしての対象画像TIの各画素のR値(R成分値)を用いるのが好ましい。これは、肌の部分の画像と目の部分の画像とではR値の差が大きいため、R値を評価値の算出に用いることにより、目の画像の検出精度を向上させることができると考えられるからである。また、対象画像TIのデータがRGBデータとして取得されているため、R値を評価値の算出に用いることにより、評価値の算出の効率化を図ることができるからでもある。なお、図26に示すように、評価値の算出は、2つの分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))のそれぞれについて個別に行われる。
【0107】
顔領域調整部230は、図26に示すように、分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))内に、基準線RLと直交するn本の直線(以下「対象画素特定線PL1〜PLn」と呼ぶ)を設定する。対象画素特定線PL1〜PLnは、分割特定領域の高さ(基準線RLに沿った大きさ)を(n+1)等分する直線である。すなわち、対象画素特定線PL同士の間隔は、すべて等間隔sである。
【0108】
顔領域調整部230は、対象画素特定線PL1〜PLnのそれぞれについて、対象画像TIを構成する画素の中から評価値の算出に用いる画素(以下「評価対象画素TP」と呼ぶ)を選択する。図27は、評価対象画素TPの選択方法の一例を示す説明図である。顔領域調整部230は、対象画像TIを構成する画素の内、対象画素特定線PLと重なる画素を評価対象画素TPとして選択する。図27(a)は、対象画素特定線PLが対象画像TIの画素の行方向(図27のX方向)と平行である場合を示している。この場合には、各対象画素特定線PLと重なる画素行上の画素(図27(a)において○印を付した画素)が、各対象画素特定線PLについての評価対象画素TPとして選択される。
【0109】
一方、顔領域FAの検出方法や特定領域SAの設定方法によっては、図27(b)に示すように、対象画素特定線PLが対象画像TIの画素の行方向(X方向)と平行とはならない場合も生ずる。このような場合にも、原則として、各対象画素特定線PLと重なる画素が、各対象画素特定線PLについての評価対象画素TPとして選択される。ただし、例えば図27(b)における対象画素特定線PL1と画素PXaおよびPXbとの関係のように、ある対象画素特定線PLが、対象画像TIの画素マトリクスの同一列に位置する(すなわちY座標が同一の)2つの画素と重なる場合には、重なり部分の距離のより短い方の画素(例えば画素PXb)は評価対象画素TPから除外される。すなわち、各対象画素特定線PLについて、画素マトリクスの1つの列からは1つの画素のみが評価対象画素TPとして選択される。
【0110】
なお、対象画素特定線PLの傾きが、X方向に対して45度を超える場合には、上記説明において画素マトリクスの列と行との関係が逆転し、画素マトリクスの1つの行から1つの画素のみが評価対象画素TPとして選択されることとなる。また、対象画像TIと特定領域SAとの大きさの関係によっては、1つの画素が複数の対象画素特定線PLについての評価対象画素TPとして選択される場合もある。
【0111】
顔領域調整部230は、対象画素特定線PLのそれぞれについて、評価対象画素TPのR値の平均値を評価値として算出する。ただし、各対象画素特定線PLについて、選択された複数の評価対象画素TPの内、R値の大きい一部の画素を評価値の算出対象から除外するものとしている。具体的には、例えば、ある対象画素特定線PLについてk個の評価対象画素TPが選択された場合、評価対象画素TPが、R値の比較的大きい0.75k個の画素により構成される第1グループと、比較的R値の小さい0.25k個の画素により構成される第2グループとの2グループに分けられ、第2グループに属する画素のみが評価値としてのR値の平均値の算出対象となる。このように一部の評価対象画素TPを評価値の算出対象から除外する理由については後述する。
【0112】
以上のように、顔領域調整部230は、各対象画素特定線PLについての評価値を算出する。ここで、対象画素特定線PLは基準線RLに直交する直線であるため、評価値は、基準線RLに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、基準線RLに直交する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0113】
ステップS513(図24)では、顔領域調整部230(図1)が、特定領域SAにおける目の位置を検出し、検出結果に基づき高さ基準点Rhを決定する。まず、顔領域調整部230は、図26の右側に示すように、各分割特定領域について、基準線RLに沿った評価値(R値の平均値)の分布を表す曲線を作成し、評価値が極小値をとる基準線RL方向に沿った位置を目の位置Ehとして検出する。なお、左分割特定領域SA(l)における目の位置EhをEh(l)と表し、右分割特定領域SA(r)における目の位置EhをEh(r)と表わす。
【0114】
黄色人種の場合、分割特定領域中の肌の画像を表す部分はR値が大きい一方、目(より詳細には目の中央の黒目部分)の画像を表す部分はR値が小さいと考えられる。そのため、上述のように、評価値(R値の平均値)が極小値をとる基準線RLに沿った位置を目の位置Ehと判断することが可能となる。但し、他の人種(白色人種や黒色人種)を対象とする場合には、他の評価値(例えば、輝度や明度やB値)が用いられる。
【0115】
なお、図26に示すように、分割特定領域には、目の画像以外にもR値の小さい他の画像(例えば、眉や髪の毛の画像)が含まれている場合もある。そのため、顔領域調整部230は、基準線RLに沿った評価値の分布を表す曲線が複数の極小値をとる場合には、極小値をとる位置の内、最も下側の位置を目の位置Ehと判断する。一般に、目の画像より上側には眉や髪の毛等のR値の小さい画像が位置することが多い一方、目の画像より下側にはR値の小さい画像が位置することが少ないと考えられることから、このような判断が可能となる。
【0116】
また、上記曲線が、目の画像の位置よりも下側(主に肌の画像に対応した位置)であっても、評価値が大きいながらも極小値をとる可能性があるため、極小値の内、所定の閾値より大きいものは無視するものとしてもよい。あるいは、単純に、各対象画素特定線PLについて算出された評価値の内の最小値に対応した対象画素特定線PLの位置を目の位置Ehとしてもよい。
【0117】
なお、顔領域FAの位置調整の最小被写体としては、顔において周囲との色の差が比較的大きいと考えられる部位である目(目の中央の黒目部分)を用いている。しかし、評価値としてのR値の平均値は、対象画素特定線PL上の複数の評価対象画素TPを対象として算出されるため、例えば、黒目の周縁の白目部分の画像の影響により、黒目部分の検出の精度が低下する怖れがある。そこで、上述したように、参照被写体とは色の差が大きいと考えられる一部の評価対象画素TP(例えば上述した第1のグループに属する比較的R値の大きい画素)を評価値の算出対象から除外することにより、参照被写体の検出精度をより向上させている。
【0118】
次に、顔領域調整部230は、検出された目の位置Ehに基づき高さ基準点Rhを決定する。図28は、高さ基準点Rhの決定方法の一例を示す説明図である。高さ基準点Rhは、顔領域FAの高さ方向の位置調整の際に、基準として用いられる点である。高さ基準点Rhとしては、図28に示すように、左右2つの目の位置Eh(l)およびEh(r)の中間に位置する基準線RL上の点が設定される。すなわち、左の目の位置Eh(l)を示す直線EhL(l)と基準線RLとの交点と、右の目の位置Eh(r)を示す直線EhL(r)と基準線RLとの交点と、の中点が、高さ基準点Rhとして設定される。
【0119】
なお、顔領域調整部230は、検出された目の位置Ehに基づき、顔画像の概略の傾き角(以下「概略傾き角RI」と呼ぶ)を算出する。顔画像の概略傾き角RIは、対象画像TI中の顔の画像が、顔領域FAの基準線RLに対して概ねどれぐらい傾いているかを推定した角度である。図29は、概略傾き角RIの算出方法の一例を示す説明図である。図29に示すように、顔領域調整部230は、まず、左分割特定領域SA(l)の幅Ws(l)を半分に分割する直線と直線EhL(l)との交点IP(l)と、右分割特定領域SA(r)の幅Ws(r)を半分に分割する直線と直線EhL(r)との交点IP(r)とを決定する。そして、交点IP(l)と交点IP(r)とを結ぶ直線に直交する直線ILと、基準線RLとのなす角が、概略傾き角RIとして算出される。
【0120】
ステップS514(図24)では、顔領域調整部230(図1)が、顔領域FAの高さ方向の位置調整を行う。図30は、顔領域FAの高さ方向の位置調整方法の一例を示す説明図である。顔領域FAの高さ方向の位置調整は、高さ基準点Rhが、位置調整後の顔領域FAにおける所定の位置に位置することとなるように、顔領域FAを再設定することにより行う。具体的には、図30に示すように、高さ基準点Rhが、顔領域FAの高さHfを所定の比率r1対r2で分けるような位置に位置することとなるように、顔領域FAが基準線RLに沿って上下に位置調整される。図30の例では、破線で示した調整前の顔領域FAを上方向に移動することにより、実線で示した調整後の顔領域FAが再設定されている。
【0121】
顔領域FAの位置調整の後、ステップS520(図23)では、顔領域調整部230(図1)が、顔領域FAの傾き調整(角度調整)を行う。ここで、顔領域FAの傾き調整とは、対象画像TIにおける顔領域FAの傾きを顔の画像の傾きに適合するように調整して、顔領域FAを再設定することを意味している。顔領域FAの傾き調整を実行する際に参照する所定の参照被写体は、例えば「両目」に設定される。顔領域FAの傾き調整では、傾き調整の調整角度の選択肢を表す複数の評価方向が設定され、各評価方向に対応した評価特定領域ESAが両目の画像を含む領域として設定される。そして、各評価方向について評価特定領域ESAの画像の画素値に基づき評価値が算出され、評価値に基づき決定される傾き調整の調整角度を用いて顔領域FAの傾きが調整される。
【0122】
図31は、顔領域FAの傾き調整処理の流れを示すフローチャートである。また、図32は、顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図である。ステップS521(図31)では、顔領域調整部230(図1)が、初期評価特定領域ESA(0)を設定する。初期評価特定領域ESA(0)は、顔領域FAの位置調整後の基準線RL(図30参照)と平行な方向(以下「初期評価方向」とも呼ぶ)に対応付けられた評価特定領域ESAである。位置調整後の顔領域FAに対応した特定領域SA(図30参照)は、そのまま初期評価特定領域ESA(0)として設定される。なお、顔領域FAの傾き調整における評価特定領域ESAは、顔領域FAの位置調整時の特定領域SAとは異なり、左右2つの領域に分割されることはない。図32の最上段には、設定された初期評価特定領域ESA(0)が示されている。
【0123】
ステップS522(図31)では、顔領域調整部230(図1)が、複数の評価方向と各評価方向に対応した評価特定領域ESAとを設定する。複数の評価方向は、傾き調整の調整角度の選択肢を表す方向として設定される。具体的には、基準線RLとのなす角が所定の範囲内である複数の評価方向線ELが設定され、評価方向線ELと平行な方向が評価方向として設定される。図32に示すように、基準線RLを初期評価特定領域ESA(0)の中心点(重心)CPを中心として反時計回りおよび時計回りに所定の角度α刻みで回転させることにより定まる直線が、複数の評価方向線ELとして設定される。なお、基準線RLとのなす角がφ度である評価方向線ELをEL(φ)と表す。
【0124】
上述した各評価方向線ELと基準線RLとのなす角についての所定の範囲は、±20度に設定される。ここで本明細書では、基準線RLを時計回りに回転させたときの回転角は正の値で表され、基準線RLを反時計回りに回転させたときの回転角は負の値で表される。顔領域調整部230は、基準線RLを反時計回りおよび時計回りにα度、2α度・・・と20度を超えない範囲で回転角を増加させつつ回転させ、複数の評価方向線ELを設定する。図32には、基準線RLを−α度,−2α度,α度回転させることによりそれぞれ定まる評価方向線EL(EL(−α),EL(−2α),EL(α))が示されている。なお、基準線RLは、評価方向線EL(0)とも表現できる。
【0125】
各評価方向を表す評価方向線ELに対応した評価特定領域ESAは、初期評価特定領域ESA(0)を、中心点CPを中心として、評価方向線ELの設定時の回転角と同じ角度で回転させた領域である。評価方向線EL(φ)に対応した評価特定領域ESAは、評価特定領域ESA(φ)と表される。図32には、評価方向線EL(−α),EL(−2α),EL(α)のそれぞれに対応した評価特定領域ESA(ESA(−α),ESA(−2α),ESA(α))が示されている。なお、初期評価特定領域ESA(0)も評価特定領域ESAの1つとして扱われるものとする。
【0126】
ステップS523(図31)では、顔領域調整部230(図1)が、設定された複数の評価方向のそれぞれについて、評価特定領域ESAの画像の画素値に基づき評価値を算出する。顔領域FAの傾き調整における評価値としては、上述した顔領域FAの位置調整における評価値と同様に、R値の平均値が用いられる。顔領域調整部230は、評価方向に沿った複数の評価位置についての評価値を算出する。
【0127】
評価値の算出方法は、上述した顔領域FAの位置調整における評価値の算出方法と同様である。すなわち、顔領域調整部230は、図32に示すように、各評価特定領域ESA内に、評価方向線ELに直交する対象画素特定線PL1〜PLnを設定し、各対象画素特定線PL1〜PLnについて評価対象画素TPを選択し、選択された評価対象画素TPのR値の平均値を評価値として算出する。
【0128】
評価特定領域ESAにおける対象画素特定線PLの設定方法や評価対象画素TPの選択方法は、領域を左右に分割するか否かの違いはあるものの、図26および図27に示した顔領域FAの位置調整における方法と同様である。なお、顔領域FAの位置調整時と同様に、選択された評価対象画素TPの内の一部(例えばk個の評価対象画素TPの内のR値の比較的大きい0.75k個の画素)を評価値の算出対象から除外するとしてもよい。図32の右側には、各評価方向について、算出された評価値の評価方向線ELに沿った分布を示している。
【0129】
なお、対象画素特定線PLは評価方向線ELに直交する直線であるため、評価値は、評価方向線ELに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、評価方向線ELに直交する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0130】
ステップS524(図31)では、顔領域調整部230(図1)が、顔領域FAの傾き調整に用いる調整角度を決定する。顔領域調整部230は、各評価方向について、ステップS523において算出された評価値の評価方向線ELに沿った分散を算出し、分散の値が最大となる評価方向を選択する。そして、選択された評価方向に対応した評価方向線ELと基準線RLとのなす角を、傾き調整に用いる調整角度として決定する。
【0131】
図33は、各評価方向についての評価値の分散の算出結果の一例を示す説明図である。図33の例では、回転角が−α度である評価方向において、分散が最大値Vmaxをとる。従って、−α度、すなわち反時計回りにα度の回転角が、顔領域FAの傾き調整に用いる調整角度として決定される。
【0132】
評価値の分散の値が最大となるときの評価方向に対応した角度が傾き調整に用いる調整角度として決定される理由について説明する。図32の上から2段目に示すように、回転角が−α度であるときの評価特定領域ESA(−α)では、左右の目の中央部(黒目部分)の画像が、概ね対象画素特定線PLに平行な方向(すなわち評価方向線ELに直交する方向)に並ぶような配置となっている。また、このときには、左右の眉の画像も同様に、概ね評価方向線ELに直交する方向に並ぶような配置となる。従って、このときの評価方向線ELに対応した評価方向が、概ね顔の画像の傾きを表す方向であると考えられる。このときには、一般にR値が小さい目や眉の画像と一般にR値が大きい肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の小さい位置関係となる。そのため、目や眉の画像の位置における評価値は比較的小さくなり、肌の部分の画像の位置における評価値は比較的大きくなる。従って、評価方向線ELに沿った評価値の分布は、図32に示すように、比較的ばらつきの大きい(振幅の大きい)分布となり、分散の値は大きくなる。
【0133】
一方、図32中の最上段および3段目、4段目に示すように、回転角が0度,−2α度,α度であるときの評価特定領域ESA(0),ESA(−2α),ESA(α)では、左右の目の中央部や左右の眉の画像が、評価方向線ELに直交する方向に並ばず、ずれた配置となっている。従って、このときの評価方向線ELに対応した評価方向は、顔の画像の傾きを表していはいない。このときには、目や眉の画像と肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の大きい位置関係となる。そのため、評価方向線ELに沿った評価値の分布は、図32に示すように、比較的ばらつきの小さい(振幅の小さい)分布となり、分散の値は小さくなる。
【0134】
以上のように、評価方向が顔の画像の傾きの方向に近い場合には、評価方向線ELに沿った評価値の分散の値が大きくなり、評価方向が顔の画像の傾きの方向から遠い場合には、評価方向線ELに沿った評価値の分散の値が小さくなる。従って、評価値の分散の値が最大となるときの評価方向に対応した角度を傾き調整に用いる調整角度として決定すれば、顔領域FAの傾きが顔の画像の傾きに適合するような顔領域FAの傾き調整を実現することができる。
【0135】
なお、評価値の分散の算出結果が、角度の範囲の臨界値、すなわち−20度または20度において最大値をとるような結果となった場合には、顔の傾きが正確に評価されていない可能性が高いと考えられるため、顔領域FAの傾き調整は行われない。
【0136】
また、決定された調整角度は、上述した顔領域FAの位置調整の際に算出された概略傾き角RIと比較される。調整角度と概略傾き角RIとの差が所定の閾値より大きい場合には、顔領域FAの位置調整および傾き調整における評価や決定の際に何らかの誤りが発生したと考えられるため、顔領域FAの位置調整および傾き調整は行われない。
【0137】
ステップS525(図31)では、顔領域調整部230(図1)が、顔領域FAの傾き調整を行う。図34は、顔領域FAの傾き調整方法の一例を示す説明図である。顔領域FAの傾き調整は、顔領域FAを、初期評価特定領域ESA(0)の中心点CPを中心に、ステップS524において決定された調整角度だけ回転させることにより行う。図34の例では、破線で示した調整前の顔領域FAを反時計回りにα度回転させることにより、実線で示した調整後の顔領域FAが設定される。
【0138】
顔領域FAの傾き調整終了後のステップS530(図23)では、変形領域設定部240(図1)が、変形領域TAを設定する。変形領域TAは、対象画像TI上の領域であって顔形状補正のための画像変形処理の対象となる領域である。図35は、変形領域TAの設定方法の一例を示す説明図である。図35に示すように、変形領域TAは、顔領域FAを基準線RLと平行な方向(高さ方向)および基準線RLに直交する方向(幅方向)に伸張(または短縮)した領域として設定される。具体的には、顔領域FAの高さ方向の大きさをHf、幅方向の大きさをWfとすると、顔領域FAを、上方向にk1・Hf、下方向にk2・Hfだけ伸ばすと共に、左右にそれぞれk3・Wfだけ伸ばした領域が、変形領域TAとして設定される。なお、k1,k2,k3は、所定の係数である。
【0139】
このように変形領域TAが設定されると、顔領域FAの高さ方向の輪郭線に平行な直線である基準線RLは、変形領域TAの高さ方向の輪郭線にも平行な直線となる。また、基準線RLは、変形領域TAの幅を半分に分割する直線となる。
【0140】
図35に示すように、変形領域TAは、高さ方向に関しては、概ね顎から額までの画像を含み、幅方向に関しては、左右の頬の画像を含むような領域として設定される。すなわち、上述の係数k1,k2,k3は、変形領域TAが概ねそのような範囲の画像を含む領域となるように、顔領域FAの大きさとの関係に基づいて予め設定されている。
【0141】
I.顔変形処理:
図36は、変形処理の流れを示すフローチャートである。図36のフローチャートに示す処理は、図4のステップS600において実行される。ステップS610では、変形領域分割部250(図1)が、変形領域TAを複数の小領域に分割する。図37は、変形領域TAの小領域への分割方法の一例を示す説明図である。変形領域分割部250は、変形領域TAに複数の分割点Dを配置し、分割点Dを結ぶ直線を用いて変形領域TAを複数の小領域に分割する。
【0142】
分割点Dの配置の態様(分割点Dの個数および位置)は、分割点配置パターンテーブル410(図1)により、ステップS120(図4)において設定される変形タイプと対応付けて定義されている。変形領域分割部250は、分割点配置パターンテーブル410を参照し、ステップS120において設定された変形タイプと対応付けられた態様で分割点Dを配置する。上述したように、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定されている場合には、この変形タイプに対応付けられた態様で分割点Dが配置される。
【0143】
図37に示すように、分割点Dは、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに配置される。ここで、水平分割線Lhおよび垂直分割線Lvは、変形領域TA内に分割点Dを配置するための基準となる線である。図37に示すように、顔をシャープにするための変形タイプに対応付けられた分割点Dの配置では、基準線RLと直交する2本の水平分割線Lhと、基準線RLに平行な4本の垂直分割線Lvとが設定される。2本の水平分割線Lhを、変形領域TAの下方から順に、Lh1,Lh2と呼ぶ。また、4本の垂直分割線Lvを、変形領域TAの左から順に、Lv1,Lv2,Lv3,Lv4と呼ぶ。
【0144】
水平分割線Lh1は、変形領域TAにおいて、顎の画像より下方に配置され、水平分割線Lh2は、目の画像のすぐ下付近に配置される。また、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。なお、水平分割線Lhおよび垂直分割線Lvの配置は、水平分割線Lhおよび垂直分割線Lvと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域TAの大きさとの対応関係に従い実行される。
【0145】
上述した水平分割線Lhと垂直分割線Lvとの配置に従い、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに、分割点Dが配置される。図37に示すように、水平分割線Lhi(i=1または2)上に位置する分割点Dを、左から順に、D0i,D1i,D2i,D3i,D4i,D5iと呼ぶものとする。例えば、水平分割線Lh1上に位置する分割点Dは、D01,D11,D21,D31,D41,D51と呼ばれる。同様に、垂直分割線Lvj(j=1,2,3,4のいずれか)上に位置する分割点Dを、下から順に、Dj0,Dj1,Dj2,Dj3と呼ぶものとする。例えば、垂直分割線Lv1上に位置する分割点Dは、D10,D11,D12,D13と呼ばれる。
【0146】
なお、図37に示すように、本実施例における分割点Dの配置は、基準線RLに対して対称の配置となっている。
【0147】
変形領域分割部250は、配置された分割点Dを結ぶ直線(すなわち水平分割線Lhおよび垂直分割線Lv)により、変形領域TAを複数の小領域に分割する。図37の例では、変形領域TAは15個の矩形の小領域に分割される。
【0148】
なお、分割点Dの配置は、水平分割線Lhおよび垂直分割線Lvの本数および位置により定まるため、分割点配置パターンテーブル410は水平分割線Lhおよび垂直分割線Lvの本数および位置を定義していると言い換えることも可能である。
【0149】
ステップS620(図36)では、分割領域変形部260(図1)が、ステップS610で変形領域TA内に配置された分割点Dの位置を移動して、小領域を変形する。
【0150】
変形処理のための各分割点Dの位置の移動態様(移動方向および移動距離)は、分割点移動テーブル420(図1)により、ステップS120(図4)において設定される変形タイプと変形の度合いとの組み合わせに対応付けて、予め定められている。分割領域変形部260は、分割点移動テーブル420を参照し、ステップS120において設定された変形タイプと変形の度合いとの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置を移動する。
【0151】
上述したように、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして程度「中」の度合いが設定されている場合には、これらの変形タイプおよび変形度合いの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置が移動されることとなる。
【0152】
また、変形度合いとして「自動」が選択されている場合には、移動方向および移動距離が、変形量調整部290によって調整された変形量DQに基づいて決定される。
【0153】
図38は、分割点移動テーブル420の内容の一例を示す説明図である。また図39は、分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図である。図38には、分割点移動テーブル420により定義された分割点Dの位置の移動態様の内、顔をシャープにするための変形タイプと変形度合い「自動」との組み合わせに対応付けられた移動態様を示している。図38に示すように、分割点移動テーブル420には、各分割点Dについて、基準線RLと直交する方向(H方向)および基準線RLと平行な方向(V方向)に沿った移動量が示されている。なお、分割点移動テーブル420に示された移動量の単位は、対象画像TIの画素ピッチPPである。また、テーブル中の移動量DQpは、変形量調整部290(図1、図14)によって決定される。図4、図19のステップS590では、変形量調整部290は、調整した変形量DQを画素ピッチに換算することによって、移動量DQpを算出する。また、H方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、V方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。例えば、分割点D11は、H方向に沿って右側に画素ピッチPPのDQp倍の距離だけ移動され、V方向に沿って上方に画素ピッチPPの2*DQp倍の距離だけ移動される。また、例えば分割点D22は、H方向およびV方向共に移動量がゼロであるため、移動されない。なお、変形度合いとして「強(S)」、「中(M)」、「弱(W)」のいずれかが選択された場合には、移動量DQpとして、変形量調整部290によって調整された値の代わりに、各変形度合いに対応付けて予め決定された値が利用される。
【0154】
なお、変形領域TAの内外の画像間の境界が不自然とならないように、変形領域TAの外枠上に位置する分割点D(例えば図39に示す分割点D10等)の位置は移動されない。従って、図38に示した分割点移動テーブル420には、変形領域TAの外枠上に位置する分割点Dについての移動態様は定義されていない。
【0155】
図39では、移動前の分割点Dは白抜きの丸で、移動後の分割点Dや位置の移動の無い分割点Dは黒丸で示されている。また、移動後の分割点Dは分割点D'と呼ばれるものとする。例えば分割点D11の位置は、図39において右上方向に移動され、分割点D'11となる。
【0156】
なお、基準線RLに対して対称な位置関係にある2つの分割点Dの組み合わせ(例えば分割点D11とD41との組み合わせ)のすべてが、分割点Dの移動後も、基準線RLに対して対称な位置関係を維持するように、移動態様が定められている。
【0157】
分割領域変形部260は、変形領域TAを構成する各小領域について、分割点Dの位置移動前の状態における小領域の画像が、分割点Dの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。例えば、図39において、分割点D11,D21,D22,D12を頂点とする小領域(ハッチングを付して示す小領域)の画像は、分割点D'11,D'21,D22,D'12を頂点とする小領域の画像に変形される。
【0158】
図40は、分割領域変形部260による画像の変形処理方法の概念を示す説明図である。図40では、分割点Dを黒丸で示している。図40では、説明を簡略化するために、4つの小領域について、左側に分割点Dの位置移動前の状態を、右側に分割点Dの位置移動後の状態を、それぞれ示している。図40の例では、中央の分割点Daが分割点Da'の位置に移動され、その他の分割点Dの位置は移動されない。これにより、例えば、分割点Dの移動前の分割点Da,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形前注目小領域BSA」とも呼ぶ)の画像は、分割点Da',Db,Dc,Ddを頂点とする矩形の小領域(以下「変形後注目小領域ASA」とも呼ぶ)の画像に変形される。
【0159】
画像の変形処理は、矩形の小領域を小領域の重心CGを用いて4つの三角形領域に分割し、三角形領域単位で行われる。図40の例では、変形前注目小領域BSAが、変形前注目小領域BSAの重心CGを頂点の1つとする4つの三角形領域に分割される。同様に、変形後注目小領域ASAが、変形後注目小領域ASAの重心CG'を頂点の1つとする4つの三角形領域に分割される。そして、分割点Daの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域BSA中の分割点Da,Ddおよび重心CGを頂点とする三角形領域の画像が、変形後注目小領域ASA中の分割点Da',Ddおよび重心CG'を頂点とする三角形領域の画像に変形される。
【0160】
図41は、三角形領域における画像の変形処理方法の概念を示す説明図である。図41の例では、点s,t,uを頂点とする三角形領域stuの画像が、点s',t',u'を頂点とする三角形領域s't'u'の画像に変形される。画像の変形は、変形後の三角形領域s't'u'の画像中のある画素の位置が、変形前の三角形領域stuの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
【0161】
例えば、図41において、変形後の三角形領域s't'u'の画像中の注目画素p'の位置は、変形前の三角形領域stuの画像中の位置pに相当するものとする。位置pの算出は、以下のように行う。まず、注目画素p'の位置を、下記の式(1)のようにベクトルs't'とベクトルs'u'との和で表現するための係数m1およびm2を算出する。
【0162】
【数1】
【0163】
次に、算出された係数m1およびm2を用いて、下記の式(2)により、変形前の三角形領域stuにおけるベクトルstとベクトルsuとの和を算出することにより、位置pが求まる。
【0164】
【数2】
【0165】
変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置pの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置pにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【0166】
変形後の三角形領域s't'u'の画像中の各画素について上述のように画素値を算出することにより、三角形領域stuの画像から三角形領域s't'u'の画像への画像変形処理を行うことができる。分割領域変形部260は、図39に示した変形領域TAを構成する各小領域について、上述したように三角形領域を定義して変形処理を行い、変形領域TAにおける画像変形処理を行う。
【0167】
ここで、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして「自動」が設定された場合を例に取り、顔形状補正の態様についてより詳細に説明する。図42は、この場合における顔形状補正の態様を示す説明図である。図42には、変形領域TAを構成する各小領域の変形態様のイメージを矢印により示している。
【0168】
図42の例に示す顔形状補正では、基準線RLと平行な方向(V方向)に関し、水平分割線Lh1上に配置された分割点D(D11,D21,D31,D41)の位置は上方に移動される一方、水平分割線Lh2上に配置された分割点D(D12,D22,D32,D42)の位置は移動されない(図38参照)。従って、水平分割線Lh1と水平分割線Lh2との間に位置する画像は、V方向に関して縮小される。上述したように、水平分割線Lh1は顎の画像より下方に配置され、水平分割線Lh2は目の画像のすぐ下付近に配置されるため、この顔形状補正では、顔の画像の内、顎から目の下にかけての部分の画像がV方向に縮小されることとなる。この結果、画像中の顎のラインは上方に移動する。
【0169】
他方、基準線RLと直交する方向(H方向)に関しては、垂直分割線Lv1上に配置された分割点D(D11,D12)の位置は右方向に移動され、垂直分割線Lv4上に配置された分割点D(D41,D42)の位置は左方向に移動される(図38参照)。さらに、垂直分割線Lv2上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D21)の位置は右方向に移動され、垂直分割線Lv3上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D31)の位置は左方向に移動される(図38参照)。従って、垂直分割線Lv1より左側に位置する画像は、H方向に関して右側に拡大され、垂直分割線Lv4より右側に位置する画像は、左側に拡大される。また、垂直分割線Lv1と垂直分割線Lv2との間に位置する画像は、H方向に関して縮小または右側に移動され、垂直分割線Lv3と垂直分割線Lv4との間に位置する画像は、H方向に関して縮小または左側に移動される。さらに、垂直分割線Lv2と垂直分割線Lv3との間に位置する画像は、水平分割線Lh1の位置を中心にH方向に関して縮小される。
【0170】
上述したように、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。そのため、図42の例における顔形状補正では、顔の画像の内、両目尻より外側の部分の画像が全体的にH方向に縮小される。特に顎付近において縮小率が高くなる。この結果、画像中の顔の形状は、全体的に幅方向に細くなる。
【0171】
上述したH方向およびV方向の変形態様を総合すると、図42の例に示した顔形状補正により、対象画像TI中の顔の形状がシャープになる。なお、顔の形状がシャープになるとは、いわゆる「小顔」になると表現することもできる。
【0172】
なお、図42に示す分割点D22,D32,D33,D23を頂点とする小領域(ハッチングを付した領域)は、上述した水平分割線Lh2や垂直分割線Lv2およびLv3の配置方法によると、両目の画像を含む領域となる。図38に示すように、分割点D22およびD32はH方向にもV方向にも移動されないため、この両目の画像を含む小領域は変形されない。このように図42の例では、両目の画像を含む小領域については変形しないこととし、顔形状補正後の画像がより自然で好ましいものとなるようにしている。
【0173】
J.他の変形処理:
図43は、変形処理の他の実施例を示す概略図である。図8に示す変形処理とは異なり、図43の例では、対象画像TI上の一部の変形領域が変形される代わりに、対象画像TIの全体のアスペクト比が変更される。
【0174】
図43(A)は、変形前の対象画像TIを示し、図43(B)は変形後の画像TIdを示している。また、図中には、互いに直交する2つの方向Dr1、Dr2が示されている。第1方向Dr1は、矩形画像TI、TIdの短辺と平行な方向を示し、第2方向Dr2は、矩形画像TI、TIdの長辺と平行な方向を示している。図43の例では、顔の幅方向は、第2方向Dr2とほぼ一致している。
【0175】
図43の例では、第1方向Dr1に沿った変形は実行されずに、第2方向Dr2に沿った変形(圧縮)が実行される。この変形によって、画像の全体が、第2方向Dr2に沿って圧縮される。すなわち、対象画像TI上の被写体の幅も狭くなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0176】
この変形では、変形済画像TIdの第2方向Dr2の大きさ(幅IWd)が、変形前の大きさ(幅IW)と比べて、変形量DQの2倍だけ小さくなる。すなわち、変形済画像TIdの第2方向Dr2方向の画素数が、変形前の画素数と比べて、少なくなる。ここで、変形済画像TIdの画素値(各画素の階調値)の決定方法としては、種々の方法を採用可能である。例えば、対象画像TIの画素値を補間することによって、変形済画像TIdの画素値を決定してもよい。
【0177】
変形量DQとしては、上述の各実施例で説明した任意の変形量を採用可能である。例えば、被写体距離Sdに基づいて決定された変形量DQを採用してもよく、被写体距離レンジSdrに基づいて決定された変形量DQを採用してもよく、相対サイズEyrに基づいて決定された変形量DQを採用してもよい。また、複数の被写体が検出される場合には、最大の相対サイズEyrに基づいて決定された変形量DQを採用してもよい。
【0178】
なお、2つの方向Dr1、Dr2から圧縮すべき方向を、被写体の方向の検出結果に基づいて選択することが好ましい。例えば、顔領域検出部220(図1)は、図22、図43(A)に示すように、顔領域FAの高さ方向(上下方向)を示す基準線RLを検出可能である。そこで、2つの方向Dr1、Dr2の内の、この基準線RLとのなす角度が大きい方の方向を選択することが好ましい(図43の例では、第2方向Dr2)。こうすば、被写体の幅(水平方向の大きさ)を小さくすることができる。
【0179】
なお、対象画像TIの全体のアスペクト比を変更する変形処理を採用する場合には、顔形状補正部として、図1に示すような顔形状補正部200を採用可能である。ただし、変形処理部から、変形領域分割部250と分割領域変形部260とを省略することができる。その代わりに、変形処理部は、対象画像TIのアスペクト比を変更する機能を有していればよい。また、顔領域調整部230と変形領域設定部240とを省略可能である。顔領域検出部220は、被写体の方向を検出するために利用され得る。ただし、顔領域検出部220を省略してもよい。また、相対サイズEyrを利用する場合には、サイズ算出部292(図14)を追加すればよい。
【0180】
ここで、被写体の幅方向に沿って対象画像TIを圧縮する変形処理の代わりに、被写体の高さ方向に沿って対象画像TIを伸張する変形処理を採用してもよい。この場合も、被写体の高さに対する幅の比率が小さくなるので、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0181】
K.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0182】
変形例1:
上記各実施例では、変形領域を矩形の領域として設定しているが、変形領域の形状は、他の形状(例えば、楕円や菱形)であってもよい。
【0183】
変形例2:
上記各実施例では、画像処理装置としてのプリンタ100による顔形状補正印刷処理(図3)を説明したが、顔形状補正印刷処理は例えば、顔形状補正と補正画像の表示(ステップS100,S200)がパーソナルコンピュータにより実行され、印刷処理(ステップS300)のみがプリンタにより実行されるものとしてもよい。また、プリンタ100はインクジェットプリンタに限らず、他の方式のプリンタ、例えばレーザプリンタや昇華型プリンタであるとしてもよい。
【0184】
また、変形済画像データは、印刷に限らず、任意の用途に利用可能である。例えば、表示装置(例えば、プロジェクタ)による表示を採用してもよい。
【0185】
変形例3:
上述の各実施例において、被写体としては、人(顔)に限らず任意の被写体を採用可能である。例えば、建築物や車両を採用してもよい。いずれの場合も、距離パラメータが示す距離が近いほど強く(大きく)なるように変形の度合いを調整すれば、距離に合わせて画像を適切に変形させることができる。また、対象画像から被写体を検出する方法としては、任意の方法を採用可能である。また、サイズ算出部292(図14)は、被写体の全体と一部分との少なくとも一方であって実際の大きさが個体に依存せずにほぼ同じ部分のサイズを解析することによって、対象画像上のサイズを算出すればよい。
【0186】
変形例4:
上述の各実施例において、変形処理としては種々の処理を採用可能である。例えば、変形領域内の画像を、被写体の高さ方向には変形させずに、被写体の水平方向にのみ変形させてもよい。
【0187】
いずれの場合も、変形処理としては、被写体の少なくとも一部分の対象画像TI上における少なくとも一方向(以下「短縮方向」と呼ぶ)の大きさが小さくなるような変形処理を採用することが好ましい。こうすれば、観察者から見た横方向に短縮方向が向くような角度で画像と実物とを観察した場合に、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。ここで、被写体の輪郭によって示される大きさを、短縮方向に小さくすることが好ましい。すなわち、輪郭で囲まれる領域の短縮方向の長さが小さくなることが好ましい。このように、変形処理によって、被写体の少なくとも輪郭が変形されることが好ましい。こうすれば、画像の観察によって得られる被写体の印象を、適切に、実物の観察によって得られる印象に近づけることができる。
【0188】
なお、短縮方向は、対象画像TI上の任意の方向に設定可能である。例えば、所定の方向(例えば、対象画像TIの長辺と平行な方向)を短縮方向として採用してもよい。ただし、短縮方向と被写体の幅方向とがなす角度が30度以下であることが好ましく、この角度が15度以下であることが特に好ましく、短縮方向が被写体の幅方向に向けられることが最も好ましい。こうすれば、多くの場合において、自然で好ましい変形を実行することができる。
【0189】
ここで、被写体の幅方向に近くなるように短縮方向を決定する方法としては、種々の方法を採用可能である。例えば、変形処理部は、被写体の幅方向と関連のある情報を利用することによって、短縮方向を決定してもよい。被写体の幅方向と関連のある情報としては、種々の情報を採用可能である。例えば、被写体の方向の検出結果を採用可能である。上述の実施例では、顔領域検出部220(図1、図14)は、対象画像TIを解析することによって被写体(この場合は顔)の方向を検出する。また、撮影装置の中には、撮影時の地面に対する鉛直方向(重力方向)を示す鉛直情報を、履歴情報として画像ファイルに格納するものがある。このような鉛直情報を利用可能な場合には、鉛直情報に基づいて対象画像TI上の重力方向を特定することができ、その重力方向と垂直な方向を被写体の幅方向として採用することができる。
【0190】
また、変形処理部は、ユーザの指示に従って短縮方向を決定してもよい。例えば、変形処理部は、被写体の幅方向を示す指示を受け入れ、受け入れた指示に従って短縮方向を決定してもよい。
【0191】
また、被写体の幅方向が、対象画像TI上の所定の方向と一致することが予め決まっている場合がある。例えば、一般的なユーザによって撮影された対象画像TIでは、被写体の幅方向は、対象画像TIの長辺と平行であることが多い。このような場合には、変形処理部は、対象画像TI上の所定の方向(この場合は、長辺と平行な方向)を、被写体の幅方向として採用してもよい。すなわち、対象画像TI上の所定の方向を短縮方向として採用してもよい。
【0192】
以上の説明は、被写体が人物の顔とは異なる場合についても、同様に適用可能である。また、被写体の変形される部分は、任意に設定可能である。
【0193】
変形例5:
上述の各実施例において、対象画像TI上における被写体のサイズとしては、図15に示す相対サイズEyrに限らず、種々のパラメータを採用可能である。例えば、被写体を表す画像領域の面積をサイズとして採用してもよい。被写体として顔を採用する場合には、所定の肌色範囲の色を示す画素の総数を、被写体のサイズとして利用することができる。サイズ算出に利用される画素は、1つの顔領域FA内から選択されることが好ましい。ここで、対象画像TIの画素密度に依存しないサイズを算出するためには、被写体を表す画素の総数を対象画像TIの全画素数で割った値を、サイズとして利用することが好ましい。
【0194】
変形例6:
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図1の変形領域分割部250と分割領域変形部260との全体の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【0195】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【0196】
変形例7:
[変形処理を行うための手段]
変形処理を行うために、画像処理装置は、画像の変形を行う画像処理装置であって、対象画像上の少なくとも一部の領域を変形領域として設定する変形領域設定部と、前記変形領域内に複数の分割点を配置し、前記分割点同士を結ぶ直線を用いて前記変形領域を複数の小領域に分割する変形領域分割部と、少なくとも1つの前記分割点の位置を移動して前記小領域を変形することにより前記変形領域内の画像の変形を行う変形処理部と、を備えるものとしてもよい。
【0197】
この画像処理装置では、対象画像上に設定された変形領域内に複数の分割点が配置され、分割点同士を結ぶ直線を用いて変形領域が複数の小領域に分割される。また、分割点の位置が移動され、小領域が変形されることにより変形領域内の画像の変形処理が実行される。このように、この画像処理装置では、変形領域内に分割点を配置して、配置された分割点を移動するだけで画像変形を行うことができ、多様な変形態様に対応した画像変形の画像処理を、容易に、かつ効率的に実現することができる。
【0198】
上記画像処理装置において、さらに、複数の所定の変形タイプの内の1つを選択して前記変形領域内の画像の変形に適用する変形タイプとして設定する変形態様設定部を備え、前記変形領域分割部は、前記設定された変形タイプに対応付けられた所定の配置パターンに従い前記複数の分割点を配置するとしてもよい。
【0199】
このようにすれば、例えば顔をシャープする変形タイプや目を大きくする変形タイプ等、それぞれの変形タイプに適した分割点の配置、すなわち変形領域の分割が行われるため、各変形タイプに対応した画像変形のための画像処理のさらなる容易化を実現することができる。
【0200】
また、上記画像処理装置において、前記変形態様設定部は、複数の所定の変形度合いの内の1つを選択して前記変形領域内の画像の変形に適用する変形度合いとして設定し、前記変形処理部は、前記設定された変形タイプと変形度合いとの組み合わせに対応付けられた所定の移動方向および移動量に従い前記分割点の位置を移動するとしてもよい。
【0201】
このようにすれば、変形タイプと変形度合いとが設定されれば、それらの組み合わせに応じた画像変形が実行されるため、画像変形のための画像処理のさらなる容易化を実現することができる。
【0202】
また、上記画像処理装置において、前記変形態様設定部は、少なくとも1つの前記分割点について、前記分割点の移動方向および移動量に関するユーザ指定を取得する指定取得部を含み、前記変形処理部は、前記取得されたユーザ指定に従い前記分割点の位置を移動するとしてもよい。
【0203】
このようにすれば、よりユーザの希望に近い態様での画像変形のための画像処理を容易に実現することができる。
【0204】
また、上記画像処理装置において、前記変形領域設定部は、前記変形領域に顔の少なくとも一部の画像が含まれるように前記変形領域を設定するとしてもよい。
【0205】
このようにすれば、顔の画像を対象として、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0206】
また、上記画像処理装置において、前記変形領域分割部は、少なくとも1組の前記分割点が所定の基準線に対して互いに対称の位置に配置されるように、前記複数の分割点を配置し、前記変形処理部は、前記少なくとも1組の分割点を、前記所定の基準線に対して互いに対称である位置関係を維持したまま移動するとしてもよい。
【0207】
このようにすれば、所定の基準線に対して左右対称な画像変形が行われることとなり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0208】
また、上記画像処理装置において、前記変形処理部は、少なくとも1つの前記小領域について、変形を行わないとしてもよい。
【0209】
このようにすれば、顔の印象を大きく変更することなく所望の画像変形を行うことが可能となり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0210】
また、上記画像処理装置において、前記変形処理部は、目の画像を含む前記小領域について、変形を行わないとしてもよい。
【0211】
このようにすれば、目の画像を含む小領域については変形を行わないものとすることにより、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0212】
また、上記画像処理装置において、さらに、前記対象画像上の顔の画像を表す顔領域を検出する顔領域検出部を備え、前記変形領域設定部は、検出された前記顔領域に基づき前記変形領域を設定するとしてもよい。
【0213】
このようにすれば、対象画像から検出された顔領域に基づき設定された変形領域の画像変形について、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0214】
また、上記画像処理装置において、さらに、前記変形領域内の画像の変形が行われた前記対象画像を印刷する印刷部を備えるとしてもよい。
【0215】
このようにすれば、多様な変形態様に対応した画像変形後の画像の印刷を、容易に、かつ効率的に実現することができる。
【図面の簡単な説明】
【0216】
【図1】本発明の一実施例としての画像処理装置が適用されるプリンタ100の構成を概略的に示す説明図。
【図2】画像の一覧表示を含むユーザインタフェースの一例を示す説明図である。
【図3】プリンタ100において顔形状補正印刷を行う際に実行される顔形状補正印刷ルーチンを示すフローチャート。
【図4】顔形状補正処理ルーチンを示すフローチャート。
【図5】画像変形のタイプおよび度合いを設定するためのユーザインタフェースの一例を示す説明図。
【図6】顔領域の検出結果の一例を示す説明図。
【図7】変形領域の設定結果を示す説明図。
【図8】変形処理が行われた結果を示す説明図。
【図9】被写体の印象の違いを示す説明図である。
【図10】第1幅W1に対する第2幅W2の比率Riと、距離dとの関係を示すグラフである。
【図11】変形量DQと被写体距離Sdとの関係、および、比率Rwと被写体距離Sdとの関係を示すグラフである。
【図12】顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図。
【図13】第2実施例における変形量DQと比率Rwとを示すグラフである。
【図14】第3実施例におけるプリンタ100aの構成を概略的に示す説明図である。
【図15】サイズ算出部292(図14)によって算出されるサイズを示す概略図である。
【図16】第3実施例における変形量DQと比率Rwとを示すグラフである。
【図17】第4実施例における顔形状補正処理の概略を示す説明図である。
【図18】第5実施例における顔形状補正処理の概略を示す説明図である。
【図19】第6実施例における顔形状補正処理ルーチンを示すフローチャートである。
【図20】第6実施例における顔形状補正処理の概略を示す説明図である。
【図21】第7実施例における顔形状補正処理の概略を示す説明図である。
【図22】顔領域FAの検出結果の別の一例を示す説明図。
【図23】変形領域の設定処理の流れを示すフローチャート。
【図24】顔領域FAの高さ方向の位置調整処理の流れを示すフローチャート。
【図25】特定領域SAの一例を示す説明図。
【図26】評価値の算出方法の一例を示す説明図。
【図27】評価対象画素TPの選択方法の一例を示す説明図。
【図28】高さ基準点Rhの決定方法の一例を示す説明図。
【図29】概略傾き角RIの算出方法の一例を示す説明図。
【図30】顔領域FAの高さ方向の位置調整方法の一例を示す説明図。
【図31】顔領域FAの傾き調整処理の流れを示すフローチャート。
【図32】顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図。
【図33】各評価方向についての評価値の分散の算出結果の一例を示す説明図。
【図34】顔領域FAの傾き調整方法の一例を示す説明図。
【図35】変形領域TAの設定方法の一例を示す説明図。
【図36】変形処理の流れを示すフローチャート。
【図37】変形領域TAの小領域への分割方法の一例を示す説明図。
【図38】分割点移動テーブル420の内容の一例を示す説明図。
【図39】分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図。
【図40】分割領域変形部260による画像の変形処理方法の概念を示す説明図。
【図41】三角形領域における画像の変形処理方法の概念を示す説明図。
【図42】顔形状補正の態様の一例を示す説明図。
【図43】変形処理の他の実施例を示す概略図である。
【符号の説明】
【0217】
100…プリンタ
110…CPU
120…内部メモリ
140…操作部
150…表示部
160…プリンタエンジン
170…カードインタフェース
172…カードスロット
200…顔形状補正部
210…変形態様設定部
212…指定取得部
220…顔領域検出部
230…顔領域調整部
240…変形領域設定部
250…変形領域分割部
260…分割領域変形部
290…変形量調整部
292…サイズ算出部
310…表示処理部
320…印刷処理部
410…分割点配置パターンテーブル
420…分割点移動テーブル
【技術分野】
【0001】
本発明は、対象画像上の少なくとも一部の領域を変形する画像処理技術に関する。
【背景技術】
【0002】
デジタル画像を対象に、画像を変形するための画像処理技術が知られている(例えば特許文献1)。特許文献1には、顔の画像上の一部の領域(頬の画像を表す領域)を補正領域として設定し、補正領域を所定のパターンに従い複数の小領域に分割し、小領域毎に設定された倍率で画像を拡大または縮小することにより、顔の形状を変形する画像処理が開示されている。
【0003】
【特許文献1】特開2004−318204
【0004】
ところで、画像の生成(例えば、撮影)の条件と、画像の出力(例えば、表示や印刷)の条件とは、種々に変化し得る。生成条件としては、例えば、撮影時における被写体と撮影装置との間の距離や、撮影時における被写体の明るさ等がある。また、出力条件としては、例えば、印刷時における用紙サイズや、表示用のモニタのサイズ等がある。出力された画像を観察して得られる被写体の印象は、このような条件に応じて種々に変化する。その結果、一律に画像を変形しても、望ましい画像が得られない可能性があった。なお、このような問題は、顔を変形させる場合に限らず、画像の少なくとも一部を変形させる画像処理に共通する問題であった。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記の課題を解決するためになされたものであり、生成条件に合わせて画像を適切に変形させることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述の課題の少なくとも一部を解決するために、本発明の画像処理装置は、変形の度合いを調整する変形量調整部と、撮影によって生成された対象画像上の少なくとも一部の領域を前記調整された度合いで変形させる変形処理部と、を備え、前記変形量調整部は、撮影時における前記対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、前記距離パラメータが示す距離が近いほど強くなるように前記変形の度合いを調整する。
【0007】
この画像処理装置によれば、距離が近いほど変形の度合いが強くなるので、生成条件(距離)に合わせて画像を適切に変形させることができる。
【0008】
さらに、前記変形処理部は、前記被写体の少なくとも一部分の前記対象画像上における少なくとも一方向の大きさが小さくなるように、前記変形を実行することとしてもよい。
【0009】
この構成によれば、被写体を、距離に合わせて適切に変形させることができる。
【0010】
上記画像処理装置において、さらに、前記対象画像上の所定の種類の被写体を検出する検出部と、検出された前記被写体の前記対象画像上におけるサイズを、前記対象画像を解析することによって算出するサイズ算出部と、を備え、前記変形量調整部は、前記サイズを、大きいほど近い距離を示す前記距離パラメータとして利用することとしてもよい。
【0011】
この構成によれば、所定の種類の被写体のサイズが距離パラメータとして利用されるので、画像を適切に変形させることができる。
【0012】
さらに、前記検出部によって複数の被写体が検出された場合には、前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、前記変形量調整部は、前記各被写体のサイズの内の最大サイズに基づいて前記変形の度合いを調整することとしてもよい。
【0013】
この構成によれば、最大サイズに基づいて変形の度合いが調整されるので、変形の度合いが不足することを抑制できる。
【0014】
さらに、上記画像処理装置は、前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、前記変形処理部は、前記変形領域内の画像の変形を実行することとしてもよい。
【0015】
この構成によれば、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0016】
さらに、前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記複数の被写体の中から前記サイズが最大である最大被写体を選択し、前記最大被写体を含む一部の領域を前記変形領域として設定することとしてもよい。
【0017】
この構成によれば、画像の全体を過剰に変形させずに、目立ちやすい最大被写体を変形させることができる。
【0018】
また、前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記サイズが、与えられた選択閾値より大きな被写体を選択し、前記選択された被写体毎に前記変形領域を設定することとしてもよい。
【0019】
この構成によれば、画像の全体を過剰に変形させずに、比較的大きくて目立ちやすい被写体を変形させることができる。
【0020】
また、上記画像処理装置は、さらに、前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、前記変形処理部は、前記変形領域内の画像の変形を実行することとしてもよい。
【0021】
この構成によれば、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0022】
さらに、前記検出部によって複数の被写体が検出された場合には、(A)前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、(B)前記変形領域設定部は、前記各被写体毎に前記変形領域を設定し、(C)前記変形量調整部は、前記各変形領域毎に前記変形の度合いを調整し、(D)前記変形処理部は、前記各変形領域毎に調整された前記変形の度合いに従って、前記各変形領域内の画像の変形を、それぞれ実行することとしてもよい。
【0023】
この構成によれば、複数の被写体のそれぞれを適切に変形させることができる。
【0024】
また、上記画像処理装置は、さらに、前記対象画像上の所定の種類の被写体を検出する検出部と、前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部と、を備え、前記変形処理部は、前記変形領域内の画像の変形を実行することとしてもよい。
【0025】
この構成によれば、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0026】
さらに、上述の各画像処理装置において、前記被写体は人物の顔であることとしてもよい。
【0027】
この構成によれば、人物の顔を含む対象画像を、距離に合わせて適切に変形させることができる。
【0028】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像変形方法および装置、画像補正方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0029】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.第5実施例:
F.第6実施例:
G.第7実施例:
H.変形領域の設定:
I.顔変形処理:
J.他の変形処理:
K.変形例:
【0030】
A.第1実施例:
図1は、本発明の一実施例としての画像処理装置が適用されるプリンタ100の構成を概略的に示す説明図である。プリンタ100は、メモリカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ100は、プリンタ100の各部を制御するCPU110と、例えばROMやRAMによって構成された内部メモリ120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、プリンタエンジン160と、カードインタフェース(カードI/F)170と、を備えている。プリンタ100は、さらに、他の機器(例えば、デジタルスチルカメラやパーソナルコンピュータ)とのデータ通信を行うためのインタフェースを備えているものとしてもよい。プリンタ100の各構成要素は、バスを介して互いに接続されている。
【0031】
プリンタエンジン160は、印刷データに基づき印刷を行う印刷機構である。カードインタフェース170は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのインタフェースである。なお、第1実施例では、メモリカードMCにRGBデータとしての画像データが格納されており、プリンタ100は、カードインタフェース170を介してメモリカードMCに格納された画像データの取得を行う。
【0032】
内部メモリ120には、顔形状補正部200と、表示処理部310と、印刷処理部320とが格納されている。顔形状補正部200は、所定のオペレーティングシステムの下で、後述する顔形状補正処理を実行するためのコンピュータプログラムである。表示処理部310は、表示部150を制御して、表示部150上に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部320は、画像データから印刷データを生成し、プリンタエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。CPU110は、内部メモリ120から、これらのプログラムを読み出して実行することにより、これら各部の機能を実現する。
【0033】
顔形状補正部200は、プログラムモジュールとして、変形態様設定部210と、顔領域検出部220と、顔領域調整部230と、変形領域設定部240と、変形領域分割部250と、分割領域変形部260と、変形量調整部290と、を含んでいる。変形態様設定部210は、指定取得部212を含んでいる。後述するように、変形領域分割部250と、分割領域変形部260と、により画像の変形が行われる。そのため、変形領域分割部250と分割領域変形部260とは、併せて「変形処理部」とも呼ぶことができる。これらの各部の機能については、後述する。
【0034】
内部メモリ120には、また、分割点配置パターンテーブル410と分割点移動テーブル420とが格納されている。分割点配置パターンテーブル410および分割点移動テーブル420の内容については、後述の顔変形処理の説明において詳述する。
【0035】
プリンタ100は、メモリカードMCに格納された画像データに基づき、画像の印刷を行う。カードスロット172にメモリカードMCが挿入されると、表示処理部310により、メモリカードMCに格納された画像の一覧表示を含むユーザインタフェースが表示部150に表示される。図2は、画像の一覧表示を含むユーザインタフェースの一例を示す説明図である。なお、第1実施例では、画像の一覧表示は、メモリカードMCに格納された画像データ(画像ファイル)に含まれるサムネイル画像を用いて実現される。図2に示すユーザインタフェースには、8つのサムネイル画像TN1〜TN8と、5つのボタンBN1〜BN5が表示されている。
【0036】
プリンタ100は、図2に示すユーザインタフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に通常印刷ボタンBN3が選択されると、選択された画像を通常通り印刷する通常印刷処理を実行する。他方、当該ユーザインタフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に顔形状補正印刷ボタンBN4が選択されると、プリンタ100は、選択された画像について、画像中の顔の形状を補正して補正後の画像を印刷する顔形状補正印刷処理を実行する。図2の例では、サムネイル画像TN1と顔形状補正印刷ボタンBN4とが選択されている。そのため、プリンタ100は、サムネイル画像TN1に対応する画像について顔の形状を補正して補正後の画像を印刷する。
【0037】
図3は、プリンタ100において顔形状補正印刷を行う際に実行される顔形状補正印刷ルーチンを示すフローチャートである。ステップS100では、顔形状補正部200(図1)が、顔形状補正処理を実行する。顔形状補正処理は、画像中の顔の少なくとも一部の形状(例えば顔の輪郭形状や目の形状)を補正する処理である。なお、目や鼻などの顔の一部分は、一般に器官とも呼ばれる。
【0038】
図4は、図3のステップS100において実行される顔形状補正処理ルーチンを示すフローチャートである。ステップS110では、顔形状補正部200(図1)が、顔形状補正処理の対象となる対象画像を設定する。顔形状補正部200は、図2に示したユーザインタフェースにおいてユーザにより選択されたサムネイル画像TN1に対応する画像を対象画像として設定する。設定された対象画像の画像データは、メモリカードMCからカードインタフェース170を介してプリンタ100に取得され、内部メモリ120の所定領域に格納される。なお、以下では、このようにメモリーカードMCから取得され、プリンタ100の内部メモリ120に格納された画像データを「元画像データ」とも呼ぶ。また、元画像データにより表される画像を「元画像」とも呼ぶ。
【0039】
ステップS120(図4)では、変形態様設定部210(図1)が、顔形状補正のための画像変形のタイプと画像変形の度合いとを設定する。変形態様設定部210は、画像変形のタイプおよび度合いを設定するためのユーザインタフェースを表示部150に表示するように表示処理部310に指示し、当該ユーザインタフェースを通じてユーザにより指定された画像変形のタイプおよび度合いを選択し、処理に使用する画像変形タイプおよび度合いとして設定する。
【0040】
図5は、画像変形のタイプおよび度合いを設定するためのユーザインタフェースの一例を示す説明図である。図5に示すように、このユーザインタフェースには、画像変形タイプを設定するためのインタフェースが含まれている。第1実施例では、例えば、顔の形状をシャープにする変形タイプ「タイプA」や、目の形状を大きくする変形タイプ「タイプB」等が選択肢として予め設定されているものとする。ユーザは、このインタフェースを介して画像変形のタイプを指定する。変形態様設定部210は、ユーザにより指定された画像変形タイプを、実際の処理に使用する画像変形タイプとして設定する。
【0041】
また、図5に示すユーザインタフェースには、画像変形の度合い(程度)を設定するためのインタフェースが含まれている。図5に示すように、第1実施例では、画像変形の度合いとして、強(S)、中(M)、弱(W)の3段階と、自動と、の4つが選択肢として予め設定されているものとする。ユーザは、このインタフェースを介して画像変形の度合いを指定する。強、中、弱の3つの内のいずれかが指定された場合には、変形態様設定部210は、ユーザにより指定された画像変形の度合いを、実際の処理に使用する画像変形の度合いとして設定する。「自動」が指定された場合には、画像変形の度合いが変形量調整部290(図1)によって自動的に調整される。ユーザインタフェースに設けられたチェックボックスは、ユーザが変形態様の詳細指定を希望する場合にチェックされる。
【0042】
以降では、画像変形のタイプとして顔の形状をシャープにするための変形タイプ「タイプA」が設定され、画像変形の度合いとして「自動」が設定され、ユーザによる詳細指定の希望はなかったものとして説明を行う。
【0043】
ステップS130(図4)では、顔領域検出部220(図1)が、対象画像における顔領域の検出を行う。ここで、顔領域とは、対象画像上の画像領域であって、少なくとも顔の一部の画像が含まれる領域を意味している。顔領域検出部220による顔領域の検出は、例えばテンプレートを利用したパターンマッチングによる方法(特開2004−318204参照)といった公知の顔検出方法を用いて実行される。
【0044】
図6は、顔領域の検出結果の一例を示す説明図である。図6の例では、対象画像TIに人物が含まれている。そのため、ステップS130における顔検出により、対象画像TIからは、人物に対応して顔領域FAが検出される。この顔領域は、図6に示すように、それぞれの目と鼻と口の画像を含む矩形の領域となっている。
【0045】
ステップS130の顔領域の検出において、顔領域が検出されなかった場合には、その旨が表示部150を通じてユーザに通知される。この場合には、顔形状補正を伴わない通常印刷が行われるものとしてもよい。また、他の顔検出方法を用いた顔領域の再度の検出処理が行われるものとしてもよい。
【0046】
なお、ステップS130では、テンプレートを利用したパターンマッチングにより、対象画像から顔が検出される。このようなテンプレートを利用したパターンマッチングによる方法等の公知の顔検出方法は、一般に、顔全体や顔の部位(目や口等)について位置や傾き(角度)を詳細に検出するものではなく、対象画像中から顔の画像が概ね含まれると考えられる領域を顔領域として設定するものである。
【0047】
ステップS500において、プリンタ100は、検出された顔領域に基づいて顔形状補正のための画像変形処理を施す領域(変形領域)を設定する。具体的には、自然で好ましい顔形状補正が実現されるように、ステップS130で検出された顔領域について位置調整および傾き調整を行うことにより、変形領域が設定される。このように変形領域を設定することにより、一般的に観察者の注目度が高い顔の画像が、設定された変形領域と顔の画像との位置や角度の関係によって不自然に変形されることが抑制される。なお、変形領域を設定する方法については、後述の変形領域の設定の説明において詳述する。
【0048】
図7は、ステップS500における変形領域の設定結果を示す説明図である。図7の破線は、ステップS130において対象画像TIから検出された顔領域FAを示している。図7の太線は、顔領域FAについて設定された変形領域を示している。図7に示すように、ステップS500では、この顔領域FAに対応した変形領域TAが設定される。
【0049】
図4のステップS590では、変形量調整部290(図1)が、変形の度合い(変形量とも呼ぶ)を調整する。この調整の詳細については後述する。
【0050】
ステップS600では、ステップS500で設定された変形領域に対し、変形処理が行われる。第1実施例のステップS600では、変形領域内の変形処理後の画像を元画像に変形処理を施した画像とする変形処理が行われる。なお、変形処理の具体的内容については、後述の顔変形処理の説明で詳述する。変形処理の後、図3の顔形状補正印刷ルーチンに制御が戻される。
【0051】
図8は、変形処理が行われた結果を示す説明図である。図8(a)は、図4のステップS600により変形処理が行われる前の状態を示している。変形処理は変形領域TAにのみ施される。図8(b)に示す変形処理後の対象画像TIでは、変形領域TA内の人物の顔が細くなる。なお、後述するように、変形領域TAの外の領域は変形されない。その結果、画像の全体を過剰に変形させずに、被写体を変形させることができる。
【0052】
図8の例では、顔の左右の頬のライン(顔の輪郭)が変形量DQだけ内側に移動している。この変形量DQは、図4のステップS590で調整されている。このような変形によって、変形後の顔の幅Wdは、変形前の顔の幅Woと比べて、変形量DQの2倍だけ狭くなる。このように幅が狭くなるように画像を変形させる理由は、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけるためである。
【0053】
図9は、被写体の印象の違いを示す説明図である。図中には、被写体Sと、人(観察者)の右目REと左目LEと、カメラCMとが示されている。この図は、観察者の上面から見た位置関係を示している。
【0054】
図9の例では、説明を簡単にするために、上面から見た被写体Sの形状が半径rの円であることと仮定している。なお、このような丸い被写体Sとしては、人の頭に限らず、種々の被写体(例えば、円筒形の建物)が挙げられる。この被写体Sは、2つの目RE、LEの真正面に位置している。また、カメラCMは、2つの目RE、LEの中点MPに配置されている。すなわち、カメラCMは、観察者とほぼ同じ位置から、被写体Sを見る。なお、図中のx軸は、被写体Sの中心Cと、中点MPとを通る座標軸である。y軸は、中心Cを通り、x軸と垂直な座標軸である。2つの目RE、LEは、このy軸に沿って並んでいる。距離Lは、2つの目RE、LEの間の距離を示している。また、距離dは、中心Cと目RE、LEとの間のx軸に沿った距離を示している。
【0055】
図中の第1幅W1は、被写体Sの幅を示している。この第1幅W1は、カメラCMから見える部分の幅を示している。カメラCMから見える部分は、被写体Sの表面の内の、カメラ被写体範囲SRC内の部分である。このカメラ被写体範囲SRCは、カメラCMの視野の全範囲の内の被写体Sが占める範囲を示している。
【0056】
図中の第2幅W2も、被写体Sの幅を示している。ただし、この第2幅W2は、両目RE、LEから見える部分の幅を示している。両目RE、LEから見える部分は、被写体Sの表面の内の、右被写体範囲SRRと左被写体範囲SRLとの重なる範囲の内の部分である。右被写体範囲SRRは、右目REの視野の全範囲の内の被写体Sが占める範囲を示し、左被写体範囲SRLは、左目LEの視野の全範囲の内の被写体Sが占める範囲を示している。
【0057】
図示するように、右目REと左目LEとの間では、被写体Sの見える部分が異なっている。すなわち、右目REから見える部分は右目RE側に偏っており、左目LEから見える部分は左目LE側に偏っている。このような場合には、人(観察者)による被写体Sの認識は、両目RE、LEに共通な可視部分から強い影響を受けると推定される。例えば、人は、両目RE、LEに共通な可視部分の幅W2が被写体Sの幅であるという認識を持つと推定される。
【0058】
また、図示するように、第2幅W2は第1幅W1よりも狭い。すなわち、撮影によって生成された画像を観察すると、実際の被写体Sを観察したときと比べて幅が広い印象を受ける。そこで、図8(B)に示すように幅が狭くなるように画像を変形させることによって、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0059】
図10は、第1幅W1に対する第2幅W2の比率Riと、距離dとの関係を示すグラフである。横軸は距離dを示し、縦軸は比率Riを示している。また、図10には、これらの幅W1、W2を示す関数も示されている。これらの幅W1、W2は、半径rと距離dと距離Lとの関数で表されている。なお、図10のグラフでは、半径rと距離Lとは固定されている。
【0060】
図示するように、この比率Ri(W2/W1)は、距離dが小さいほど小さい。また、この比率Ri(W2/W1)は、「1.0」よりも小さく、距離dが大きいほど「1.0」に近くなる。
【0061】
図11(A)は、変形量DQと被写体距離(Subject Distance)Sdとの関係を示すグラフである。図11(B)は、変形前の幅Woに対する変形後の幅Wdの比率Rwと、被写体距離Sdとの関係を示すグラフである。これらのグラフでは、横軸が被写体距離Sdを示している。
【0062】
被写体距離Sdは、対象画像TIが撮影された時の撮影装置と被写体との距離を示している。このような被写体距離Sdは、対象画像TIを表す画像データを格納する画像ファイルに、履歴情報として格納されている。このような画像データと履歴情報とを格納するデータファイルの形式としては、例えば、Exif(Exchangeable Image File Format)が利用される。本実施例では、このようなExifデータファイルが、メモリカードMC(図1)からプリンタ100に供給される。なお、履歴情報は、通常は、撮影装置(例えば、デジタルスチルカメラ)によって設定される。
【0063】
図11(A)に示す変形量DQは、図11(B)に示す比率Rwが図10に示す比率Riと同じとなるように、予め設定されている。この結果、変形量DQは、被写体距離Sdが短いほど大きな値に設定される。ここで、距離Lと半径rとは所定値に予め固定されている。目の距離Lとしては、例えば、0.1mを採用可能である。また、半径r、すなわち、被写体Sの大きさとしては、被写体を代表する値(例えば、0.1m)を採用可能である。なお、本実施例では、変形量DQは、変形領域TA内における幅の変化率(この場合は減少率)を示している。
【0064】
図4のステップS590では、変形量調整部290(図1)は、対象画像TIに対応付けられた履歴情報から被写体距離Sdを取得し、被写体距離Sdから変形量DQを決定する。変形量DQと被写体距離Sdとの対応関係は、図11(A)に示すように、予め設定されている。なお、被写体距離Sdは、特許請求の範囲における「距離パラメータ」に相当する。図4のステップS600では、このように決定された変形量DQを利用して画像が変形される(図8(B))。その結果、距離に合わせて画像を適切に変形させることができる。具体的には、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0065】
図4の顔形状補正処理ルーチンから制御が戻されると、図3のステップS200において、変形処理後の画像(補正画像)が表示される。具体的には、顔形状補正部200(図1)が、顔形状補正後の対象画像を表示部150に表示するよう表示処理部310に指示する。図12は、顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図である。顔形状補正後の対象画像TIが表示された表示部150により、ユーザは、補正結果を確認することができる。ユーザが補正結果に満足せず「戻る」ボタンを選択した場合には、例えば表示部150に図5に示した変形タイプおよび変形度合いを選択する画面が表示され、ユーザによる変形タイプや変形度合いの再度の設定が実行される。ユーザが補正結果に満足し、「印刷」ボタンを選択した場合には、以下の補正画像印刷処理が開始される。
【0066】
ステップS300では、印刷処理部320(図1)が、プリンタエンジン160を制御して、顔形状補正処理後の対象画像の印刷を行う。印刷処理部320は、顔形状補正処理後の対象画像の画像データに、解像度変換やハーフトーン処理などの処理を施して印刷データを生成する。生成された印刷データは、印刷処理部320からプリンタエンジン160に供給され、プリンタエンジン160は対象画像の印刷を実行する。これにより、顔形状補正後の対象画像の印刷が完了する。
【0067】
B.第2実施例:
図13(A)は、第2実施例における変形量DQを示すグラフである。図11(A)に第1実施例との差違は、被写体距離Sdの代わりに被写体距離レンジ(Subject Distance Range)Sdrに基づいて変形量DQが決定される点だけである。
【0068】
被写体距離レンジSdrは、対象画像TIが撮影された時の撮影装置と被写体との距離を、「マクロ」、「近景」、「遠景」の3段階で示している。この被写体距離レンジSdrは、上述の被写体距離Sdと同様に、履歴情報として画像ファイルに格納される。撮影装置の中には、被写体距離Sdを設定せずに被写体距離レンジSdrを設定するものがある。第2実施例では、このような撮影装置によって生成された画像ファイルを利用することができる。
【0069】
図13(A)のグラフでは、横軸が被写体距離レンジSdrを示し、縦軸が変形量DQを示している。この変形量DQは、図11(A)に示す第1実施例と同様に、距離が近いほど大きくなるように予め設定されている。
【0070】
図13(B)は、比率Rw(変形後の幅Wd/変形前の幅Wo)と被写体距離レンジSdrとの関係を示すグラフである。横軸が被写体距離レンジSdrを示し、縦軸が比率Rwを示している。本実施例では、変形量調整部290は、図13(A)に示す対応関係に従って、被写体距離レンジSdrから変形量DQを決定するので、距離が近いほど比率Rwが小さくなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。なお、変形量DQと被写体距離レンジSdrとの対応関係は、比率Rwが図10に示す比率Riに近い値となるように設定することが好ましい。なお、被写体距離レンジSdrは、特許請求の範囲における「距離パラメータ」に相当する。
【0071】
C.第3実施例:
図14は、第3実施例におけるプリンタ100aの構成を概略的に示す説明図である。図1に示すプリンタ100との差違は、顔形状補正部200aに、サイズ算出部292が追加されている点だけである。他の構成は、図1に示すプリンタ100と同じである。
【0072】
図15は、サイズ算出部292(図14)によって算出されるサイズを示す概略図である。本実施例では、顔形状補正処理は、図4の手順に従って実行される。ただし、上述の各実施例とは異なり、ステップS590では、まず、サイズ算出部292が、対象画像TI上の被写体のサイズを算出する。そして、変形量調整部290は、算出されたサイズを利用して、変形量DQを調整する。図4の他のステップの処理は、上述の各実施例と同じである。
【0073】
本実施例では、被写体として顔が採用されている。そして、サイズ算出部292は、2つの目の間の距離からサイズを算出する。サイズ算出部292は、まず、顔領域FAから2つの目を検出する。目の検出方法としては、例えば、テンプレートを利用したパターンマッチングによる方法といった公知の種々の方法を採用可能である。次にサイズ算出部292は、検出された2つの目の間の距離Eydを算出する。算出された距離Eydは、画素数によって表されている。次にサイズ算出部292は、対象画像TIのサイズに対する被写体の相対的なサイズEyrを算出する。本実施例では、相対サイズEyrは、距離Eydを、対象画像TIの幅方向の画素数IWと高さ方向の画素数IVとの内の大きい方で割った値である(図15の例では、幅方向の画素数IW)。この相対サイズEyrは、対象画像TIの画素密度に依存しない対象画像TI上の被写体のサイズを示している。
【0074】
相対サイズEyrは、撮影時の撮影装置と被写体との距離が近いほど、大きくなる。すなわち、相対サイズEyrは、距離を示す指標として利用可能である。そこで、変形量調整部290は、この相対サイズEyrから変形量DQを決定する。なお、2つの目の間の距離(すなわち、相対サイズEyr)の人による違いは、被写体と撮影装置との距離の変化による相対サイズEyrの変化と比べて、十分に小さい。従って、相対サイズEyrは、人に依存しない距離の共通指標として利用可能である。
【0075】
図16(A)は、第3実施例における変形量DQを示すグラフである。横軸は相対サイズEyrを示し、縦軸は変形量DQを示している。この変形量DQは、相対サイズEyrが大きいほど大きくなるように予め設定されている。すなわち、変形量DQは、撮影時の撮影装置と被写体との距離が近いほど、大きくなるように設定されている。
【0076】
図16(B)は、比率Rw(変形後の幅Wd/変形前の幅Wo)と相対サイズEyrとの関係を示すグラフである。横軸は相対サイズEyrを示し、縦軸は比率Rwを示している。本実施例では、変形量調整部290は、図16(A)に示す対応関係に従って、相対サイズEyrから変形量DQを決定するので、距離が近いほど比率Rwが小さくなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。なお、変形量DQと相対サイズEyrとの対応関係は、比率Rwが図10に示す比率Riに近い値となるように設定することが好ましい。なお、相対サイズEyrは、特許請求の範囲における「距離パラメータ」に相当する。
【0077】
以上のように、第3実施例では、対象画像TIを解析することによって距離パラメータが算出される。その結果、被写体距離Sdと被写体距離レンジSdrとのそれぞれを利用できない場合であっても、距離に合わせて画像を適切に変形させることができる。
【0078】
D.第4実施例:
図17は、第4実施例における顔形状補正処理の概略を示す説明図である。この第4実施例の処理は、図14〜図16に示す第3実施例において対象画像TIから複数の被写体が検出された場合の処理を示している。
【0079】
図17には、対象画像TIが示されている。この対象画像TIには、3人の人物S1、S2、S3が写っている。その結果、図4のステップS130では、これら3人の人物S1、S2、S3のそれぞれに対応する3つの顔領域FA1、FA2、FA3が検出される。次のステップS500では、これら3つの顔領域FA1、FA2、FA3のそれぞれに対応する3つの変形領域TA1、TA2、TA3が設定される。
【0080】
図4の次のステップS590では、サイズ算出部292(図14)は、3つの顔領域FA1、FA2、FA3のそれぞれに対応する3つの相対サイズEyr1、Eyr2、Eyr3を算出する。そして、変形量調整部290(図14)は、図16(A)の対応関係に従って、3つの変形領域TA1、TA2、TA3のそれぞれの変形量DQ1、DQ2、DQ3を、3つの相対サイズEyr1、Eyr2、Eyr3から、それぞれ決定する。ステップS600では、3つの変形領域TA1、TA2、TA3は、各領域毎に決定された3つの変形量DQ1、DQ2、DQ3を利用して、それぞれ変形される。
【0081】
以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0082】
以上のように、第4実施例では、変形領域(すなわち、被写体)毎に変形量DQが調整される。その結果、1枚の対象画像TIから複数の被写体が検出された場合に、各被写体を適切に変形させることができる。
【0083】
E.第5実施例:
図18は、第5実施例における顔形状補正処理の概略を示す説明図である。この第5実施例の処理は、図14〜図16に示す第3実施例において対象画像TIから複数の被写体が検出された場合の処理の別の例を示している。
【0084】
図18には、図17と同じ対象画像TIが処理される場合が示されている。図17に示す第4実施例との差違は、全ての変形領域に共通の変形量DQが適用される点だけである。変形量調整部290は、対象画像TIから検出された全ての被写体の相対サイズの内の最大の相対サイズに基づいて、共通の変形量DQを決定する。図18の例では、3つの相対サイズEyr1、Eyr2、Eyr3の中の最大の第1相対サイズEyr1に基づいて変形量DQが決定される。以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0085】
以上のように、第5実施例では、変形量が最大サイズに基づいて決定されるので、変形量が不足することを抑制できる。また、全ての変形領域に共通の変形量が適用されるので、変形量が異なる複数の変形処理を実行する場合と比べて、画像処理を簡素化することができる。
【0086】
なお、第5実施例では、全ての変形領域に共通の変形量DQが適用される。そこで、変形量DQの決定に利用される距離パラメータとしては、1枚の対象画像TIに1つの値が対応付けられるようなパラメータを採用してもよい。例えば、上述の被写体距離Sdを採用してもよく、また、上述の被写体距離レンジSdrを採用してもよい。なお、相対サイズEyrとは異なるパラメータを採用する場合には、サイズ算出部292(図14)を省略してもよい。
【0087】
F.第6実施例:
図19は、第6実施例における顔形状補正処理ルーチンを示すフローチャートである。図4に示す手順との差違は、ステップS130とステップS500との間にステップS140が追加されている点だけである。他のステップの処理は、図4、図14、図18に示す第5実施例と同様に実行される。
【0088】
ステップS140では、変形領域設定部240(図14)は、ステップS130で複数の顔領域(すなわち、被写体)が検出された場合に、所定の条件を満たす顔領域を選択する。選択された顔領域は、変形処理の対象として利用される。また、変形領域設定部240は、選択されなかった顔領域を、変形処理の対象から除外する。
【0089】
図20は、第6実施例における顔形状補正処理の概略を示す説明図である。図20には、図18と同じ対象画像TIが示されている。第6実施例では、与えられた選択閾値よりも相対サイズが大きな顔領域が選択される。これにより、相対サイズの大きな被写体と相対サイズの小さな被写体が1枚の対象画像TI上に混在している場合には、相対サイズが大きい一部の被写体が選択される。
【0090】
第6実施例では、変形領域設定部240は、最大相対サイズに基づいて、最大相対サイズよりも小さい値に選択閾値を設定する。具体的には、1より小さい所定係数(例えば、0.8)を最大相対サイズに乗じて得られる値を選択閾値として利用する。ここで、最大相対サイズとは、対象画像TIから検出された全ての被写体の相対サイズの内の最大のサイズを意味している。なお、このような選択閾値の設定方法としては、他の種々の方法を採用可能である。例えば、選択閾値が、最大相対サイズに比例しなくてもよい。なお、図20の例では、第1相対サイズEyr1が最大であり、第3相対サイズEyr3は選択閾値よりも小さく、第2相対サイズEyr2は選択閾値よりも大きいことと仮定している。
【0091】
図20の対象画像TIを処理する場合には、図19のステップS140では、まず、サイズ算出部292(図14)が、ステップS130で検出された3つの顔領域FA1、FA2、FA3のそれぞれに対応する3つの相対サイズEyr1、Eyr2、Eyr3を算出する。次に、変形領域設定部240は、選択閾値を決定し、相対サイズが選択閾値よりも大きな顔領域を選択する。図20の例では、第1顔領域FA1と第2顔領域FA2とが選択され、第3顔領域FA3は変形処理の対象から除外される。図19の続くステップS500〜S600の処理は、選択された顔領域に対して実行される。これらの結果、相対サイズが比較的大きい2つの被写体S1、S2が、最大の相対サイズ(この例では、第1相対サイズEyr1)に基づいて調整された変形量DQに従って、変形される。
【0092】
以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0093】
このように、第6実施例では、相対サイズが最大相対サイズに近い被写体のみが、最大相対サイズに基づいて調整された変形量DQに従って変形される。その結果、比較的大きくて目立ちやすい被写体を変形させることができる。また、相対サイズが最大相対サイズと比べて十分に小さいく目立ちにくい被写体を変形することを防止できる。
【0094】
なお、選択閾値は所定の値に固定されていてもよい。ただし、最大相対サイズに基づいて、最大相対サイズよりも小さい値に選択閾値を設定すれば、対象画像TIに合わせて処理対象を選択することができる。
【0095】
また、第6実施例では、全ての変形領域に共通の変形量DQが適用される。そこで、変形量DQの決定に利用される距離パラメータとしては、1枚の対象画像TIに1つの値が対応付けられるようなパラメータを採用してもよい。例えば、上述の被写体距離Sdを採用してもよく、また、上述の被写体距離レンジSdrを採用してもよい。
【0096】
G.第7実施例:
図21は、第7実施例における顔形状補正処理の概略を示す説明図である。この第7実施例では、顔形状補正処理は、図20に示す第6実施例と同様に、図19に示す手順に従って実行される。図20に示す第6実施例との差違は、ステップS140で、変形領域設定部240(図14)は、ステップS130で複数の顔領域(すなわち、被写体)が検出された場合に、相対サイズが最大である顔領域(被写体)を選択する点だけである。図19の他のステップは、第6実施例と同様に実行される。
【0097】
図21には、図20と同じ対象画像TIが処理される場合が示されている。図20に示す第6実施例とは異なり、第7実施例では、相対サイズが最大である第1顔領域FA1のみが選択されている。
【0098】
以上の処理は、対象画像TIから検出された被写体の総数が2、あるいは、4以上である場合にも、同様に実行される。
【0099】
このように、第7実施例では、相対サイズが最大である被写体のみが、最大相対サイズに基づいて調整された変形量DQに従って変形される。その結果、画像の全体を過剰に変形させずに、目立ちやすい最大被写体を変形させることができる。
【0100】
なお、第7実施例では、変形量DQの決定に利用される距離パラメータとしては、1枚の対象画像TIに1つの値が対応付けられるようなパラメータを採用してもよい。例えば、上述の被写体距離Sdを採用してもよく、また、上述の被写体距離レンジSdrを採用してもよい。
【0101】
H.変形領域の設定:
図22は、顔領域FAの検出結果の一例を示す説明図である。なお、以下の説明では、画像を選択するユーザインタフェースにおいて、1人の顔のみが含まれている画像TN1(図2)が選択されたものとしている。図22に示すように、図4のステップS130において、対象画像TIからは、1つの顔領域FAが検出される。なお、対象画像TIから複数の顔領域が検出された場合には、以下に説明する変形領域の設定処理は検出された個々の顔領域に対して行われる。図22に示した基準線RLは、顔領域FAの高さ方向(上下方向)を定義すると共に、顔領域FAの幅方向(左右方向)の中心を示す線である。すなわち、基準線RLは、矩形の顔領域FAの重心を通り、顔領域FAの高さ方向(上下方向)に沿った境界線に平行な直線である。
【0102】
図23は、変形領域の設定処理の流れを示すフローチャートである。図23のフローチャートに示す処理は、図4のステップS500において実行される。ステップS510では、顔領域調整部230(図1)が、ステップS130(図4)で検出された顔領域FAの高さ方向の位置調整を行う。ここで、顔領域FAの高さ方向の位置調整とは、顔領域FAの基準線RL(図22参照)に沿った位置を調整して、対象画像TIにおける顔領域FAを再設定することを意味している。
【0103】
図24は、顔領域FAの高さ方向の位置調整処理の流れを示すフローチャートである。ステップS511では、顔領域調整部230(図1)が、特定領域SAを設定する。ここで、特定領域SAとは、対象画像TI上の領域であって、顔領域FAの高さ方向の位置調整を実行する際に参照する所定の参照被写体の画像を含む領域である。参照被写体は、例えば「目」に設定することができ、その場合、特定領域SAは「目」の画像を含む領域として設定される。
【0104】
図25は、特定領域SAの一例を示す説明図である。顔領域調整部230は、特定領域SAを顔領域FAとの関係に基づいて設定する。具体的には、顔領域FAの大きさを、基準線RLに直交する方向および基準線RLに平行な方向に、所定比率で縮小(または拡大)した大きさの領域であって、顔領域FAの位置と所定の位置関係を有する領域が、特定領域SAとして設定される。すなわち、顔領域検出部220により検出された顔領域FAとの関係に基づき特定領域SAを設定すれば、特定領域SAが両方の目の画像を含む領域となるように、上記所定比率や所定の位置関係が予め設定されている。なお、特定領域SAは、目の画像とまぎらわしい画像(例えば髪の毛の画像)がなるべく含まれないように、両目の画像を含む限りにおいて、なるべく小さい領域として設定されることが好ましい。
【0105】
また、図25に示すように、特定領域SAは、基準線RLに対して対称な矩形形状の領域として設定される。特定領域SAは、基準線RLにより、向かって左側の領域(以下「左分割特定領域SA(l)」とも呼ぶ)と、向かって右側の領域(以下「右分割特定領域SA(r)」とも呼ぶ)とに分割される。特定領域SAは、左分割特定領域SA(l)と右分割特定領域SA(r)とのそれぞれに片目の画像が含まれるように設定される。
【0106】
ステップS512(図24)では、顔領域調整部230(図1)が、特定領域SAにおける目の画像の位置を検出するための評価値を算出する。図26は、評価値の算出方法の一例を示す説明図である。評価値の算出には、RGB画像データとしての対象画像TIの各画素のR値(R成分値)を用いるのが好ましい。これは、肌の部分の画像と目の部分の画像とではR値の差が大きいため、R値を評価値の算出に用いることにより、目の画像の検出精度を向上させることができると考えられるからである。また、対象画像TIのデータがRGBデータとして取得されているため、R値を評価値の算出に用いることにより、評価値の算出の効率化を図ることができるからでもある。なお、図26に示すように、評価値の算出は、2つの分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))のそれぞれについて個別に行われる。
【0107】
顔領域調整部230は、図26に示すように、分割特定領域(右分割特定領域SA(r)および左分割特定領域SA(l))内に、基準線RLと直交するn本の直線(以下「対象画素特定線PL1〜PLn」と呼ぶ)を設定する。対象画素特定線PL1〜PLnは、分割特定領域の高さ(基準線RLに沿った大きさ)を(n+1)等分する直線である。すなわち、対象画素特定線PL同士の間隔は、すべて等間隔sである。
【0108】
顔領域調整部230は、対象画素特定線PL1〜PLnのそれぞれについて、対象画像TIを構成する画素の中から評価値の算出に用いる画素(以下「評価対象画素TP」と呼ぶ)を選択する。図27は、評価対象画素TPの選択方法の一例を示す説明図である。顔領域調整部230は、対象画像TIを構成する画素の内、対象画素特定線PLと重なる画素を評価対象画素TPとして選択する。図27(a)は、対象画素特定線PLが対象画像TIの画素の行方向(図27のX方向)と平行である場合を示している。この場合には、各対象画素特定線PLと重なる画素行上の画素(図27(a)において○印を付した画素)が、各対象画素特定線PLについての評価対象画素TPとして選択される。
【0109】
一方、顔領域FAの検出方法や特定領域SAの設定方法によっては、図27(b)に示すように、対象画素特定線PLが対象画像TIの画素の行方向(X方向)と平行とはならない場合も生ずる。このような場合にも、原則として、各対象画素特定線PLと重なる画素が、各対象画素特定線PLについての評価対象画素TPとして選択される。ただし、例えば図27(b)における対象画素特定線PL1と画素PXaおよびPXbとの関係のように、ある対象画素特定線PLが、対象画像TIの画素マトリクスの同一列に位置する(すなわちY座標が同一の)2つの画素と重なる場合には、重なり部分の距離のより短い方の画素(例えば画素PXb)は評価対象画素TPから除外される。すなわち、各対象画素特定線PLについて、画素マトリクスの1つの列からは1つの画素のみが評価対象画素TPとして選択される。
【0110】
なお、対象画素特定線PLの傾きが、X方向に対して45度を超える場合には、上記説明において画素マトリクスの列と行との関係が逆転し、画素マトリクスの1つの行から1つの画素のみが評価対象画素TPとして選択されることとなる。また、対象画像TIと特定領域SAとの大きさの関係によっては、1つの画素が複数の対象画素特定線PLについての評価対象画素TPとして選択される場合もある。
【0111】
顔領域調整部230は、対象画素特定線PLのそれぞれについて、評価対象画素TPのR値の平均値を評価値として算出する。ただし、各対象画素特定線PLについて、選択された複数の評価対象画素TPの内、R値の大きい一部の画素を評価値の算出対象から除外するものとしている。具体的には、例えば、ある対象画素特定線PLについてk個の評価対象画素TPが選択された場合、評価対象画素TPが、R値の比較的大きい0.75k個の画素により構成される第1グループと、比較的R値の小さい0.25k個の画素により構成される第2グループとの2グループに分けられ、第2グループに属する画素のみが評価値としてのR値の平均値の算出対象となる。このように一部の評価対象画素TPを評価値の算出対象から除外する理由については後述する。
【0112】
以上のように、顔領域調整部230は、各対象画素特定線PLについての評価値を算出する。ここで、対象画素特定線PLは基準線RLに直交する直線であるため、評価値は、基準線RLに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、基準線RLに直交する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0113】
ステップS513(図24)では、顔領域調整部230(図1)が、特定領域SAにおける目の位置を検出し、検出結果に基づき高さ基準点Rhを決定する。まず、顔領域調整部230は、図26の右側に示すように、各分割特定領域について、基準線RLに沿った評価値(R値の平均値)の分布を表す曲線を作成し、評価値が極小値をとる基準線RL方向に沿った位置を目の位置Ehとして検出する。なお、左分割特定領域SA(l)における目の位置EhをEh(l)と表し、右分割特定領域SA(r)における目の位置EhをEh(r)と表わす。
【0114】
黄色人種の場合、分割特定領域中の肌の画像を表す部分はR値が大きい一方、目(より詳細には目の中央の黒目部分)の画像を表す部分はR値が小さいと考えられる。そのため、上述のように、評価値(R値の平均値)が極小値をとる基準線RLに沿った位置を目の位置Ehと判断することが可能となる。但し、他の人種(白色人種や黒色人種)を対象とする場合には、他の評価値(例えば、輝度や明度やB値)が用いられる。
【0115】
なお、図26に示すように、分割特定領域には、目の画像以外にもR値の小さい他の画像(例えば、眉や髪の毛の画像)が含まれている場合もある。そのため、顔領域調整部230は、基準線RLに沿った評価値の分布を表す曲線が複数の極小値をとる場合には、極小値をとる位置の内、最も下側の位置を目の位置Ehと判断する。一般に、目の画像より上側には眉や髪の毛等のR値の小さい画像が位置することが多い一方、目の画像より下側にはR値の小さい画像が位置することが少ないと考えられることから、このような判断が可能となる。
【0116】
また、上記曲線が、目の画像の位置よりも下側(主に肌の画像に対応した位置)であっても、評価値が大きいながらも極小値をとる可能性があるため、極小値の内、所定の閾値より大きいものは無視するものとしてもよい。あるいは、単純に、各対象画素特定線PLについて算出された評価値の内の最小値に対応した対象画素特定線PLの位置を目の位置Ehとしてもよい。
【0117】
なお、顔領域FAの位置調整の最小被写体としては、顔において周囲との色の差が比較的大きいと考えられる部位である目(目の中央の黒目部分)を用いている。しかし、評価値としてのR値の平均値は、対象画素特定線PL上の複数の評価対象画素TPを対象として算出されるため、例えば、黒目の周縁の白目部分の画像の影響により、黒目部分の検出の精度が低下する怖れがある。そこで、上述したように、参照被写体とは色の差が大きいと考えられる一部の評価対象画素TP(例えば上述した第1のグループに属する比較的R値の大きい画素)を評価値の算出対象から除外することにより、参照被写体の検出精度をより向上させている。
【0118】
次に、顔領域調整部230は、検出された目の位置Ehに基づき高さ基準点Rhを決定する。図28は、高さ基準点Rhの決定方法の一例を示す説明図である。高さ基準点Rhは、顔領域FAの高さ方向の位置調整の際に、基準として用いられる点である。高さ基準点Rhとしては、図28に示すように、左右2つの目の位置Eh(l)およびEh(r)の中間に位置する基準線RL上の点が設定される。すなわち、左の目の位置Eh(l)を示す直線EhL(l)と基準線RLとの交点と、右の目の位置Eh(r)を示す直線EhL(r)と基準線RLとの交点と、の中点が、高さ基準点Rhとして設定される。
【0119】
なお、顔領域調整部230は、検出された目の位置Ehに基づき、顔画像の概略の傾き角(以下「概略傾き角RI」と呼ぶ)を算出する。顔画像の概略傾き角RIは、対象画像TI中の顔の画像が、顔領域FAの基準線RLに対して概ねどれぐらい傾いているかを推定した角度である。図29は、概略傾き角RIの算出方法の一例を示す説明図である。図29に示すように、顔領域調整部230は、まず、左分割特定領域SA(l)の幅Ws(l)を半分に分割する直線と直線EhL(l)との交点IP(l)と、右分割特定領域SA(r)の幅Ws(r)を半分に分割する直線と直線EhL(r)との交点IP(r)とを決定する。そして、交点IP(l)と交点IP(r)とを結ぶ直線に直交する直線ILと、基準線RLとのなす角が、概略傾き角RIとして算出される。
【0120】
ステップS514(図24)では、顔領域調整部230(図1)が、顔領域FAの高さ方向の位置調整を行う。図30は、顔領域FAの高さ方向の位置調整方法の一例を示す説明図である。顔領域FAの高さ方向の位置調整は、高さ基準点Rhが、位置調整後の顔領域FAにおける所定の位置に位置することとなるように、顔領域FAを再設定することにより行う。具体的には、図30に示すように、高さ基準点Rhが、顔領域FAの高さHfを所定の比率r1対r2で分けるような位置に位置することとなるように、顔領域FAが基準線RLに沿って上下に位置調整される。図30の例では、破線で示した調整前の顔領域FAを上方向に移動することにより、実線で示した調整後の顔領域FAが再設定されている。
【0121】
顔領域FAの位置調整の後、ステップS520(図23)では、顔領域調整部230(図1)が、顔領域FAの傾き調整(角度調整)を行う。ここで、顔領域FAの傾き調整とは、対象画像TIにおける顔領域FAの傾きを顔の画像の傾きに適合するように調整して、顔領域FAを再設定することを意味している。顔領域FAの傾き調整を実行する際に参照する所定の参照被写体は、例えば「両目」に設定される。顔領域FAの傾き調整では、傾き調整の調整角度の選択肢を表す複数の評価方向が設定され、各評価方向に対応した評価特定領域ESAが両目の画像を含む領域として設定される。そして、各評価方向について評価特定領域ESAの画像の画素値に基づき評価値が算出され、評価値に基づき決定される傾き調整の調整角度を用いて顔領域FAの傾きが調整される。
【0122】
図31は、顔領域FAの傾き調整処理の流れを示すフローチャートである。また、図32は、顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図である。ステップS521(図31)では、顔領域調整部230(図1)が、初期評価特定領域ESA(0)を設定する。初期評価特定領域ESA(0)は、顔領域FAの位置調整後の基準線RL(図30参照)と平行な方向(以下「初期評価方向」とも呼ぶ)に対応付けられた評価特定領域ESAである。位置調整後の顔領域FAに対応した特定領域SA(図30参照)は、そのまま初期評価特定領域ESA(0)として設定される。なお、顔領域FAの傾き調整における評価特定領域ESAは、顔領域FAの位置調整時の特定領域SAとは異なり、左右2つの領域に分割されることはない。図32の最上段には、設定された初期評価特定領域ESA(0)が示されている。
【0123】
ステップS522(図31)では、顔領域調整部230(図1)が、複数の評価方向と各評価方向に対応した評価特定領域ESAとを設定する。複数の評価方向は、傾き調整の調整角度の選択肢を表す方向として設定される。具体的には、基準線RLとのなす角が所定の範囲内である複数の評価方向線ELが設定され、評価方向線ELと平行な方向が評価方向として設定される。図32に示すように、基準線RLを初期評価特定領域ESA(0)の中心点(重心)CPを中心として反時計回りおよび時計回りに所定の角度α刻みで回転させることにより定まる直線が、複数の評価方向線ELとして設定される。なお、基準線RLとのなす角がφ度である評価方向線ELをEL(φ)と表す。
【0124】
上述した各評価方向線ELと基準線RLとのなす角についての所定の範囲は、±20度に設定される。ここで本明細書では、基準線RLを時計回りに回転させたときの回転角は正の値で表され、基準線RLを反時計回りに回転させたときの回転角は負の値で表される。顔領域調整部230は、基準線RLを反時計回りおよび時計回りにα度、2α度・・・と20度を超えない範囲で回転角を増加させつつ回転させ、複数の評価方向線ELを設定する。図32には、基準線RLを−α度,−2α度,α度回転させることによりそれぞれ定まる評価方向線EL(EL(−α),EL(−2α),EL(α))が示されている。なお、基準線RLは、評価方向線EL(0)とも表現できる。
【0125】
各評価方向を表す評価方向線ELに対応した評価特定領域ESAは、初期評価特定領域ESA(0)を、中心点CPを中心として、評価方向線ELの設定時の回転角と同じ角度で回転させた領域である。評価方向線EL(φ)に対応した評価特定領域ESAは、評価特定領域ESA(φ)と表される。図32には、評価方向線EL(−α),EL(−2α),EL(α)のそれぞれに対応した評価特定領域ESA(ESA(−α),ESA(−2α),ESA(α))が示されている。なお、初期評価特定領域ESA(0)も評価特定領域ESAの1つとして扱われるものとする。
【0126】
ステップS523(図31)では、顔領域調整部230(図1)が、設定された複数の評価方向のそれぞれについて、評価特定領域ESAの画像の画素値に基づき評価値を算出する。顔領域FAの傾き調整における評価値としては、上述した顔領域FAの位置調整における評価値と同様に、R値の平均値が用いられる。顔領域調整部230は、評価方向に沿った複数の評価位置についての評価値を算出する。
【0127】
評価値の算出方法は、上述した顔領域FAの位置調整における評価値の算出方法と同様である。すなわち、顔領域調整部230は、図32に示すように、各評価特定領域ESA内に、評価方向線ELに直交する対象画素特定線PL1〜PLnを設定し、各対象画素特定線PL1〜PLnについて評価対象画素TPを選択し、選択された評価対象画素TPのR値の平均値を評価値として算出する。
【0128】
評価特定領域ESAにおける対象画素特定線PLの設定方法や評価対象画素TPの選択方法は、領域を左右に分割するか否かの違いはあるものの、図26および図27に示した顔領域FAの位置調整における方法と同様である。なお、顔領域FAの位置調整時と同様に、選択された評価対象画素TPの内の一部(例えばk個の評価対象画素TPの内のR値の比較的大きい0.75k個の画素)を評価値の算出対象から除外するとしてもよい。図32の右側には、各評価方向について、算出された評価値の評価方向線ELに沿った分布を示している。
【0129】
なお、対象画素特定線PLは評価方向線ELに直交する直線であるため、評価値は、評価方向線ELに沿った複数の位置(評価位置)について算出されると表現することができる。また、評価値は、各評価位置について、評価方向線ELに直交する方向に沿った画素値の分布の特徴を表す値と表現することができる。
【0130】
ステップS524(図31)では、顔領域調整部230(図1)が、顔領域FAの傾き調整に用いる調整角度を決定する。顔領域調整部230は、各評価方向について、ステップS523において算出された評価値の評価方向線ELに沿った分散を算出し、分散の値が最大となる評価方向を選択する。そして、選択された評価方向に対応した評価方向線ELと基準線RLとのなす角を、傾き調整に用いる調整角度として決定する。
【0131】
図33は、各評価方向についての評価値の分散の算出結果の一例を示す説明図である。図33の例では、回転角が−α度である評価方向において、分散が最大値Vmaxをとる。従って、−α度、すなわち反時計回りにα度の回転角が、顔領域FAの傾き調整に用いる調整角度として決定される。
【0132】
評価値の分散の値が最大となるときの評価方向に対応した角度が傾き調整に用いる調整角度として決定される理由について説明する。図32の上から2段目に示すように、回転角が−α度であるときの評価特定領域ESA(−α)では、左右の目の中央部(黒目部分)の画像が、概ね対象画素特定線PLに平行な方向(すなわち評価方向線ELに直交する方向)に並ぶような配置となっている。また、このときには、左右の眉の画像も同様に、概ね評価方向線ELに直交する方向に並ぶような配置となる。従って、このときの評価方向線ELに対応した評価方向が、概ね顔の画像の傾きを表す方向であると考えられる。このときには、一般にR値が小さい目や眉の画像と一般にR値が大きい肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の小さい位置関係となる。そのため、目や眉の画像の位置における評価値は比較的小さくなり、肌の部分の画像の位置における評価値は比較的大きくなる。従って、評価方向線ELに沿った評価値の分布は、図32に示すように、比較的ばらつきの大きい(振幅の大きい)分布となり、分散の値は大きくなる。
【0133】
一方、図32中の最上段および3段目、4段目に示すように、回転角が0度,−2α度,α度であるときの評価特定領域ESA(0),ESA(−2α),ESA(α)では、左右の目の中央部や左右の眉の画像が、評価方向線ELに直交する方向に並ばず、ずれた配置となっている。従って、このときの評価方向線ELに対応した評価方向は、顔の画像の傾きを表していはいない。このときには、目や眉の画像と肌の部分の画像との位置関係が、対象画素特定線PLの方向に沿って両者が重なる部分の大きい位置関係となる。そのため、評価方向線ELに沿った評価値の分布は、図32に示すように、比較的ばらつきの小さい(振幅の小さい)分布となり、分散の値は小さくなる。
【0134】
以上のように、評価方向が顔の画像の傾きの方向に近い場合には、評価方向線ELに沿った評価値の分散の値が大きくなり、評価方向が顔の画像の傾きの方向から遠い場合には、評価方向線ELに沿った評価値の分散の値が小さくなる。従って、評価値の分散の値が最大となるときの評価方向に対応した角度を傾き調整に用いる調整角度として決定すれば、顔領域FAの傾きが顔の画像の傾きに適合するような顔領域FAの傾き調整を実現することができる。
【0135】
なお、評価値の分散の算出結果が、角度の範囲の臨界値、すなわち−20度または20度において最大値をとるような結果となった場合には、顔の傾きが正確に評価されていない可能性が高いと考えられるため、顔領域FAの傾き調整は行われない。
【0136】
また、決定された調整角度は、上述した顔領域FAの位置調整の際に算出された概略傾き角RIと比較される。調整角度と概略傾き角RIとの差が所定の閾値より大きい場合には、顔領域FAの位置調整および傾き調整における評価や決定の際に何らかの誤りが発生したと考えられるため、顔領域FAの位置調整および傾き調整は行われない。
【0137】
ステップS525(図31)では、顔領域調整部230(図1)が、顔領域FAの傾き調整を行う。図34は、顔領域FAの傾き調整方法の一例を示す説明図である。顔領域FAの傾き調整は、顔領域FAを、初期評価特定領域ESA(0)の中心点CPを中心に、ステップS524において決定された調整角度だけ回転させることにより行う。図34の例では、破線で示した調整前の顔領域FAを反時計回りにα度回転させることにより、実線で示した調整後の顔領域FAが設定される。
【0138】
顔領域FAの傾き調整終了後のステップS530(図23)では、変形領域設定部240(図1)が、変形領域TAを設定する。変形領域TAは、対象画像TI上の領域であって顔形状補正のための画像変形処理の対象となる領域である。図35は、変形領域TAの設定方法の一例を示す説明図である。図35に示すように、変形領域TAは、顔領域FAを基準線RLと平行な方向(高さ方向)および基準線RLに直交する方向(幅方向)に伸張(または短縮)した領域として設定される。具体的には、顔領域FAの高さ方向の大きさをHf、幅方向の大きさをWfとすると、顔領域FAを、上方向にk1・Hf、下方向にk2・Hfだけ伸ばすと共に、左右にそれぞれk3・Wfだけ伸ばした領域が、変形領域TAとして設定される。なお、k1,k2,k3は、所定の係数である。
【0139】
このように変形領域TAが設定されると、顔領域FAの高さ方向の輪郭線に平行な直線である基準線RLは、変形領域TAの高さ方向の輪郭線にも平行な直線となる。また、基準線RLは、変形領域TAの幅を半分に分割する直線となる。
【0140】
図35に示すように、変形領域TAは、高さ方向に関しては、概ね顎から額までの画像を含み、幅方向に関しては、左右の頬の画像を含むような領域として設定される。すなわち、上述の係数k1,k2,k3は、変形領域TAが概ねそのような範囲の画像を含む領域となるように、顔領域FAの大きさとの関係に基づいて予め設定されている。
【0141】
I.顔変形処理:
図36は、変形処理の流れを示すフローチャートである。図36のフローチャートに示す処理は、図4のステップS600において実行される。ステップS610では、変形領域分割部250(図1)が、変形領域TAを複数の小領域に分割する。図37は、変形領域TAの小領域への分割方法の一例を示す説明図である。変形領域分割部250は、変形領域TAに複数の分割点Dを配置し、分割点Dを結ぶ直線を用いて変形領域TAを複数の小領域に分割する。
【0142】
分割点Dの配置の態様(分割点Dの個数および位置)は、分割点配置パターンテーブル410(図1)により、ステップS120(図4)において設定される変形タイプと対応付けて定義されている。変形領域分割部250は、分割点配置パターンテーブル410を参照し、ステップS120において設定された変形タイプと対応付けられた態様で分割点Dを配置する。上述したように、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定されている場合には、この変形タイプに対応付けられた態様で分割点Dが配置される。
【0143】
図37に示すように、分割点Dは、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに配置される。ここで、水平分割線Lhおよび垂直分割線Lvは、変形領域TA内に分割点Dを配置するための基準となる線である。図37に示すように、顔をシャープにするための変形タイプに対応付けられた分割点Dの配置では、基準線RLと直交する2本の水平分割線Lhと、基準線RLに平行な4本の垂直分割線Lvとが設定される。2本の水平分割線Lhを、変形領域TAの下方から順に、Lh1,Lh2と呼ぶ。また、4本の垂直分割線Lvを、変形領域TAの左から順に、Lv1,Lv2,Lv3,Lv4と呼ぶ。
【0144】
水平分割線Lh1は、変形領域TAにおいて、顎の画像より下方に配置され、水平分割線Lh2は、目の画像のすぐ下付近に配置される。また、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。なお、水平分割線Lhおよび垂直分割線Lvの配置は、水平分割線Lhおよび垂直分割線Lvと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域TAの大きさとの対応関係に従い実行される。
【0145】
上述した水平分割線Lhと垂直分割線Lvとの配置に従い、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに、分割点Dが配置される。図37に示すように、水平分割線Lhi(i=1または2)上に位置する分割点Dを、左から順に、D0i,D1i,D2i,D3i,D4i,D5iと呼ぶものとする。例えば、水平分割線Lh1上に位置する分割点Dは、D01,D11,D21,D31,D41,D51と呼ばれる。同様に、垂直分割線Lvj(j=1,2,3,4のいずれか)上に位置する分割点Dを、下から順に、Dj0,Dj1,Dj2,Dj3と呼ぶものとする。例えば、垂直分割線Lv1上に位置する分割点Dは、D10,D11,D12,D13と呼ばれる。
【0146】
なお、図37に示すように、本実施例における分割点Dの配置は、基準線RLに対して対称の配置となっている。
【0147】
変形領域分割部250は、配置された分割点Dを結ぶ直線(すなわち水平分割線Lhおよび垂直分割線Lv)により、変形領域TAを複数の小領域に分割する。図37の例では、変形領域TAは15個の矩形の小領域に分割される。
【0148】
なお、分割点Dの配置は、水平分割線Lhおよび垂直分割線Lvの本数および位置により定まるため、分割点配置パターンテーブル410は水平分割線Lhおよび垂直分割線Lvの本数および位置を定義していると言い換えることも可能である。
【0149】
ステップS620(図36)では、分割領域変形部260(図1)が、ステップS610で変形領域TA内に配置された分割点Dの位置を移動して、小領域を変形する。
【0150】
変形処理のための各分割点Dの位置の移動態様(移動方向および移動距離)は、分割点移動テーブル420(図1)により、ステップS120(図4)において設定される変形タイプと変形の度合いとの組み合わせに対応付けて、予め定められている。分割領域変形部260は、分割点移動テーブル420を参照し、ステップS120において設定された変形タイプと変形の度合いとの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置を移動する。
【0151】
上述したように、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして程度「中」の度合いが設定されている場合には、これらの変形タイプおよび変形度合いの組み合わせに対応付けられた移動方向および移動距離で、分割点Dの位置が移動されることとなる。
【0152】
また、変形度合いとして「自動」が選択されている場合には、移動方向および移動距離が、変形量調整部290によって調整された変形量DQに基づいて決定される。
【0153】
図38は、分割点移動テーブル420の内容の一例を示す説明図である。また図39は、分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図である。図38には、分割点移動テーブル420により定義された分割点Dの位置の移動態様の内、顔をシャープにするための変形タイプと変形度合い「自動」との組み合わせに対応付けられた移動態様を示している。図38に示すように、分割点移動テーブル420には、各分割点Dについて、基準線RLと直交する方向(H方向)および基準線RLと平行な方向(V方向)に沿った移動量が示されている。なお、分割点移動テーブル420に示された移動量の単位は、対象画像TIの画素ピッチPPである。また、テーブル中の移動量DQpは、変形量調整部290(図1、図14)によって決定される。図4、図19のステップS590では、変形量調整部290は、調整した変形量DQを画素ピッチに換算することによって、移動量DQpを算出する。また、H方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、V方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。例えば、分割点D11は、H方向に沿って右側に画素ピッチPPのDQp倍の距離だけ移動され、V方向に沿って上方に画素ピッチPPの2*DQp倍の距離だけ移動される。また、例えば分割点D22は、H方向およびV方向共に移動量がゼロであるため、移動されない。なお、変形度合いとして「強(S)」、「中(M)」、「弱(W)」のいずれかが選択された場合には、移動量DQpとして、変形量調整部290によって調整された値の代わりに、各変形度合いに対応付けて予め決定された値が利用される。
【0154】
なお、変形領域TAの内外の画像間の境界が不自然とならないように、変形領域TAの外枠上に位置する分割点D(例えば図39に示す分割点D10等)の位置は移動されない。従って、図38に示した分割点移動テーブル420には、変形領域TAの外枠上に位置する分割点Dについての移動態様は定義されていない。
【0155】
図39では、移動前の分割点Dは白抜きの丸で、移動後の分割点Dや位置の移動の無い分割点Dは黒丸で示されている。また、移動後の分割点Dは分割点D'と呼ばれるものとする。例えば分割点D11の位置は、図39において右上方向に移動され、分割点D'11となる。
【0156】
なお、基準線RLに対して対称な位置関係にある2つの分割点Dの組み合わせ(例えば分割点D11とD41との組み合わせ)のすべてが、分割点Dの移動後も、基準線RLに対して対称な位置関係を維持するように、移動態様が定められている。
【0157】
分割領域変形部260は、変形領域TAを構成する各小領域について、分割点Dの位置移動前の状態における小領域の画像が、分割点Dの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。例えば、図39において、分割点D11,D21,D22,D12を頂点とする小領域(ハッチングを付して示す小領域)の画像は、分割点D'11,D'21,D22,D'12を頂点とする小領域の画像に変形される。
【0158】
図40は、分割領域変形部260による画像の変形処理方法の概念を示す説明図である。図40では、分割点Dを黒丸で示している。図40では、説明を簡略化するために、4つの小領域について、左側に分割点Dの位置移動前の状態を、右側に分割点Dの位置移動後の状態を、それぞれ示している。図40の例では、中央の分割点Daが分割点Da'の位置に移動され、その他の分割点Dの位置は移動されない。これにより、例えば、分割点Dの移動前の分割点Da,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形前注目小領域BSA」とも呼ぶ)の画像は、分割点Da',Db,Dc,Ddを頂点とする矩形の小領域(以下「変形後注目小領域ASA」とも呼ぶ)の画像に変形される。
【0159】
画像の変形処理は、矩形の小領域を小領域の重心CGを用いて4つの三角形領域に分割し、三角形領域単位で行われる。図40の例では、変形前注目小領域BSAが、変形前注目小領域BSAの重心CGを頂点の1つとする4つの三角形領域に分割される。同様に、変形後注目小領域ASAが、変形後注目小領域ASAの重心CG'を頂点の1つとする4つの三角形領域に分割される。そして、分割点Daの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域BSA中の分割点Da,Ddおよび重心CGを頂点とする三角形領域の画像が、変形後注目小領域ASA中の分割点Da',Ddおよび重心CG'を頂点とする三角形領域の画像に変形される。
【0160】
図41は、三角形領域における画像の変形処理方法の概念を示す説明図である。図41の例では、点s,t,uを頂点とする三角形領域stuの画像が、点s',t',u'を頂点とする三角形領域s't'u'の画像に変形される。画像の変形は、変形後の三角形領域s't'u'の画像中のある画素の位置が、変形前の三角形領域stuの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
【0161】
例えば、図41において、変形後の三角形領域s't'u'の画像中の注目画素p'の位置は、変形前の三角形領域stuの画像中の位置pに相当するものとする。位置pの算出は、以下のように行う。まず、注目画素p'の位置を、下記の式(1)のようにベクトルs't'とベクトルs'u'との和で表現するための係数m1およびm2を算出する。
【0162】
【数1】
【0163】
次に、算出された係数m1およびm2を用いて、下記の式(2)により、変形前の三角形領域stuにおけるベクトルstとベクトルsuとの和を算出することにより、位置pが求まる。
【0164】
【数2】
【0165】
変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置pの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置pにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
【0166】
変形後の三角形領域s't'u'の画像中の各画素について上述のように画素値を算出することにより、三角形領域stuの画像から三角形領域s't'u'の画像への画像変形処理を行うことができる。分割領域変形部260は、図39に示した変形領域TAを構成する各小領域について、上述したように三角形領域を定義して変形処理を行い、変形領域TAにおける画像変形処理を行う。
【0167】
ここで、変形タイプとして顔をシャープにするための変形「タイプA」(図5参照)が設定され、変形度合いとして「自動」が設定された場合を例に取り、顔形状補正の態様についてより詳細に説明する。図42は、この場合における顔形状補正の態様を示す説明図である。図42には、変形領域TAを構成する各小領域の変形態様のイメージを矢印により示している。
【0168】
図42の例に示す顔形状補正では、基準線RLと平行な方向(V方向)に関し、水平分割線Lh1上に配置された分割点D(D11,D21,D31,D41)の位置は上方に移動される一方、水平分割線Lh2上に配置された分割点D(D12,D22,D32,D42)の位置は移動されない(図38参照)。従って、水平分割線Lh1と水平分割線Lh2との間に位置する画像は、V方向に関して縮小される。上述したように、水平分割線Lh1は顎の画像より下方に配置され、水平分割線Lh2は目の画像のすぐ下付近に配置されるため、この顔形状補正では、顔の画像の内、顎から目の下にかけての部分の画像がV方向に縮小されることとなる。この結果、画像中の顎のラインは上方に移動する。
【0169】
他方、基準線RLと直交する方向(H方向)に関しては、垂直分割線Lv1上に配置された分割点D(D11,D12)の位置は右方向に移動され、垂直分割線Lv4上に配置された分割点D(D41,D42)の位置は左方向に移動される(図38参照)。さらに、垂直分割線Lv2上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D21)の位置は右方向に移動され、垂直分割線Lv3上に配置された2つの分割点Dの内、水平分割線Lh1上に配置された分割点D(D31)の位置は左方向に移動される(図38参照)。従って、垂直分割線Lv1より左側に位置する画像は、H方向に関して右側に拡大され、垂直分割線Lv4より右側に位置する画像は、左側に拡大される。また、垂直分割線Lv1と垂直分割線Lv2との間に位置する画像は、H方向に関して縮小または右側に移動され、垂直分割線Lv3と垂直分割線Lv4との間に位置する画像は、H方向に関して縮小または左側に移動される。さらに、垂直分割線Lv2と垂直分割線Lv3との間に位置する画像は、水平分割線Lh1の位置を中心にH方向に関して縮小される。
【0170】
上述したように、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。そのため、図42の例における顔形状補正では、顔の画像の内、両目尻より外側の部分の画像が全体的にH方向に縮小される。特に顎付近において縮小率が高くなる。この結果、画像中の顔の形状は、全体的に幅方向に細くなる。
【0171】
上述したH方向およびV方向の変形態様を総合すると、図42の例に示した顔形状補正により、対象画像TI中の顔の形状がシャープになる。なお、顔の形状がシャープになるとは、いわゆる「小顔」になると表現することもできる。
【0172】
なお、図42に示す分割点D22,D32,D33,D23を頂点とする小領域(ハッチングを付した領域)は、上述した水平分割線Lh2や垂直分割線Lv2およびLv3の配置方法によると、両目の画像を含む領域となる。図38に示すように、分割点D22およびD32はH方向にもV方向にも移動されないため、この両目の画像を含む小領域は変形されない。このように図42の例では、両目の画像を含む小領域については変形しないこととし、顔形状補正後の画像がより自然で好ましいものとなるようにしている。
【0173】
J.他の変形処理:
図43は、変形処理の他の実施例を示す概略図である。図8に示す変形処理とは異なり、図43の例では、対象画像TI上の一部の変形領域が変形される代わりに、対象画像TIの全体のアスペクト比が変更される。
【0174】
図43(A)は、変形前の対象画像TIを示し、図43(B)は変形後の画像TIdを示している。また、図中には、互いに直交する2つの方向Dr1、Dr2が示されている。第1方向Dr1は、矩形画像TI、TIdの短辺と平行な方向を示し、第2方向Dr2は、矩形画像TI、TIdの長辺と平行な方向を示している。図43の例では、顔の幅方向は、第2方向Dr2とほぼ一致している。
【0175】
図43の例では、第1方向Dr1に沿った変形は実行されずに、第2方向Dr2に沿った変形(圧縮)が実行される。この変形によって、画像の全体が、第2方向Dr2に沿って圧縮される。すなわち、対象画像TI上の被写体の幅も狭くなる。その結果、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0176】
この変形では、変形済画像TIdの第2方向Dr2の大きさ(幅IWd)が、変形前の大きさ(幅IW)と比べて、変形量DQの2倍だけ小さくなる。すなわち、変形済画像TIdの第2方向Dr2方向の画素数が、変形前の画素数と比べて、少なくなる。ここで、変形済画像TIdの画素値(各画素の階調値)の決定方法としては、種々の方法を採用可能である。例えば、対象画像TIの画素値を補間することによって、変形済画像TIdの画素値を決定してもよい。
【0177】
変形量DQとしては、上述の各実施例で説明した任意の変形量を採用可能である。例えば、被写体距離Sdに基づいて決定された変形量DQを採用してもよく、被写体距離レンジSdrに基づいて決定された変形量DQを採用してもよく、相対サイズEyrに基づいて決定された変形量DQを採用してもよい。また、複数の被写体が検出される場合には、最大の相対サイズEyrに基づいて決定された変形量DQを採用してもよい。
【0178】
なお、2つの方向Dr1、Dr2から圧縮すべき方向を、被写体の方向の検出結果に基づいて選択することが好ましい。例えば、顔領域検出部220(図1)は、図22、図43(A)に示すように、顔領域FAの高さ方向(上下方向)を示す基準線RLを検出可能である。そこで、2つの方向Dr1、Dr2の内の、この基準線RLとのなす角度が大きい方の方向を選択することが好ましい(図43の例では、第2方向Dr2)。こうすば、被写体の幅(水平方向の大きさ)を小さくすることができる。
【0179】
なお、対象画像TIの全体のアスペクト比を変更する変形処理を採用する場合には、顔形状補正部として、図1に示すような顔形状補正部200を採用可能である。ただし、変形処理部から、変形領域分割部250と分割領域変形部260とを省略することができる。その代わりに、変形処理部は、対象画像TIのアスペクト比を変更する機能を有していればよい。また、顔領域調整部230と変形領域設定部240とを省略可能である。顔領域検出部220は、被写体の方向を検出するために利用され得る。ただし、顔領域検出部220を省略してもよい。また、相対サイズEyrを利用する場合には、サイズ算出部292(図14)を追加すればよい。
【0180】
ここで、被写体の幅方向に沿って対象画像TIを圧縮する変形処理の代わりに、被写体の高さ方向に沿って対象画像TIを伸張する変形処理を採用してもよい。この場合も、被写体の高さに対する幅の比率が小さくなるので、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。
【0181】
K.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0182】
変形例1:
上記各実施例では、変形領域を矩形の領域として設定しているが、変形領域の形状は、他の形状(例えば、楕円や菱形)であってもよい。
【0183】
変形例2:
上記各実施例では、画像処理装置としてのプリンタ100による顔形状補正印刷処理(図3)を説明したが、顔形状補正印刷処理は例えば、顔形状補正と補正画像の表示(ステップS100,S200)がパーソナルコンピュータにより実行され、印刷処理(ステップS300)のみがプリンタにより実行されるものとしてもよい。また、プリンタ100はインクジェットプリンタに限らず、他の方式のプリンタ、例えばレーザプリンタや昇華型プリンタであるとしてもよい。
【0184】
また、変形済画像データは、印刷に限らず、任意の用途に利用可能である。例えば、表示装置(例えば、プロジェクタ)による表示を採用してもよい。
【0185】
変形例3:
上述の各実施例において、被写体としては、人(顔)に限らず任意の被写体を採用可能である。例えば、建築物や車両を採用してもよい。いずれの場合も、距離パラメータが示す距離が近いほど強く(大きく)なるように変形の度合いを調整すれば、距離に合わせて画像を適切に変形させることができる。また、対象画像から被写体を検出する方法としては、任意の方法を採用可能である。また、サイズ算出部292(図14)は、被写体の全体と一部分との少なくとも一方であって実際の大きさが個体に依存せずにほぼ同じ部分のサイズを解析することによって、対象画像上のサイズを算出すればよい。
【0186】
変形例4:
上述の各実施例において、変形処理としては種々の処理を採用可能である。例えば、変形領域内の画像を、被写体の高さ方向には変形させずに、被写体の水平方向にのみ変形させてもよい。
【0187】
いずれの場合も、変形処理としては、被写体の少なくとも一部分の対象画像TI上における少なくとも一方向(以下「短縮方向」と呼ぶ)の大きさが小さくなるような変形処理を採用することが好ましい。こうすれば、観察者から見た横方向に短縮方向が向くような角度で画像と実物とを観察した場合に、画像の観察によって得られる被写体の印象を、実物の観察によって得られる印象に近づけることができる。ここで、被写体の輪郭によって示される大きさを、短縮方向に小さくすることが好ましい。すなわち、輪郭で囲まれる領域の短縮方向の長さが小さくなることが好ましい。このように、変形処理によって、被写体の少なくとも輪郭が変形されることが好ましい。こうすれば、画像の観察によって得られる被写体の印象を、適切に、実物の観察によって得られる印象に近づけることができる。
【0188】
なお、短縮方向は、対象画像TI上の任意の方向に設定可能である。例えば、所定の方向(例えば、対象画像TIの長辺と平行な方向)を短縮方向として採用してもよい。ただし、短縮方向と被写体の幅方向とがなす角度が30度以下であることが好ましく、この角度が15度以下であることが特に好ましく、短縮方向が被写体の幅方向に向けられることが最も好ましい。こうすれば、多くの場合において、自然で好ましい変形を実行することができる。
【0189】
ここで、被写体の幅方向に近くなるように短縮方向を決定する方法としては、種々の方法を採用可能である。例えば、変形処理部は、被写体の幅方向と関連のある情報を利用することによって、短縮方向を決定してもよい。被写体の幅方向と関連のある情報としては、種々の情報を採用可能である。例えば、被写体の方向の検出結果を採用可能である。上述の実施例では、顔領域検出部220(図1、図14)は、対象画像TIを解析することによって被写体(この場合は顔)の方向を検出する。また、撮影装置の中には、撮影時の地面に対する鉛直方向(重力方向)を示す鉛直情報を、履歴情報として画像ファイルに格納するものがある。このような鉛直情報を利用可能な場合には、鉛直情報に基づいて対象画像TI上の重力方向を特定することができ、その重力方向と垂直な方向を被写体の幅方向として採用することができる。
【0190】
また、変形処理部は、ユーザの指示に従って短縮方向を決定してもよい。例えば、変形処理部は、被写体の幅方向を示す指示を受け入れ、受け入れた指示に従って短縮方向を決定してもよい。
【0191】
また、被写体の幅方向が、対象画像TI上の所定の方向と一致することが予め決まっている場合がある。例えば、一般的なユーザによって撮影された対象画像TIでは、被写体の幅方向は、対象画像TIの長辺と平行であることが多い。このような場合には、変形処理部は、対象画像TI上の所定の方向(この場合は、長辺と平行な方向)を、被写体の幅方向として採用してもよい。すなわち、対象画像TI上の所定の方向を短縮方向として採用してもよい。
【0192】
以上の説明は、被写体が人物の顔とは異なる場合についても、同様に適用可能である。また、被写体の変形される部分は、任意に設定可能である。
【0193】
変形例5:
上述の各実施例において、対象画像TI上における被写体のサイズとしては、図15に示す相対サイズEyrに限らず、種々のパラメータを採用可能である。例えば、被写体を表す画像領域の面積をサイズとして採用してもよい。被写体として顔を採用する場合には、所定の肌色範囲の色を示す画素の総数を、被写体のサイズとして利用することができる。サイズ算出に利用される画素は、1つの顔領域FA内から選択されることが好ましい。ここで、対象画像TIの画素密度に依存しないサイズを算出するためには、被写体を表す画素の総数を対象画像TIの全画素数で割った値を、サイズとして利用することが好ましい。
【0194】
変形例6:
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、図1の変形領域分割部250と分割領域変形部260との全体の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【0195】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【0196】
変形例7:
[変形処理を行うための手段]
変形処理を行うために、画像処理装置は、画像の変形を行う画像処理装置であって、対象画像上の少なくとも一部の領域を変形領域として設定する変形領域設定部と、前記変形領域内に複数の分割点を配置し、前記分割点同士を結ぶ直線を用いて前記変形領域を複数の小領域に分割する変形領域分割部と、少なくとも1つの前記分割点の位置を移動して前記小領域を変形することにより前記変形領域内の画像の変形を行う変形処理部と、を備えるものとしてもよい。
【0197】
この画像処理装置では、対象画像上に設定された変形領域内に複数の分割点が配置され、分割点同士を結ぶ直線を用いて変形領域が複数の小領域に分割される。また、分割点の位置が移動され、小領域が変形されることにより変形領域内の画像の変形処理が実行される。このように、この画像処理装置では、変形領域内に分割点を配置して、配置された分割点を移動するだけで画像変形を行うことができ、多様な変形態様に対応した画像変形の画像処理を、容易に、かつ効率的に実現することができる。
【0198】
上記画像処理装置において、さらに、複数の所定の変形タイプの内の1つを選択して前記変形領域内の画像の変形に適用する変形タイプとして設定する変形態様設定部を備え、前記変形領域分割部は、前記設定された変形タイプに対応付けられた所定の配置パターンに従い前記複数の分割点を配置するとしてもよい。
【0199】
このようにすれば、例えば顔をシャープする変形タイプや目を大きくする変形タイプ等、それぞれの変形タイプに適した分割点の配置、すなわち変形領域の分割が行われるため、各変形タイプに対応した画像変形のための画像処理のさらなる容易化を実現することができる。
【0200】
また、上記画像処理装置において、前記変形態様設定部は、複数の所定の変形度合いの内の1つを選択して前記変形領域内の画像の変形に適用する変形度合いとして設定し、前記変形処理部は、前記設定された変形タイプと変形度合いとの組み合わせに対応付けられた所定の移動方向および移動量に従い前記分割点の位置を移動するとしてもよい。
【0201】
このようにすれば、変形タイプと変形度合いとが設定されれば、それらの組み合わせに応じた画像変形が実行されるため、画像変形のための画像処理のさらなる容易化を実現することができる。
【0202】
また、上記画像処理装置において、前記変形態様設定部は、少なくとも1つの前記分割点について、前記分割点の移動方向および移動量に関するユーザ指定を取得する指定取得部を含み、前記変形処理部は、前記取得されたユーザ指定に従い前記分割点の位置を移動するとしてもよい。
【0203】
このようにすれば、よりユーザの希望に近い態様での画像変形のための画像処理を容易に実現することができる。
【0204】
また、上記画像処理装置において、前記変形領域設定部は、前記変形領域に顔の少なくとも一部の画像が含まれるように前記変形領域を設定するとしてもよい。
【0205】
このようにすれば、顔の画像を対象として、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0206】
また、上記画像処理装置において、前記変形領域分割部は、少なくとも1組の前記分割点が所定の基準線に対して互いに対称の位置に配置されるように、前記複数の分割点を配置し、前記変形処理部は、前記少なくとも1組の分割点を、前記所定の基準線に対して互いに対称である位置関係を維持したまま移動するとしてもよい。
【0207】
このようにすれば、所定の基準線に対して左右対称な画像変形が行われることとなり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0208】
また、上記画像処理装置において、前記変形処理部は、少なくとも1つの前記小領域について、変形を行わないとしてもよい。
【0209】
このようにすれば、顔の印象を大きく変更することなく所望の画像変形を行うことが可能となり、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0210】
また、上記画像処理装置において、前記変形処理部は、目の画像を含む前記小領域について、変形を行わないとしてもよい。
【0211】
このようにすれば、目の画像を含む小領域については変形を行わないものとすることにより、より自然で好ましい顔画像の画像変形のための画像処理を実現することができる。
【0212】
また、上記画像処理装置において、さらに、前記対象画像上の顔の画像を表す顔領域を検出する顔領域検出部を備え、前記変形領域設定部は、検出された前記顔領域に基づき前記変形領域を設定するとしてもよい。
【0213】
このようにすれば、対象画像から検出された顔領域に基づき設定された変形領域の画像変形について、多様な変形態様に対応した画像変形のための画像処理を、容易に、かつ効率的に実現することができる。
【0214】
また、上記画像処理装置において、さらに、前記変形領域内の画像の変形が行われた前記対象画像を印刷する印刷部を備えるとしてもよい。
【0215】
このようにすれば、多様な変形態様に対応した画像変形後の画像の印刷を、容易に、かつ効率的に実現することができる。
【図面の簡単な説明】
【0216】
【図1】本発明の一実施例としての画像処理装置が適用されるプリンタ100の構成を概略的に示す説明図。
【図2】画像の一覧表示を含むユーザインタフェースの一例を示す説明図である。
【図3】プリンタ100において顔形状補正印刷を行う際に実行される顔形状補正印刷ルーチンを示すフローチャート。
【図4】顔形状補正処理ルーチンを示すフローチャート。
【図5】画像変形のタイプおよび度合いを設定するためのユーザインタフェースの一例を示す説明図。
【図6】顔領域の検出結果の一例を示す説明図。
【図7】変形領域の設定結果を示す説明図。
【図8】変形処理が行われた結果を示す説明図。
【図9】被写体の印象の違いを示す説明図である。
【図10】第1幅W1に対する第2幅W2の比率Riと、距離dとの関係を示すグラフである。
【図11】変形量DQと被写体距離Sdとの関係、および、比率Rwと被写体距離Sdとの関係を示すグラフである。
【図12】顔形状補正後の対象画像TIが表示された表示部150の状態の一例を示す説明図。
【図13】第2実施例における変形量DQと比率Rwとを示すグラフである。
【図14】第3実施例におけるプリンタ100aの構成を概略的に示す説明図である。
【図15】サイズ算出部292(図14)によって算出されるサイズを示す概略図である。
【図16】第3実施例における変形量DQと比率Rwとを示すグラフである。
【図17】第4実施例における顔形状補正処理の概略を示す説明図である。
【図18】第5実施例における顔形状補正処理の概略を示す説明図である。
【図19】第6実施例における顔形状補正処理ルーチンを示すフローチャートである。
【図20】第6実施例における顔形状補正処理の概略を示す説明図である。
【図21】第7実施例における顔形状補正処理の概略を示す説明図である。
【図22】顔領域FAの検出結果の別の一例を示す説明図。
【図23】変形領域の設定処理の流れを示すフローチャート。
【図24】顔領域FAの高さ方向の位置調整処理の流れを示すフローチャート。
【図25】特定領域SAの一例を示す説明図。
【図26】評価値の算出方法の一例を示す説明図。
【図27】評価対象画素TPの選択方法の一例を示す説明図。
【図28】高さ基準点Rhの決定方法の一例を示す説明図。
【図29】概略傾き角RIの算出方法の一例を示す説明図。
【図30】顔領域FAの高さ方向の位置調整方法の一例を示す説明図。
【図31】顔領域FAの傾き調整処理の流れを示すフローチャート。
【図32】顔領域FAの傾き調整のための評価値の算出方法の一例を示す説明図。
【図33】各評価方向についての評価値の分散の算出結果の一例を示す説明図。
【図34】顔領域FAの傾き調整方法の一例を示す説明図。
【図35】変形領域TAの設定方法の一例を示す説明図。
【図36】変形処理の流れを示すフローチャート。
【図37】変形領域TAの小領域への分割方法の一例を示す説明図。
【図38】分割点移動テーブル420の内容の一例を示す説明図。
【図39】分割点移動テーブル420に従った分割点Dの位置の移動の一例を示す説明図。
【図40】分割領域変形部260による画像の変形処理方法の概念を示す説明図。
【図41】三角形領域における画像の変形処理方法の概念を示す説明図。
【図42】顔形状補正の態様の一例を示す説明図。
【図43】変形処理の他の実施例を示す概略図である。
【符号の説明】
【0217】
100…プリンタ
110…CPU
120…内部メモリ
140…操作部
150…表示部
160…プリンタエンジン
170…カードインタフェース
172…カードスロット
200…顔形状補正部
210…変形態様設定部
212…指定取得部
220…顔領域検出部
230…顔領域調整部
240…変形領域設定部
250…変形領域分割部
260…分割領域変形部
290…変形量調整部
292…サイズ算出部
310…表示処理部
320…印刷処理部
410…分割点配置パターンテーブル
420…分割点移動テーブル
【特許請求の範囲】
【請求項1】
画像処理装置であって、
変形の度合いを調整する変形量調整部と、
撮影によって生成された対象画像上の少なくとも一部の領域を前記調整された度合いで変形させる変形処理部と、
を備え、
前記変形量調整部は、撮影時における前記対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、前記距離パラメータが示す距離が近いほど強くなるように前記変形の度合いを調整する、
画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記変形処理部は、前記被写体の少なくとも一部分の前記対象画像上における少なくとも一方向の大きさが小さくなるように、前記変形を実行する、
画像処理装置。
【請求項3】
請求項1または請求項2に記載の画像処理装置であって、さらに、
前記対象画像上の所定の種類の被写体を検出する検出部と、
検出された前記被写体の前記対象画像上におけるサイズを、前記対象画像を解析することによって算出するサイズ算出部と、
を備え、
前記変形量調整部は、前記サイズを、大きいほど近い距離を示す前記距離パラメータとして利用する、
画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
前記検出部によって複数の被写体が検出された場合には、
前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、
前記変形量調整部は、前記各被写体のサイズの内の最大サイズに基づいて前記変形の度合いを調整する、
画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、さらに、
前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、
前記変形処理部は、前記変形領域内の画像の変形を実行する、
画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記複数の被写体の中から前記サイズが最大である最大被写体を選択し、前記最大被写体を含む一部の領域を前記変形領域として設定する、
画像処理装置。
【請求項7】
請求項5に記載の画像処理装置であって、
前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記サイズが、与えられた選択閾値より大きな被写体を選択し、前記選択された被写体毎に前記変形領域を設定する、
画像処理装置。
【請求項8】
請求項3に記載の画像処理装置であって、さらに、
前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、
前記変形処理部は、前記変形領域内の画像の変形を実行する、
画像処理装置。
【請求項9】
請求項8に記載の画像処理装置であって、
前記検出部によって複数の被写体が検出された場合には、
(A)前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、
(B)前記変形領域設定部は、前記各被写体毎に前記変形領域を設定し、
(C)前記変形量調整部は、前記各変形領域毎に前記変形の度合いを調整し、
(D)前記変形処理部は、前記各変形領域毎に調整された前記変形の度合いに従って、前記各変形領域内の画像の変形を、それぞれ実行する、
画像処理装置。
【請求項10】
請求項1または請求項2に記載の画像処理装置であって、さらに、
前記対象画像上の所定の種類の被写体を検出する検出部と、
前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部と、
を備え、
前記変形処理部は、前記変形領域内の画像の変形を実行する、
画像処理装置。
【請求項11】
請求項1ないし請求項10のいずれかに記載の画像処理装置であって、
前記被写体は人物の顔である、
画像処理装置。
【請求項12】
画像処理方法であって、
変形の度合いを調整する工程と、
撮影によって生成された対象画像上の少なくとも一部の領域を前記調整された度合いで変形させる工程と、
を備え、
前記度合いを調整する工程は、撮影時における前記対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、前記距離パラメータが示す距離が近いほど強くなるように前記変形の度合いを調整する工程を含む、
方法。
【請求項1】
画像処理装置であって、
変形の度合いを調整する変形量調整部と、
撮影によって生成された対象画像上の少なくとも一部の領域を前記調整された度合いで変形させる変形処理部と、
を備え、
前記変形量調整部は、撮影時における前記対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、前記距離パラメータが示す距離が近いほど強くなるように前記変形の度合いを調整する、
画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記変形処理部は、前記被写体の少なくとも一部分の前記対象画像上における少なくとも一方向の大きさが小さくなるように、前記変形を実行する、
画像処理装置。
【請求項3】
請求項1または請求項2に記載の画像処理装置であって、さらに、
前記対象画像上の所定の種類の被写体を検出する検出部と、
検出された前記被写体の前記対象画像上におけるサイズを、前記対象画像を解析することによって算出するサイズ算出部と、
を備え、
前記変形量調整部は、前記サイズを、大きいほど近い距離を示す前記距離パラメータとして利用する、
画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
前記検出部によって複数の被写体が検出された場合には、
前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、
前記変形量調整部は、前記各被写体のサイズの内の最大サイズに基づいて前記変形の度合いを調整する、
画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、さらに、
前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、
前記変形処理部は、前記変形領域内の画像の変形を実行する、
画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記複数の被写体の中から前記サイズが最大である最大被写体を選択し、前記最大被写体を含む一部の領域を前記変形領域として設定する、
画像処理装置。
【請求項7】
請求項5に記載の画像処理装置であって、
前記変形領域設定部は、前記検出部によって複数の被写体が検出された場合には、前記サイズが、与えられた選択閾値より大きな被写体を選択し、前記選択された被写体毎に前記変形領域を設定する、
画像処理装置。
【請求項8】
請求項3に記載の画像処理装置であって、さらに、
前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部を備え、
前記変形処理部は、前記変形領域内の画像の変形を実行する、
画像処理装置。
【請求項9】
請求項8に記載の画像処理装置であって、
前記検出部によって複数の被写体が検出された場合には、
(A)前記サイズ算出部は、前記各被写体毎に前記サイズを算出し、
(B)前記変形領域設定部は、前記各被写体毎に前記変形領域を設定し、
(C)前記変形量調整部は、前記各変形領域毎に前記変形の度合いを調整し、
(D)前記変形処理部は、前記各変形領域毎に調整された前記変形の度合いに従って、前記各変形領域内の画像の変形を、それぞれ実行する、
画像処理装置。
【請求項10】
請求項1または請求項2に記載の画像処理装置であって、さらに、
前記対象画像上の所定の種類の被写体を検出する検出部と、
前記対象画像上の、前記検出部によって検出された被写体を含む一部の領域を変形領域として設定する変形領域設定部と、
を備え、
前記変形処理部は、前記変形領域内の画像の変形を実行する、
画像処理装置。
【請求項11】
請求項1ないし請求項10のいずれかに記載の画像処理装置であって、
前記被写体は人物の顔である、
画像処理装置。
【請求項12】
画像処理方法であって、
変形の度合いを調整する工程と、
撮影によって生成された対象画像上の少なくとも一部の領域を前記調整された度合いで変形させる工程と、
を備え、
前記度合いを調整する工程は、撮影時における前記対象画像の被写体と撮影装置との間の距離と相関のある距離パラメータを利用することによって、前記距離パラメータが示す距離が近いほど強くなるように前記変形の度合いを調整する工程を含む、
方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【公開番号】特開2008−250398(P2008−250398A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−87602(P2007−87602)
【出願日】平成19年3月29日(2007.3.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願日】平成19年3月29日(2007.3.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]