次に、本発明の実施態様について、形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
・プリンタ100の構成:
図1は、本発明の第1実施例における画像処理装置としてのプリンタ100の構成を示すブロック図である。本実施例のプリンタ100は、メモリカードMC等から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラーインクジェットプリンタである。プリンタ100は、プリンタ100の各部を制御するCPU110と、例えばリードオンリメモリ(ROM)やランダムアクセスメモリ(RAM)によって構成された内部メモリ120と、ボタンやタッチパネルにより構成された操作部140と、液晶ディスプレイにより構成された表示部150と、プリンタエンジン160と、カードインターフェース(カードI/F)170と、を備えている。プリンタ100は、さらに、他の機器(例えばデジタルスチルカメラ)とのデータ通信を行うためのインターフェースを備えていてもよい。プリンタ100の各構成要素は、バスを介して互いに接続されている。
プリンタエンジン160は、印刷データに基づき印刷を行う印刷機構である。カードインターフェース170は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのインターフェースである。なお、本実施例において、メモリカードMCには、画像データとしてRGBデータが格納されている。
内部メモリ120には、機能部として、画像データ取得部210と、画質調整部220と、画像タイプ判定部230と、処理内容決定部240と、表示処理部250と、印刷処理部260とが格納されている。各機能部210〜260は、CPU110により内部メモリ120から読み出され、実行されることにより、所定の機能を実現するコンピュータプログラムである。画像データ取得部210、画質調整部220、画像タイプ判定部230、処理内容決定部240は、後述する画像処理を実行する。画質調整部220は、サブモジュールとして、変形処理部222と、画素値処理部224とを備える。処理内容決定部240は、サブモジュールとして、選択画面生成部242を備える。表示処理部250は、表示部150を制御して、表示部150上に処理メニューやメッセージを表示させるディスプレイドライバである。印刷処理部260は、画像データから印刷データを生成し、プリンタエンジン160を制御して、印刷データに基づく画像の印刷を実行するためのコンピュータプログラムである。
内部メモリ120には、さらに、画像タイプデータベース310と、処理内容データベース320を備えている。さらに、図3において破線で示すように、内部メモリ120は、選択学習データベース330を備えても良く、処理内容決定部240は、サブモジュールとして、選択学習部244を備えても良い。選択学習データベース330および選択学習部244を備える構成については、変形例として後述する。
図2は、画像タイプデータベース310の内容を概念的に示す図である。画像タイプデータベース310には、画像の特徴に応じて定まる画像タイプが記述されている。本実施例では、画像の撮影シーンに応じて定まる画像タイプが用いられる。例えば、「ポートレート」「風景」「夕景」「夜景」「花」といった画像タイプが記述されている(図2)。画像タイプデータベース310には、さらに、画像タイプに関連付けて、1または複数の絵作りタイプが優先順位を付けて記述されている。絵作りタイプは、画像に対して施す画質調整処理の名称であり、本実施例では、画質調整処理が画像にもたらす印象を表す言葉が名称として用いられている。具体的には、「やさしい」「きれい」「にぎやか」といった絵作りタイプが記述されている(図2)。図2において、「絵作りタイプm(mは自然数)」のmは、優先順位を表しており、mの値が小さいほど優先順位が高いことを表している。
図3は、処理内容データベース320の内容を概念的に示す図である。処理内容データベース320には、絵作りタイプごとに、絵作りタイプに対応する画質調整処理の具体的な処理内容が記述されている。一の絵作りタイプに対応する画質調整処理は、画素値処理と変形処理とを含んでいる。画素値処理は、画像を構成する画素の画素値を調整する処理である。画素値処理は、画像の特定の領域、本実施例では人物の顔を表す顔画像を構成する画素に対して行われる処理、例えば、肌コントラストを調整する処理や、顔の頬部分に着色する処理を含む。また、画素値処理は、画像を構成する全ての画素に対して行われる処理、例えば、コントラストや明るさを調整する処理を含む。さらに画素値処理は、画像を構成する一部の画素に対して行われる処理、例えば、エッジ領域およびその近傍の画素に対して行われるシャープネス処理を含む。変形処理は、対象画像に含まれる領域を変形する処理であり、本実施例では、上述した顔画像を変形する処理である。
例えば、図3に示すように、絵作りタイプ「元気」に対応する画質調整処理は、画素値処理として、コントラストを「硬調」にする処理、明るさを「普通」にする処理、彩度を「高く」する処理、カラーバランスを「普通」にする処理、シャープネスを強くする処理(シャープネス)を、含む。各処理は、また、絵作りタイプ「元気」に対応する画像処理は、顔画像に対する画素値処理として、肌コントラストを「強く」する処理、顔の頬部分に「横長の黄」の色味を付ける処理を、含む。さらに、絵作りタイプ「元気」に対応する画像処理は、顔画像の変形処理として、顔の輪郭を「縦に小さく」する処理、を「縦に大きく」する処理を含む。一の絵作りタイプに対応する画素値処理、および、変形処理は、いずれも同一または類似した印象を対象画像に付与する処理である。例えば、絵作りタイプ「元気」に対応する各画素値処理、および、各変形処理は、いずれも対象画像に「元気」な印象を与える変化をもたらす処理である。
・プリンタ100の動作:
プリンタ100は、メモリカードMCに格納された画像データに基づき、画像の印刷を行う。カードスロット172にメモリカードMCが挿入されると、表示処理部250により、メモリカードMCに格納された画像の一覧表示を含むユーザインターフェースが表示部150に表示される。画像には、顔画像Fを含む画像と、含まない画像がある。図4は、画像の一覧表示を含むユーザインターフェースの一例を示す説明図である。
本実施例のプリンタ100は、図4に示すユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に印刷ボタンが選択されると、選択された画像をそのまま印刷する通常印刷処理を実行する。他方、当該ユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に絵作りボタンが選択されると、プリンタ100は、選択された画像に対して、所定の画像処理を行い、画像処理後の画像を印刷・保存する処理(絵作り処理)を実行する。
図5は、第1実施例のプリンタ100による絵作り処理の流れを示すフローチャートである。絵作り処理が開始されると、上述のユーザインターフェースにおいて選択された画像を対象画像として画像処理を実行する(ステップS100)。
図6は、第1実施例における画像処理の流れを示すフローチャートである。画像処理が開始されると、画像データ取得部210は、対象画像の画像データをカードスロット172から読み出して取得する(ステップS110)。取得された画像データは、内部メモリ120の所定領域に格納される。
画像タイプ判定部230は、取得された画像データを解析して、対象画像の画像タイプを判定する(ステップS120)。本実施例では、画像タイプは、上述したとおり、「ポートレート」「風景」「夜景」などの撮影シーンに応じて定められる。このため、本実施例では、画像データの解析により対象画像の撮影シーンを特定する処理(シーン特定処理)により、画像タイプを判定することができる。シーン特定処理は、様々な公知または周知の方法を用いることができる。例えば、対象画像を特徴付ける色相(特徴的色相)と、特徴的色相を有する画素領域の周波数特性とを用いて撮影シーンを特定する処理を用いることができる。
具体的には、画像タイプ判定部230は、対象画像について、青、緑、肌色、赤の各色相に属する画素数をカウントし、全画素数に対する割合を算出する。画素値(例えば、HSB値やRGB値)が所定の範囲内の値を有していれば、所定の色相であると判断される。画像タイプ判定部230は、例えば、予め用意されているマップを用いて対象画像の特徴的色相を決定する。マップには、例えば、各色相を構成する画素数の割合と特徴的色相とが対応付けて記述されている。
画像タイプ判定部230は、さらに、特徴的色相を構成する画素領域を特定し、特定した画素領域に対して周波数解析を実行する。特徴的色相を構成する画素領域は、色相情報に含まれている各画素の色相と座標位置の情報に基づいて特定される。特定された画素領域に対する周波数解析は、2次元フーリエ変換式を用いて画像データの水平方向(横方向)および垂直方向(縦方向)について実行される。この結果、対象画像における特徴的色相を有する画素領域の周波数特性が算出される。
画像タイプ判定部230は、特徴的色相と、特徴的色相領域の周波数特性を用いて、対象画像の撮影シーンを特定する。例えば、撮影シーンは、以下のように特定される。撮影シーンが特定されれば、図2から解るように、撮影画像の画像タイプを判定することができる。
(1)特徴的色相が緑であり、周波数特性として高周波成分が多い場合には、山、平原といった緑を中心とした「風景」であると特定される。
(2)特徴的色相が青であり、周波数特性として低周波が多い場合には、空を中心とした「風景」であると特定される。
(3)特徴的色相が青であり、周波数特性として高周波が多い場合には、海を中心とした「風景」であると特定される。
(4)特徴的色相が肌色であり、周波数特性として低周波が多い場合には、人を中心とした「ポートレート」であると特定される。
(5)特徴的色相が肌色であり、周波数特性として高周波が多い場合には、浜辺もしくはそれに類する「風景」であると特定される。
(6)特徴的色相がグレーであり、周波数特性として低周波が多い場合には、「夜景」であると特定される。
(7)特徴的色相が赤であり、周波数特性として低周波が多い場合には、「夕景」であると特定される。
(8)特徴的色相として特定の色相が大半を占め、周波数特性として高周波成分があまり多くない場合には、マクロ撮影(接写)であると決定され、さらに、高彩度の領域が多い場合や、緑の色相領域が見られる場合には、マクロ撮影の中でも「花」の撮影シーンであると特定される。
撮影シーンを特定することにより画像タイプが判定されると、処理内容決定部240の選択画面生成部242は、絵作りタイプの候補を取得する(ステップS130)。具体的には、選択画面生成部242は、画像タイプデータベース310を検索して、ステップS120において特定された画像タイプに関連付けられた絵作りタイプを、優先順位と共に、候補として取得する。例えば、画像タイプが「ポートレート」である場合には、取得される絵作り候補は、優先順位の高い順に、「やさしい」「かわいい」「きれい」「にぎやか」「元気」である。
絵作りの候補が取得されると、複数の絵作りの候補の中から、対象画像に対して行う絵作りを選択させるための選択画面が生成・表示される(ステップS140)。図7は、選択画面の一例を示す図である。具体的には、選択画面生成部242は、図7に示すように、取得された絵作り候補の名称を、優先順位の高い順番に表示する選択画面の画像データを生成する。表示処理部250は、生成された画像データを用いて選択画面を表示部150に表示する。ユーザは、前候補ボタンまたは次候補ボタンを押下することによりカーソルCSを操作し、所望の絵作りを選択する。図7(a)における矢印AR1は、表示されている絵作り候補以外に、優先順位の低い他の絵作り候補があることを表し、図7(b)における矢印AR2は、表示されている絵作り候補以外に、優先順位の高い他の絵作り候補があることを表す。選択画面は、図7において、破線で示す一覧表示ボタンを備えても良い。一覧表示ボタンを有する場合については、変形例として後述する。
処理内容決定部240は、選択画面を介して、ユーザから1つの絵作りタイプを選択する入力を受け付けて、絵作りタイプを決定する(ステップS150)。これにより、対象画像に対して行われる画質調整処理の処理内容が決定する(図3)。
絵作りタイプが決定されると、画質調整部220は、対象画像に対する画質調整処理を実行する(ステップS160)。図8は、画質調整処理の流れを示すフローチャートである。画質調整処理が開始されると、画質調整部220は、対象画像における顔領域FAを検出する(ステップS161)。ここで、顔領域FAとは対象画像上の人物の顔に対応する領域を意味している。画質調整部220による顔領域FAの検出は、例えばテンプレートを利用したパターンマッチングによる方法(特開2004−318204参照)といった公知の顔検出方法を用いて実行される。
顔領域FAが検出されなかった場合には(ステップS162:NO)、画素値処理のみが行われる(ステップS165)。顔領域FAが検出された場合には(ステップS162:YES)、画素値処理(ステップS163)と、顔画像の変形処理(顔変形処理)(ステップS164)とが行われる。
画質調整部220の画素値処理部224は、ステップS150において決定された絵作りタイプに対応する画素値処理の処理内容を処理内容データベース320から取得する。画素値処理部224は、取得された処理内容に従って、画素値処理を実行する。例えば、決定された絵作りタイプが「元気」である場合は、画素値処理部224は、コントラストを「硬調」にする処理、明るさを「普通」にする処理、彩度を「高く」する処理、カラーバランスを「普通」にする処理、シャープネスを強くする処理(シャープネス処理)を実行する。例えば、明るさ「普通」に対応する明度の目標値Baimが予め定められている。明るさを「普通」にする処理は、対象画像を構成する全画素の平均明度Baveが目標値Baimになるように、以下に示すトーンカーブを用いて各画素の明度を調整することにより、実行される。
図9は、画素値処理の一例を説明する第一の図である。図9(a)は、明るさを調整する処理に用いられるトーンカーブの一例を示している。図9(a)において、横軸は明度の入力値に、縦軸は明度の出力値に、それぞれ対応している。明度は、例えば、HSB色空間のB(Brightness)の値が用いられる。明るさの調整では、対象画像の全画素に対して、かかるトーンカーブを用いた明度の変換が行われる。明るさの調整の程度は、本実施例では、基準明度Brefを入力した場合に出力される明度値の変化量により定められる。例えば、図9(a)に示すように、変化量を正の値b+に設定すれば、トーンカーブは上に凸の曲線となり、b+の絶対値が大きいほど画像は明るくなる。逆に変化量を負の値b−に設定すれば、トーンカーブは下に凸の曲線となり、b−の絶対値が大きいほど画像は暗くなる。
図9(b)は、コントラストを調整する処理に用いられるトーンカーブの一例を示している。図9(a)と同様に、図9(b)において、横軸は明度の入力値に、縦軸は明度の出力値に、それぞれ対応している。コントラストの調整では、明度の調整と同様に、対象画像の全画素に対して、かかるトーンカーブを用いた明度の変換が行われる。コントラストの調整の程度は、本実施例では、基準明度Brefを入力した場合に出力される明度値の変化量により定められる。例えば、図9(b)に示すように、変化量を正の値k+に設定すれば、トーンカーブはS字状の曲線となり、k+の絶対値が大きいほど画像のコントラストが強く(硬調に)なる。逆に変化量を負の値k−に設定すれば、トーンカーブは逆S字状の曲線となり、k−の絶対値が大きいほど画像のコントラストは弱く(軟調に)なる。
彩度の調整は、例えば、彩度値(例えば、HSB色空間のS(Saturation)の値)に対して、図9(a)と同様のトーンカーブを用いた変換を行うことにより実行される。
カラーバランスの調整は、例えば、画像を構成する全画素の画素値(例えば、RGB値)の平均値が所定の目標色を表す値になるように各色成分を調整する方法が用いられる。例えば、カラーバランスを「普通」に調整する場合には、目標色は、無彩色(白やグレー)に設定される。カラーバランスを「黄色」に調整する場合には、目標色は、無彩色に黄色の色味(成分)を加えた色に設定される。
シャープネス処理は、アンシャープマスクを利用する方法を用いることができる。この方法は、明度値の変化がなまった(アンシャープ)データを用意し、原データからアンシャープデータを差し引いた差分値に係数を掛けて、原データに足し合わせる方法である。これにより、明度値の変化を鋭敏化させることができる。アンシャープデータは、原データの各画素の明度値を、その周りの画素の明度値を用いて平均化すること(平滑化処理)によって得ることができる。平滑化処理は、例えば、対象画素に近い画素の輝度値ほどより大きい重みで平均を計算する方法を用いることができる。このような重み関数として、対象画素を中心とした2次元ガウス関数を用いることがきる。
ソフトフォーカス処理は、上述したアンシャープデータを原データに置き換えることにより行うことができる。シャープネス処理およびソフトフォーカス処理は、対象画像の全ての画素に対して行う必要はなく、例えば、エッジ領域およびその周辺の画素に対してのみ行って良い。
ビネット処理は、画像の4隅近傍の画素の明度を低下させる処理である。ビネット処理により画像にレトロ調の印象を与えることができる。
ノイズ処理は、例えば、画像を構成する各画素の明度値に所定のノイズを加える処理である。このようなノイズには、ガウス分布によるノイズ、均等分布によるノイズが用いられ得る。ノイズ処理により画像には粒状感(ざらつき感)が付与され、例えば、ビネット処理と共に用いることにより、画像に懐かしい印象を与えることができる。
顔領域FAが検出された場合には、画素値処理部224は、さらに、取得された処理内容に従って、顔画像に対する画素値処理を実行する。例えば、決定された絵作りタイプが「元気」である場合は、画素値処理部224は、肌コントラストを「強く」する処理、顔画像の頬の部分に「横長に黄」の着色を施す処理(頬着色処理)を実行する。
肌コントラストを調整する処理は、顔画像の肌に対応する画素のコントラストを調整する処理である。具体的には、画素値処理部224は、顔領域FAの内部やその近傍の画素のうち、所定の肌色の色相を有する画素に対して、図9(b)に示すトーンカーブを用いてコントラストの調整を行う。
図10は、頬着色処理を説明するための図である。「横長に」着色する頬着色処理は、図10(a)に示すように、両目のそれぞれの下側の横長の領域Ch1の画素の画素値に所定の色味(本実施例では、赤または黄)を加える処理である。「縦長に」着色する頬着色処理は、図10(b)に示すように、両目のそれぞれの下側の縦長の領域Ch2の画素の画素値に所定の色味を加える処理である。領域Ch1およびCh2は、例えば、検出された顔領域FAの内部において、さらに、目や口などの器官を検出して、これらの器官との位置関係から決定される。
顔領域FAが検出された場合には、画素値処理が終了すると、画質調整部220の変形処理部222は、顔変形処理を行う(ステップS164)。図11は、顔変形処理の流れを示すフローチャートである。変形処理部222は、顔変形処理を開始すると、顔画像の一部または全部を含む変形領域TAを設定する(ステップS1642)。
図12は、変形領域の設定について説明する図である。図12に示すように、本実施例では、顔領域FAは、対象画像上の顔画像の目と鼻と口の画像を含む矩形の領域が顔領域FAとして検出される。なお、図12に示した基準線RLは、顔領域FAの高さ方向(上下方向)を定義すると共に、顔領域FAの幅方向(左右方向)の中心を示す線である。すなわち、基準線RLは、矩形の顔領域FAの重心を通り、顔領域FAの高さ方向(上下方向)に沿った境界線に平行な直線である。変形領域TAは、対象画像上の領域であって顔形状補正のための画像変形処理の対象となる領域である。図12に示すように、本実施例では、変形領域TAは、顔領域FAを基準線RLと平行な方向(高さ方向)および基準線RLに直行する方向(幅方向)に伸張(または短縮)した領域として設定される。具体的には、顔領域FAの高さ方向の大きさをHf、幅方向の大きさをWfとすると、顔領域FAを、上方向にm1・Hf、下方向にm2・Hfだけ伸ばすと共に、左右にそれぞれm3・Wfだけ伸ばした領域が、変形領域TAとして設定される。なお、m1,m2,m3は、所定の係数である。
このように変形領域TAが設定されると、顔領域FAの高さ方向の輪郭線に平行な直線である基準線RLは、変形領域TAの高さ方向の輪郭線にも平行な直線となる。また、基準線RLは、変形領域TAの幅を半分に分割する直線となる。
図12に示すように、変形領域TAは、高さ方向に関しては、概ね顎から額までの画像を含み、幅方向に関しては、左右の頬の画像を含むような領域として設定される。すなわち、本実施例では、変形領域TAが概ねそのような範囲の画像を含む領域となるように、顔領域FAの大きさとの関係に基づき、上述の係数m1,m2,m3が予め設定されている。
変形領域TAが設定されると、変形処理部222は、変形領域TAを複数の小領域に分割する(ステップS1644)。図13は、変形領域TAの小領域への分割方法の一例を示す説明図である。変形処理部222は、変形領域TAに複数の分割点Dを配置し、分割点Dを結ぶ直線を用いて変形領域TAを複数の小領域に分割する。
分割点Dの配置(分割点Dの個数および位置)は、顔画像の変形の態様に応じて予め定められたパターンで行われる。例えば、顔画像の変形の態様と対応付けて配置パターンが記録されたパターンテーブル(図示省略)を予め容易しておき、変形処理部222は、かかるパターンテーブルを参照して変形の態様に応じて分割点Dを配置する。以下では、変形の態様が、顔画像における輪郭を「横に小さく」変形する場合を具体例として説明を進める。
図13に示すように、分割点Dは、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに配置される。ここで、水平分割線Lhおよび垂直分割線Lvは、変形領域TA内に分割点Dを配置するための基準となる線である。図13に示すように、輪郭「横に小さく」変形する場合には、基準線RLと直行する3本の水平分割線Lhと、基準線RLに平行な4本の垂直分割線Lvとが設定される。3本の水平分割線Lhを、変形領域TAの下方から順に、Lh1,Lh2,Lh3と呼ぶ。また、4本の垂直分割線Lvを、変形領域TAの左から順に、Lv1,Lv2,Lv3,Lv4と呼ぶ。
水平分割線Lh1は、変形領域TAにおいて、顎の画像より下方に配置され、水平分割線Lh2は、目の画像のすぐ下付近に配置される。水平分割線Lh3は、目の画像のすぐ上付近に配置されている。また、垂直分割線Lv1およびLv4は、頬のラインの画像の外側に配置され、垂直分割線Lv2およびLv3は、目尻の画像の外側に配置される。なお、水平分割線Lhおよび垂直分割線Lvの配置は、水平分割線Lhおよび垂直分割線Lvと画像との位置関係が結果的に上述の位置関係となるように予め設定された変形領域TAの大きさとの対応関係に従い実行される。
上述した水平分割線Lhと垂直分割線Lvとの配置に従い、水平分割線Lhと垂直分割線Lvとの交点と、水平分割線Lhおよび垂直分割線Lvと変形領域TAの外枠との交点とに、分割点Dが配置される。図13に示すように、水平分割線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と呼ばれる。
なお、図13に示すように、本実施例における分割点Dの配置は、基準線RLに対して対称の配置となっている。
変形処理部222は、配置された分割点Dを結ぶ直線(すなわち水平分割線Lhおよび垂直分割線Lv)により、変形領域TAを複数の小領域に分割する。本実施例では、図13に示すように、変形領域TAが20個の矩形の小領域に分割される。
変形処理部222は、対象画像の変形領域TAを対象とした画像の変形を行う(ステップS1646)。画像の変形は、変形領域TA内に配置された分割点Dの位置を移動して、小領域を変形することにより行われる。
変形のための各分割点Dの位置の移動態様(移動方向および移動距離)は、変形の態様に応じて、予め定められている。変形処理部222は、予め定められた移動方向および移動距離で、分割点Dの位置を移動する。
図14は、分割点Dの位置の移動の一例を示す説明図である。図15は、予め定められた移動方向および移動距離の一例を示す第1の説明図である。図15は、顔画像における輪郭を「横に小さく」変形する場合の移動方向および移動距離を示している。図15には、各分割点Dについて、基準線RLと直行する方向(H方向)および基準線RLと平行な方向(V方向)に沿った移動量が示されている。かかるデータを、例えば、テーブルの形式で予め内部メモリ120上に記憶しておけば、変形処理部222は、容易に様々な態様の変形を行うことができる。なお、図15に示す移動量の単位は、対象画像の画素ピッチPPである。また、H方向については、向かって右側への移動量が正の値として表され、向かって左側への移動量が負の値として表され、V方向については、上方への移動量が正の値として表され、下方への移動量が負の値として表される。例えば、分割点D11は、H方向に沿って右側に画素ピッチPPの7倍の距離だけ移動され、V方向に沿っては移動されない(画素ピッチPPの0倍)。また、例えば分割点D22は、H方向およびV方向共に移動量がゼロであるため、移動されない。
なお、本実施例では、変形領域TAの内外の画像間の境界が不自然とならないように、変形領域TAの外枠上に位置する分割点D(例えば図13に示す分割点D10等)の位置は移動されないものとしている。従って、図15には、変形領域TAの外枠上に位置する分割点Dについての移動態様は定義されていない。
図14では、移動前の分割点Dは白抜きの丸で、移動後の分割点Dや位置の移動の無い分割点Dは黒丸で示されている。また、移動後の分割点Dは分割点D’と呼ばれるものとする。例えば分割点D11の位置は、図14において右方向に移動され、分割点D’11となる。
なお、本実施例では、基準線RLに対して対称な位置関係にある2つの分割点Dの組み合わせ(例えば分割点D11とD41との組み合わせ)のすべてが、分割点Dの移動後も、基準線RLに対して対称な位置関係を維持するように、移動態様が定められている。
変形処理部222は、変形領域TAを構成する各小領域について、分割点Dの位置移動前の状態における小領域の画像が、分割点Dの位置移動により新たに定義された小領域の画像となるように、画像の変形処理を行う。例えば、図14において、分割点D11,D21,D22,D12を頂点とする小領域(ハッチングを付して示す小領域)の画像は、分割点D’11,D’21,D22,D’12を頂点とする小領域の画像に変形される。
図16は、画像の変形方法の概念を示す説明図である。図16では、分割点Dを黒丸で示している。図16では、説明を簡略化するために、4つの小領域について、左側に分割点Dの位置移動前の状態を、右側に分割点Dの位置移動後の状態を、それぞれ示している。図16の例では、中央の分割点Daが分割点Da’の位置に移動され、その他の分割点Dの位置は移動されない。これにより、例えば、分割点Dの移動前の分割点Da,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形前注目小領域BSA」とも呼ぶ)の画像は、分割点Da’,Db,Dc,Ddを頂点とする矩形の小領域(以下「変形後注目小領域ASA」とも呼ぶ)の画像に変形される。
本実施例では、矩形の小領域を小領域の重心CGを用いて4つの三角形領域に分割し、三角形領域単位で画像の変形処理を行っている。図の例では、変形前注目小領域BSAが、変形前注目小領域BSAの重心CGを頂点の1つとする4つの三角形領域に分割される。同様に、変形後注目小領域ASAが、変形後注目小領域ASAの重心CG’を頂点の1つとする4つの三角形領域に分割される。そして、分割点Daの移動前後のそれぞれの状態において対応する三角形領域毎に、画像の変形処理が行われる。例えば、変形前注目小領域BSA中の分割点Da,Ddおよび重心CGを頂点とする三角形領域の画像が、変形後注目小領域ASA中の分割点Da’,Ddおよび重心CG’を頂点とする三角形領域の画像に変形される。
図17は、三角形領域における画像の変形処理方法の概念を示す説明図である。図17の例では、点s,t,uを頂点とする三角形領域stuの画像が、点s’,t’,u’を頂点とする三角形領域s’t’u’の画像に変形される。画像の変形は、変形後の三角形領域s’t’u’の画像中のある画素の位置が、変形前の三角形領域stuの画像中のどの位置に相当するかを算出し、算出された位置における変形前の画像における画素値を変形後の画像の画素値とすることにより行う。
例えば、図17において、変形後の三角形領域s’t’u’の画像中の注目画素p’の位置は、変形前の三角形領域stuの画像中の位置pに相当するものとする。位置pの算出は、以下のように行う。まず、注目画素p’の位置を、下記の式(1)のようにベクトルs’t’とベクトルs’u’との和で表現するための係数m1およびm2を算出する。
次に、算出された係数m1およびm2を用いて、下記の式(2)により、変形前の三角形領域stuにおけるベクトルstとベクトルsuとの和を算出することにより、位置pが求まる。
変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置に一致した場合には、当該画素の画素値が変形後の画像の画素値とされる。一方、変形前の三角形領域stuにおける位置pが、変形前の画像の画素中心位置からはずれた位置となった場合には、位置pの周囲の画素の画素値を用いたバイキュービック等の補間演算により、位置pにおける画素値を算出し、算出された画素値が変形後の画像の画素値とされる。
変形後の三角形領域s’t’u’の画像中の各画素について上述のように画素値を算出することにより、三角形領域stuの画像から三角形領域s’t’u’の画像への画像変形処理を行うことができる。変形処理部222は、図13に示した変形領域TAを構成する各小領域について、上述したように三角形領域を定義して変形処理を行い、変形領域TA内の画像を変形する。
以上、顔画像における輪郭「横に小さく」変形する場合を具体例として、顔変形処理を説明したが、他の変形の態様については、図15に示す移動方向および移動距離を、変形の態様に応じて変更することにより、容易に実行することができる。図18は、予め定められた移動方向および移動距離の一例を示す第2の説明図である。図18には、顔画像における輪郭を「縦に小さく」変形する場合、顔画像における目を「縦に大きく」変形する場合、顔画像における目を「縦横に大きく」変形する場合、の移動方向および移動距離をそれぞれ示している。
画質調整処理が終了すると、画質調整部220は、画質調整後の対象画像を表示部150に表示するよう表示処理部250に指示する。図19は、画質調整後の対象画像が表示された表示部150の一例を示す説明図である。画質調整後の対象画像が表示された表示部150により、ユーザは、選択した絵作りタイプに応じた画質調整の結果を確認することができる。ユーザが画質調整結果に満足し、「保存」ボタンを選択した場合には(図5:ステップS200)、これに応じて、画質調整後の対象画像を表す画像データの保存処理が行われる(ステップS400)。例えば、画質調整後の対象画像(ビットマップデータ)を、JPEGなどの所定の形式に圧縮し、EXIFなどの所定のファイル形式に従って、画像ファイルとして保存する。かかる画像ファイルは、例えば、挿入されているメモリカードMCに保存されても良い。かかる場合、画質調整後の対象画像の画像ファイルは、画質調整前の対象画像の画像ファイルに上書きされても良いし、異なる画像ファイルとして保存されても良い。
ユーザが画質調整結果に満足し、「印刷」ボタンを選択した場合には(図5:ステップS200)、印刷処理部260は、画質調整後の対象画像の印刷処理(ステップS300)を実行する。図20は、印刷処理の流れを示すフローチャートである。印刷処理部260は、画質調整後の対象画像の画像データの解像度を、プリンタエンジン160による印刷処理に適した解像度に変換し(ステップS310)、解像度変換後の画像データを、プリンタエンジン160における印刷に用いられる複数のインク色で階調表現されたインク色画像データに変換する(ステップS320)。なお、本実施例では、プリンタエンジン160における印刷に用いられる複数のインク色は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色であるものとする。さらに、印刷処理部260は、インク色画像データにおける各インク色の階調値に基づいてハーフトーン処理を実行することによって、印刷画素毎のインクドットの形成状態を示すドットデータを生成し(ステップS330)、ドットデータを配列して印刷データを生成する(ステップS340)。印刷処理部260は、生成された印刷データをプリンタエンジン160に供給し、プリンタエンジン160に対象画像の印刷を行わせる(ステップS350)。これにより、画質調整後の対象画像の印刷が完了する。
ユーザが結果に満足せず「戻る」ボタンを選択した場合には、例えば表示部150に図7に示した絵作りタイプの選択画面が表示され、ユーザによる絵作りタイプの選択が再度実行される(図示省略)。
以上説明した第1実施例によれば、顔画像を変形する変形処理と、画素値を調整する画素値処理が1つの画質調整処理として関連付けられているため、ユーザは、画質調整処理を選択するだけで、容易に画素値処理と変形処理を組み合わせた画質調整を利用することができる。
さらに、本実施例では、顔画像を変形する変形処理と、画素値を調整する画素値処理との組み合わせから成る1つの画質調整処理は、「かわいい」「やさしい」「にぎやか」など、当該画質調整処理が対象画像にもたらす印象を表す名称の絵作りタイプと関連付けられている。この結果、ユーザは、変形処理と画素値処理の好ましい組み合わせを感覚的に用いることができる。例えば、顔画像に「かわいい」印象を付与するには、肌コントラストを弱めにする画素値処理と、顔の輪郭を縦に細くする顔変形処理を組み合わせると効果的である。しかし、画像処理やカメラの知識が十分でないユーザには、このような組み合わせを適切に用いて、所望の印象を有するように対象画像に画質調整処理を施すことは容易ではない。本実施例によれば、同一または類似の印象を対象画像にもたらす複数の処理のセットを一の画質調整処理として提供するので、ユーザは、容易に、かかる画質調整処理を利用して、所望の印象を有する画像を得ることができる。
さらに、本実施例では、対象画像の画像タイプを自動的に判定して、画像タイプに適した画質調整処理を、実施可能な多数の画質調整処理の中からいくつか指定し、指定された画質調整処理(に対応する絵作りタイプ)を優先順位に従って表示する選択画面を、ユーザインターフェースとして提供する(図7)。これにより、ユーザが対象画像に適した画質調整処理を選択する負担を軽減することができる。画像処理装置では、多種多様な画質調整処理を実行可能であることが望まれる一方で、利用可能な画質調整処理が増加すると、ユーザの操作負担が増大するという不都合があるが、本実施例では、このような不都合を軽減することができる。
B.第1実施例の変形例:
・第1実施例の第1変形例:
上記第1実施例では、画像タイプデータベース310を参照して、選択画面を生成しているが、これに代えて、あるいは、これと共に、選択画面を介して行われた選択を学習し、学習結果を用いて、選択画面を生成しても良い。
本変形例に係るプリンタは、第1実施例に係るプリンタ100の構成に加えて、図1において破線で示すように、選択学習部244と、選択学習データベース330とを備える。本変形例に係るプリンタの他の構成は、第1実施例に係るプリンタ100の構成と同一であるので、同一の構成要素については、第1実施例に係るプリンタ100と同一の符号(図1)を用いることとし、その説明を省略する。
図21は、選択学習データベースの内容の一例を示す図である。選択学習データベース330には、ユーザによる絵作りタイプの選択結果が、選択回数の形で、対象画像の画像タイプと対応付けて記録されている。例えば、図21に示す例では、画像タイプが「風景」である対象画像に対して、絵作りタイプ「やさしい」が5回、「元気」が1回選択されたことが記録されている。
図22は、本変形例における絵作り処理の流れを示すフローチャートである。本変形例における絵作り処理のステップS100〜S400までは、図5に示す第1実施例における絵作り処理のステップS100〜S400までと同一であるので、説明を省略する。
本変形例における絵作り処理では、対象画像の印刷処理(ステップS300)、または、保存(ステップS400)終了すると、処理内容決定部240の選択学習部244は、絵作り選択結果を学習する(ステップS500)。具体的には、選択学習部244は、ユーザにより選択され、最終的に保存または印刷された対象画像に適用された絵作りタイプを、対象画像の画像タイプと共に、選択学習データベース330に記録する。
処理内容決定部240は、絵作り選択結果を学習すると、選択学習データベース330の変更に伴い、必要に応じて画像タイプデータベース310を更新する(ステップS600)。例えば、選択学習データベース330において、ある画像タイプについて5回以上選択された絵作りタイプがある場合には、処理内容決定部240は、画像タイプデータベース310において、その絵作りタイプを、その画像タイプに関連付けられる最も優先順位の高い絵作りタイプとして記録する。処理内容決定部240は、5回以上選択された絵作りタイプが複数ある場合には、選択回数が多い順に優先順位を定めて、画像タイプデータベース310に記録する。画像タイプデータベース310にデフォルトで記録されている絵作りタイプは、5回以上選択された絵作りタイプに続いて、優先順位を下げて記録される。
選択学習データベース330の変更に伴って、画像タイプデータベース310を更新することにより、次回の絵作り処理では、更新後の画像タイプデータベース310を参照して選択画面が生成される。この結果、選択画面生成部242は、ユーザの選択結果を考慮に入れた選択画面を生成することができる。従って、本変形例によれば、さらに、画質調整処理の選択のためのユーザの操作負担を軽減することができる。
上述の選択学習データベース330の態様は一例であり、ユーザの選択結果を学習する態様、あるいは、選択学習データベース330に記録された学習結果を、選択画面の生成に反映させるアルゴリズムは、様々な変形が可能である。例えば、選択学習データベース330には、顔画像に表される人物ごとに、ユーザに選択された絵作りタイプが記録されても良い。具体的には、選択学習データベース330には、人物の特徴(例えば、顔画像の目、口、輪郭などの構成要素の位置、大きさ、方向を表すベクトルで表される)と人物の識別子とが関連付けて記録される。選択学習データベース330には、さらに、人物の識別子と対応付けて、人物の識別子によって特定される顔画像を含む対象画像に対して選択された絵作りタイプが選択回数の形で記録される。選択学習部244は、対象画像に顔領域FAが検出されている場合、顔領域FAに対応する顔画像の目、口、輪郭などの構成要素をさらに検出し、人物の特徴を算出する。選択学習部244は、算出された人物の特徴と、選択学習データベース330に識別子が記録された人物の特徴とを比較する。同一人物が既に選択学習データベース330に記録されていれば、その人物の識別子と対応付けて絵作りタイプの選択結果を記録する。同一人物が選択学習データベース330に記録されていない場合は、新たにその人物の特徴を識別子と共に記録すると共に、その識別子と対応付けてユーザが選択した絵作りタイプを記録する。選択画面生成部242は、対象画像に含まれる顔画像の人物の特徴を算出して顔画像の人物を特定し、選択学習データベース330を参照することにより、絵作りタイプの選択の傾向を、対象画像に含まれる顔画像に表された人物ごとに考慮して、選択画面を生成することができる。
・第1実施例の第2変形例:
上記実施例における選択画面に、図7において破線で示すように、一覧表示ボタンを設けても良い。一覧表示ボタンは、画像タイプの判定結果に関わらず、可能な絵作りタイプの候補を、表示するため指示を受け付けるためユーザインターフェースである。かかる一覧表示ボタンをユーザが選択すると、図23に示す選択画面が表示部150に表示される。
図23は、選択画面の他の例を示す第1の図である。図23に示す選択画面では、ユーザが選択可能な絵作りタイプの候補が、画像タイプと対応付けて一覧表示される。図23の例では、画像タイプ「ポートレート」「風景」と対応付けられた絵作りタイプの候補が表示されている。かかる選択画面で、ユーザが次候補ボタンを選択すると、続いて、画像タイプ「夕景」「夜景」と対応付けられた絵作りタイプの候補が表示されるというように、この選択画面を操作することにより、ユーザは、画像タイプデータベース310に記録されている全ての絵作りタイプを選択することができる。このような選択画面をユーザの指示に応じて表示可能にすることにより、例えば、画像タイプに応じて絞り込んだ絵作りタイプ候補(図7)の中に、ユーザが望む絵作りタイプが含まれなかった場合に、対応することができる。
・第1実施例の第3変形例:
図6のフローチャートで示される第1実施例に係る画像処理に代えて、図24のフローチャートで示される画像処理を行うこととしても良い。
図24は、第1実施例の第3変形例の画像処理の流れを示すフローチャートである。図24において、末尾が「0」であるステップS110、S120、S130、S160の処理は、図6に示す同名・同一符号のステップの処理と同一であるので、そのステップの説明を省略する。
本変形例における画像処理では、絵作りタイプの候補が取得される(ステップS130)と、処理内容決定部240は、取得された絵作りタイプの候補の中から、優先順位が高い順に採用する絵作りタイプを決定する(ステップS155)。例えば、画像タイプが「ポートレート」である場合には、取得される絵作り候補は、優先順位の高い順に、「やさしい」「かわいい」「きれい」「にぎやか」「元気」である(図2)ので、先ず、「やさしい」が採用される絵作りタイプとして決定される。
絵作りタイプが決定されると、第1実施例における画質調整処理(図6:ステップS160)と同様に、画質調整部220は、対象画像に対して、決定された絵作りタイプに対応する画質調整処理を実行する(ステップS160)。
画質調整処理が終了すると、画質調整後の対象画像と共に、絵作りタイプをユーザが選択するための選択画面が表示される(ステップS175)。具体的には、選択画面生成部242が、画質調整後の対象画像を含む選択画面を生成し、表示処理部250が生成された選択画面を表示する。
図25は、選択画面の他の例を示す第2の図である。図25に示す選択画面において、ユーザが決定ボタンを選択すると、本変形例における画像処理は終了され、保存または印刷処理に移る(図5)。一方、図25に示す選択画面において、ユーザが次候補ボタンを選択すると、ステップS155に戻って、前回のステップS155において決定された絵作りタイプの次に優先順位の高い絵作りタイプの候補を、採用する絵作りタイプとして新たに決定する。以下、ユーザが選択画面において、決定ボタンを選択するまで、ステップS155〜S185の処理を繰り返す。
以上説明した本変形例によれば、絵作りタイプの候補に対応する画質調整処理が施された対象画像が、画像タイプに応じて定められた優先順位に従って選択画面に表示される。このため、ユーザが所望する画質調整処理が施された対象画像が、早い段階で選択画面に表示される可能性が高く、ユーザは効率良く、所望の画質調整処理を選択することができる。また、ユーザは候補である画質調整処理が施された対象画像を順次に見ながら、最終的に対象画像に施す画質調整処理を選択することができる。
なお、図25に示す選択画面では、1つずつ画質調整後の対象画像が表示されるが、例えば、表示部150の大きさに応じて、任意の数ずつ異なる画質調整処理を行った対象画像を表示することとしても良い。
・第1実施例の第4変形例:
上記実施例では、対象画像を表す画像データを解析して、対象画像の画像タイプを判定しているが、これに代えて、様々な手法で判定することができる。例えば、対象画像の画像データの付属情報を用いても良い。図26は、画像データと共に、画像データと関連付けられた付属情報を含む画像ファイルの一例を概念的に示す説明図である。画像ファイル500は、画像データを格納する画像データ格納領域501と、付属情報を格納する付属情報格納領域502を備えている。付属情報は、例えば、TIFF(Tagged Image File Format)形式に従って、タグを用いて、付属情報としての各種パラメータを特定できるように格納されている。図26において拡大して示す付属情報は、EXIF(Exchangeable Image File Format)規格で定められた情報(EXIF情報)である。EXIF情報は、例えば、デジタルカメラなどの画像データ生成装置において、画像データが生成された時(撮影時)の画像に関する情報である。かかるEXIF情報は、図26に示すように、撮影シーンの種別を表す撮影シーンタイプ情報を含む場合がある。撮影シーンタイプ情報には、「人物」「風景」「夜景」などが記述される。
対象画像の画像データに、撮影シーンタイプ情報が付属情報として関連付けられている場合には、画像タイプ判定部230は、かかる撮影シーン情報を取得して、対象画像の撮影シーンを認識することにより、画像タイプを判定しても良い。
画像タイプの判定に用いられる付属情報は、EXIF情報に限られない。例えば、付属情報格納領域502には、プリンタなどの画像出力装置の制御情報、具体的には、シャープネスやコントラストなどの画質調整処理の補正レベルを指定するプリンタ制御情報が格納されている場合がある。このような画像出力装置の制御情報は、例えば、付属情報格納領域502の内部に設定されたMakerNoteデータ格納領域に格納されている。MakerNoteデータ格納領域は、画像データ生成装置あるいは画像出力装置などのメーカーに開放されている未定義領域である。このような画像出力装置の制御情報を、単独で、あるいは、画像データの解析やEXIF情報と組み合わせて、画像タイプの判定に用いても良い。
C.第2実施例:
・構成:
図27は、本発明の第2実施例における画像処理装置としてのプリンタ100aの構成を示すブロック図である。第2実施例のプリンタ100aのハードウエア構成は、第1実施例のプリンタ100(図1)と同様であるので、同一の構成要素については、図27において図1と同一の符号を付し、その説明を省略する。
第2実施例のプリンタ100aは、内部メモリ120に備えられた機能部(コンピュータプログラム)の構成が、第1実施例のプリンタ100と異なっている。プリンタ100aの内部メモリ120には、画像データ取得部210と、画質調整部220と、画像タイプ判定部230と、処理内容決定部240aと、表示処理部250と、印刷処理部260とが格納されている。これらのうち、第1実施例のプリンタ100の内部メモリ120に格納された機能部と同一符号で表される画像データ取得部210と、画質調整部220と、画像タイプ判定部230と、表示処理部250と、印刷処理部260は、第1実施例における同一符号の機能部と同様であるので、その説明を省略する。
第2実施例における処理内容決定部240aは、第1実施例における選択画面生成部242に代えて、画質調整UI生成部248を備えている。画質調整UI生成部248は、後述するように、コントラストおよび明るさを動的に調整する画質調整処理を、ユーザが操作するためのユーザインターフェース(画質調整UI)を提供する。
・動作
第2実施例のプリンタ100aは、第1実施例のプリンタ100と同様に、カードスロット172にメモリカードMCが挿入されると、表示処理部250により、メモリカードMCに格納された画像の一覧表示を含むユーザインターフェース(図7)が表示部150に表示される。当該ユーザインターフェースにおいて、ユーザにより、1つ(または複数)の画像が選択されると共に絵作りボタンが選択されると、第2実施例のプリンタ100aは、選択された画像に対して、所定の画像処理を行い、画像処理後の画像を印刷・保存する処理(絵作り処理)を実行する。
図28は、第2実施例のプリンタ100aによる絵作り処理の流れを示すフローチャートである。絵作り処理が開始されると、画質調整UIが表示される(ステップS1000)。具体的には、処理内容決定部240aの画質調整UI生成部248が画質調整UIを生成し、表示処理部250が生成された画質調整UIを表示部150に表示する。
図29は、第2実施例における画質調整UIの一例を示す説明図である。図29に示すように、図29に示す画質調整UIは、対象画像と共に、コントラストの調整レベルの指示をユーザから受け付けるためのインタフェースである第1のレベルバーLB1と、明るさの調整レベルの指示をユーザから受け付けるためのインタフェースである第2のレベルバーLB2を含んでいる。画質調整UIは、さらに、対象画像の印象を維持する指示をユーザから受け付けるためのインタフェースである第1のチェックボックスCB1とを含んでいる。
次に、処理内容決定部240aは、画質調整UIを介して、ユーザからの指示を受け付けたか否かを判断する(ステップS1010)。ユーザが画質調整UI上で決定ボタンを選択すると、処理内容決定部240aは、現在、画質調整UIに表示されている状態の対象画像の画像データを印刷・保存する処理を行い(ステップS1050)、絵作り処理を終了する。
一方、ユーザが画質調整UIを介して、ユーザから、明るさ、または、コントラストの調整レベルを変更する指示を受け付けると、処理内容決定部240aは、受け付けた調整レベルに応じて、明るさ、または、コントラストを調整する画素値処理を、画質調整部220の画素値処理部224に実行させる(ステップS1020)。具体的には、処理内容決定部240aは、明るさの調整レベルの変更を受け付けた場合には、調整レベルの変更に応じて、図9(a)に示す変化量を示す値b+またはb−を決定する。また、処理内容決定部240aは、コントラストの調整レベルの変更を受け付けた場合には、調整レベルの変更に応じて、図9(b)に示す変化量を示す値k+またはk−を決定する。画素値処理部224は、決定された値b+またはb−、あるいは、値k+またはk−を用いて、トーンカーブの形状を決定し、対象画像の原画像データ(画質調整を行っていない画像データ)の全画素値に対して、明度、または、コントラストを調整する画素値処理を実行する。
画素値処理が行われると、処理内容決定部240aは、画質調整UI上の第1のチェックボックスCB1にチェックがなされているかを検出することにより、印象維持の指示がなされているか否かを判断する(ステップS1030)。処理内容決定部240aは、第1のチェックボックスCB1にチェックがない場合、すなわち、印象維持が指示されていない場合には(ステップS1030:NO)、ステップS1000に処理をリターンする。
一方、第1のチェックボックスCB1にチェックがない場合、すなわち、印象維持が指示されていない場合には(ステップS1030:YES)、顔画像が見る者に与える印象を維持するように顔画像を変形する顔変形処理が実行される(ステップS1040)。
図30は、明るさおよびコントラストと、顔画像の印象との関係を説明するための図である。図31は、印象維持のための顔変形処理について説明する第1の図である。図32は、印象維持のための顔変形処理について説明する第2の図である。
顔画像において、変形を行わずに明るさを変化させると、図30において矢印で概念的に示すように、暗いほど顔画像は細く見え、明るいほど顔画像は太く見えることが、経験的に解っている。また、変形を行わずにコントラストを変化させると、図30において矢印で概念的に示すように、コントラストが硬調である(強い)ほど顔画像は細く見え、軟調である(弱い)ほど顔画像は太く見えることが、経験的に解っている。
図31に示す第1のマップにおいて、線CL1は、コントラストに関する顔印象維持線である。顔の横幅の変形量とコントラストの調整レベルとの第1の組み合わせと、第2の組み合わせとが、同一の顔印象維持線CL1上にある場合、第1の組み合わせの画質調整処理が施された顔画像と、第2の組み合わせの画質調整処理が施された顔画像とは、顔の太さに関する印象が(現実の画像上の太さとは異なる)が同じように見える。顔の横幅の変形量が正の値である場合、顔画像は太く変形され、負の値である場合、顔画像は細く変形される。図32に示す第2のマップにおいて、線CL2は、明るさに関する顔印象維持線である。顔の横幅の変形量と明るさの調整レベルとの第1の組み合わせと、第2の組み合わせとが、同一の顔印象維持線CL2上にある場合、第1の組み合わせの画質調整処理が施された顔画像と、第2の組み合わせの画質調整処理が施された顔画像とは、顔の太さに関する印象が(現実の画像上の太さとは異なる)が同じように見える。
第2実施例における顔変形処理では、ステップS1020の画素値処理による明るさ、または、コントラストの変更がもたらす顔画像の印象の変化(図30)と相反する変化を顔画像にもたらすように顔を変形する。具体的には、処理内容決定部240aは、図31に示す第1のマップおよび図32に示す第2のマップを記憶している。ステップS1020の画素値処理において、対象画像のコントラストを調整レベルk1から調整レベルk2に変化させた場合を具体例として説明する(図31)。処理内容決定部240aは、コントラストの調整レベルk1と、現在の顔の変形量(図31の例では0)とで定まる第1のマップ(図31)上の点P1と、コントラストの調整レベルk2と、顔変形処理後の顔の変形量n1とで定まる第1のマップ上の点P2とが、同一の顔印象維持線CL1上に位置するように、顔変形処理後の顔の変形量n1を算出する。
変形量n1が決定されると、画質調整部220の変形処理部222は、変形量n1を用いて、ステップS1020において画素値処理がなされた顔画像を変形する。顔画像の変形の具体的な手法は、第1実施例において図11〜図18を参照して説明したとおりである。図15に示す分割点の移動方向および移動距離を、決定された変形量n1に応じて、変更すれば顔画像の巾を所定のレベルに変形することができることが解る。
次に、ステップS1020の画素値処理において、対象画像の明るさを調整レベルb1から調整レベルb2に変化させた場合についてを具体例として説明する(図32)。処理内容決定部240aは、明るさの調整レベルb1と、現在の顔の変形量(図32の例ではn3)とで定まる第2のマップ(図32)上の点P3と、明るさの調整レベルb2と、顔変形処理後の顔の変形量n2とで定まる第2のマップ上の点P4とが、同一の顔印象維持線CL2上に位置するように、顔変形処理後の顔の変形量n4を算出する。変形量n4が決定されると、変形処理部222は、決定された変形量n4を用いて、ステップS1020において画素値処理がなされた顔画像を変形する。
以上の説明から解るように本実施例における顔変形処理(顔の巾)と画素値処理(明るさ、コントラスト)は、それぞれが対象画像にもたらす変化のうち、顔画像の太さの印象(見え方)の変化を互いに打ち消し合うように作用する。例えば、画像を明るくする画素値処理を施すと、顔画像は太くなったように見えるので、顔画像を細くするように顔変形処理が行われる。また、画像のコントラストを強くする画素値処理を施すと、顔画像は細くなったように見えるので、顔画像を太くするように顔変形処理が行われる。
顔変形処理が終了すると、処理は、ステップS1000にリターンされ、ステップS1000では、画質調整後の対象画像を表示するように更新された画質調整UIが表示部150に表示される。このようにして、画質調整UIを介して受け付けられたユーザの画質調整に関する指示が、対象画像に動的に反映される。
以上説明した第2実施例によれば、ユーザは、顔変形処理と画素値処理とを組み合わせた画像処理を容易に利用することができる。例えば、従来、ユーザがお気に入りのポートレート画像(人物の顔が主要被写体の画像)を、少し明るくしたいと考え、単に明るさを明るくする画質調整処理を指示した場合、ポートレートの顔画像の印象が変わり、ユーザは違和感を抱いてしまう場合がある。かかる場合は、ユーザは顔画像の印象が変わったのは、画像を明るくしたことにより顔画像が太めに見えているためであることを認識して、顔を細くする変形処理を行えば良いのであるが、画像処理の知識が不十分なユーザは、顔画像が太めに見えているためであることを、認識することすら困難である場合がある。また、顔画像が太めに見えているためであることを認識しても、顔画像をどの程度細く変形処理をすれば良いかを判断することは容易ではない。本実施例によれば、画素値処理と、顔変形処理が、顔画像の太さに関する印象を維持するように、予め関連付けられている(図31:第1のマップ、図32:第2のマップ)ので、第1のチェックボックスCB1にチェックを入れて、画素値処理(本実施例では、明るさ、または、コントラストの調整)を行えば、顔変形処理と画素値処理とを組み合わせて、容易に顔画像の印象を維持することができる。
D.第2実施例の変形例:
・第2実施例の第1変形例:
上記第2実施例では、画素値処理が対象画像にもたらす印象の変化と、顔変形処理が対象にもたらす印象の変化とが、互いに打ち消し合うように、画素値処理と顔変形処理とが互いに関連付けられているが、これに限られない。例えば、画素値処理が対象画像にもたらす印象の変化と、顔変形処理が対象にもたらす印象の変化とが、互いに同一または類似となるように、画素値処理と顔変形処理とを関連付けても良い。このような例を第2実施例の第1変形例として以下に説明する。
図33は、第2実施例の第1変形例の絵作り処理の流れを示すフローチャートである。図34は、第2実施例の第1変形例における画質調整UIの一例を示す説明図である。図35は、顔画像の変形量およびコントラストと、顔画像の印象との関係を説明するための図である。
本変形例に係るプリンタの構成は、上述した第2実施例におけるプリンタ100a(図27)と同一であるので、その説明を省略し、絵作り処理についてのみ説明する。
本変形例における絵作り処理が開始されると、図31に示す画質調整UIが表示される(ステップS2010)。図31に示すように、図31に示す画質調整UIは、対象画像と共に、対象画像の顔画像に「きれい」な印象を付与する画質調整処理(印象付与処理)の調整レベルの指示をユーザから受け付けるためのインタフェースである第3のレベルバーLB3を含んでいる。図31に示す画質調整UIは、さらに、1.コントラストを維持する、2.顔巾を維持する、3.特に限定を設けない、のうちのいずれか1つの指示を排他的にユーザから受け付けるためのインタフェースであるラジオボタンRB1〜RB3を含んでいる。
次に、処理内容決定部240aは、画質調整UIを介して、ユーザからの指示を受け付けたか否かを判断する(ステップS2020)。ユーザが画質調整UI上で決定ボタンを選択すると、処理内容決定部240aは、現在、画質調整UIに表示されている状態の対象画像の画像データを印刷・保存する処理を行い(ステップS2080)、絵作り処理を終了する。
一方、ユーザが画質調整UIを介して、ユーザから、印象付与処理の調整レベルを変更する指示を受け付けると、処理内容決定部240aは、画質調整UI上のラジオボタンRB1〜RB3が選択されているかを検出することにより、画質調整処理に対する限定の有無を判断する(ステップS2030)。
処理内容決定部240aは、ラジオボタンRB1が選択されている場合、すなわち、コントラストの維持が指示されている場合には、画質調整部220の変形処理部222に顔変形処理による印象付与処理を実行させる(ステップS2040)。処理内容決定部240aは、ラジオボタンRB2が選択されている場合、すなわち、顔巾の維持が指示されている場合には、画素値処理部224に画素値処理による印象付与処理を実行させる(ステップS2070)。処理内容決定部240aは、ラジオボタンRB3が選択されている場合、すなわち、限定がない場合には、変形処理部222と画素値処理部224に顔変形処理と画素値処理とを組み合わせた印象付与処理を実行させる(ステップS2050およびS2060)。
図35に破線の矢印で概念的に示すように、顔画像のコントラストを所定の範囲で硬調にする(強くする)と顔画像に「きれい」な印象を付与することができ、顔画像を所定の範囲で細くする(変形量を負の値にする)と顔画像に「きれい」な印象を付与することができることが経験的に解っている。
顔変形処理のみによる印象付与処理(ステップS2040)は、図35に矢印BE1で示すように、指示された調整レベルに応じて顔画像の変形量を負の値に設定して、顔画像を細く変形することにより実行され、コントラストは維持される。画素値処理のみによる印象付与処理(ステップS2070)は、図35に矢印BE2で示すように、指示された調整レベルに応じてコントラストを硬調にする(強くする)ことにより実行され、顔巾は維持される。
そして、顔変形処理と画素値処理とを組み合わせた印象付与処理(ステップS2050およびS2060)は、図35に矢印BE3で示すように、指示された調整レベルに応じて顔画像の変形量を負の値に設定して、顔画像を細く変形すると共に、指示された調整レベルに応じてコントラストを硬調にする(強くする)ことにより実行される。
印象付与処理が終了すると、処理は、ステップS2010にリターンされ、ステップS2010では、印象付与処理後の対象画像を表示するように更新された画質調整UIが表示部150に表示される。このようにして、画質調整UIを介して受け付けられたユーザの印象付与処理に関する指示が、対象画像に動的に反映される。
以上説明した本変形例によっても、ユーザは、顔変形処理と画素値処理とを組み合わせた画像処理を容易に利用することができる。また、同一または類似している変化(本変形例では「きれい」という印象の付与)をもたらす顔変形処理と画素値処理が関連付けられているので、顔変形処理と画素値処理のうちのいずれか一方のみで、画質調整を行うより、大きな変化を所望の方向に対象画像に対して付与することができる。例えば、ユーザが顔画像に「きれい」な印象を付与したいと考えた場合、コントラストを硬調にする処理と、顔画像の横巾を細くする処理を組み合わせることで、大きな効果を得られるが、画像処理の知識が不十分なユーザは、このような組み合わせを正しく判断することは難しい。誤って、顔画像に「きれい」な印象を付与する画素値処理と、顔画像に「かわいい」印象を付与する顔変形処理を組み合わせてしまうと所望の効果を得ることはできない。本実施例によれば、「きれい」な印象を付与するための印象付与処理として、画素値処理と、顔変形処理が、予め関連付けられているので、顔変形処理と画素値処理とを組み合わせて、容易に顔画像の印象を変更することができる。
・第2実施例の第2変形例:
上記第2実施例、および、第2実施例の第1変形例における顔変形処理と画素値処理との組み合わせは一例であり、他にも様々な組み合わせを用いることができる。例えば、顔画像のコントラストを弱くする画素値処理と、顔画像を縦方向に小さくし、顔画像の目を縦方向に小さくする顔変形処理とを組み合わせて、「かわいい」印象を顔画像に付与する印象付与処理を行うこととしても良い。
E.その他の変形例:
上記実施例およびその変形例において、その処理内容をフローチャートで示しているが、あくまで一例であり、各ステップの順番を変更したり、一部のステップの実行を省略したりしてもよい。例えば、図28に示す第2実施例における絵作り処理では、画素値処理(図28:ステップS1020)の前に、印象維持のチェックボックスのチェックの有無を判断し(図28:ステップS1030)、顔変形処理(図28:ステップS1040)を行った後に、画素値処理を行っても良い。かかる場合は、顔変形処理を行ってから、顔変形処理が画像変形にもたらす変化を打ち消すように、相反する印象の変化をもたらす画素値処理を行うこととなる。
画素値処理と顔変形処理との関連付けは、一方を主とし、他方を従とするように関連付けられても良いし、互いに対等に関連付けても良い。例えば、第1実施例や、第2実施例の第1変形例では、「かわいい」「きれい」などの印象を対象画像に付与するため、画素値処理と顔変形処理は、対等に関連付けられていると考えることができるかもしれない。第2実施例では、所望の変化(画像を明るくするなど)を得るために画素値処理を行った際に、付随的に対象画像にもたらされてしまう所望しない変化(顔が太く見えてしまう)を打ち消すように顔変形処理を行うので、画素値処理が主であり、顔変形処理が従であると考えることができるかもしれない。
また、絵作り処理の前に、印刷処理の内の解像度変換や色変換(図20のステップS310やS320)が実行されるとしてもよい。また、図33に示す第2実施例における絵作り処理では、画素値処理(ステップS2050)と顔変形処理(ステップS2060)とを入れ替えても良い。
また上記実施例では、顔領域FAの検出が実行されるが、顔領域FAの検出の代わりに、例えばユーザ指定を介した顔領域FAの情報の取得が行われるとしてもよい。
上記実施例およびその変形例では、画像処理装置としてのプリンタ100、100aによる絵作り処理を説明したが、絵作り処理の一部または全部は、例えば、印刷処理を除き、デジタルカメラなどの画像データ生成機器の制御コンピュータあるいは画像処理チップにより実行されても良し、パーソナルコンピュータにより実行されても良い。また、プリンタ100、100aはインクジェットプリンタに限らず、他の方式のプリンタ、例えばレーザプリンタや昇華型プリンタであるとしてもよい。
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしても良い。
以上、本発明の実施例および変形例について説明したが、本発明はこれらの実施例および変形例になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々の態様での実施が可能である。
ところで、上述した実施例および変形例を参照して説明した実施態様を、特に、複数種類の画質調整処理の中から、対象画像に適用される適用処理を選択するためのユーザの負担を軽減する観点から抽象的に表現するとすれば、例えば、以下のように表現できる。
画像処理装置であって、
複数種類の画質調整処理を実行可能な画質調整部と、
前記対象画像について、画像の特徴に応じて定まる画像タイプを判定するタイプ判定部と、
前記複数種類の画質調整処理の中から前記対象画像に適用される適用処理を選択させるための選択画面を、前記判定された画像タイプに応じて生成する選択画面生成部と、
を備える、画像処理装置。