(57)【特許請求の範囲】
【請求項１】
原画像の輝度信号に基づく第１のヒストグラムを作成し、前記第１のヒストグラムから第１のハイライトポイントを検出し、
ＲＧＢ信号から生成され、前記輝度信号よりも青色に対する重みが大きい信号である明度に基づき、前記原画像の第２のヒストグラムを作成し、前記第２のヒストグラムから第２のハイライトポイントを検出し、
前記原画像の特性に応じて、前記第１のハイライトポイントあるいは前記第２のハイライトポイントのいずれかを選択し、
前記選択されたハイライトポイントに基づき、前記原画像に対して画像補正を行う
ことを特徴とする画像処理方法。
【請求項２】
前記画像補正は、前記原画像の特性にかかわらず予め設定されているシャドーポイント検出方法によりシャドーポイントを検出し、
前記選択されたハイライトポイントおよび前記検出されたシャドーポイントに基づき前記画像補正を行うことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記第２のハイライトポイント検出方法は、青空シーン用のハイライトポイント検出方法であることを特徴とする請求項１記載の画像処理方法。
【請求項４】
さらに、ユーザの指示に応じてハイライトポイントを選択することを特徴とする請求項１記載の画像処理方法。
【請求項５】
前記第１のハイライトポイントと前記第２のハイライトポイントを比較し、
小さい値を有するハイライトポイントを、前記画像補正に用いるハイライトポイントとして選択されることを特徴とする請求項１記載の画像処理方法。
【請求項６】
原画像のヒストグラムを生成し、
前記ヒストグラムにおいて高輝度部にピークがあるか否かを検出し、
前記検出結果、前記高輝度部にピークが存在する場合、前記原画像の輝度信号または明度信号に基づくヒストグラムを作成し、前記ヒストグラムからハイライトポイントを決定し、
前記検出結果、前記高輝度部にピークが存在しない場合、前記原画像の輝度信号に基づく第１のヒストグラムを作成し、前記第１のヒストグラムから第１のハイライトポイントを検出し、
ＲＧＢ信号から生成され、前記輝度信号よりも青色に対する重みが大きい信号である明度に基づき、前記原画像の第２のヒストグラムを作成し、前記第２のヒストグラムから第２のハイライトポイントを検出し、
前記原画像の特性に応じて、前記第１のハイライトポイントあるいは前記第２のハイライトポイントのいずれかを選択してハイライトポイントを決定することを特徴とする画像処理方法。
【請求項７】
前記原画像の高輝度部にあるピークは、前記原画像の逆光シーンであることを特徴とする請求項６記載の画像処理方法。
【請求項８】
原画像の輝度信号に基づく第１のヒストグラムを作成し、前記第１のヒストグラムから第１のハイライトポイントを検出する第１の検出手段と、
ＲＧＢ信号から生成され、前記輝度信号よりも青色に対する重みが大きい信号である明度に基づき、前記原画像の第２のヒストグラムを作成し、前記第２のヒストグラムから第２のハイライトポイントを検出する第２の検出手段と、
前記原画像の特性に応じて、前記第１のハイライトポイントあるいは前記第２のハイライトポイントのいずれかを選択する選択手段と、
前記選択されたハイライトポイントに基づき、前記原画像に対して画像補正を行う処理手段とを有することを特徴とする画像処理装置。
【請求項９】
コンピュータが読み取り可能にプログラムを記録する記録媒体であって、
原画像の輝度信号に基づく第１のヒストグラムを作成し、前記第１のヒストグラムから第１のハイライトポイントを検出し、
ＲＧＢ信号から生成され、前記輝度信号よりも青色に対する重みが大きい信号である明度に基づき、前記原画像の第２のヒストグラムを作成し、前記第２のヒストグラムから第２のハイライトポイントを検出し、
前記原画像の特性に応じて、前記第１のハイライトポイントあるいは前記第２のハイライトポイントのいずれかを選択し、
前記選択されたハイライトポイントに基づき、前記原画像に対して画像補正を行うプログラムを記録することを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハイライトポイントを決定する画像処理方法、装置および記録媒体に関する。
【０００２】
【従来の技術】
近年パソコンの高速化、メモリーの大容量化の加速と、デジタルカメラやフィルムスキャナーなどの普及に伴い、パソコン上でデジタルデータとして写真調の画像を扱う機会が増えてきた。しかし上記写真調の入力画像は以下の理由により、色かぶりなどの画像の劣化要因を付帯している場合が少なくない。
【０００３】
例えばデジタルカメラを例に取ると、ＣＣＤカメラで撮影された画像は人間の目には感じられない赤外光などの波長も取り込んでしまう場合がある。もちろん赤外カットフィルタなどの処理もなされているが、必ずしも完全ではなく色バランスを崩している場合がある。
【０００４】
また、光源色の違いを人間は補正（順応）し対象物を見ることが知られているが、カメラは光源の違いをそのままフィルムに記録するのでカメラが正確に測色再現していても結果的に色かぶりしてしまっているように見える場合もある。
【０００５】
銀塩カメラで撮影したフィルムをラボでプリントする際には、一般に印画紙にプリントする段において撮影画像の画像解析によりシーンの解析を行い自動補正する機能が盛り込まれている。本出願人はデジタルカメラなどパソコン上に取り込まれたデジタルデータに対する自動補正方法でその基本となるハイライト点とシャドー点の取り方に関する設定方法を提案している。
【０００６】
このハイライト点とシャドー点の設定を自動化する手法として、例えば、特開昭60-87594号公報においては、入力信号の各色信号Ｒ，Ｇ，Ｂを重み付け加算した輝度信号について累積度数ヒストグラムを作成し、その累積度数ヒストグラムにおいて、あらかじめ設定した所定の累積度数例えば１％，99％にそれぞれ対応する輝度信号の上限値（ハイライト点濃度）、下限値（シャドー点濃度）を求め、これら上限値と下限値とを各色信号Ｒ，Ｇ，Ｂに共通して使用して正規化処理している。
【０００７】
ここで、入力ＲＧＢ信号が各８ビット情報（０から２５５情報）、例えばＮＴＳＣ方式により輝度変換を行う場合、
Ｙ（輝度）＝0.30Ｒ＋0.59Ｇ＋0.11Ｂ
であるから、輝度信号も同じく８ビット情報となる。すなわち該ヒストグラムは０から２５５までの２５６通りの輝度信号に対するそれぞれの度数を求めることになる。以下は、すべてＲＧＢ各色８ビットの２５６階調の場合で考える。
【０００８】
【発明が解決しようとする課題】
しかしながら、このように設定した基準濃度点を用いて画像を補正しても十分に満足のいく結果を得ることができない場合がある。この要因として、人間は自分の記憶色に基づいてものを見ているという事実があげられる。
【０００９】
そこで記憶色処理、すなわち測色的に一致させる色再現よりもむしろ、人間の心理的イメージすなわち記憶色に一致させ、より満足される再現を作る、好ましい色再現に関しては、青空、緑の草木、人間の肌で多く行われている。
【００１０】
昼間の太陽光と室内のタングステン光は色温度が著しく異なる光源であるが、人間の目はどちらの光源下であってもグレーの物体（あるいは白）を認識できる。これは観察者が環境下のグレー（白）を認識し、そこから光の応答を網膜の三つの錐体で同じになるような感度の補正が自動的に行われるからである。しかしながら、カメラは光源の影響をもろに受けてしまうため、そのまま測色的に忠実に再現しても、必ずしも人間が好む色再現にはならないという問題点がある。
【００１１】
特に青空を例に取ると、晴天屋外の撮影では、青空からの反射光によって、日陰部分の色温度が高くなり、全体に青みがかかって写ってしまう。その青空の中に雲がある場合、上に述べたようにこれを白とするような自動補正が人間の目でなされるため、人間が記憶する青空の色と測色的な色ととの間にズレが生じると考えられる。実際の写真において所望の雲にホワイトバランスを合わせることで、その青空を人間の記憶色に近づけられることが分かった。
【００１２】
しかしながら、写真中の多くの部分を青空が占めるような画像の場合、従来のような重み付けによる輝度信号のヒストグラムからでは、Ｂ信号の重みが低いため、必ずしも最適なハイライト点が設定できない。つまり青みがかった雲を白にするような補正をすることにならない。
【００１３】
また、逆光の状態で人物などを撮影すると主被写体がアンダー気味になり、好ましい階調が得られない。このような画像に対して、従来技術で示したように例えば図１０のような累積度数ヒストグラムから例えば99％でハイライト点を設定してもほとんど最高輝度に張り付いており、これに基づいて補正を行ってもほとんど補正がかからない。
【００１４】
本発明は、原画像の特性に応じた色処理を行えるようにすることを目的とする。
【００１５】
また、本発明は逆光シーンの原画像を良好に再現できるようにすることを他の目的とする。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、本発明は以下の構成要件を有することを特徴とする。
【００１７】
本願第１の発明は、原画像の輝度信号に基づく第１のヒストグラムを作成し、前記第１のヒストグラムから第１のハイライトポイントを検出し、ＲＧＢ信号から生成され、前記輝度信号よりも青色に対する重みが大きい信号である明度に基づき、前記原画像の第２のヒストグラムを作成し、前記第２のヒストグラムから第２のハイライトポイントを検出し、
前記原画像の特性に応じて、前記第１のハイライトポイントあるいは前記第２のハイライトポイントのいずれかを選択し、前記選択されたハイライトポイントに基づき、前記原画像に対して画像補正を行うことを特徴とする。
【００１８】
本願第２の発明は、原画像のヒストグラムを生成し、前記ヒストグラムにおいて高輝度部にピークがあるか否かを検出し、前記検出結果、前記高輝度部にピークが存在する場合、前記原画像の輝度信号または明度信号に基づくヒストグラムを作成し、前記ヒストグラムからハイライトポイントを決定し、前記検出結果、前記高輝度部にピークが存在しない場合、前記原画像の輝度信号に基づく第１のヒストグラムを作成し、前記第１のヒストグラムから第１のハイライトポイントを検出し、ＲＧＢ信号から生成され、前記輝度信号よりも青色に対する重みが大きい信号である明度に基づき、前記原画像の第２のヒストグラムを作成し、前記第２のヒストグラムから第２のハイライトポイントを検出し、前記原画像の特性に応じて、前記第１のハイライトポイントあるいは前記第２のハイライトポイントのいずれかを選択してハイライトポイントを決定することを特徴とする。
【００２０】
【発明の実施の形態】
（実施形態１）
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２１】
本実施形態におけるシステムの概略の１例を図１に示す。ホストコンピュータ１００には、例えばインクジェットプリンタなどのプリンタ１０５とモニタ１０６が接続されている。ホストコンピュータ１００は、ワープロ、表計算、インターネットブラウザ等のアプリケーションソフトウエア１０１と、OS（Operating System）１０２、該アプリケーションによってOS１０２に発行される出力画像を示す各種描画命令群（イメージ描画命令、テキスト描画命令、グラフィックス描画命令）を処理して印刷データを作成するプリンタドライバ１０３、およびアプリケーションが発行する各種描画命令群を処理してモニタ１０６に表示を行なうモニタドライバ１０４をソフトウエアとして持つ。
【００２２】
ホストコンピュータ１００は、これらソフトウエアが動作可能な各種ハードウエアとして中央演算処理装置CPU１０８、ハードディスクドライバHD１０７、ランダムアクセスメモリRAM１０９、リードオンリーメモリROM１１０等を備える。
【００２３】
図１で示される実施形態として、例えば一般的に普及しているIBM ATコンパチのパーソナルコンピュータにMicrosoft Windows95をOSとして使用し、任意の印刷可能なアプリケーションをインストールし、モニタとプリンタを接続した形態が1実施形態として考えられる。
【００２４】
ホストコンピュータ１００では、モニタに表示された表示画像にもとづき、アプリケーション１０１で、文字などのテキストに分類されるテキストデータ、図形などのグラフィックスに分類されるグラフィックスデータ、自然画などに分類されるイメージ画像データなどを用いて出力画像データを作成する。そして、出力画像データを印刷出力するときには、アプリケーション１０１からOS１０２に印刷出力要求を行ない、グラフィックスデータ部分はグラフィックス描画命令、イメージ画像データ部分はイメージ描画命令で構成される出力画像を示す描画命令群をOS１０２に発行する。OS１０２はアプリケーションの出力要求を受け、出力プリンタに対応するプリンタドライバ１０３に描画命令群を発行する。プリンタドライバ１０３はOS１０２から入力した印刷要求と描画命令群を処理しプリンタ１０５で印刷可能な印刷データを作成してプリンタ１０５に転送する。プリンタ１０５がラスタープリンタである場合は、プリンタドライバ１０３では、OSからの描画命令に対して順次画像補正処理を行い、そして順次RGB２４ビットページメモリにラスタライズし、全ての描画命令をラスタライズした後にRGB24ビットページメモリの内容をプリンタ１０５が印刷可能なデータ形式、例えばCMYKデータに変換を行ないプリンタに転送する。
【００２５】
プリンタドライバ１０３で行われる処理を図２を用いて説明する。
【００２６】
プリンタドライバ103は、OS102から入力した描画命令群に含まれる色情報に対して、画像補正処理部120で後述する画像補正処理を行う。プリンタ用補正処理部121は、まず、画像補正処理された色情報によって描画命令をラスタライズし、RGB24ビットページメモリ上にラスター画像を生成する。そして、各画素に対してプリンタの色再現性に応じたマスキング処理、ガンマ補正処理および量子化処理などを行いプリンタ特性に依存したCMYKデータを生成し、プリンタ105に転送する。
【００２７】
次に、画像補正処理部120で行われる処理を図3を用いて説明する。
【００２８】
本実施形態の画像補正処理は、原稿画像に含まれる複数の原画像の各々に対して独立に行われる。そして、該画像補正処理はヒストグラム作成処理（図3-S20）とヒストグラムに応じた画像補正処理（図3-S30）を行う。
【００２９】
ステップS２０では、イメージ描画命令で示される原画像に対して、ヒストグラムを作成する（図4のステップS１〜ステップS７）。そして、作成されたヒストグラムに基づき、画像のハイライトポイントおよびシャドーポイントを決定する。
【００３０】
次に、S３０において、S２０で決定されたハイライトポイントおよびシャドーポイントに基づいた画像補正処理を行う。本実施形態では画像補正処理として、原画像の色かぶりを補正する色かぶり補正、原画像の露出最適化すべく輝度のコントラストを補正する露出補正を行う。
【００３１】
（輝度ヒスとグラムの作成）
図４は本実施形態での輝度ヒストグラムを作成するフローチャートである。
【００３２】
図４において、Ｓ１で原画像の輝度ヒストグラム作成のルーチンに入ると、Ｓ２で原画像の画素から輝度ヒストグラムの作成に用いる画素の選択比率を決定する。本実施形態では３５万画素のデータの場合に全画素を対象（選択比率１００％）に輝度ヒストグラムを作成する事とし、３５万画素以上の画素数の原画像が入力された場合には総画素数の比率に応じて画素選択（サンプリング）を行う。即ち３５０万画素の原画像が入力された場合には１０画素に１画素（選択比率１０％）の割合で輝度ヒストグラムを作成する。本実施形態ではｎは次式により求める。
【００３３】
ｎ＝ｉｎｔ（原画像の総画素数／基準画素数３５万）
（但し、ｎ＜１の時はｎ＝１、ｎは整数）
続いてＳ３でラスター番号を管理するカウンターをリセット／セットし、Ｓ４で該カウンターをインクリメントする。
【００３４】
本実施形態では画素の間引き（サンプリング）はラスター単位で行うので、前記の選択比率１０％の場合には、ラスター番号を１０で割ったときの余りが０の場合にそのラスターに属する画素を対象に処理を行う（Ｓ５）。
【００３５】
〔ｉｆ（ラスター番号Ｍｏｄ  ｎ）＝０対象ラスター  ｅｌｓｅ非対象ラスター〕
処理ラスターが前記非対象ラスターの場合にはＳ４に戻る。対象ラスターの場合にはＳ６に進み該ラスターに属する夫々の画素に対して輝度変換、色度変換を処理を行う。本実施形態における輝度変換、色度変換は以下の式により行う。なお、輝度、色度変換は以下の式に限らず従来の技術で示したように様々な式を用いることが可能である。
【００３６】
Ｙ  （輝度）＝ｉｎｔ（０．３０Ｒ＋０．５９Ｇ＋０．１１Ｂ）、（Ｙは整数）
Ｃ１（色度）＝Ｒ−Ｙ
Ｃ２（色度）＝Ｂ−Ｙ
【００３７】
また本実施形態では白位置（ハイライトポイント）、黒位置（シャドーポイント）の検出精度を向上させるために次式により彩度の計算を行い、予め定めた彩度値（Ｓｃｏｎｓｔ）より大きいか否かを判断する（Ｓ７）。高彩度の画素の情報は輝度ヒストグラムに反映させない。
【００３８】
彩度Ｓ＝ｓｑｒｔ（Ｃ１＾２＋Ｃ２＾２）
即ち、（Ｓ＞Ｓｃｏｎｓｔ）の場合にはＳ６に戻り該画素のデータは以後の処理に反映させない。この処理の効果を具体例を挙げて説明する。例えばイエローの画素（Ｒ＝Ｇ＝２５５、Ｂ＝０）は無彩色の画素がイエローに色かぶりしたと判断するよりも元々イエローの色相の色であると判断した方が多くの場合間違えが少ない。しかし上記計算式で該画素の輝度を求めると輝度値は「２２６」であり、極めて高輝度の画素であることがわかる。よって該画素を輝度ヒストグラムの作成に含めてしまうと白位置検出時に誤差を生じてしまう場合がある。
【００３９】
該画素の彩度は上記計算式によれば「２２７」を示し十分に彩度の高い色である事が分かる。よって本実施形態では既定の彩度（Ｓｃｏｎｓｔ）を定め、該既定の彩度以上の画素は輝度ヒストグラムに含めない。
【００４０】
よって、該画素により白位置検出に誤差が生じることを防ぐことができ、白位置検出の精度を向上させることができる。
【００４１】
上記Ｓ７の判断の後、条件を満たした画素（Ｓ＜Ｓｃｏｎｓｔ）について輝度ヒストグラムを作成していく（Ｓ８）。ここで本実施形態で扱う画素データＲＧＢは各８ビット（２５６階調）データであるので輝度Ｙも２５６の深さに変換される。よって輝度ヒストグラムは０から２５５までの２５６の輝度値の画素が夫々何度数あるかを計算する事となる。
【００４２】
またＣ１、Ｃ２の計算値は後の色かぶり補正時に各輝度値に属する画素の平均色度を算出するデータとして用いるので本実施形態では次のようにデータ保持を行う。０から２５５の構造体配列変数の形式で、度数、Ｃ１累積値、Ｃ２累積値の３メンバーを設定し、各画素ごとの演算結果を各メンバーに反映していく。
【００４３】
対象ラスターの全画素の処理が終了したかどうかを判断し（Ｓ９）、ラスター内に未処理画素が残っている場合にはＳ６に戻りＳ６以降の処理を繰り返す。ラスター内の全画素の処理が終了したらＳ１０で未処理のラスターが残っているかを判断し、全ラスター終了であればＳ１１で終了し、未処理のラスターが残っていればＳ４に戻り上記処理を繰り返す。
【００４４】
以上の様に原画像の画素を選択しながら輝度ヒストグラムを作成する事により、必要最小限の画素数で、且つ後の白位置、黒位置検出時の精度の向上も考慮した輝度ヒストグラムの作成を行う事が出来る。
【００４５】
（ハイライトポイント、シャドーポイントの決定）
輝度信号に基づくヒストグラムを作成し、あらかじめ設定した所定の累積度数例えば1％、99％にそれぞれ対応する輝度信号の上限値（ハイライトＨＬ1）、下限値（シャドーポイントＳＤ）を検出する。
【００４６】
さらに、本実施形態では、フォト画像領域の大部分を青空であるような場合を考慮して、輝度と比較して青色に対する重みが大きいＲＧＢ信号の単純平均に基づくヒストグラムを生成し、ハイライトＨＬ2を検出する。ここでは、単純平均値を単に明度と呼び、これによって構成されるヒストグラムを明度ヒストグラムと呼ぶ。
【００４７】
「晴れた青空」がシーンの多くを占めるような場合の明度ヒストグラムでは、図5のように０から２５５の中間よりやや高明度側にピークが現れる。そこで、このピークの高明度側の裾野に相当する輝度をＨＬ２として検出する。
【００４８】
本実施形態では、厳密な意味で輝度と単純平均は異なるから、明度ヒストグラムに累積する際に、２５６個のテーブルを用意し、それぞれの明度に対応づけたテーブルにそのときの輝度値を格納し、インクリメントしていく。そして最終的に各明度の合計値をそこに格納された個数で割り、平均値を計算する。
【００４９】
ついで、図５に示したような、高明度側からの第１のピークを検出し、その裾野に相当する明度に関して、該テーブルに格納されている輝度値をＨＬ２とする。第1のピークは、ヒストグラムに対して平滑化処理した後に、高明度側からヒストグラムの各明度における接線の傾きを求め、該傾きが所定値以上になった明度である。
【００５０】
このように、本実施形態では、輝度ヒストグラムおよび明度ヒストグラムという異なる2つのヒストグラムの各々からハイライトポイントを検出し、各ハイライトポイントの輝度値を求める。
【００５１】
つぎに、求めた2つのハイライトポイント（ＨＬ1、ＨＬ2）を比較し、原画像に適したハイライトポイントを決定する。
【００５２】
2つのハイライトポイントを比較した結果が、
ＨＬ2＜ＨＬ1
であるならばＨＬ2をハイライトポイントとして決定する。ただし、ＨＬ２＞150などある程度の制限は必要となる。通常青空のシーンのヒストグラムでは青空部部がしめるヒストグラムは中間よりもやや高信号側になる（あらかじめ実験的に情報を得る）のでこれより低信号側にＨＬ2が設定されないようにこのしきい値をあらかじめ設定しておく。
【００５３】
これに対して、2つのハイライトポイントを比較した結果が上記条件を満たさない場合は、ＨＬ1をハイライトポイントとして決定する。
【００５４】
なお、シャドーポイントは、輝度ヒストグラムで求められたシャドーポイントを採用する。
【００５５】
本実施形態によれば、ハイライト点をシーンの特性によって変更することで、従来の設定方法による画像補正よりもさらに好適な結果を得ることができる。すなわち、晴れた青空がシーンの中に含まれるような画像に対して、ハイライトポイントとして青空以外のポイントを設定することができる。したがって、例えば、青空の中に雲がある場合は、人間の目と同様に雲（青空より明度が高い白で示される）をハイライトポイントと設定することができる。よって、人間の記憶色に近い青空の色を再現することができる。
【００５６】
（色かぶり補正）
上記の通り原画像の「Ｙ、Ｃ１、Ｃ２」色空間における白位置、黒位置が求められたら、引き続いて色かぶりの補正を行う。
【００５７】
もし原画像に色かぶりが無く理想的な画像であるとすれば、無彩色はＲ＝Ｇ＝Ｂであり、白位置、黒位置の色度の演算値は「Ｃ１ｗ＝Ｃ２ｗ＝Ｃ１ｋ＝Ｃ２ｋ＝０」となる。しかし色かぶりがある場合には、かぶっている色相方向に、かぶっている程度に比例して、（Ｙｗ，Ｃ１ｗ，Ｃ２ｗ）と（Ｙｋ、Ｃ１ｋ、Ｃ２ｋ）を結ぶ直線（色立体軸）に傾きが生じる。色かぶり補正は該色立体軸とＹ軸が一致する様に変換する事で達成できる。方法は色立体を回転、平行移動させることでも達成できるし、座標系を変換する事でも達成できる。
【００５８】
本実施形態ではまず原画像の色立体において、色立体軸の最低輝度点（下端点）を回転中心、色立体軸を回転軸としてＹ軸と平行となる様に回転させる。次いで前記最低輝度点の位置が（Ｙ′，Ｃ１′，Ｃ２′）空間の原点となるように座標系を変換する。
【００５９】
図５（ａ）の色立体に対して色かぶり補正を行った結果を図５（ｂ）に示す。
【００６０】
以上の処理により、該最低輝度点が原点で、色立体軸がＹ軸と一致する変換処理が実現する。
【００６１】
３次元空間上で回転軸と回転角度が決まっている系で、立体を所望の角度で回転させる回転行列を求める手法は公知の技術であるので詳細な説明は省略する。
【００６２】
以上の様に、原画像の各画素を輝度、色度データ（Ｙ，Ｃ１、Ｃ２）に変換し、３次元色空間上で回転、平行移動変換する（Ｙ’、Ｃ１’、Ｃ２’）事により、色かぶりの補正を行う事が可能となる。
【００６３】
（露出、彩度補正）
上記の色かぶり補正を行う事で原画像の色相のずれを補正する事は可能であるが、更に画像レベルを向上する手段として露出補正、彩度補正を行う。
【００６４】
本実施形態では露出のオーバー、アンダーを簡易的に判断し、それに応じて輝度信号にγ補正を施し露出補正を行う。
【００６５】
露出補正は入力輝度値０〜２５５を出力輝度値０〜２５５に変換する１次元ＬＵＴにより行う。本実施形態における該ＬＵＴは、黒位置（シャドーポイント）の輝度値「Ｙｋ」と白位置（ホワイトポイント）の輝度値「Ｙｗ」とその間に存在する変曲点の輝度値「Ｔ’」の３点を結ぶ２直線として表現できる（図６参照）。
【００６６】
本実施形態では該黒位置の輝度値「Ｙｋ」を輝度値「１０」へ、該白位置の入力輝度値「Ｙｗ」を輝度値「２４５」に変換する。更に該変曲点の輝度値「Ｔ’」は次の通り定義し変換する。前記色かぶり補正前の色立体軸とＹ軸（輝度軸）の最小距離をなす輝度値をＴとした時、該輝度値Ｔと原画像の色立体の最低輝度値との差を変曲点の輝度値「Ｔ’」とする。該変曲点の輝度値Ｔ’を前記輝度値「Ｔ」に変換する。
【００６７】
即ち、図３の様に黒位置「Ｙｋ」は輝度値「１０」に（ａ点）、変曲点「Ｔ’」は輝度値「Ｔ」に（ｂ点）、白位置「Ｙｗ」は輝度値「２４５」に（ｃ点）に、夫々変換される。その他の原画像の輝度値は図３の太線に記すように該「ａ」と「ｂ」、「ｂ」と「ｃ」を結んだ直線に沿って夫々変換する。
【００６８】
更に、彩度補正は例えば以下のように行う事が出来る。各原画素の色度Ｃ１，Ｃ２に対して、
Ｃ１“＝ｎ＊Ｃ１‘
Ｃ２“＝ｎ＊Ｃ２‘    （但し、ｎは彩度係数）
該彩度係数「ｎ」を調整する事によって彩度補正を容易に行う事が可能である。
【００６９】
以上で本実施形態における各種補正が終了する。この時点で原画像の各画素は（Ｒ、Ｇ、Ｂ）の色信号データから（Ｙ“，Ｃ１”，Ｃ２“）の色空間データに変換された状態にあるので、再度（Ｒ‘，Ｇ‘，Ｂ‘）の色信号データに逆変換する。該逆変換は以下の式により行う。
【００７０】
Ｒ‘  ＝Ｙ“＋Ｃ”
Ｇ‘  ＝Ｙ“−（０．３／０．５９）＊Ｃ１”−（０．１１／０．５９）＊Ｃ２“
Ｂ‘  ＝Ｙ“＋Ｃ２”
【００７１】
なお、サンプリングをラスター単位でなくカラム単位で行っても構わない。
【００７２】
（実施形態２）
実施形態1におけるハイライトポイント決定処理にかかる他の方法を説明する。
【００７３】
フォト画像で、逆光で撮影したものや、シーンの中に蛍光灯などの光源が入っている場合、例えば図８のように、主被写体はアンダー気味になり、また、輝度ヒストグラムの所定の累積度数の輝度値をハイライトポイントとして設定してもほとんど２５５に張り付いており、該ハイライトポイントに基づく画像補正処理を行ってもほとんど補正がかからない。そこでこのようなケースについてはハイライトを再設定する必要がある。以下このようなケースをまとめて「逆光シーン」と呼ぶ。
【００７４】
ここで用いるヒストグラムは、輝度・明度のいずれでもよいが、どちらかといえば、明度ヒストグラムの方がより顕著にその傾向を得ることができる。
【００７５】
逆光シーンにおけるハイライトポイント決定方法を、以下具体的に説明する。
【００７６】
該ヒストグラムが図８のようになっている場合、ハイライトポイントを図のような逆光部分がしめる分布部の裾野から一定割合の所を設定する。逆行部分がしめる分布部の裾野は、実施形態1の明度ヒストグラムの裾野の検出方法と同様の方法で検出することができる。すなわち、ヒストグラムの接線の傾きの変動具合に基づき検出することができる。
【００７７】
あるいは、「逆光シーン」であると判定した場合に限り、ハイライトの検出時のスタート地点を２５５ではなく、例えば２４０などのように所定の値から始める。
【００７８】
「逆光シーン」の判定は、以下のように行う。
【００７９】
225〜240の度数の合計数SUM１と241〜255の度数の合計数SUM2の関係が、
２×SUM1 ＜ SUM2
の関係を満たすような場合は、「逆光シーン」であると判定する。
【００８０】
原画像が「逆行シーン」であると判定された場合は、図３に示すようなスタート地点（例えば、２４０）から１％のところを新たにハイライトとする。ここでの加算する範囲や係数はあくまでも経験に基づくものであるから、所望のシーンによって実験的に求めればよい。
【００８１】
このようにあらかじめ「逆光シーン」であると判定した画像に対しては、ハイライト点の取り方を変更することで、より好適な画像補正を行えることができる。
【００８２】
なお、「逆光シーン」と判定された場合は、上記の様にハイライトポイントを決定するとともに、以下の様に実施形態１の露出補正を制御することにより、より高品質の画像を得ることができる。
【００８３】
「逆光シーン」の場合上述したようにハイライトポイントが通常シーンより低く設定される。したがって、「逆光シーン」の場合は、原画像におけるハイライトポイント以上の輝度を有する画素の割合が通常シーンより大きくなる。
【００８４】
よって、「逆光シーン」に対して実施形態１と同様の露出補正を行ってしまうと原画像において白に変換される画素が多すぎてしまい出力画像の品質が悪くなる可能性がある。そこで、「逆光シーン」の場合は、露出補正においてハイライトポイントを変換する輝度値を通常シーンより暗い例えば「２２０」に設定する。このようにシーンの種類に応じて画像補正条件の設定方法をかえることにより、「逆光シーン」を良好に再現することができる。
【００８５】
「逆光シーン」における変換後の輝度値は、原画像におけるハイライトポイント以上の画素の割合に応じて自動的に設定するようにしても構わない。
【００８６】
（実施形態３）
実施形態３では、第１および第２の実施形態をとりまとめた形でハイライトポイントを設定する際の処理を図9を用いて説明する。
【００８７】
実施形態３によれば、逆光シーンに対して好適な画像補正を行うことができるとともに、晴れた青空のシーンを人間の記憶色によりちかく補正することができる。
【００８８】
まず、ステップS12において、原画像が「逆光シーン」であるか否かを、原画像の輝度ヒストグラムに基づき実施形態３で説明した判定方法を用いて判定する。
【００８９】
原画像が「逆光シーン」であると判定された場合は、実施形態１で説明したハイライトポイント決定方法を用いてハイライトポイントHL、シャドーポイントSDを決定する（ステップS13、S14、S15）。
【００９０】
これに対して、ステップS12において、原画像が「逆光シーン」でないと判定された場合は、実施形態3で説明したハイライトポイント決定方法を用いてハイライトポイントHL、シャドーポイントSPを決定する。
【００９１】
ステップS17では、決定されたハイライトポイントHLおよびシャドーポイントSDに基づき、実施形態1で説明した画像補正処理を行う。
【００９２】
このように、上記各実施形態によれば、画像補正を行う上で基本となるハイライト点をシーンの特性によって変更することで、従来の設定方法による画像補正よりもさらに好適な結果を得ることができる。
【００９３】
すなわち、実施形態１および３によれば、特に晴れた青空がシーンの中に含まれるような画像に対して、人間の記憶色に近い青空の色を再現することができる。
【００９４】
また、実施形態２および３によれば、逆光シーンや室内で撮影した際に蛍光灯などがシーンに含まれているような画像に関してもより好適な画像補正を行うことができる。
【００９５】
（他の実施形態）
上記実施形態では、画像補正処理において最初に色かぶり補正を行い、その後に露出のアンダーやオーバーを補正するいわゆるコントラスト調整を行ったが、その順序は問われない。また、ハイライト／シャドーポイントの決定方法や画像補正に関するアルゴリズムは上記方法にかぎられず他の多種多様の方法を用いることができる。
【００９６】
また、上記実施形態1では明度ヒストグラムを作成するために単純平均を用いていたが、輝度信号に比べて多少青色成分に重みをおいて作成した明るさをしめす色成分に基づきヒストグラムを作成すればよい。
【００９７】
また、上記実施形態1では自動的に、輝度ヒストグラムに基づくハイライトポイントまたは明度ヒストグラムに基づくハイライトポイントのいずれかを選択したが、ユーザのマニュアル指示に応じていずれかを選択するようにしても構わない。
【００９８】
例えば、プリンタドライバのユーザインターフェイス上で、ユーザが青空シーンを対象とする「青空モード」を選択した場合は明度ヒストグラムに基づくハイライトポイントを選択するようにする。「青空モード」が選択されなかった場合は実施形態1のように自動的にハイライトポイントを選択する。
【００９９】
また、「青空シーン」対策だけでなく、他のシーンに応じて複数の明るさを示す色成分生成方法を用意し、実施形態1のように原画像の色分布に応じて自動的にいずれかの色成分に応じたヒストグラムを選択するようにしても構わないし、ユーザの指示に基づきヒストグラムを選択するようにしても構わない。
【０１００】
また前述した実施形態の機能を実現する様に各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前記実施形態機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（CPUあるいはMPU）を格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
【０１０１】
またこの場合、前記ソフトウエアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【０１０２】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM,、磁気テープ、不揮発性のメモリカード、ROM等を用いることが出来る。
【０１０３】
またコンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１０４】
更に供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【０１０５】
【発明の効果】
本発明によれば、原画像の特性に応じた色処理を行えるようにすることができる。
【０１０６】
また、本発明は逆光シーンの原画像を良好に再現できるようにすることができる。
【図面の簡単な説明】
【図１】システム構成の一例を示す図である。
【図２】プリンタドライバで行う処理を説明する図である。
【図３】画像補正処理部で行われる処理を説明する図である。
【図４】輝度ヒストグラム作成処理の流れを示す図である。
【図５】晴れた青空のシーンの明度ヒストグラムの一例を示す図である。
【図６】色かぶり補正を説明する図である。
【図７】露出補正を行うLUTを説明する図である。
【図８】逆光シーンの輝度ヒストグラムの一例を示す図である。
【図９】実施形態3における画像補正処理の流れを示す図である。
【図１０】従来の輝度ヒストグラムからハイライトポイント／シャドーポイント決定方法を説明する図である。
【図１】
0003817371.tif 000002
【図２】
0003817371.tif 000003
【図３】
0003817371.tif 000004
【図４】
0003817371.tif 000005
【図５】
0003817371.tif 000006
【図６】
0003817371.tif 000007
【図７】
0003817371.tif 000008
【図８】
0003817371.tif 000009
【図９】
0003817371.tif 000010
【図１０】
0003817371.tif 000011