説明

画像データの色の補正

【課題】人が写っている写真画像の画像データについて色の補正を行う際に、人の顔とそれ以外の部分との両方について好適な補正を行うための技術を提供する。
【解決手段】写真画像の画像データの色を補正する際に、以下のような処理を行う。すなわち、まず、写真画像の画像データを解析して、写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する。そして、画像データの第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する。また、写真画像中の一部の領域であって第1の領域とは異なる第2の領域に該当する画像データの部分に基づいて、色に関する第2のパラメータを計算する。そして、第1と第2のパラメータに基づいて、画像データの色調を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像データの色を補正する技術に関する。
【背景技術】
【0002】
従来より、画像データに基づいて、その画像データの画像の色を補正する技術が知られている。たとえば、特許文献1においては、写真の中の人の顔が写っている領域を決定し、その人の顔の色が予め定められた目標色度値となるように、画像データの色の補正が行われる。
【0003】
【特許文献1】特開2000−182043号公報
【0004】
しかし、特許文献1の技術においては、画像データの色の補正内容を決定するにあたって人の顔の色以外は考慮されないため、人の顔以外の領域について、補正後の色が不自然になってしまう場合があった。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記の問題を取り扱うためになされたものであり、人が写っている写真画像の画像データについて色の補正を行う際に、人の顔とそれ以外の部分との両方について好適な補正を行うための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様においては、写真画像の画像データの色を補正する画像処理装置において、以下のような構成を設ける。すなわち、この画像処理装置は、写真画像の画像データを解析して、写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する第1の領域決定部と、画像データの第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する第1のパラメータ計算部と、写真画像中の一部の領域であって第1の領域とは異なる第2の領域に該当する画像データの部分に基づいて、色に関する第2のパラメータを計算する第2のパラメータ計算部と、第1と第2のパラメータに基づいて、画像データの色調を補正する色調補正部と、を有する。
【0007】
写真画像の画像データの色を補正する際には、以下のような処理を行う。すなわち、まず、写真画像の画像データを解析して、写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する。そして、画像データの第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する。また、写真画像中の一部の領域であって第1の領域とは異なる第2の領域に該当する画像データの部分に基づいて、色に関する第2のパラメータを計算する。そして、第1と第2のパラメータに基づいて、画像データの色調を補正する。
【0008】
上記のような態様とすれば、人の顔が存在する第1の領域と、第1の領域とは異なる第2の領域と、を区別してそれぞれパラメータを生成し、それらの別個のパラメータを反映させて画像データの色調を補正することができる。このため、人が写っている写真画像の画像データについて色の補正を行う際に、人の顔とそれ以外の部分との両方について好適な補正を行うことができる。なお、上記の処理は自動的に行われることが好ましい。
【0009】
なお、画像データの色調を補正する際には、以下のような処理を行うことが好ましい。すなわち、まず、第1のパラメータの目標値である第1の目標値と、第2のパラメータの目標値である第2の目標値と、を準備する。そして、第1の目標値と第1のパラメータの差と、第2の目標値と第2のパラメータの差と、の重み付け平均に基づいて、画像データの色調を補正する。
【0010】
このような態様においては、第1と第2のそれぞれの領域の目標値を、あらかじめそれぞれの領域の好ましい色調に対応する値に定めておくことができる。そのように第1と第2の領域の目標値を定めることによって、第1と第2のそれぞれの領域の色調があらかじめ定めた好ましい色調に近づくように、色調の補正を行うことができる。
【0011】
また、画像データの色調を補正する際には、第1のパラメータと第2のパラメータとの差に基づいて、重み付け平均に用いる重みを計算することが好ましい。このような態様とすれば、第1と第2の領域の色調が近似している場合と、大きく異なる場合と、のそれぞれの場合に、画像に適した好ましい補正を行うことができる。
【0012】
なお、写真画像中に占める第1の領域の割合に基づいて、重み付け平均に用いる重みを計算することもできる。そのような態様とすれば、写真画像中において顔が大きく写っている場合や多くの場所に顔が写っている場合など、写真画像において顔の部分が大きな割合を占める場合には、顔の色が好ましい色調となるように補正を行い、写真画像中において顔の部分が小さい割合を占める場合には、背景の色が好ましい色調となるように補正を行うことができる。
【0013】
なお、第1のパラメータは、第1の領域の明度の平均値とすることができ、第2のパラメータは、第2の領域の明度の平均値とすることができる。このような態様とすれば、人の顔とそれ以外の部分との両方について、好ましい明るさの色調に近づくように、補正を行うことができる。
【0014】
また、第2のパラメータを計算する際には、写真画像の第1の領域以外の領域の中から、隣接する画素が所定の程度以上に近似する領域を、第2の領域として決定することが好ましい。このような態様においては、背景において多くを占める対象物が好ましい色調となるように補正が行われる可能性が高い。
【0015】
なお、画像データの補正においては、以下のような処理を行うこともできる。すなわち、まず、人物を主たる被写体とする写真画像を処理するための第1の処理モードと、風景を主たる被写体とする写真画像を処理するための第2の処理モードと、人物および風景をともに主たる被写体とする写真画像を処理するための第3の処理モードと、を選択する。そして、第1または第2の処理モードが選択された場合に、画像データに基づいて色に関する第3のパラメータを計算し、第3のパラメータに基づいて画像データの色調を補正する。一方、第3の処理モードが選択された場合には、第1と第2のパラメータを計算し、第1と第2のパラメータに基づいて、画像データの色調を補正する。
【0016】
このような態様とすれば、人物をまたは風景を主たる被写体とする写真画像については、それら主たる被写体に適した補正を行うことができる。
【0017】
なお、第3のパラメータは、写真画像中の領域であって第1および第2の領域とは異なる第3の領域に該当する画像データの部分に基づいて、決定されることが好ましい。たとえば、第3のパラメータは、写真画像中の全領域に基づいて決定されることも好ましい。
【0018】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、印刷方法および印刷装置、印刷制御方法および印刷制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【0019】
A.第1実施例:
A1.装置の全体構成:
図1は、第1の実施形態の印刷システムのソフトウェアの構成を示すブロック図である。コンピュータ90では、所定のオペレーティングシステムの下で、アプリケーションプログラム95が動作している。また、オペレーティングシステムには、ビデオドライバ91やプリンタドライバ96が組み込まれている。
【0020】
アプリケーションプログラム95は、マウス130やキーボード120から入力されるユーザの指示に応じて、レッド(R),グリーン(G),ブルー(B)の3色の色成分からなる原画像データORGをCD−R140から読み込む。そして、ユーザの指示に応じて、原画像データORGに画像のレタッチなどの処理を行う。アプリケーションプログラム95は、処理を行った画像を、ビデオドライバ91を介してCRTディスプレイ21に画像を表示する。また、アプリケーションプログラム95は、ユーザからの印刷指示を受け取ると、プリンタドライバ96に印刷指示を出し、処理を行った画像を初期画像データPIDとしてプリンタドライバ96に出力する。初期画像データPIDは、各画素の色がsRGB表色系で表された画像データである。より具体的には、初期画像データPIDは、各画素について、レッド(R),グリーン(G),ブルー(B)の色成分の階調値(0〜255)を有する画像データである。
【0021】
プリンタドライバ96は、初期画像データPIDをアプリケーションプログラム95から受け取り、これをプリンタ22が処理可能な印刷画像データFNL(ここではシアン、マゼンダ、イエロー、ブラック、ライトシアン、ライトマゼンタの6色についての多値化された信号)に変換する。
【0022】
なお、「ライトシアン」は、シアンと色相が同じでシアンよりも明度が高いインク色である。また、「ライトマゼンタ」は、マゼンタと色相が同じでマゼンタよりも明度が高いインク色である。
【0023】
図1に示した例では、プリンタドライバ96の内部には、色調調整モジュール103と、解像度変換モジュール97と、色変換モジュール98と、ハーフトーンモジュール99と、並べ替えモジュール100とが備えられている。
【0024】
色調調整モジュール103は、アプリケーションプログラム95から受け取った初期画像データPIDを変換して色調を補正し、画像データPIDrを生成する。画像データPIDrは、各画素についてレッド(R),グリーン(G),ブルー(B)の色成分の階調値(0〜255)を有し、初期画像データPIDと同じ画素数を有する画像データである。
【0025】
なお、プリンタドライバ96における画像処理においては、ユーザが所定のタイミングで、マウス130やキーボード120を介して指示を入力することもできる。このように、CRT21の表示を通じてユーザに所定の指示を行わせ、マウス130やキーボード120を介して行われる入力を受け取る機能部を、UIモジュール(ユーザインターフェイスモジュール)105として図1に示す。
【0026】
解像度変換モジュール97は、画像データPIDrの解像度をプリンタ22で印刷を行う際の解像度に変換して画像データMID1を生成する。
【0027】
色変換モジュール98は、3次元ルックアップテーブル104bを参照しつつ、画像データMID1を画像データMID2に変換する。画像データMID2は、プリンタ22が使用するシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)、ライトシアン(LC)、ライトマゼンタ(LM)の濃度の階調値で各画素の色が表された画像データである。なお、3次元ルックアップテーブル104bは、入力値としてレッド、グリーン、ブルーの階調値の組み合わせを有し、出力値としてシアン、マゼンダ、イエロー、ブラック、ライトシアン、ライトマゼンタの階調値の組み合わせを有するルックアップテーブルである。
【0028】
ハーフトーンモジュール99は、各画素の各色の濃度が各色の階調値で表された画像データMID2にハーフトーン処理を行うことによって、各色の濃度が各画素におけるドットの有無で表される画像データMID3(「印刷データ」または「ドットデータ」とも呼ぶ)に変換する。
【0029】
こうして生成された画像データMID3は、並べ替えモジュール100によりプリンタ22に転送すべきデータ順に並べ替えられて、最終的な印刷画像データFNLとして出力される。
【0030】
プリンタ22は、紙送りモータによって用紙Pを搬送する機構と、キャリッジモータによってキャリッジ31を用紙Pの搬送方向SSと垂直な方向MSに往復動させる機構と、キャリッジ31に搭載されインクの吐出およびドット形成を行う印刷ヘッド28と、各種の設定データを格納しているP−ROM42と、これらの紙送りモータ,キャリッジモータ,印刷ヘッド28、P−ROM42および操作パネル32を制御するCPU41とから構成されている。プリンタ22は、印刷画像データFNLを受け取って、印刷画像データFNLに応じてシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)、ライトシアン(LC)、ライトマゼンタ(LM)で印刷媒体上にドットを形成し、印刷を実行する。
【0031】
なお、本明細書においては、「印刷装置」とは、狭義にはプリンタ22のみをさすが、広義にはコンピュータ90とプリンタ22とを含む印刷システム全体を表す。
【0032】
A2.色調調整モジュールにおける処理:
図2は、色調調整モジュール103における色補正の処理を示すフローチャートである。ステップS10では、ユーザが、マウス130やキーボード120を操作して、CRT21に表示されたユーザインターフェイス画面を通じて処理モードの指示を入力する。処理モードは、人物を主たる被写体とする写真画像を処理するための「人物」モードと、風景を主たる被写体とする写真画像を処理するための「風景」モードと、人物および風景をともに主たる被写体とする写真画像を処理するための「人物+風景」モードと、の中から選択される。なお、ステップS10においては、プリンタドライバ96のユーザインターフェイスモジュール105が、CRTディスプレイ21にユーザインターフェイス画面を表示し、かつ、マウス130やキーボード120を介したユーザからの入力を受け取る。
【0033】
図3は、初期画像データPIDの画像A0中の顔領域A1と背景対象領域A2を示す図である。本実施例では、アプリケーションプログラム95から送られた初期画像データPIDは、デジタルスチルカメラによって生成された写真画像のデータである。初期画像データPIDの画像中には、被写体として、人物O1と、空O2と、海O3と、が含まれている。初期画像データPIDの写真画像は、人物O1、ならびに背景である空O2および海O3を等しく主たる被写体とする写真画像である。このような画像を処理する場合には、ユーザは、図2のステップS10において、「人物+風景」モードを選択する。
【0034】
ステップS20では、色調調整モジュール103は、ステップS10で入力された処理モードが「人物+風景」モードであったか、「人物」モードまたは「風景」モードであったかを判定する。ステップS10で入力された処理モードが「人物+風景」モードであった場合は、処理はステップS30に進む。ステップS10で入力された処理モードが「人物」モードまたは「風景」モードであった場合は、処理はステップS90に進む。なお、図2のフローチャートのステップS20以下の各処理は、色調調整モジュール103によって実行される。
【0035】
ステップS30では、色調調整モジュール103は、初期画像データPIDを解析し、顔領域A1を決定する。顔領域A1の決定は、たとえば、初期画像データPIDの画像の一部分について、順に、人間の目および口の基本的なパターンを表す基準パターンとマッチングさせることによって行われる。本実施例では、顔領域A1は目と口を含む長方形の領域として特定される(図3参照)。なお、初期画像データPIDを解析し、顔領域A1を決定する色調調整モジュール103の機能部を、顔領域決定部103aとして図1に示す。
【0036】
図2のステップS40では、色調調整モジュール103は、画像A0中の顔領域A1以外の領域から背景対象領域A2を決定する。背景対象領域A2は、たとえば、以下のようにして決定される。すなわち、まず、画像A0中の顔領域A1以外の領域に含まれる各画素を順に隣の画素と比較する。比較対象とする隣の画素は、検討対象とする画素Poに対して上側に隣接する画素Puと、左側に隣接する画素Plである(図3参照)。
【0037】
互いに隣接する画素の色が近似している場合、検討対象の画素Poは、比較対象の画素と同じグループに分類される。より具体的には、隣接する画素(たとえば、画素Plと画素Po)のレッド、グリーンおよびブルーの各階調値同士の差が一定値以下である場合に、検討対象の画素Poは、比較対象の画素と同じグループに分類される。そのようにして、画像A0中の顔領域A1以外の領域中の画素は1以上のグループに分類される。
【0038】
その様にして生成された画素のグループのうち、もっとも画素数の多いグループが占める領域が、背景対象領域A2として選択される。なお、初期画像データPIDを解析し、背景対象領域A2を決定する色調調整モジュール103の機能部を、背景領域決定部103bとして図1に示す。
【0039】
ステップS50では、各画素の色がRGB表色系の階調値で表されている初期画像データPIDが、各画素の色がL***表色系の階調値で表される画像データPIDLに変換される。
【0040】
ステップS60では、顔領域A1に含まれる画素の明度の平均値La1が計算される。具体的には、初期画像データPIDの顔領域A1に含まれる画素に対応する画像データPIDLの画素について、明度L*の平均値が計算される。なお、顔領域A1に含まれる画素の明度の平均値La1を計算する色調調整モジュール103の機能部を、第1のパラメータ計算部103cとして図1に示す。
【0041】
ステップS70では、背景対象領域A2に含まれる画素の明度の平均値La2が計算される。ステップS60と同様に、初期画像データPIDの背景対象領域A2に含まれる画素に対応する画像データPIDLの画素について、明度L*の平均値が計算される。なお、背景対象領域A2に含まれる画素の明度の平均値La2を計算する色調調整モジュール103の機能部を、第2のパラメータ計算部103dとして図1に示す。
【0042】
ステップS80では、顔領域A1に含まれる画素の明度の平均値La1と、背景対象領域A2の明度の平均値La2とから、明度補正量dLが計算される。明度補正量dLは、以下の式(1)で計算される。
【0043】
dL=α×(Lt1−La1)+(1−α)×(Lt2−La2) ・・・ (1)
【0044】
ここで、Lt1は、顔領域A1の目標明度である。Lt1は、たとえば、70とすることができる。一方、Lt2は、背景対象領域A2の目標明度である。Lt2は、たとえば、50とすることができる。これらの目標明度は、プリンタドライバ96が目標値テーブル104a内に保持している(図1参照)。式(1)のαは、顔領域A1の目標明度Lt1と平均明度La1との差に付される重みであり、(0<α≦1)の条件を満たす係数である。したがって、(1−α)が、背景対象領域A2の目標明度Lt2と平均明度La2との差付される重みである。
【0045】
このように明度補正量dLを定めることで、顔領域A1の理想的な明るさLt1からの顔領域A1の明るさのズレ(Lt1−La1)と、背景対象領域A2の理想的な明るさLt2からの背景対象領域A2の明るさのズレ(Lt2−La2)と、をともに考慮して、画像の明度補正量dLを決定することができる。
【0046】
図4は、顔領域A1に含まれる画素の明度の平均値La1と、背景対象領域A2の明度の平均値La2と、の差dLaに基づいて重み係数αを定めるためのグラフである。La1とLa2の差dLaが±20である領域では、αは、一定値α0=0.7である。そして、dLaが20より大きい領域では、dLaの増加に伴って線形に増大する。また、dLaが−20より小さい領域では、dLaの減少に伴って線形に減少する。αは、dLaが100のとき1であり、dLaが−100のとき0である。
【0047】
図4のようにαを定めることで、顔領域A1の明るさと背景対象領域A2の明るさとが近似しているとき(−20<dLa<20)には、顔領域A1の明るさのズレに付される重みは0.7となる。人物と背景とがともに主たる被写体となっている場合にも、写真画像を見る人は、背景に比べて人物の顔の明るさに敏感である。よって、顔領域A1の明るさと背景対象領域A2の明るさとが近似しているときに、顔領域のズレの補正を重視した重み付け(α>0.5)を行って補正量を決定することで、見る者がより自然であると感じられる画像となるように、明るさの補正を行うことができる。
【0048】
また、図4のようにαを定めることで、顔領域A1の明るさが背景対象領域A2の明るさに比べて有意に明るいとき(dLa>20)には、両者が近似しているとき(−20<dLa<20)にくらべて、より顔領域A1のズレの補正を重視した重み付けが行われる。このように補正量を決定することで、補正の結果、人物の顔が不自然に白くなってしまう事態を防止することができる。
【0049】
さらに、図4のようにαを定めることで、顔領域A1の明るさが背景対象領域A2の明るさに比べて有意に暗いとき(dLa<−20)には、両者が近似しているとき(−20<dLa<20)にくらべて、より背景対象領域A2のズレの補正を重視した重み付けが行われる。このように補正量を決定することで、補正の結果、背景が不自然に白くなってしまう事態を防止することができる。
【0050】
ただし、顔領域A1と背景対象領域A2の明るさの差が同程度である場合には、顔領域の方がより重視される重み付けがなされる。たとえば、dLa=50であり顔領域A1の方が明るい場合には、顔領域A1の重みαは0.8125である。これに対して、dLa=−50であり背景対象領域A2の方が明るい場合には、αは0.4375であり、背景対象領域A2の重み(1−α)は、0.5625である。前述のように、人は、顔の明るさの方を背景の明るさよりも重視する。このため、このような重み付けを行うことで、自然な画像となるように明るさの補正を行うことができる。
【0051】
図5は、画像データPIDLの、各画素の明度L*の改変方法を示すトーンカーブCLを示す図である。図5の横軸が明度の入力値Liであり、縦軸が明度の出力値Loである。図5のトーンカーブは、明度の入力値Lirにおいて、明度をdLだけ増大させるトーンカーブである。Lirは、たとえば、明度の階調値0〜100の中間の値である50とすることができる。そして、図5のトーンカーブは、明度の入力値0を出力値0に置き換え、明度の入力値100を出力値100に置き換える、2次曲線のトーンカーブである。なお、図5において、入力値Lirに対応する出力値をLorで示す。また、本明細書において説明されるトーンカーブは、実際には、離散値である入力値と出力値を含むテーブルとして用意される。
【0052】
図2のステップS120では、色調調整モジュール103は、ステップS80で計算したdLにしたがって、図5のトーンカーブを生成する。そして、図5のトーンカーブにしたがって、L***表色系の階調値で表された画像データPIDLの各画素の明度を改変する。なお、以下では、改変後の画像データを画像データPIDLrと表記する。
【0053】
ステップS130では、そのようにして生成された画像データPIDLrを、RGB表色系の階調値(0〜255)で表された画像データPIDrに変換する(図1参照)。
このように、トーンカーブを生成し、画像変換を行って色調を改変し、画像データPIDrを生成する機能を果たす色調調整モジュール103の機能部を、色調補正部103fとして図1に示す。
【0054】
一方、図2のステップS20において、ステップS10で入力された処理モードが「人物」モードまたは「風景」モードであった場合は、処理は、ステップS90に進む。
【0055】
ステップS90では、ステップS50と同様に、各画素の色がRGB表色系の階調値で表されている初期画像データPIDが、各画素の色がL***表色系の階調値で表される画像データPIDLに変換される。
【0056】
ステップS100では、画像データPIDLの全画素の明度L*の平均値La3が計算される。なお、画像データPIDLの全画素の明度L*の平均値La3を計算する機能は、色調調整モジュール103の機能部としての第3のパラメータ計算部103eが奏する(図1参照)。
【0057】
その後、ステップS110では、以下の式(2)にしたがって、明度の改変量dLが計算される。
【0058】
dL=Lt3−La3 ・・・ (2)
【0059】
ここで、Lt3は、目標明度である。ステップS10で「人物」モードが選択された場合には、Lt3には、顔領域A1の目標明度Lt1が代入される。一方、ステップS10で「風景」モードが選択された場合には、Lt3にはLt2が代入される。これらの目標明度Lt1,Lt2は、プリンタドライバ96が目標値テーブル104a内に保持している(図1参照)。
【0060】
その後、ステップS120,S130における処理は、すでに説明したとおりに行われる。ステップS110〜S130の機能は、色調調整モジュール103の機能部としての色調補正部103fが奏する。
【0061】
第1実施例では、以上のように、「人物+風景」モードの処理においては、画像データ中の顔領域A1と、顔領域A1とは異なる背景対象領域A2と、についてそれぞれ明度の平均値La1とLa2を求め、それらの平均値に基づいて初期画像データPIDの明度を調整して画像データPIDrを生成する。このため、顔領域のデータのみに基づいて明度の調整量を決定する態様のように、背景の明るさが不自然なものとなってしまう可能性が低い。また、背景のデータのみに基づいて明度の調整量を決定する態様のように、人物の顔の明るさが不自然になってしまう可能性も低い。すなわち、画像データの画像について、人物と背景との両方についてユーザが自然に感じられる明るさを有するように、色調を調整することができる。
【0062】
また、第1実施例では、「人物」モードや「風景」モードの処理においては、画像全体について明度の平均値La3を求め、その平均値に基づいて初期画像データPIDの明度を調整して画像データPIDrを生成する。このため、初期画像データPIDの画像全体の明るさが人物写真や風景写真に適した明るさになるように調整することができる。
【0063】
B.第2実施例:
第2実施例では、顔領域A1以外の領域に基づいて写真画像の「シーン」を決定し、決定された「シーン」に基づいて、明度の目標値Lt1,Lt2を決定する。第2実施例における他の処理および装置構成は、第1実施例と同じである。
【0064】
図6は第2実施例における色補正の処理を示すフローチャートである。図6のフローチャートは、ステップS43,S45,S93,S95以外の処理は、図2のフローチャートと同じである。なお、図6のフローチャートでは、図2のフローチャートと処理内容が等しいステップS50〜S70の図示を省略している。
【0065】
第2実施例では、色調調整モジュール103は、ステップS40の後、ステップS43において、初期画像データPIDに基づいて初期画像データPIDの画像の「シーン」を決定する。「シーン」は、たとえば、「青空」、「夕焼け空」、「木」などのあらかじめ用意された複数の選択肢の中から選択される。「シーン」は、初期画像データPIDの全画素の色の平均に基づいて決定することができる。すなわち、「シーン」は、初期画像データPIDの全画素についての、レッドの階調値の平均値、グリーンの階調値の平均値、およびブルーの階調値の平均値の組合せに基づいて、定めることができる。また、初期画像データPIDがExif(Exchangeable Image File Format)データを保持している場合には、「シーン」は、それらのExifデータに基づいて決定することもできる。
【0066】
ステップS45では、ステップS43で決定されたシーンに基づいて、顔領域A1の明度の目標値Lt1、および背景対象領域A2の明度の目標値Lt2を決定する。たとえば、「シーン」が「夕焼け空」であるときには、Lt2は30に設定される。そして、「シーン」が「青空」であるときには、Lt2は50に設定される。同様に、顔領域A1の明度の目標値Lt1もシーンに応じて決定される。これらの「シーン」に応じた明度の目標値Lt1,Lt2は、あらかじめ目標値テーブル104a内にプリンタドライバ96が保持している(図1参照)。
【0067】
ステップS45の後には、第1実施例のステップS50以下の処理(図2参照)と同じ処理が行われる。
【0068】
一方、ステップS90の後には、ステップS93が実行される。ステップS93での処理内容は、ステップS43と同じである。すなわち、初期画像データPIDに基づいて「シーン」が決定される。そして、ステップS95では、ステップS93で決定された「シーン」、およびステップS10で入力された処理モードに応じて明度の目標値Lt3が決定される。これらの「シーン」および処理モードに応じた明度の目標値Lt3は、あらかじめ目標値テーブル104a内にプリンタドライバ96が保持している。
【0069】
ステップS95の後には、図2のフローチャートと同様に、ステップS100以下の処理が行われる。
【0070】
第2実施例のような態様とすれば、各画像データについて、シーンに応じた目標明度を設定することができる。このため、たとえば、夕焼けの景色であるにもかかわらず、補正の結果、画像が不自然に明るくなってしまうような事態を防止することができる。すなわち、画像データの内容に適した補正を行うことができる。
【0071】
C.第3実施例:
第1実施例では、明度補正量dLを決定する際の重み係数αは、顔領域A1に含まれる画素の明度の平均値La1と、背景対象領域A2の明度の平均値La2と、の差dLaに基づいて決定されていた(図4参照)。第3実施例では、重み係数は、顔領域A1が画像A0全体に占める大きさの割合Rfに基づいて決定される。そして、図2のステップS90〜S110の処理は実行されない。第3実施例の他の点は、第1実施例と同じである。
【0072】
図7は、顔領域A1の割合Rfと顔領域A1の重み係数αとの関係を定めるグラフCwである。顔領域A1の割合Rfが0のとき重み係数αは0であり、顔領域A1の割合Rfが100のとき重み係数αは1である。そして、αは、Rfの増加に伴って上に凸のカーブに沿って増大する。なお、顔領域A1の割合Rfは、顔領域A1の画素数を画像の全画素数で割って得られるものとする。
【0073】
第3実施例においては、顔領域A1が画像A0中に占める割合が大きいほど、補正量dLの決定において(式(1)参照)、顔領域A1のズレの補正を重視した重み付けがなされる。背景対象領域A2が画像A0中に占める割合が大きいほど、補正量dLの決定において、背景対象領域A2のズレの補正を重視した重み付けがなされる。言い換えれば、画像中に占める割合が大きくよりユーザの目に付きやすい領域を重視して、明度の補正が行われる。このため、明度の補正によって、ユーザによる評価が高い画像を生成することができる。
【0074】
また、重み係数αは、Rfの増加に伴って上に凸のカーブに沿って増大する。人は、画像中に占める面積が同じであれば、背景の色調よりも人物の顔の色調をより重視する。よって、図7のようなカーブに沿って重み係数を決定して明度の補正を行うことで、よりユーザによる評価が高い画像を生成することができる。
【0075】
D.第4実施例:
第1〜第3実施例では、初期画像データPIDについて明度の補正を行って、画像データPIDrを生成していた(図1および図5参照)。第4実施例では、初期画像データPIDの各画素のレッド、グリーン、ブルーの各階調値をトーンカーブに基づいて改変して、画像データPIDrを生成する。第4実施例の他の点は、第2実施例と同じである。
【0076】
図8は、第4実施例における色補正の処理を示すフローチャートである。図8のフローチャートのステップS10〜S43,S90,S93の処理は、図6のフローチャートと同じである。
【0077】
ステップS47では、ステップS43で決定されたシーンに基づいて、顔領域A1のレッド、グリーン、ブルーの目標階調値Vrt1,Vgt1,Vbt1、および背景対象領域A2のレッド、グリーン、ブルーの目標階調値Vrt2,Vgt2,Vbt2を決定する。これらの「シーン」に応じたRGBの目標階調値は、あらかじめ目標値テーブル104a内にプリンタドライバ96が保持している(図1参照)。
【0078】
第4実施例では、初期画像データPIDからL***表色系の画像データPIDLへの変換(図2のステップS50参照)は行われない。また、その結果として、画像データPIDLからRGB表色系の画像データPIDrへの逆変換も行われない(図2のステップS130参照)。
【0079】
ステップS65では、顔領域A1のレッド、グリーン、ブルーの階調値の平均値Vra1,Vga1,Vba1が計算される。そして、ステップS75では、背景対象領域A2のレッド、グリーン、ブルーの階調値の平均値Vra2,Vga2,Vba2が計算される。
【0080】
ステップS85では、レッド、グリーン、ブルーの階調値の補正量dR,dG,dBが以下の式で計算される。なお、α4は、顔領域A1のRGBの階調値の補正に関する重み付け係数である。
【0081】
dR=α4×(Vrt1−Vra1)+(1−α4)×(Vrt2−Vra2) ・・・ (3)
dG=α4×(Vgt1−Vga1)+(1−α4)×(Vgt2−Vga2) ・・・ (4)
dB=α4×(Vbt1−Vba1)+(1−α4)×(Vbt2−Vba2) ・・・ (5)
【0082】
図9は、初期画像データPIDの各画素のレッド、グリーン、ブルーの各階調値を改変するためのトーンカーブを示す図である。図9の横軸がレッド、グリーン、ブルーの入力階調値Vi(0〜255)であり、縦軸がレッド、グリーン、ブルーの出力階調値Vo(0〜255)である。レッドのトーンカーブCrは、入力値階調VirgbをdRだけ増大させるトーンカーブである。グリーンのトーンカーブCgは、入力値階調VirgbをdGだけ増大させるトーンカーブである。ブルーのトーンカーブCbは、入力値階調VirgbをdBだけ増大させるトーンカーブである。図9の例では、dR,dGは正の値であり、dBは負の値である。なお、入力値階調Virgbは、0〜255の中央の値128とすることができる。
【0083】
各トーンカーブCr,Cg,Cbは、入力階調値0を出力階調値0に置き換え、入力階調値255を出力階調値255に置き換える2次曲線のトーンカーブである。なお、図9において、入力階調値Virgbに対応するレッドの出力階調値をVorで示す。また、入力階調値Virgbに対応するグリーンの出力階調値をVogで示す。そして、入力階調値Virgbに対応するブルーの出力階調値をVobで示す。
【0084】
図8のステップS125では、補正量dR,dG,dBに基づいて図9のようなトーンカーブCr,Cg,Cbが生成され、それらのトーンカーブCr,Cg,Cbに基づいて画像変換が行われる。その結果、初期画像データPIDから画像データPIDrが生成される(図1参照)。
【0085】
一方、ステップS95では、ステップS93で決定された「シーン」、およびステップS10で入力された処理モードに応じて、レッド、グリーン、ブルーの目標階調値Vrt3,Vgt3,Vbt3が決定される。これらの「シーン」および処理モードに応じたRGBの目標階調値は、あらかじめ目標値テーブル104a内にプリンタドライバ96が保持している。
【0086】
ステップS105では、初期画像データPIDの全画素のレッド、グリーン、ブルーの階調値の平均値Vra3,Vga3,Vba3が計算される。そして、ステップS115では、以下の式(6)〜(8)にしたがって、レッド、グリーン、ブルーの改変量dR,dG,dBが計算される。
【0087】
dR=Vrt3−Vra3 ・・・ (6)
dG=Vgt3−Vga3 ・・・ (7)
dB=Vbt3−Vba3 ・・・ (8)
【0088】
その後、ステップS125において、トーンカーブCr,Cg,Cb(図9参照)が生成され、それらのトーンカーブCr,Cg,Cbに基づいて画像変換が行われる
【0089】
第4実施例のような態様とすれば、画像データの画像について、明度だけではなく、彩度、色相についても、人物と背景との両方についてユーザが自然に感じられる明るさを有するように調整することができる。
【0090】
E.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0091】
E1.変形例1:
上記実施例では、顔領域A1は一つであった(図3参照)。しかし、顔領域は、画像中において複数個、特定することもできる。すなわち、顔領域は、パターンマッチングや画素の色に基づいて、1以上、特定されることができる。なお、明度や色成分の階調値の平均値を計算する際には、それらの複数の顔領域すべての画素の平均値を計算する態様とすることができる。また、複数の顔領域のうち、大きい方から所定の数だけの顔領域について、平均値を計算する態様とすることもできる。さらに、複数の顔領域のうち、大きい順に順位付けしたときに、所定の割合よりも上位の順位に該当する顔領域のみについて、平均値を計算する態様とすることもできる。
【0092】
E2.変形例2:
上記実施例では、背景対象領域A2は、顔領域A1以外の領域の一部の領域であった(図3参照)。しかし、背景対象領域A2は、画像A0中の顔領域A1以外の全領域とすることもできる。また、背景対象領域A2は、顔領域A1以外の領域と、顔領域A1の一部と、を含むように設定することもできる。そして、背景対象領域A2は、顔領域A1以外の領域と、顔領域A1の全部と、を含むように設定することもできる。
【0093】
また、上記実施例では、ある画素の色が、上側または左側に隣接する画素の色と近似する場合には、その画素は同一のグループに分類された(図3参照)。しかし、画素同士の色の比較は、ある画素と、その画素の右側に隣接する画素と、の間で行うこともできるし、ある画素と、その画素の下側に隣接する画素と、の間で行うこともできる。
【0094】
また、顔領域A1以外の領域の画素のグループは、隣接する画素の色同士を比較して決定する態様以外の態様で決定することもできる。たとえば、青空の基準色、夕焼け空の基準色、木の緑の基準色など、所定の基準色に対してある程度以上に近似する色の画素を同一グループに分類することもできる。
【0095】
さらに、上記実施例では、そのようなグループの中で画素数が最も多い一つのグループで構成される領域を背景対象領域A2としていた。しかし、背景対象領域A2は、他の方法で決定することもできる。たとえば、背景対象領域A2は、複数のグループのうち、大きい方から所定の数だけのグループについて、背景対象領域A2とすることもできる。さらに、複数のグループのうち、大きい順に順位付けしたときに、所定の割合よりも上位の順位に該当するグループのみについて、背景対象領域A2とすることもできる。
【0096】
E3.変形例3:
上記第1実施例では、顔領域A1と背景対象領域A2との明度の差が0を含む一定範囲内であるときの顔領域A1の重み係数α0は、0.7であった(図4参照)。しかし、顔領域A1と背景対象領域A2との明度の差が一定範囲内であるときの顔領域A1の重みα0は、他の値とすることもできる。ただし、α0は、0.5よりも大きい値であることが好ましい。そのように顔領域A1の重み係数α0を定めることで、顔領域A1と背景対象領域A2の明度が近いときに、背景に比べて顔領域の色の修正を重視した補正を行うことができる。なお、顔領域A1と背景対象領域A2との明度の差が一定範囲内であるときの顔領域A1の重み係数α0は、0.6〜0.8であることが好ましく、0.65〜0.75であることがより好ましい。
【0097】
また、顔領域A1の重み係数αを定めるグラフは、曲線で構成することもできる。ただし、顔領域A1と背景対象領域A2との明度の差dLaが0を含む一定範囲内であるときのαの傾きは、dLaがそれ以外の範囲にあるときのαの傾きよりも小さいことが好ましい。
【0098】
さらに、顔領域A1と背景対象領域A2との明度の差が0を含む一定範囲内であるときの顔領域A1の重み係数α0は、顔領域A1が画像に占める割合Rfに基づいて定めることもできる。そして、顔領域A1の重み係数αは、顔領域A1と背景対象領域A2との明度の差と、顔領域A1が画像に占める割合Rfと、の両方に基づいて、定めることができる(図4および図7参照)。
【0099】
E4.変形例4:
上記第1実施例では、明度の補正を行うためのトーンカーブは、(0,0)と、(Lir,Lor)と、(100,100)の3点を通るトーンカーブであった(図5参照)。そして、トーンカーブを生成する際に基準となる入力階調値Lirは、L*=50であった。しかし、トーンカーブを生成する際に基準となる入力階調値Lirは、他の値とすることもできる。たとえば、人の顔の理想的な明度と等しい値(たとえばL*=70)とすることもできる。また、「シーン」(図2のステップS10参照)や処理モード(図6のステップS43,S93参照)に基づいて、トーンカーブを生成する際に基準となる入力階調値Lirを定めることもできる。
【0100】
また、上記第1実施例では、明度のトーンカーブは、3点を通る2次曲線であった(図5参照)しかし、トーンカーブは、3次曲線、4次曲線、スプライン曲線、ベジエ曲線など、他の曲線とすることもできる。
【0101】
同様に、第4実施例のレッド、グリーン、ブルーのトーンカーブCr,Cg,Cbについても、基準となる入力階調値Virgbは、明度のトーンカーブと同様に、さまざまな値とすることができる。また、基準となる入力階調値は、レッド、グリーン、ブルーで、それぞれ独自の値とすることもできる。さらに、レッド、グリーン、ブルーのトーンカーブCr,Cg,Cbも、2次曲線以外に、3次曲線、4次曲線、スプライン曲線、ベジエ曲線など、他の曲線とすることもできる。
【0102】
E5.変形例5:
上記第2実施例では、「シーン」は、画像全体に基づいて定めていた(図6のステップS43,S93参照)。しかし、シーンは、他の方法でシーンを定めることもできる。たとえば、画像A0全体のうち、顔領域A1以外の領域に基づいて、「シーン」を定めることもできる。
【0103】
E6.変形例6:
上記各実施例では、印刷システムは、コンピュータ90、CRTディスプレイ21、マウス130やキーボード120、プリンタ22を含むシステムとして構成されていた。しかし、本発明の一態様としての印刷システムは、画像データが格納されたメモリカードを読み取るとができるカードリーダと、ユーザインターフェイス画面を表示することができるディスプレイと、ユーザの指示を入力するためのボタンと、第1実施例におけるプリンタドライバ96の各モジュールと、を備えた一体型プリンタとして構成することもできる。
【0104】
E7.変形例7:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、プリンタドライバ96(図1参照)の機能の一部をアプリケーションプログラム95やプリンタ22のCPU41が実行するようにすることもできる。
【0105】
このような機能を実現するコンピュータプログラムは、フロッピディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
【0106】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
【0107】
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【0108】
【図1】第1の実施形態の印刷システムのソフトウェアの構成を示すブロック図。
【図2】色調調整モジュール103における色補正の処理を示すフローチャート。
【図3】初期画像データPIDの画像A0中の顔領域A1と背景対象領域A2を示す図。
【図4】顔領域A1に含まれる画素の明度の平均値La1と、背景対象領域A2の明度の平均値La2と、の差dLaに基づいて重み係数αを定めるためのグラフ。
【図5】画像データPIDLの、各画素の明度L*の改変方法を示すトーンカーブ。
【図6】第2実施例における色補正の処理を示すフローチャート。
【図7】顔領域A1の割合Rfと顔領域A1の重み係数αとの関係を定めるグラフ。
【図8】第4実施例における色補正の処理を示すフローチャート。
【図9】初期画像データPIDの各画素のレッド、グリーン、ブルーの各階調値を改変するためのトーンカーブを示す図。

