(57)【特許請求の範囲】
【請求項１】
特定の画像に含まれる画素のうち、色成分毎に設定される第１の画素レベル以上の画素レベルを有するという条件をいずれかの色成分について満たす第1の画素群を特定する第１画素特定ステップと、
前記特定の画像に含まれる画素のうち、前記条件を複数の色成分について満たす第２の画素群を特定する第２画素特定ステップと、
前記第１の画素群と前記第２の画素群との重複度合いに関する評価値を算出するステップと、
前記評価値に基づき、前記特定の画像を補正する補正ステップと、
を含む画像補正方法。
【請求項２】
前記補正ステップが、
前記評価値に基づき補正量を算出する補正量算出ステップ、
を含む請求項１記載の画像補正方法。
【請求項３】
前記特定の画像について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、
前記ヒストグラム・データを用いて、度数の総和に対する最上位の画素レベルからの累積度数の割合が第１の値になる第１の画素レベルを色成分毎に特定するステップと、
をさらに含み、
前記条件が、画素レベルが前記第１の画素レベル以上であり且つ当該画素レベルがとり得る上限値である限界レベルより低いという条件であることを特徴とする請求項１記載の画像補正方法。
【請求項４】
前記特定の画像について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、
前記ヒストグラム・データを用いて、度数の総和に対する最上位の画素レベルからの累積度数の割合が第２の値になる第２の画素レベルを色成分毎に特定するステップと、
をさらに含み、
前記補正量算出ステップが、
前記第２の画素レベルと画素レベルがとり得る上限値である限界レベルとの差に基づき、色成分毎の暫定補正量を算出するステップと、
前記暫定補正量を前記評価値に基づき変更するステップと、
を含むことを特徴とする請求項２記載の画像補正方法。
【請求項５】
前記補正量算出ステップが、
前記評価値に基づき、第３の割合を設定するステップと、
前記特定の画像について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、
前記ヒストグラム・データを用いて、度数の総和に対する最上位の画素レベルからの累積度数の割合が第３の値になる第３の画素レベルを色成分毎に特定するステップと、
前記第３の画素レベルと画素レベルがとり得る上限値である限界レベルとの差に基づき、補正量を決定するステップと、
を含む請求項２記載の画像補正方法。
【請求項６】
前記補正ステップが、
前記評価値に応じて、基準補正量の計算方式を特定するステップと、
特定された前記計算方式に従い、前記基準補正量を算出するステップと、
前記基準補正量を用いて前記特定の画像を補正するステップと、
を含む請求項１記載の画像補正方法。
【請求項７】
前記特定の画像に含まれる画素のうち、色成分のいずれかの画素レベルが当該画素レベルがとり得る上限値である限界レベルである画素を特定するステップをさらに含み、
前記特定の画像に含まれる画素のうち、色成分のいずれかの画素レベルが前記限界レベルである画素以外の画素に対して処理を行うことを特徴とする請求項１乃至６のいずれか１つ記載の画像補正方法。
【請求項８】
前記第２画素特定ステップにおいて、前記特定の画像に含まれる画素のうち、前記条件を全ての色成分について満たす第２の画素群を特定することを特徴とする請求項１記載の画像補正方法。
【請求項９】
前記第２の画素について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、
前記ヒストグラム・データを用いて、度数の総和に対する最上位の画素レベルからの累積度数の割合が第４の値になる第４の画素レベルを色成分毎に特定するステップと、
をさらに含み、
前記補正量算出ステップが、
前記第４の画素レベルと画素レベルがとり得る上限値である限界レベルとの差に基づき、色成分毎の暫定補正量を算出するステップと、
前記暫定補正量を前記評価値に基づき変更するステップと、
を含むことを特徴とする請求項８記載の画像補正方法。
【請求項１０】
前記評価値が、前記第１の画素の数と前記第２の画素の数との比であることを特徴とする請求項１記載の画像補正方法。
【請求項１１】
特定の画像に含まれる画素のうち、色成分毎に設定される第１の画素レベル以上の画素レベルを有するという条件をいずれかの色成分について満たす第1の画素群を特定する第１画素特定ステップと、
前記特定の画像に含まれる画素のうち、前記条件を複数の色成分について満たす第２の画素群を特定する第２画素特定ステップと、
前記第１の画素群と前記第２の画素群との重複度合いに関する評価値を算出するステップと、
前記評価値に基づき、前記特定の画像を補正する補正ステップと、
をプロセッサに実行させるための画像補正プログラム。
【請求項１２】
特定の画像に含まれる画素のうち、色成分毎に設定される第１の画素レベル以上の画素レベルを有するという条件をいずれかの色成分について満たす第1の画素群を特定する第１画素特定手段と、
前記特定の画像に含まれる画素のうち、前記条件を複数の色成分について満たす第２の画素群を特定する第２画素特定手段と、
前記第１の画素群と前記第２の画素群との重複度合いに関する評価値を算出する手段と、
前記評価値に基づき、前記特定の画像を補正する補正手段と、
を有する画像補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像補正技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやカラープリンタなどの画像関連機器の普及、計算機の性能の向上により、カラー画像をデジタルデータとして扱う機会が増えてきた。ところが、デジタルカメラなどで撮影されたカラー画像の画質は、必ずしもユーザにとって満足のいくものとは限らない。例えば、照明光の影響を受け、カラーバランスがくずれてしまっているようなことがある。このような場合、本来は白である被写体に薄く他の色がついてしまう。そのため、ユーザが満足する画像が得られるようにカラーバランス（特にホワイトバランス）を補正する技術が望まれている。しかしながら、画像の中に有彩色の画素が多い場合等には、カラーバランスの補正は困難である。
【０００３】
例えば特開２０００−１６５９０６号公報（特許文献１）には、画像中の有彩色部分の影響を避けてホワイトバランスを補正するための技術が開示されている。すなわち、画像メモリから読み出したカラー画像データから、明度情報と彩度情報とを抽出して、カラー画像データの全画素中の白及び予め設定した白に近いと認識される領域を決定し、その領域における各色成分の平均値に基づき画像処理用係数を算出して出力する。そして、画像処理部は、画像処理用係数と処理フラグとを入力として受け付け、これらに基づいて画像メモリから読み出された画像データに対して自動的にホワイトバランス補正処理を施す。
【０００４】
しかしながら、上記のような技術によると、元々画像中に白色の部分が無く、例えば淡い色の部分がある場合、その淡い色を白色に補正するような判断がなされ、誤った補正が行われる可能性がある。第８Ａ図及び第８Ｂ図の画像例を用いて具体的に説明する。第８Ａ図及び第８Ｂ図には、例えば植物をデジタルカメラ等で撮影した場合の画像例が示されている。
【０００５】
第８Ａ図の例には、茶色領域１０と薄紫色領域１１と緑色領域１２とが含まれている。一方、第８Ｂ図の例には、茶色領域２０と白色領域２１と緑色領域２２とが含まれている。すなわち、第８Ａ図と第８Ｂ図とでは、花の色が異なっており、第８Ａ図の例には、白色の部分がない。このような場合、上で述べた従来技術を用いて第８Ａ図の画像に対して補正を行うと、通常、薄紫色領域１１が補正対象として特定され、白色に補正される。すなわち、第８Ｂ図のような画像に補正される。薄紫色領域１１が本来は白色の花の領域であり、例えば照明光の影響を受けて薄紫色になってしまっていたような場合には、適切な補正が行われたことになる。しかし一方で、薄紫色領域１１が元々薄紫色の花の領域であり、本来補正の必要がなかった場合には、不適切な補正が行われたことになる。従って、このような場合、白に近い淡い色だという判断によって自動的に補正を行うのは適切ではない。
【０００６】
このように、上で述べた従来技術によると、元々白色の部分がない画像に対して誤った補正がなされる可能性があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１６５９０６
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本発明の目的は、画像のカラーバランスを適切に補正するための新規な技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係る画像補正方法は、特定の画像に含まれる画素のうち、色成分毎に設定される、画素レベルについての所定の条件のいずれかを満たす第１の画素を特定する第１画素特定ステップと、特定の画像に含まれる画素のうち、色成分毎に設定される、画素レベルについての上記所定の条件を複数満たす第２の画素を特定する第２画素特定ステップと、第１の画素と第２の画素との重複度合いに関する評価値を算出するステップと、当該評価値に基づき、特定の画像を補正する補正ステップとを含む。
【００１０】
有彩度の被写体を誤って補正しないようにするには、各画素における各色成分の画素レベルの構成を画像全体について評価する必要がある。本発明では、上で述べたように第１の画素（特定の画像における第１の画素群）と第２の画素（特定の画像における第２の画素群）との重複度合いを評価し、その評価結果である上記評価値に基づき補正を行うことにより、有彩度の被写体を誤って補正しないようにする。従って、適切な画像補正が実施されるようになる。なお、白色のカラーバランスだけではなく、黒色のカラーバランスを調整する場合にも同様の処理を行えばよい。
【００１１】
また、上で述べた補正ステップが、上記評価値に基づき補正量を算出する補正量算出ステップを含むようにしてもよい。上記評価値は、有彩度の被写体を含む可能性（又は逆に本来白（又は黒）である被写体を含む可能性）を反映した値と考えられ、当該評価値に応じて補正量が調整されれば、適切な補正が行われるようになる。
【００１２】
また、本発明において、特定の画像について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、ヒストグラム・データを用いて、最上位の画素レベルからの累積度数が特定の画像において処理の対象とされる画素数の所定の割合（第１の割合）となる第１の画素レベルを色成分毎に特定するステップとをさらに含み、上記所定の条件が、特定された第１の画素レベルと色成分の限界レベルとの間に含まれる画素レベルを有するという条件とするようにしてもよい。
【００１３】
限界レベルとは、画素レベルの最大値又は最小値を示し、例えばＲＧＢで色成分を表す場合にハイライトは最大値側となる。このように各色成分の画素レベルについての度数分布に基づき上記所定の条件を設定することにより、より適切な画像の評価を行うことができるようになる。すなわち、各色成分の画素レベルについての度数分布の偏りを考慮に入れた形で、第１の画素及び第２の画素を特定できるようになる。
【００１４】
さらに、本発明において、特定の画像について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、ヒストグラム・データを用いて、最上位の画素レベルからの累積度数が特定の画像において処理の対象とされる画素数の所定の割合（第２の割合）となる第２の画素レベルを色成分毎に特定するステップとをさらに含み、上で述べた補正量算出ステップが、第２の画素レベルと色成分の限界レベルとの差に基づき、色成分毎の暫定補正量を算出するステップと、当該暫定補正量を評価値に基づき変更するステップとを含むようにしてもよい。
【００１５】
このように各色成分の画素レベルについての度数分布に基づき各色成分の暫定補正量を算出することにより、特定の画像に適応した暫定補正量が算出される。さらに評価値に基づき当該暫定補正量を調整するため、特定の画像に適応した適切な画像補正が行えるようになる。
【００１６】
また、上で述べた補正量算出ステップが、上記評価値に基づき、第３の割合を設定するステップと、特定の画像について、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、ヒストグラム・データを用いて、最上位の画素レベルからの累積度数が特定の画像において処理の対象とされる画素数の上記第３の割合となる第３の画素レベルを色成分毎に特定するステップと、上記第３の画素レベルと色成分の限界レベルとの差に基づき、補正量を決定するステップとを含むようにしてもよい。度数分布における閾値（上記第３の割合）を評価値に応じて設定することにより、暫定補正量を算出してから評価値により調整する手法と同様の効果を得ることができるようになる。
【００１７】
さらに、上で述べた補正ステップが、上記評価値に応じて、基準補正量の計算方式を特定するステップと、特定された計算方式に従い、基準補正量を算出するステップと、当該基準補正量を用いて特定の画像を補正するステップとを含むようにしてもよい。評価値に応じて基準補正量の計算方式を変更することにより、有彩度の被写体を含む可能性に応じた適切な補正量が計算されるようになる。
【００１８】
また、本発明において、特定の画像に含まれる画素のうち、色成分のいずれかの画素レベルが限界レベルである画素を特定するステップをさらに含み、第１画素特定ステップ及び第２画素特定ステップにおいて、色成分のいずれかの画素レベルが限界レベルである画素以外の画素に対して処理を行うようにしてもよい。色成分のいずれかの画素レベルが限界レベルである画素は、例えば逆光等の影響により、規定されている画素レベルの限界レベルを超えてしまった画素である可能性がある。このような画素を処理対象から排除することにより、色成分毎の画素レベルの本来の構成を保持している画素について判断することができるようになる。すなわち適切な第１の画素及び第２の画素が特定される。
【００１９】
さらに、上で述べた第２画素特定ステップにおいて、特定の画像に含まれる画素のうち、色成分毎に設定される、画素レベルについての上記所定の条件を全て満たす第２の画素を特定するようにしてもよい。すなわち、全ての色成分について画素レベルが高い（又は低い）画素が特定されることになり、より本来白色（又は黒色）であったと考えられる画素が特定されるようになる。
【００２０】
また、本発明において、色成分毎に、画素レベルについてのヒストグラム・データを生成するステップと、ヒストグラム・データを用いて、色成分の限界レベルからの累積度数が特定の画像において処理の対象とされる第２の画素数の所定の割合となる第４の画素レベルを色成分毎に特定するステップとをさらに含み、上記補正量算出ステップが、第４の画素レベルと色成分の限界レベルとの差に基づき、色成分毎の暫定補正量を算出するステップと、暫定補正量を上記評価値に基づき変更するステップとを含むようにしてもよい。
【００２１】
このように第２の画素についてのみヒストグラムを生成するようにすれば、有彩度と考えられる画素の影響が第４の画素レベルの決定において除外される。従って、補正量の算出において有彩度の被写体の影響を受けにくくなる。
【００２２】
なお、上記評価値を、第１の画素の数と第２の画素の数との比とすることも可能である。
【００２３】
なお、本発明に係る方法をコンピュータに実行させるためのプログラムを作成することも可能であって、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してデジタル信号として配信される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【図面の簡単な説明】
【００２４】
【図１】第１Ａ図は、第１のケースについて色成分を説明するための概念図である。  第１Ｂ図は、第２のケースについて色成分を説明するための概念図である。  第１Ｃ図は、第３のケースについて色成分を説明するための概念図である。
【図２】第２図は、本発明の一実施例に係るカラーバランス補正装置の機能ブロック図である。
【図３】第３図は、本発明の一実施例に係る処理フローの前半部分を示す図である。
【図４】第４図は、第１のケースについてレベル値設定を説明するための概念図である。
【図５】第５図は、本発明の一実施例に係る処理フローの後半部分を示す図である。
【図６】第６図は、補正処理に用いる式の概念図である。
【図７】第７図は、第２のケースについてレベル値設定を説明するための概念図である。
【図８】第８Ａ図は、第１の画像例である。  第８Ｂ図は、第２の画像例である。
【発明を実施するための形態】
【００２５】
まず、第１Ａ図乃至第１Ｃ図に示す色成分の概念図を用いて、本発明の原理について説明する。第１Ａ図には、入射光１１０と反射光１１１と面１１２とが示されている。入射光１１０には、例えば光の三原色である赤（Ｒ）、緑（Ｇ）及び青（Ｂ）の各色成分が含まれている。通常、光は波長に対して連続的なスペクトル分布を有しているが、ここでは模式的に３成分で表している。図中の矢印の長さは各色成分の大きさを表しており、例えば適切にホワイトバランスが調整されたデジタルカメラで撮影された場合の値に対応している。入射光１１０については全ての色成分が等しい大きさを有しており、無彩色の光が面１１２に照射されていることが示されている。ここで、面１１２が薄紫色であり、無彩色の光を面１１２に照射する。そうすると、赤及び青の矢印が緑の矢印よりも長い状態を表す反射光１１１からも分かるように、主に赤い光と青い光を反射する。赤色と青色とが混ざると紫色になるため、反射光１１１を受けた人間には、面１１２が薄紫色に見える。
【００２６】
第１Ｂ図には、入射光１２０と反射光１２１と面１２２とが示されている。入射光１２０は、第１Ａ図の入射光１１０と同様に無彩色の光である。ここで、面１２２は緑色であり、無彩色の光を面１２２に照射する。そうすると、赤及び青の矢印が緑の矢印よりも短い状態を表す反射光１２１からも分かるように、緑の光を主に反射する。反射光１２１を受けた人間には、面１２２が緑色に見える。
【００２７】
第１Ｃ図には、入射光１３０と反射光１３１と面１３２とが示されている。入射光１３０は、第１Ａ図の入射光１１０及び第１Ｂ図の入射光１２０と同様に無彩色の光である。ここで、面１３２は白色であり、無彩色の光を面１３２に照射する。そうすると、赤、緑及び青の矢印の長さが等しい状態を表す反射光１３１からも分かるように、全ての光を反射する。反射光１３１を受けた人間には、面１３２が白色に見える。
【００２８】
以上のことから、例えば第８Ａ図の画像例の薄紫色領域１１の元となる被写体では第１Ａ図に示したように光が反射し、緑色領域１２の元となる被写体では第１Ｂ図に示したように光が反射する。すなわち、薄紫色領域１１に含まれる画素の多くは、ＲＧＢの色成分のうち、Ｒ（赤）成分及びＢ（青）成分についての画素レベルが画像内の他の領域に含まれる画素に比べて高レベルとなっており、緑色領域１２に含まれる画素の多くは、ＲＧＢの色成分のうち、Ｇ（緑）成分についての画素レベルが画像内の他の領域に含まれる画素に比べて高レベルとなっている。茶色領域１０については説明を省略するが、薄紫色領域１１や緑色領域１２と同様に、画素レベルが高い色成分が偏っている。このように、白色の領域が存在しない画像には、全ての色成分について高い画素レベルを有する画素が多く含まれるような領域は存在しない。
【００２９】
一方、例えば第８Ｂ図の画像例の白色領域２１の元となる被写体では第１Ｃ図に示したように光が反射する。すなわち、白色領域２１に含まれる画素の多くは、ＲＧＢの色成分のうち、Ｒ（赤）成分、Ｇ（緑）成分及びＢ（青）成分、すなわち、全ての色成分についての画素レベルが画像内の他の領域に含まれる画素に比べて高レベルである。
【００３０】
無彩色の入射光に対して各色の面が反射する光（反射光）の状態は以上のようになる。すなわち、薄紫色である第１Ａ図の面１１２は緑の成分を多く減衰させて反射し、緑色である第１Ｂ図の面１２２は赤及び青の成分を多く減衰させて反射し、白色である第１Ｃ図の面１３２は全ての色成分をほぼそのまま反射する。
【００３１】
ここで、例えば、赤及び青の矢印が緑の矢印よりも長い状態を表す第１Ａ図の反射光１１１のような薄紫色の光が入射光として照射された場合について考察する。まず、第１Ａ図の面１１２に対して、反射光１１１のような光が入射光として照射された場合、無彩色の入射光１１０が照射された時と比べ、緑の成分がより少なくなって反射される。すなわち、反射光１１１の緑の矢印のみがさらに短くなった状態の光が反射される。また、第１Ｂ図の面１２２に対して、反射光１１１のような光が入射光として照射された場合、無彩色の入射光１２０が照射された時と比べ、緑の成分が少なくなって反射される。すなわち、反射光１２１の緑の矢印が短くなり、例えば赤及び青の矢印と同様の長さとなった状態の光が反射される。
【００３２】
また、第１Ｃ図の面１３２は、入射光をそのまま反射するため、反射光１１１のような光が入射光として照射された場合、反射光１１１と同様の光が反射される。すなわち、薄紫色である第１Ａ図の面１１２に無彩色の入射光１１０を照射した場合と同様の光が反射されることになり、例えばこのような反射光を受けた人間には、第１Ｃ図の面１３２が薄紫色に見える。
【００３３】
例えば第８Ａ図に示した画像の元となる被写体に、上で述べたような薄紫色の光を照射した場合、全体的に紫色がかった色となるが、薄紫色領域１１に含まれる画素の多くは、無彩色の光を照射した場合と同様、ＲＧＢの色成分のうち、Ｒ（赤）成分及びＢ（青）成分についての画素レベルが画像内の他の領域に含まれる画素に比べて高レベルとなる。また、緑色領域１２についても同様に、緑色領域１２に含まれる画素の多くは、ＲＧＢの色成分のうち、Ｇ（緑）成分についての画素レベルが画像内の他の領域に含まれる画素に比べて高レベルとなる。緑色領域１２に含まれる画素のＧ（緑）成分についての画素レベルは、無彩色の光が照射された場合に比べて低くなるが、画像全体においてＧ（緑）成分についての画素レベルが低くなっているため、画像内の他の領域に含まれる画素に比べて、緑色領域１２に含まれる画素のＧ（緑）成分についてのレベルは高いままである。
【００３４】
このように、白色の領域が存在しない画像には、画像の元となる被写体に無彩色ではない光が照射された場合においても、全ての色成分について高い画素レベルを有する画素が多く含まれるような領域は存在しない。
【００３５】
一方、例えば第８Ｂ図の画像の元となる被写体に、上で述べたような薄紫色の光を照射した場合、全体的に紫色がかった色となるが、薄紫色に見える白色領域２１に含まれる画素の多くは、無彩色の光が照射された場合と同様、ＲＧＢの色成分のうち、Ｒ（赤）成分、Ｇ（緑）成分及びＢ（青）成分、すなわち、全ての色成分についての画素レベルが画像内の他の領域に含まれる画素に比べて高レベルである。白色領域２１に含まれる画素のＧ（緑）成分についての画素レベルは、無彩色の光が照射された場合に比べて低くなるが、画像全体においてＧ（緑）成分についての画素レベルが低くなっているため、画像内の他の領域に含まれる画素に比べて、白色領域２１に含まれる画素の全ての色成分についてのレベルは高いままである。
【００３６】
このように、白色領域の元となる被写体には、無彩色ではない光が照射された場合においても、全ての色成分について相対的に高い画素レベルを有する画素が多く含まれる。すなわち、元々白色の画素は、画像全体が特定の色方向に変色したような場合においても、全ての色成分について画像内において相対的に高い画素レベルを有している。
【００３７】
従って、処理すべき画像において、ＲＧＢそれぞれについての画素レベルについての度数分布、及び各画素における、各色成分についての画素レベルの構成（又はバランス）を解析することにより、元来白色領域ではないかもしれない画素を白色に補正してしまうといったことを防止できる。
【００３８】
第２図に、本発明の一実施例に係るカラーバランス補正装置の機能ブロック図を示す。カラーバランス補正装置１０００には、画像データ入力部１００１と画像データ格納部１００３と不要画素除去処理部１００５と処理対象画素データ格納部１００７とヒストグラム生成部１００９とヒストグラム・データ格納部１０１１とハイライト・レベル値算出部１０１３とハイライト・レベル値格納部１０１５とハイライト画素検出部１０１７とハイライト画素データ格納部１０１９と完全ハイライト画素検出部１０２１と完全ハイライト画素データ格納部１０２３と補正レベル値算出部１０２５と補正レベル値格納部１０２７と暫定補正量算出部１０２９と暫定補正量格納部１０３１と基準補正量設定部１０３３と基準補正量格納部１０３５と補正処理部１０３７と補正済画像データ格納部１０３９とが含まれている。
【００３９】
これらの処理内容の詳細については後の処理フローの説明において述べる。ここでは、各機能ブロックの連携関係を中心に簡単に説明しておく。
【００４０】
画像データ入力部１００１は、例えばスキャナやデジタルカメラ等の外部装置とのインタフェイス等であって、画像データを読み込んだり受信した場合、画像データ格納部１００３に格納する。不要画素除去処理部１００５は、画像データ格納部１００３から画像データを読み込み、階調についてオーバーフローが生じていないと判断された画素のデータを処理対象画素データ格納部１００７に格納する。
【００４１】
ヒストグラム生成部１００９は、処理対象画素データ格納部１００７に格納されている画素データに基づき、色成分毎にヒストグラム・データを生成してヒストグラム・データ格納部１０１１に格納する。ハイライト・レベル値算出部１０１３は、ヒストグラム・データ格納部１０１１に格納されているデータに基づき、色成分毎のハイライト・レベル値を算出し、ハイライト・レベル値格納部１０１５に格納する。ハイライト・レベル値とは、画素レベルが高いか否かを判定するための閾値である。
【００４２】
ハイライト画素検出部１０１７は、ハイライト・レベル値格納部１０１５及び処理対象画素データ格納部１００７を参照し、いずれかの色成分について画素レベルが高いと判断された画素の数をハイライト画素データ格納部１０１９に格納する。完全ハイライト画素検出部１０２１は、ハイライト・レベル値格納部１０１５及び処理対象画素データ格納部１００７を参照し、全ての色成分について画素レベルが高いと判断された画素の数を完全ハイライト画素データ格納部１０２３に格納する。
【００４３】
補正レベル値算出部１０２５は、ヒストグラム・データ格納部１０１１に格納されているデータに基づき、色成分毎の補正レベル値を算出し、補正レベル値格納部１０２７に格納する。補正レベル値とは、画素レベルの閾値であり、以下に述べる暫定補正量の算出に用いられる。暫定補正量算出部１０２９は、補正レベル値格納部１０２７を参照して暫定補正量を算出し、暫定補正量格納部１０３１に格納する。暫定補正量とは、以下に述べる基準補正量を算出するために仮に決定しておく補正量である。基準補正量設定部１０３３は、ハイライト画素データ格納部１０１９と完全ハイライト画素データ格納部１０２３と暫定補正量格納部１０３１とを参照して基準補正量を算出し、基準補正量格納部１０３５に格納する。基準補正量とは、以下に述べる補正処理において基準となる補正量である。
【００４４】
補正処理部１０３７は、画像データ格納部１００３から読み込んだ画像データに対し、基準補正量格納部１０３５に格納されている基準補正量に基づく補正処理を実施し、補正した画像データを補正済画像データ格納部１０３９に格納する。なお、処理対象画素データ格納部１００７に格納されている画素データを補正の対象として用いる場合もある。
【００４５】
以下、第３図乃至第７図を用いて、第２図に示したカラーバランス補正装置１０００の処理内容について説明する。本実施例では、例えばＲＧＢの全色成分の画素レベルが高い白色のカラーバランスを補正するための処理の例を示す。なお、例えばＲＧＢの全色成分の画素レベルが低い黒色のカラーバランスを補正するようにしても良い。
【００４６】
まず、例えばスキャナやデジタルカメラ等の外部装置に対するインタフェイス等である画像データ入力部１００１は、画像データを読み込み又は受信し、画像データ格納部１００３に格納する（第３図：ステップＳ１）。なお、この画像データは、例えば２５６階調のＲＧＢで表されているものとする。
【００４７】
そして、不要画素除去処理部１００５は、画像データ格納部１００３に格納されている画像データから、Ｒ成分、Ｇ成分及びＢ成分のいずれの色成分の値も２５５ではない画素を特定し、処理対象画素データ格納部１００７に格納する（ステップＳ３）。２５６階調の場合、２５５という値は限界値である。ここでは、このような値を有する画素は、逆光等の影響により、階調についてオーバーフローが生じていると判断し、処理対象から除外する。なお、この処理は必須ではない。
【００４８】
そして、ヒストグラム生成部１００９は、処理対象画素データ格納部１００７に格納されている画素データに基づき、Ｒ成分、Ｇ成分及びＢ成分のそれぞれの色成分についてヒストグラム・データを生成し、ヒストグラム・データ格納部１０１１に格納する（ステップＳ５）。
【００４９】
そして、ハイライト・レベル値算出部１０１３は、ヒストグラム・データ格納部１０１１に格納されているデータに基づき、各ヒストグラムのハイライト側（すなわち画素レベルが高い側）の例えば上位１％に該当するレベル値を算出し、ハイライト・レベル値（Ｒｈ，Ｇｈ，Ｂｈ）として、ハイライト・レベル値格納部１０１５に格納する（ステップＳ７）。
【００５０】
第４図に、レベル値設定の概念図を示す。第４図には、画素レベルに対応する軸４０１と、度数に対応する軸４０２と、度数曲線４０３と、基準レベル領域４０４と、設定されるレベル値を示す点４０５とが示されている。なお、画素レベルの値は例えば図の左から右に向かって大きくなっていく。また、度数曲線４０３は、例えば０から２５５までの画素レベル毎の度数に基づき生成される。画素レベルは離散的であるが、ここでは曲線で示している。
【００５１】
ハイライト・レベル値算出部１０１３は、まず、処理対象となる全画素数の例えば１％の画素数を求める。処理対象となる全画素数が例えば５０万であれば、１％の画素数は５０００である。そして、最上位からの累積度数が例えば５０００に達する画素レベルを特定する。度数曲線４０３が曲線の場合、基準レベル領域４０４の面積が５０００となる画素レベルを特定する。第４図の例では、点４０５の位置の画素レベルがハイライト・レベル値として特定される。このような処理を各色成分（Ｒ，Ｇ，Ｂ）について実施する。
【００５２】
第３図の説明に戻り、ハイライト画素検出部１０１７は、ハイライト・レベル値格納部１０１５及び処理対象画素データ格納部１００７を参照し、Ｒ成分、Ｇ成分及びＢ成分のうち、いずれかの色成分についての画素レベルがハイライト・レベル値以上である画素の数をハイライト画素数（Ｐｈ）としてハイライト画素データ格納部１０１９に格納する（ステップＳ９）。そして、完全ハイライト画素検出部１０２１は、ハイライト・レベル値格納部１０１５及び処理対象画素データ格納部１００７を参照し、Ｒ成分、Ｇ成分及びＢ成分の全ての色成分についての画素レベルがハイライト・レベル値以上である画素の数を完全ハイライト画素数（Ａｈ）として完全ハイライト画素データ格納部１０２３に格納する（ステップＳ１１）。そして、処理は端子Ａを介して第５図の処理に移行する。
【００５３】
そして、補正レベル値算出部１０２５は、ヒストグラム・データ格納部１０１１に格納されているデータに基づき、各ヒストグラムのハイライト側（すなわち画素レベルが高い側）の例えば上位０．２％のレベル値を算出し、補正レベル値として、補正レベル値格納部１０２７に格納する（第５図：ステップＳ２１）。補正レベル値の算出方法は、上で述べたハイライト・レベル値の算出方法と同様（第４図参照）である。
【００５４】
そして、暫定補正量算出部１０２９は、補正レベル値格納部１０２７に格納されている補正レベル値を参照して、各色成分につき、２５５から補正レベル値を引いた値を算出し、暫定補正量（Ｒｃｔ，Ｇｃｔ，Ｂｃｔ）として暫定補正量格納部１０３１に格納する（ステップＳ２３）。
【００５５】
そして、基準補正量設定部１０３３は、ハイライト画素データ格納部１０１９と完全ハイライト画素データ格納部１０２３とを参照し、完全ハイライト画素数（Ａｈ）／ハイライト画素数（Ｐｈ）が０．８より大きいか、すなわち、Ａｈ／Ｐｈ＞０．８が満たされるか判定する（ステップＳ２５）。この比較に用いる数値は０．８に限られないが、本実施例では、Ａｈ／Ｐｈ＞０．８が満たされる場合、本来白色である被写体が含まれている可能性が十分に高いと判断するようにしている。
【００５６】
Ａｈ／Ｐｈ＞０．８が満たされると判定された場合（ステップＳ２５：Ｙｅｓルート）、基準補正量設定部１０３３は、暫定補正量格納部１０３１に格納されている暫定補正量（Ｒｃｔ，Ｇｃｔ，Ｂｃｔ）を、基準補正量（Ｒｃ，Ｇｃ，Ｂｃ）として設定し、基準補正量格納部１０３５に格納する（ステップＳ２７）。すなわち、基準補正量の計算方法として以下の（１）式を特定し、（１）式に従って基準補正量を算出する。そして、後に述べるステップＳ３５の処理に移行する。
Ｒｃ＝Ｒｃｔ，Ｇｃ＝Ｇｃｔ，Ｂｃ＝Ｂｃｔ              （１）
【００５７】
一方、Ａｈ／Ｐｈ＞０．８が満たされないと判定された場合（ステップＳ２５：Ｎｏルート）、基準補正量設定部１０３３は、Ａｈ／Ｐｈ＜０．３が満たされるか判定する（ステップＳ２９）。この比較に用いる数値は０．３に限られないが、本実施例では、Ａｈ／Ｐｈ＜０．３が満たされる場合、本来白色である被写体が含まれている可能性が十分に低いと判断するようにしている。
【００５８】
Ａｈ／Ｐｈ＜０．３が満たされると判定された場合（ステップＳ２９：Ｙｅｓルート）、基準補正量設定部１０３３は、補正が行われないようにするため、基準補正量としてＲｃ，Ｇｃ及びＢｃに各々０を設定し、基準補正量格納部１０３５に格納する。（ステップＳ３１）。すなわち、基準補正量の計算方法として以下の（２）式を特定し、（２）式に従って基準補正量を算出する。そして、後に述べるステップＳ３５の処理に移行する。
Ｒｃ＝０，Ｇｃ＝０，Ｂｃ＝０              （２）
【００５９】
一方、Ａｈ／Ｐｈ＜０．３が満たされないと判定された場合（ステップＳ２９：Ｎｏルート）、基準補正量設定部１０３３は、基準補正量の計算方法として以下の（３）式を特定し、暫定補正量格納部１０３１に格納されている暫定補正量（Ｒｃｔ，Ｇｃｔ，Ｂｃｔ）を用いて、（３）式に従い基準補正量（Ｒｃ，Ｇｃ，Ｂｃ）を算出し、基準補正量格納部１０３５に格納する。（ステップＳ３３）。すなわち、暫定補正量を低減して基準補正量とする。
Ｒｃ＝Ｒｃｔ・(Ａｈ／Ｐｈ−０．３)／０．５
Ｇｃ＝Ｇｃｔ・(Ａｈ／Ｐｈ−０．３)／０．５
Ｂｃ＝Ｂｃｔ・(Ａｈ／Ｐｈ−０．３)／０．５                    （３）
【００６０】
そして、補正処理部１０３７は、画像データ格納部１００３に格納されている画像データに対し、基準補正量格納部１０３５に格納されている基準補正量（Ｒｃ，Ｇｃ，Ｂｃ）を用いて、以下の（４）式に従った補正処理を実施し、補正した画像データを補正済画像データ格納部１０３９に格納する（ステップＳ３５）。
Ｒｏ＝ｍｉｎ（２５５，Ｒｉ・２５５／（２５５−Ｒｃ））
Ｇｏ＝ｍｉｎ（２５５，Ｇｉ・２５５／（２５５−Ｇｃ））
Ｂｏ＝ｍｉｎ（２５５，Ｂｉ・２５５／（２５５−Ｂｃ））          （４）
【００６１】
上の（４）式において、添え字のｉは入力、ｏは出力を意味し、例えばＲｉはＲ成分の入力画素レベル、ＲｏはＲ成分の出力画素レベルである。また、ｍｉｎ（Ｘ，Ｙ）という式（関数）は、Ｘ及びＹのうち、いずれか小さい方を出力する。なお、基準補正量（Ｒｃ，Ｇｃ，Ｂｃ）のいずれかに０が設定されている場合には、その色成分については入力画素レベルと等しい出力画素レベルが算出されるため、補正前と補正後とでは画素レベルが変わらない。すなわち、当該色成分についての補正はなされない。画像の補正処理が終わると、カラーバランス補正装置１０００は処理を終了する。
【００６２】
第６図に、上の（４）式の概念図を示す。第６図には、入力画素レベルに対応する軸６０１と出力画素レベルに対応する軸６０２と出力画素レベル設定線６０３と基準補正量に対応する線分６０４とが示されている。なお、この第６図に示した概念図は、全色成分についてまとめたものではなく、いずれか１つの色成分について表したものである。
【００６３】
出力画素レベル設定線６０３は、入力画素レベルが２５５から基準補正量を引いた値になるまでは、入力画素レベルが増加すれば出力画素レベルも線形に増加することを表している。具体的には、２５５／（２５５−基準補正量）という傾きに従う。この基準補正量には、例えばＲｃ、Ｇｃ及びＢｃのいずれかの値が代入される。そして、入力画素レベルが２５５から基準補正量を引いた値以上になると、出力画素レベルは２５５に固定される。
【００６４】
例えば、Ｒ成分の基準補正量Ｒｃが５１であり、特定の画素のＲ成分についての画素レベルＲｉ（入力画素レベル）が１００であった場合、出力画素レベルＲｏは１２５（＝１００（２５５／（２５５−５１））となる。また例えば、Ｒ成分の基準補正量Ｒｃが５５であり、特定の画素のＲ成分についての画素レベルＲｉ（入力画素レベル）が２１０であった場合、入力画素レベルの２１０は２５５から基準補正量を引いた値の２００（＝２５５−５５）以上であるため、出力画素レベルは２５５となる。このような入出力結果を得るための数式（関数）が、上の（４）式である。
【００６５】
以上のようにして、画像の補正処理が行われる。これにより、例えば白色の領域が存在しない画像に対しても、適切に補正する又は誤った補正を行わないようにすることができる。
【００６６】
なお、上の説明では、補正レベル値を求めるために例えば０．２％という所定の画素割合を用いていた（第５図：ステップＳ２１）が、この画素割合を、本来白色である被写体が含まれている可能性に応じて設定するようにしても良い。例えば、完全ハイライト画素数（Ａｈ）／ハイライト画素数（Ｐｈ）が０．８以上であれば、そのまま０．２％を画素割合とし、Ａｈ／Ｐｈが０．３以下であれば、０％を画素割合とし、Ａｈ／Ｐｈが０．３より大きく０．８未満であれば、画素割合を線形に定める（画素割合（％）＝０．２×（Ａｈ／Ｐｈ−０．３）／０．５）ようにする。このような場合、暫定補正量を求めてから低減処理する（第５図：ステップＳ２３乃至ステップＳ３３）ことなく、ステップＳ２３（第５図）において算出された暫定補正量をそのまま基準補正量として設定することができる。画素割合が小さくなると暫定補正量も小さくなるためである。
【００６７】
また、ステップＳ２３（第５図）において用いるヒストグラム・データを、完全ハイライト画素についてのヒストグラム・データとするようにしても良い。この場合、ヒストグラム生成部１００９は、完全ハイライト画素についてのヒストグラム・データを生成する。
【００６８】
第７図に、完全ハイライト画素についてのヒストグラム・データを用いたレベル値設定の概念図を示す。第７図には、画素レベルに対応する軸７０１と、度数に対応する軸７０２と、度数曲線７０３と、基準レベル領域７０４と、設定されるレベル値を示す点７０５とが示されている。なお、画素レベルの値は例えば図の左から右に向かって大きくなっていく。
【００６９】
図の構成要素及びレベル値の特定手順は第４図と同様であるが、この第７図に示した例では対象画素を完全ハイライト画素に限定したため、ヒストグラムを構成する画素数が少なくなっている。従ってこの場合、画素割合（例えば０．２％）を掛ける画素数を、ヒストグラムを構成している完全ハイライト画素数（Ａｈ）とはせずに、画像に含まれる全画素数又はステップＳ３（第３図）において特定された画素（階調についてオーバーフローが発生していない画素）の数とする。なお、ヒストグラムを構成している完全ハイライト画素数（Ａｈ）が、例えば画像に含まれる全画素数×０．２よりも少なく、レベル値を特定できないような場合には、補正を行わないようにしても良い。
【００７０】
以上、本発明の実施例について説明したが、本発明はこれに限定されるものではない。例えば、第２図に示した機能ブロックの構成は一例であって、実際のプログラム・モジュール構成とは異なる場合がある。また、第１Ａ図、第１Ｂ図、第１Ｃ図、第４図、第６図及び第７図に示した概念図、並びに第８Ａ図及び第８Ｂ図に示した画像例は一例であって、同様のデータを別の態様で表現する場合もある。さらに、第３図及び第５図に示した処理フローも一例であって、同様の処理結果が得られる範囲において処理の順序を入れ替えてもよいし、同時に実行したり、必要に応じてステップを追加又は削除してもよい。
【００７１】
また、上で述べたような処理を実行する装置は、メモリ及びプロセッサを有する一般的なコンピュータであっても良いし、プロセッサを有するデジタルカメラやその他の画像処理装置であっても良い。
0004480677.tif 000002
【図２】
0004480677.tif 000003
【図３】
0004480677.tif 000004
【図４】
0004480677.tif 000005
【図５】
0004480677.tif 000006
【図６】
0004480677.tif 000007
【図７】
0004480677.tif 000008
0004480677.tif 000009