(57)【特許請求の範囲】
【請求項１】
画像入力手段と、
入力された画像を格納する画像メモリと、
画像メモリに格納された画像を複数の画像領域に分割する画像領域分割手段と、
分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するヒストグラム作成手段と、
前記分割された画像領域毎に、その領域の最頻度色相値を演算する最頻度色相値演算手段と、
画像の状態に関する情報及び前記演算された最頻度色相値情報をパラメータとして、前記ヒストグラムから明度変換情報を作成する明度変換情報作成手段と、
前記明度変換情報に基づいて画像を形成する画素の明度を変換する画素明度変換手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
画像を入力するステップと、
入力された画像を画像メモリに格納するステツプと、
画像メモリに格納された画像を複数の画像領域に分割するステツプと、
前記分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するステツプと、
前記分割された画像領域毎に、その領域の最頻度色相値を演算するステツプと、
画像の状態に関する情報及び前記演算された最頻度色相値情報をパラメータとして、前記作成されたヒストグラムから明度変換情報を作成するステツプと、
前記明度変換情報に基づいて、画像を形成する画素の明度を変換するステツプと
を含むことを特徴とする画像処理方法。
【請求項３】
画像を入力するステップと、
入力された画像を画像メモリに格納するステツプと、
画像メモリに格納された画像を複数の画像領域に分割するステツプと、
分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するステツプと、
前記分割された画像領域毎に、その領域が肌色領域か否かを判定するステツプと、
画像の状態に関する情報及び肌色領域であるか否かの情報をパラメータとして、前記ヒストグラムから明度変換情報を作成するステツプと、
前記明度変換情報に基づいて、画像を形成する画素の明度を変換するステツプと
を含むことを特徴とする画像処理方法。
【請求項４】
画像を入力するステップと、
入力された画像を画像メモリに格納するステツプと、
画像メモリに格納された画像を複数の画像領域に分割するステツプと、
分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するステツプと、
前記分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布の分散値を演算するステツプと、
画像の状態に関する情報及び前記演算された分散値をパラメータとして、前記作成されたヒストグラムを補正し、補正されたヒストグラムから明度変換情報を作成するステツプと、
前記明度変換情報に基づいて、画像を形成する画素の明度を変換するステツプと
を含むことを特徴とする画像処理方法。
【請求項５】
請求項２に記載の画像処理方法をコンピユータに実行させるためのプログラムを記憶した記録媒体。
【請求項６】
請求項３に記載の画像処理方法をコンピユータに実行させるためのプログラムを記憶した記録媒体。
【請求項７】
請求項４に記載の画像処理方法をコンピユータに実行させるためのプログラムを記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、原画像のコントラスト及び明度を自動的に補正して、最適のコントラスト及び明度の画像を形成することができる画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
画像のコントラストを強調する、即ち画像が取り得る明度範囲を拡大したり、画像の一部についてコントラストを調整するなどの処理を行うと、画像品質が向上することは、広く知られている。
【０００３】
即ち、例えば画像のコントラストが低いということは、画像が取り得る明るさ（明度）の範囲が狭い画像であるから、その画像が取り得る明度の範囲をより明度の高い画像部分からより明度の低い画像部分までに拡げるように、コントラストを高める処理をすれば、画像メリハリがはつきりして、低コントラストの画像では見えにくい像も見えてくることになる。
【０００４】
画像のコントラストを強調する方法として、従来から行われている方法はヒストグラム均等化法と呼ばれる方法がある。これは、原画像を構成する全画素の明度値の分布状態を示すヒストグラムを作成し、ヒストグラムの累積曲線を明度変換曲線（マッピングカ−ブ）として原画像中の画素の明度値を新たな明度値に変換し、画像のコントラストを強調するものである。
【０００５】
この方法は、原画像の全体（全領域）の画素の明度を同一の明度変換曲線で新たな明度に変換するために、部分的にはかえつてコントラストが低下してしまう部分が生じることがある。このため、画像全体に亘つてコントラストを強調したい場合には、強調したい画像領域については、その領域に合つたコントラスト強調処理を行う必要があつた。
【０００６】
このため、以下のような局所的ヒストグラム均等化法と呼ばれる方法が提案されている。この方法は、原画像を複数の矩形領域に分割し、それぞれの矩形領域毎に、その領域の全画素の明度値の分布状態を示すヒストグラムを作成し、作成されたヒストグラムの値を累積した累積曲線を明度変換曲線として、各矩形領域毎に明度変換曲線を求めて、矩形領域内の画素の明度値を新たな明度値に変換する方法である。しかし、この方法では、コントラストが強調され過ぎる矩形領域が生じる場合があり、隣接する矩形領域との間のコントラストの連続性の確保が困難になるという欠点があつた。
【０００７】
このような欠点を解消する方法として、画素の明度値の分布状態を示すヒストグラムの中で、所定値以上の高い画素分布値をクリッピングし、クリッピングしたヒストグラムを累積した累積曲線を明度変換曲線として、矩形領域内の画素の明度値を新たな明度値に変換することにより、画像全体について過度のコントラストの強調を抑えた画像補正を行うことができる。
【０００８】
以下、図１３乃至図１６を参照して、上記したクリッピングしたヒストグラムの値を累積した累積曲線を明度変換曲線として画素の明度変換を行う方法について説明する。なお、この変換処理は、画像処理装置の制御装置を構成するＣＰＵにより実行されるものである。
【０００９】
図１３は原稿画像を読み取り、画像メモリに格納された原画像Ａを複数の矩形領域Ｓ1 〜Ｓn に分割する様子を説明する図である。ここでは、分割された領域Ｓm についての処理を説明する。領域Ｓm の全画素についてその明度別の画素数を計数してヒストグラムを作成する。図１４はこのヒストグラムで、縦軸は画素の個数を示し、横軸は画素の明度を示している。図１４において、線ＣＬ1 及びＣＬ2 はクリッピングレベルを示す線である。
【００１０】
図１５は、図１４に示すヒストグラムをクリッピングレベルＣＬ1 でクリッピングしたヒストグラムを示すもので、クリッピングレベル以上の画素は、横軸に沿つて全明度に亘り均等に分布させる。全明度値に亘り画素が分布しているのは、クリッピングレベル以上の明度の画素を全明度に亘り均等に分布させた結果である。
【００１１】
このヒストグラムを画素数を明度の順に累積すると、累積曲線は図１６のようになり、この累積曲線を明度変換曲線とする。
【００１２】
即ち、図１６の明度変換曲線において、横軸は入力画素の明度レベルを、縦軸は出力画素の明度レベルを表すものである。原画像の画素の明度（入力画素明度）に対応する出力画素明度を明度変換曲線に従つて求め、原画像の画素の明度を新たな画素の明度に変換し、この変換を矩形領域Ｓm の全画素について行う。
【００１３】
以上の処理において、クリッピングレベルはヒストグラムから求められる明度幅（明度の最高値と最低値との差）により決定されるもので、明度幅が狭い、即ちコントラストが低いときはクリッピングレベルを高く設定し、明度幅が広い、即ちコントラストが高いときはクリッピングレベルを低く設定する。
【００１４】
図１７は、クリッピングレベルを低く設定し、クリッピングレベルＣＬ2 （ＣＬ2 ＜ＣＬ1 ) でクリッピングしたヒストグラムを示すもので、全明度値に亘り画素が分布しているのは、先と同じくクリッピングレベル以上の明度の画素を全明度値に均等に分布させた結果である。
【００１５】
図１８は図１７に示すヒストグラムを矩形領域Ｓm について作成し、それらのヒストグラムの値を累積した累積曲線、即ち明度変換曲線である。図１６に示す高いクリッピングレベルの場合の明度変換曲線と比較すると、傾斜が緩くなり、この明度変換曲線を使用して原画像の画素の明度変換を行うときは、コントラストの強調が弱くなることがわかる。
【００１６】
図１９は上記処理を説明するフロ−チヤ−トで、まず、原画像をｎ個の矩形領域Ｓ1 〜Ｓn に分割する（ステツプＰ１０１）。次に、カウンタに１をセツトし（ステツプＰ１０２）、第１の矩形領域デ−タを読み出し（ステツプＰ１０３）、明度別の画素数を計数してヒストグラムを作成し、明度幅を求める（ステツプＰ１０４）。明度幅からクリッピングレベルを求め（ステツプＰ１０５）、ヒストグラムをクリッピングする（ステツプＰ１０６）。ヒストグラムを画素明度別に累積し、累積曲線を求め（ステツプＰ１０７）、その矩形領域に対する明度変換曲線とする。
【００１７】
カウンタに１を加算し（ステツプＰ１０８）、分割した画像領域の全ての処理の終了を判定する（ステツプＰ１０９）。処理終了でなければステツプＰ１０３に戻り、次の分割領域の処理を行う。処理終了の場合は、各矩形領域毎の明度変換曲線に基づき、各矩形領域毎に各画素の明度（入力明度）から変換後の明度（出力明度）を求め、原画像の全画素について明度変換を行う（ステツプＰ１１０）。
【００１８】
以上の処理により、原画像の中の全画素の明度値を新たな明度値に変換すると、過度のコントラストの強調を抑えた画像補正を行うことができる。
【００１９】
【発明が解決しようとする課題】
しかしながら、上記したヒストグラムを適当なクリップ値でクリッピングしたヒストグラムの累積曲線を明度変換曲線として明度変換を行い、画像のコントラストを補正すると、ハイコントラストの画像、逆光の画像、部分的に画像明度が低い（明度アンダ−）画像や、部分的に画像明度が高い（明度オ−バ−）画像などでは、画像の中で明るい領域や暗い領域ではコントラストが強調されすぎる反面、明るさの改善が十分になされないことが確かめられた。例えば、逆光で撮影された顔が暗く写つた人物像を補正すると、顔の部分は余り明るくならないが、コントラストが強調されすぎて不自然な画像となつてしまう。
【００２０】
この発明の目的は、上記課題を解決するため、特に、人物像などの肌色領域についてはコントラストの強調を抑え、画像のコントラスト及び明るさを自動的に補正することができる画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体を提供することにある。
【００２１】
【課題を解決するための手段】
この発明は上記課題を解決するもので、請求項１の発明は、画像入力手段と、入力された画像を格納する画像メモリと、画像メモリに格納された画像を複数の画像領域に分割する画像領域分割手段と、分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するヒストグラム作成手段と、前記分割された画像領域毎に、その領域の最頻度色相値を演算する最頻度色相値演算手段と、画像の状態に関する情報及び前記演算された最頻度色相値情報をパラメータとして、前記ヒストグラムから明度変換情報を作成する明度変換情報作成手段と、前記明度変換情報に基づいて画像を形成する画素の明度を変換する画素明度変換手段とを備えたことを特徴とする画像処理装置である。請求項２の発明は、画像を入力するステップと、入力された画像を画像メモリに格納するステツプと、画像メモリに格納された画像を複数の画像領域に分割するステツプと、前記分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するステツプと、前記分割された画像領域毎に、その領域の最頻度色相値を演算するステツプと、画像の状態に関する情報及び前記演算された最頻度色相値情報をパラメータとして、前記作成されたヒストグラムから明度変換情報を作成するステツプと、前記明度変換情報に基づいて、画像を形成する画素の明度を変換するステツプとを含むことを特徴とする画像処理方法である。請求項３の発明は、画像を入力するステップと、入力された画像を画像メモリに格納するステツプと、画像メモリに格納された画像を複数の画像領域に分割するステツプと、分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するステツプと、前記分割された画像領域毎に、その領域が肌色領域か否かを判定するステツプと、画像の状態に関する情報及び肌色領域であるか否かの情報をパラメータとして、前記ヒストグラムから明度変換情報を作成するステツプと、前記明度変換情報に基づいて、画像を形成する画素の明度を変換するステツプとを含むことを特徴とする画像処理方法である。請求項４の発明は、画像を入力するステップと、入力された画像を画像メモリに格納するステツプと、画像メモリに格納された画像を複数の画像領域に分割するステツプと、分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布を示すヒストグラムを作成するステツプと、前記分割された画像領域毎に、その領域に含まれる画素の明度別の頻度分布の分散値を演算するステツプと、画像の状態に関する情報及び前記演算された分散値をパラメータとして、前記作成されたヒストグラムを補正し、補正されたヒストグラムから明度変換情報を作成するステツプと、前記明度変換情報に基づいて、画像を形成する画素の明度を変換するステツプとを含むことを特徴とする画像処理方法である。請求項５の発明は、請求項２に記載の画像処理方法をコンピユータに実行させるためのプログラムを記憶した記録媒体である。請求項６の発明は、請求項３に記載の画像処理方法をコンピユータに実行させるためのプログラムを記憶した記録媒体である。請求項７の発明は、請求項４に記載の画像処理方法をコンピユータに実行させるためのプログラムを記憶した記録媒体である。
【００２９】
【発明の実施の形態】
以下、この発明の実施の形態を説明する。
【００３０】
［処理の概略］
まず、この発明の実施の形態の特徴部分である、原画像のコントラストと明度（明るさ）との両方を補正し、コントラストの強調を抑えながら明度を改善することができるアルゴリズムについて説明する。このアルゴリズムは、画像の編集処理を行う画像処理装置に組み込まれるもので、画像処理装置のＣＰＵにおいて実行されるものである。
【００３１】
原画像のコントラストの補正は、まず、原画像を複数の領域に分割し、分割したそれぞれの領域について、その領域の画素について明度別の頻度分布を示す明度ヒストグラムを作成し、この明度ヒストグラムをクリッピングするレベル（クリッピングレベル）を、画像のシ−ン、平均明度、分散、最頻色相値に基づいて計算する。
【００３２】
そして、計算されたクリッピングレベルを、その画像領域が肌色領域か、べた領域であるか否か、画像シ−ンがノ−マルシ−ンか、逆光やハイコントラストシ−ンか、画像の一部が明度オ−バ−（局所オ−バ−）或いは画像の一部が明度アンダ−（局所アンダ−）であるか否かなどの画像状況に応じて予め設定された、この発明による所定の規則により補正する。
【００３３】
原画像の明度（明るさ）の補正は、逆光やハイコントラストシ−ンにおいて、平均明度が「極端に暗い」、「暗い」、「極端に明るい」、或いは「明るい」と判定された場合に明度レベルを補正するものであり、シ−ン別に補正することで真に明度の変更が必要な領域のみを補正することができる。なお、「極端に暗い」、「暗い」、「極端に明るい」、或いは「明るい」などの判定は、それぞれに対応して予め設定されている閾値との比較により判定される。
【００３４】
上記したとおり、明度ヒストグラムを画像のシ−ン、平均明度、分散、最頻色相値に基づいて計算されたクリッピングレベルでクリッピングし、更に、クリッピングした明度ヒストグラムを、原画像のシ−ンと平均明度に基づいて決定される振替量により明度レベルの振替えを行つて補正し、このクリッピングされ、補正された明度ヒストグラムを累積した累積曲線を作成する。そして、この累積曲線を明度変換曲線（画素の明度を補正する明度変換情報）として、原画像の画素の明度を新たな明度に変換することにより、画像のコントラストの補正が実行されるのである。
【００３５】
［クリッピングレベルの補正］
以下、まず、この発明による明度ヒストグラムクリッピングレベルの補正について説明する。
【００３６】
図１は、クリッピングレベルの補正規則を説明する図表である。
【００３７】
まず、画像領域が「肌色領域」か「べた領域」か、或いはそれ以外の領域であるかにより、コントラストの補正処理を調整する。
【００３８】
画像領域が「肌色領域」か否かは、その領域の最頻色相値（その領域に最も多く含まれる色相値）から判定することができる。「肌色領域」であると判定されたときは、肌色部分、特に顔のコントラストを抑えるように処理する。顔の部分のコントラストは強調され過ぎると画質が低下し、見苦しくなる。
【００３９】
画像領域が「べた領域」か否かは、その領域の画素の明度別の頻度分布の分散値から判定することができる。「べた領域」であると判定されたときは、原画像のコントラストを変更しないように処理する。べた領域のコントラストは強調されると、明るさの変化が付きすぎて斑になつてしまう。「肌色領域」、「べた領域」以外の領域では、通常のコントラストの強調を行う。
【００４０】
さらに、シ−ン情報と明度情報を利用することにより、後述する明度の補正が必要な領域では、クリッピングレベルの補正を行なわず、コントラストを低下させないようにしてもよい。
【００４１】
画像シ−ンが「ノ−マル」、且つ分散が「小さい」ときは「べた領域」であると判定し、クリッピングレベルを零（０）として、コントラストの補正を行なわない。また、シ−ンが「ノ−マル」、且つ最頻色相値が「赤から黄」のときは「肌色領域」と判定し、算出されたクリッピングレベルを下げる補正を行う。
【００４２】
画像シ−ンが「逆光又はハイコントラスト」、平均明度が「普通」で、且つ分散が「小さい」ときは「べた領域」であると判定し、クリッピングレベルを零（０）としてコントラストの補正を行なわない。また、シ−ンが「逆光又はハイコントラスト」、平均明度が「普通」で、且つ最頻色相値が「赤から黄」の場合は「肌色領域」であると判定し、算出されたクリッピングレベルを下げる補正を行う。
【００４３】
画像シ−ンが「局所で明度オ−バ−」、平均明度が「極端に明るい又は明るい」以外で、且つ分散が「小さい」ときは「べた領域」であると判定し、クリッピングレベルを零（０）としてコントラストの補正を行わない。また、シ−ンが「局所で明度オ−バ−」、平均明度が「極端に明るい又は明るい」以外で、且つ最頻色相値が「赤から黄」の場合は「肌色領域」であると判定し、算出されたクリッピングレベルを下げる補正を行う。
【００４４】
画像シ−ンが「局所で明度アンダ−」、平均明度が「極端に暗い又は暗い」以外で、且つ分散が「小さい」ときは「べた領域」と判定し、クリッピングレベルを零（０）として算出されたコントラストの補正を行わない。また、シ−ンが「局所で明度アンダ−」、平均明度が「極端に暗い又は暗い」以外で、且つ最頻色相値が「赤から黄」の場合は「肌色領域」であると判定し、算出されたクリッピングレベルを下げる補正を行う。
【００４５】
なお、平均明度が「普通」とは「極端に明るい又は明るい」及び「極端に暗い又は暗い」以外の場合を指す。
【００４６】
図１に示すクリッピングレベル決定規則に掲載されている条件以外の場合は、算出されたクリッピングレベルの補正をしない。
【００４７】
［明度の補正］
次に、原画像の明度の補正について説明する。画像明度の補正はシ−ン別に補正するもので、原画像の明度レベルを新たな明度レベルに振替える。図２は、明度レベルの振替量を説明する図表である。
【００４８】
シ−ンが「ノ−マル」と判定された領域は、画像の明度を補正する必要がないので、振替量を零（０）に設定する。
【００４９】
シ−ンが「逆光又はハイコントラスト」と判定された領域では、その領域の平均明度が「極端に暗い」又は「暗い」と判定されたときは、明度レベルの振替量をプラスに設定する。「極端に暗い」と判定された領域は、振替量を多めに設定してより明度の変化を大きくする。「暗い」と判定された領域は、明度の変更が過大にならないように振替量を少なめに設定する。
【００５０】
同様に、その領域の平均明度が「極端に明るい」又は「明るい」と判定されたときは、明度レベルの振替量をプラスに設定する。「極端に明るい」と判定された領域は、振替量を多めに設定してより明度の変化を大きくする。「明るい」と判定された領域は、明度の変更が過大にならないように振替量を少なめに設定する。
【００５１】
シ−ンが「局所で明度オ−バ−」と判定された領域では、その領域の局所の明度が「極端に明るい」と判定されたときは、明度レベルの振替量を多めに設定して、より明度の変化を大きくする。「明るい」と判定された領域は、明度の変更が過大にならないように振替量を少なめに設定し、それ以外の領域は明度を変更しないものとし、振替量を零（０）に設定する。
【００５２】
同様に、シ−ンが「局所で明度アンダ−」と判定された領域では、その領域の局所の明度が「極端に暗い」と判定されたときは、明度レベルの振替量を多めに設定し、「暗い」と判定されたときは、明度の変更が過大にならないように振替量を少なめに設定し、それ以外の領域は明度を変更しないものとし、振替量を零（０）に設定する。
【００５３】
以上説明した通り、画像領域の明度が、「極端に明るい」或いは「極端に暗い」と判定されたときは明度レベルの振替量を多く設定しているが、これはその領域の明度を大きく変化させることがコントラストの改善に望ましいからであり、これにより明度変換曲線の明るい部分や暗い部分の明度変化、即ち、明るさの変化を大きくすることができる。
【００５４】
次に、上記した明度レベルの振替えにより、画像の明るさが調整される様子を図３乃至図７を参照して説明する。
【００５５】
図３は、原画像を複数の矩形領域に分割し、分割した領域の画素について明度別の頻度分布を計算して作成した明度ヒストグラムの一例であつて、横軸は画素の明度、縦軸は画素数を表す。また、図３において、線ＣＬは先に説明した方法で決定されたクリッピングレベルを示す。
【００５６】
図４は、図３に示す明度ヒストグラムを、クリッピングレベルＣＬでクリッピングして得られた明度ヒストグラムであつて、横軸は画素の明度、縦軸は画素数を表す。また、図５は、図４に示す明度ヒストグラムの累積値（明度別の画素数の累積値）である明度変換曲線で、横軸は入力画素の明度レベル、縦軸は出力画素の明度レベルを表す。この変換曲線は、原画像の画素（入力画素の明度）を出力画素の明度に変換するパラメ−タを提供する。
【００５７】
図６は、図４に示す明度ヒストグラムの基礎となつた原画像の画素の明度レベルを、先に説明した新たな明度レベルに振替えて新たな明度レベルの画素について明度別の頻度分布を計算して作成した明度ヒストグラムであつて、横軸は画素の明度、縦軸は画素数を表す。また、図７は、図６に示す明度ヒストグラムの累積値（明度別の画素数の累積値）である明度変換曲線で、横軸は入力画素の明度レベル、縦軸は出力画素の明度レベルを表す。この変換曲線は、原画像の画素（入力画素の明度）を出力画素の明度に変換するパラメ−タを提供する。
【００５８】
図７に示す明度レベル振替え後の明度変換曲線を、図５に示す明度レベル振替え前の明度変換曲線と対比すると、明度レベル振替え後の明度変換曲線は、画像領域全体のコントラストは変らないが、出力画素の明度レベル、即ち画像の明るさが全体的に上方向に移動し、明度変換曲線は上側に凸のカ−ブを描き、ピ−ク附近が特に明るくなつている。また、振替量が増えると、より上側に凸のカ−ブになり、明るさの変化がより大きくなることがわかる。
【００５９】
［画像処理装置の構成及び画像の処理］
図８は、画像処理装置の回路構成を説明するブロツク図の一例で、画像処理装置１０は画像の補正処理を実行するＣＰＵ２１、ＣＰＵ２１の入出力ポ−トに接続された原稿画像を読み取り画像デ−タ信号に変換するイメ−ジリ−ダなどの画像読取装置２２、補正前の画像デ−タ信号や補正処理された画像デ−タ信号を記録する記録媒体を駆動する画像記録装置２３、画像読取装置２２で読取られた画像デ−タや、補正前の画像デ−タ、補正処理された画像デ−タなどを格納する画像メモリ２４、及び、画像の補正処理を行うソフトウエアや画像の補正処理で発生するヒストグラム、明度変換曲線、その他のデ−タ等を一時格納するメモリ２５、デイスプレイ２６、キ−ボ−ド２７等から構成される。
【００６０】
なお、ここでは、原稿画像をイメ−ジリ−ダで読み取り、得られた画像デ−タを記録媒体に記録するものとして構成を説明するが、画像デ−タは、このほか、例えばデジタルカメラで撮影され、既に記録媒体に記録されている画像デ−タや、インタ−ネットなどからダウンロ−ドされた画像デ−タ、他の画像処理装置から通信回線を介して伝送された画像デ−タなどであつてもよいことは言うまでもなく、これ等の画像デ−タが記録媒体に記録されているときは、記録媒体から画像デ−タを読み出して、以下説明する処理を行うことができる。
【００６１】
図９は、ＣＰＵ２１で実行される画像補正処理ソフトウエアの構成の概略を説明する図である。画像補正処理ソフトウエアは、画像処理全般を制御するメインル−チン３１と、メインル−チンに結合されたサブル−チンから構成される。サブル−チンには、画像読取装置２２や画像記録装置２３を駆動して画像デ−タの入出力を行う画像フアイル入出力ル−チン３２、処理画像の状態などを表示する画像表示ル−チン３３、画像の補正操作ＧＵＩル−チン３４、ＧＵＩ処理ル−チン／エラ−処理ル−チン３５、解像度変更ル−チン３６、及び画像補正ル−チン３７等から構成される。
【００６２】
画像補正ル−チン以外は公知のものであるから説明を省略し、以下、本願発明の特徴部分である画像補正ル−チンについて説明する。
【００６３】
図１０は、原画像のコントラストと明度とを補正する画像補正ル−チンにおける画像補正処理を説明するフロ−チヤ−トである。
【００６４】
まず、処理すべき原画像をイメ−ジリ−ダなどの画像読取装置２２で読み取つて得られた画像デ−タ、又は画像記録装置２３から記録媒体に記録された画像デ−タを読み取り、画像メモリ２４に格納する（ステツプＰ１）。画像メモリ２４に格納された画像を読み出して、画像を構成する画素の明度別の頻度分布を示す明度ヒストグラムを作成し（ステツプＰ２）、明度ヒストグラムの形状から原画像の状態、即ちハイコントラスト画像か、画像が局所的に明度オ−バ−か、明度アンダ−か等を判定し、これ等の原画像の状態を示す情報をメモリ２５に格納する（ステツプＰ３）。ここで作成する明度ヒストグラムは、画像全体の状態を判断するためのもので、画像領域全体の画素の明度別の頻度分布を示すヒストグラムである。
【００６５】
次に、原画像を複数のグル−プにグル−プ分けされた明度で領域分割する（ステツプＰ４）。例えば特に明るい画像領域を明度ａの領域、中程度の明るさの画像領域を明度ｂの領域、暗い画像領域を明度ｃの領域とするなどして領域分割する。
【００６６】
さらに、原画像を複数のグル−プにグル−プ分けされた色相で領域分割する（ステツプＰ５）。例えば、主として赤が強い画像領域を色相Ｒの領域、主として黄が強い画像領域を色相Ｙの領域、主として緑が強い画像領域を色相Ｇの領域などとして領域分割する。
【００６７】
さらに、明度による領域分割情報と色相による領域分割情報から、黒く潰れた画像領域のエツジを求め、その周辺の画素とエツジの明度差から、その画像が逆光で撮影されたシ−ンを判定し、逆光シ−ンの場合は逆光シ−ンであることを示す情報をメモリ２５に格納する（ステツプＰ６）。
【００６８】
次に、原画像を複数のｎ個の一定サイズの矩形領域に分割し（ステツプＰ７）、カウンタに１を設定し（ステツプＰ８）、第ｎ番目（最初はｎ＝１）の領域について画素の明度別の頻度分布を示す明度ヒストグラムを作成し、明度ヒストグラムの累積値（明度別の画素数の累積値）である明度変換曲線を作成する（ステツプＰ９）。その詳細は後で説明する。
【００６９】
カウンタの内容ｎに１を加算し（ステツプＰ１０）、分割したｎ個の全ての矩形領域について明度変換曲線の作成が終了したか否かを判定し（ステツプＰ１１）、終了していない場合はステツプＰ９に戻り、前記処理を繰り返す。ステツプＰ１１の判定で、分割した全矩形領域について明度変換曲線が得られたときは、分割した各矩形領域について、その領域の画素の明度を明度変換曲線に基づいて新たな明度に変換し（ステツプＰ１２）、処理を終了する。
【００７０】
分割した矩形領域が隣接する部分では、隣接する矩形領域の明度変換曲線に基づいて、矩形領域の隣接部分の画素明度が連続して変化するように線形補間するなどの処理を行うとよい。また、分割した矩形領域が画像の端部にあり、端部の矩形領域の大きさが他の矩形領域の大きさより小さいような場合には、端部の画素の明度値が連続しているものとして補間処理を行うとよい。
【００７１】
次に、上記した画像補正処理を説明する図１０のフロ−チヤ−トにおいて、ステツプＰ９として説明した明度変換曲線の作成処理の詳細を、図１１のフロ−チヤ−トを参照して説明する。
【００７２】
まず、分割した各矩形領域について、明度ヒストグラムと、平均明度、分散、及び最頻色相値を求める（ステツプＰ２１）。平均明度は、微小領域の明度変化の影響を抑えるため、矩形領域に含まれる明度で領域分割された各領域の明度グル−プ値の平均値とする。但し、明度グル−プ値が極端に大きい領域、或いは明度グル−プ値が極端に小さい領域が或る程度含まれる場合には、明るさを補正する補正領域の脱落を防止するため、その領域の明度グル−プ値を採用する。
【００７３】
分散は、明度ヒストグラムを統計解析して得られる分散値である。最頻色相値は、その領域に最も多く含まれる色相値とする。具体的には、色相を所定幅毎にグル−プ分けし、各画素の色相がどのグル−プに属するかを判定してグル−プ毎にカウントし、そのカウント値が最も大きいグル−プの値とする。
【００７４】
次に、画像のシ−ン（光景）、平均明度、分散、及び最頻色相値から先に説明した図１に示すクリッピングレベル補正表に基づいてクリッピングレベルを補正する（ステツプＰ２２）。即ち、シ−ンが「ノ−マル」、「逆光又はハイコントラスト」、「局所で明度オ−バ−」、「局所で明度アンダ−」に応じて、クリッピングレベルを補正する。図１に示すクリッピングレベル補正表による補正において、クリッピングレベルを零（０）にして補正しない場合、及び図１に示すクリッピングレベル決定表に掲載されている条件以外の場合は、算出されたクリッピングレベルの補正をしないように処理する。
【００７５】
補正されたクリッピングレベルで、先に作成した明度ヒストグラムをクリッピングし、クリッピングレベルを越える画素を全明度値に均等に割り当てる（ステツプＰ２３）。ここで、クリッピングレベルを越える画素を全明度値に均等に割り当てる処理は図１５で説明した従来の処理と同様である。
【００７６】
クリッピングレベルが零（０）か否かを判定し（ステツプＰ２４）、クリッピングレベルが零（０）の場合は、以降の処理を行わず、メインル−チンに戻る。また、クリッピングレベルが零（０）でない場合は、画像のシ−ンと平均明度から明度レベルの振替量を求める（ステツプＰ２５）。
【００７７】
更に、先に作成した明度ヒストグラムの明度レベルを、図２に示す明度レベルの振替量で振替えて新たな明度レベルの明度ヒストグラムに変換する（ステツプＰ２６）。これについては、後で詳細に説明する。明度ヒストグラムの累積曲線を作成、明度変換曲線を得（ステツプＰ２７）、メインル−チンに戻る。
【００７８】
次に、上記した明度変換曲線の作成処理を説明する図１１のフロ−チヤ−トにおいて、ステツプＰ２６として説明した明度ヒストグラムの明度レベルの振替え処理の詳細を、図１２のフロ−チヤ−トを参照して説明する。
【００７９】
まず、明度レベルの振替量が零（０）か否かを判定し（ステツプＰ３１）、振替量が零（０）の場合は、明度レベルの振替え処理を行わず、メインル−チンに戻る。明度レベルの振替量が零（０）でない場合は、平均明度が暗いか否かを判定する（ステツプＰ３２）。
【００８０】
ステツプＰ３２の判定で平均明度が暗い場合は、平均明度よりも明度値の高い頻度については、その明度値の高い頻度から振替量を差し引いた値をその明度の頻度として振替える（ステツプＰ３３）。また、平均明度よりも低い明度については、その明度値の低い頻度から振替量を加えた値をその明度の頻度として振替える（ステツプＰ３４）。
【００８１】
ステツプＰ３２の判定で平均明度が明るい場合は、平均明度よりも明度値の低い頻度については、その明度値の低い頻度から振替量を差し引いた値をその明度の頻度として振り替える（ステツプＰ３５）。また、平均明度よりも高い明度については、その明度値の高い頻度から振替量を加えた値をその明度の頻度として振り替える（ステツプＰ３６）。
【００８２】
なお、上記した画像処理装置は、独立したコンピユ−タとして構成することもでき、また、電子写真方式の複写機やプリンタなどに組み込むこともできるものである。さらに、上記した画像の補正処理を行うソフトウエアは、複写機やプリンタなどに予め組み込むほか、機械読取り可能な記録媒体に記録しておき、必要に応じて任意の画像処理コンピユ−タにロ−ドして使用することもできる。
【００８３】
以上説明した実施の形態では、原画像を複数の矩形の領域に分割し、それぞれの領域について明度変換曲線を作成している。しかし、これに代えて、原画像を明度が略同じ領域毎に領域分割し、それぞれの領域について上記と同様の方法で明度変換曲線を作成することもできる。この場合は、それぞれの領域の明度グル−プ値を平均明度として利用する。明度が略同じ領域に対してコントラストの補正を行うことになるから、ヒストグラムのピ−ク位置と平均明度とは略一致し、補正の精度を高めることができる。
【００８４】
また、ヒストグラムのピ−クが２、又はそれ以上あるような場合は、ピ−ク位置と平均明度とは一致しないので、分割する矩形領域のサイズを変えてピ−ク位置と平均明度とを略一致させるようにするとよい。コントラストの補正の精度を高めることができる。このためには、矩形領域のサイズは一定とせず、状況に応じて可変とするようにするとよい。
【００８５】
【発明の効果】
以上説明したとおり、本発明によれば、処理すべき画像を複数の領域に分割し、画像の状態に関する情報とそれぞれの領域の最頻度色相値に関する情報をパラメータとして、画素の明度を補正するものであるから、極端に明るい領域や極端に暗い領域がある画像、或いはその両方が含まれる画像であっても、適切なコントラストと明度の画像に変換することができ、特に人物像などの肌色領域についてはコントラストの強調を抑え、画像のコントラスト及び明度を補正することができる。
【図面の簡単な説明】
【図１】明度ヒストグラムクリッピングレベルの決定規則を説明する図表。
【図２】明度レベルの振替量を説明する図表。
【図３】分割した画像領域の画素の明度別の頻度分布を示す明度ヒストグラムを説明する図。
【図４】図３に示す明度ヒストグラムを、クリッピングレベルＣＬでクリッピングして得られた明度ヒストグラムを説明する図。
【図５】図４に示す明度ヒストグラムの累積値である明度変換曲線を説明する図。
【図６】図４に示す明度ヒストグラムの基礎となつた原画像の画素の明度レベルを新明度レベルに振替えた明度別の頻度分布を示す明度ヒストグラムを説明する図。
【図７】図６に示す明度ヒストグラムの累積値である明度変換曲線を説明する図。
【図８】画像処理装置の回路構成を説明するブロツク図。
【図９】画像補正処理ソフトウエアの構成の概略を説明する図。
【図１０】原画像のコントラストと明るさ（明度）とを補正する画像補正ル−チンを説明するフロ−チヤ−ト。
【図１１】明度変換曲線の作成処理の詳細を説明するフロ−チヤ−ト。
【図１２】明度レベルの振替え処理の詳細を説明するフロ−チヤ−ト。
【図１３】原画像を複数の矩形領域に分割する様子を説明する図。
【図１４】従来のコントラスト補正処理における画素の明度別の頻度分布を示す明度ヒストグラムを説明する図。
【図１５】従来のコントラスト補正処理においてクリッピングレベルＣＬ1 でクリッピングしたヒストグラムを説明する図。
【図１６】従来のコントラスト補正処理におけるヒストグラムの累積値である明度変換曲線を説明する図。
【図１７】従来のコントラスト補正処理において低いクリッピングレベルＣＬ2 でクリッピングしたヒストグラムを説明する図。
【図１８】従来のコントラスト補正処理において低いクリッピングレベルＣＬ2 でクリッピングしたヒストグラムの累積値である明度変換曲線を説明する図。
【図１９】従来のコントラスト補正処理を説明するフロ−チヤ−ト。
【符号の説明】
２１  ＣＰＵ
２２  画像読取装置
２３  画像記録装置
２４  画像メモリ
２５  メモリ
２６  デイスプレイ
２７  キ−ボ−ド
【図１】
0003790879.tif 000002
【図２】
0003790879.tif 000003
【図３】
0003790879.tif 000004
【図４】
0003790879.tif 000005
【図５】
0003790879.tif 000006
【図６】
0003790879.tif 000007
【図７】
0003790879.tif 000008
【図８】
0003790879.tif 000009
【図９】
0003790879.tif 000010
【図１０】
0003790879.tif 000011
【図１１】
0003790879.tif 000012
【図１２】
0003790879.tif 000013
【図１３】
0003790879.tif 000014
【図１４】
0003790879.tif 000015
【図１５】
0003790879.tif 000016
【図１６】
0003790879.tif 000017
【図１７】
0003790879.tif 000018
【図１８】
0003790879.tif 000019
【図１９】
0003790879.tif 000020