(57)【要約】【課題】暗部が明るくなる方向に明るさ補正しても暗部に何も物体が存在せず、ただノイズが目立つだけの画像に対しては明るさを補正しないと判断し、暗部が明るくなる方向に明るさを補正することにより、被写体の視認性が良くなる画像に対しては明るさを補正すると判断して、画像の明るさを自動で適正に補正する。【解決手段】暗部領域抽出部１１は、Ｌ＊ａ＊ｂ＊信号から暗部領域（注目画素の明度が閾値未満）を抽出し、クラスタリング部１２は暗部領域を色差に応じて１つ以上のクラスタに分割し、判断部１３は、クラスタ数が１であれば暗部領域を明るくする補正を行わず、クラスタ数が１以外の場合、暗部領域を明るくする補正を行うと判断する。【選択図】図１
2010021792.tif 000002
【特許請求の範囲】
【請求項１】
画像の暗部領域を抽出する暗部領域抽出手段と、前記暗部領域を色差に応じて１つ以上のクラスタに分割するクラスタリング手段と、前記クラスタリング手段の分割結果を参照して、前記暗部領域が明るくなる方向への補正を行うか否かを判断する判断手段と、前記判断手段の結果に応じて、前記暗部領域の明るさを補正する明るさ補正手段を備えることを特徴とする画像処理装置。
【請求項２】
前記判断手段は、分割されたクラスタの数を少なくとも一つの判断要素として判断することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記判断手段は、前記クラスタの数が１の場合には暗部領域が明るくなる方向への補正を行わないと判断することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記明るさ補正手段における補正量を決定する補正量決定手段を有し、前記補正量決定手段は、前記クラスタリング手段で分割されたクラスタのクラスタ間色差あるいはクラスタ間明度差が目標値に近づくように補正量を決定することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記クラスタリング手段で分割されたクラスタの内、画素数が多い順に最大２つのクラスタを抽出する第一のクラスタ抽出手段を有し、前記補正量決定手段は、画素数が一番目に多いクラスタと、画素数が二番目に多いクラスタの色差あるいは明度差が目標値に近づくように補正量を決定することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記クラスタリング手段で分割されたクラスタの内、最も暗いクラスタを抽出する第二のクラスタ抽出手段を有し、前記補正量決定手段は、前記最も暗いクラスタの明るさに基づき補正量を決定することを特徴とする請求項４記載の画像処理装置。
【請求項７】
前記補正量決定手段は、前記最も暗いクラスタにおける明るさ補正後の明るさが、予め設定された範囲内になるように補正量を決定することを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記クラスタリング手段は、色差に応じて一旦クラスタリングした後、画素数の少ないクラスタを他のクラスタに統合し、統合後の結果を最終的なクラスタリング結果とすることを特徴とする請求項１記載の画像処理装置。
【請求項９】
画像の暗部領域を抽出する暗部領域抽出工程と、前記暗部領域を色差に応じて１つ以上のクラスタに分割するクラスタリング工程と、前記クラスタリング工程の分割結果を参照して、前記暗部領域が明るくなる方向への補正を行うか否かを判断する判断工程と、前記判断工程の結果に応じて、前記暗部領域の明るさを補正する明るさ補正工程を備えることを特徴とする画像処理方法。
【請求項１０】
請求項９記載の画像処理方法をコンピュータに実現させるためのプログラム。
【請求項１１】
請求項９記載の画像処理方法をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラやフィルムスキャナ等で撮影された画像の明るさを自動補正する画像処理装置、画像処理方法、プログラムおよび記録媒体に関し、例えばＭＦＰ、プリンタ、デジタルカメラの付属ソフトなどに好適な技術に関する。
【背景技術】
【０００２】
デジタルカメラにより逆光状態で撮影された画像や夜間撮影された画像は、露出不足のため被写体が暗く写され、また物陰に該当する部分を含んでいる場合には、画像の一部分が暗く写されてしまう。そのような画像に対しては、自動で明るさを補正する技術が種々研究され、既に実用化されている。
【０００３】
例えば、逆光シーンや夜間撮影シーンの画像を判別して明るさを補正する画像処理装置がある（特許文献１を参照）。特許文献１のように、輝度ヒストグラム（あるいは明度ヒストグラム、ＲＧＢヒストグラム等）の形状を参照して、補正のためのトーンカーブを作成し、明るさを補正する方法は一般的であるが、ヒストグラムに基づく明るさ補正では、本来は明るく補正する必要が無いのにも関わらず、明るく補正してしまうケースがある。例えば、夜空に上がった花火を撮影した画像は、真っ暗な夜空が背景で、明るく高彩度な領域が点在する画像になり、暗い背景部分が多くの面積を占めるため露出不足と判定され、その結果、明るく補正される。花火画像が明るく補正されることにより、暗部はノイズがのりやすくなり、そのノイズが強調されてしまう、という問題もある。
【０００４】
そこで、特に花火画像が明るく補正される問題を解決するため、暗い背景に明るい領域が点在する画像を明度補正の必要なしと判別する装置が提案されている（特許文献２を参照）。
【０００５】
【特許文献１】特開２００２−２４７３６１号公報
【特許文献２】特開２００７−２４３８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献２では、花火以外の夜景に関しても同様に明度補正の必要なしと判別している。確かに、高地や上空からネオンを撮影した夜景であれば、特許文献２のように、明るく補正する必要はない。しかし、例えば、ライトアップされた建物を撮影した夜景であって、ライトから離れている建物の輪郭付近が暗闇に埋もれてはっきり写っていない場合など、画像暗部に何らかの物体が潜んでいる場合に、特許文献２の発明では、暗部に潜む物体を視認できないという、問題がある。すなわち、画像暗部に何らかの物体が潜んでいる場合には、特許文献２とは逆に、被写体が明瞭に視認できるように、明るく補正する方がよい。
【０００７】
本発明は上記した問題点に鑑みてなされたもので、
本発明の目的は、暗部が明るくなる方向に明るさ補正しても暗部に何も物体が存在せず、ただノイズが目立つだけの画像（花火を撮影した画像など）に対しては明るさを補正しないと判断し、暗部が明るくなる方向に明るさを補正することにより、被写体の視認性が良くなる画像（夜間に建物を撮影した画像、逆光で撮影した画像、物陰に該当する部分を含みそこに何らかの物体が存在する画像など）に対しては明るさを補正すると判断して、画像の明るさを自動で適正に補正する画像処理装置、画像処理方法、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、画像の暗部領域を抽出する暗部領域抽出手段と、前記暗部領域を色差に応じて１つ以上のクラスタに分割するクラスタリング手段と、前記クラスタリング手段の分割結果を参照して、前記暗部領域が明るくなる方向への補正を行うか否かを判断する判断手段と、前記判断手段の結果に応じて、前記暗部領域の明るさを補正する明るさ補正手段を備えることを最も主要な特徴とする。
【発明の効果】
【０００９】
請求項１：画像の暗部領域を抽出して、暗部領域を色差に応じて１つ以上のクラスタに分割するクラスタリングを行い、クラスタリング結果から暗部領域が明るくなる方向への補正を行うか否かを判断するため、暗部に潜んでいる物体（被写体）の有無判定も含めて、有意な塊単位でクラスタによる領域分割を行うことができ、明るさ補正の必要性を的確に判断し、自動補正で適正な明るさに補正することができる。
【００１０】
請求項２、３：クラスタ数を少なくとも一つの判断要素とし、特に請求項３の発明によれば、クラスタ数が１の場合は、暗部が明るくなる方向への補正を行わないため、明るさ補正の必要がない（花火画像に代表される暗部には何も物体が潜んでいない）画像が、自動補正により明るく補正されることを防止できる。
【００１１】
請求項４、５：クラスタ間色差あるいはクラスタ間明度差が目標値に近づくように補正量を決定し、特に請求項５の発明によれば、画素数が多い順に最大２つのクラスタを抽出し、それらのクラスタ間色差あるいは明度差が目標値に近づくように補正量を決定するため、暗部に何らかの物体が潜んでいる画像に対して明るさ補正を行う際に、的確な補正量を設定して効果的に被写体の視認性を向上させることができる。
【００１２】
請求項６、７：暗部領域のクラスタのうち最も暗いクラスタを抽出して、最も暗いクラスタの明るさ補正後の明るさが予め設定された範囲内になるように補正量を決定するため、暗部に何らかの物体が潜んでいる画像に対して明るさ補正を行う際に、最も暗いクラスタに該当する領域で明るく補正されすぎて暗部ノイズが目立ってしまうことを防ぐことができる。
【００１３】
請求項８：クラスタリングの際、一旦クラスタリングを行った後で画素数の少ないクラスタを他のクラスタに統合するため、ノイズに反応して発生したクラスタ等、不要または重要性の低いクラスタを他のクラスタに統合することができ、明るさ補正を行うか否かの判断や補正量の決定を精度よく的確に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、発明の実施の形態について図面により詳細に説明する。図１は、本発明の実施例の構成を示す。色変換部１０は、ＲＧＢで表現されたビットマップ形式の画像データを、変換式を使ってＬ＊ａ＊ｂ＊に変換する。暗部領域抽出部１１は、Ｌ＊ａ＊ｂ＊の画像データから画像の暗部領域を抽出する。
【００１５】
ここで、暗部とは、曇天や夕暮れ時に撮影したために少し薄暗く写っているというレベルではなく、画像を標準的な光源やモニタ設定の条件下で目視観察して、暗部に何が写っているかはっきり視認できない程度に暗いレベルを指す。画像に応じて適応的に閾値を決め、暗部領域か否か判定する方法は、被写体中の一塊（例えば、被写体人物が着用している一様な色の服を一塊として捉える）の中で、暗部領域と非暗部領域が混在することを防止できるので、後処理にも好都合であるが、ここでは簡易的な手法を採る。
【００１６】
すなわち、全画像に共通の閾値を予め設定し、注目画素の明度Ｌ＊が予め設定した閾値よりも小さければ暗部領域の画素であると判定し、注目画素の明度Ｌ＊が予め設定した閾値以上であれば非暗部領域の画素であると判定する。上記した判定処理を各画素に対して順次行うことにより、暗部領域を抽出する。全画像に共通の閾値ｄａｒｋ＿ｔｈとしては、経験的に、Ｌ＊＝２０を設定する。
【００１７】
クラスタリング部１２は、画像の暗部領域を色差に応じて１つ以上のクラスタに分割する。図２は、クラスタリング部１２の構成を示す。予備クラスタリング部１２０は色差に応じて１つ以上のクラスタに分割した後、クラスタ統合部１２１は画素数の少ないクラスタを他のクラスタに統合する。
【００１８】
図３は、予備クラスタリング部１２０のフローチャートである。注目画素のＬ＊ａ＊ｂ＊を順次入力し（ステップ１２０１）、クラスタリングを行う。画像先端からスタートして初めて暗部領域の画素が入力された時点では、クラスタ数Ｎが初期化されてＮ＝０にセットされた状態であるため（ステップ１２００）、色差による条件分岐（ステップ１２０５）で、“Ｎｏ”の方に進んでクラスタ１を新規クラスタとして追加し、クラスタ数をＮ＝１に設定、クラスタ１の画素数をｎ（１）＝０に設定、クラスタ１の平均Ｌ＊ａ＊ｂ＊に注目画素のＬ＊ａ＊ｂ＊値が設定される（ステップ１２０８、１２０９）。
【００１９】
その後は順次入力される注目画素のＬ＊ａ＊ｂ＊値に対して、暗部領域の画素であれば（ステップ１２１８）、各クラスタの平均Ｌ＊ａ＊ｂ＊との色差を求め（ステップ１２０３）、その中で色差最小のクラスタ番号ｊと色差ｄＥ＿ｍｉｎの組を抽出する（ステップ１２０４）。色差による条件分岐（ステップ１２０５）で色差ｄＥ＿ｍｉｎが予め設定された閾値ｄＥ＿ｔｈ以下であれば“Ｙｅｓ”の方に進んでクラスタｊに注目画素を追加し、平均Ｌ＊ａ＊ｂ＊を再計算する。クラスタｊの画素数ｎ（ｊ）を＋１して、Ｌ＊ａ＊ｂ＊の平均値を以下の式に従い再計算する。
（再計算後の平均Ｌ＊）＝（（再計算前の平均Ｌ＊）×（ｎ（ｊ）−１）＋（注目画素のＬ＊））／ｎ（ｊ）
（再計算後の平均ａ＊）＝（（再計算前の平均ａ＊）×（ｎ（ｊ）−１）＋（注目画素のａ＊））／ｎ（ｊ）
（再計算後の平均ｂ＊）＝（（再計算前の平均ｂ＊）×（ｎ（ｊ）−１）＋（注目画素のｂ＊））／ｎ（ｊ）
色差による条件分岐（ステップ１２０５）で色差ｄＥ＿ｍｉｎが予め設定された閾値ｄＥ＿ｔｈより大きければ“Ｎｏ”の方に進んで新規クラスタを追加し、クラスタ数Ｎをカウントアップして新規クラスタの画素数を０に設定し、平均Ｌ＊ａ＊ｂ＊に注目画素のＬ＊ａ＊ｂ＊を設定する（ステップ１２０８、１２０９）。新規クラスタを追加するか否かの境界色差を表しているのがｄＥ＿ｔｈであり、暗部に何が写っているかはっきり視認できない領域を対象としていることを考慮して、ｄＥ＿ｔｈ＝３となる小さい値に設定する。画像の後端まで到達して、入力するＬ＊ａ＊ｂ＊データが無くなった時点で、クラスタリングが終了する。
【００２０】
図２のクラスタ統合部１２１は、予備クラスタリング部１２０で分割されたクラスタのうち、画素数が少ないクラスタはノイズ成分に反応して発生したクラスタであることが多く、被写体を有意な塊単位で抽出する際に、不要または重要性が低いクラスタである。
【００２１】
図４は、クラスタ統合部１２１のフローチャートである。各クラスタを順次見ていき、クラスタの画素数が所定閾値ｎ＿ｔｈより小さいか否かを判定し（ステップ１２１４）、小さい場合は注目クラスタｉの平均Ｌ＊ａ＊ｂ＊と他のクラスタの平均Ｌ＊ａ＊ｂ＊との色差を求め（ステップ１２１５）、他のクラスタ全てに対して求めた色差のうち最小のものに該当するクラスタ番号ｊを抽出し（ステップ１２１６）、クラスタｉをクラスタｊに統合する（ステップ１２１７）。クラスタｊの画素数にクラスタｉの画素数を加算し、クラスタｉの画素数を０に変更する。統合するクラスタの画素数境界である閾値ｎ＿ｔｈは、暗部領域の画素数に対して例えば１５％（１０％〜２０％程度に設定するのが適当）の画素数に相当する値を画像毎に求めて、それを閾値とする。
【００２２】
判断部１３は、クラスタ数に応じて明るさ補正を行うか否か判断する。
【００２３】
図１１、図１２（ａ）、（ｃ）はクラスタリング結果の例である。図１１（ａ）は、夜空を背景に花火を撮影した画像であり、暗部領域をクラスタリングした結果、暗部は全て一つのクラスタ（クラスタ１）になり、クラスタ数は１である。図１１（ｂ）は、夜間にライトアップされた建築物を撮影した画像であり、暗部領域をクラスタリングした結果、背景と建物が別々のクラスタに分割され、クラスタ数は２である。図１２（ａ）は、人物を逆光で撮影した画像であり、暗部は５つのクラスタに分割されている。図１２（ｂ）は花を撮影した画像であり、葉が重なり合って影になった暗部領域が存在する画像である。これをクラスタリングした結果が図１２（ｃ）であり、影に隠れた葉と葉脈が概ね別クラスタに分割され、クラスタ数は２である。
【００２４】
判断部１３では、クラスタ数が１であれば明るさ補正を行わないと判断し、クラスタ数が１以外であれば明るさ補正を行うと判断する。上記した４例の画像の場合、図１１（ａ）はクラスタ数が１であるため明るさ補正を行わないと判断され、図１１（ｂ）、図１２（ａ）、（ｃ）はクラスタ数が２〜５であるため明るさ補正を行うと判断される。
【００２５】
上記したクラスタ数だけでなく、他の判断要素と合わせて総合的に判断してもよい。一例として、暗部のエッジ密度を算出してエッジ密度とクラスタ数を判断要素とし、クラスタ数が２以上であってもエッジ密度が低い場合には明るさ補正を行わないと判断する。クラスタ数が２以上であってもエッジ密度が低い場合としては、暗部に緩やかなグラデーションのような明度むらが存在する場合があり、その原因は撮影機材の性能の問題（同じ暗部を撮影しても画像の左右または上下で入力値の明るさが異なる）や画像のフレーム外にある、遠くの照明光の影響で暗部にグラデーションが発生すること等が考えられる。緩やかなグラデーションでは途中で別クラスタに切り替わり、複数のクラスタに分割されることがあるが、暗部に何らかの物体が潜んでいるわけではないので明るく補正する必要がない。
【００２６】
補正量決定部１４は、明るさ補正部における補正量を決定する。図５は、補正量決定部１４の構成を示す。判断部１３が明るさ補正を行わないと判断した場合は、選択部１４０１はｄｅｌｔａ＝０、Ｌａ＝０を選択して出力する。ｄｅｌｔａは補正量を表し、ｄｅｌｔａをゼロにすることで実質的に補正を無効にする。Ｌａは制御点を表し、ここでは０に設定したが、ｄｅｌｔａ＝０の場合は、制御点の値に関わらず補正が無効になるので０以外の数値を設定するようにしても同じである。
【００２７】
判断部１３が明るさ補正を行うと判断した場合は、選択部１４０１は、補正量算出部１４００が算出した補正量と制御点を選択して出力する。補正量算出部１４００の構成例として、以下に４例を示す。
【００２８】
・補正量算出部１４００の第１の構成例
図６は、補正量算出部１４００の第１の構成例を示す。第一のクラスタ抽出１４０は、各クラスタの画素数を比較して画素数が最も多いクラスタとその次に多いクラスタを抽出する。２つのクラスタのうち明度が高い方をクラスタＡ、明度が低い方をクラスタＢと表記する。色差計算部１４３では、クラスタＡとクラスタＢの補正前の平均Ｌ＊ａ＊ｂ＊同士の色差ｄＥ１を計算しておく。補正量生成部１４７は補正量ｄｅｌｔａを設定して、仮補正トーンカーブ生成部１４４は補正量に応じた仮補正トーンカーブを作成し、明るさ補正／彩度調整部１４１は仮補正トーンカーブを用いた明るさ補正と明るさ補正の度合いに応じた彩度調整をクラスタＡとクラスタＢの各々の平均Ｌ＊ａ＊ｂ＊に対して行う。色差計算部１４２では、クラスタＡとクラスタＢの補正後の平均Ｌ＊ａ＊ｂ＊同士の色差ｄＥ２を計算する。色差比計算部１４５は補正前の色差ｄＥ１と補正後の色差ｄＥ２の比率を計算し、補正量判定部１４６は色差比が目標値以上であればその時点での補正量ｄｅｌｔａを出力して終了する。色差比が目標値未満であれば、補正量生成部１４７は変更した補正量を発生させ、仮補正トーンカーブ生成部１４４から補正量判定部１４６までの処理を再び行い、色差比が目標値以上になるまで処理を繰り返す。
【００２９】
各処理部の動作説明を補足すると、補正量生成部１４７は、補正量ｄｅｌｔａ＝０からスタートし、補正量生成の要求がある度に、補正量ｄｅｌｔａに＋１したものを次の補正量として発生させる。仮補正トーンカーブ生成部１４４は、Ｌａを制御点として、図７（ａ）のような補正トーンカーブを作成する。入力Ｌａに対して出力がＬａ＋ｄｅｌｔａになるようにする。クラスタＡの平均Ｌ＊をＬａ、クラスタＢの平均Ｌ＊をＬｂと表記している。
【００３０】
明るさ補正／彩度調整部１４１では、まず、明度Ｌ＊を作成した補正トーンカーブを使って変換することで明るさを補正する。このとき、暗部を明度だけ補正して明るくすると、彩度不足で渋い色に変換されてしまうので、明るさ補正に併せて暗部の彩度も調整する。明るさ補正／彩度調整前のＬ＊ａ＊ｂ＊をＬ１、ａ１、ｂ１、彩度をＣ１（Ｃ１＝√（ａ１×ａ１＋ｂ１×ｂ１））とし、明るさ補正／彩度調整後のＬ＊ａ＊ｂ＊をＬ２、ａ２、ｂ２、彩度をＣ２（Ｃ２＝√（ａ２×ａ２＋ｂ２×ｂ２））として説明する。Ｌ２は前述の通りＬ１を補正トーンカーブで変換したものである。ａ２、ｂ２を求めるには、まず彩度Ｃ２を求めて、彩度調整比率を乗算して算出する。
ａ２＝ａ１×（Ｃ２／Ｃ１）
ｂ２＝ｂ１×（Ｃ２／Ｃ１）
図８は、明るさ補正／彩度調整前後の明度と彩度（Ｌ１、Ｃ１とＬ２、Ｃ２）の関係を表した図である。暗部では彩度が高くなるように調整し（図８（ａ））、ハイライトでは彩度を調整せずに彩度を維持し（図８（ｃ））、中間では彩度調整の度合いを滑らかに変化させる（図８（ｂ））。彩度調整を行う／行わない境界は閾値ｔｈ＿Ｌで決まる。閾値ｔｈ＿Ｌは暗部領域抽出の閾値ｄａｒｋ＿ｔｈと同程度の値に予め設定しておく（共通化しても良い）。彩度調整を式で表すと、次のようになる。
Ｃ２’＝ｍｉｎ（Ｌ２、ｔｈ＿Ｌ）／ｍｉｎ（Ｌ１、ｔｈ＿Ｌ）×Ｃ１
Ｃ２＝Ｃ１＋（Ｃ２’−Ｃ１）×α
αは彩度補正量を調整するパラメータであり、０≦α≦１の範囲で予め設定しておく。α＝０に設定すると彩度補正が全く行われない状態になり、α＝１に設定すると彩度補正が最大になる。
【００３１】
補正量判定部１４６で用いる色差比の目標値Ｘは、数十枚のサンプル画像を用意してどのくらいに設定すればほぼ全ての画像（少なくとも用意したサンプルの８割）で視認性が向上する、適正な明るさに補正されるかを観察して予め設定しておく。経験的には色差比の目標値を２．５から３．５の間に設定するのが適当である。画素数が最も大きいクラスタと次に大きいクラスタの色差が補正前のＸ倍になるように補正するということは、図１２（ａ）の画像例では、面積の広い上位２つのクラスタであるクラスタ３（被写体人物が上半身に着用している衣服部分）と、クラスタ５（被写体人物が下半身に着用している衣服部分）の色差が補正前のＸ倍になるように補正することであり、他の面積の狭いクラスタ同士（例えばクラスタ１とクラスタ２）の色差比に着目して補正するよりも、視認性が向上したことが観察者に認識されやすく、非常に効果的である。
【００３２】
・補正量算出部１４００の第２の構成例
第１の構成例のように、色差に基づき補正量を算出する方がカラー画像を扱う場合に人間の視認性との対応がより厳密にとれ好ましいが、補正量を求める際に目標に到達するまでループ処理が実行されることから、処理量がやや多くなる。そこで、第２の構成例では、明度差に基づき簡易的に補正量を算出する例を示す。
【００３３】
図９は、補正量算出部１４００の第２の構成例を示す。第１の構成例と同じく、図７（ａ）の形状の補正トーンカーブを想定する（制御点が一つで、Ｌａ）。第一のクラスタ抽出部１４０では、画素数が多い順に上位２つのクラスタのうち明度が高い方のクラスタ（クラスタＡ）を抽出する。そして、ＬａＬｂ→ｄｅｌｔａ変換部１４８は、次式によりＬａを補正後にＸ倍するｄｅｌｔａを求める（Ｘは第１の構成例と同様に予め設定した目標値）。
ｄｅｌｔａ＝Ｌａ×（Ｘ−１）
図７（ａ）の形状の補正トーンカーブの場合、ＬａがＸ倍に補正されるということはＬｂもＸ倍に補正され、延いては明度差（Ｌａ−Ｌｂ）もＸ倍に補正されることになる。
【００３４】
・補正量算出部１４００の第３の構成例
第３の構成例では、図７（ａ）とは異なる形状の補正トーンカーブを想定した例として、図７（ｂ）の形状の補正トーンカーブを想定した例を示す。図７（ｂ）の補正トーンカーブは、ＬａとＬｂの二つを制御点としている。第２の構成例と同じく明度差に応じて簡易的に補正量算出を行う場合を例に説明する（補正量算出部１４００の第３の構成例は、第２の構成例と同じ図９である）。
【００３５】
第３の構成例では、クラスタ抽出部１４０が、クラスタＡだけでなくクラスタＡとクラスタＢの２つを抽出してＬａとＬｂを出力する。ＬａＬｂ→ｄｅｌｔａ変換部１４８では、次式によりＬａとＬｂから、明度差（Ｌａ−Ｌｂ）を補正後にＸ倍するｄｅｌｔａを求める。
ｄｅｌｔａ＝（Ｌａ−Ｌｂ）×（Ｘ−１）
このように、明度差に基づき補正量を算出する場合であっても、想定する補正トーンカーブの形状によってはクラスタＡとクラスタＢの両方の情報が補正量算出時に必要になる。
【００３６】
・補正量算出部１４００の第４の構成例
第１の構成例や第２の構成例で想定している図７（ａ）の形状の補正トーンカーブによると、クラスタＢに属する画素も明るく補正される。更にクラスタＢよりも暗いクラスタがあれば、そのクラスタに属する画素も明るく補正される。図１２（ａ）の画像例では、被写体人物の頭髪部の色であるクラスタ２がそれに該当するが、黒髪の頭髪部を明るく補正しすぎてしまうと髪色が明るいグレーに変換され、黒髪に潜んでいた暗部ノイズが浮き出てきて好ましくない。
【００３７】
そこで、第４の構成例では、クラスタのうち最も暗いクラスタが明るく補正されすぎないように補正量を制限することにより、暗部ノイズが目立つのを防止する。ここでは色差に応じた補正量算出を例に説明する。
【００３８】
図１０は、補正量算出部１４００の第４の構成例を示す。第一のクラスタ抽出部１４０は、クラスタＡとクラスタＢを抽出し、仮補正トーンカーブ生成部１４４は、仮補正トーンカーブを作成し、明るさ補正／彩度調整部１４１は明るさ補正および彩度調整を行い、色差比計算部１４５は補正前後の色差比を求める。第二のクラスタ抽出部１４９は、最も暗いクラスタの平均Ｌ＊ａ＊ｂ＊を抽出し、明るさ補正／彩度調整部１４１は明るさ補正および彩度調整を行い、補正量判定部１５０は最も暗いクラスタの情報を加味して補正量の判定を行う。最も暗いクラスタをクラスタＣ、平均Ｌ＊をＬｃと表記する。ちなみに、画像によってはクラスタＢとクラスタＣが同じクラスタを指すこともあるが、それでも構わない。
【００３９】
補正量判定部１５０では、以下の終了条件１または終了条件２を満たせば、その時点での補正量ｄｅｌｔａを出力して終了する。どちらの終了条件も満たさなければ、補正量生成部１４７は変更した補正量を発生させ、終了条件を満足するまで処理を繰り返す。
【００４０】
終了条件１：クラスタＡとクラスタＢの補正前後の色差比が目標値以上である（第１の構成例の終了条件と同じ）。
【００４１】
終了条件２：クラスタＣの平均Ｌ＊であるＬｃの補正後の値が、予め設定した閾値Ｌ＿ｔｈ以上である。
【００４２】
Ｌｃの補正後の値を制限する閾値であるＬ＿ｔｈは、１５程度の値（１０〜１８の間）に設定する。図７（ｃ）は、Ｌｃと補正トーンカーブの関係を表した図であり、Ｌｃに対して閾値Ｌ＿ｔｈで決められた範囲内で補正量ｄｅｌｔａを設定する。
【００４３】
図１に戻り、補正トーンカーブ生成部１５は、補正量決定部１４で決定した補正量および制御点に基づき、補正トーンカーブを作成する。補正量がｄｅｌｔａ＝０の場合は入力値＝出力値の補正トーンカーブが作成される。作成するトーンカーブの形状は、もちろん補正量決定の際に想定していたものと同じである。図７（ａ）の制御点が一つの形状を想定していたならば、ここでも制御点が一つの補正トーンカーブを作成し、図７（ｂ）の制御点が二つの形状を想定していたならば、ここでも制御点が二つの補正トーンカーブを作成する。
【００４４】
明るさ補正／彩度調整部１６は、補正トーンカーブ生成部１５で作成した補正トーンカーブを使って明るさ補正を行う。また明るさ補正の度合いに合わせて彩度を調整する。彩度調整の方法は、補正量算出の第１の構成例で説明した明度補正／彩度調整と同じである。色変換部１７は、Ｌ＊ａ＊ｂ＊で表現された画像データを、ＲＧＢに戻す。
【００４５】
上記した実施例では、ＲＧＢをＬ＊ａ＊ｂ＊に変換して処理しているが、これに限定されるものではない。ＲＧＢの各信号に対して上記説明したような上に凸の形状の補正トーンカーブを適用することでも画像を明るく補正することができ、それも明るさ補正に該当する。
【００４６】
以上、本実施例によれば、画像の暗部領域を抽出して、暗部領域を色差あるいは明度差に応じて１つ以上のクラスタに分割し、分割されたクラスタ数が１であれば暗部領域を明るくする明るさ補正を行わない（実質的に無効にする）ため、花火画像に代表される暗部に何も物体が存在せず、明るくするとノイズが目立つだけの画像を明るく補正することなく、自動補正でも適正な明るさを維持できる。分割されたクラスタ数が１以外である場合は、画素数の多いクラスタや最も暗いクラスタの色情報を参照して補正量を決定し、暗部領域を明るくする明るさ補正を行うため、暗部に何らかの物体が潜んでいる画像に対して、視認性が向上し、かつ、暗部ノイズが目立たない範囲内で、自動で適正な明るさに補正することができる。
【００４７】
また、本発明は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した各実施例の機能を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれる。また、本発明の実施例の機能等を実現するためのプログラムは、ネットワークを介した通信によってサーバから提供されるものでも良い。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施例の構成を示す。
【図２】クラスタリング部の構成を示す。
【図３】予備クラスタリング部のフローチャートである。
【図４】クラスタ統合部のフローチャートである。
【図５】補正量決定部の構成を示す。
【図６】補正量算出部の第１の構成例を示す。
【図７】補正トーンカーブの例を示す。
【図８】明るさ補正／彩度調整前後の明度と彩度の関係を表す。
【図９】補正量算出部の第２、第３の構成例を示す。
【図１０】補正量算出の第４の構成例を示す。
【図１１】クラスタリング結果の例を示す。
【図１２】クラスタリング結果の他の例を示す。
【符号の説明】
【００４９】
１０、１７  色変換部
１１  暗部領域抽出部
１２  クラスタリング部
１３  判断部
１４  補正量決定部
１５  補正トーンカーブ生成部
１６  明るさ補正／彩度調整部
【図１】
2010021792.tif 000003
【図２】
2010021792.tif 000004
【図３】
2010021792.tif 000005
【図４】
2010021792.tif 000006
【図５】
2010021792.tif 000007
【図６】
2010021792.tif 000008
【図７】
2010021792.tif 000009
【図８】
2010021792.tif 000010
【図９】
2010021792.tif 000011
【図１０】
2010021792.tif 000012
【図１１】
2010021792.tif 000013
【図１２】
2010021792.tif 000014