【手続補正書】
【提出日】平成16年9月22日(2004.9.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体
【特許請求の範囲】
【請求項１】  概略対等な色成分からなる階調表色データによって画像を複数の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換が行われるようにした画像処理装置であって、
各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにすることを特徴とする画像処理装置。
【請求項２】  上記請求項１に記載の画像処理装置において、上記階調表色データの取りうる階調範囲を複数の領域に分け、各領域ごとの分布の比較で各色成分間の類似具合を判断することを特徴とする画像処理装置。
【請求項３】  上記請求項１または請求項２のいずれかに記載の画像処理装置において、各色成分の分布を要素とするベクトルの内積に基づいて類似具合を判断することを特徴とする画像処理装置。
【請求項４】  上記請求項１〜請求項３のいずれかに記載の画像処理装置において、上記修正にあたっては各色成分の特性の均一化を図るための実行値を利用するとともに、この実効値を変化させることによって実質的に修正を有効化させたり無効化させるとともに、同実効値を連続的に変化させることを特徴とする画像処理装置。
【請求項５】  上記請求項１〜請求項４のいずれかに記載の画像処理装置において、各色成分の階調表色データが近似している画素を上記分布の対象とすることを特徴とする画像処理装置。
【請求項６】  上記請求項１〜請求項５のいずれかに記載の画像処理装置において、上記分布における所定位置から特性を判断し、当該特性が均一化するように各成分間のずれに対応するオフセット量を求めて各成分値を修正することを特徴とする画像処理装置。
【請求項７】  上記請求項６に記載の画像処理装置において、上記分布の範囲の端部位置を当該分布の特性と判断することを特徴とする画像処理装置。
【請求項８】  上記請求項６または請求項７のいずれかに記載の画像処理装置において、上記分布の略中央位置を当該分布の特性と判断することを特徴とする画像処理装置。
【請求項９】  上記請求項１〜請求項８のいずれかに記載の画像処理装置において、各色成分毎の上記分布の広がりを略均一化させることを特徴とする画像処理装置。
【請求項１０】  上記請求項９に記載の画像処理装置において、上記分布の広がりの両端を有効な階調範囲内で拡大させることを特徴とする画像処理装置。
【請求項１１】  上記請求項９に記載の画像処理装置において、同分布の広がり量に基づいて分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てることを特徴とする画像処理装置。
【請求項１２】  上記請求項１〜請求項１１のいずれかに記載の画像処理装置において、各成分毎の分布に基づく明るさを均一化させることを特徴とする画像処理装置。
【請求項１３】  上記請求項１２に記載の画像処理装置において、上記分布の略中央位置と所定階調との比較において画像の明暗を判断することを特徴とする画像処理装置。
【請求項１４】  上記請求項１２または請求項１３のいずれかに記載の画像処理装置において、画像の明暗の判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させることを特徴とする画像処理装置。
【請求項１５】  概略対等な色成分からなる階調表色データによって画像を複数の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換を行う画像処理方法であって、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにすることを特徴とする画像処理方法。
【請求項１６】  概略対等な色成分からなる階調表色データによって画像を複数の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換をコンピュータに実行させる画像処理プログラムを記録した媒体であって、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにすることを特徴とする画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体に関し、特に、カラーバランスを修正する画像処理装置および画像処理方法並びに画像処理プログラムを記録した媒体に関する。
【０００２】
【従来の技術】
従来、カラーバランスを修正するというと、いわゆる色かぶりなどを修正することを指していることが多い。すなわち、画像入力装置などにおける色ずれに対する修正処理である。
【０００３】
例えば、デジタルスチルカメラなどにおいては、画像データをＲＧＢ（赤緑青）の階調表色データとして出力している。この場合、レンズやＣＣＤ素子の特性により、特定の色、例えば、赤色が実物の色よりも強調されたいわゆる色ずれのあるものも見受けられる。
【０００４】
従来、このような色ずれのある画像データに対して、何らかの修正を行いたい場合には、画像処理ソフトなどに読み込み、作業者が所定の操作を経て試行錯誤により強調色の成分値を弱くしている。
【０００５】
【発明が解決しようとする課題】
上述した従来の修正手法においては、次のような課題があった。
【０００６】
作業者が試行錯誤で修正を行うものであるため、正確さに乏しいし、非熟練者には困難である場合がある。
【０００７】
また、一律に所定の成分値を増減するものであるため、全階調にわたって正しく修正されているともいえない場合がある。
【０００８】
さらには、単なる色ずれ以外の要素を含んでいる場合に、効率の良い修正が可能であるとは言えなかった。
【０００９】
また、各画素の色を表す各成分毎の階調表色データが正しいものであるか否かという判断は根本的には標準色などとの対比を行わなければ不可能であるし、場合によっては外的要因によってある成分が強調されることの方が当然のこともありえることを考慮すれば、色ずれがあるか否かを自動的に判断することは極めて困難であるといわざるを得ない。
【００１０】
本発明は、上記課題にかんがみてなされたもので、いわゆる色ずれなどの色再現性の修正を自動化するとともに総合的にカラーバランスを修正することが可能な画像処理装置および画像処理方法並びに画像処理プログラムを記録した媒体の提供を目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するためには、概略対等な色成分からなる階調表色データによって画像をドットマトリクス状の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換が行われるようにした画像処理装置であって、各色成分毎に階調表色データの分布を求めるとともに各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図る特性均一化手段を具備するとしても良い。
【００１２】
上記のように構成した場合は、概略対等な色成分からなる階調表色データによって画像をドットマトリクス状の各画素の集合として表した画像データがある場合に、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換を行うが、この際に、上記特性均一化手段は、各色成分毎に階調表色データの分布を求めるとともに各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図っている。
【００１３】
デジタルスチルカメラを例に取れば、従来、カラーバランスを修正するということは、各画素毎における色成分の変換特性が一致しているか否かを、各色毎に成分値が強調気味であるか否か判断して調整していた。これに対し、本発明では、各色成分毎に階調表色データの分布を求め、各色成分毎に分離した状況で特性を見出し、そのような特性の均一化を図っている。すなわち、画像の内容を問わず、各色成分ごとに階調表色データの分布の特性が一致するようなときに画像としては色ずれのないメリハリのある画像が得られることが分かり、かかる特性の均一化を分布に基づいて求めている。なお、ここにいう均一化とは厳密な意味での均一化を意味しているのではなく、少なくとも傾向を均一化させる程度で構わない。
【００１４】
この意味で、分布は画像データにおける各成分ごとの分布状況を見出せるようなものであればよく、度数分布を含めて各種の統計的手法も採用可能である。例えば、度数分布から導き出される標準偏差であるとかメジアンであるとか最頻値といった二次加工的データを利用することも可能である。この場合、度数分布は処理が容易で簡易化させることができるメリットを有している。
【００１５】
ところで、分布の特性が一致しないことが当然である場合もある。例えば、夕方の景色であれば、赤系統の色彩だけとなっても不自然さはない。このような場合には、各色成分毎の分布から判断される特性を均一化することの方が不自然でもある。このため、請求項１にかかる発明は、概略対等な色成分からなる階調表色データによって画像を複数の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換が行われるようにした画像処理装置であって、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにする構成としてある。
【００１６】
上記のように構成した請求項１にかかる発明は、まず各色成分間の類似具合を判断する。赤（Ｒ）緑（Ｇ）青（Ｂ）の色成分からなるときに夕方の景色であれば、赤の成分だけに分布する偏った分布が得られることになり、青や緑の成分についての分布は極端に減少する。このようなときに分布の特性が均一化しないのは当然であり、各色成分間の類似具合は極めて小さく、特性の均一化を図らない。一方、各色成分が平均的に現れたような場合には分布の類似具合は大きいと判断され、このような場合にこそ相互の特性を均一化させることにより、画像入力装置などに固有の偏りを低減させることも可能となる。
【００１７】
分布の類似具合を判断するにあたり、必ずしも全ての階調での度数分布を用いて個別に比較する必要はなく、そのような場合に好適な一例として、請求項２にかかる発明は、上記請求項１に記載の画像処理装置において、修正制御手段は、上記階調表色データの取りうる階調範囲を複数の領域に分け、各領域ごとの分布の比較で各色成分間の類似具合を判断する構成としてある。なお、上記カラーバランスを修正する手段を特性均一化手段と、上記分布に基づいて各色成分間の類似具合を判断し類似具合が小さい場合には上記修正を図らないようにする手段を修正制御手段と適宜呼ぶものとする
【００１８】
上記のように構成した請求項２にかかる発明は、分布の類似具合を判断するにあたり、階調表色データの取りうる階調範囲を複数の領域に分け、それぞれの領域毎の分布を各色成分間で比較する。これにより、各階調ごとにみた分布を比較する労力が低減する。
【００１９】
一方、分布の類似具合の判断は、各種の手法が採用可能であるが、その一例として、請求項３にかかる発明は、上記請求項１または請求項２のいずれかに記載の画像処理装置において、上記修正制御手段は、各色成分の分布を要素とするベクトルの内積に基づいて類似具合を判断する構成としてある。
【００２０】
ベクトルの内積は互いの相関関係を見る上で簡易に行える。従って、その手法を採用すべく、分布自体をベクトル要素と同様に考え、各色相互間で内積を求める。最も類似具合が大きい場合には「１」となるし、類似具合が小さければ「０」に近づく。分布をベクトル要素と考えるにあたり、必ずしも全階調数分の要素とする必要はなく、請求項２に記載した発明の場合には全階調範囲をいくつかに分類した領域での分布をベクトルの要素とすればよい。
【００２１】
類似具合が小さい場合には特性の均一化を図らないようにする手法として、類似具合と所定のしきい値とを比較し、比較結果に基づいて判断を分岐させることが可能である。一方、同様に類似具合が大きい場合に特性の均一化を図り、類似具合が小さい場合に特性の均一化を図らないようにする手法として、実効値を制御する手法も採用可能である。そのような一例として、請求項４にかかる発明は、請求項１〜請求項３のいずれかに記載の画像処理装置において、上記特性均一化手段は、特性の均一化を図るための実効値を利用するとともに、上記修正制御手段は、この実効値を変化させることによって実質的に修正を有効化させたり無効化させるとともに、同実効値を連続的に変化させる構成としてある。
【００２２】
上記のように構成した請求項４にかかる発明は、特性の均一化を図るための実効値を求めており、この実効値を変化させることによって実質的に修正を有効化させたり無効化させる。このような制御には窓関数などが有効であり、より具体的には、有効化させたいときに「１」をとるとともに無効化させたいときに「０」となる窓関数を実効値に積算すればよい。
【００２３】
一方、この例で言えば「１」から「０」へ、あるいは「０」から「１」へ変化する領域において不連続に変化すると、諧調表色データの取り込み方によっては類似具合の判断が微妙に変化してしまうことがある。すると、同じ画像でありながら判断結果が正反対となってしまうということも生じる。従って、このような場合の対策として実効値が連続的に変化するようにしている。むろん、窓関数は各種の変形例が可能であるし、要因によっては例外的な扱いをするべく、類似具合の小さな領域で実効値を有効とさせたり、その逆の扱いをすることも可能である。むろん、ここでいう実効値は、修正量であるとか補正量であるとかオフセット量であるなど、広く修正に関与する値を指すものであるし、上述した窓関数についてもこの実効値を演算する過程において利用される一変数であっても構わない。
【００２４】
また、一般的には類似具合が小さいことは機器に起因する色ずれではない。しかしながら、特殊な照明によって類似具合が極端に変化する場合もある。従って、類似具合が小さい場合であってもその原因によっては特性の均一化を図ることが有効である場合もある。従って、一般的には類似具合が小さいときに特性の均一化を図らないようにしつつも、原因に応じて類似具合が小さい場合でも特性の均一化を図るようにしてもよい。例えば、類似具合が極端に小さくなった場合には特性の均一化を図ることとし、これを実現するために類似度に対応した窓関数を利用することも可能である。
【００２５】
なお、このように各色成分間の類似具合に基づいて特性の統一化を図るという思想については、必ずしも特性統一化の手法が限定されるものではない。
【００２６】
また、請求項１５に記載の画像処理方法の発明においては、概略対等な色成分からなる階調表色データによって画像を複数の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換を行う画像処理方法であって、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにする構成としてあり、請求項１６に記載の発明においては、概略対等な色成分からなる階調表色データによって画像を複数の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換をコンピュータに実行させる画像処理プログラムを記録した媒体であって、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにする構成としてしてある。
【００２７】
このように構成した請求項１５，１６にかかる発明においても、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにさせる。
【００２８】
一方、上述したような分布を求める際に、必ずしも全画素を同等に扱わなければならないわけではない。そして、その一例として、請求項５にかかる発明は、上記請求項１〜請求項４のいずれかに記載の画像処理装置において、上記特性均一化手段は、各色成分の階調表色データが近似している画素を上記分布の対象とする構成としてある。
【００２９】
本来、人が画像を見て色ずれを判断できるのは、無彩色であろうものに色が付いているような場合である。すなわち、赤いものだけを見ている場合には本来の色を知らない限り色ずれか否かは判断できない。従って、無彩色の画素だけについて特性のばらつきを見るのも各色間のバランスを検討するには有効といえる。このため、上記特性均一化手段は各画素毎に、各色成分の階調表色データが互いに近似しているか否かを判断し、近似している場合にのみ分布の対象として計数し、このようにして得られた分布に基づいて特性の均一化を図るようにしている。
【００３０】
各画素における色成分の階調表色データが近似しているか否かは、最大値と最小値とを求めてその差で判断すればよい。また、極値のデータは飽和している可能性も大きいので扱わないとすることも可能である。
【００３１】
ところで、特性の均一化を図る一例として、請求項６にかかる発明は、上記請求項１〜請求項５に記載の画像処理装置において、上記特性均一化手段は、上記分布における所定位置から特性を判断し、当該特性が均一化するように各成分間のずれに対応するオフセット量を求めて各成分値を修正する構成としてある。
【００３２】
上記のように構成した請求項６にかかる発明においては、各色成分毎に分布を求める過程を含めて、上端や下端、平均値やメジアンや最頻値といったいくつかの位置が求められることになるが、これらから各成分毎の特性を見出すことが可能となる。そして、これらの各成分間でのずれが具体的な色ずれの一要因となりうる特性であると考えられるので、同ずれに対応するオフセット量を求めて各成分値を修正する。
【００３３】
具体的な位置の一例として、請求項７にかかる発明は、上記請求項６に記載の画像処理装置において、上記特性均一化手段は、上記分布の範囲の端部位置を当該分布の特性と判断する構成としてある。
【００３４】
上記のように構成した請求項７にかかる発明においては、分布の範囲の端部位置である上端や下端位置を当該分布の特性とみなして各成分間のずれを求める。
【００３５】
個々の分布を見れば極めて多様な分布も上端位置であるとか下端位置であれば画一的に定まりやすく、特性の取得が容易となる。
【００３６】
また、他の一例として、請求項８にかかる発明は、上記請求項６または請求項７のいずれかに記載の画像処理装置において、上記特性均一化手段は、上記分布の略中央位置を当該分布の特性と判断する構成としてある。
【００３７】
上記のように構成した請求項８にかかる発明においては、分布の略中央位置である平均値やメジアンや最頻値といった位置を当該分布の特性とみなして各成分間のずれを求める。
【００３８】
同様に極めて多様な分布も略中央位置である平均値やメジアンや最頻値といった位置であれば画一的に定まりやすく、特性の取得が容易となる。
【００３９】
一般の画像においては、各成分毎に成分の絶対値に差はあるものの分布の広がりというものについてはさほど変化がないことが多い。従って、かかる広がり量については各成分において均一化している方が自然であるといえる。このため、請求項９にかかる発明は、上記請求項１〜請求項８のいずれかに記載の画像処理装置において、上記特性均一化手段は、各色成分ごとの上記分布の広がりを略均一化させる構成としてある。
【００４０】
上記のように構成した請求項９にかかる発明においては、各成分値ごとの上記分布の広がりを求め、略均一化させるように変換処理を行う。
【００４１】
分布の広がりの観念は各種の把握が可能であり、特定のものに限定される必要はなく、その一例として、請求項１０にかかる発明は、上記請求項９に記載の画像処理装置において、上記特性均一化手段は、上記分布の広がりの両端を有効な階調範囲内で拡大させる構成としてある。
【００４２】
上記のように構成した請求項１０にかかる発明においては、分布が山形をなすものとしてその裾野の両端で分布の幅が分かるため、この幅を有効な階調範囲内で拡大させるように変換する。例えば、分布の幅が有効な階調の幅の一部にしかすぎないようであれば、コントラストの弱い画像といえるが、このような場合に有効な階調範囲の全幅にわたって分布が広がるように拡大させる。各色成分毎に有効な階調範囲の全幅にわたって分布が広がるように拡大すれば、分布の幅という特性において均一化する。なお、この場合の分布の幅は、現実の分布の幅のみならず、両端部分を所定量だけカットしてしまうなどして誤差範囲などを省略させるようなものでも構わない。
【００４３】
また、他の一例として、請求項１１にかかる発明は、上記請求項９に記載の画像処理装置において、上記特性均一化手段は、同分布の広がり量に基づいて分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てる構成としてある。
【００４４】
上記のように構成した請求項１１にかかる発明においては、特性均一化手段が各成分毎の分布の広がり量を求め、求めた分布に基づいて各成分毎に分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てる。この広がり量の概念は分布の幅と同様に分布の散らばり方に対応するものであり、数学的表現であれば標準偏差であったり分散であったりあるいは尖度などといったものが該当しうる。このような広がり量としての特性が各成分毎に一致するように近づけるにあたり、分布密度の大きな部分が許容可能な範囲内で広がるように変換すると、各成分毎にずれていた広がり量の一致を見ることが可能となるとともに、分布が一部範囲に集中してしまうことなく有効な範囲をできる限り利用して分布することになるので、全体的にコントラストが強調されることになる。むろん、広がり量は標準偏差、分散あるいは尖度以外のものでもよいし、また、これらにおいても厳密な意味での計算を要するものではなく、演算の簡略化などを図ることもできる。
【００４５】
さらに、請求項１２にかかる発明は、上記請求項１〜請求項１１のいずれかに記載の画像処理装置において、上記特性均一化手段は、各成分毎の分布に基づく明るさを均一化させる構成としてある。
【００４６】
上記のように構成した請求項１２にかかる発明においては、各成分毎の分布において明るさが不均一であるが故に色ずれのように見えることがありうるため、特性均一化手段は各成分毎の分布に基づく明るさを均一化させる。ここにおける明るさは分布の全体的な位置を表し、例えば、分布が全体的に明るい側に位置すれば明るいと見なすし、全体的に暗い側に位置すれば暗いと見なす。
【００４７】
むろん、全体の明るさの判断の手法は適宜変更可能であるし、また、明るくするか暗くするかの修正手法も適宜各種の手法を採用可能であるが、その一例として、請求項１３にかかる発明は、上記請求項１２に記載の画像処理装置において、上記特性均一化手段は、上記分布の略中央位置と所定階調との比較において画像の明暗を判断する構成としてある。
【００４８】
上記のように構成した請求項１３にかかる発明においては、分布の略中央位置を有効な階調範囲の所定階調と比較し、比較結果に基づいて画像の明暗を判断する。
【００４９】
例えば、分布を求める際に得られるメジアンは当該分布の中央位置としての条件を備えるが、かかるメジアンが全階調数内の中央値よりも大きいか小さいかで、全体としての明るさが明るいか暗いかを判断することが可能である。
【００５０】
また、請求項１４にかかる発明は、上記請求項１２または請求項１３に記載の画像処理装置において、上記特性均一化手段は、画像の明暗の判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させる構成としてある。
【００５１】
上記のように構成した請求項１４にかかる発明においては、各種の手法にて画像の明暗を判断した後、同判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させる。例えば、画像が暗いようであればγ＜１としたγ補正によって全体的に明るく修正することになり、同メジアンは全階調数の中央値に近づくし、明るいようであればγ＞１としたγ補正によって全体的に暗く修正することになり、同メジアンは全階調数の中央値に近づくことになる。
【００５２】
このようにカラーバランスのずれを各色成分毎の分布の比較に基づいて判断する手法は必ずしも実体のある装置に限られるものではなく、その一例としては、概略対等な色成分からなる階調表色データによって画像をドットマトリクス状の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換を行うにあたり、各色成分毎に階調表色データの分布を求めるとともに各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図る構成としてもよい。
【００５３】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００５４】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【００５５】
その一例として、概略対等な色成分についての階調表色データからなるドットマトリクス状の画像データに基づいて印刷インクに対応した画像データに変換し、所定のカラープリンタに印刷せしめるプリンタドライバにおいても、各色成分毎に階調表色データの分布を求め、同分布から各成分間の特性を均一化させ、そのように均一化させた画像データに基づいて印刷を図る構成とすることができる。
【００５６】
このようにした場合には、プリンタドライバは入力された画像データを印刷インクに対応して変換するが、このときに画像データにおける各色成分毎に分布を求め、その分布から見出される特性が各色成分間で均一となるように変換して印刷する。すなわち、各色成分毎に得られる分布を比較してかかる分布が一致するような修正を行うことにより、全体としてのカラーバランスが調整されるとともに各画素の個々の色においても良好な発色となる。
【００５７】
発明の思想の具現化例として画像処理装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【００５８】
その一例としては、コンピュータによって画像処理するプログラムを記録した媒体であって、概略対等な色成分からなる階調表色データによって画像をドットマトリクス状の画素の集合として表した画像データについて、同画像データの各成分値を入力して所定の変換処理を施して出力することにより、入力と出力との関係でカラーバランスを修正する変換を行うにあたり、各色成分毎に階調表色データの分布を求めるとともに各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図る構成としてもよい。
【００５９】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。
【００６０】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。さらには、カラーファクシミリ機、カラーコピー機、カラースキャナ、デジタルスチルカメラ、デジタルビデオカメラなどの画像処理装置においても適用可能であることはいうまでもない。
【００６１】
【発明の効果】
以上説明したように、各成分毎の分布の均一化という概念により、根本的に判断が困難な色ずれの判断を自動化でき、より容易にカラーバランスを調整することが可能な画像処理装置を提供することができる。
また、請求項１にかかる発明によれば、特性の均一化の手法に関わらず、分布の類似具合が小さいときにはあえて特性の均一化を図らないようにして、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することができる。
【００６２】
請求項２にかかる発明によれば、階調範囲を複数の領域に分けて分布を求めるので比較が容易となり、請求項３にかかる発明によれば、各色成分毎の分布を要素とするベクトル同士の内積に基づいて類似具合を判断するため、判断が容易となり、さらに、請求項４にかかる発明によれば、特性の均一化を図るための実効値を連続的に変化させることにより、画像処理結果に不連続性を発生させにくくすることができる。
【００６３】
さらに、請求項５にかかる発明によれば、本来的に階調表色データが近似している画素をピックアップして特性の判断に利用するため、特性のバラツキを求めるのに有効となる。
【００６４】
さらに、請求項６にかかる発明によれば、分布の位置のずれを利用するため、比較的容易に各成分間のオフセット量を判断できる。
【００６５】
さらに、請求項７にかかる発明によれば、分布の端部は画一的に判断しやすく、判断が容易となる。
【００６６】
さらに、請求項８にかかる発明によれば、分布密度の多い位置でのずれを利用するため、全体のずれの修正における誤差が少ない。
【００６７】
さらに、請求項９にかかる発明によれば、分布の広がりを均一化させるため、各色成分毎に有効な階調数を有効に利用していないような場合に効率よく発色させることができ、メリハリを利かせることができる。
【００６８】
さらに、請求項１０にかかる発明によれば、判断の容易な分布の広がりの両端を用いて分布を拡大させるため、判断する構成が容易となる。
【００６９】
さらに、請求項１１にかかる発明によれば、数学的な手法などによる広がり量を利用するため、より正確な判断が可能となる。
【００７０】
さらに、請求項１２にかかる発明によれば、各成分毎の明るさの均一化により、いずれかの成分だけが突出して生じるような色ずれを解消することができる。
【００７１】
さらに、請求項１３にかかる発明によれば、分布の概略中央値をもってして明るさの判断とするので容易となる。
【００７２】
さらに、請求項１４にかかる発明によれば、γ補正で明暗を変化させて明るさの均一化を図っており、γ補正は広く利用されているので構成が容易となる。
【００７３】
さらに、各成分毎の分布の均一化という概念により、根本的に判断が困難な色ずれの判断を自動化でき、より容易にカラーバランスを調整することが可能な画像処理方法を提供することができる。
【００７４】
さらに、このような画像処理を行なうプログラムを記録した媒体を提供することができる。
【００７５】
そして、請求項１５，１６にかかる発明においては、特性の均一化の手法に関わらず、分布の類似具合が小さいときにはあえて特性の均一化を図らないようにして、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することができる。
【００７６】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
【００７７】
図１は、本発明の一実施形態にかかる画像処理システムをブロック図により示しており、図２は具体的ハードウェア構成例をブロック図により示している。
【００７８】
同図において、画像入力装置１０は画像を撮像するなどして画像データを画像処理装置２０へ出力し、同画像処理装置２０は特性を均一化するなどの画像処理を行なって画像出力装置３０に出力し、同画像出力装置３０はコントラストを強調された画像を表示する。
【００７９】
ここにおいて、画像入力装置１０の具体例はスキャナ１１やデジタルスチルカメラ１２あるいはビデオカメラ１４などが該当し、画像処理装置２０の具体例はコンピュータ２１とハードディスク２２などからなるコンピュータシステムが該当し、画像出力装置３０の具体例はプリンタ３１やディスプレイ３２等が該当する。むろん、これら以外にもカラーコピー機やカラーファクシミリ機などにも適用可能である。
【００８０】
本画像処理システムにおいては、色ずれに代表されるような色再現性の悪い画像を修正しようとしているものであるから、画像入力装置１０としてのスキャナ１１で写真を撮像した画像データであるとか、デジタルスチルカメラ１２で撮影した画像データであるとか、ビデオカメラ１４で撮影した動画画像などが処理の対象となり、画像処理装置２０としてのコンピュータシステムに入力される。なお、ビデオカメラ１４の入力画像については、演算速度が間に合わないこともあり得る。そのような場合には演算時間を要する最初の条件設定を撮影のシーンごとに行っておき、撮影中は同じ条件設定のもとで各フレームの画像変換だけを行なうということによって対処可能である。
【００８１】
本画像処理装置２０は、少なくとも、各色成分毎の度数分布を求める度数分布検出手段と、この検出された各色成分毎の度数分布の類似具合を判断する類似具合判断手段と、度数分布から各色成分のずれを判定して均一化する修正を行なうオフセット量修正手段と、度数分布から各色成分毎のコントラストの強弱のずれを判定して均一化する修正を行うコントラスト修正手段と、度数分布から各色成分毎の明るさのずれを判定して均一化する修正を行う明るさ修正手段とを構成する。むろん、本画像処理装置２０は、この他にも機種毎による色の違いを補正する色変換手段であったり、機種毎に対応した解像度を変換する解像度変換手段などを構成していても構わない。この例では、コンピュータ２１はＲＡＭなどを使用しながら、内部のＲＯＭやハードディスク２２に保存されている各画像処理のプログラムを実行していく。また、これらのプログラムを記録するにあたっては、図２９に示すように、フレキシブルディスク４１や、ＣＤ−ＲＯＭ４２のような可搬性のある媒体はもちろんのこと、ハードディスク４３にインストールされた状態であるとか、ＲＯＭ４４やＲＡＭ４５を有するＩＣカードであるとか、あるいは、モデム４６ｂ等を介して通信回線４６ａを媒体とすることも可能である。この場合、通信回線４６ａの先にはファイルサーバ４６ｃが接続され、当該ファイルサーバ４６ｃが所定のソフトウェアを提供する。
【００８２】
この画像処理のプログラムの実行結果は後述するように色再現性を修正したメリハリのある画像データとして得られ、得られた画像データに基づいて画像出力装置３０であるプリンタ３１で印刷したり、同じ画像出力装置３０であるディスプレイ３２に表示する。なお、この画像データは、より具体的にはＲＧＢ（緑、青、赤）それぞれについて「２５６」階調の階調データとなっており、また、画像は縦方向（ｈｅｉｇｈｔ）と横方向（ｗｉｄｔｈ）に格子状に並ぶドットマトリクスデータとして構成されている。
【００８３】
本実施形態においては、画像の入出力装置の間にコンピュータシステムを組み込んで画像処理を行うようにしているが、必ずしもかかるコンピュータシステムを必要とする訳ではなく、図３に示すようにデジタルスチルカメラ１２ａ内に色再現性などを修正する意味での画像処理装置を組み込み、変換した画像データを用いてディスプレイ３２ａに表示させたりプリンタ３１ａに印字させるようなシステムであっても良い。また、図４に示すように、コンピュータシステムを介することなく画像データを入力して印刷するプリンタ３１ｂにおいては、スキャナ１１ｂやデジタルスチルカメラ１２ｂあるいはモデム１３ｂ等を介して入力される画像データについて自動的に色再現性を修正するように構成することも可能である。
【００８４】
コンピュータ２１にて実行する画像処理の内、度数分布検出手段と類似具合判断手段とに相当する処理を図５に示しており、各色成分毎の類似度が小さくない場合に実行されるオフセット量修正手段とコントラスト修正手段と明るさ修正手段とに相当する処理を図６に示している。なお、類似具合判断手段は広義の意味において類似具合に基づいて後段の処理の実効を制御する制御手段も構成しているといえる。
【００８５】
図５は主に各色成分毎の度数分布を検出する処理に該当しており、まず、分布対象となる画素について説明する。
【００８６】
全画素について度数分布を求めてもよいが、特性の傾向を判断することが目的であるため、必ずしも全画素についての度数分布を求める必要もない。従って、ある誤差の範囲内となる程度に間引きを行うことが可能である。本実施形態においては、図５のステップＳ１０２で示すように対象となる画素を間引く間引き処理を実行する。統計的誤差によれば、サンプル数Ｎに対する誤差は概ね１／（Ｎ**（１／２））と表せる。ただし、**は累乗を表している。従って、１％程度の誤差で処理を行うためにはＮ＝１００００となる。
【００８７】
図７に示すように、ビットマップの画像であれば、縦方向に所定ドットと横方向に所定ドットからなる二次元のドットマトリクスとして成り立っており、このビットマップ画面は（ｗｉｄｔｈ）×（ｈｅｉｇｈｔ）の画素数となるので、サンプリング周期ｒａｔｉｏは、
ｒａｔｉｏ＝ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）／Ａ＋１    …（１）
とする。このｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）はｗｉｄｔｈとｈｅｉｇｈｔのいずれか小さい方であり、Ａは定数とする。また、ここでいうサンプリング周期ｒａｔｉｏは何画素ごとにサンプリングするかを表しており、図８の○印の画素はサンプリング周期ｒａｔｉｏ＝２の場合を示している。すなわち、縦方向及び横方向に二画素ごとに一画素のサンプリングであり、一画素おきにサンプリングしている。Ａ＝２００としたときの１ライン中のサンプリング画素数は図９に示すようになる。
【００８８】
同図から明らかなように、サンプリングしないことになるサンプリング周期ｒａｔｉｏ＝１の場合を除いて、２００画素以上の幅があるときには最低でもサンプル数は１００画素以上となることが分かる。従って、縦方向と横方向について２００画素以上の場合には（１００画素）×（１００画素）＝（１００００画素）が確保され、誤差を１％以下にできる。
【００８９】
ここにおいてｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）を基準としているのは次のような理由による。例えば、図１０（ａ）に示すビットマップ画像のように、ｗｉｄｔｈ＞＞ｈｅｉｇｈｔであるとすると、長い方のｗｉｄｔｈでサンプリング周期ｒａｔｉｏを決めてしまった場合には、同図（ｂ）に示すように、縦方向には上端と下端の２ラインしか画素を抽出されないといったことが起こりかねない。しかしながら、ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）として、小さい方に基づいてサンプリング周期ｒａｔｉｏを決めるようにすれば同図（ｃ）に示すように少ない方の縦方向においても中間部を含むような間引きを行うことができるようになる。
【００９０】
むろん、このようにしてサンプリングした画素については、図１１に示すようにＲＧＢのそれぞれの全階調に対応して用意されている配列変数（ＣＮＴ＿Ｒ，ＣＮＴ＿Ｇ，ＣＮＴ＿Ｂ）にてその成分値ごとにカウントし、度数分布を求める。
【００９１】
なお、この例では、縦方向と横方向の画素について正確なサンプリング周期で間引いて度数分布を求めるようにしている。これは、逐次入力される画素について間引きしながら処理する場合に好適である。しかし、全画素が入力されている場合には縦方向や横方向についてランダムに座標を指定して画素を選択するようにしても良い。このようにすれば、１００００画素というような必要最低限の画素数が決まっている場合に１００００画素となるまでランダムに抽出する処理を繰り返し、１００００画素となった時点で抽出を止めればよくなる。
【００９２】
また、このような対象画素を特定することなく間引きを行なう単純間引き処理に対し、対象画素を特定した間引きを行うことも可能である。すなわち、各画素のＲＧＢの各成分の差が小さいものであればグレーに近く、グレーの画素だけを抽出して度数分布を比較した場合には入力装置の色特性を判断しやすいともいえるからである。図１２は、このようなグレー画素を抽出して間引く処理を示している。ステップＳ３０２では対象画素における各成分のうち、最大の成分を特定し、ステップＳ３０４では最小の成分を特定する。そして、ステップＳ３０６にて最大値と最小値との差である最大成分差を演算し、ステップＳ３０８にてこの最大成分差が所定のしきい値よりも小さい範囲内に入っているか否かを判断する。一例として、グレーに近い画素である以上、最大成分差は「５２」階調以内であるとしておく。そして、そのような階調以内の画素についてステップＳ３１０にて度数分布を計数する。一方、そのような階調を超えていればグレーではないとして計数に利用しない。この後、ステップＳ３１２にて対象画素を次の画素へと移動させ、ステップＳ３１４にて最終画素と判断されるまで上述した処理を繰り返す。
【００９３】
このように間引いて選択した画素について度数分布を求めたものの、必ずしもこの度数分布を用いて画像修正をすることが適切でない場合もあり得るため、以下に、三つの事項をチェックする。
【００９４】
その一つ目は画像が白黒画像のような二値画像である場合である。白黒画像を含めて二値画像であれば色再現性の修正という概念は不適切である。図１３に示すような白黒画像があったとすると、この画像に対する各色成分毎の度数分布は図１４に示すように階調数の割り当て範囲内の両端に集中する。それも、基本的には階調「０」と階調「２５５」に集中する。
【００９５】
従って、ステップＳ１０４で白黒チェックを行う場合には、各色成分毎に階調「０」と階調「２５５」の画素数の和が、間引いて選択した画素数と一致するか否かで判断できる。そして、白黒画像の場合であれば以下の処理を実行することなく処理を中断するためにステップＳ１０６にて非処理を実行する。本実施形態においては度数分布を求める前段の処理と、画像データを修正することになる後段の処理とに大きく分けているので、この非処理では後段の輝度変換処理も実行しないようなフラグを立てて当該分布抽出処理を終了している。
【００９６】
二値データは白黒だけに限らず、色の付いた二値データもあり得る。このような場合も同様に色再現性の修正を図る処理は不要であり、分布状態を調べて二色となるような分布となっていれば二値データとして処理の中断を図ればよい。例えば、ある中間色と黒という二色であれば、各色成分毎の度数分布においても分布は二つの階調に集中している。一方、青と黒という二色であれば、青成分の度数分布においてのみ二階調に分布が集中し、赤成分と緑成分においては階調「０」にだけ分布が集中している。すなわち、二値データであれば分布の集中は二階調以下になっているので、配列変数をスキャンして度数が「０」以外の階調がいくつあるかをカウントすることによって二値画像であるか否かを判定できる。
【００９７】
二つ目は画像がビジネスグラフのようなものか写真のような自然画であるか否かを考慮する。自然画においては色再現性の修正が必要なことはいうまでもないが、ビジネスグラフであるとか絵画のようなものではもともと使用している色の偏りがあるのが自然であり、そのような画像についての度数分布から各色成分の特性の均一化を図る処理を行うのは無理がある。従って、ステップＳ１０８では自然画か否かのチェックを行う。
【００９８】
自然画では陰影を含めて色数が極めて多いがビジネスグラフやドロー系などのある種の絵画では色数が限られていることが多い。従って、色数が少なければ自然画ではないと判断することが可能である。ＲＧＢの各成分が２５６階調であるときには１６７０万色を表すことができ、色数を正確に判断しようとすればこの１６７０万色のうちの何色を使用しているかを判別するために色数だけの配列変数を用意する必要があり、現実的ではない。一方、すでに度数分布というものを求めているので、各色成分毎に何階調が有効に利用されているか否かを判断すれば、自然画の色数か否かは判断できる。
【００９９】
図１５（ａ）〜（ｃ）はビジネスグラフの場合の度数分布の一例を示しており、同図（ｄ）〜（ｆ）は自然画の場合の度数分布の一例を示している。この例からも明らかなように、非自然画では度数分布が線スペクトル状となる。コンピュータ２１内の処理では、各色成分毎に全階調にわたって度数が「０」でない階調の数をカウントし、足し合わせてみる。自然画であれば、全階調にわたって概ね一様に分散していると考えられ、カウント値は「７６８（＝２５６×３）」となることが多いし、ビジネスグラフであれば、各色成分毎に「２０」階調を利用したとしてもカウント値は「６０（＝２０×３）」程度としかならない。従って、自然画か否かのしきい値として「２００」を設定したとすれば、「２００」以下であれば非自然画と判断すればよい。そして、非自然画であると判断したならばステップＳ１０６にて非処理を実行する。むろん、このしきい値「２００」については適宜変更可能である。
【０１００】
また、度数分布が線スペクトル状か否かは度数が「０」でない階調値の隣接割合で判断することも可能である。すなわち、度数が「０」でない階調値であって隣接する階調値に分布があるか否かを判断する。隣接する二つの階調値のうち少なくとも一方で隣接していれば何もせず、両方で隣接していない場合にカウントを行い、その結果、「０」でない階調値の数とカウント値との割合で判断すればよい。例えば、「０」でない階調値の数が「６４」であって、隣接しないものの数が「６４」であれば線スペクトル状に分布していることが分かる。
【０１０１】
さらに、オペレーティングシステムを介して画像処理プログラムが実行されているような場合には、画像ファイルの拡張子で判断することも可能である。ビットマップファイルのうち、特に写真画像などではファイル圧縮がなされ、その圧縮方法を表すために暗示の拡張子が利用されることが多い。例えば、「ＪＰＧ」という拡張子であれば、ＪＰＥＧフォーマットで圧縮されていることが分かる。オペレーティングシステムがファイル名を管理していることから、プリンタドライバなどの側からオペレーティングシステムに問い合わせを出せば、同ファイルの拡張子が回答されることになるため、その拡張子に基づいて自然画であれば以下の処理を実行すればよい。また、「ＸＬＳ」というようなビジネスグラフに特有の拡張子であれば非自然画であると判断でき、上述したように非処理を選択すればよい。
【０１０２】
三つ目に考慮することは、図１６に示すように画像の周りに枠部があるか否かである。このような枠部が白色または黒色であれば、その度数分布は図１７に示すように、階調数の割り当て範囲内における両端に線スペクトル状に表れるとともに、内部の自然画に対応して両端以外の内側に滑らかな度数分布としても表れる。
【０１０３】
むろん、枠部を度数分布に入れない方が適切であるため、ステップＳ１０８の枠部のチェックでは階調「０」と階調「２５５」の画素数の和が十分に大きく、かつ、間引いて選択した画素数とは一致しないかを判断し、肯定的ならば枠部があると判定してステップＳ１１２にて枠部処理を実施する。この枠部処理では、枠部を無視するために度数分布のうち階調「０」と階調「２５５」の画素数を「０」にセットする。これにより、以下の処理では枠部がないものと同様に扱うことができる。
【０１０４】
この例では白色または黒色の枠部を対象としているが、特定の色の枠がある場合も考えられる。このような場合、度数分布が描く本来の滑らかなカーブの中で突出する線スペクトル状のものが表れる。従って、隣接する輝度値の間で大きく差が生じている線スペクトル状のものについては枠部として考えて度数分布の対象としないようにすればよい。この場合、枠部以外でその色を使用していることがあり得るので、両隣の階調値の度数について平均を算出して割り当てるようにすれば良い。
【０１０５】
以上のような考慮を経た上で、非処理でない場合にはステップＳ１１４で度数分布の両端を求める。自然画における度数分布は図１８に示すように概ね山形に表れることが多い。むろん、その位置、形状についてはさまざまである。このような度数分布の裾野は、統計的に見れば限りなく「０」に近づきながら推移していく。従って、ある度数分布を特定しようとする場合にはその山の両端を特定することが重要となってくるにもかかわらず、現実に度数が「０」となるという条件を課すとどの分布特性も一致してしまいかねない。
【０１０６】
このため、分布範囲において最も輝度の大きい側と小さい側からある分布割合だけ内側に入った部分を分布の両端とする。本実施形態においては、図１８に示すように、この分布割合を０．５％に設定している。むろん、この割合については、適宜、変更することが可能である。このように、ある分布割合だけ上端と下端をカットすることにより、ノイズなどに起因して生じている白点や黒点を無視することもできる。逆に、このような処理をしなければ一点でも白点や黒点があればそれが度数分布の両端となってしまうので、多くの場合において最下端は階調「０」であるし、最上端は階調「２５５」となってしまう。しかしながら、両端部分から０．５％の画素数だけ内側に入った部分を端部とすることにより、このようなことが無くなる。
【０１０７】
実際の処理では処理対象となる画素数（間引き処理において選択した画素の総数、あるいは枠部に対応する画素数を削除した総数）に対する０．５％を演算し、度数分布における上端側と下端側とから順番に内側に向かいながらそれぞれの度数を累積し、０．５％の値となった階調値を求める。ＲＧＢの各色成分毎に上端側をＲｍａｘ，Ｇｍａｘ，Ｂｍａｘと呼び、下端側をＲｍｉｎ，Ｇｍｉｎ，Ｂｍｉｎと呼ぶ。
【０１０８】
上述したように、各色成分の度数分布が不均一となることの方が自然な状況もあり得る。そして、そのような場合においては色再現性の修正もすべきではない。これは結果から追ってみると、各色成分の度数分布がある程度似ている状況では逆に度数分布が均一となっているべきであろうし、度数分布が似ていなければ均一にすべきでないだろうと判断できる。
【０１０９】
従って、本実施形態においては、ステップＳ１１６にて各色成分毎の度数分布の類似度をチェックする。いま、各色成分毎の度数分布が図１９に示すように表れているとすると、全階調範囲を四つの領域（［０〜６３］，［６４〜１２７］，［１２８〜１９２］，［１９３〜２５５］）に分割し、各領域に属する度数を要素とする特徴ベクトルを考える。赤成分を例に取れば、各領域での度数をｒ６４，ｒ１２８，ｒ１９２，ｒ２５５で表し、全有効画素数をｒ＿ｐｉｘｅｌとしたとすると、赤成分の特徴ベクトルは、数１式のように表せる。
【０１１０】
【数１】
1998271524.tif 000001
【０１１１】
これと同じ処理を緑成分と青成分について実行し、次に、各色成分間での特徴ベクトルの内積を求める。すなわち、赤成分と緑成分との間の特徴ベクトルの内積ｃｏｒｒ＿ｒｇは数２式に表すように求められ、緑成分と青成分との間の特徴ベクトルの内積ｃｏｒｒ＿ｇｂは数３式に表すように求められ、青成分と赤成分との間の特徴ベクトルの内積ｃｏｒｒ＿ｂｒは数４式に表すように求められる。
【０１１２】
【数２】
1998271524.tif 000002
【０１１３】
【数３】
1998271524.tif 000003
【０１１４】
【数４】
1998271524.tif 000004
【０１１５】
ベクトルの内積は、両ベクトルの類似度を表すといえ、その値は「０」〜「１」となる。従って、しきい値ＣＯＲＲとして「０．７」を定めたとして、それぞれの内積ｃｏｒｒ＿ｒｇ，ｃｏｒｒ＿ｇｂ，ｃｏｒｒ＿ｂｒのうちいずれか一つでもこのしきい値ＣＯＲＲ以下のものがあれば類似具合が低いものと判断してステップＳ１０６の非処理を実行することにする。
【０１１６】
本実施形態においては、この特徴ベクトルの内積に基づく処理が類似具合判断手段を構成しており、特徴ベクトルに基づく内積の演算であれば手法が確立しており判断も容易である。しかしながら、むろんこの例に限るものではない。例えば、全階調範囲を四つの領域に分割しているが、これら以上とすることは自由であるし、度数分布の両端位置や、標準偏差、尖度などの統計的手法を用いてその近似度を求めることも可能である。
【０１１７】
ここで、このような統計的手法を用いて近似度を求める具体的手法について説明する。統計的手法の一例には、分布の代表値を利用するものがあげられる。いま、変数として平均値、中央値、標準偏差（分散）の差の絶対値を赤成分と緑成分、緑成分と青成分、青成分と赤成分との間で求めておく。そして、平均値と標準偏差について赤成分と緑成分の差の絶対値をＡｖｅ＿ｒｇ，Ｓｔｄ＿ｒｇとしたとき、赤成分と緑成分の間の評価関数として
ｈ（ｒｇ）＝（１−Ａｖｅ＿ｒｇ／２５５）×（１−Ｓｔｄ＿ｒｇ／２５５）と設定する。また、同様に緑成分と青成分の間の評価関数として、
ｈ（ｇｂ）＝（１−Ａｖｅ＿ｇｂ／２５５）×（１−Ｓｔｄ＿ｇｂ／２５５）と設定するとともに、青成分と赤成分との間の評価関数として、
ｈ（ｂｒ）＝（１−Ａｖｅ＿ｂｒ／２５５）×（１−Ｓｔｄ＿ｂｒ／２５５）と設定する。分布が似ている場合には平均値、中央値、標準偏差（分散）は殆ど同じになり、各変数の差も殆ど「０」になるから、評価関数ｈの値は「１」に近くなる。分布が異なる場合は差も大きくなり、評価関数ｈの値も小さくなる。従って、評価関数と実験で求められたしきい値とを比較することにより補正を行うか否かを決定することができるようになる。むろん、この場合に平均値の代わりに中央値を利用することも可能であるし、評価関数の具体例はこれに限られるものでもない。
【０１１８】
以上のような処理により各色成分毎に求めた度数分布についてある程度の類似具合が見つけられたら各度数分布から成分毎の特性を見出せるものと判断でき、かかる特性に基づいて各成分間の均一化を図る。なお、上述した各種の判断の結果、ステップＳ１０６にて非処理を実行してフラグをセットしている場合もある。このような場合には、ステップＳ２０２にて同フラグを参照しているので、以下の均一化の処理をすることなく本処理を終了する。
【０１１９】
特性の均一化の処理では、最初にオフセットの算出と修正を行う。いわゆる狭義の意味での色ずれの修正に該当し、特性の均一化を図るオフセットが本実施形態で実効値を構成する。本来であれば、図２０に示すように被写体の色成分とＲＧＢの各成分との間には正比例の関係がなければならないが、撮像素子の特性などによって各成分毎に変換特性がずれていることがある。従来は、このようなずれを通常の画像から判断することはできなかった。しかしながら、各色成分毎の度数分布を取ったときに概ね類似しているとすれば、これは本来的に一致すべきと判断できるので、各成分毎のずれであるオフセット量を検出できることになる。
【０１２０】
本実施形態においては、ステップＳ２０４にてこのオフセット量を求め、ステップＳ２０６ではかかるオフセット量を考慮して色ずれを修正するために利用するテーブルを作成している。
【０１２１】
ＲＧＢの階調データ（Ｒp,Ｇp,Ｂp ）を利用している場合、テレビジョンなどでは全体の輝度ｙｐを
ｙp＝０．３０Ｒp＋０．５９Ｇp＋０．１１Ｂp      …（２）
として求めている。すなわち、緑成分が最も輝度に影響を及ぼしており、その意味で緑成分に対する他の色成分のずれを修正するのが全体の画像イメージを変化させないというメリットがある。
【０１２２】
一方、各色成分毎の度数分布のずれを求めるには、この度数分布の特徴部分を考慮することが望ましい。このため、本実施形態においては、上述した端部処理を施した度数分布の上端（Ｒｍａｘ，Ｇｍａｘ，Ｂｍａｘ）と度数分布上におけるメジアン（Ｒｍｅｄ，Ｇｍｅｄ，Ｂｍｅｄ）とを利用している。両端位置は分布を判断する意味で有効である。ただし、下端位置については元々ずれの影響が分かりにくい範囲であるため、敢えて省略している。これにより、ずれの影響が大きい範囲で得られるずれだけを重視した修正が可能となる。分布の中央となるメジアンは極端な画素があったとしても度数分布の山の位置を示すことができる。この場合、かかる山の部分は画像のイメージに大きく影響を与える部分でもあるので特性を把握する意味で効果的である。
【０１２３】
このようにして得られた、青緑赤についての上端（Ｒｍａｘ，Ｇｍａｘ，Ｂｍａｘ）とメジアン（Ｒｍｅｄ，Ｇｍｅｄ，Ｂｍｅｄ）から緑成分に対する他の色成分のずれｄＲｍａｘ，ｄＢｍａｘ，ｄＲｍｅｄ，ｄＢｍｅｄを次式に基づいて求める。
【０１２４】
ｄＲｍａｘ＝Ｇｍａｘ−Ｒｍａｘ      …（３）
ｄＢｍａｘ＝Ｇｍａｘ−Ｂｍａｘ      …（４）
ｄＲｍｅｄ＝Ｇｍｅｄ−Ｒｍｅｄ      …（５）
ｄＢｍｅｄ＝Ｇｍｅｄ−Ｂｍｅｄ      …（６）
そして、これらを参考として赤成分用オフセットｄＲと青成分用オフセットｄＢとを次式のようにして求める。
【０１２５】
ｄＲ＝（ｄＲｍａｘ＋ｄＲｍｅｄ）／２      …（７）
ｄＢ＝（ｄＢｍａｘ＋ｄＢｍｅｄ）／４      …（８）
ただし、−１２＜ｄＲ，ｄＢ＜１２とする。このように制限するのは度数分布だけで完全な色再現性を修正できる訳ではない場合に、この一例だけで大きく度数分布を修正してしまわないようにするためである。むろん、この範囲については実験的な経験より適当な値を定めればよい。また、分母の相違は（２）色に基づく影響の相違に対応しており、実験等に基づいて適宜変更可能である。
【０１２６】
これらはオフセット量に過ぎないから、実際の統計値を次式に基づいて修正して新たな上端Ｒｍａｘ２，Ｂｍａｘ２とメジアンＲｍｅｄ２，Ｂｍｅｄ２と下端Ｒｍｉｎ２，Ｂｍｉｎ２とをする。
【０１２７】
Ｒｍａｘ２＝Ｒｍａｘ＋ｄＲ      …（９）
Ｒｍｅｄ２＝Ｒｍｅｄ＋ｄＲ      …（１０）
Ｒｍｉｎ２＝Ｒｍｉｎ＋ｄＲ      …（１１）
Ｂｍａｘ２＝Ｂｍａｘ＋ｄＢ      …（１２）
Ｂｍｅｄ２＝Ｂｍｅｄ＋ｄＢ      …（１３）
Ｂｍｉｎ２＝Ｂｍｉｎ＋ｄＢ      …（１４）
なお、この対応関係は緑成分に対する赤成分と青成分のオフセット量に過ぎないことは明らかであり、階調値によって変化しているわけではない。従って、現実の各画素における画像データについては一律に当該オフセット量を加算すれば足りる。
【０１２８】
ただし、後述するように本実施形態においては他の要因に基づく画像データの修正も行なっており、個別に修正することは演算時間を要して不利である。従って、演算の効率化を図るべく、本実施形態においてはステップＳ２０６にて変換前のＲＧＢの階調データ（Ｒ1,Ｇ1,Ｂ1）に対する変換後のＲＧＢの階調データ（Ｒ2,Ｇ2,Ｂ2）という対応関係を表すテーブルを形成し、現実に画像データを修正するのは最後に一回だけとなるようにしている。
【０１２９】
一方、上述した実施例では、ベクトルの内積に基づいて類似度を求めるとともに同類似度をしきい値ＣＯＲＲ（「０．７」）と比較して特性の均一化を行うか否かを決めている。従って、ベクトルの内積としきい値とがほぼ一致するような場合には、同じ画像でも周囲に付加されるビットの影響を受けて異なる判断結果がなされることになりかねない。
【０１３０】
むろん、特性の均一化を行うと判断されると上述したようなオフセット量が加算され、特性の均一化を行なわないと判断されると上述したようなオフセット量が加算されないことになるので、しきい値を挟んで大きな差が生じる。
【０１３１】
このようにして結果が大きく変わってしまうのを防止する手法として連続的に変化する窓関数を利用することが効果的である。
【０１３２】
ｘ＝ｍｉｎ（ｃｏｒｒ＿ｒｇ，ｃｏｒｒ＿ｇｂ，ｃｏｒｒ＿ｂｒ） …（１４１）
とおくとともに窓関数ｆ（ｘ）は、
ｘ＜０．５          のとき  ｆ（ｘ）＝０
０．５≦ｘ≦０．７  のとき  ｆ（ｘ）＝５・ｘ−２．５
０．７＜ｘ          のとき  ｆ（ｘ）＝１
とし、上記しきい値ＣＯＲＲを「０．５」とする。窓関数ｆ（ｘ）の変化状況を図３０に示しており、ｘ＜０．５において一定の「０」となり、０．５≦ｘ≦０．７において「０」から「１．０」へと直線的に増加し、０．７＜ｘにおいて一定の「１．０」となる。そして、（７）式と（８）式において赤成分用オフセットｄＲと青成分用オフセットｄＢとを求めていたのをこのｆ（ｘ）との積に改める。すなわち、
ｄＲ＝ｆ（ｘ）・（ｄＲｍａｘ＋ｄＲｍｅｄ）／２  …（７）’
ｄＢ＝ｆ（ｘ）・（ｄＢｍａｘ＋ｄＢｍｅｄ）／４  …（８）’
とする。図５および図６に示すフローチャートにおいては類似度がしきい値を越えていなければ非処理としてしまうが、このようにオフセットに対して窓関数を乗算する場合は、図３１に示すフローチャートを実行する。すなわち、類似度に基づいて非処理とすることはやめ、ステップＳ２０５で窓関数を利用したオフセット量の算出を実行し、この算出したオフセット量を利用する。むろん、上述したようにｘ＜０．７において窓関数ｆ（ｘ）が急激に「０」へ近づくため、しきい値付近であった画像が処理によって大きく変化するということはなくなるし、類似度が低いものについてはオフセットも殆ど「０」となって悪影響は与えない。また、このようにして算出したオフセット量ｄＲ，ｄＢに基づいて（９）式〜（１４）式も算出される。
【０１３３】
窓関数ｆ（ｘ）は上述した関数に限られるものでないことは明らかである。上述した例では、相関係数の最小値に基づいて窓関数の値を変化させているが、最小値に限られる必要はない。例えば、
ｆ（ｃｏｒｒ＿ｒｇ，ｃｏｒｒ＿ｇｂ，ｃｏｒｒ＿ｂｒ）      …（１４２）としてもよい。また、さらに一般的にして、
ｆ（統計量）
としても良い。この場合、統計量には最小値、最大値、メジアン、標準偏差などが該当する。
【０１３４】
一方、窓関数は窓を開け閉めするごとくある領域において演算値を有効化させるとともに別の領域において演算値を無効化させるように機能する。今、色かぶりをその原因別に分類すると、上述した画像入力装置１０のハードウェア性能などによる場合と、夕焼けなどによる意図的な色かぶりと、タングステンランプなどを利用した特殊な照明による色かぶりとに分類できる。そして、夕焼けなどによる意図的な色かぶりについては特性の統一化を図る必要がないことは上述したとおりであるが、タングステンランプなどを利用した特殊な照明による色かぶりの場合は特性の統一化を図ることも有意義である。
【０１３５】
夕焼けなどによる意図的な色かぶりとタングステンランプなどを利用した特殊な照明による色かぶりは、上述した相関係数から判断できる。すなわち、相関係数が極端に低い写真はこのような特殊な照明に起因するものであることが多く、窓関数を図３２に示すように変形した。
【０１３６】
すなわち、ｘ＜０．５の領域を変形させ、
ｘ＜０．１          のとき  ｆ（ｘ）＝１．０
０．１≦ｘ＜０．３  のとき  ｆ（ｘ）＝−５・ｘ＋１．５
０．３≦ｘ０．５    のとき  ｆ（ｘ）＝０
とした。これにより、ｘが「０．３」以下となると窓関数ｆ’（ｘ）は再び直線的に上昇し、ｘが「０．１」以下の領域で同窓関数ｆ’（ｘ）は一定の「１．０」となる。むろん、窓関数が「１．０」となったときには各成分の分布状況に基づいて演算された大きなオフセット量がそのまま適用され、照明の影響を打ち消して特性の均一化が図られる。
【０１３７】
なお、窓関数は遷移領域で直線的に変化する必要はなく、単調増加もしくは単調減少するような曲線的なものであっても構わない。
【０１３８】
また、図５に示すようにステップＳ１１６にて類似度をチェックし、類似度が低い場合にステップＳ１０６にて非処理を実行してフラグをセットしたり、あるいは、図３１に示すようにステップＳ１１６を実行することなくステップＳ２０５にて窓関数を利用してオフセット量を算出することにより、実質的には類似度が低いときに特性の均一化を図らないようにしているので、これらのソフトウェア処理及びこれを実現するハードウェアなどによって修正制御手段を構成していると言える。
【０１３９】
一方、度数分布の広がり方に差がある場合にはこれを均一化させることが有効である。本実施形態においては、この度数分布の広がり方を均一化させつつ、度数分布を可能な範囲で拡大させて各成分毎にコントラストを強調させている。
【０１４０】
コントラストの強調は、階調範囲が「０」〜「２５５」としたときに、変換前の各色成分（Ｒ1 ，Ｇ1 ，Ｂ1 ）と各成分の最大値Ｒｍａｘ２，Ｇｍａｘ，Ｂｍａｘ２と最小値Ｒｍｉｎ２，Ｇｍｉｎ，Ｂｍｉｎ２から変換先の各色成分（Ｒ2 ，Ｇ2 ，Ｂ2 ）を次式に基づいて求める。
【０１４１】
Ｒ2＝far×Ｒ1＋fbr       …（１５）
Ｇ2＝fag×Ｇ1＋fbg       …（１６）
Ｂ2＝fab×Ｂ1＋fbb       …（１７）
ただし
far＝２５５／（Ｒｍａｘ２−Ｒｍｉｎ２）      …（１８）
fag＝２５５／（Ｇｍａｘ  −Ｇｍｉｎ  ）      …（１９）
fav＝２５５／（Ｂｍａｘ２−Ｂｍｉｎ２）      …（２０）
fbr＝−far×Ｒｍｉｎ２あるいは２５５−far×Ｒｍａｘ２      …（２１）
fbg＝−fag×Ｇｍｉｎ  あるいは２５５−fag×Ｇｍａｘ２      …（２２）
fbb＝−fab×Ｂｍｉｎ２あるいは２５５−fab×Ｂｍａｘ２      …（２３）
また、上記変換式にてＲ2,Ｇ2,Ｂ2 ＜０ならばＲ2,Ｇ2,Ｂ2 ＝０とし、Ｒ2,Ｇ2,Ｂ2 ＞２５５ならばＲ2,Ｇ2,Ｂ2 ＝２５５とする。ここにおける、far,fag,fab は傾きであり、fbr,fbg,fbb はオフセットといえる。この変換式によれば、図２２に示すように、あるせまい幅を持った輝度分布を再現可能な範囲まで広げることができる。なお、基本的に輝度の分布範囲の拡大においては、画素数が変化するわけではないので、ヒストグラムの面積は一致する。ただし、このように再現可能な範囲を最大限に利用して輝度分布の拡大を図った場合、ハイライト部分が白く抜けてしまったり、ハイシャドウ部分が黒くつぶれてしまうことが起こる。これを防止するため本実施形態においては、拡大する階調範囲を制限している。すなわち、全階調範囲の上端と下端に拡大しない範囲として階調値で「５」だけ残している。この結果、変換式のパラメータは次式のようになる。
【０１４２】
far＝２４５／（Ｒｍａｘ２−Ｒｍｉｎ２）      …（２４）
fag＝２４５／（Ｇｍａｘ  −Ｇｍｉｎ  ）      …（２５）
fav＝２４５／（Ｂｍａｘ２−Ｂｍｉｎ２）      …（２６）
fbr＝５−far×Ｒｍｉｎ２あるいは２５０−far×Ｒｍａｘ２      …（２７）
fbg＝５−fag×Ｇｍｉｎ  あるいは２５０−fag×Ｇｍａｘ２      …（２８）
fbb＝５−fab×Ｂｍｉｎ２あるいは２５０−fab×Ｂｍａｘ２      …（２９）
そして、この場合には階調「５」未満と、階調「２５０」以上については変換を行わないようにする。
【０１４３】
なお、本実施形態においては、ハイライト部分とハイシャドウ部分とを保持するために一律に階調範囲の端部から階調値にして「５」の範囲を非拡大領域としているが、ハイライト部分やハイシャドウ部分を比較的再現しやすいような画像出力装置であればその範囲を狭くしても良いし、再現力がさらに弱い場合にはより範囲を大きくするようにしても良い。また、一律に拡大しないのではなく、ボーダー領域で徐々に拡大率を制限するようにしていっても良い。
【０１４４】
また、図２３（ａ）には画像の輝度分布が狭い場合を示しているが、これまで述べたようにして輝度分布の拡大率（far,fag,fabに対応）を適用してしまうと、再現可能な範囲に合わせて非常に大きな拡大率が得られる場合も生じてくる。すると、夕方のような薄暮の状態では最も明るい部分から暗い部分までのコントラストの幅が狭くて当然であるのに、この画像についてコントラストを大きく拡大しようとする結果、昼間の画像のように変換されてしまいかねない。このような変換は希望されないので、拡大率には制限を設けていおき、far,fag,fabが１．５（〜２）以上とはならないように制限する。これにより、薄暮は薄暮なりに表現されるようになる。
【０１４５】
拡大率に制限を設けない場合を図２３（ａ）の一点鎖線に示しており、変換後には再現可能な範囲で余分な部分は残っていない。しかしながら、拡大範囲を制限する場合には、同図（ｂ）の二点鎖線で示すように、変換後の分布をどこに持ってくるかの自由度が生じてしまい、場合によっては全体的に明るくなりすぎたり、暗くなり過ぎたりしかねない。従って、このような場合には、変換前における階調範囲内において上端側と下端側に残っている残余の領域の割合（ｍ１：ｍ２）が、変換後において上端側と下端側に残っている残余の領域の割合（ｎ１：ｎ２）と一致するように変換すればよい。
【０１４６】
以上のようにしてパラメータfar,fag,fab,fbr,fbg,fbbを得る処理をステップＳ２０８にて実行し、続くステップＳ２１０ではステップＳ２０６と同様に変換テーブルを作成する。このときの変換テーブルは図２１に示す変換後の成分値（Ｒ1，Ｇ1，Ｂ1）を入力として対応関係を演算し、変換テーブルにおける変換後の成分値（Ｒ1，Ｇ1，Ｂ1）と入れ換える。これにより、同変換テーブルを参照すればステップＳ２０４にて求めたオフセット量の加算とステップＳ２０８にて求めたコントラストの強調処理という二つの処理を同時に実施することになる。
【０１４７】
一方、度数分布の各色成分間のずれとして、もう一つ、全体的な明るさという要素が残る。従って、ステップＳ２１４にてこの明るさのずれを均一化させるγ補正をかけるため、ステップＳ２１２にてγを算出する。例えば、図２４にて実線で示す赤成分の度数分布の山が全体的に暗い側に寄っていたり、同図にて一点鎖線で示す青成分の度数分布の山が全体的に明るい側に寄っていたりした場合に、同図鎖線で示す緑成分の度数分布の山のように全体的に中央に寄るように修正移動させると良い。
【０１４８】
各種の実験を行った結果、本実施形態においては、度数分布におけるメジアンを基準に判断し、同メジアンが「８５」未満である場合に暗い画像と判断して以下のγ値に対応するγ補正で明るくする。
【０１４９】
γr＝Ｒｍｅｄ２／８５      …（３０）
γg＝Ｇｍｅｄ／８５      …（３１）
γb＝Ｂｍｅｄ２／８５      …（３２）
あるいは、
γr＝（Ｒｍｅｄ２／８５）**（１／２）      …（３３）
γg＝（Ｇｍｅｄ／８５）**（１／２）      …（３４）
γb＝（Ｂｍｅｄ２／８５）**（１／２）      …（３５）
とする。
【０１５０】
この場合、γr，γg，γb＜０．７となっても、γr，γg，γb＝０．７とする。このような限界を設けておかないと夜の画像が昼間のようになってしまうからである。なお、明るくしすぎると全体的に白っぽい画像になってコントラストが弱い画像になりやすいため、彩度を合わせて強調するなどの処理が好適である。
【０１５１】
一方、メジアンが「１２８」より大きい場合に明るい画像と判断して以下のγ値に対応するγ補正で暗くする。
【０１５２】
γr＝Ｒｍｅｄ２／１２８      …（３６）
γg＝Ｇｍｅｄ／１２８      …（３７）
γb＝Ｂｍｅｄ２／１２８      …（３８）
あるいは、
γr＝（Ｒｍｅｄ２／１２８）**（１／２）      …（３９）
γg＝（Ｇｍｅｄ／１２８）**（１／２）      …（４０）
γb＝（Ｂｍｅｄ２／１２８）**（１／２）      …（４１）
とする。この場合、γr，γg，γb＞１．３となっても、γr，γg，γb＝１．３として暗くなり過ぎないように限界を設けておく。なお、暗くしすぎると色が乗りすぎて濃い画像になるので、合わせて彩度強調を弱くするなどの処理が好適である。ただし、明るい背景の中の被写体に対してはこのような暗くする処理はかえって悪影響を及ぼす場合もある。例えば、空が画像の半分をしめるような風景画像や晴れた日の記念写真などでは、ただでさえ逆光で顔が暗くつぶれ気味であることが多いからである。これらの画像の場合は暗い部分と明るい部分とが混じっているので各色成分の標準偏差を求めると比較的高い値となっていることが多い。従って、そのような標準偏差が「７０」よりも大きいような場合には暗くするためのγ補正を行わないようにすることも可能である。γ補正をした場合における対応関係を図２５に示しており、γr，γg，γb＜１であれば上方に膨らむカーブとなり、γr，γg，γb＞１であれば下方に膨らむカーブとなる。なお、明るさの修正に関しては必ずしも度数分布に基づく必要はなく、他の要素から明るさを判断して修正するようにしても良い。
【０１５３】
以上のようにして決定したγr，γg，γbに対してγ補正するには次式のようにする。変換前の階調値ｒ0,ｇ0,ｂ0に対して変換後の階調値Ｒ1,Ｇ1,Ｂ1は、
Ｒ1＝２５５＊（ｒ0／２５５）**γr      …（４２）
Ｇ1＝２５５＊（ｇ0／２５５）**γg      …（４３）
Ｂ1＝２５５＊（ｂ0／２５５）**γb      …（４４）
なお、このγ補正も図２１に示す変換テーブルに対して実行する。すなわち、コントラスト強調の場合と同様に図２１に示す変換後の成分値（Ｒ1，Ｇ1，Ｂ1）を入力として対応関係を演算し、変換テーブルにおける変換後の成分値（Ｒ1，Ｇ1，Ｂ1）と入れ換える。これにより、同変換テーブルを参照すればオフセット量の加算とコントラストの強調処理に加えて明度の修正の処理を同時に実施することになる。
【０１５４】
そして、最後に、ステップＳ２１６にて画像データの変換を行い、全画素の画像データ（ｒｍ，ｇｍ，ｂｍ）について図２１に示す変換テーブルを参照し、変換後の画像データ（Ｒｍ，Ｇｍ，Ｂｍ）を得るという処理を繰り返すことになる。
【０１５５】
本実施形態においては、オフセット量による修正と、コントラストの強調と、明るさの修正とをこの順番に実施しているが、必ずしもこの全てを実施しなければならないわけではないし、また、個々の修正手法も適宜変更して実施することもできる。
【０１５６】
例えば、上述した実施形態においては、コントラストの強調処理においては、変換前の成分値に対して直線的な対応関係をなす変換式で修正を行うようにしているが、より滑らかな変換となるように、図２６に示すようないわゆるＳ字カーブの変換を行うようにしても良い。また、この場合、度数分布の広がりを両端位置で判断するのではなく、分布の散らばり具合を表す標準偏差の概念を利用することも可能である。以下、標準偏差を利用したＳ字カーブの対応関係でコントラストを強調する例を示す。なお、各成分毎の度数分布に基づいて変換は行うものの、演算手法は全てにおいて共通するため、輝度の表現で表し、変換前の輝度ｙより変換後の輝度Ｙを得る手順を示しておく。
【０１５７】
標準偏差については二つの考え方があるが本実施形態においては、次式に基づいて演算する。
【０１５８】
【数５】
1998271524.tif 000005
【０１５９】
ｙp：各画素の変換前の輝度
ｙm：各画素の変換前の輝度の平均値
標準偏差は輝度分布の広がり量に対応するものであるが、広がり量を表す意味では分散を利用してもよい。また、本実施形態のように全体としての階調数が２５６階調となっているので、分布の尖度ｋから広がり量を求めることも可能である。
【０１６０】
【数６】
1998271524.tif 000006
【０１６１】
なお、ここにいうｋ＝３の尖度が正規分布の広がり量に相当する。
【０１６２】
このようにして求めた輝度分布の広がり量である標準偏差σに基づいて、コントラストの強調は分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てることでもあり、図２６に示すように入出力の対応関係がいわゆるＳ字カーブとなると変換前に割り当てられている階調範囲rng0に対して変換後に割り当てられる階調範囲RNG1は大きくなり、割り当てられた階調数が多くなったことになる。一方、入力における低輝度側と高輝度側における階調範囲rng0を外れた範囲についていえば、変換後に割り当てられる階調範囲は少なくなったことになる。
【０１６３】
本実施形態においては、階調範囲の中心位置ｙmidを「１２８」として、この中心位置ｙmid以下ではγ１を与えるとともに、中心位置ｙmid より大きい範囲ではγ２を与えたγ補正を行うものとし、このγ１，γ２を標準偏差σに基づいて定める。すなわち、
ｙ≦１２８では、
γ１＝（σstd_limit／σ）**fc      …（４７）
ｙ＞１２８では、
γ２＝（σ／σstd_limit）**fc      …（４８）
とし、ステップＳ２０４にてこれらのパラメータ演算を実行する。ここにおいて、σstd_limitとfcは変換結果を考慮して実験的に求めて与えたパラメータであり、本実施形態においてはσstd_limitを「１２８」とするとともにfcを「０．１」としている。標準偏差σは概して「１２８」よりも小さな値となるからこれらの関係式では標準偏差σが大きいと、γ２とγ１はそれぞれ「１」に近づくことになり、Ｓ字カーブの傾斜は緩やかになる。これは、広がり量が大きいときに中心位置ｙmidを中心とする階調範囲rng0に対して変換先の階調範囲RNG0はさほど広くならないことを意味しており、より具体的には画像データの輝度が広く分布しているときには輝度範囲を拡大するような変換を行わないことを意味する。これに対して、標準偏差σが小さいと、γ２とγ１はそれぞれ「１」から離れることになり、Ｓ字カーブの傾斜は急になる。これは、広がり量が小さいときに中心位置ｙmidを中心とする階調範囲rng0に対して変換先の階調範囲RNG1が広く拡大されることを意味しており、より具体的には画像データの輝度が狭い範囲にしか分布していないときには輝度範囲を拡大させる変換を行なうことを意味する。
【０１６４】
本実施形態においては、Ｓ字カーブの対応関係をγ補正によって成立させているが、図２７には、階調「０」、下方側四分点ｙq1、中心位置ｙmid、上方側四分点ｙq3、階調「２５５」という五点を基準点としつつ、階調「０」と中心位置ｙmidと階調「２５５」に対してはＹ＝ｙとしつつ、下方側四分点ｙq1と上方側四分点ｙq3における変換点を標準偏差に基づいて決定する。そして、これらの五点を結ぶ対応関係をスプライン補間演算やニュートン補間で求める。むろん、中心位置ｙmidから下方側の三点や上方側の三点をそれぞれスプライン補間演算やニュートン補間で求めるようにしてもよい。
【０１６５】
すなわち、図２８に示すように、ステップＳ２３０にて各成分毎に標準偏差σr，σg，σb を求め、ステップＳ２３２にて各色成分毎のγ１，γ２を求め、ステップＳ２３４にてγ１，γ２を利用した対応関係に基づいて変換テーブルを作成する。これらのステップＳ２３０〜Ｓ２３４を図６に示すフローチャートにおけるステップＳ２０８〜Ｓ２１４の処理に代えて実行する。
【０１６６】
次に、上記構成からなる本実施形態の動作を順を追って説明する。
【０１６７】
スキャナ１１などで写真を撮像したとすると、同写真をＲＧＢの階調データで表した画像データがコンピュータ２１に取り込まれ、ＣＰＵは図５及び図６に示す画像処理のプログラムを実行して画像データの色再現性を修正する処理を実行する。
【０１６８】
まず、ステップＳ１０２では画像データを所定の誤差内となる範囲で間引き、選択した画素について各色成分毎に度数分布を求める。このままの度数分布を使用することはできず、まず、画像が白黒のような二値画像でないかステップＳ１０４にて判断するとともに、ステップＳ１０８では自然画か否かを判断する。二値画像である場合や自然画でない場合などを除き、ステップＳ１１０では画像データに枠部がないか判断し、枠部があれば除いた後、ステップＳ１１４にて度数分布の両端の不明瞭領域を取り除く。この状態で各色成分毎の度数分布について特徴ベクトルを求め、特徴ベクトル同士の内積から度数分布の類似度をチェックする。各色成分毎の度数分布があまり似ていないときには、元の画像データにおいて意図的にカラーバランスがずれていることの裏付けとなり、特性を均一化させる処理は行わない。しかしながら、所定のしきい値との比較においてある程度の類似性が見られる場合にはカラーバランスがずれてしまっているものと判断して、以下のような特性の均一化を図る。
【０１６９】
すなわち、ステップＳ２０４では度数分布の上端とメジアンを利用して緑成分に対する赤成分オフセットｄＲと青成分用オフセットｄＢとを求め、ステップＳ２０６では最後の画像データ変換のための変換テーブルを形成する。続いて、ステップＳ２０８では各色成分毎にコントラストの均一化を図りつつ同コントラストを強調するためのパラメータを演算し、ステップＳ２１０では同パラメータに基づいてコントラスト強調させつつ各色成分毎のコントラストのバランスを一致させるための変換テーブルを作成する。そして、ステップＳ２１２では各色成分毎の明るさを均一化させるためのγ補正のパラメータを演算し、かかるγ補正を施すことになる変換テーブルを作成する。
【０１７０】
最後に、ステップＳ２１６にて上述したようにして作成されている変換テーブルを参照して全画素についての画像データを変換する。
【０１７１】
この場合は類似性があるか否かに応じてステップＳ２０２で処理を分けているが、図３１に示すフローチャートを実行する場合には類似具合に応じてオフセット量という実効値を変化させ、実質的に特性の均一化を図ったり図らなかったりする。
【０１７２】
むろん、上述したように二値画像や自然画でない場合などにおいてはかかる画像処理は行われないが、本発明の画像処理が行われた場合には、写真の状態では色ずれなどの入力機器に起因するような色再現性の悪かった画像データであるにもかかわらず、各色成分毎に色ずれとコントラストと明るさとが均一化するとともにコントラストを強調されてメリハリのある良好な画像が極めて容易に得られるようになる。
【０１７３】
なお、上述した実施形態においては、いくつかのパラメータを一定としているが、コンピュータ２１上では所定のＧＵＩを介してユーザーが選択できるようにしても良い。
【０１７４】
このように、ステップＳ１０２で間引きするなどしながら画像データについて各色成分毎の度数分布を求め、ステップ１１６にて度数分布間に類似性があるか否かを判断し、類似性が低くなければ本来的に度数分布から見出される特性は一致するものと判断して、ステップＳ２０４〜Ｓ２１６にてオフセット修正やコントラスト強調や明るさ修正によってずれを修正することにより、色再現性の悪い画像データであってもメリハリのある良好な画像としつつ、かかる作業を自動化し、非熟練者でも容易にカラーバランスの修正を行うことができるようになる。
【図面の簡単な説明】
【図１】
本発明の一実施形態にかかる画像処理装置が適用される画像処理システムのブロック図である。
【図２】
同画像処理装置の具体的ハードウェア構成例を示すブロック図である。
【図３】
本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図４】
本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図５】
本発明の画像処理装置における度数分布検出手段と類似具合判断手段とに相当するフローチャートである。
【図６】
本発明の画像処理装置におけるオフセット量修正手段とコントラスト修正手段と明るさ修正手段とに相当するフローチャートである。
【図７】
変換元の画像における座標を示す図である。
【図８】
サンプリング周期を示す図である。
【図９】
サンプリング画素数を示す図である。
【図１０】
変換元の画像とサンプリングされる画素の関係を示す図である。
【図１１】
度数分布を検出するための配列変数を示す図である。
【図１２】
グレー画像抽出間引き処理のフローチャートである。
【図１３】
白黒の画像を示す図である。
【図１４】
白黒の画像の輝度分布を示す図である。
【図１５】
非自然画と自然画の場合の各色成分毎の度数分布の状態を示す図である。
【図１６】
枠部のある画像を示す図である。
【図１７】
枠部のある画像の度数分布を示す図である。
【図１８】
度数分布の端部処理と端部処理にて得られる端部を示す図である。
【図１９】
各色成分毎の特徴ベクトルとするための要素の抽出方法を示す図である。
【図２０】
色再現性の修正の必要のないリニアな関係を示す図である。
【図２１】
度数分布に基づいて画像データを変換する際の変換テーブルを示す図である。
【図２２】
度数分布の拡大と全階調の範囲を示す図である。
【図２３】
コントラストの拡大率に制限を与える場合を示す図である。
【図２４】
明るさの均一化を図る必要のある度数分布を示す図である。
【図２５】
γ補正で変更される変換関係を示す図である。
【図２６】
Ｓ字カーブの対応関係でコントラストを強調させる変換関係を示す図である。
【図２７】
特定した変換点を補間法で接続する場合の変換関係を示す図である。
【図２８】
Ｓ字カーブでコントラストと明るさを修正する場合の部分フローチャートである。
【図２９】
画像処理プログラムを記録する媒体から同プログラムをハードディスクに転送する状態を示す図である。
【図３０】
利用する窓関数の変化状況を示すグラフである。
【図３１】
窓関数を利用してオフセット量を調整する場合における画像処理プログラムのフローチャートである。
【図３２】
利用する他の窓関数の変化状況を示すグラフである。
【符号の説明】
１０…画像入力装置
１１…スキャナ
１１ｂ…スキャナ
１２…デジタルスチルカメラ
１２ａ…デジタルスチルカメラ
１２ｂ…デジタルスチルカメラ
１３ｂ…モデム
２０…画像処理装置
２１…コンピュータ
２２…ハードディスク
３０…画像出力装置
３１…プリンタ
３１ａ…プリンタ
３１ｂ…プリンタ
３２…ディスプレイ
３２ａ…ディスプレイ
４１…フレキシブルディスク
４２…ＣＤ−ＲＯＭ
４３…ハードディスク
４４…ＲＯＭ
４５…ＲＡＭ
４６ａ…通信回線
４６ｂ…モデム
４６ｃ…ファイルサーバ