(57)【特許請求の範囲】
【請求項１】
入力した画像データにおいて明るさの範囲を少なくとも２段階以上に区分し、最も明るい区分に属する領域を制御候補領域とし、高輝度で無彩色の領域とエッジ及びエッジ付近の領域を前記制御候補領域から除いた領域を制御領域として抽出する制御領域抽出手段と、
前記抽出した制御領域の画像データに対して階調補正カーブにより階調補正処理を行ったデータに対して飽和度合いを評価する飽和判断手段と、該飽和判断手段で飽和度合いが許容されないと判定された場合に、前記階調補正カーブを新たな階調補正カーブに更新する更新手段とを備えた階調補正調節手段とを有することを特徴とする画像処理装置。
【請求項２】
前記制御領域抽出手段は、さらに高彩度の色成分の領域を前記制御候補領域から除いた領域を制御領域として抽出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記飽和判断手段は、前記制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、飽和の目立ちやすさが許容されるか否かを判断する請求項１又は２記載の画像処理装置。
【請求項４】
前記飽和判断手段は、前記制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、前記制御領域の面積に対する飽和と判定された領域の面積の値を用いて算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断する請求項１又は２記載の画像処理装置。
【請求項５】
前記飽和判断手段は、前記制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、画像全領域の面積に対する飽和と判定された領域の面積の値を用いて算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断する請求項１又は２記載の画像処理装置。
【請求項６】
前記飽和判断手段は、前記制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、前記制御領域もしくは飽和と判定された領域の少なくとも一方の集中度合いで算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断する請求項１又は２記載の画像処理装置。
【請求項７】
前記飽和判断手段は、前記制御領域に属する画素の持つ成分のうち少なくとも一つがある基準値を超える場合に飽和とし、飽和と判定された領域に属する画素（以下、飽和画素という）の重心位置と各飽和画素との平均距離から飽和と判定された領域の分散度合いを判定し、該分散度合いに基づいてある閾値を可変し、飽和度が前記閾値以下の場合に飽和度合いが許容されると判断する請求項１又は２記載の画像処理装置。
【請求項８】
前記更新手段は階調補正の程度を小さく調節して前記階調補正カーブを新たな階調補正カーブに更新する請求項１乃至７のいずれかに記載の画像処理装置。
【請求項９】
前記更新手段は階調補正の程度を大きく調節して前記階調補正カーブを新たな階調補正カーブに更新する請求項１乃至７のいずれかに記載の画像処理装置。
【請求項１０】
前記階調補正調節手段は、前記飽和判断手段で飽和度合いが許容されないと判定された場合に、前記階調補正カーブを更新する前に前記制御領域を更新する制御領域更新手段を有する請求項１乃至９のいずれかに記載の画像処理装置。
【請求項１１】
請求項１乃至１０のいずれかに記載の画像処理装置を有する画像出力制御装置と、画像出力制御装置で階調補正処理した画像データを出力する画像形成装置とを有することを特徴とする画像出力装置。
【請求項１２】
前記画像処理装置の飽和判断手段における飽和度合いの評価基準は、接続された画像形成装置に応じて設定されている請求項１１記載の画像出力装置。
【請求項１３】
前記画像処理装置の飽和判断手段における飽和度合いの許容基準は接続された画像形成装置に応じて設定されている請求項１２記載の画像出力装置。
【請求項１４】
入力した画像データにおいて明るさの範囲を少なくとも２段階以上に区分し、最も明るい区分に属する領域を制御候補領域とし、高輝度で無彩色の領域とエッジ及びエッジ付近の領域を前記制御候補領域から除いた領域を制御領域として抽出する制御領域抽出ステップと、
前記抽出した制御領域の画像データに対して階調補正カーブにより階調補正処理を行ったデータに対して飽和度合いを評価する飽和判断ステップと、前記飽和度合いが許容されないと判定された場合に、前記階調補正カーブを新たな階調補正カーブに更新する階調補正調節ステップとを有することを特徴とする画像処理方法。
【請求項１５】
請求項１４記載の画像処理方法を実行するプログラムを格納し、コンピュータで読取可能なことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばスキャナやデジタルカメラ等から入力した画像をプリンタやディスプレイ等に出力するときの画像処理装置と画像出力装置と画像処理方法及び記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、パソコンやインターネットや家庭用プリンタの普及とともにハードディスクなどの記憶媒体の記録容量の増大により、デジタルデータで写真画像を扱う機会が増えている。それに伴いデジタル写真画像データ（以下、画像データという）の入力手段としてデジタルカメラやフィルムスキャナなどが一般に使用されている。例えばデジタルカメラには、撮影時の露出を常に最適に保つための自動露出制御装置が設けられている。この露出制御方法には種々の方法があるが、光量検出のため画面を複数の適当な領域に分割し、各領域毎に重み付けを行い、加重平均を取って絞りやシャッタスピードなどを調節する方法が一般的である。
【０００３】
しかしながら、この露出制御方式はデジタルカメラのメーカ毎に様々であり、撮影条件によって適正に作動しない場合もあるため完全なものは存在しない。特に、主被写体の真後ろに光源が存在し、背景と主被写体との輝度差が大きい逆光状態では、被写体に露出があわないと背景の明るさに引っ張られて露出がマイナスに補正されるため、被写体が暗く写ってしまう。また、夜間のストロボ撮影では、被写体にストロボ光が当たることが前提になるため、絞りやシャッタスピードは既定値に固定される。すなわち、ストロボと被写体の距離が遠すぎると光が届かず、この場合も被写体は暗く写ってしまう。
【０００４】
ここで露出補正とは、シーンに対して不適切な明るさを持つ被写体を、シーンに適した明るさに調節することを意味する。例えば露出不足で全体に暗い被写体や、逆光で暗くなっている被写体を明るくしたり、露出オーバな被写体を暗くしたりすることである。カメラでの露出補正はレンズに入る入射光量を調節するために絞りやシャッタスピードを変える方法が一般的である。また、プリンタやディスプレイでは入出力変換関数（階調補正カーブ）等を用い、入力信号の明るさに対して出力信号の明るさを最適化するための処理等を意味する。この露出を補正して画像データの明るさを調節することと、この発明における階調補正処理とは目的が同等なため、以後、階調補正処理と記す。
【０００５】
このようなデジタル画像の撮影時における不適切な露出状態に対応するため、画像データを自動的に階調補正する処理方法が多数開示され、例えば特開平７−301867号公報に示された露光量決定方法は、原稿画像の主要部分を抽出して特徴量を算出し、算出した特徴量から所定濃度範囲を決定し、原稿画像全体から所定濃度範囲の画素のみを抽出して画像特徴量を決定し、決定した画像特徴量から露光量を決定することにより、逆光画像など背景と被写体の濃度差が大きい画像を適切に補正するようにいる。
【０００６】
また、特開平10―79885号公報に示された画像処理方法は、入力における低輝度部分に屈折指示値を設定し、設定した屈折指示値に対する出力値として輝度の最大値、例えば「255」から少し小さくした値、例えば「220」を選び、この点を屈曲点とし、入力された輝度値が屈曲指示値に達するまでは入力と出力の関係は原点の座標と屈曲点の座標の間を結ぶ直線で表され、入力値が屈曲点以降は入力と出力の関係は屈曲点の座標と入出力の最大座標(255,255)の間を結ぶ直線で表されるような変換テーブルを作成し、作成した変換テーブルを用い入力輝度を変換して出力することにより、逆光において影になる部分を明るくするとともに明るい部分のつぶれを少なくするようにしている。
【０００７】
また、特開2000―134467号公報に示された画像処理方法は、対象画像を示す画像データを入力し、この対象画像のヒストグラムを作成し、作成したヒストグラムに基づき対象画像が逆光画像であるか否を判定し、この判定結果に基づき画像処理条件を設定して、逆光シーンに適した画像処理を行うことができるようにしている。
【０００８】
【発明が解決しようとする課題】
この階調補正処理を行う上で最も困難なのは、被写体の明るさを適切に補正しながら画像全体において過補正を起こさないことである。すなわち、前記特開平７−301867号公報等に示すように、被写体部分のみから補正量を得ると、補正処理後の画像において背景の階調がつぶれたり、高彩度色において階調つぶれや色相ずれが起こったりする。また、特開平10―79885号公報に示すように、輝度情報だけで階調補正カーブを作成し、その階調補正カーブで色処理を行うと、輝度成分は飽和しなくても、色成分が飽和してしまう場合があり、高彩度色の階調つぶれや色相ずれの原因となる。また、画像全域に飽和が起こらないように階調補正カーブを設定すると、補正が充分にかからない場合がある。
【０００９】
この発明は、このような問題を解消し、不適切な露出状態で撮影された画像の主被写体の明るさを、背景の階調つぶれや色相ずれを起こすことなく、最大限の効果で適切に補正し、かつ適切な露出状態で撮影された画像に対しては過補正をしない画像処理装置と画像出力装置と画像処理方法及び画像処理プログラムを格納した記録媒体を提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
この発明に係る画像処理装置は、入力した画像データにおいて明るさの範囲を少なくとも２段階以上に区分し、最も明るい区分に属する領域を制御候補領域とし、高輝度で無彩色の領域とエッジ及びエッジ付近の領域を前記制御候補領域から除いた領域を制御領域として抽出する制御領域抽出手段と、前記抽出した制御領域の画像データに対して階調補正カーブにより階調補正処理を行ったデータに対して飽和度合いを評価する飽和判断手段と、該飽和判断手段で飽和度合いが許容されないと判定された場合に、前記階調補正カーブを新たな階調補正カーブに更新する更新手段とを備えた階調補正調節手段とを有することを特徴とする。
【００１１】
前記制御領域抽出手段は、さらに高彩度の色成分の領域を前記制御候補領域から除いた領域を制御領域として抽出することを特徴とする。
【００１３】
飽和判断手段は、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、飽和の目立ちやすさが許容されるか否かを判断して、階調つぶれの程度が許容されるか否かを判定する。
【００１４】
さらに、飽和判断手段は、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、制御領域の面積に対する飽和と判定された領域の面積の値を用いて算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断したり、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、画像全領域の面積に対する飽和と判定された領域の面積の値を用いて算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断して、階調つぶれの程度が許容されるか否かを正確に判定する。
【００１５】
また、飽和判断手段は、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、制御領域もしくは飽和と判定された領域の少なくとも一方の集中度合いで算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断したり、制御領域に属する画素の持つ成分のうち少なくとも一つがある基準値を超える場合に飽和とし、飽和と判定された領域に属する画素（以下、飽和画素という）の重心位置と各飽和画素との平均距離から飽和と判定された領域の分散度合いを判定し、該分散度合いに基づいてある閾値を可変し、飽和度が閾値以下の場合に飽和度合いが許容されると判断して、階調つぶれの程度が許容されるか否かを正確に判定する。
【００１６】
また、更新手段は階調補正の程度を小さく調節して前記階調補正カーブを新たな階調補正カーブに更新したり、階調補正の程度を大きく調節して階調補正カーブを新たな階調補正カーブに更新して、補正後の画像品質を最適化する。
【００１８】
また、階調補正調節手段は、飽和判断手段で飽和度合いが許容されないと判定された場合に、前記階調補正カーブを更新する前に前記制御領域を更新する制御領域更新手段を有し、階調補正処理の高速化を図る。
【００１９】
また、前記階調補正処理を行う画像処理装置を有する画像出力制御装置と、画像出力制御装置で階調補正処理した画像データを出力する画像形成装置とで画像出力装置を構成し、入力した画像データを画像形成装置に応じて階調補正処理して出力し、階調つぶれのない画像を出力する。
【００２０】
この画像出力装置の画像処理装置の飽和判断手段における飽和度合いの評価基準と飽和度合いの許容基準とを接続された画像形成装置に応じて設定し、画像形成装置の最も適した階調補正処理を行う。
【００２１】
この発明の画像処理方法は、入力した画像データにおいて明るさの範囲を少なくとも２段階以上に区分し、最も明るい区分に属する領域を制御候補領域とし、高輝度で無彩色の領域とエッジ及びエッジ付近の領域を前記制御候補領域から除いた領域を制御領域として抽出する制御領域抽出ステップと、前記抽出した制御領域の画像データに対して階調補正カーブにより階調補正処理を行ったデータに対して飽和度合いを評価する飽和判断ステップと、前記飽和度合いが許容されないと判定された場合に、前記階調補正カーブを新たな階調補正カーブに更新する階調補正調節ステップとを有することを特徴とする。
【００２２】
この発明の記憶媒体は、前記画像処理方法を実行するプログラムを格納し、コンピュータで読取可能なことを特徴とする。
【００２３】
【発明の実施の形態】
図１はこの発明の画像出力装置の構成を示すブロック図である。図に示すように、画像出力装置は画像入力装置１と画像処理装置２と画像形成装置３を有する。画像入力装置１は、例えばスキャナ４とデジタルカメラ５あるいはビデオカメラ６などを有し、写真などのカラー画像をマトリックス状の画素として表した実写の画像データを画像処理装置２に出力する。画像処理装置２は、コンピュータ７とハードディスク８とキーボード９とＣＤ−ＲＯＭドライブ１０とフロッピディスクドライブ１１とモデム１２及びサーバ１３を有する。画像形成装置３はディスプレイ１４とプリンタ１５を有する。画像処理装置２のコンピュータ７はオペレーションシステム１６と、階調補正手段１７を有する画像処理アプリケーション１８と、ディスプレイドライバ１９及びプリンタドライバ２０を有する。画像処理アプリケーション１８はオペレーティングシステム１６により処理の実行が制御され、必要に応じてディスプレイドライバ１９と連携し所定の画像処理を実行する。この画像処理アプリケーション１８で画像処理を行うとき、階調補正手段１７は、ＲＧＢの階調データを入力して最適な評価値を用いて階調補正処理を施したＲＧＢの階調データを作成し、ディスプレイドライバ１９を介してディスプレイ１４に表示したり、プリンタドライバ２０を介してプリンタ１５へ出力させる。
【００２４】
階調補正手段１７は、図２のブロック図に示すように、制御領域抽出手段２１と階調補正調節手段２２及び階調補正処理手段２３を有する。制御領域抽出手段２１は、入力した画像データに対して階調補正処理を行ったときに階調つぶれが目立つ制御領域を抽出する。階調補正調節手段２２は、階調補正カーブ取得手段２４とデータ処理手段２５と飽和判断手段２６と更新手段２７を有する。階調補正カーブ取得手段２４は入力した画像データ全体から階調補正カーブｆ０（ｘ）を取得したり、あるいは画像から人物領域などの被写体抽出を行い、その中央値等から補正量を決めて階調補正カーブｆ０（ｘ）を得る。ここでxは画像データの入力輝度値である。データ処理手段２５は制御領域抽出手段２１で抽出した制御領域の画像データを階調補正カーブで階調補正処理を行う。飽和判断手段２６は階調補正処理後の画像データの階調つぶれを評価する。更新手段２７は補正量調節手段２８と階調補正カーブ更新手段２９を有し、飽和判断手段２６で階調つぶれが許容されないと判定された場合、補正量調節手段２８で階調補正量の調節を行い、階調補正カーブ更新手段２９で新たな階調長補正カーブｆｉ（ｘ）を得る。ここでｉは階調補正カーブの更新回数を示す。この階調補正カーブｆｉ（ｘ）の更新は飽和判断手段２６で階調つぶれが許容されると判断されるまで繰り返す。階調補正処理手段２３は飽和判断手段２６で階調つぶれが許容されると判定された階調補正カーブにより入力した画像データに対してカラー画像の階調補正処理を行う。
【００２５】
上記のように構成した階調補正手段１７で画像入力装置１から入力したＲＧＢのカラー画像データに対して階調補正を行うときの処理を図３のフローチャートを参照して説明する。
【００２６】
入力した画像データが階調補正手段１７に送られると、まず、制御領域抽出手段２１は、入力した画像データに対して階調補正処理を行ったときに階調つぶれが目立つ制御領域を抽出し、抽出した制御領域の画像データを階調補正調節手段２２に送る（ステップＳ１）。
【００２７】
一方、階調補正調節手段２２の階調補正カーブ取得手段２４は入力した画像データから階調補正カーブｆ０（ｘ）を取得する（ステップＳ２）。この取得した階調補正カーブｆ０（ｘ）によりデータ処理手段２５は制御領域抽出手段２１で抽出した制御領域の画像データを階調補正処理する（ステップＳ３）。この階調補正カーブｆ０（ｘ）を用いてＲＧＢのカラー画像データの階調補正処理を行うときの処理を詳細に説明する。
【００２８】
入力した画像データの画素数をｊ＝（１，２，・・Ｎ−１，Ｎ）とし、画像データの入力輝度値をＹin(j)、階調補正カーブｆ０（ｘ）による補正後の出力輝度値をＹ1(j)と定義する。入力した画像データのj番目の画素の入力輝度値Ｙin(j)は、カラー画像信号（Ｒin(j)，Ｇin(j)，Ｂin(j)）を用いて下記（１）式で表せる。
Ｙin(j)＝0.299Ｒin(j)＋0.587Ｇin(j)＋0.114Ｂin(j)・・・（１）
この入力輝度値Ｙin(j)に対して階調補正カーブｆ０（ｘ）による階調補正処理後の出力輝度値Ｙ1(j)を算出し、階調補正係数ＣＯ(j)を下記（２）式で算出する。
ＣＯ(j)＝Ｙ1(j)/Ｙin(j)＝ｆ０(Ｙin(j))/Ｙin(j)・・・・（２）
この階調補正係数ＣＯ(j)を用いて入力カラー画像信号（Ｒin(j)，Ｇin(j)，Ｂin(j)）を下記（３）式で変換することにより階調補正カラー信号(Ｒ1(j)，Ｇ1(j)，Ｂ1(j))を得る。
(R1(j),G1(j),B1(j))=CO(j)・(Rin(j),Gin(j),Bin(j))・・・・・（３）
また、入力画像信号がグレーの場合、グレーレベルＹin(j)を入力値とし、階調補正処理後の出力は、出力グレーレベルＹ1(j)＝ｆ０(Ｙin(j))を得れば良い。
ここで通常の画像処理では、例えばディスプレイ１４等の出力デバイスの再現範囲０〜255を超えた場合クリッピングを行う。すなわち０未満の値は０へ、255以上の値は強制的に255に置き換える。これに対して、この発明の場合は最終的な階調補正カーブを得て階調補正処理を行うまでクリッピングを行わないでおく。
【００２９】
この階調補正カーブｆ０（ｘ）を用いてＲＧＢのカラー画像データの階調補正処理後の画像データの飽和度を飽和判断手段２６で算出し、算出した飽和度により階調つぶれを評価する（ステップＳ４，Ｓ５）。例えばｊ番目の画素の階調補正後の色成分(Ｒ1(j),Ｇ1(j),Ｂ1(j))のうち、少なくとも１つが出力デバイスであるディスプレイ１４の再現範囲である０から255値を超えた場合、ｊ番目の画素は飽和しているとみなす。そして階調つぶれがあるか否かを飽和を用いて判定し、飽和度合いを評価することによって階調つぶれが許容されるか否かを判定する。
この階調つぶれを評価する飽和度合いは次の方法により算出する。例えばディスプレイ１４の再現範囲を超えて飽和しているとみなす画素に対して平均的な超越値を算出する。すなわち、Ｋ個の飽和画素に対して各画素ごとに飽和した色成分の最大レベルＬj（ｊ＝１，２，・・Ｋ）を求め、下記（４）式に示すように、最大レベルＬjと再現範囲上限255との差分の平均値Ｏaveを飽和度として算出する。
Ｏave＝Σ(Ｌj−255)／Ｋ・・・・・（４）
但し、ΣはＪ＝１，２，・・・Ｋについてとる。
また、例えば制御領域に属すＭ個の画素に対してＫ／Ｍを飽和度としたり、画像の全領域に属するＮ個の画素に対してＫ／Ｎで飽和度を定義しても良い。
【００３０】
飽和判断手段２６は算出した飽和度がある閾値Ｔｈ１以上の場合、飽和度合い、すなわち階調つぶれが許容されないと判断する。この閾値Ｔｈ１は、Ｋ／Ｍを飽和度とした場合、実験によるとＴｈ１＝0.03であった。また、入力画像信号がグレーの場合、階調補正後のグレーレベルＹ1(j)がディスプレイ１４の再現範囲を超えた場合、ｊ番目の画素は飽和しているとみなせばよい。
【００３１】
この飽和度合いが許容されるか否は入力した画像により異なり、例えば図４（ａ）に示すように制御領域もしくは飽和領域４０が分散している場合と、図４（ｂ）に示すように制御領域もしくは飽和領域４０が集中している場合とでは、成分的には同様の飽和が起こっていても目立ち度合いが異なる。このため制御領域もしくは飽和領域４０の分散度合いに応じて飽和度合いの許容も異なる。そこで、飽和画素の分散度合いに応じて飽和度合いを許容するかどうかの閾値を可変すると良い。すなわち、飽和領域に属する画素に対し番号付けを行い、重心位置を算出し、重心位置と各飽和画素との平均距離を算出し、その値を用いて飽和領域の分散度合いを判定し、この分散度合いに応じて閾値を可変する。具体的には、図４（ｃ）に示すように、画像データの幅と高さを大きさ「１」に正規化し、次に、番号づけされたＫ個の飽和画素４０に対して重心位置Ｃ（Ｘｃ,Ｙｃ）を下記（５）式で算出する。
Ｘｃ＝（Σｘｊ）／Ｋ
Ｙｃ＝（Σｙｊ）／Ｋ・・・・・・・（５）
この算出した重心位置Ｃ（Ｘｃ,Ｙｃ）から飽和画素４０までの平均距離Ｒaveを下記（６）式で算出する。
Ｒave＝Σ{(ｘc−Ｘｃ)２＋(ｙj−Ｙｃ)２}(１／２)}/Ｋ・・（６）
但し、（５），（６）式において、Σはｊ＝１，２，・・・Ｋについてとる。
この平均距離Ｒave(＜1)が大きければ飽和画素４０が分散していることを示しており、飽和度合いは目立たない。そこで算出した平均距離Ｒaveに応じて許容範囲を判定する閾値Ｔｈ１を下記（７）式により閾値Ｔｈ１(Ｒave)に可変する。
Ｔｈ１(Ｒave)＝Ｒave*α＋β・・・・（７）
ここでα，βは正の自然数である。
この分散度合いの算出方法は上記方法に限らず、他の標本分散を使用しても良い。また、デジタルカメラ５などで撮影された画像データは、画像の中心領域が被写体である可能性が高く、中心領域の重要性は大きい。そこで飽和画素の重心位置に応じて閾値に重み付けを行っても良い。例えば、重心位置が画像の中心部に近いほど重要領域であり、飽和は目立つと予想されるため、閾値を低く設定すればよい。
【００３２】
この飽和判断手段２６による飽和度合いの評価の結果、階調つぶれが許容されないと判定された場合、更新手段２７の補正量調節手段２８で階調補正量の調節を行い（ステップＳ６）、この調節結果により新たな階調長補正カーブｆ１（ｘ）を階調補正カーブ更新手段２９で得る（ステップＳ７）。例えば階調補正カーブｆ０（ｘ）が、図５に示すように、ｘを入力信号の輝度値として、
ｆ０（ｘ）＝255＊Ｆ０（ｘ）
Ｆ０（ｘ）＝ｘγ  但しγ＝0.4・・・・（８）
と定義される場合、階調補正カーブｆ０（ｘ）の調節と更新を行い階調補正カーブｆ１（ｘ）を得るために、γの値を0.4から0.5へと0.1だけステップし、
ｆ１（ｘ）＝255＊Ｆ１（ｘ）
Ｆ１（ｘ）＝ｘγ  但しγ＝0.5・・・・（９）
で示す新たな階調補正カーブｆ１（ｘ）を得る。この階調補正カーブの変更には、ｆｉ（ｘ）が直線で表されるときは、その傾きを変更するなど各種の方法がある。
【００３３】
この新たな階調長補正カーブｆ１（ｘ）によりデータ処理手段２５は制御領域抽出手段２１で抽出した制御領域の画像データを階調補正処理し（ステップＳ３）、階調補正処理後の画像データの階調つぶれを飽和判断手段２６で評価する（ステップＳ４）。この階調補正カーブの更新と制御領域の画像データの階調補正処理及び階調つぶれの評価を階調つぶれが許容されると判断されるまで繰り返し、階調つぶれが許容されると判定されると、そのときの階調補正カーブｆｉ（ｘ）を階調補正処理手段２３に出力し、階調補正処理手段２３は入力した階調補正カーブｆｉ（ｘ）により画像データの全てに対してカラー画像の階調補正処理を行う（ステップＳ８）。
【００３４】
次に、入力した画像データに対して階調補正処理を行ったときに階調つぶれが目立つ制御領域を制御領域抽出手段２１で抽出するときの処理を説明する。
制御領域抽出手段２１は入力した画像データの明るさ、例えば輝度レベルを２段階以上、例えば４段階に区分し、階調補正によって飽和しそうな領域を制御領域の候補すなわち制御候補領域として定義する。例えば図６（ａ）に示すように逆光シーンの輝度画像４１に対して、図７（ａ）に示すように、横軸に輝度レベルをとり、縦軸にその頻度をとった輝度ヒストグラムを作成する。この作成した輝度ヒストグラムの輝度値に応じて例えば４段階に区分し、次のように新しくレベル付けを行い、新たな頻度分布Ｈ(i)、但しｉ＝(０，１，２，３）を作成する。
元々の輝度レベルが０以上63未満のとき、頻度Ｈ(0)でレベル０とし、
元々の輝度レベルが64以上127未満のとき、頻度Ｈ(1)でレベル1とし、
元々の輝度レベルが128以上191未満のとき、頻度Ｈ(2)でレベル２とし、
元々の輝度レベルが192以上255未満のとき、頻度Ｈ(3)でレベル３とする。
この４段階に区分した後の輝度ヒストグラムを図７（ｂ）に示し、区分後の輝度画像４１を図６（ｂ）に示す。図６（ｂ）に示すように、区分後の輝度画像４２はポスタリゼーションされて画像のコントラストが明確になっている。そして例えば区分後の最明部であるレベル３に属する領域を制御候補領域とすると、図６（ｃ）に示す画像４３の白抜けの部分が抽出された制御候補領域となる。ここで明るさに対する情報として輝度を用いたが、明度やＧ信号を用いても良い。頻度分布のコントラスト調節を行った後に区分化を行っても良い。
【００３５】
この制御候補領域から、階調補正を行っても階調つぶれが目立たないと予測される領域を除いて制御領域とすると良い。例えば、デジタルカメラにおいて、光源を背景に撮影された逆光画像の場合は、高輝度で無彩色の領域が背景として存在する。このような領域は元々階調が少ないため、階調補正処理の結果、飽和が起こっても目立たないので、それらを予め除去する。
ここで高輝度、無彩色の画素は以下の式で表される。注目画素の色成分を(Ｒin(j),Ｇin(j),Ｂin(j))、閾値をＴｈ２，Ｔｈ３とすると、
Ｒin(j)＜Ｔｈ２andＧin(j)＜Ｔｈ２andＢin(j)＜Ｔｈ２
and|Ｒin(j)−Ｇin(j)|＜Ｔｈ３
and|Ｇin(j)−Ｂin(j)|＜Ｔｈ３
and|Ｂin(j)−Ｒin(j)|＜Ｔｈ３・・・・・・・（１０）
上記閾値は、実験の結果、閾値Ｔｈ２＝220、閾値Ｔｈ３＝20が適切な値であったが、この閾値Ｔｈ２，Ｔｈ３はこの値にこだわらない。また、入力画像信号がグレーの場合、高輝度で元々階調が少なく、階調補正処理の結果、階調つぶれが目立たないと予測される領域を除去すれば良い。
【００３６】
また、デジタルカメラで撮影されたデータはカメラ内の画像出力システムにおいてエッジ強調処理を行うため、エッジ付近の画素は強調され、白抜け等が起こる場合がある。これらを飽和しそうな領域だと誤判定されないために、予め削除する必要がある。このエッジ領域か否かは例えば以下の方法で判定する。
【００３７】
図８に示すように、注目画素の画素輝度値をＸとする。この注目画素の画素輝度値Ｘに対して水平方向４近傍画素の画素輝度値をそれぞれａ，ｂ，ｃ，ｄとし、垂直方向４近傍画素をそれぞれｓ，ｔ，ｕ，ｖとする。エッジを抽出するために例えば水平方向と垂直方向に対し高域と中域の差分和をとる。
水平方向高域差分和Ｌhh(X)＝|Ｘ−ｃ|＋|Ｘ−ｂ|
水平方向中域差分和Ｌhm(X)＝|Ｘ−ａ|＋|Ｘ−ｄ|
垂直方向高域差分和Ｌvh(X)＝|Ｘ−ｔ|＋|Ｘ−ｕ|
垂直方向中域差分和Ｌvm(X)＝|Ｘ−ｓ|＋|Ｘ−ｖ|・・・・（１１）
式１１では注目画素の値から上下、もしくは左右の周囲２画素の差分和を求めている。すなわち、周辺画素に対し注目画素の値が異なっている場合、算出値は大きくなり、逆に、周辺画素と注目画素の値が同等の場合は算出値は小さくなる。したがって差分和をとることで注目画素の孤立点の度合い、すなわちエッジ部である可能性を検討する。この差分和により評価値を算出する。水平方向の評価値をＥh(Ｘ)、垂直方向の評価値をＥv(Ｘ)とし、Ｅh(Ｘ)とＥv(Ｘ)のうち大きい値を注目画素の評価値Ｅ(Ｘ)とする。
Ｅh(X)＝(Ｌhh(X)＋Ｌhm(X))／２
Ｅv(X)＝(Ｌvh(X)＋Ｌvm(X))／２
Ｅ(X)＝max(Ｅh(X)，Ｅv(X))    ・・・・・・・（１２）
さらに、輝度の高い方がノイズ等を感じやすいと言う人間の視覚特性を考慮して、注目画素の輝度値Ｘに応じて、エッジか否かの判定閾値Ｔｈ４(Ｘ)を変化させる。この判定閾値Ｔｈ４(Ｘ)は実験の結果、次のように設定すると良好な結果を得ることができた。
Ｔｈ４(Ｘ)＝100                  (0≦Ｘ＜50)
Ｔｈ４(Ｘ)＝−(3/5)Ｘ＋130      (50≦Ｘ＜200)
Ｔｈ４(Ｘ)＝10                  (200≦X＜255)・・・（１３）
そして評価値Ｅ(Ｘ)＞Ｔｈ４(Ｘ)の場合、注目画素はエッジもしくはエッジ強調された部分であると判定して制御領域から削除する。ここで閾値Ｔｈ４(Ｘ)は（１３）式にこだわらない。また、エッジもしくはエッジ強調された部分か否かの判定方法にはこのほかにも種々考えられるがそれらを用いても良い。また、入力画像信号がグレーの場合、グレーレベルの値をＸとみなし、エッジ領域か否かを判定すればよい。
【００３８】
また、デジタルカメラで撮影されたデータは、元々被写体が高彩度な上に、カメラ内の画像出力システムにおいて彩度強調処理を行っている。このような領域は元々階調が少ないため、階調補正処理の結果、飽和が目立たないのでこれらを予め排除すると良い。例えばＧの信号レベルが人間の感じる輝度に近いという視覚特性を考慮して、Ｇ信号とそのほかの色成分との差分を閾値Ｔｈ５と比較することによって高彩色の画素か否かを評価する。
注目画素の色成分を(Ｒ1(j),Ｇ1(j),Ｂ1(j))とすると、下記（１４）式に示す条件を満たすときに高彩色の画素と判定して制御領域から除去する。
|Ｒin(j)−Ｇin(j)|＞Ｔｈ５
and|Ｇin(j)−Ｂin(j)|＞Ｔｈ５・・・・・（１４）
ここで閾値Ｔｈ５は実験の結果Ｔｈ５＝100が適切な値であったが、特にこの値にはこだわらない。また、高彩度色か否かの判定方法にはこのほかにも種々考えられるが、それらを用いても良い。
【００３９】
このようにして制御領域抽出手段２１で抽出された制御領域の画像データにより階調補正調節手段２２で階調つぶれが許容されないと判断された場合、階調補正カーブｆｉ（ｘ）を更新するとともに制御領域を新たに更新すると処理の高速化を実現することができる。この階調補正調節手段２２で階調補正カーブｆｉ（ｘ）を更新するとともに制御領域を新たに更新する場合について説明する。
【００４０】
階調補正調節手段２２には、図９のブロック図に示すように、飽和判断手段２６による飽和度合いの評価の結果、階調つぶれが許容されないと判定された場合に制御領域抽出手段２１で抽出した制御領域を新たに取り直して制御領域を更新する制御領域更新手段３０を有する。そして入力された画像データに対して制御領域抽出手段２１より例えば図１０（ａ）に示す第１の制御領域５１が抽出され、この第１の制御領域５１の画像データに対して階調補正カーブ取得手段２４で取得した階調補正カーブｆ０（ｘ）により階調補正処理を行ったデータに対して飽和判断手段２６で１回目の飽和度合いの評価が行われ、階調つぶれが許容されないと判定された場合、制御領域更新手段３０は、図１０（ｂ）に示すように第１の制御領域５１と飽和度合いの評価から第２の制御領域５２を得る。このとき第２の制御領域５２は、第１の制御領域５１に属し、階調補正カーブｆ０（ｘ）を用いて階調補正処理を行った際に飽和しなかった画素は排除する。何故なら、更新手段２７において新たに得る階調補正カーブｆ１（ｘ）を用いた階調補正処理は、階調補正カーブｆ０（ｘ）を用いた場合よりも飽和が起こりにくいように調節され、したがって階調補正カーブｆ０（ｘ）を用いて飽和しなかった領域は次からは飽和判定を行う必要が無いためである。
【００４１】
その後、補正量調節手段２８により補正量が調節され、階調補正カーブ更新手段２９で新たな階調補正カーブｆ１（ｘ）を得る。この階調補正カーブｆ１（ｘ）を用いて第２の制御領域５２の画像データに対して階調補正処理を行い、飽和判断手段２６で階調つぶれが許容されるか否を判定し、階調つぶれが許容される場合は、階調補正カーブｆｉ（ｘ）の更新は行われず、階調補正カーブｆ１（ｘ）を出力し階調補正処理手段２３で全画像データに対して階調補正処理を行う。
【００４２】
次に、前記階調補正手段１７を有する画像出力制御装置（プリンタドライバ）を有する画像出力システムについて説明する。画像出力システムは、図１１のブロック図に示すように、複数のパソコン（ＰＣ）３１ａ、３１ｂと、各パソコン３１ａ，３１ｂにプリンタドライバ３２ａ，３２ｂを介して接続さレたプリンタ15ａ,15ｂとを有する。プリンタドライバ３２ａ，３２ｂは色変換手段３３と中間調処理等を実施する描画手段３４と、描画手段３４で描画された1ページ分の印刷画像を一時的に格納しておく画像記憶手段３５を有する。色変換手段３３は、図１２のブロック図に示すように、階調補正手段１７と補間演算部３６と色変換テーブル記憶部３７を有する。
【００４３】
この画像出力システムにおいて、例えばパソコン３１ａでオペレータがプリンタ１５ａを選択して出力指令を入力すると、パソコン３１ａは、画像を撮像するなどして取り込まれた画像データや各種ＤＴＰソフトで作成したモノクロとカラーの両方の写真等の画像データをプリンタドライバ３２ａに送る。プリンタドライバ３２ａは送られた画像データの階調補正処理を行ってから複数の出力色成分Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）への色変換処理を行い印刷データをプリンタ１５ａに送る。プリンタ１５ａは送られた印刷データにより画像を印刷する。
【００４４】
この画像データを印刷して出力するときのプリンタドライバ３２ａ，３２ｂの色変換手段３３における階調補正処理とＲＧＢの画像データからＣＭＹＢの印刷データに変換する処理を説明する。パソコン３１ａからＲＧＢの画像データがプリンタドライバ３２ａに送られると、プリンタドライバ３２ａの制御領域抽出手段２１より第１の制御領域５１が抽出され、この第１の制御領域５１の画像データに対してデータ処理手段２５は階調補正カーブ取得手段２４で取得した階調補正カーブｆ０（ｘ）により階調補正処理を行う。この階調補正処理がされたデータに対して飽和判断手段２６で１回目の飽和度合いの評価が行われる。ここで各プリンタ１５ａ，１５ｂの再現範囲が異なるため飽和の基準もプリンタ１５ａ，１５ｂ毎に異なる。そこで階調補正手段１７には接続されたプリンタ１５ａに関する飽和の基準情報を格納した飽和基準テーブル３８を有する。また、各プリンタ１５ａ，１５ｂのインク特性やこの後に行われる中間調処理に応じて飽和度合いの基準も異なる。これに対応するために、階調補正手段１７には接続されたプリンタ１５ａに関する飽和度合いの許容基準情報を格納した飽和度合許容テーブル３９も有する。飽和判断手段２６は飽和基準テーブル３８と飽和度合許容基準テーブル３９に格納された情報を読みこんで階調つぶれの度合いが許容されるか否かを判定する。階調つぶれが許容されないと判定された場合、制御領域更新手段３０は第１の制御領域５１と飽和度合いの評価から第２の制御領域５２を得る。その後、補正量調節手段２８により補正量が調節され、階調補正カーブ更新手段２９で新たな階調補正カーブｆ１（ｘ）を得る。この階調補正カーブｆ１（ｘ）を用いて第２の制御領域５２の画像データに対して階調補正処理を行い、飽和判断手段２６で階調つぶれが許容されるか否を判定し、階調つぶれが許容される場合は、階調補正カーブｆｉ（ｘ）の更新は行われず、階調補正カーブｆ１（ｘ）を出力し階調補正処理手段２３で全画像データに対して階調補正処理を行い、補間演算部３６に出力する。
【００４５】
補間演算部３６は送られたＲＧＢの画像データを、色変換テーブル記憶部３７に格納された色変換テーブルのなかから選択された色変換テーブルを参照してメモリマップ補間によりＣＭＹに色変換する。このメモリマップ補間は、図１３に示すように、ＲＧＢ空間を入力色空間とした場合、ＲＧＢ空間を同種類の立体図形に分割し、入力の座標（ＲＧＢ）おける出力値Ｐを求めるために、入力の座標（ＲＧＢ）を含む立方体を選択し、選択された立方体の８点の予め設定した頂点上の出力値と立体図形の中における位置すなわち各頂点からの距離に基づいて線形補間を実施する。ここで出力値Ｐは、Ｃ、Ｍ、Ｙ値にそれぞれ相当し、補間演算に使用される入力空間上の座標（ＲＧＢ）には、実際の入出力（Ｌ*ａ*ｂ*−ＣＭＹ）の関係を測定して、このデータを使用して最小２乗法等により算出したＲＧＢ（Ｌ*ａ*ｂ*）に対するＣ、Ｍ、Ｙの値が予め設定してある。また、ＣＭＹ信号は、例えば下記（１５）式の演算によってＣＭＹＫ信号に変換される。
Ｋ＝α・min(Ｃ，Ｍ，Ｙ)
Ｃ１＝Ｃ−β・Ｋ
Ｍ１＝Ｍ−β・Ｋ
Ｙ１＝Ｙ−β・Ｋ                （１５）
なお、色変換法はこの方法だけに限らず、例えばプリンタ１５ａの特性をパソコン３１ａが画像データのヘッダ情報に記録して送信するようにしても良いし、プリンタドライバ３２をパソコン３１ａ内部に実装する場合には、例えばＩＣＣ（Inter Color Consortium）で標準化されているデバイス・プロファイルを読み出して用いてよい。
【００４６】
補間演算部３６でメモリマップ補間されてＣＭＹＫに変換された印刷データは描画手段３４に送られ中間調処理等が行われ、印刷画像が１ページ分ずつ画像記憶手段３５に一時的に格納され、この印刷画像がプリンタ１５ａで印刷される。
【００４７】
前記説明では階調補正手段１７で入力した画像データの階調補正処理を行った場合について説明したが、この階調補正手段１７で実行した階調補正処理プログラムを例えばフロッピディスクやハードディスク、光ディスク、光磁気ディスク、メモリカード等の記憶媒体に格納しておき、図１４のブロック図に示すように、ＣＰＵとＲＡＭとＲＯＭやディスクハード等を有する演算処理装置６１と、記録媒体６２に格納したプログラムを読み取るプログラム読取装置６３と、ディスプレイやマウスやキーボード等を有するパソコン６０で記憶媒体６２に格納した階調補正処理プログラムを読み取り、読み取った階調補正処理プログラムにより、デジタルカメラ５等から入力した画像データの階調補正処理を行っても良い。
【００４８】
この場合、記憶媒体６２に記憶されているブログラムコードはプログラム読取装置６３で読みとってハードディスクなどに格納され、この格納されたブログラムコードをＣＰＵによって実行することにより、階調補正処理などを実現することができる。また、パソコン６０が読み出したブログラムコードを実行することにより、そのブログラムコードの指示に基づき、パソコン６０上で稼動しているＯＳ（オペレーティングシステム）やデパイス・ドライパなどが実際の処理の一部または全部を行い、その処理によって前記機能が達成される場合も含まれる。
【００４９】
【発明の効果】
この発明は以上説明したように、入力した画像データを階調補正したときに階調つぶれが目立つ候補領域を制御領域として抽出する制御領域抽出手段と、制御領域の情報を用いて階調補正カーブを更新する階調補正調節手段とを有し、補正によって階調つぶれが目立つ領域の情報を用いて階調補正を調節することにより、階調つぶれを起こすことなく階調補正を行うことができ、良質な画像を安定して出力することができる。
【００５０】
また、階調補正カーブを用いて制御領域の画像データを階調補正処理したときに飽和度合いを評価し、飽和度合いが許容されないと判定された場合に、階調補正カーブを新たな階調補正カーブに更新することにより、補正によって起こる階調つぶれを飽和度合いを用いて算出して階調つぶれの程度を把握することができる。
【００５１】
また、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、飽和の目立ちやすさが許容されるか否かを判断することにより、階調つぶれの程度が許容されるか否かを安定して判定することができる。
【００５２】
さらに、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、制御領域の面積に対する飽和領域の面積の値を用いて算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断したり、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、画像全領域の面積に対す飽和領域の面積の値を用いて算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断することにより、階調つぶれの程度が許容されるか否かを正確に判定することができる。
【００５３】
また、制御領域に属する画素の持つ成分のうち、少なくとも一つがある基準値を超える場合に飽和とし、制御領域もしくは飽和領域の少なくとも一方の集中度合いで算出される飽和度がある閾値以下の場合に飽和度合いが許容されると判断することにより、階調つぶれの程度が許容されるか否かを正確に判定することができる。
【００５４】
また、階調補正の程度を小さく調節して階調補正カーブを新たな階調補正カーブに更新したり、階調補正の程度を大きく調節して階調補正カーブを新たな階調補正カーブに更新することにより、階調補正後の画像品質を最適化することができる。
【００５５】
また、入力した画像データにおいて明るさの範囲を少なくとも２段階以上に区分した最明部に属する領域を制御領域として抽出することにより、階調補正後の画像品質を最適化することができる。
【００５６】
さらに、入力した画像データにおいて高輝度で無彩色の領域や、エッジ及びエッジ付近の領域や、高彩度の領域など、補正によって階調つぶれが目立たない領域は制御領域に属さないとして、制御領域として不適切な領域であるとして除くことにより、階調補正後の画像品質を最適化することができる。
【００５７】
また、飽和度合いが許容されない場合に、制御領域更新手段で制御領域を更新することにより、階調補正処理の高速化を図ることができる。
【００５８】
また、上記階調補正処理を行う画像処理装置を有する画像出力制御装置と、画像出力制御装置で階調補正処理した画像データを出力する画像形成装置とで画像出力装置を構成し、入力した画像データを画像形成装置に応じて階調補正処理して出力することにより、階調つぶれのない良質な画像を安定して出力することができる。
【００５９】
この画像出力装置の画像処理装置の飽和判断手段における飽和度合いの評価基準と飽和度合いの許容基準とを接続された画像形成装置に応じて設定することにより、画像形成装置に対して最も適した階調補正処理を行うことができる。
【００６０】
また、入力した画像データを階調補正したときに階調つぶれが目立つ候補領域を制御領域として抽出し、抽出した制御領域の情報を用いて階調補正カーブを更新して階調補正処理を行うプログラムをコンピュータで読取可能な記録媒体に格納することにより、階調つぶれを起こすことなしに良質な画像を出力する階調補正処理プログラムを容易に提供することができる。
【図面の簡単な説明】
【図１】この発明の画像出力装置の構成を示すブロック図である。
【図２】階調補正手段の構成を示すブロック図である。
【図３】階調補正処理を示すフローチャートである。
【図４】飽和度合いの許容を判定する閾値の算出を示す説明図である。
【図５】階調補正カーブの更新を示す輝度特性図である。
【図６】制御候補領域の抽出処理を示す画像図である。
【図７】制御候補領域の抽出処理を示す輝度ヒストグラムである。
【図８】制御領域を抽出するときのエッジ抽出処理を示す輝度分布図である。
【図９】制御領域更新手段を有する階調補正手段の構成を示すブロック図である。
【図１０】制御領域更新処理を示す説明図である。
【図１１】画像出力システムの構成を示すブロック図である。
【図１２】プリンタドライバの色変換手段の構成を示すブロック図である。
【図１３】色変換処理を行うときのＲＧＢ空間を示す説明図である。
【図１４】階調補正処理プログラムを記憶媒体から読み取り階調補正処理を行うコンピュータの構成を示すブロック図である。
【符号の説明】
１；画像入力装置、２；画像処理装置、３；画像形成装置、４；スキャナ、
５；デジタルカメラ、７；コンピュータ、１４；ディスプレイ、
１５；プリンタ、１６；オペレーションシステム、１７；階調補正手段、
１８；画像処理アプリケーション、２１；制御領域抽出手段、
２２；階調補正調節手段、２３；階調補正処理手段、
２４；階調補正カーブ取得手段、２５；データ処理手段、
２６；飽和判断手段、２７；更新手段、２８；補正量調節手段、
２９；階調補正カーブ更新手段、３０；制御領域更新手段。
【図１】
0004219577.tif 000002
【図２】
0004219577.tif 000003
【図３】
0004219577.tif 000004
【図４】
0004219577.tif 000005
【図５】
0004219577.tif 000006
【図６】
0004219577.tif 000007
【図７】
0004219577.tif 000008
【図８】
0004219577.tif 000009
【図９】
0004219577.tif 000010
【図１０】
0004219577.tif 000011
【図１１】
0004219577.tif 000012
【図１２】
0004219577.tif 000013
【図１３】
0004219577.tif 000014
【図１４】
0004219577.tif 000015