【特許請求の範囲】
【請求項1】
写真画像の画像データの色を補正する画像処理装置であって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する第1の領域決定部と、
前記画像データの前記第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する第1のパラメータ計算部と、
前記写真画像中の一部の領域であって前記第1の領域とは異なる第2の領域に該当する前記画像データの部分に基づいて、色に関する第2のパラメータを計算する第2のパラメータ計算部と、
前記第1と第2のパラメータに基づいて、前記画像データの色調を補正する色調補正部と、を有する画像処理装置。
【請求項2】
請求項1記載の画像処理装置であって、
前記色調補正部は、
前記第1のパラメータの目標値である第1の目標値と、前記第2のパラメータの目標値である第2の目標値と、を準備し、
前記第1の目標値と前記第1のパラメータの差と、前記第2の目標値と前記第2のパラメータの差と、の重み付け平均に基づいて、前記画像データの前記色調を補正する、画像処理装置。
【請求項3】
請求項2記載の画像処理装置であって、
前記色調補正部は、
前記第1のパラメータと前記第2のパラメータとの差に基づいて、前記重み付け平均に用いる重みを計算する、画像処理装置。
【請求項4】
請求項2記載の画像処理装置であって、
前記色調補正部は、
前記写真画像中に占める前記第1の領域の割合に基づいて、前記重み付け平均に用いる重みを計算する、画像処理装置。
【請求項5】
請求項2記載の画像処理装置であって、
前記第1のパラメータは、前記第1の領域の明度の平均値であり、前記第2のパラメータは、前記第2の領域の明度の平均値である、画像処理装置。
【請求項6】
請求項1記載の画像処理装置であって、
前記第2のパラメータ計算部は、
前記写真画像の前記第1の領域以外の領域の中から、隣接する画素が所定の程度以上に近似する領域を、前記第2の領域として決定する、画像処理装置。
【請求項7】
請求項1記載の画像処理装置であって、さらに、
人物を主たる被写体とする写真画像を処理するための第1の処理モードと、風景を主たる被写体とする写真画像を処理するための第2の処理モードと、人物および風景をともに主たる被写体とする写真画像を処理するための第3の処理モードと、を含む複数の処理モードの中から一の処理モードをユーザに選択させるユーザインターフェイス部と、
前記第1または第2の処理モードが選択された場合に、前記画像データに基づいて、色に関する第3のパラメータを計算する第3のパラメータ計算部と、を備え、
前記色調補正部は、
前記第1または第2の処理モードが選択された場合に、前記第3のパラメータに基づいて前記画像データの前記色調を補正し、
前記第3の処理モードが選択された場合に、前記第1と第2のパラメータに基づいて、前記画像データの前記色調を補正する画像処理装置。
【請求項8】
写真画像の画像データの色を補正して印刷を行う印刷装置であって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する第1の領域決定部と、
前記画像データの前記第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する第1のパラメータ計算部と、
前記写真画像中の一部の領域であって前記第1の領域とは異なる第2の領域に該当する前記画像データの部分に基づいて、色に関する第2のパラメータを計算する第2のパラメータ計算部と、
前記第1と第2のパラメータに基づいて、前記画像データの色調を補正する色調補正部と、
前記補正後の前記画像データに基づいて印刷を実行する印刷部と、を有する印刷装置。
【請求項9】
写真画像の画像データの色を補正する方法であって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する工程と、
前記画像データの前記第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する工程と、
前記写真画像中の一部の領域であって前記第1の領域とは異なる第2の領域に該当する前記画像データの部分に基づいて、色に関する第2のパラメータを計算する工程と、
前記第1と第2のパラメータに基づいて、前記画像データの色調を補正する工程と、を有する方法。
【請求項10】
コンピュータに写真画像の画像データの色の補正を実行させるためのコンピュータプログラムであって、
写真画像の画像データを解析して、前記写真画像中の一部の領域であって人の顔が存在する第1の領域を決定する機能と、
前記画像データの前記第1の領域に該当する部分に基づいて、色に関する第1のパラメータを計算する機能と、
前記写真画像中の一部の領域であって前記第1の領域とは異なる第2の領域に該当する前記画像データの部分に基づいて、色に関する第2のパラメータを計算する機能と、
前記第1と第2のパラメータに基づいて、前記画像データの色調を補正する機能と、をコンピュータに実現させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−105951(P2009−105951A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2009−13749(P2009−13749)
【出願日】平成21年1月26日(2009.1.26)
【分割の表示】特願2006−45039(P2006−45039)の分割
【原出願日】平成18年2月22日(2006.2.22)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】