(57)【特許請求の範囲】
【請求項１】
写真画像の画像データの色を補正する画像処理装置であって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第１の領域を決定する第１の領域決定部と、
前記画像データを解析して、前記写真画像中の前記第１の領域とは異なる領域であって互いに近似した色の画素で構成される領域のうち、もっとも画素数が多い領域を、第２の領域として決定する第２の領域決定部と、
前記画像データの前記第１の領域に対応する部分に基づいて、前記画像データの色を補正するための第１の変換用データセットを生成する第１の変換用データセット生成部と、
前記画像データの前記第２の領域に対応する部分に基づいて、前記画像データの色を補正するための第２の変換用データセットを生成する第２の変換用データセット生成部と、
各入力値に対する前記第１の変換用データセットと前記第２の変換用データセットとの重み付け平均を計算することによって、第３の変換用データセットを生成する第３の変換用データセット生成部と、
前記第３の変換用データセットの生成に先立って、前記第１の領域の大きさに基づいて前記重み付け平均における重みを決定する重み決定部と、
前記第３の変換用データセットに基づいて前記画像データの色を補正する色調補正部と、を含み、
前記第１ないし第３の変換用データセットは、等しい範囲の入力値を有するトーンカーブであり、
前記第３の変換用データセット生成部は、各入力値に対する前記第１の変換用データセットとしての第１のトーンカーブの出力値と前記第２の変換用データセットとしての第２のトーンカーブの出力値との重み付け平均を計算することによって、前記第３の変換用データセットとしての第３のトーンカーブを生成する、画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、さらに、
前記写真画像の全領域中に占める前記第１の領域の割合Ｒｆと対応づけられた前記第１のトーンカーブの出力値の重みＷ１を格納している重みテーブルであって、前記第１の領域の割合Ｒｆが第１の基準値Ｒｆ１（０＜Ｒｆ１＜６０％）より大きいとき、最大値をとり、前記第１の領域の割合Ｒｆが第２の基準値Ｒｆ２（０≦Ｒｆ２＜Ｒｆ１）より大きく前記第１の基準値Ｒｆ１より小さいとき、前記第１の領域の割合Ｒｆに対して単調増加である重みＷ１を格納した重みテーブルを備え、
前記重み決定部は、前記重みテーブルを参照しつつ、前記重み付け平均における重みを決定する、画像処理装置。
【請求項３】
請求項２記載の画像処理装置であって、
前記第１の基準値Ｒｆ１は２５％〜５５％の範囲に含まれる値であり、
前記重みテーブルが保持している前記各重みＷ１は、前記第１の領域の割合Ｒｆが前記第２の基準値Ｒｆ２より大きく前記第１の基準値Ｒｆ１より小さいとき、前記第１の領域の割合Ｒｆに対して上に凸の曲線上にある値である、画像処理装置。
【請求項４】
請求項２記載の画像処理装置であって、
前記第１の基準値Ｒｆ１は２０％〜５０％の範囲に含まれる値であり、
前記重みテーブルが保持している前記各重みＷ１は、前記第１の領域の割合Ｒｆが前記第２の基準値Ｒｆ２より大きく前記第１の基準値Ｒｆ１より小さいとき、前記第１の領域の割合Ｒｆに対して線形な直線上にある値である、画像処理装置。
【請求項５】
請求項２または３に記載の画像処理装置であって、
前記第２の基準値Ｒｆ２は０．５％である、画像処理装置。
【請求項６】
写真画像の画像データの色を補正して印刷を行う印刷装置であって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第１の領域を決定する第１の領域決定部と、
前記画像データを解析して、前記写真画像中の前記第１の領域とは異なる領域であって互いに近似した色の画素で構成される領域のうち、もっとも画素数が多い領域を、第２の領域として決定する第２の領域決定部と、
前記画像データの前記第１の領域に対応する部分に基づいて、前記画像データの色を補正するための第１の変換用データセットを生成する第１の変換用データセット生成部と、
前記画像データの前記第２の領域に対応する部分に基づいて、前記画像データの色を補正するための第２の変換用データセットを生成する第２の変換用データセット生成部と、
各入力値に対する前記第１の変換用データセットと前記第２の変換用データセットとの重み付け平均を計算することによって、第３の変換用データセットを生成する第３の変換用データセット生成部と、
前記第３の変換用データセットの生成に先立って、前記第１の領域の大きさに基づいて前記重み付け平均における重みを決定する重み決定部と、
前記第３の変換用データセットに基づいて前記画像データの色を補正する色調補正部と、
前記補正後の前記画像データに基づいて印刷を実行する印刷部と、を含み、
前記第１ないし第３の変換用データセットは、等しい範囲の入力値を有するトーンカーブであり、
前記第３の変換用データセット生成部は、各入力値に対する前記第１の変換用データセットとしての第１のトーンカーブの出力値と前記第２の変換用データセットとしての第２のトーンカーブの出力値との重み付け平均を計算することによって、前記第３の変換用データセットとしての第３のトーンカーブを生成する、印刷装置。
【請求項７】
写真画像の画像データの色を補正する方法であって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第１の領域を決定する工程と、
前記画像データを解析して、前記写真画像中の前記第１の領域とは異なる領域であって互いに近似した色の画素で構成される領域のうち、もっとも画素数が多い領域を、第２の領域として決定する工程と、
前記画像データの前記第１の領域に対応する部分に基づいて、前記画像データの色を補正するための第１の変換用データセットを生成する工程と、
前記画像データの前記第２の領域に対応する部分に基づいて、前記画像データの色を補正するための第２の変換用データセットを生成する工程と、
各入力値に対する前記第１の変換用データセットと前記第２の変換用データセットとの重み付け平均を計算することによって、第３の変換用データセットを生成する工程と、
前記第３の変換用データセットの生成に先立って、前記第１の領域の大きさに基づいて前記重み付け平均における重みを決定する工程と、
前記第３の変換用データセットに基づいて前記画像データの色を補正する工程と、を含み、
前記第１ないし第３の変換用データセットは、等しい範囲の入力値を有するトーンカーブであり、
前記第３の変換用データセットを生成する工程は、各入力値に対する前記第１の変換用データセットとしての第１のトーンカーブの出力値と前記第２の変換用データセットとしての第２のトーンカーブの出力値との重み付け平均を計算することによって、前記第３の変換用データセットとしての第３のトーンカーブを生成する工程である、方法。
【請求項８】
コンピュータに写真画像の画像データの色の補正を実行させるためのコンピュータプログラムであって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第１の領域を決定する機能と、
前記画像データを解析して、前記写真画像中の前記第１の領域とは異なる領域であって互いに近似した色の画素で構成される領域のうち、もっとも画素数が多い領域を、第２の領域として決定する機能と、
前記画像データの前記第１の領域に対応する部分に基づいて、前記画像データの色を補正するための第１の変換用データセットを生成する機能と、
前記画像データの前記第２の領域に対応する部分に基づいて、前記画像データの色を補正するための第２の変換用データセットを生成する機能と、
各入力値に対する前記第１の変換用データセットと前記第２の変換用データセットとの重み付け平均を計算することによって、第３の変換用データセットを生成する機能と、
前記第３の変換用データセットの生成に先立って、前記第１の領域の大きさに基づいて前記重み付け平均における重みを決定する機能と、
前記第３の変換用データセットに基づいて前記画像データの色を補正する機能と、をコンピュータに実現させ、
前記第１ないし第３の変換用データセットは、等しい範囲の入力値を有するトーンカーブであり、
前記第３の変換用データセットを生成する機能は、各入力値に対する前記第１の変換用データセットとしての第１のトーンカーブの出力値と前記第２の変換用データセットとしての第２のトーンカーブの出力値との重み付け平均を計算することによって、前記第３の変換用データセットとしての第３のトーンカーブを生成する機能である、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データの色を補正する技術に関する。
【背景技術】
【０００２】
従来より、画像データに基づいて、その画像データの画像の色を補正する技術が知られている。たとえば、特許文献１においては、写真の中の人の顔が写っている領域を決定し、その人の顔の色が予め定められた目標色度値となるように、画像データの色の補正が行われる。
【０００３】
【特許文献１】特開２０００−１８２０４３号公報
【０００４】
しかし、特許文献１の技術においては、画像データの色の補正内容を決定するにあたって人の顔の色以外は考慮されないため、人の顔以外の領域について、補正後の色が不自然になってしまう場合があった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の問題を取り扱うためになされたものであり、人が写っている写真画像の画像データについて色の補正を行う際に、人の顔とそれ以外の部分との両方について好適な補正を行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様においては、写真画像の画像データの色を補正する際に、以下のような処理を行う。すなわち、まず、写真画像の画像データを解析して、写真画像中の一部の領域であって人の顔が存在する第１の領域を決定する。そして、画像データの第１の領域に対応する部分に基づいて、画像データの色を補正するための第１の変換用データセットを生成する。また、写真画像中の領域であって第１の領域とは異なる第２の領域に対応する画像データの部分に基づいて、画像データの色を補正するための第２の変換用データセットを生成する。そして、各入力値に対する第１の変換用データセットと第２の変換用データセットとの重み付け平均を計算することによって、第３の変換用データセットを生成する。第３の変換用データセットの生成に先立って、第１の領域の大きさに基づいて重み付け平均における重みを決定する。その後、第３の変換用データセットに基づいて画像データの色を補正する。
【０００７】
このような態様においては、人の顔が存在する第１の領域に基づいて作成された第１の変換用データセットと、第１の領域とは異なる第２の領域に基づいて作成された第２の変換用データセットと、の特性を有する第３の変換用データセットを使用して画像データの色の補正が行われる。そして、人の顔が存在する第１の領域の大きさに応じて、第３の変換用データセットにおいて第１の変換用データセットの特性が反映される程度が定められる。このため、人が写っている写真画像の画像データについて色の補正を行う際に、人の顔とそれ以外の部分との両方について好適な補正を行うことができる。
【０００８】
なお、第１ないし第３の変換用データセットは、等しい範囲の入力値を有するトーンカーブとすることができる。第３の変換用データセットを生成する際には、各入力値に対する第１の変換用データセットとしての第１のトーンカーブの出力値と第２の変換用データセットとしての第２のトーンカーブの出力値との重み付け平均を計算することによって、第３の変換用データセットとしての第３のトーンカーブを生成することができる。このような態様とすれば、容易に第１と第２の変換用データセットの特性を反映させた第３の変換用データセットを生成することができる。
【０００９】
なお、第１の変換用データセットが離散的な入力値および離散的な出力値を有する場合には、第２の変換用データセットは、第１の変換用データセットと同じ入力値を有することが好ましい。第１の変換用データセットが連続的な入力値を有する場合には、第２の変換用データセットは、第１の変換用データセットと同じ入力値の範囲を有する変換用データセットとすることができる。また、第１の変換用データセットの重みは、人の顔が存在する第１の領域の大きさに対して、少なくとも一部の範囲において単調増加であることが好ましい。なお、他の一部の範囲において、第１の変換用データセットの重みは、人の顔が存在する第１の領域の大きさに対して一定とすることもできる。
【００１０】
なお、画像処理装置は、さらに、写真画像の全領域中に占める第１の領域の割合Ｒｆと対応づけられた第１のトーンカーブの出力値の重みＷ１を格納している重みテーブルを備える態様とすることもできる。この重みテーブルは、第１の領域の割合Ｒｆが第１の基準値Ｒｆ１（０＜Ｒｆ１＜６０％）より大きいとき、最大値をとり、かつ、第１の領域の割合Ｒｆが第２の基準値Ｒｆ２（０≦Ｒｆ２＜Ｒｆ１）より大きく第１の基準値Ｒｆ１より小さいとき、第１の領域の割合Ｒｆに対して単調増加である重みＷ１を格納した重みテーブルであることが好ましい。そして、重み決定部は、重みテーブルを参照しつつ、重み付け平均における重みを決定することが好ましい。
【００１１】
このような態様においては、顔が存在する第１の領域が画像全体に対して一定以上の大きさである場合には、色の補正において使用される第３のトーンカーブは、その第１の領域における補正に適した第１のトーンカーブの特性と最も反映したものとなる。人は、写真画像中の顔の色調を、他の部分の色調よりも重視する。よって、上記のような態様とすることで、顔が所定割合以上に大きく写っている写真画像について、顔の色の補正に適した補正を適用して、ユーザによる評価が高い画像を生成することができる。
【００１２】
なお、第１の基準値Ｒｆ１は２５％〜５５％の範囲に含まれる値とすることが好ましい。そして、そのような態様において、重みテーブルが保持している各重みＷ１は、第１の領域の割合Ｒｆが第２の基準値Ｒｆ２より大きく第１の基準値Ｒｆ１より小さいとき、第１の領域の割合Ｒｆに対して上に凸の曲線上にある値であることが好ましい。ユーザは、たとえ写真画像中の人の顔が小さくても、写真画像中に人の顔が写っていることに気づいた場合には、同程度の大きさの他の部分の色調に比べてその顔の色調が好ましい色であるか否かを重視する。よって、上記のような態様とすることで、写真画像に対してよりユーザが好ましいと感じられるような色の補正を行うトーンカーブを生成することができる。
なお、本明細書において、「曲線上にある値である」とは、「曲線上にある値」プラスマイナス５％の範囲に含まれることをいう。
【００１３】
また、第１の基準値Ｒｆ１は２０％〜５０％の範囲に含まれる値とすることが好ましい。そして、そのような態様においては、重みテーブルが保持している各重みＷ１は、第１の領域の割合Ｒｆが第２の基準値Ｒｆ２より大きく第１の基準値Ｒｆ１より小さいとき、第１の領域の割合Ｒｆに対して線形な直線上にある値であることが好ましい。なお、本明細書において、「直線上にある値である」とは、「直線上にある値」プラスマイナス５％の範囲に含まれることをいう。
【００１４】
なお、第２の基準値Ｒｆ２は０〜１％の範囲に含まれる値とすることが好ましい。
【００１５】
また、本発明の一態様として、上記各構成を備え、さらに、補正後の画像データに基づいて印刷を実行する印刷部を備える態様とすることもできる。
【００１６】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、印刷方法および印刷装置、印刷制御方法および印刷制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００１７】
Ａ．第１実施例：
Ａ１．装置の全体構成：
図１は、第１の実施形態の印刷システムのソフトウェアの構成を示すブロック図である。コンピュータ９０では、所定のオペレーティングシステムの下で、アプリケーションプログラム９５が動作している。また、オペレーティングシステムには、ビデオドライバ９１やプリンタドライバ９６が組み込まれている。
【００１８】
アプリケーションプログラム９５は、マウス１３０やキーボード１２０から入力されるユーザの指示に応じて、レッド（Ｒ），グリーン（Ｇ），ブルー（Ｂ）の３色の色成分からなる原画像データＯＲＧをＣＤ−Ｒ１４０から読み込む。そして、ユーザの指示に応じて、原画像データＯＲＧに画像のレタッチなどの処理を行う。アプリケーションプログラム９５は、処理を行った画像を、ビデオドライバ９１を介してＣＲＴディスプレイ２１に画像を表示する。また、アプリケーションプログラム９５は、ユーザからの印刷指示を受け取ると、プリンタドライバ９６に印刷指示を出し、処理を行った画像を初期画像データＰＩＤとしてプリンタドライバ９６に出力する。初期画像データＰＩＤは、各画素の色がｓＲＧＢ表色系で表された画像データである。より具体的には、初期画像データＰＩＤは、各画素について、レッド（Ｒ），グリーン（Ｇ），ブルー（Ｂ）の色成分の階調値（０〜２５５）を有する画像データである。
【００１９】
プリンタドライバ９６は、初期画像データＰＩＤをアプリケーションプログラム９５から受け取り、これをプリンタ２２が処理可能な印刷画像データＦＮＬ（ここではシアン、マゼンダ、イエロー、ブラック、ライトシアン、ライトマゼンタの６色についての多値化された信号）に変換する。
【００２０】
なお、「ライトシアン」は、シアンと色相が同じでシアンよりも明度が高いインク色である。また、「ライトマゼンタ」は、マゼンタと色相が同じでマゼンタよりも明度が高いインク色である。
【００２１】
図１に示した例では、プリンタドライバ９６の内部には、色調調整モジュール１０３と、解像度変換モジュール９７と、色変換モジュール９８と、ハーフトーンモジュール９９と、並べ替えモジュール１００とが備えられている。
【００２２】
色調調整モジュール１０３は、アプリケーションプログラム９５から受け取った初期画像データＰＩＤを変換して色調を補正し、画像データＰＩＤｒを生成する。画像データＰＩＤｒは、各画素についてレッド（Ｒ），グリーン（Ｇ），ブルー（Ｂ）の色成分の階調値（０〜２５５）を有し、初期画像データＰＩＤと同じ画素数を有する画像データである。
【００２３】
なお、プリンタドライバ９６における画像処理においては、ユーザが所定のタイミングで、マウス１３０やキーボード１２０を介して指示を入力することもできる。このように、ＣＲＴ２１の表示を通じてユーザに所定の指示を行わせ、マウス１３０やキーボード１２０を介して行われる入力を受け取る機能部を、ＵＩモジュール（ユーザインターフェイスモジュール）１０５として図１に示す。
【００２４】
解像度変換モジュール９７は、画像データＰＩＤｒの解像度をプリンタ２２で印刷を行う際の解像度に変換して画像データＭＩＤ１を生成する。
【００２５】
色変換モジュール９８は、３次元ルックアップテーブル１０４を参照しつつ、画像データＭＩＤ１を画像データＭＩＤ２に変換する。画像データＭＩＤ２は、プリンタ２２が使用するシアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）、ライトシアン（ＬＣ）、ライトマゼンタ（ＬＭ）の濃度の階調値で各画素の色が表された画像データである。なお、３次元ルックアップテーブル１０４は、入力値としてレッド、グリーン、ブルーの階調値の組み合わせを有し、出力値としてシアン、マゼンダ、イエロー、ブラック、ライトシアン、ライトマゼンタの階調値の組み合わせを有するルックアップテーブルである。
【００２６】
ハーフトーンモジュール９９は、各画素の各色の濃度が各色の階調値で表された画像データＭＩＤ２にハーフトーン処理を行うことによって、各色の濃度が各画素におけるドットの有無で表される画像データＭＩＤ３（「印刷データ」または「ドットデータ」とも呼ぶ）に変換する。
【００２７】
こうして生成された画像データＭＩＤ３は、並べ替えモジュール１００によりプリンタ２２に転送すべきデータ順に並べ替えられて、最終的な印刷画像データＦＮＬとして出力される。
【００２８】
プリンタ２２は、紙送りモータによって用紙Ｐを搬送する機構と、キャリッジモータによってキャリッジ３１を用紙Ｐの搬送方向ＳＳと垂直な方向ＭＳに往復動させる機構と、キャリッジ３１に搭載されインクの吐出およびドット形成を行う印刷ヘッド２８と、各種の設定データを格納しているＰ−ＲＯＭ４２と、これらの紙送りモータ，キャリッジモータ，印刷ヘッド２８、Ｐ−ＲＯＭ４２および操作パネル３２を制御するＣＰＵ４１とから構成されている。プリンタ２２は、印刷画像データＦＮＬを受け取って、印刷画像データＦＮＬに応じてシアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）、ライトシアン（ＬＣ）、ライトマゼンタ（ＬＭ）で印刷媒体上にドットを形成し、印刷を実行する。
【００２９】
なお、本明細書においては、「印刷装置」とは、狭義にはプリンタ２２のみをさすが、広義にはコンピュータ９０とプリンタ２２とを含む印刷システム全体を表す。
【００３０】
Ａ２．色調調整モジュールにおける処理：
図２は、色調調整モジュール１０３における色補正の処理を示すフローチャートである。図２のフローチャートの各処理は、色調調整モジュール１０３によって実行される。
【００３１】
ステップＳ１０では、色調調整モジュール１０３は、初期画像データＰＩＤを解析し、顔領域Ａ１を決定する。顔領域Ａ１の決定は、たとえば、初期画像データＰＩＤの画像の一部分について、順に、人間の目および口の基本的なパターンを表す基準パターンとマッチングさせることによって行われる。本実施例では、顔領域Ａ１は目に対応する部分と口に対応する部分を含む長方形の領域として特定される。この長方形の領域Ａ１は、その領域全体に対して人の顔であることを前提として色の補正が行われても画像が不自然とならないような大きさとなるように、マッチングされるパターンに対する比率があらかじめ定められている。なお、初期画像データＰＩＤを解析し顔領域Ａ１を決定する色調調整モジュール１０３の機能部を、顔領域決定部１０３ａとして図１に示す。
【００３２】
図２のステップＳ２０では、ステップＳ１０において顔領域Ａ１が特定できたか否かを判定する。顔領域Ａ１が特定できなかった場合には、処理は、ステップＳ８０に進む。顔領域Ａ１が特定できた場合には、処理は、ステップＳ３０に進む。
【００３３】
図３は、初期画像データＰＩＤの画像の領域Ａ０中の顔領域Ａ１と背景領域Ａ２を示す図である。本実施例では、アプリケーションプログラム９５から送られた初期画像データＰＩＤは、デジタルスチルカメラによって生成された写真画像のデータである。初期画像データＰＩＤの画像中には、被写体として、人物Ｏ１と、空Ｏ２と、海Ｏ３と、が含まれている。初期画像データＰＩＤの写真画像においては、人物Ｏ１に対して背後から日の光が当たっている。このため、人物Ｏ１は、空Ｏ２および海Ｏ３に比べて暗く写っている。
【００３４】
図２のステップＳ３０では、色調調整モジュール１０３は、初期画像データＰＩＤのうち顔領域Ａ１に対応するデータに基づいて、顔領域用のトーンカーブＣ１を生成する。
【００３５】
図４は、顔領域用のトーンカーブＣ１を示す図である。第１実施例におけるトーンカーブＣ１は、初期画像データＰＩＤのレッド、グリーン、ブルーの階調値に共通に適用される。顔領域用のトーンカーブＣ１は、たとえば、以下のような形状の２次曲線のトーンカーブとすることができる。すなわち、顔領域用のトーンカーブＣ１は、最小の入力階調値０を最小の出力階調値０に変換する。そして、最大の入力階調値２５５を最大の出力階調値２５５に変換する。さらに、基準入力階調値Ｖｉ０１を出力階調値Ｖｏ０１に変換する。色調調整モジュール１０３は、以下のようにＶｉ０１，Ｖｏ０１を計算する。そして、色調調整モジュール１０３は、顔領域用のトーンカーブＣ１を、これら（０，０）、（２５５，２５５）、（Ｖｉ０１，Ｖｏ０１）の３点を通る２次曲線として生成する。
【００３６】
基準入力階調値Ｖｉ０１は、顔領域Ａ１のレッド、グリーン、ブルーの階調値の平均値である。また、Ｖｏ０１は、Ｖｉ０１をｄＶ１だけ増大させた階調値である。基準入力階調値Ｖｉ０１の増大量ｄＶ１は、たとえば、顔領域Ａ１のレッド、グリーン、ブルーそれぞれの平均の階調値と、あらかじめ用意した顔用のレッド、グリーン、ブルーそれぞれの目標階調値と、の差に基づいて定めることができる。このように顔領域用のトーンカーブＣ１を生成する色調調整モジュール１０３の機能部を、第１のトーンカーブ生成部１０３ｂとして図１に示す。なお、本明細書において説明されるトーンカーブは、実際には、離散値である入力値および出力値を含むテーブルとして生成または用意される。
【００３７】
図２のステップＳ４０では、色調調整モジュール１０３は、初期画像データＰＩＤの全領域Ａ０のデータに基づいて、背景用のトーンカーブＣ２を生成する。
【００３８】
図５は、背景用のトーンカーブＣ２を示す図である。第１実施例におけるトーンカーブＣ２も、初期画像データＰＩＤのレッド、グリーン、ブルーの階調値に共通に適用される。背景領域用のトーンカーブＣ２は、たとえば、以下のような形状の２次曲線のトーンカーブとすることができる。すなわち、背景領域用のトーンカーブＣ２は、最小の入力階調値０を最小の出力階調値０に変換する。そして、最大の入力階調値２５５を最大の出力階調値２５５に変換する。さらに、基準入力階調値Ｖｉ０２を出力階調値Ｖｏ０２に変換する。色調調整モジュール１０３は、以下のようにＶｉ０２，Ｖｏ０２を計算する。そして、色調調整モジュール１０３は、背景領域用のトーンカーブＣ２を、これら（０，０）、（２５５，２５５）、（Ｖｉ０２，Ｖｏ０２）の３点を通る２次曲線として生成する。
【００３９】
基準入力階調値Ｖｉ０２は、初期画像データＰＩＤの全領域Ａ０のレッド、グリーン、ブルーの階調値の平均値である。また、Ｖｏ０２は、Ｖｉ０２をｄＶ２だけ増大させた階調値である。基準入力階調値Ｖｉ０２の増大量ｄＶ２は、たとえば、全領域Ａ０のレッド、グリーン、ブルーそれぞれの平均の階調値と、あらかじめ用意した背景用のレッド、グリーン、ブルーそれぞれの目標階調値と、の差に基づいて定めることができる。このように背景領域用のトーンカーブＣ２を生成する色調調整モジュール１０３の機能部を、第２のトーンカーブ生成部１０３ｃとして図１に示す。なお、プリンタドライバ９６は、顔用および背景用のレッド、グリーン、ブルーそれぞれの目標階調値を、目標値テーブル１０６として保持している（図１参照）。
【００４０】
図３の写真画像が逆光となっており、人物Ｏ１の明るさは、背景である空Ｏ２および海Ｏ３に比べて、理想的な明るさとの間の差が大きい。このため、図４および図５のトーンカーブＣ１，Ｃ２の例においては、顔領域用の補正量ｄＶ１は、背景用の補正量ｄＶ２よりも大きくなっている。
【００４１】
これらの顔用トーンカーブＣ１（図４参照）と、背景用トーンカーブＣ２（図５参照）とは、初期画像データＰＩＤの色調を調整するための色補正用トーンカーブＣ３を生成する際の基礎とされる。より具体的には、各入力階調値に対する色補正用トーンカーブＣ３の出力階調値は、顔用トーンカーブＣ１の出力階調値と、背景用トーンカーブＣ２の出力階調値とを重み付け平均したものである。
【００４２】
図６は、画像の全領域Ａ０に対する顔領域Ａ１の大きさの割合Ｒｆと、顔用トーンカーブＣ１の重みＷ１および背景用トーンカーブＣ２の重みＷ２との関係を示すグラフである。顔領域Ａ１の大きさの割合Ｒｆは、顔領域Ａ１の画素数を全領域Ａ０の画素数で割った値である。顔用トーンカーブＣ１の重みＷ１および背景用トーンカーブＣ２の重みＷ２は、０以上１以下の値をとる。Ｗ１とＷ２とは、Ｗ１＋Ｗ２＝１の関係を有する。なお、プリンタドライバ９６は、図６のような重みＷ１および重みＷ２を、顔領域Ａ１の大きさの割合Ｒｆと対応づけられた離散値として、重みテーブル１０７内に保持している（図１参照）。
【００４３】
図２のステップＳ５０では、色調調整モジュール１０３は、顔領域Ａ１の画素数を計算し、さらに、画像の全領域Ａ０に対する顔領域Ａ１の大きさの割合Ｒｆを計算する。そして、重みテーブル１０７を参照しつつ、顔領域Ａ１の割合Ｒｆに基づいて、顔用トーンカーブＣ１の重みＷ１および背景用トーンカーブＣ２の重みＷ２を決定する。このような機能を奏する色調調整モジュール１０３の機能部を、重み決定部１０３ｄとして図１に示す。
【００４４】
図６に示すように、顔領域の重みＷ１は、顔領域の割合ＲｆがＲｆ２〜Ｒｆ１である領域においては、顔領域の割合Ｒｆが増大するほど大きくなる。すなわち、顔領域の大きさに対して単調増加である。このため、顔領域の割合ＲｆがＲｆ２〜Ｒｆ１である領域においては、写真画像中の顔領域が大きいほど、より顔領域の色の補正を重視したトーンカーブが生成される。そのようなトーンカーブにもとづいて補正が行われた画像データは、ユーザにとって好ましい色調となる。
【００４５】
また、顔領域の割合ＲｆがＲｆ１以上である領域では、顔領域の重みＷ１は最大値１をとる。このような態様においては、顔領域Ａ１が画像全体Ａ０に対して一定以上の大きさである場合には、色の補正において、顔領域Ａ１における補正に適したトーンカーブＣ１と等しいトーンカーブＣ３が使用される。そして、顔領域Ａ１が画像全体Ａ０に対して一定以下の大きさである場合には、色の補正において、顔領域Ａ１と、背景領域Ａ２と、の両方の補正に好適なトーンカーブＣ３を使用することができる。人は、写真画像中の顔の色調を他の部分の色調よりも重視する。よって、上記のような態様とすることで、顔が大きく写っている写真画像をユーザにとって好ましく感じられる色調に補正することができる。
【００４６】
そして、第１実施例においては、顔用トーンカーブＣ１の重みが最大に達する顔領域の割合は、Ｒｆ１＝５０である。写真画像においては、通常、人の顔の割合Ｒｆは、５０％以下である。たとえば、顔の写り具合がもっとも重要視される証明写真においても、顔領域の大きさの割合Ｒｆは３０％前後である。よって、顔領域の割合Ｒｆが５０％よりも多い写真画像については、顔領域の色の補正を行うための顔用トーンカーブＣ１の重みＷ１を１とすることが好ましい。顔領域の割合Ｒｆが５０％よりも多い写真画像に適用する色補正用トーンカーブＣ３を生成する際に顔用トーンカーブＣ１の重みを１とすることで、ユーザが好ましいと感じられるような色の補正を行うトーンカーブを生成することができる。
【００４７】
また、顔領域の重みＷ１は、顔領域の割合ＲｆがＲｆ２以下である領域では、最小値０をとる。すなわち、Ｒｆ２は、顔領域の重みＷ１が最小値を取る範囲の上限である。そして、第１実施例においては、Ｒｆ２＝０．５である。このＲｆ２は、顔領域決定部１０３ａが写真画像中において決定できる最小の顔領域Ａ１の大きさの、全領域Ａ０に対する割合とすることができる。
【００４８】
顔用トーンカーブＣ１の重みが線形に増大する比較例におけるトーンカーブＣ１の重みを図６中においてＷＣ１で示す。そして、同様に、比較例の背景用トーンカーブＣ２の重みを図６中においてＷＣ２で示す。第１実施例においては、図６に示すように、顔領域の重みＷ１は、顔領域の割合Ｒｆの増大に対して、線形に増大するのではなく、上に凸のカーブに沿って増大する。その結果、顔領域の割合Ｒｆの０からの増大に対して、トーンカーブＣ１の重みＷ１は、比較例よりも早期に増大する。たとえば、トーンカーブＣ１の重みＷ１が０．５を超えるときの顔領域の割合Ｒｆｃｅは、比較例においてＷ１Ｃが０．５を超えるときの顔領域の割合Ｒｆｃｃよりも小さい。
【００４９】
ユーザは、たとえ小さくても、写真画像中に人の顔が写っていることを発見した場合には、同程度の大きさの他の部分の色調に比べてその顔の色調が好ましい色であるか否かを重視する。そして、顔領域が同じ寸法だけ大きくなった場合には、写真画像中の顔の大きさが小さい場合は、大幅に目に付きやすくなるのに対して、写真画像中の顔の大きさがもともと大きい場合は、顔領域が人の目に付きやすい程度はあまり変化しない。このため、顔用トーンカーブＣ１の重みＷ１は、顔領域Ａ１が小さい範囲ではＲｆの増加に対して比較的大きく増加し、顔領域Ａ１が大きい範囲ではＲｆの増加に対して比較的小さく増加することが好ましい。よって、第１実施例のように顔領域の重みＷ１を決定することで、写真画像に対してよりユーザが好ましいと感じられるような色の補正を行うことができるトーンカーブを生成することができる。
【００５０】
図２のステップＳ６０では、色調調整モジュール１０３は、ステップＳＳ５０で決定した重みＷ１，Ｗ２、ならびにステップＳ３０，Ｓ４０で生成した顔用トーンカーブＣ１および背景用トーンカーブＣ２に基づいて、色補正用トーンカーブＣ３を生成する。より具体的には、０〜２５５の各入力階調値に対応する顔用トーンカーブＣ１の出力階調値Ｖ１と背景用トーンカーブＣ２の出力階調値Ｖ２とを重み付け平均して、色補正用トーンカーブＣ３の出力階調値Ｖ３を計算する。すなわち、色補正用トーンカーブＣ３の出力階調値Ｖ３は、以下の式で得られる。
【００５１】
Ｖ３＝Ｗ１×Ｖ１＋Ｗ２×Ｖ２  ・・・  （１）
【００５２】
図７は、色補正用トーンカーブＣ３を示すグラフである。各入力階調値０〜２５５に対する色補正用トーンカーブＣ３の出力階調値は、同じ入力階調値、たとえば、Ｖｉ１，Ｖｉ２，またはＶｉ３に対する背景用トーンカーブＣ２の出力階調値と顔用トーンカーブＣ１の出力階調値とを両端とする線分を、Ｗ１：Ｗ２で内分する点となる。このように色補正用トーンカーブＣ３を生成することで、顔の色の補正と背景の色の補正とのいずれか一方に偏ることのないトーンカーブを生成することができる。言い換えれば、顔の色と背景の色との両方について、ユーザが好ましいと感じられるような補正を行う色補正用トーンカーブＣ３を生成できる。
【００５３】
ステップＳ６０を実行して色補正用トーンカーブＣ３を生成する色調調整モジュール１０３の機能部を、色補正用トーンカーブ生成部１０３ｅとして図１に示す。
【００５４】
図２のステップＳ７０では、色調調整モジュール１０３は、色補正用トーンカーブＣ３を参照して初期画像データＰＩＤを画像変換して、画像データＰＩＤｒを生成する（図１参照）。このような機能を奏する色調調整モジュール１０３を、色調補正部１０３ｆとして図１に示す。
【００５５】
一方、ステップＳ１０において、写真画像中に顔領域が特定できなかった場合には、処理は、ステップＳ８０に進む。ステップＳ８０では、色調調整モジュール１０３は、初期画像データＰＩＤの全領域Ａ０のデータに基づいて、色補正用トーンカーブＣ３を生成する。色補正用トーンカーブＣ３は、たとえば、ステップＳ４０で生成する背景領域用のトーンカーブＣ２と同じ方法で生成することができる。このような機能は、第２のトーンカーブ生成部１０３ｃ（図１参照）が奏する。その後、ステップＳ７０では、色調調整モジュール１０３は、色補正用トーンカーブＣ３を参照して初期画像データＰＩＤを画像変換して、画像データＰＩＤｒを生成する（図１参照）。
【００５６】
写真画像中に顔領域が存在しない場合は、ステップＳ８０のような処理で色補正用トーンカーブＣ３を生成することで、ステップＳ７０において、画像全体の色の傾向を反映させた色の補正を行うことができる。
【００５７】
Ｂ．第２実施例：
第２実施例においては、重みテーブル１０７内に保持されている顔用トーンカーブＣ１の重みおよび背景用トーンカーブＣ２の重みの値が第１実施例とは異なる。第２実施例の他の点は、第１実施例と同じである。
【００５８】
図８は、第２実施例における顔領域Ａ１の大きさの割合Ｒｆと、顔用トーンカーブＣ１の重みＷ１ｂおよび背景用トーンカーブＣ２の重みＷ２ｂとの関係を示すグラフである。第２実施例においては、顔領域の重みＷ１ｂは、顔領域の割合ＲｆがＲｆ２ｂ以下である領域では、最小値０をとる。そして、顔領域の割合ＲｆがＲｆ２ｂ〜Ｒｆ１ｂである領域においては、顔領域の重みＷ１ｂは、顔領域の増大に対して線形に増大する。顔領域の割合ＲｆがＲｆ１以上である領域では、顔用トーンカーブＣ１の重みＷ１は最大値１をとる。
【００５９】
このような態様においては、Ｒｆが０〜Ｒｆ２ｂの区間、ＲｆがＲｆ２ｂ〜Ｒｆ１ｂの区間、ＲｆがＲｆ１ｂ〜２５５の区間の各区間の両端における重みＷ１，Ｗ２に基づいて、線形補間を行って、各区間の任意のＲｆに対するＷ１，Ｗ２を計算することができる。このため、重みテーブル１０７が各区間の両端における重みＷ１，Ｗ２のみを保持していれば、それらに基づいて各区間の任意のＲｆに対するＷ１，Ｗ２を計算することができる。よって、第２実施例のような態様とすれば、重みテーブル１０７が保持する重みＷ１，Ｗ２のデータを第１実施例に比べて少なくすることができる。また、各区間の任意のＲｆに対するＷ１，Ｗ２を計算する際に行う演算は線形補間であり、複雑な計算を必要としない。このため、各区間の両端における重みＷ１，Ｗ２のみを保持している重みテーブル１０７を使用しても、色調を調整する際の処理の負担が大幅に増大することがない。
【００６０】
第２実施例においては、顔領域の割合Ｒｆの増大に対して重みＷ１が直線状に変化する。よって、第１実施例の比較例と同様に、顔領域の割合Ｒｆが５０％よりも多い写真画像について、顔領域の色の補正を行うための顔用トーンカーブＣ１の重みを１とした場合には、以下のような不都合が生じる可能性がある。すなわち、顔領域の割合Ｒｆが５０％以下の所定範囲の写真画像について、第１実施例に比べて顔用トーンカーブＣ１の重みＷ１が大幅に小さくなり、写真画像中の顔の色調がユーザにとって不自然と感じられるようなものとなってしまう可能性がある。
【００６１】
しかし、第２実施例においては、顔領域の割合Ｒｆが３０％よりも多い写真画像について、顔領域の色の補正を行うための顔用トーンカーブＣ１の重みを１としている。このため、顔領域の割合Ｒｆが３０％〜５０％の写真画像について、十分に顔領域を重視した補正を行うことができる。言い換えれば、顔の色と背景の色との両方について、ユーザが好ましいと感じられるような補正を行うことができる色補正用トーンカーブＣ３を生成できる。
【００６２】
Ｃ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００６３】
Ｃ１．変形例１：
上記実施例では、顔領域Ａ１は一つであった（図３参照）。しかし、顔領域は、画像中において複数個、特定することもできる。すなわち、顔領域は、パターンマッチングや画素の色に基づいて、１以上、特定されることができる。
【００６４】
なお、写真画像の全領域Ａ０に占める顔領域の割合Ｒｆを計算する際には、それらの複数の顔領域すべての画素の合計に基づいて割合Ｒｆを計算する態様とすることができる。また、複数の顔領域のうち、大きい方から所定の数だけの顔領域について、画素数を合計して顔領域の割合Ｒｆを計算する態様とすることもできる。さらに、複数の顔領域のうち、大きい順に順位付けしたときに、所定の割合よりも上位の順位に該当する顔領域のみについて、画素数を合計して顔領域の割合Ｒｆを計算する態様とすることもできる。そして、単独で、画像全体の領域Ａ０に対して所定の割合を占める大きさの顔領域のみを合計して、Ｒｆを計算することとしてもよい。
【００６５】
Ｃ２．変形例２：
上記実施例では、背景領域Ａ２は、写真画像の全領域Ａ０であった（図３参照）。しかし、背景領域Ａ２は、画像の領域Ａ０中の顔領域Ａ１以外の領域中の一部の領域とすることもできる。また、背景領域Ａ２は、顔領域Ａ１以外の領域と、顔領域Ａ１の一部と、を含むように設定することもできる。そして、背景領域Ａ２は、顔領域Ａ１以外の領域と、顔領域Ａ１の全部と、を含むように設定することもできる。
【００６６】
たとえば、顔領域Ａ１以外の領域中の一部を背景領域Ａ２とする場合は、以下のように背景領域Ａ２を定めることもできる。まず、画像の領域Ａ０中の顔領域Ａ１以外の領域に含まれる各画素を順に隣の画素と比較する。比較対象とする隣の画素は、検討対象とする画素Ｐｏに対して上側に隣接する画素Ｐｕと、左側に隣接する画素Ｐｌである。
【００６７】
互いに隣接する画素の色が近似している場合、検討対象の画素Ｐｏは、比較対象の画素と同じグループに分類される。より具体的には、検討対象の画素Ｐｏと、その画素の上または左に隣接する画素のレッド、グリーンおよびブルーの各階調値同士の差が一定値以下である場合に、検討対象の画素Ｐｏは、比較対象の画素と同じグループに分類される。そのようにして、画像の領域Ａ０中の顔領域Ａ１以外の領域中の画素は１以上のグループに分類される。
【００６８】
そのようにして生成された画素のグループのうち、もっとも画素数の多いグループが占める領域を、背景領域Ａ２として選択する。なお、初期画像データＰＩＤを解析し、背景領域Ａ２を決定する機能は、色調調整モジュール１０３の機能部としての背景領域決定部が果たすことができる。
【００６９】
Ｃ３．変形例３：
第１実施例においては、背景用のトーンカーブＣ２を生成する際、基準入力階調値Ｖｉ０２の増大量ｄＶ２は、全領域Ａ０のレッド、グリーン、ブルーそれぞれの平均の階調値と、あらかじめ用意した背景用のレッド、グリーン、ブルーそれぞれの目標階調値と、の差に基づいて定められていた。そして、背景用のレッド、グリーン、ブルーの目標階調値は、目標値テーブル１０６内に格納されていた。しかし、これらのレッド、グリーン、ブルーの目標階調値を、写真画像の「シーン」ごとに用意し、写真画像の「シーン」に応じて選択的に使用する態様とすることもできる。写真画像の「シーン」とは、写真画像が写している対象物の種類を表すものであり、たとえば、「風景」、「標準」などの「シーン」を含む。写真画像の「シーン」は、たとえば、初期画像データＰＩＤに基づいて以下のように決定することができる。
【００７０】
色調調整モジュール１０３は、画像の領域Ａ０を複数の領域ブロックに分割し、各領域ブロックの平均の色を計算する。そして、平均の色が、基準となる「青」を含む所定の範囲の色に含まれる領域ブロックの数Ｎｂと、平均の色が、基準となる「緑」を含む所定の範囲の色に該当する領域ブロックの数Ｂｇとをカウントする。そして、Ｎｂが所定のしきい値Ｔｈｂ以上であるか、または、Ｎｇが所定のしきい値Ｔｈｇ以上である場合には、シーンを「風景」に決定する。一方、Ｎｂ＜ＴｈｂかつＮｇ＜Ｔｈｇである場合には、シーンを「標準」に決定する。
【００７１】
このように、「シーン」に応じて目標階調値を決定する態様とすれば、写真画像が写している対象物の種類に応じて適切な背景用トーンカーブＣ２を生成することができる。なお、同様に、「シーン」に応じて顔用トーンカーブＣ１を生成する際に使用される目標階調値を決定することもできる。
【００７２】
Ｃ４．変形例４：
上記実施例では、トーンカーブＣ１〜Ｃ３は、レッド、グリーン、ブルーのすべての階調値に適用されるトーンカーブであった。しかし、顔用トーンカーブおよび背景用トーンカーブは、レッド、グリーン、ブルーのそれぞれについて設けることもできる。そのような態様においては、レッド、グリーン、ブルーの各基本色ごとに、顔用トーンカーブと背景用トーンカーブとに基づいて、色補正用トーンカーブが生成されることが好ましい。
【００７３】
また、上記実施例では、顔用トーンカーブＣ１および背景用トーンカーブＣ２は、主として明るさを補正するトーンカーブであった。しかし、顔用トーンカーブＣ１および背景用トーンカーブＣ２は、コントラストを補正するなど、明るさの補正に加えて他の要素をも考慮して生成されたトーンカーブとすることができる。入力階調値を同じくするそのような任意のトーンカーブＣ１，Ｃ２に基づいて、色補正用トーンカーブＣ３を生成することができる。
【００７４】
画像のコントラストを補正するトーンカーブを生成するために、以下のような処理を行うことができる。すなわち、画像の色を表す各階調値に対して以下の式（２）のような階調値変換を行う。なお、Ｖｉは入力階調値であり、Ｖｏは出力階調値である。そして、Ｖｉｍａｘは、処理対象の画像データ中で最も大きい階調値である。Ｖｉｍｉｎは、処理対象の画像データ中で最も小さい階調値である。Ｖｏｍａｘは、階調値が取りうる最も大きい値である。Ｖｏｍａｘは、たとえば、２５５である。
【００７５】
Ｖｏ＝Ｖｏｍａｘ／（Ｖｉｍａｘ−Ｖｉｍｉｎ）×（Ｖｉ−Ｖｉｍｉｎ）  ・・・  （２）
【００７６】
式（２）の変換式をたとえば図４や図５のトーンカーブの出力値に適用して、各トーンカーブの出力階調値を置き換えることができる。そのようにして顔用トーンカーブＣ１および背景用トーンカーブＣ２を生成することで、明度に加えてコントラストをも改善できるトーンカーブを生成することができる。
【００７７】
ただし、色補正用トーンカーブＣ３を生成する際には（図２のステップＳ６０参照）、主として明るさを補正するトーンカーブ（図４や図５参照）に基づいて色補正用トーンカーブＣ３を生成する態様とすることもできる。そのような態様においては、その後、画像データの変換を行う際に（図２のステップＳ７０参照）、トーンカーブによる変換に加えて、コントラストを調整するための式（２）の変換を行うことができる。
【００７８】
また、上記実施例では、顔用トーンカーブＣ１および背景用トーンカーブＣ２は、は、３点を通る２次曲線であった（図４および図５参照）しかし、トーンカーブは、３次曲線、４次曲線、スプライン曲線、ベジエ曲線など、他の曲線とすることもできる。
【００７９】
Ｃ５．変形例５：
第１実施例においては、顔用トーンカーブＣ１の重みＷ１が最大値となる顔領域の割合Ｒｆ１は、５０％であった（図６参照）。そして、第２実施例においては、顔用トーンカーブＣ１の重みＷ１が最大値となる顔領域の割合Ｒｆ１ｂは、３０％であった（図８参照）。しかし、顔用トーンカーブＣ１の重みＷ１が最大値となる顔領域の割合は、他の値とすることもできる。ただし、顔用トーンカーブＣ１の重みＷ１が最大値となる顔領域の割合Ｒｆ１は、６０％以下であることが好ましく、５０％以下であることがより好ましい。
【００８０】
なお、顔領域の割合ＲｆがＲｆ２〜Ｒｆ１の領域において、顔用トーンカーブＣ１の重みＷ１が上に凸のカーブ上にある態様においては、顔用トーンカーブＣ１の重みＷ１が最大値となる顔領域の割合Ｒｆ１は、２５％〜５５％とすることが好ましい。そして、そのよう態様においては、重みＷ１が最大値となる顔領域の割合Ｒｆ１は、３０％〜５０％とすることがより好ましく、４０〜５０％とすることがさらに好ましい。顔用トーンカーブＣ１の重みＷ１が上に凸のカーブ上にある態様においては、重みＷ１は、Ｒｆが増大するにつれて１に漸近する。このため、重みＷ１が線形に増大する態様に比べて重みＷ１が最大値となる顔領域の割合Ｒｆ１を大きく設定することができる。その結果、Ｒｆの広い範囲について、各Ｒｆの値に応じた重みＷ１を設定することができる。
【００８１】
また、顔領域の割合ＲｆがＲｆ２〜Ｒｆ１の領域において、顔用トーンカーブＣ１の重みＷ１が線形に増大する態様においては、顔用トーンカーブＣ１の重みＷ１が最大値となる顔領域の割合Ｒｆ１は、２０％〜５０％とすることが好ましい。そして、そのよう態様においては、重みＷ１が最大値となる顔領域の割合Ｒｆ１は、２５％〜４５％とすることがより好ましく、３０〜４０％とすることがさらに好ましい。
【００８２】
Ｃ６．変形例６：
上記実施例では、顔用トーンカーブＣ１の重みＷ１および背景用のトーンカーブＣ２の重みＷ２は、顔領域の大きさの割合Ｒｆと対応づけられて、重みテーブル１０７として保持されていた。しかし、顔用トーンカーブＣ１の重みＷ１は、Ｒｆの関数として保持されるなど、他の方法で保持されていてもよい。すなわち、顔用トーンカーブＣ１の重みＷ１は、顔領域の大きさに基づいて定めることができる。また、背景用のトーンカーブＣ２の重みＷ２は、顔用トーンカーブＣ１の重みＷ１に基づいて定めることができる。
【００８３】
なお、顔用トーンカーブＣ１の重みＷ１が顔領域の大きさの割合Ｒｆの関数として保持される態様においても、Ｗ１は、Ｒｆに対して上に凸となるような関数として保持されることが好ましい。ただし、顔領域の大きさの割合Ｒｆに対応づけられた顔用トーンカーブＣ１の各重みＷ１は、Ｒｆに対して線形な直線上にある値とすることもでき、Ｒｆに対して上または下に凸の曲線上にある値とすることもできる。
【００８４】
また、顔用トーンカーブＣ１の重みＷ１が、顔領域が占める割合Ｒｆではなく、顔領域の画素数に基づいて定められる態様とすることもできる。すなわち、顔用トーンカーブＣ１の重みＷ１は、顔領域の絶対的な大きさに基づいて定めることもできる。すなわち、顔用トーンカーブＣ１の重みＷ１は、実質的に顔領域の大きさに基づいて定めることができる。
【００８５】
Ｃ７．変形例７：
上記実施例では、写真画像において、人物Ｏ１が逆光で撮影されていた。しかし、本発明は、たとえば、夜間に室内でフラッシュがたかれて、人物Ｏ１が背景に対して大幅に明るく撮影されてしまった画像についても、有効である。そのような写真画像に対しても、顔領域の大きさに基づいて、顔用トーンカーブと背景用トーンカーブとの出力階調値を重み付け平均して色補正用トーンカーブを生成することで、見る者に好ましく感じられるような色調補正を行うことができる。
【００８６】
Ｃ８．変形例８：
上記各実施例では、顔領域と背景に基づいてそれぞれトーンカーブＣ１，Ｃ２が生成され、それらに基づいて、色補正用トーンカーブＣ３が生成された。各トーンカーブＣ１〜Ｃ３は、画像データの色を補正するために使用されるデータセットである。しかし、画像データの色を補正するためのデータセットは、他の態様とすることもできる。
【００８７】
画像データの色を補正するためのデータセットは、たとえば、レッド、グリーン、ブルーの強度を表す階調値の組合せを入力値とし、同じくレッド、グリーン、ブルーの強度を表す階調値の組合せを出力値とする３次元ルックアップテーブルとすることもできる。また、Ｌ*ａ*ｂ*表色系やＨＳＢ表色系など、など、他の表色系のパラメータの組合せで表された色を入力値および出力値として有するルックアップテーブルとすることもできる。さらに、出力値を表す表色系が入力値を表す表色系とは異なるルックアップテーブルとすることもできる。また、少なくとも一部の色について、色を表す階調値の組合せを他の色を表す階調値の組合せに変換することができる行列とすることもできる。さらに、色を補正するためのデータセットは、所定の表色系のパラメータの種類に対応づけられた関数であって、対応づけられたパラメータを入力値および出力値とする関数の各項の係数の組合せ形で保持されていてもよい。すなわち、画像データの色を補正するためのデータセットは、画像データの色の少なくとも一部を変えることができるデータの集合であればよい。
【００８８】
色を補正するためのデータセットがルックアップテーブルである態様においては、出力値であるパラメータを重み付け平均することで、色補正用のデータセットを生成することができる。色を補正するためのデータセットが行列である態様においては、行列の各要素を重み付け平均することで、色補正用のデータセットを生成することができる。
【００８９】
Ｃ９．変形例９：
上記各実施例では、印刷システムは、コンピュータ９０、ＣＲＴディスプレイ２１、マウス１３０やキーボード１２０、プリンタ２２を含むシステムとして構成されていた。しかし、本発明の一態様としての印刷システムは、画像データが格納されたメモリカードを読み取るとができるカードリーダと、ユーザインターフェイス画面を表示することができるディスプレイと、ユーザの指示を入力するためのボタンと、第１実施例におけるプリンタドライバ９６の各モジュールと、を備えた一体型プリンタとして構成することもできる。
【００９０】
Ｃ１０．変形例１０：
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、プリンタドライバ９６（図１参照）の機能の一部をアプリケーションプログラム９５やプリンタ２２のＣＰＵ４１が実行するようにすることもできる。
【００９１】
このような機能を実現するコンピュータプログラムは、フロッピディスクやＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
【００９２】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
【００９３】
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【００９４】
【図１】第１の実施形態の印刷システムのソフトウェアの構成を示すブロック図。
【図２】色調調整モジュール１０３における色補正の処理を示すフローチャート。
【図３】初期画像データＰＩＤの画像領域Ａ０中の顔領域Ａ１と背景領域Ａ２を示す図。
【図４】顔領域用のトーンカーブＣ１を示す図。
【図５】背景用のトーンカーブＣ２を示す図。
【図６】画像の全領域Ａ０に対する顔領域Ａ１の大きさの割合Ｒｆと、顔用トーンカーブＣ１の重みＷ１および背景用トーンカーブＣ２の重みＷ２との関係を示すグラフ。
【図７】色補正用トーンカーブＣ３を示すグラフ。
【図８】第２実施例における顔領域Ａ１の大きさの割合Ｒｆと、顔用トーンカーブＣ１の重みＷ１ｂおよび背景用トーンカーブＣ２の重みＷ２ｂとの関係を示すグラフ。
【符号の説明】
【００９５】
２１…ＣＲＴディスプレイ
２２…プリンタ
２８…印刷ヘッド
３１…キャリッジ
３２…操作パネル
４１…ＣＰＵ
４２…ＲＯＭ
９０…コンピュータ
９１…ビデオドライバ
９５…アプリケーションプログラム
９６…プリンタドライバ
９７…解像度変換モジュール
９８…色変換モジュール
９９…ハーフトーンモジュール
１００…モジュール
１０３…色調調整モジュール
１０３ａ…顔領域決定部
１０３ｂ…第１のトーンカーブ生成部
１０３ｃ…第２のトーンカーブ生成部
１０３ｄ…決定部
１０３ｅ…色補正用トーンカーブ生成部
１０３ｆ…色調補正部
１０６…目標値テーブル
１０７…重みテーブル
１２０…キーボード
１３０…マウス
Ａ０…画像の全領域
Ａ１…顔領域
Ａ２…背景領域
Ｃ１…顔用トーンカーブ
Ｃ２…背景用トーンカーブ
Ｃ３…色補正用トーンカーブ
ＦＮＬ…印刷画像データ
ＭＩＤ１…解像度変換後の画像データ
ＭＩＤ２…色変換後の画像データ
ＭＩＤ３…ハーフトーン処理後の画像データ
ＭＳ…用紙Ｐの搬送方向ＳＳと垂直な方向
Ｏ１…人物
Ｏ２…空
Ｏ３…海
ＯＲＧ…原画像データ
Ｐ…印刷用紙
ＰＩＤ…ＲＧＢ表色系で表された初期画像データ
ＰＩＤｒ…ＲＧＢ表色系で表された色調補正後の画像データ
Ｒｆ…画像の全領域中に占める顔領域の割合
Ｒｆ１，Ｒｆ１ｂ…顔用トーンカーブＣ１の重みＷ１が最大値１となるときの顔領域の割合
Ｒｆ２，Ｒｆ２ｂ…顔用トーンカーブＣ１の重みＷ１が最小値０となるときの顔領域の割合
Ｒｆｃｃ…比較例において重みＷ１Ｃが０．５を超えるときの顔領域の割合
Ｒｆｃｅ…重みＷ１Ｃが０．５を超えるときの顔領域の割合
ＳＳ…印刷用紙の搬送方向
Ｗ１，Ｗ１ｂ…顔用トーンカーブＣ１の重み
Ｗ２，Ｗ２ｂ…背景用トーンカーブＣ２の重み
Ｗ１Ｃ…比較例における顔用トーンカーブＣ１の重み
Ｗ２Ｃ…比較例における背景用トーンカーブＣ２の重み
ｄＶ１…基準入力階調値Ｖｉ０１の増大量
ｄＶ２…基準入力階調値Ｖｉ０２の増大量
【図１】
0004635920.tif 000002
【図２】
0004635920.tif 000003
【図３】
0004635920.tif 000004
【図４】
0004635920.tif 000005
【図５】
0004635920.tif 000006
【図６】
0004635920.tif 000007
【図７】
0004635920.tif 000008
【図８】
0004635920.tif 000009