JP2003125213A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2003125213A5 JP2003125213A5 JP2002189638A JP2002189638A JP2003125213A5 JP 2003125213 A5 JP2003125213 A5 JP 2003125213A5 JP 2002189638 A JP2002189638 A JP 2002189638A JP 2002189638 A JP2002189638 A JP 2002189638A JP 2003125213 A5 JP2003125213 A5 JP 2003125213A5
- Authority
- JP
- Japan
- Prior art keywords
- color
- distribution
- image
- component
- correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Description
【発明の名称】画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体
【特許請求の範囲】
【請求項1】複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力する画像処理装置であって、
各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する修正制御手段を具備することを特徴とする画像処理装置。
【請求項2】上記請求項1に記載の画像処理装置において、上記修正制御手段は、類似程度が小さい場合には上記修正を図らないようにすることを特徴とする画像処理装置。
【請求項3】上記請求項1または請求項2のいずれかに記載の画像処理装置において、上記修正制御手段は、上記階調表色データの取りうる階調範囲を複数の領域に分け、各領域ごとの分布の比較で各色成分間の類似程度を判断することを特徴とする画像処理装置。
【請求項4】上記請求項1〜請求項3のいずれかに記載の画像処理装置において、上記修正制御手段は、各色成分の分布を要素とするベクトルの内積に基づいて類似程度を判断することを特徴とする画像処理装置。
【請求項5】上記請求項1〜請求項4のいずれかに記載の画像処理装置において、カラーバランスの修正の程度を表す実効値を利用するとともに、上記修正制御手段は、この実効値を変化させることによって実質的に修正を制御することを特徴とする画像処理装置。
【請求項6】上記請求項5に記載の画像処理装置において、上記修正制御手段は、上記実効値を連続的に変化させて修正を制御することを特徴とする画像処理装置。
【請求項7】上記請求項1〜請求項6のいずれかに記載の画像処理装置において、上記カラーバランスの修正は、各色成分ごとの分布結果に基づいて各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図ることを特徴とする画像処理装置。
【請求項8】上記請求項7に記載の画像処理装置において、各色成分間の特性の均一化は、各色成分毎に階調値の変換関係を特定し、各画素毎に各色成分値を変換することによって行なうことを特徴とする画像処理装置。
【請求項9】複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御することを特徴とする画像処理方法。
【請求項10】コンピュータによって画像処理するプログラムを記録した媒体であって、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御することを特徴とする画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体に関し、特に、カラーバランスの修正を制御する画像処理装置および画像処理方法並びに画像処理プログラムを記録した媒体に関する。
【0002】
【従来の技術】
従来、カラーバランスを修正するというと、いわゆる色かぶりなどを修正することを指していることが多い。すなわち、画像入力装置などにおける色ずれに対する修正処理である。
【0003】
例えば、デジタルスチルカメラなどにおいては、画像データをRGB(赤緑青)の階調表色データとして出力している。この場合、レンズやCCD素子の特性により、特定の色、例えば、赤色が実物の色よりも強調されたいわゆる色ずれのあるものも見受けられる。
【0004】
従来、このような色ずれのある画像データに対して、何らかの修正を行いたい場合には、画像処理ソフトなどに読み込み、作業者が所定の操作を経て試行錯誤により強調色の成分値を弱くしている。
【0005】
【発明が解決しようとする課題】
上述した従来の修正手法においては、次のような課題があった。
【0006】
作業者が試行錯誤で修正を行うものであるため、正確さに乏しいし、非熟練者には困難である場合がある。
【0007】
また、一律に所定の成分値を増減するものであるため、全階調にわたって正しく修正されているともいえない場合がある。
【0008】
さらには、単なる色ずれ以外の要素を含んでいる場合に、効率の良い修正が可能であるとは言えなかった。
【0009】
また、各画素の色を表す各成分毎の階調表色データが正しいものであるか否かという判断は根本的には標準色などとの対比を行わなければ不可能であるし、場合によっては外的要因によってある成分が強調されることの方が当然のこともありえることを考慮すれば、色ずれがあるか否かを自動的に判断することは極めて困難であるといわざるを得ない。
また、分布の特性が一致しないことが当然である場合もある。例えば、夕方の景色であれば、赤系統の色彩だけとなっても不自然さはない。このような場合には、各色成分毎の分布から判断される特性を均一化することの方が不自然でもある。
【0010】
本発明は、上記課題にかんがみてなされたもので、いわゆる色ずれなどの色再現性の修正を自動化して総合的にカラーバランスを修正するにあたり、却って不自然な修正とならないようにすることが可能な画像処理装置および画像処理方法並びに画像処理プログラムを記録した媒体の提供を目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明においては、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力する画像処理装置であって、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分 の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する修正制御手段を具備する構成としてある。
【0012】
上記のように構成した請求項1にかかる発明は、上記修正制御手段が、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求める。そして、各色成分ごとに分けられて得られた分布結果に基づいて各色成分の間の類似程度を求める。そして、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する。
【0013】
例えば、請求項2にかかる発明においては、上記請求項1に記載の画像処理装置において、上記修正制御手段は、上記類似程度が小さい場合には上記修正を図らないようにする構成としてある。
【0014】
上記のように構成した請求項2にかかる発明は、まず各色成分間の類似程度を判断する。赤(R)緑(G)青(B)の色成分からなるときに夕方の景色であれば、赤の成分だけに分布する偏った分布が得られることになり、青や緑の成分についての分布は極端に減少する。このようなときに分布の特性が均一化しないのは当然であり、各色成分間の類似程度は極めて小さく、特性の均一化を図らない。一方、各色成分が平均的に現れたような場合には分布の類似程度は大きいと判断され、このような場合にこそ相互の特性を均一化させることにより、画像入力装置などに固有の偏りを低減させることも可能となる。
【0015】
このように、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにさせる。
分布の類似程度を判断するにあたり、必ずしも全ての階調での度数分布を用いて個別に比較する必要はなく、そのような場合に好適な一例として、請求項3にかかる発明は、上記請求項1または請求項2のいずれかに記載の画像処理装置において、上記修正制御手段は、上記階調表色データの取りうる階調範囲を複数の領域に分け、各領域ごとの分布の比較で各色成分間の類似程度を判断する構成としてある。
【0016】
上記のように構成した請求項3にかかる発明は、分布の類似程度を判断するにあたり、階調表色データの取りうる階調範囲を複数の領域に分け、それぞれの領域毎の分布を各色成分間で比較する。これにより、各階調ごとにみた分布を比較する労力が低減する。
【0017】
一方、分布の類似程度の判断は、各種の手法が採用可能であるが、その一例として、請求項4にかかる発明は、上記請求項1〜請求項3のいずれかに記載の画像処理装置において、上記修正制御手段は、各色成分の分布を要素とするベクトルの内積に基づいて類似程度を判断する構成としてある。
【0018】
ベクトルの内積は互いの相関関係を見る上で簡易に行える。従って、その手法を採用すべく、分布自体をベクトル要素と同様に考え、各色相互間で内積を求める。最も類似程度が大きい場合には「1」となるし、類似程度が小さければ「0」に近づく。分布をベクトル要素と考えるにあたり、必ずしも全階調数分の要素とする必要はなく、請求項3に記載した発明の場合には全階調範囲をいくつかに分類した領域での分布をベクトルの要素とすればよい。
【0019】
類似程度が小さい場合には特性の均一化を図らないようにする手法として、類似程度と所定のしきい値とを比較し、比較結果に基づいて判断を分岐させることが可能である。一方、同様に類似程度が大きい場合に特性の均一化を図り、類似程度が小さい場合に特性の均一化を図らないようにする手法として、実効値を制御する手法も採用可能である。そのような一例として、請求項5にかかる発明は、請求項1〜請求項4のいずれかに記載の画 像処理装置において、カラーバランスの修正の程度を表す実効値を利用するとともに、上記修正制御手段は、この実効値を変化させることによって実質的に修正を制御する構成としてある。
【0020】
上記のように構成した請求項5にかかる発明は、カラーバランスの修正の程度を表す実効値を利用しており、この実効値を変化させることによって実質的に修正を有効化させたり無効化させる。このような制御には窓関数などが有効であり、より具体的には、有効化させたいときに「1」をとるとともに無効化させたいときに「0」となる窓関数を実効値に積算すればよい。
【0021】
一方、この例で言えば「1」から「0」へ、あるいは「0」から「1」へ変化する領域において不連続に変化すると、諧調表色データの取り込み方によっては類似程度の判断が微妙に変化してしまうことがある。すると、同じ画像でありながら判断結果が正反対となってしまうということも生じる。従って、このような場合の対策として実効値が連続的に変化するようにしている。むろん、窓関数は各種の変形例が可能であるし、要因によっては例外的な扱いをするべく、類似程度の小さな領域で実効値を有効とさせたり、その逆の扱いをすることも可能である。むろん、ここでいう実効値は、修正量であるとか補正量であるとかオフセット量であるなど、広く修正に関与する値を指すものであるし、上述した窓関数についてもこの実効値を演算する過程において利用される一変数であっても構わない。
このため、請求項6にかかる発明は、上記請求項5に記載の画像処理装置において、上記修正制御手段は、上記実効値を連続的に変化させて修正を制御する構成としてある。
【0022】
また、一般的には類似程度が小さいことは機器に起因する色ずれではない。しかしながら、特殊な照明によって類似程度が極端に変化する場合もある。従って、類似程度が小さい場合であってもその原因によっては特性の均一化を図ることが有効である場合もある。従って、一般的には類似程度が小さいときに特性の均一化を図らないようにしつつも、原因に応じて類似程度が小さい場合でも特性の均一化を図るようにしてもよい。例えば、類似程度が極端に小さくなった場合には特性の均一化を図ることとし、これを実現するために類似度に対応した窓関数を利用することも可能である。
【0023】
このように各色成分間の類似程度に基づいて特性の統一化を図るという思想については、必ずしも特性統一化の手法が限定されるものではない。しかしながら、特性統一化を図る一例として、以下のようにすることもできる。
【0024】
その一例として、請求項7にかかる発明は、上記請求項1〜請求項6のいずれかに記載の画像処理装置において、上記カラーバランスの修正は、各色成分ごとの分布結果に基づいて各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図る構成としてある。
【0025】
また、請求項8にかかる発明は、上記請求項7に記載の画像処理装置において、各色成分間の特性の均一化は、各色成分毎に階調値の変換関係を特定し、各画素毎に各色成分値を変換することによって行なう構成としてある。
上記のように構成した請求項7にかかる発明においては、各色成分毎に階調表色データの分布を求めるとともに各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図っている。そして、上記のように構成した請求項8にかかる発明においては、各色成分毎に階調値の変換関係を特定し、各画素毎に各色成分値を変換することによって各色成分間の特性の均一化を行なう。
【0026】
デジタルスチルカメラを例に取れば、従来、カラーバランスを修正するということは、 各画素毎における色成分の変換特性が一致しているか否かを、各色毎に成分値が強調気味であるか否か判断して調整していた。これに対し、本発明では、各色成分毎に階調表色データの分布を求め、各色成分毎に分離した状況で特性を見出し、そのような特性の均一化を図っている。すなわち、画像の内容を問わず、各色成分ごとに階調表色データの分布の特性が一致するようなときに画像としては色ずれのないメリハリのある画像が得られることが分かり、かかる特性の均一化を分布に基づいて求めている。なお、ここにいう均一化とは厳密な意味での均一化を意味しているのではなく、少なくとも傾向を均一化させる程度で構わない。
【0027】
この意味で、分布は画像データにおける各成分ごとの分布状況を見出せるようなものであればよく、度数分布を含めて各種の統計的手法も採用可能である。例えば、度数分布から導き出される標準偏差であるとかメジアンであるとか最頻値といった二次加工的データを利用することも可能である。この場合、度数分布は処理が容易で簡易化させることができるメリットを有している。
【0028】
一方、上述したような分布を求める際に、必ずしも全画素を同等に扱わなければならないわけではない。そして、その一例として、各色成分の階調表色データが近似している画素を上記分布の対象とする構成としてもよい。
【0029】
本来、人が画像を見て色ずれを判断できるのは、無彩色であろうものに色が付いているような場合である。すなわち、赤いものだけを見ている場合には本来の色を知らない限り色ずれか否かは判断できない。従って、無彩色の画素だけについて特性のばらつきを見るのも各色間のバランスを検討するには有効といえる。
このため、特性均一化では各画素毎に、各色成分の階調表色データが互いに近似しているか否かを判断し、近似している場合にのみ分布の対象として計数し、このようにして得られた分布に基づいて特性の均一化を図るようにしている。
【0030】
各画素における色成分の階調表色データが近似しているか否かは、最大値と最小値とを求めてその差で判断すればよい。また、極値のデータは飽和している可能性も大きいので扱わないとすることも可能である。
【0031】
ところで、特性の均一化を図る一例として、上記分布における所定位置から特性を判断し、当該特性が均一化するように各成分間のずれに対応するオフセット量を求めて各成分値を修正する構成としてもよい。
【0032】
上記のように構成した場合、各色成分毎に分布を求める過程を含めて、上端や下端、平均値やメジアンや最頻値といったいくつかの位置が求められることになるが、これらから各成分毎の特性を見出すことが可能となる。そして、これらの各成分間でのずれが具体的な色ずれの一要因となりうる特性であると考えられるので、同ずれに対応するオフセット量を求めて各成分値を修正する。
【0033】
具体的な位置の一例として、上記分布の範囲の端部位置を当該分布の特性と判断する構成としてもよい。
【0034】
上記のように構成した場合、分布の範囲の端部位置である上端や下端位置を当該分布の特性とみなして各成分間のずれを求める。
【0035】
個々の分布を見れば極めて多様な分布も上端位置であるとか下端位置であれば画一的に定まりやすく、特性の取得が容易となる。
【0036】
また、他の一例として、上記分布の略中央位置を当該分布の特性と判断する構成としてもよい。
【0037】
上記のように構成した場合、分布の略中央位置である平均値やメジアンや最頻値といった位置を当該分布の特性とみなして各成分間のずれを求める。
【0038】
同様に極めて多様な分布も略中央位置である平均値やメジアンや最頻値といった位置であれば画一的に定まりやすく、特性の取得が容易となる。
【0039】
一般の画像においては、各成分毎に成分の絶対値に差はあるものの分布の広がりというものについてはさほど変化がないことが多い。従って、かかる広がり量については各成分において均一化している方が自然であるといえる。このため、各色成分ごとの上記分布の広がりを略均一化させる構成としてもよい。
【0040】
上記のように構成した場合、各成分値ごとの上記分布の広がりを求め、略均一化させるように変換処理を行う。
【0041】
分布の広がりの観念は各種の把握が可能であり、特定のものに限定される必要はなく、その一例として、上記分布の広がりの両端を有効な階調範囲内で拡大させる構成としてもよい。
【0042】
上記のように構成した場合、分布が山形をなすものとしてその裾野の両端で分布の幅が分かるため、この幅を有効な階調範囲内で拡大させるように変換する。例えば、分布の幅が有効な階調の幅の一部にしかすぎないようであれば、コントラストの弱い画像といえるが、このような場合に有効な階調範囲の全幅にわたって分布が広がるように拡大させる。各色成分毎に有効な階調範囲の全幅にわたって分布が広がるように拡大すれば、分布の幅という特性において均一化する。なお、この場合の分布の幅は、現実の分布の幅のみならず、両端部分を所定量だけカットしてしまうなどして誤差範囲などを省略させるようなものでも構わない。
【0043】
また、他の一例として、同分布の広がり量に基づいて分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てる構成としてもよい。
【0044】
上記のように構成した場合、特性均一化手段が各成分毎の分布の広がり量を求め、求めた分布に基づいて各成分毎に分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てる。この広がり量の概念は分布の幅と同様に分布の散らばり方に対応するものであり、数学的表現であれば標準偏差であったり分散であったりあるいは尖度などといったものが該当しうる。このような広がり量としての特性が各成分毎に一致するように近づけるにあたり、分布密度の大きな部分が許容可能な範囲内で広がるように変換すると、各成分毎にずれていた広がり量の一致を見ることが可能となるとともに、分布が一部範囲に集中してしまうことなく有効な範囲をできる限り利用して分布することになるので、全体的にコントラストが強調されることになる。むろん、広がり量は標準偏差、分散あるいは尖度以外のものでもよいし、また、これらにおいても厳密な意味での計算を要するものではなく、演算の簡略化などを図ることもできる。
【0045】
さらに、各成分毎の分布に基づく明るさを均一化させる構成としてもよい。
【0046】
上記のように構成した場合、各成分毎の分布において明るさが不均一であるが故に色ずれのように見えることがありうるため、特性均一化では各成分毎の分布に基づく明るさを均一化させる。ここにおける明るさは分布の全体的な位置を表し、例えば、分布が全体的に明るい側に位置すれば明るいと見なすし、全体的に暗い側に位置すれば暗いと見なす。
【0047】
むろん、全体の明るさの判断の手法は適宜変更可能であるし、また、明るくするか暗くするかの修正手法も適宜各種の手法を採用可能であるが、その一例として、上記分布の略中央位置と所定階調との比較において画像の明暗を判断する構成としてもよい。
【0048】
上記のように構成した場合、分布の略中央位置を有効な階調範囲の所定階調と比較し、比較結果に基づいて画像の明暗を判断する。
【0049】
例えば、分布を求める際に得られるメジアンは当該分布の中央位置としての条件を備えるが、かかるメジアンが全階調数内の中央値よりも大きいか小さいかで、全体としての明るさが明るいか暗いかを判断することが可能である。
【0050】
また、画像の明暗の判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させる構成としてもよい。
【0051】
上記のように構成した場合、各種の手法にて画像の明暗を判断した後、同判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させる。例えば、画像が暗いようであればγ<1としたγ補正によって全体的に明るく修正することになり、同メジアンは全階調数の中央値に近づくし、明るいようであればγ>1としたγ補正によって全体的に暗く修正することになり、同メジアンは全階調数の中央値に近づくことになる。
【0052】
このようにカラーバランスの修正を制御する手法は必ずしも実体のある装置に限られるものではなく、その一例として、請求項9にかかる発明は、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する構成としてある。
【0053】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【0054】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【0055】
その一例として、概略対等な色成分についての階調表色データからなるドットマトリクス状の画像データに基づいて印刷インクに対応した画像データに変換し、所定のカラープリンタに印刷せしめるプリンタドライバにおいても、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する構成とすることができる。
【0056】
このようにした場合には、プリンタドライバは入力された画像データを印刷インクに対応して変換するが、このときに画像データにおける各色成分毎に分布を求め、その類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を実行するか否かを制御して印刷する。すなわち、類似程度が低ければ敢えてカラーバランスの修正を行わないで印刷することにより、全体として不自然とならないようにすることができる。
【0057】
発明の思想の具現化例として画像処理装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【0058】
その一例として、請求項10にかかる発明は、コンピュータによって画像処理するプログラムを記録した媒体であって、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する構成としてある。
【0059】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。
【0060】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。さらには、カラーファクシミリ機、カラーコピー機、カラースキャナ、デジタルスチルカメラ、デジタルビデオカメラなどの画像処理装置においても適用可能であることはいうまでもない。
【0061】
【発明の効果】
以上説明したように本発明は、特性の均一化の手法に関わらず、分布の類似程度が小さいときにはあえて特性の均一化を図らないようにして、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することができる。
【0062】
また、請求項2にかかる発明によれば、分布の類似程度が小さいときにはあえて特性の均一化を図らないため、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することができる。
【0063】
さらに、請求項3にかかる発明によれば、階調範囲を複数の領域に分けて分布を求めるので比較が容易となる。
【0064】
さらに、請求項4にかかる発明によれば、各色成分毎の分布を要素とするベクトル同士の内積に基づいて類似程度を判断するため、判断が容易となる。
【0065】
さらに、請求項5と請求項6にかかる発明によれば、特性の均一化を図るための実効値を連続的に変化させることにより、画像処理結果に不連続性を発生させにくくすることができる。
【0066】
また、請求項7と請求項8にかかる発明によれば、各成分毎の分布の均一化という概念により、根本的に判断が困難な色ずれの判断を自動化でき、より容易にカラーバランスを調整することが可能な画像処理装置を提供することができる。
【0067】
さらに、本来的に階調表色データが近似している画素をピックアップして特性の判断に 利用すれば、特性のバラツキを求めるのに有効となる。
さらに、分布の位置のずれを利用すれば、比較的容易に各成分間のオフセット量を判断できる。
【0068】
さらに、分布の端部を利用すれば、画一的に判断しやすく、判断が容易となる。
さらに、分布密度の多い位置でのずれを利用すれば、全体のずれの修正における誤差が少ない。
【0069】
さらに、分布の広がりを均一化させることにより、各色成分毎に有効な階調数を有効に利用していないような場合に効率よく発色させることができ、メリハリを利かせることができる。
【0070】
さらに、判断の容易な分布の広がりの両端を用いて分布を拡大させれば、判断する構成が容易となる。
【0071】
さらに、数学的な手法などによる広がり量を利用すれば、より正確な判断が可能となる。
【0072】
さらに、各成分毎の明るさの均一化すれば、いずれかの成分だけが突出して生じるような色ずれを解消することができる。
さらに、分布の概略中央値をもってして明るさの判断とすれば、判断が容易となる。
【0073】
さらに、γ補正で明暗を変化させて明るさの均一化を図るのであれば、γ補正は広く利用されているので構成が容易となる。
【0074】
さらに、請求項9にかかる発明によれば、特性の均一化の手法に関わらず、分布の類似程度が小さいときにはあえて特性の均一化を図らないようにして、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することが可能な画像処理方法を提供することができる。
【0075】
さらに、請求項10にかかる発明によれば、このような画像処理を行なうプログラムを記録した媒体を提供することができる。
【0076】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
【0077】
図1は、本発明の一実施形態にかかる画像処理システムをブロック図により示しており、図2は具体的ハードウェア構成例をブロック図により示している。
【0078】
同図において、画像入力装置10は画像を撮像するなどして画像データを画像処理装置20へ出力し、同画像処理装置20は特性を均一化するなどの画像処理を行なって画像出力装置30に出力し、同画像出力装置30はコントラストを強調された画像を表示する。
【0079】
ここにおいて、画像入力装置10の具体例はスキャナ11やデジタルスチルカメラ12あるいはビデオカメラ14などが該当し、画像処理装置20の具体例はコンピュータ21とハードディスク22などからなるコンピュータシステムが該当し、画像出力装置30の具体例はプリンタ31やディスプレイ32等が該当する。むろん、これら以外にもカラーコピー機やカラーファクシミリ機などにも適用可能である。
【0080】
本画像処理システムにおいては、色ずれに代表されるような色再現性の悪い画像を修正しようとしているものであるから、画像入力装置10としてのスキャナ11で写真を撮像した画像データであるとか、デジタルスチルカメラ12で撮影した画像データであるとか、ビデオカメラ14で撮影した動画画像などが処理の対象となり、画像処理装置20としてのコンピュータシステムに入力される。なお、ビデオカメラ14の入力画像については、演算速度が間に合わないこともあり得る。そのような場合には演算時間を要する最初の条件設定を撮影のシーンごとに行っておき、撮影中は同じ条件設定のもとで各フレームの画像変換だけを行なうということによって対処可能である。
【0081】
本画像処理装置20は、少なくとも、各色成分毎の度数分布を求める度数分布検出手段と、この検出された各色成分毎の度数分布の類似具合を判断する類似具合判断手段と、度数分布から各色成分のずれを判定して均一化する修正を行なうオフセット量修正手段と、度数分布から各色成分毎のコントラストの強弱のずれを判定して均一化する修正を行うコントラスト修正手段と、度数分布から各色成分毎の明るさのずれを判定して均一化する修正を行う明るさ修正手段とを構成する。むろん、本画像処理装置20は、この他にも機種毎による色の違いを補正する色変換手段であったり、機種毎に対応した解像度を変換する解像度変換手段などを構成していても構わない。この例では、コンピュータ21はRAMなどを使用しながら、内部のROMやハードディスク22に保存されている各画像処理のプログラムを実行していく。また、これらのプログラムを記録するにあたっては、図29に示すように、フレキシブルディスク41や、CD−ROM42のような可搬性のある媒体はもちろんのこと、ハードディスク43にインストールされた状態であるとか、ROM44やRAM45を有するICカードであるとか、あるいは、モデム46b等を介して通信回線46aを媒体とすることも可能である。この場合、通信回線46aの先にはファイルサーバ46cが接続され、当該ファイルサーバ46cが所定のソフトウェアを提供する。
【0082】
この画像処理のプログラムの実行結果は後述するように色再現性を修正したメリハリのある画像データとして得られ、得られた画像データに基づいて画像出力装置30であるプリンタ31で印刷したり、同じ画像出力装置30であるディスプレイ32に表示する。なお、この画像データは、より具体的にはRGB(緑、青、赤)それぞれについて「256」階調の階調データとなっており、また、画像は縦方向(height)と横方向(width)に格子状に並ぶドットマトリクスデータとして構成されている。
【0083】
本実施形態においては、画像の入出力装置の間にコンピュータシステムを組み込んで画像処理を行うようにしているが、必ずしもかかるコンピュータシステムを必要とする訳ではなく、図3に示すようにデジタルスチルカメラ12a内に色再現性などを修正する意味での画像処理装置を組み込み、変換した画像データを用いてディスプレイ32aに表示させたりプリンタ31aに印字させるようなシステムであっても良い。また、図4に示すように、コンピュータシステムを介することなく画像データを入力して印刷するプリンタ31bにおいては、スキャナ11bやデジタルスチルカメラ12bあるいはモデム13b等を介して入力される画像データについて自動的に色再現性を修正するように構成することも可能である。
【0084】
コンピュータ21にて実行する画像処理の内、度数分布検出手段と類似具合判断手段とに相当する処理を図5に示しており、各色成分毎の類似度が小さくない場合に実行されるオフセット量修正手段とコントラスト修正手段と明るさ修正手段とに相当する処理を図6に示している。なお、類似具合判断手段は広義の意味において類似具合に基づいて後段の処理の実効を制御する制御手段も構成しているといえる。
【0085】
図5は主に各色成分毎の度数分布を検出する処理に該当しており、まず、分布対象となる画素について説明する。
【0086】
全画素について度数分布を求めてもよいが、特性の傾向を判断することが目的であるため、必ずしも全画素についての度数分布を求める必要もない。従って、ある誤差の範囲内となる程度に間引きを行うことが可能である。本実施形態においては、図5のステップS102で示すように対象となる画素を間引く間引き処理を実行する。統計的誤差によれば、サンプル数Nに対する誤差は概ね1/(N**(1/2))と表せる。ただし、**は累乗を表している。従って、1%程度の誤差で処理を行うためにはN=10000となる。
【0087】
図7に示すように、ビットマップの画像であれば、縦方向に所定ドットと横方向に所定ドットからなる二次元のドットマトリクスとして成り立っており、このビットマップ画面は(width)×(height)の画素数となるので、サンプリング周期ratioは、
ratio=min(width,height)/A+1 …(1)
とする。このmin(width,height)はwidthとheightのいずれか小さい方であり、Aは定数とする。また、ここでいうサンプリング周期ratioは何画素ごとにサンプリングするかを表しており、図8の○印の画素はサンプリング周期ratio=2の場合を示している。すなわち、縦方向及び横方向に二画素ごとに一画素のサンプリングであり、一画素おきにサンプリングしている。A=200としたときの1ライン中のサンプリング画素数は図9に示すようになる。
【0088】
同図から明らかなように、サンプリングしないことになるサンプリング周期ratio=1の場合を除いて、200画素以上の幅があるときには最低でもサンプル数は100画素以上となることが分かる。従って、縦方向と横方向について200画素以上の場合には(100画素)×(100画素)=(10000画素)が確保され、誤差を1%以下にできる。
【0089】
ここにおいてmin(width,height)を基準としているのは次のような理由による。例えば、図10(a)に示すビットマップ画像のように、width>>heightであるとすると、長い方のwidthでサンプリング周期ratioを決めてしまった場合には、同図(b)に示すように、縦方向には上端と下端の2ラインしか画素を抽出されないといったことが起こりかねない。しかしながら、min(width,height)として、小さい方に基づいてサンプリング周期ratioを決めるようにすれば同図(c)に示すように少ない方の縦方向においても中間部を含むような間引きを行うことができるようになる。
【0090】
むろん、このようにしてサンプリングした画素については、図11に示すようにRGBのそれぞれの全階調に対応して用意されている配列変数(CNT_R,CNT_G,CNT_B)にてその成分値ごとにカウントし、度数分布を求める。
【0091】
なお、この例では、縦方向と横方向の画素について正確なサンプリング周期で間引いて度数分布を求めるようにしている。これは、逐次入力される画素について間引きしながら処理する場合に好適である。しかし、全画素が入力されている場合には縦方向や横方向についてランダムに座標を指定して画素を選択するようにしても良い。このようにすれば、10000画素というような必要最低限の画素数が決まっている場合に10000画素となるまでランダムに抽出する処理を繰り返し、10000画素となった時点で抽出を止めればよくなる。
【0092】
また、このような対象画素を特定することなく間引きを行なう単純間引き処理に対し、対象画素を特定した間引きを行うことも可能である。すなわち、各画素のRGBの各成分の差が小さいものであればグレーに近く、グレーの画素だけを抽出して度数分布を比較した場合には入力装置の色特性を判断しやすいともいえるからである。図12は、このようなグレー画素を抽出して間引く処理を示している。ステップS302では対象画素における各成分のうち、最大の成分を特定し、ステップS304では最小の成分を特定する。そして、ステップS306にて最大値と最小値との差である最大成分差を演算し、ステップS308にてこの最大成分差が所定のしきい値よりも小さい範囲内に入っているか否かを判断する。一例として、グレーに近い画素である以上、最大成分差は「52」階調以内であるとしておく。そして、そのような階調以内の画素についてステップS310にて度数分布を計数する。一方、そのような階調を超えていればグレーではないとして計数に利用しない。この後、ステップS312にて対象画素を次の画素へと移動させ、ステップS314にて最終画素と判断されるまで上述した処理を繰り返す。
【0093】
このように間引いて選択した画素について度数分布を求めたものの、必ずしもこの度数分布を用いて画像修正をすることが適切でない場合もあり得るため、以下に、三つの事項をチェックする。
【0094】
その一つ目は画像が白黒画像のような二値画像である場合である。白黒画像を含めて二値画像であれば色再現性の修正という概念は不適切である。図13に示すような白黒画像があったとすると、この画像に対する各色成分毎の度数分布は図14に示すように階調数の割り当て範囲内の両端に集中する。それも、基本的には階調「0」と階調「255」に集中する。
【0095】
従って、ステップS104で白黒チェックを行う場合には、各色成分毎に階調「0」と階調「255」の画素数の和が、間引いて選択した画素数と一致するか否かで判断できる。そして、白黒画像の場合であれば以下の処理を実行することなく処理を中断するためにステップS106にて非処理を実行する。本実施形態においては度数分布を求める前段の処理と、画像データを修正することになる後段の処理とに大きく分けているので、この非処理では後段の輝度変換処理も実行しないようなフラグを立てて当該分布抽出処理を終了している。
【0096】
二値データは白黒だけに限らず、色の付いた二値データもあり得る。このような場合も同様に色再現性の修正を図る処理は不要であり、分布状態を調べて二色となるような分布となっていれば二値データとして処理の中断を図ればよい。例えば、ある中間色と黒という二色であれば、各色成分毎の度数分布においても分布は二つの階調に集中している。一方、青と黒という二色であれば、青成分の度数分布においてのみ二階調に分布が集中し、赤成分と緑成分においては階調「0」にだけ分布が集中している。すなわち、二値データであれば分布の集中は二階調以下になっているので、配列変数をスキャンして度数が「0」以外の階調がいくつあるかをカウントすることによって二値画像であるか否かを判定できる。
【0097】
二つ目は画像がビジネスグラフのようなものか写真のような自然画であるか否かを考慮する。自然画においては色再現性の修正が必要なことはいうまでもないが、ビジネスグラフであるとか絵画のようなものではもともと使用している色の偏りがあるのが自然であり、そのような画像についての度数分布から各色成分の特性の均一化を図る処理を行うのは無理がある。従って、ステップS108では自然画か否かのチェックを行う。
【0098】
自然画では陰影を含めて色数が極めて多いがビジネスグラフやドロー系などのある種の絵画では色数が限られていることが多い。従って、色数が少なければ自然画ではないと判断することが可能である。RGBの各成分が256階調であるときには1670万色を表すことができ、色数を正確に判断しようとすればこの1670万色のうちの何色を使用しているかを判別するために色数だけの配列変数を用意する必要があり、現実的ではない。一方、すでに度数分布というものを求めているので、各色成分毎に何階調が有効に利用されているか否かを判断すれば、自然画の色数か否かは判断できる。
【0099】
図15(a)〜(c)はビジネスグラフの場合の度数分布の一例を示しており、同図(d)〜(f)は自然画の場合の度数分布の一例を示している。この例からも明らかなように、非自然画では度数分布が線スペクトル状となる。コンピュータ21内の処理では、各色成分毎に全階調にわたって度数が「0」でない階調の数をカウントし、足し合わせてみる。自然画であれば、全階調にわたって概ね一様に分散していると考えられ、カウント値は「768(=256×3)」となることが多いし、ビジネスグラフであれば、各色成分毎に「20」階調を利用したとしてもカウント値は「60(=20×3)」程度としかならない。従って、自然画か否かのしきい値として「200」を設定したとすれば、「200」以下であれば非自然画と判断すればよい。そして、非自然画であると判断したならばステップS106にて非処理を実行する。むろん、このしきい値「200」については適宜変更可能である。
【0100】
また、度数分布が線スペクトル状か否かは度数が「0」でない階調値の隣接割合で判断することも可能である。すなわち、度数が「0」でない階調値であって隣接する階調値に分布があるか否かを判断する。隣接する二つの階調値のうち少なくとも一方で隣接していれば何もせず、両方で隣接していない場合にカウントを行い、その結果、「0」でない階調値の数とカウント値との割合で判断すればよい。例えば、「0」でない階調値の数が「64」であって、隣接しないものの数が「64」であれば線スペクトル状に分布していることが分かる。
【0101】
さらに、オペレーティングシステムを介して画像処理プログラムが実行されているような場合には、画像ファイルの拡張子で判断することも可能である。ビットマップファイルのうち、特に写真画像などではファイル圧縮がなされ、その圧縮方法を表すために暗示の拡張子が利用されることが多い。例えば、「JPG」という拡張子であれば、JPEGフォーマットで圧縮されていることが分かる。
オペレーティングシステムがファイル名を管理していることから、プリンタドライバなどの側からオペレーティングシステムに問い合わせを出せば、同ファイルの拡張子が回答されることになるため、その拡張子に基づいて自然画であれば以下の処理を実行すればよい。また、「XLS」というようなビジネスグラフに特有の拡張子であれば非自然画であると判断でき、上述したように非処理を選択すればよい。
【0102】
三つ目に考慮することは、図16に示すように画像の周りに枠部があるか否かである。このような枠部が白色または黒色であれば、その度数分布は図17に示すように、階調数の割り当て範囲内における両端に線スペクトル状に表れるとともに、内部の自然画に対応して両端以外の内側に滑らかな度数分布としても表れる。
【0103】
むろん、枠部を度数分布に入れない方が適切であるため、ステップS108の枠部のチェックでは階調「0」と階調「255」の画素数の和が十分に大きく、かつ、間引いて選択した画素数とは一致しないかを判断し、肯定的ならば枠部があると判定してステップS112にて枠部処理を実施する。この枠部処理では、枠部を無視するために度数分布のうち階調「0」と階調「255」の画素数を「0」にセットする。これにより、以下の処理では枠部がないものと同様に扱うことができる。
【0104】
この例では白色または黒色の枠部を対象としているが、特定の色の枠がある場合も考えられる。このような場合、度数分布が描く本来の滑らかなカーブの中で突出する線スペクトル状のものが表れる。従って、隣接する輝度値の間で大きく差が生じている線スペクトル状のものについては枠部として考えて度数分布の対象としないようにすればよい。この場合、枠部以外でその色を使用していることがあり得るので、両隣の階調値の度数について平均を算出して割り当てるようにすれば良い。
【0105】
以上のような考慮を経た上で、非処理でない場合にはステップS114で度数分布の両端を求める。自然画における度数分布は図18に示すように概ね山形に表れることが多い。むろん、その位置、形状についてはさまざまである。このような度数分布の裾野は、統計的に見れば限りなく「0」に近づきながら推移していく。従って、ある度数分布を特定しようとする場合にはその山の両端を特定することが重要となってくるにもかかわらず、現実に度数が「0」となるという条件を課すとどの分布特性も一致してしまいかねない。
【0106】
このため、分布範囲において最も輝度の大きい側と小さい側からある分布割合だけ内側に入った部分を分布の両端とする。本実施形態においては、図18に示すように、この分布割合を0.5%に設定している。むろん、この割合については、適宜、変更することが可能である。このように、ある分布割合だけ上端と下端をカットすることにより、ノイズなどに起因して生じている白点や黒点を無視することもできる。逆に、このような処理をしなければ一点でも白点や黒点があればそれが度数分布の両端となってしまうので、多くの場合において最下端は階調「0」であるし、最上端は階調「255」となってしまう。しかしながら、両端部分から0.5%の画素数だけ内側に入った部分を端部とすることにより、このようなことが無くなる。
【0107】
実際の処理では処理対象となる画素数(間引き処理において選択した画素の総数、あるいは枠部に対応する画素数を削除した総数)に対する0.5%を演算し、度数分布における上端側と下端側とから順番に内側に向かいながらそれぞれの度数を累積し、0.5%の値となった階調値を求める。RGBの各色成分毎に上端側をRmax,Gmax,Bmaxと呼び、下端側をRmin,Gmin,Bminと呼ぶ。
【0108】
上述したように、各色成分の度数分布が不均一となることの方が自然な状況もあり得る。そして、そのような場合においては色再現性の修正もすべきではない。これは結果から追ってみると、各色成分の度数分布がある程度似ている状況では逆に度数分布が均一となっているべきであろうし、度数分布が似ていなければ均一にすべきでないだろうと判断できる。
【0109】
従って、本実施形態においては、ステップS116にて各色成分毎の度数分布の類似度をチェックする。いま、各色成分毎の度数分布が図19に示すように表れているとすると、全階調範囲を四つの領域([0〜63],[64〜127],[128〜192],[193〜255])に分割し、各領域に属する度数を要素とする特徴ベクトルを考える。赤成分を例に取れば、各領域での度数をr64,r128,r192,r255で表し、全有効画素数をr_pixelとしたとすると、赤成分の特徴ベクトルは、数1式のように表せる。
【0110】
【数1】
【0111】
これと同じ処理を緑成分と青成分について実行し、次に、各色成分間での特徴ベクトルの内積を求める。すなわち、赤成分と緑成分との間の特徴ベクトルの内積corr_rgは数2式に表すように求められ、緑成分と青成分との間の特徴ベクトルの内積corr_gbは数3式に表すように求められ、青成分と赤成分との間の特徴ベクトルの内積corr_brは数4式に表すように求められる。
【0112】
【数2】
【0113】
【数3】
【0114】
【数4】
【0115】
ベクトルの内積は、両ベクトルの類似度を表すといえ、その値は「0」〜「1」となる。従って、しきい値CORRとして「0.7」を定めたとして、それぞれの内積corr_rg,corr_gb,corr_brのうちいずれか一つでもこのしきい値CORR以下のものがあれば類似具合が低いものと判断してステップS106の非処理を実行することにする。
【0116】
本実施形態においては、この特徴ベクトルの内積に基づく処理が類似具合判断手段を構成しており、特徴ベクトルに基づく内積の演算であれば手法が確立しており判断も容易である。しかしながら、むろんこの例に限るものではない。例えば、全階調範囲を四つの領域に分割しているが、これら以上とすることは自由であるし、度数分布の両端位置や、標準偏差、尖度などの統計的手法を用いてその近似度を求めることも可能である。
【0117】
ここで、このような統計的手法を用いて近似度を求める具体的手法について説明する。統計的手法の一例には、分布の代表値を利用するものがあげられる。いま、変数として平均値、中央値、標準偏差(分散)の差の絶対値を赤成分と緑成分、緑成分と青成分、青成分と赤成分との間で求めておく。そして、平均値と標準偏差について赤成分と緑成分の差の絶対値をAve_rg,Std_rgとしたとき、赤成分と緑成分の間の評価関数として
h(rg)=(1−Ave_rg/255)×(1−Std_rg/255)と設定する。また、同様に緑成分と青成分の間の評価関数として、
h(gb)=(1−Ave_gb/255)×(1−Std_gb/255)と設定するとともに、青成分と赤成分との間の評価関数として、
h(br)=(1−Ave_br/255)×(1−Std_br/255)と設定する。分布が似ている場合には平均値、中央値、標準偏差(分散)は殆ど同じになり、各変数の差も殆ど「0」になるから、評価関数hの値は「1」に近くなる。分布が異なる場合は差も大きくなり、評価関数hの値も小さくなる。従って、評価関数と実験で求められたしきい値とを比較することにより補正を行うか否かを決定することができるようになる。むろん、この場合に平均値の代わりに中央値を利用することも可能であるし、評価関数の具体例はこれに限られるものでもない。
【0118】
以上のような処理により各色成分毎に求めた度数分布についてある程度の類似具合が見つけられたら各度数分布から成分毎の特性を見出せるものと判断でき、かかる特性に基づいて各成分間の均一化を図る。なお、上述した各種の判断の結果、ステップS106にて非処理を実行してフラグをセットしている場合もある。このような場合には、ステップS202にて同フラグを参照しているので、以下の均一化の処理をすることなく本処理を終了する。
【0119】
特性の均一化の処理では、最初にオフセットの算出と修正を行う。いわゆる狭義の意味での色ずれの修正に該当し、特性の均一化を図るオフセットが本実施形態で実効値を構成する。本来であれば、図20に示すように被写体の色成分とRGBの各成分との間には正比例の関係がなければならないが、撮像素子の特性などによって各成分毎に変換特性がずれていることがある。従来は、このようなずれを通常の画像から判断することはできなかった。しかしながら、各色成分毎の度数分布を取ったときに概ね類似しているとすれば、これは本来的に一致すべきと判断できるので、各成分毎のずれであるオフセット量を検出できることになる。
【0120】
本実施形態においては、ステップS204にてこのオフセット量を求め、ステップS206ではかかるオフセット量を考慮して色ずれを修正するために利用するテーブルを作成している。
【0121】
RGBの階調データ(Rp,Gp,Bp )を利用している場合、テレビジョンなどでは全体の輝度ypを
yp=0.30Rp+0.59Gp+0.11Bp …(2)
として求めている。すなわち、緑成分が最も輝度に影響を及ぼしており、その意味で緑成分に対する他の色成分のずれを修正するのが全体の画像イメージを変化させないというメリットがある。
【0122】
一方、各色成分毎の度数分布のずれを求めるには、この度数分布の特徴部分を考慮することが望ましい。このため、本実施形態においては、上述した端部処理を施した度数分布の上端(Rmax,Gmax,Bmax)と度数分布上におけるメジアン(Rmed,Gmed,Bmed)とを利用している。両端位置は分布を判断する意味で有効である。ただし、下端位置については元々ずれの影響が分かりにくい範囲であるため、敢えて省略している。これにより、ずれの影響が大きい範囲で得られるずれだけを重視した修正が可能となる。分布の中央となるメジアンは極端な画素があったとしても度数分布の山の位置を示すことができる。この場合、かかる山の部分は画像のイメージに大きく影響を与える部分でもあるので特性を把握する意味で効果的である。
【0123】
このようにして得られた、青緑赤についての上端(Rmax,Gmax,Bmax)とメジアン(Rmed,Gmed,Bmed)から緑成分に対する他の色成分のずれdRmax,dBmax,dRmed,dBmedを次式に基づいて求める。
【0124】
dRmax=Gmax−Rmax …(3)
dBmax=Gmax−Bmax …(4)
dRmed=Gmed−Rmed …(5)
dBmed=Gmed−Bmed …(6)
そして、これらを参考として赤成分用オフセットdRと青成分用オフセットdBとを次式のようにして求める。
【0125】
dR=(dRmax+dRmed)/2 …(7)
dB=(dBmax+dBmed)/4 …(8)
ただし、−12<dR,dB<12とする。このように制限するのは度数分布だけで完全な色再現性を修正できる訳ではない場合に、この一例だけで大きく度数分布を修正してしまわないようにするためである。むろん、この範囲については実験的な経験より適当な値を定めればよい。また、分母の相違は(2)色に基づく影響の相違に対応しており、実験等に基づいて適宜変更可能である。
【0126】
これらはオフセット量に過ぎないから、実際の統計値を次式に基づいて修正して新たな上端Rmax2,Bmax2とメジアンRmed2,Bmed2と下端Rmin2,Bmin2とをする。
【0127】
Rmax2=Rmax+dR …(9)
Rmed2=Rmed+dR …(10)
Rmin2=Rmin+dR …(11)
Bmax2=Bmax+dB …(12)
Bmed2=Bmed+dB …(13)
Bmin2=Bmin+dB …(14)
なお、この対応関係は緑成分に対する赤成分と青成分のオフセット量に過ぎないことは明らかであり、階調値によって変化しているわけではない。従って、現実の各画素における画像データについては一律に当該オフセット量を加算すれば足りる。
【0128】
ただし、後述するように本実施形態においては他の要因に基づく画像データの修正も行なっており、個別に修正することは演算時間を要して不利である。従って、演算の効率化を図るべく、本実施形態においてはステップS206にて変換前のRGBの階調データ(R1,G1,B1)に対する変換後のRGBの階調データ(R2,G2,B2)という対応関係を表すテーブルを形成し、現実に画像データを修正するのは最後に一回だけとなるようにしている。
【0129】
一方、上述した実施例では、ベクトルの内積に基づいて類似度を求めるとともに同類似度をしきい値CORR(「0.7」)と比較して特性の均一化を行うか否かを決めている。従って、ベクトルの内積としきい値とがほぼ一致するような場合には、同じ画像でも周囲に付加されるビットの影響を受けて異なる判断結果がなされることになりかねない。
【0130】
むろん、特性の均一化を行うと判断されると上述したようなオフセット量が加算され、特性の均一化を行なわないと判断されると上述したようなオフセット量が加算されないことになるので、しきい値を挟んで大きな差が生じる。
【0131】
このようにして結果が大きく変わってしまうのを防止する手法として連続的に変化する窓関数を利用することが効果的である。
【0132】
x=min(corr_rg,corr_gb,corr_br) …(141)
とおくとともに窓関数f(x)は、
x<0.5 のとき f(x)=0
0.5≦x≦0.7 のとき f(x)=5・x−2.5
0.7<x のとき f(x)=1
とし、上記しきい値CORRを「0.5」とする。窓関数f(x)の変化状況を図30に示しており、x<0.5において一定の「0」となり、0.5≦x≦0.7において「0」から「1.0」へと直線的に増加し、0.7<xにおいて一定の「1.0」となる。そして、(7)式と(8)式において赤成分用オフセットdRと青成分用オフセットdBとを求めていたのをこのf(x)との積に改める。すなわち、
dR=f(x)・(dRmax+dRmed)/2 …(7)’
dB=f(x)・(dBmax+dBmed)/4 …(8)’
とする。図5および図6に示すフローチャートにおいては類似度がしきい値を越えていなければ非処理としてしまうが、このようにオフセットに対して窓関数を乗算する場合は、図31に示すフローチャートを実行する。すなわち、類似度に基づいて非処理とすることはやめ、ステップS205で窓関数を利用したオフセット量の算出を実行し、この算出したオフセット量を利用する。むろん、上述したようにx<0.7において窓関数f(x)が急激に「0」へ近づくため、しきい値付近であった画像が処理によって大きく変化するということはなくなるし、類似度が低いものについてはオフセットも殆ど「0」となって悪影響は与えない。また、このようにして算出したオフセット量dR,dBに基づいて(9)式〜(14)式も算出される。
【0133】
窓関数f(x)は上述した関数に限られるものでないことは明らかである。上述した例では、相関係数の最小値に基づいて窓関数の値を変化させているが、最小値に限られる必要はない。例えば、
f(corr_rg,corr_gb,corr_br) …(142)としてもよい。また、さらに一般的にして、
f(統計量)
としても良い。この場合、統計量には最小値、最大値、メジアン、標準偏差などが該当する。
【0134】
一方、窓関数は窓を開け閉めするごとくある領域において演算値を有効化させるとともに別の領域において演算値を無効化させるように機能する。今、色かぶりをその原因別に分類すると、上述した画像入力装置10のハードウェア性能などによる場合と、夕焼けなどによる意図的な色かぶりと、タングステンランプなどを利用した特殊な照明による色かぶりとに分類できる。そして、夕焼けなどによる意図的な色かぶりについては特性の統一化を図る必要がないことは上述したとおりであるが、タングステンランプなどを利用した特殊な照明による色かぶりの場合は特性の統一化を図ることも有意義である。
【0135】
夕焼けなどによる意図的な色かぶりとタングステンランプなどを利用した特殊な照明による色かぶりは、上述した相関係数から判断できる。すなわち、相関係数が極端に低い写真はこのような特殊な照明に起因するものであることが多く、窓関数を図32に示すように変形した。
【0136】
すなわち、x<0.5の領域を変形させ、
x<0.1 のとき f(x)=1.0
0.1≦x<0.3 のとき f(x)=−5・x+1.5
0.3≦x0.5 のとき f(x)=0
とした。これにより、xが「0.3」以下となると窓関数f’(x)は再び直線的に上昇し、xが「0.1」以下の領域で同窓関数f’(x)は一定の「1.0」となる。むろん、窓関数が「1.0」となったときには各成分の分布状況に基づいて演算された大きなオフセット量がそのまま適用され、照明の影響を打ち消して特性の均一化が図られる。
【0137】
なお、窓関数は遷移領域で直線的に変化する必要はなく、単調増加もしくは単調減少するような曲線的なものであっても構わない。
【0138】
また、図5に示すようにステップS116にて類似度をチェックし、類似度が低い場合にステップS106にて非処理を実行してフラグをセットしたり、あるいは、図31に示すようにステップS116を実行することなくステップS205にて窓関数を利用してオフセット量を算出することにより、実質的には類似度が低いときに特性の均一化を図らないようにしているので、これらのソフトウェア処理及びこれを実現するハードウェアなどによって修正制御手段を構成していると言える。
【0139】
一方、度数分布の広がり方に差がある場合にはこれを均一化させることが有効である。本実施形態においては、この度数分布の広がり方を均一化させつつ、度数分布を可能な範囲で拡大させて各成分毎にコントラストを強調させている。
【0140】
コントラストの強調は、階調範囲が「0」〜「255」としたときに、変換前の各色成分(R1 ,G1 ,B1 )と各成分の最大値Rmax2,Gmax,Bmax2と最小値Rmin2,Gmin,Bmin2から変換先の各色成分(R2 ,G2 ,B2 )を次式に基づいて求める。
【0141】
R2=far×R1+fbr …(15)
G2=fag×G1+fbg …(16)
B2=fab×B1+fbb …(17)
ただし
far=255/(Rmax2−Rmin2) …(18)
fag=255/(Gmax −Gmin ) …(19)
fav=255/(Bmax2−Bmin2) …(20)
fbr=−far×Rmin2あるいは255−far×Rmax2 …(21)
fbg=−fag×Gmin あるいは255−fag×Gmax2 …(22)
fbb=−fab×Bmin2あるいは255−fab×Bmax2 …(23)
また、上記変換式にてR2,G2,B2 <0ならばR2,G2,B2 =0とし、R2,G2,B2 >255ならばR2,G2,B2 =255とする。ここにおける、far,fag,fab は傾きであり、fbr,fbg,fbb はオフセットといえる。この変換式によれば、図22に示すように、あるせまい幅を持った輝度分布を再現可能な範囲まで広げることができる。なお、基本的に輝度の分布範囲の拡大においては、画素数が変化するわけではないので、ヒストグラムの面積は一致する。ただし、このように再現可能な範囲を最大限に利用して輝度分布の拡大を図った場合、ハイライト部分が白く抜けてしまったり、ハイシャドウ部分が黒くつぶれてしまうことが起こる。
これを防止するため本実施形態においては、拡大する階調範囲を制限している。
すなわち、全階調範囲の上端と下端に拡大しない範囲として階調値で「5」だけ残している。この結果、変換式のパラメータは次式のようになる。
【0142】
far=245/(Rmax2−Rmin2) …(24)
fag=245/(Gmax −Gmin ) …(25)
fav=245/(Bmax2−Bmin2) …(26)
fbr=5−far×Rmin2あるいは250−far×Rmax2 …(27)
fbg=5−fag×Gmin あるいは250−fag×Gmax2 …(28)
fbb=5−fab×Bmin2あるいは250−fab×Bmax2 …(29)
そして、この場合には階調「5」未満と、階調「250」以上については変換を行わないようにする。
【0143】
なお、本実施形態においては、ハイライト部分とハイシャドウ部分とを保持するために一律に階調範囲の端部から階調値にして「5」の範囲を非拡大領域としているが、ハイライト部分やハイシャドウ部分を比較的再現しやすいような画像出力装置であればその範囲を狭くしても良いし、再現力がさらに弱い場合にはより範囲を大きくするようにしても良い。また、一律に拡大しないのではなく、ボーダー領域で徐々に拡大率を制限するようにしていっても良い。
【0144】
また、図23(a)には画像の輝度分布が狭い場合を示しているが、これまで述べたようにして輝度分布の拡大率(far,fag,fabに対応)を適用してしまうと、再現可能な範囲に合わせて非常に大きな拡大率が得られる場合も生じてくる。
すると、夕方のような薄暮の状態では最も明るい部分から暗い部分までのコントラストの幅が狭くて当然であるのに、この画像についてコントラストを大きく拡大しようとする結果、昼間の画像のように変換されてしまいかねない。このような変換は希望されないので、拡大率には制限を設けていおき、far,fag,fabが1.5(〜2)以上とはならないように制限する。これにより、薄暮は薄暮なりに表現されるようになる。
【0145】
拡大率に制限を設けない場合を図23(a)の一点鎖線に示しており、変換後には再現可能な範囲で余分な部分は残っていない。しかしながら、拡大範囲を制限する場合には、同図(b)の二点鎖線で示すように、変換後の分布をどこに持ってくるかの自由度が生じてしまい、場合によっては全体的に明るくなりすぎたり、暗くなり過ぎたりしかねない。従って、このような場合には、変換前における階調範囲内において上端側と下端側に残っている残余の領域の割合(m1:m2)が、変換後において上端側と下端側に残っている残余の領域の割合(n1:n2)と一致するように変換すればよい。
【0146】
以上のようにしてパラメータfar,fag,fab,fbr,fbg,fbbを得る処理をステップS208にて実行し、続くステップS210ではステップS206と同様に変換テーブルを作成する。このときの変換テーブルは図21に示す変換後の成分値(R1,G1,B1)を入力として対応関係を演算し、変換テーブルにおける変換後の成分値(R1,G1,B1)と入れ換える。これにより、同変換テーブルを参照すればステップS204にて求めたオフセット量の加算とステップS208にて求めたコントラストの強調処理という二つの処理を同時に実施することになる。
【0147】
一方、度数分布の各色成分間のずれとして、もう一つ、全体的な明るさという要素が残る。従って、ステップS214にてこの明るさのずれを均一化させるγ補正をかけるため、ステップS212にてγを算出する。例えば、図24にて実線で示す赤成分の度数分布の山が全体的に暗い側に寄っていたり、同図にて一点鎖線で示す青成分の度数分布の山が全体的に明るい側に寄っていたりした場合に、同図鎖線で示す緑成分の度数分布の山のように全体的に中央に寄るように修正移動させると良い。
【0148】
各種の実験を行った結果、本実施形態においては、度数分布におけるメジアンを基準に判断し、同メジアンが「85」未満である場合に暗い画像と判断して以下のγ値に対応するγ補正で明るくする。
【0149】
γr=Rmed2/85 …(30)
γg=Gmed/85 …(31)
γb=Bmed2/85 …(32)
あるいは、
γr=(Rmed2/85)**(1/2) …(33)
γg=(Gmed/85)**(1/2) …(34)
γb=(Bmed2/85)**(1/2) …(35)
とする。
【0150】
この場合、γr,γg,γb<0.7となっても、γr,γg,γb=0.7とする。このような限界を設けておかないと夜の画像が昼間のようになってしまうからである。なお、明るくしすぎると全体的に白っぽい画像になってコントラストが弱い画像になりやすいため、彩度を合わせて強調するなどの処理が好適である。
【0151】
一方、メジアンが「128」より大きい場合に明るい画像と判断して以下のγ値に対応するγ補正で暗くする。
【0152】
γr=Rmed2/128 …(36)
γg=Gmed/128 …(37)
γb=Bmed2/128 …(38)
あるいは、
γr=(Rmed2/128)**(1/2) …(39)
γg=(Gmed/128)**(1/2) …(40)
γb=(Bmed2/128)**(1/2) …(41)
とする。この場合、γr,γg,γb>1.3となっても、γr,γg,γb=1.3として暗くなり過ぎないように限界を設けておく。なお、暗くしすぎると色が乗りすぎて濃い画像になるので、合わせて彩度強調を弱くするなどの処理が好適である。ただし、明るい背景の中の被写体に対してはこのような暗くする処理はかえって悪影響を及ぼす場合もある。例えば、空が画像の半分をしめるような風景画像や晴れた日の記念写真などでは、ただでさえ逆光で顔が暗くつぶれ気味であることが多いからである。これらの画像の場合は暗い部分と明るい部分とが混じっているので各色成分の標準偏差を求めると比較的高い値となっていることが多い。従って、そのような標準偏差が「70」よりも大きいような場合には暗くするためのγ補正を行わないようにすることも可能である。γ補正をした場合における対応関係を図25に示しており、γr,γg,γb<1であれば上方に膨らむカーブとなり、γr,γg,γb>1であれば下方に膨らむカーブとなる。なお、明るさの修正に関しては必ずしも度数分布に基づく必要はなく、他の要素から明るさを判断して修正するようにしても良い。
【0153】
以上のようにして決定したγr,γg,γbに対してγ補正するには次式のようにする。変換前の階調値r0,g0,b0に対して変換後の階調値R1,G1,B1は、
R1=255*(r0/255)**γr …(42)
G1=255*(g0/255)**γg …(43)
B1=255*(b0/255)**γb …(44)
なお、このγ補正も図21に示す変換テーブルに対して実行する。すなわち、コントラスト強調の場合と同様に図21に示す変換後の成分値(R1,G1,B1)を入力として対応関係を演算し、変換テーブルにおける変換後の成分値(R1,G1,B1)と入れ換える。これにより、同変換テーブルを参照すればオフセット量の加算とコントラストの強調処理に加えて明度の修正の処理を同時に実施することになる。
【0154】
そして、最後に、ステップS216にて画像データの変換を行い、全画素の画像データ(rm,gm,bm)について図21に示す変換テーブルを参照し、変換後の画像データ(Rm,Gm,Bm)を得るという処理を繰り返すことになる。
【0155】
本実施形態においては、オフセット量による修正と、コントラストの強調と、明るさの修正とをこの順番に実施しているが、必ずしもこの全てを実施しなければならないわけではないし、また、個々の修正手法も適宜変更して実施することもできる。
【0156】
例えば、上述した実施形態においては、コントラストの強調処理においては、変換前の成分値に対して直線的な対応関係をなす変換式で修正を行うようにしているが、より滑らかな変換となるように、図26に示すようないわゆるS字カーブの変換を行うようにしても良い。また、この場合、度数分布の広がりを両端位置で判断するのではなく、分布の散らばり具合を表す標準偏差の概念を利用することも可能である。以下、標準偏差を利用したS字カーブの対応関係でコントラストを強調する例を示す。なお、各成分毎の度数分布に基づいて変換は行うものの、演算手法は全てにおいて共通するため、輝度の表現で表し、変換前の輝度yより変換後の輝度Yを得る手順を示しておく。
【0157】
標準偏差については二つの考え方があるが本実施形態においては、次式に基づいて演算する。
【0158】
【数5】
【0159】
yp:各画素の変換前の輝度
ym:各画素の変換前の輝度の平均値
標準偏差は輝度分布の広がり量に対応するものであるが、広がり量を表す意味では分散を利用してもよい。また、本実施形態のように全体としての階調数が256階調となっているので、分布の尖度kから広がり量を求めることも可能である。
【0160】
【数6】
【0161】
なお、ここにいうk=3の尖度が正規分布の広がり量に相当する。
【0162】
このようにして求めた輝度分布の広がり量である標準偏差σに基づいて、コントラストの強調は分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てることでもあり、図26に示すように入出力の対応関係がいわゆるS字カーブとなると変換前に割り当てられている階調範囲rng0に対して変換後に割り当てられる階調範囲RNG1は大きくなり、割り当てられた階調数が多くなったことになる。一方、入力における低輝度側と高輝度側における階調範囲rng0を外れた範囲についていえば、変換後に割り当てられる階調範囲は少なくなったことになる。
【0163】
本実施形態においては、階調範囲の中心位置ymidを「128」として、この中心位置ymid以下ではγ1を与えるとともに、中心位置ymid より大きい範囲ではγ2を与えたγ補正を行うものとし、このγ1,γ2を標準偏差σに基づいて定める。すなわち、
y≦128では、
γ1=(σstd_limit/σ)**fc …(47)
y>128では、
γ2=(σ/σstd_limit)**fc …(48)
とし、ステップS204にてこれらのパラメータ演算を実行する。ここにおいて、σstd_limitとfcは変換結果を考慮して実験的に求めて与えたパラメータであり、本実施形態においてはσstd_limitを「128」とするとともにfcを「0.1」としている。標準偏差σは概して「128」よりも小さな値となるからこれらの関係式では標準偏差σが大きいと、γ2とγ1はそれぞれ「1」に近づくことになり、S字カーブの傾斜は緩やかになる。これは、広がり量が大きいときに中心位置ymidを中心とする階調範囲rng0に対して変換先の階調範囲RNG0はさほど広くならないことを意味しており、より具体的には画像データの輝度が広く分布しているときには輝度範囲を拡大するような変換を行わないことを意味する。
これに対して、標準偏差σが小さいと、γ2とγ1はそれぞれ「1」から離れることになり、S字カーブの傾斜は急になる。これは、広がり量が小さいときに中心位置ymidを中心とする階調範囲rng0に対して変換先の階調範囲RNG1が広く拡大されることを意味しており、より具体的には画像データの輝度が狭い範囲にしか分布していないときには輝度範囲を拡大させる変換を行なうことを意味する。
【0164】
本実施形態においては、S字カーブの対応関係をγ補正によって成立させているが、図27には、階調「0」、下方側四分点yq1、中心位置ymid、上方側四分点yq3、階調「255」という五点を基準点としつつ、階調「0」と中心位置ymidと階調「255」に対してはY=yとしつつ、下方側四分点yq1と上方側四分点yq3における変換点を標準偏差に基づいて決定する。そして、これらの五点を結ぶ対応関係をスプライン補間演算やニュートン補間で求める。むろん、中心位置ymidから下方側の三点や上方側の三点をそれぞれスプライン補間演算やニュートン補間で求めるようにしてもよい。
【0165】
すなわち、図28に示すように、ステップS230にて各成分毎に標準偏差σr,σg,σb を求め、ステップS232にて各色成分毎のγ1,γ2を求め、ステップS234にてγ1,γ2を利用した対応関係に基づいて変換テーブルを作成する。これらのステップS230〜S234を図6に示すフローチャートにおけるステップS208〜S214の処理に代えて実行する。
【0166】
次に、上記構成からなる本実施形態の動作を順を追って説明する。
【0167】
スキャナ11などで写真を撮像したとすると、同写真をRGBの階調データで表した画像データがコンピュータ21に取り込まれ、CPUは図5及び図6に示す画像処理のプログラムを実行して画像データの色再現性を修正する処理を実行する。
【0168】
まず、ステップS102では画像データを所定の誤差内となる範囲で間引き、選択した画素について各色成分毎に度数分布を求める。このままの度数分布を使用することはできず、まず、画像が白黒のような二値画像でないかステップS104にて判断するとともに、ステップS108では自然画か否かを判断する。二値画像である場合や自然画でない場合などを除き、ステップS110では画像データに枠部がないか判断し、枠部があれば除いた後、ステップS114にて度数分布の両端の不明瞭領域を取り除く。この状態で各色成分毎の度数分布について特徴ベクトルを求め、特徴ベクトル同士の内積から度数分布の類似度をチェックする。各色成分毎の度数分布があまり似ていないときには、元の画像データにおいて意図的にカラーバランスがずれていることの裏付けとなり、特性を均一化させる処理は行わない。しかしながら、所定のしきい値との比較においてある程度の類似性が見られる場合にはカラーバランスがずれてしまっているものと判断して、以下のような特性の均一化を図る。
【0169】
すなわち、ステップS204では度数分布の上端とメジアンを利用して緑成分に対する赤成分オフセットdRと青成分用オフセットdBとを求め、ステップS206では最後の画像データ変換のための変換テーブルを形成する。続いて、ステップS208では各色成分毎にコントラストの均一化を図りつつ同コントラストを強調するためのパラメータを演算し、ステップS210では同パラメータに基づいてコントラスト強調させつつ各色成分毎のコントラストのバランスを一致させるための変換テーブルを作成する。そして、ステップS212では各色成分毎の明るさを均一化させるためのγ補正のパラメータを演算し、かかるγ補正を施すことになる変換テーブルを作成する。
【0170】
最後に、ステップS216にて上述したようにして作成されている変換テーブルを参照して全画素についての画像データを変換する。
【0171】
この場合は類似性があるか否かに応じてステップS202で処理を分けているが、図31に示すフローチャートを実行する場合には類似具合に応じてオフセット量という実効値を変化させ、実質的に特性の均一化を図ったり図らなかったりする。
【0172】
むろん、上述したように二値画像や自然画でない場合などにおいてはかかる画像処理は行われないが、本発明の画像処理が行われた場合には、写真の状態では色ずれなどの入力機器に起因するような色再現性の悪かった画像データであるにもかかわらず、各色成分毎に色ずれとコントラストと明るさとが均一化するとともにコントラストを強調されてメリハリのある良好な画像が極めて容易に得られるようになる。
【0173】
なお、上述した実施形態においては、いくつかのパラメータを一定としているが、コンピュータ21上では所定のGUIを介してユーザーが選択できるようにしても良い。
【0174】
このように、ステップS102で間引きするなどしながら画像データについて各色成分毎の度数分布を求め、ステップ116にて度数分布間に類似性があるか否かを判断し、類似性が低くなければ本来的に度数分布から見出される特性は一致するものと判断して、ステップS204〜S216にてオフセット修正やコントラスト強調や明るさ修正によってずれを修正することにより、色再現性の悪い画像データであってもメリハリのある良好な画像としつつ、かかる作業を自動化し、非熟練者でも容易にカラーバランスの修正を行うことができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる画像処理装置が適用される画像処理システムのブロック図である。
【図2】同画像処理装置の具体的ハードウェア構成例を示すブロック図である。
【図3】本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図4】本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図5】本発明の画像処理装置における度数分布検出手段と類似具合判断手段とに相当するフローチャートである。
【図6】本発明の画像処理装置におけるオフセット量修正手段とコントラスト修正手段と明るさ修正手段とに相当するフローチャートである。
【図7】変換元の画像における座標を示す図である。
【図8】サンプリング周期を示す図である。
【図9】サンプリング画素数を示す図である。
【図10】変換元の画像とサンプリングされる画素の関係を示す図である。
【図11】度数分布を検出するための配列変数を示す図である。
【図12】グレー画像抽出間引き処理のフローチャートである。
【図13】白黒の画像を示す図である。
【図14】白黒の画像の輝度分布を示す図である。
【図15】非自然画と自然画の場合の各色成分毎の度数分布の状態を示す図である。
【図16】枠部のある画像を示す図である。
【図17】枠部のある画像の度数分布を示す図である。
【図18】度数分布の端部処理と端部処理にて得られる端部を示す図である。
【図19】各色成分毎の特徴ベクトルとするための要素の抽出方法を示す図である。
【図20】色再現性の修正の必要のないリニアな関係を示す図である。
【図21】度数分布に基づいて画像データを変換する際の変換テーブルを示す図である。
【図22】度数分布の拡大と全階調の範囲を示す図である。
【図23】コントラストの拡大率に制限を与える場合を示す図である。
【図24】明るさの均一化を図る必要のある度数分布を示す図である。
【図25】γ補正で変更される変換関係を示す図である。
【図26】S字カーブの対応関係でコントラストを強調させる変換関係を示す図である。
【図27】特定した変換点を補間法で接続する場合の変換関係を示す図である。
【図28】S字カーブでコントラストと明るさを修正する場合の部分フローチャートである。
【図29】画像処理プログラムを記録する媒体から同プログラムをハードディスクに転送する状態を示す図である。
【図30】利用する窓関数の変化状況を示すグラフである。
【図31】窓関数を利用してオフセット量を調整する場合における画像処理プログラムのフローチャートである。
【図32】利用する他の窓関数の変化状況を示すグラフである。
【符号の説明】
10…画像入力装置
11…スキャナ
11b…スキャナ
12…デジタルスチルカメラ
12a…デジタルスチルカメラ
12b…デジタルスチルカメラ
13b…モデム
20…画像処理装置
21…コンピュータ
22…ハードディスク
30…画像出力装置
31…プリンタ
31a…プリンタ
31b…プリンタ
32…ディスプレイ
32a…ディスプレイ
41…フレキシブルディスク
42…CD−ROM
43…ハードディスク
44…ROM
45…RAM
46a…通信回線
46b…モデム
46c…ファイルサーバ
【特許請求の範囲】
【請求項1】複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力する画像処理装置であって、
各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する修正制御手段を具備することを特徴とする画像処理装置。
【請求項2】上記請求項1に記載の画像処理装置において、上記修正制御手段は、類似程度が小さい場合には上記修正を図らないようにすることを特徴とする画像処理装置。
【請求項3】上記請求項1または請求項2のいずれかに記載の画像処理装置において、上記修正制御手段は、上記階調表色データの取りうる階調範囲を複数の領域に分け、各領域ごとの分布の比較で各色成分間の類似程度を判断することを特徴とする画像処理装置。
【請求項4】上記請求項1〜請求項3のいずれかに記載の画像処理装置において、上記修正制御手段は、各色成分の分布を要素とするベクトルの内積に基づいて類似程度を判断することを特徴とする画像処理装置。
【請求項5】上記請求項1〜請求項4のいずれかに記載の画像処理装置において、カラーバランスの修正の程度を表す実効値を利用するとともに、上記修正制御手段は、この実効値を変化させることによって実質的に修正を制御することを特徴とする画像処理装置。
【請求項6】上記請求項5に記載の画像処理装置において、上記修正制御手段は、上記実効値を連続的に変化させて修正を制御することを特徴とする画像処理装置。
【請求項7】上記請求項1〜請求項6のいずれかに記載の画像処理装置において、上記カラーバランスの修正は、各色成分ごとの分布結果に基づいて各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図ることを特徴とする画像処理装置。
【請求項8】上記請求項7に記載の画像処理装置において、各色成分間の特性の均一化は、各色成分毎に階調値の変換関係を特定し、各画素毎に各色成分値を変換することによって行なうことを特徴とする画像処理装置。
【請求項9】複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御することを特徴とする画像処理方法。
【請求項10】コンピュータによって画像処理するプログラムを記録した媒体であって、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御することを特徴とする画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体に関し、特に、カラーバランスの修正を制御する画像処理装置および画像処理方法並びに画像処理プログラムを記録した媒体に関する。
【0002】
【従来の技術】
従来、カラーバランスを修正するというと、いわゆる色かぶりなどを修正することを指していることが多い。すなわち、画像入力装置などにおける色ずれに対する修正処理である。
【0003】
例えば、デジタルスチルカメラなどにおいては、画像データをRGB(赤緑青)の階調表色データとして出力している。この場合、レンズやCCD素子の特性により、特定の色、例えば、赤色が実物の色よりも強調されたいわゆる色ずれのあるものも見受けられる。
【0004】
従来、このような色ずれのある画像データに対して、何らかの修正を行いたい場合には、画像処理ソフトなどに読み込み、作業者が所定の操作を経て試行錯誤により強調色の成分値を弱くしている。
【0005】
【発明が解決しようとする課題】
上述した従来の修正手法においては、次のような課題があった。
【0006】
作業者が試行錯誤で修正を行うものであるため、正確さに乏しいし、非熟練者には困難である場合がある。
【0007】
また、一律に所定の成分値を増減するものであるため、全階調にわたって正しく修正されているともいえない場合がある。
【0008】
さらには、単なる色ずれ以外の要素を含んでいる場合に、効率の良い修正が可能であるとは言えなかった。
【0009】
また、各画素の色を表す各成分毎の階調表色データが正しいものであるか否かという判断は根本的には標準色などとの対比を行わなければ不可能であるし、場合によっては外的要因によってある成分が強調されることの方が当然のこともありえることを考慮すれば、色ずれがあるか否かを自動的に判断することは極めて困難であるといわざるを得ない。
また、分布の特性が一致しないことが当然である場合もある。例えば、夕方の景色であれば、赤系統の色彩だけとなっても不自然さはない。このような場合には、各色成分毎の分布から判断される特性を均一化することの方が不自然でもある。
【0010】
本発明は、上記課題にかんがみてなされたもので、いわゆる色ずれなどの色再現性の修正を自動化して総合的にカラーバランスを修正するにあたり、却って不自然な修正とならないようにすることが可能な画像処理装置および画像処理方法並びに画像処理プログラムを記録した媒体の提供を目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明においては、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力する画像処理装置であって、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分 の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する修正制御手段を具備する構成としてある。
【0012】
上記のように構成した請求項1にかかる発明は、上記修正制御手段が、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求める。そして、各色成分ごとに分けられて得られた分布結果に基づいて各色成分の間の類似程度を求める。そして、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する。
【0013】
例えば、請求項2にかかる発明においては、上記請求項1に記載の画像処理装置において、上記修正制御手段は、上記類似程度が小さい場合には上記修正を図らないようにする構成としてある。
【0014】
上記のように構成した請求項2にかかる発明は、まず各色成分間の類似程度を判断する。赤(R)緑(G)青(B)の色成分からなるときに夕方の景色であれば、赤の成分だけに分布する偏った分布が得られることになり、青や緑の成分についての分布は極端に減少する。このようなときに分布の特性が均一化しないのは当然であり、各色成分間の類似程度は極めて小さく、特性の均一化を図らない。一方、各色成分が平均的に現れたような場合には分布の類似程度は大きいと判断され、このような場合にこそ相互の特性を均一化させることにより、画像入力装置などに固有の偏りを低減させることも可能となる。
【0015】
このように、各色成分ごとに階調表色データの分布の類似程度を求め、この類似程度が小さい場合にカラーバランスを修正しないようにさせる。
分布の類似程度を判断するにあたり、必ずしも全ての階調での度数分布を用いて個別に比較する必要はなく、そのような場合に好適な一例として、請求項3にかかる発明は、上記請求項1または請求項2のいずれかに記載の画像処理装置において、上記修正制御手段は、上記階調表色データの取りうる階調範囲を複数の領域に分け、各領域ごとの分布の比較で各色成分間の類似程度を判断する構成としてある。
【0016】
上記のように構成した請求項3にかかる発明は、分布の類似程度を判断するにあたり、階調表色データの取りうる階調範囲を複数の領域に分け、それぞれの領域毎の分布を各色成分間で比較する。これにより、各階調ごとにみた分布を比較する労力が低減する。
【0017】
一方、分布の類似程度の判断は、各種の手法が採用可能であるが、その一例として、請求項4にかかる発明は、上記請求項1〜請求項3のいずれかに記載の画像処理装置において、上記修正制御手段は、各色成分の分布を要素とするベクトルの内積に基づいて類似程度を判断する構成としてある。
【0018】
ベクトルの内積は互いの相関関係を見る上で簡易に行える。従って、その手法を採用すべく、分布自体をベクトル要素と同様に考え、各色相互間で内積を求める。最も類似程度が大きい場合には「1」となるし、類似程度が小さければ「0」に近づく。分布をベクトル要素と考えるにあたり、必ずしも全階調数分の要素とする必要はなく、請求項3に記載した発明の場合には全階調範囲をいくつかに分類した領域での分布をベクトルの要素とすればよい。
【0019】
類似程度が小さい場合には特性の均一化を図らないようにする手法として、類似程度と所定のしきい値とを比較し、比較結果に基づいて判断を分岐させることが可能である。一方、同様に類似程度が大きい場合に特性の均一化を図り、類似程度が小さい場合に特性の均一化を図らないようにする手法として、実効値を制御する手法も採用可能である。そのような一例として、請求項5にかかる発明は、請求項1〜請求項4のいずれかに記載の画 像処理装置において、カラーバランスの修正の程度を表す実効値を利用するとともに、上記修正制御手段は、この実効値を変化させることによって実質的に修正を制御する構成としてある。
【0020】
上記のように構成した請求項5にかかる発明は、カラーバランスの修正の程度を表す実効値を利用しており、この実効値を変化させることによって実質的に修正を有効化させたり無効化させる。このような制御には窓関数などが有効であり、より具体的には、有効化させたいときに「1」をとるとともに無効化させたいときに「0」となる窓関数を実効値に積算すればよい。
【0021】
一方、この例で言えば「1」から「0」へ、あるいは「0」から「1」へ変化する領域において不連続に変化すると、諧調表色データの取り込み方によっては類似程度の判断が微妙に変化してしまうことがある。すると、同じ画像でありながら判断結果が正反対となってしまうということも生じる。従って、このような場合の対策として実効値が連続的に変化するようにしている。むろん、窓関数は各種の変形例が可能であるし、要因によっては例外的な扱いをするべく、類似程度の小さな領域で実効値を有効とさせたり、その逆の扱いをすることも可能である。むろん、ここでいう実効値は、修正量であるとか補正量であるとかオフセット量であるなど、広く修正に関与する値を指すものであるし、上述した窓関数についてもこの実効値を演算する過程において利用される一変数であっても構わない。
このため、請求項6にかかる発明は、上記請求項5に記載の画像処理装置において、上記修正制御手段は、上記実効値を連続的に変化させて修正を制御する構成としてある。
【0022】
また、一般的には類似程度が小さいことは機器に起因する色ずれではない。しかしながら、特殊な照明によって類似程度が極端に変化する場合もある。従って、類似程度が小さい場合であってもその原因によっては特性の均一化を図ることが有効である場合もある。従って、一般的には類似程度が小さいときに特性の均一化を図らないようにしつつも、原因に応じて類似程度が小さい場合でも特性の均一化を図るようにしてもよい。例えば、類似程度が極端に小さくなった場合には特性の均一化を図ることとし、これを実現するために類似度に対応した窓関数を利用することも可能である。
【0023】
このように各色成分間の類似程度に基づいて特性の統一化を図るという思想については、必ずしも特性統一化の手法が限定されるものではない。しかしながら、特性統一化を図る一例として、以下のようにすることもできる。
【0024】
その一例として、請求項7にかかる発明は、上記請求項1〜請求項6のいずれかに記載の画像処理装置において、上記カラーバランスの修正は、各色成分ごとの分布結果に基づいて各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図る構成としてある。
【0025】
また、請求項8にかかる発明は、上記請求項7に記載の画像処理装置において、各色成分間の特性の均一化は、各色成分毎に階調値の変換関係を特定し、各画素毎に各色成分値を変換することによって行なう構成としてある。
上記のように構成した請求項7にかかる発明においては、各色成分毎に階調表色データの分布を求めるとともに各色成分の間でのずれを求め、求められたずれに基づいて各色成分間の特性の均一化を図っている。そして、上記のように構成した請求項8にかかる発明においては、各色成分毎に階調値の変換関係を特定し、各画素毎に各色成分値を変換することによって各色成分間の特性の均一化を行なう。
【0026】
デジタルスチルカメラを例に取れば、従来、カラーバランスを修正するということは、 各画素毎における色成分の変換特性が一致しているか否かを、各色毎に成分値が強調気味であるか否か判断して調整していた。これに対し、本発明では、各色成分毎に階調表色データの分布を求め、各色成分毎に分離した状況で特性を見出し、そのような特性の均一化を図っている。すなわち、画像の内容を問わず、各色成分ごとに階調表色データの分布の特性が一致するようなときに画像としては色ずれのないメリハリのある画像が得られることが分かり、かかる特性の均一化を分布に基づいて求めている。なお、ここにいう均一化とは厳密な意味での均一化を意味しているのではなく、少なくとも傾向を均一化させる程度で構わない。
【0027】
この意味で、分布は画像データにおける各成分ごとの分布状況を見出せるようなものであればよく、度数分布を含めて各種の統計的手法も採用可能である。例えば、度数分布から導き出される標準偏差であるとかメジアンであるとか最頻値といった二次加工的データを利用することも可能である。この場合、度数分布は処理が容易で簡易化させることができるメリットを有している。
【0028】
一方、上述したような分布を求める際に、必ずしも全画素を同等に扱わなければならないわけではない。そして、その一例として、各色成分の階調表色データが近似している画素を上記分布の対象とする構成としてもよい。
【0029】
本来、人が画像を見て色ずれを判断できるのは、無彩色であろうものに色が付いているような場合である。すなわち、赤いものだけを見ている場合には本来の色を知らない限り色ずれか否かは判断できない。従って、無彩色の画素だけについて特性のばらつきを見るのも各色間のバランスを検討するには有効といえる。
このため、特性均一化では各画素毎に、各色成分の階調表色データが互いに近似しているか否かを判断し、近似している場合にのみ分布の対象として計数し、このようにして得られた分布に基づいて特性の均一化を図るようにしている。
【0030】
各画素における色成分の階調表色データが近似しているか否かは、最大値と最小値とを求めてその差で判断すればよい。また、極値のデータは飽和している可能性も大きいので扱わないとすることも可能である。
【0031】
ところで、特性の均一化を図る一例として、上記分布における所定位置から特性を判断し、当該特性が均一化するように各成分間のずれに対応するオフセット量を求めて各成分値を修正する構成としてもよい。
【0032】
上記のように構成した場合、各色成分毎に分布を求める過程を含めて、上端や下端、平均値やメジアンや最頻値といったいくつかの位置が求められることになるが、これらから各成分毎の特性を見出すことが可能となる。そして、これらの各成分間でのずれが具体的な色ずれの一要因となりうる特性であると考えられるので、同ずれに対応するオフセット量を求めて各成分値を修正する。
【0033】
具体的な位置の一例として、上記分布の範囲の端部位置を当該分布の特性と判断する構成としてもよい。
【0034】
上記のように構成した場合、分布の範囲の端部位置である上端や下端位置を当該分布の特性とみなして各成分間のずれを求める。
【0035】
個々の分布を見れば極めて多様な分布も上端位置であるとか下端位置であれば画一的に定まりやすく、特性の取得が容易となる。
【0036】
また、他の一例として、上記分布の略中央位置を当該分布の特性と判断する構成としてもよい。
【0037】
上記のように構成した場合、分布の略中央位置である平均値やメジアンや最頻値といった位置を当該分布の特性とみなして各成分間のずれを求める。
【0038】
同様に極めて多様な分布も略中央位置である平均値やメジアンや最頻値といった位置であれば画一的に定まりやすく、特性の取得が容易となる。
【0039】
一般の画像においては、各成分毎に成分の絶対値に差はあるものの分布の広がりというものについてはさほど変化がないことが多い。従って、かかる広がり量については各成分において均一化している方が自然であるといえる。このため、各色成分ごとの上記分布の広がりを略均一化させる構成としてもよい。
【0040】
上記のように構成した場合、各成分値ごとの上記分布の広がりを求め、略均一化させるように変換処理を行う。
【0041】
分布の広がりの観念は各種の把握が可能であり、特定のものに限定される必要はなく、その一例として、上記分布の広がりの両端を有効な階調範囲内で拡大させる構成としてもよい。
【0042】
上記のように構成した場合、分布が山形をなすものとしてその裾野の両端で分布の幅が分かるため、この幅を有効な階調範囲内で拡大させるように変換する。例えば、分布の幅が有効な階調の幅の一部にしかすぎないようであれば、コントラストの弱い画像といえるが、このような場合に有効な階調範囲の全幅にわたって分布が広がるように拡大させる。各色成分毎に有効な階調範囲の全幅にわたって分布が広がるように拡大すれば、分布の幅という特性において均一化する。なお、この場合の分布の幅は、現実の分布の幅のみならず、両端部分を所定量だけカットしてしまうなどして誤差範囲などを省略させるようなものでも構わない。
【0043】
また、他の一例として、同分布の広がり量に基づいて分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てる構成としてもよい。
【0044】
上記のように構成した場合、特性均一化手段が各成分毎の分布の広がり量を求め、求めた分布に基づいて各成分毎に分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てる。この広がり量の概念は分布の幅と同様に分布の散らばり方に対応するものであり、数学的表現であれば標準偏差であったり分散であったりあるいは尖度などといったものが該当しうる。このような広がり量としての特性が各成分毎に一致するように近づけるにあたり、分布密度の大きな部分が許容可能な範囲内で広がるように変換すると、各成分毎にずれていた広がり量の一致を見ることが可能となるとともに、分布が一部範囲に集中してしまうことなく有効な範囲をできる限り利用して分布することになるので、全体的にコントラストが強調されることになる。むろん、広がり量は標準偏差、分散あるいは尖度以外のものでもよいし、また、これらにおいても厳密な意味での計算を要するものではなく、演算の簡略化などを図ることもできる。
【0045】
さらに、各成分毎の分布に基づく明るさを均一化させる構成としてもよい。
【0046】
上記のように構成した場合、各成分毎の分布において明るさが不均一であるが故に色ずれのように見えることがありうるため、特性均一化では各成分毎の分布に基づく明るさを均一化させる。ここにおける明るさは分布の全体的な位置を表し、例えば、分布が全体的に明るい側に位置すれば明るいと見なすし、全体的に暗い側に位置すれば暗いと見なす。
【0047】
むろん、全体の明るさの判断の手法は適宜変更可能であるし、また、明るくするか暗くするかの修正手法も適宜各種の手法を採用可能であるが、その一例として、上記分布の略中央位置と所定階調との比較において画像の明暗を判断する構成としてもよい。
【0048】
上記のように構成した場合、分布の略中央位置を有効な階調範囲の所定階調と比較し、比較結果に基づいて画像の明暗を判断する。
【0049】
例えば、分布を求める際に得られるメジアンは当該分布の中央位置としての条件を備えるが、かかるメジアンが全階調数内の中央値よりも大きいか小さいかで、全体としての明るさが明るいか暗いかを判断することが可能である。
【0050】
また、画像の明暗の判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させる構成としてもよい。
【0051】
上記のように構成した場合、各種の手法にて画像の明暗を判断した後、同判断結果に基づいて各成分毎にγ補正で画像の明暗を均一化させる。例えば、画像が暗いようであればγ<1としたγ補正によって全体的に明るく修正することになり、同メジアンは全階調数の中央値に近づくし、明るいようであればγ>1としたγ補正によって全体的に暗く修正することになり、同メジアンは全階調数の中央値に近づくことになる。
【0052】
このようにカラーバランスの修正を制御する手法は必ずしも実体のある装置に限られるものではなく、その一例として、請求項9にかかる発明は、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する構成としてある。
【0053】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【0054】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【0055】
その一例として、概略対等な色成分についての階調表色データからなるドットマトリクス状の画像データに基づいて印刷インクに対応した画像データに変換し、所定のカラープリンタに印刷せしめるプリンタドライバにおいても、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する構成とすることができる。
【0056】
このようにした場合には、プリンタドライバは入力された画像データを印刷インクに対応して変換するが、このときに画像データにおける各色成分毎に分布を求め、その類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を実行するか否かを制御して印刷する。すなわち、類似程度が低ければ敢えてカラーバランスの修正を行わないで印刷することにより、全体として不自然とならないようにすることができる。
【0057】
発明の思想の具現化例として画像処理装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【0058】
その一例として、請求項10にかかる発明は、コンピュータによって画像処理するプログラムを記録した媒体であって、複数の画素からなる画像における各画素を概略対等な色成分からなる階調表色データによって表した画像データを対象とし、同画像データの各成分値を入力して所定の変換処理を施して出力するにあたり、各画素を処理の対象として注目画素を順次移動させながら、同注目画素の各色成分毎に階調表色データの分布を求め、各色成分ごとの分布結果に基づいて各色成分の間の類似程度を求め、この類似程度に基づいて上記画像データにおける各成分値に対するカラーバランスの修正を制御する構成としてある。
【0059】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。
【0060】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。さらには、カラーファクシミリ機、カラーコピー機、カラースキャナ、デジタルスチルカメラ、デジタルビデオカメラなどの画像処理装置においても適用可能であることはいうまでもない。
【0061】
【発明の効果】
以上説明したように本発明は、特性の均一化の手法に関わらず、分布の類似程度が小さいときにはあえて特性の均一化を図らないようにして、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することができる。
【0062】
また、請求項2にかかる発明によれば、分布の類似程度が小さいときにはあえて特性の均一化を図らないため、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することができる。
【0063】
さらに、請求項3にかかる発明によれば、階調範囲を複数の領域に分けて分布を求めるので比較が容易となる。
【0064】
さらに、請求項4にかかる発明によれば、各色成分毎の分布を要素とするベクトル同士の内積に基づいて類似程度を判断するため、判断が容易となる。
【0065】
さらに、請求項5と請求項6にかかる発明によれば、特性の均一化を図るための実効値を連続的に変化させることにより、画像処理結果に不連続性を発生させにくくすることができる。
【0066】
また、請求項7と請求項8にかかる発明によれば、各成分毎の分布の均一化という概念により、根本的に判断が困難な色ずれの判断を自動化でき、より容易にカラーバランスを調整することが可能な画像処理装置を提供することができる。
【0067】
さらに、本来的に階調表色データが近似している画素をピックアップして特性の判断に 利用すれば、特性のバラツキを求めるのに有効となる。
さらに、分布の位置のずれを利用すれば、比較的容易に各成分間のオフセット量を判断できる。
【0068】
さらに、分布の端部を利用すれば、画一的に判断しやすく、判断が容易となる。
さらに、分布密度の多い位置でのずれを利用すれば、全体のずれの修正における誤差が少ない。
【0069】
さらに、分布の広がりを均一化させることにより、各色成分毎に有効な階調数を有効に利用していないような場合に効率よく発色させることができ、メリハリを利かせることができる。
【0070】
さらに、判断の容易な分布の広がりの両端を用いて分布を拡大させれば、判断する構成が容易となる。
【0071】
さらに、数学的な手法などによる広がり量を利用すれば、より正確な判断が可能となる。
【0072】
さらに、各成分毎の明るさの均一化すれば、いずれかの成分だけが突出して生じるような色ずれを解消することができる。
さらに、分布の概略中央値をもってして明るさの判断とすれば、判断が容易となる。
【0073】
さらに、γ補正で明暗を変化させて明るさの均一化を図るのであれば、γ補正は広く利用されているので構成が容易となる。
【0074】
さらに、請求項9にかかる発明によれば、特性の均一化の手法に関わらず、分布の類似程度が小さいときにはあえて特性の均一化を図らないようにして、カラーバランスがずれているのが当然の場合に特性の均一化を図って不自然な画像となってしまうことを防止することが可能な画像処理方法を提供することができる。
【0075】
さらに、請求項10にかかる発明によれば、このような画像処理を行なうプログラムを記録した媒体を提供することができる。
【0076】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
【0077】
図1は、本発明の一実施形態にかかる画像処理システムをブロック図により示しており、図2は具体的ハードウェア構成例をブロック図により示している。
【0078】
同図において、画像入力装置10は画像を撮像するなどして画像データを画像処理装置20へ出力し、同画像処理装置20は特性を均一化するなどの画像処理を行なって画像出力装置30に出力し、同画像出力装置30はコントラストを強調された画像を表示する。
【0079】
ここにおいて、画像入力装置10の具体例はスキャナ11やデジタルスチルカメラ12あるいはビデオカメラ14などが該当し、画像処理装置20の具体例はコンピュータ21とハードディスク22などからなるコンピュータシステムが該当し、画像出力装置30の具体例はプリンタ31やディスプレイ32等が該当する。むろん、これら以外にもカラーコピー機やカラーファクシミリ機などにも適用可能である。
【0080】
本画像処理システムにおいては、色ずれに代表されるような色再現性の悪い画像を修正しようとしているものであるから、画像入力装置10としてのスキャナ11で写真を撮像した画像データであるとか、デジタルスチルカメラ12で撮影した画像データであるとか、ビデオカメラ14で撮影した動画画像などが処理の対象となり、画像処理装置20としてのコンピュータシステムに入力される。なお、ビデオカメラ14の入力画像については、演算速度が間に合わないこともあり得る。そのような場合には演算時間を要する最初の条件設定を撮影のシーンごとに行っておき、撮影中は同じ条件設定のもとで各フレームの画像変換だけを行なうということによって対処可能である。
【0081】
本画像処理装置20は、少なくとも、各色成分毎の度数分布を求める度数分布検出手段と、この検出された各色成分毎の度数分布の類似具合を判断する類似具合判断手段と、度数分布から各色成分のずれを判定して均一化する修正を行なうオフセット量修正手段と、度数分布から各色成分毎のコントラストの強弱のずれを判定して均一化する修正を行うコントラスト修正手段と、度数分布から各色成分毎の明るさのずれを判定して均一化する修正を行う明るさ修正手段とを構成する。むろん、本画像処理装置20は、この他にも機種毎による色の違いを補正する色変換手段であったり、機種毎に対応した解像度を変換する解像度変換手段などを構成していても構わない。この例では、コンピュータ21はRAMなどを使用しながら、内部のROMやハードディスク22に保存されている各画像処理のプログラムを実行していく。また、これらのプログラムを記録するにあたっては、図29に示すように、フレキシブルディスク41や、CD−ROM42のような可搬性のある媒体はもちろんのこと、ハードディスク43にインストールされた状態であるとか、ROM44やRAM45を有するICカードであるとか、あるいは、モデム46b等を介して通信回線46aを媒体とすることも可能である。この場合、通信回線46aの先にはファイルサーバ46cが接続され、当該ファイルサーバ46cが所定のソフトウェアを提供する。
【0082】
この画像処理のプログラムの実行結果は後述するように色再現性を修正したメリハリのある画像データとして得られ、得られた画像データに基づいて画像出力装置30であるプリンタ31で印刷したり、同じ画像出力装置30であるディスプレイ32に表示する。なお、この画像データは、より具体的にはRGB(緑、青、赤)それぞれについて「256」階調の階調データとなっており、また、画像は縦方向(height)と横方向(width)に格子状に並ぶドットマトリクスデータとして構成されている。
【0083】
本実施形態においては、画像の入出力装置の間にコンピュータシステムを組み込んで画像処理を行うようにしているが、必ずしもかかるコンピュータシステムを必要とする訳ではなく、図3に示すようにデジタルスチルカメラ12a内に色再現性などを修正する意味での画像処理装置を組み込み、変換した画像データを用いてディスプレイ32aに表示させたりプリンタ31aに印字させるようなシステムであっても良い。また、図4に示すように、コンピュータシステムを介することなく画像データを入力して印刷するプリンタ31bにおいては、スキャナ11bやデジタルスチルカメラ12bあるいはモデム13b等を介して入力される画像データについて自動的に色再現性を修正するように構成することも可能である。
【0084】
コンピュータ21にて実行する画像処理の内、度数分布検出手段と類似具合判断手段とに相当する処理を図5に示しており、各色成分毎の類似度が小さくない場合に実行されるオフセット量修正手段とコントラスト修正手段と明るさ修正手段とに相当する処理を図6に示している。なお、類似具合判断手段は広義の意味において類似具合に基づいて後段の処理の実効を制御する制御手段も構成しているといえる。
【0085】
図5は主に各色成分毎の度数分布を検出する処理に該当しており、まず、分布対象となる画素について説明する。
【0086】
全画素について度数分布を求めてもよいが、特性の傾向を判断することが目的であるため、必ずしも全画素についての度数分布を求める必要もない。従って、ある誤差の範囲内となる程度に間引きを行うことが可能である。本実施形態においては、図5のステップS102で示すように対象となる画素を間引く間引き処理を実行する。統計的誤差によれば、サンプル数Nに対する誤差は概ね1/(N**(1/2))と表せる。ただし、**は累乗を表している。従って、1%程度の誤差で処理を行うためにはN=10000となる。
【0087】
図7に示すように、ビットマップの画像であれば、縦方向に所定ドットと横方向に所定ドットからなる二次元のドットマトリクスとして成り立っており、このビットマップ画面は(width)×(height)の画素数となるので、サンプリング周期ratioは、
ratio=min(width,height)/A+1 …(1)
とする。このmin(width,height)はwidthとheightのいずれか小さい方であり、Aは定数とする。また、ここでいうサンプリング周期ratioは何画素ごとにサンプリングするかを表しており、図8の○印の画素はサンプリング周期ratio=2の場合を示している。すなわち、縦方向及び横方向に二画素ごとに一画素のサンプリングであり、一画素おきにサンプリングしている。A=200としたときの1ライン中のサンプリング画素数は図9に示すようになる。
【0088】
同図から明らかなように、サンプリングしないことになるサンプリング周期ratio=1の場合を除いて、200画素以上の幅があるときには最低でもサンプル数は100画素以上となることが分かる。従って、縦方向と横方向について200画素以上の場合には(100画素)×(100画素)=(10000画素)が確保され、誤差を1%以下にできる。
【0089】
ここにおいてmin(width,height)を基準としているのは次のような理由による。例えば、図10(a)に示すビットマップ画像のように、width>>heightであるとすると、長い方のwidthでサンプリング周期ratioを決めてしまった場合には、同図(b)に示すように、縦方向には上端と下端の2ラインしか画素を抽出されないといったことが起こりかねない。しかしながら、min(width,height)として、小さい方に基づいてサンプリング周期ratioを決めるようにすれば同図(c)に示すように少ない方の縦方向においても中間部を含むような間引きを行うことができるようになる。
【0090】
むろん、このようにしてサンプリングした画素については、図11に示すようにRGBのそれぞれの全階調に対応して用意されている配列変数(CNT_R,CNT_G,CNT_B)にてその成分値ごとにカウントし、度数分布を求める。
【0091】
なお、この例では、縦方向と横方向の画素について正確なサンプリング周期で間引いて度数分布を求めるようにしている。これは、逐次入力される画素について間引きしながら処理する場合に好適である。しかし、全画素が入力されている場合には縦方向や横方向についてランダムに座標を指定して画素を選択するようにしても良い。このようにすれば、10000画素というような必要最低限の画素数が決まっている場合に10000画素となるまでランダムに抽出する処理を繰り返し、10000画素となった時点で抽出を止めればよくなる。
【0092】
また、このような対象画素を特定することなく間引きを行なう単純間引き処理に対し、対象画素を特定した間引きを行うことも可能である。すなわち、各画素のRGBの各成分の差が小さいものであればグレーに近く、グレーの画素だけを抽出して度数分布を比較した場合には入力装置の色特性を判断しやすいともいえるからである。図12は、このようなグレー画素を抽出して間引く処理を示している。ステップS302では対象画素における各成分のうち、最大の成分を特定し、ステップS304では最小の成分を特定する。そして、ステップS306にて最大値と最小値との差である最大成分差を演算し、ステップS308にてこの最大成分差が所定のしきい値よりも小さい範囲内に入っているか否かを判断する。一例として、グレーに近い画素である以上、最大成分差は「52」階調以内であるとしておく。そして、そのような階調以内の画素についてステップS310にて度数分布を計数する。一方、そのような階調を超えていればグレーではないとして計数に利用しない。この後、ステップS312にて対象画素を次の画素へと移動させ、ステップS314にて最終画素と判断されるまで上述した処理を繰り返す。
【0093】
このように間引いて選択した画素について度数分布を求めたものの、必ずしもこの度数分布を用いて画像修正をすることが適切でない場合もあり得るため、以下に、三つの事項をチェックする。
【0094】
その一つ目は画像が白黒画像のような二値画像である場合である。白黒画像を含めて二値画像であれば色再現性の修正という概念は不適切である。図13に示すような白黒画像があったとすると、この画像に対する各色成分毎の度数分布は図14に示すように階調数の割り当て範囲内の両端に集中する。それも、基本的には階調「0」と階調「255」に集中する。
【0095】
従って、ステップS104で白黒チェックを行う場合には、各色成分毎に階調「0」と階調「255」の画素数の和が、間引いて選択した画素数と一致するか否かで判断できる。そして、白黒画像の場合であれば以下の処理を実行することなく処理を中断するためにステップS106にて非処理を実行する。本実施形態においては度数分布を求める前段の処理と、画像データを修正することになる後段の処理とに大きく分けているので、この非処理では後段の輝度変換処理も実行しないようなフラグを立てて当該分布抽出処理を終了している。
【0096】
二値データは白黒だけに限らず、色の付いた二値データもあり得る。このような場合も同様に色再現性の修正を図る処理は不要であり、分布状態を調べて二色となるような分布となっていれば二値データとして処理の中断を図ればよい。例えば、ある中間色と黒という二色であれば、各色成分毎の度数分布においても分布は二つの階調に集中している。一方、青と黒という二色であれば、青成分の度数分布においてのみ二階調に分布が集中し、赤成分と緑成分においては階調「0」にだけ分布が集中している。すなわち、二値データであれば分布の集中は二階調以下になっているので、配列変数をスキャンして度数が「0」以外の階調がいくつあるかをカウントすることによって二値画像であるか否かを判定できる。
【0097】
二つ目は画像がビジネスグラフのようなものか写真のような自然画であるか否かを考慮する。自然画においては色再現性の修正が必要なことはいうまでもないが、ビジネスグラフであるとか絵画のようなものではもともと使用している色の偏りがあるのが自然であり、そのような画像についての度数分布から各色成分の特性の均一化を図る処理を行うのは無理がある。従って、ステップS108では自然画か否かのチェックを行う。
【0098】
自然画では陰影を含めて色数が極めて多いがビジネスグラフやドロー系などのある種の絵画では色数が限られていることが多い。従って、色数が少なければ自然画ではないと判断することが可能である。RGBの各成分が256階調であるときには1670万色を表すことができ、色数を正確に判断しようとすればこの1670万色のうちの何色を使用しているかを判別するために色数だけの配列変数を用意する必要があり、現実的ではない。一方、すでに度数分布というものを求めているので、各色成分毎に何階調が有効に利用されているか否かを判断すれば、自然画の色数か否かは判断できる。
【0099】
図15(a)〜(c)はビジネスグラフの場合の度数分布の一例を示しており、同図(d)〜(f)は自然画の場合の度数分布の一例を示している。この例からも明らかなように、非自然画では度数分布が線スペクトル状となる。コンピュータ21内の処理では、各色成分毎に全階調にわたって度数が「0」でない階調の数をカウントし、足し合わせてみる。自然画であれば、全階調にわたって概ね一様に分散していると考えられ、カウント値は「768(=256×3)」となることが多いし、ビジネスグラフであれば、各色成分毎に「20」階調を利用したとしてもカウント値は「60(=20×3)」程度としかならない。従って、自然画か否かのしきい値として「200」を設定したとすれば、「200」以下であれば非自然画と判断すればよい。そして、非自然画であると判断したならばステップS106にて非処理を実行する。むろん、このしきい値「200」については適宜変更可能である。
【0100】
また、度数分布が線スペクトル状か否かは度数が「0」でない階調値の隣接割合で判断することも可能である。すなわち、度数が「0」でない階調値であって隣接する階調値に分布があるか否かを判断する。隣接する二つの階調値のうち少なくとも一方で隣接していれば何もせず、両方で隣接していない場合にカウントを行い、その結果、「0」でない階調値の数とカウント値との割合で判断すればよい。例えば、「0」でない階調値の数が「64」であって、隣接しないものの数が「64」であれば線スペクトル状に分布していることが分かる。
【0101】
さらに、オペレーティングシステムを介して画像処理プログラムが実行されているような場合には、画像ファイルの拡張子で判断することも可能である。ビットマップファイルのうち、特に写真画像などではファイル圧縮がなされ、その圧縮方法を表すために暗示の拡張子が利用されることが多い。例えば、「JPG」という拡張子であれば、JPEGフォーマットで圧縮されていることが分かる。
オペレーティングシステムがファイル名を管理していることから、プリンタドライバなどの側からオペレーティングシステムに問い合わせを出せば、同ファイルの拡張子が回答されることになるため、その拡張子に基づいて自然画であれば以下の処理を実行すればよい。また、「XLS」というようなビジネスグラフに特有の拡張子であれば非自然画であると判断でき、上述したように非処理を選択すればよい。
【0102】
三つ目に考慮することは、図16に示すように画像の周りに枠部があるか否かである。このような枠部が白色または黒色であれば、その度数分布は図17に示すように、階調数の割り当て範囲内における両端に線スペクトル状に表れるとともに、内部の自然画に対応して両端以外の内側に滑らかな度数分布としても表れる。
【0103】
むろん、枠部を度数分布に入れない方が適切であるため、ステップS108の枠部のチェックでは階調「0」と階調「255」の画素数の和が十分に大きく、かつ、間引いて選択した画素数とは一致しないかを判断し、肯定的ならば枠部があると判定してステップS112にて枠部処理を実施する。この枠部処理では、枠部を無視するために度数分布のうち階調「0」と階調「255」の画素数を「0」にセットする。これにより、以下の処理では枠部がないものと同様に扱うことができる。
【0104】
この例では白色または黒色の枠部を対象としているが、特定の色の枠がある場合も考えられる。このような場合、度数分布が描く本来の滑らかなカーブの中で突出する線スペクトル状のものが表れる。従って、隣接する輝度値の間で大きく差が生じている線スペクトル状のものについては枠部として考えて度数分布の対象としないようにすればよい。この場合、枠部以外でその色を使用していることがあり得るので、両隣の階調値の度数について平均を算出して割り当てるようにすれば良い。
【0105】
以上のような考慮を経た上で、非処理でない場合にはステップS114で度数分布の両端を求める。自然画における度数分布は図18に示すように概ね山形に表れることが多い。むろん、その位置、形状についてはさまざまである。このような度数分布の裾野は、統計的に見れば限りなく「0」に近づきながら推移していく。従って、ある度数分布を特定しようとする場合にはその山の両端を特定することが重要となってくるにもかかわらず、現実に度数が「0」となるという条件を課すとどの分布特性も一致してしまいかねない。
【0106】
このため、分布範囲において最も輝度の大きい側と小さい側からある分布割合だけ内側に入った部分を分布の両端とする。本実施形態においては、図18に示すように、この分布割合を0.5%に設定している。むろん、この割合については、適宜、変更することが可能である。このように、ある分布割合だけ上端と下端をカットすることにより、ノイズなどに起因して生じている白点や黒点を無視することもできる。逆に、このような処理をしなければ一点でも白点や黒点があればそれが度数分布の両端となってしまうので、多くの場合において最下端は階調「0」であるし、最上端は階調「255」となってしまう。しかしながら、両端部分から0.5%の画素数だけ内側に入った部分を端部とすることにより、このようなことが無くなる。
【0107】
実際の処理では処理対象となる画素数(間引き処理において選択した画素の総数、あるいは枠部に対応する画素数を削除した総数)に対する0.5%を演算し、度数分布における上端側と下端側とから順番に内側に向かいながらそれぞれの度数を累積し、0.5%の値となった階調値を求める。RGBの各色成分毎に上端側をRmax,Gmax,Bmaxと呼び、下端側をRmin,Gmin,Bminと呼ぶ。
【0108】
上述したように、各色成分の度数分布が不均一となることの方が自然な状況もあり得る。そして、そのような場合においては色再現性の修正もすべきではない。これは結果から追ってみると、各色成分の度数分布がある程度似ている状況では逆に度数分布が均一となっているべきであろうし、度数分布が似ていなければ均一にすべきでないだろうと判断できる。
【0109】
従って、本実施形態においては、ステップS116にて各色成分毎の度数分布の類似度をチェックする。いま、各色成分毎の度数分布が図19に示すように表れているとすると、全階調範囲を四つの領域([0〜63],[64〜127],[128〜192],[193〜255])に分割し、各領域に属する度数を要素とする特徴ベクトルを考える。赤成分を例に取れば、各領域での度数をr64,r128,r192,r255で表し、全有効画素数をr_pixelとしたとすると、赤成分の特徴ベクトルは、数1式のように表せる。
【0110】
【数1】
【0111】
これと同じ処理を緑成分と青成分について実行し、次に、各色成分間での特徴ベクトルの内積を求める。すなわち、赤成分と緑成分との間の特徴ベクトルの内積corr_rgは数2式に表すように求められ、緑成分と青成分との間の特徴ベクトルの内積corr_gbは数3式に表すように求められ、青成分と赤成分との間の特徴ベクトルの内積corr_brは数4式に表すように求められる。
【0112】
【数2】
【0113】
【数3】
【0114】
【数4】
【0115】
ベクトルの内積は、両ベクトルの類似度を表すといえ、その値は「0」〜「1」となる。従って、しきい値CORRとして「0.7」を定めたとして、それぞれの内積corr_rg,corr_gb,corr_brのうちいずれか一つでもこのしきい値CORR以下のものがあれば類似具合が低いものと判断してステップS106の非処理を実行することにする。
【0116】
本実施形態においては、この特徴ベクトルの内積に基づく処理が類似具合判断手段を構成しており、特徴ベクトルに基づく内積の演算であれば手法が確立しており判断も容易である。しかしながら、むろんこの例に限るものではない。例えば、全階調範囲を四つの領域に分割しているが、これら以上とすることは自由であるし、度数分布の両端位置や、標準偏差、尖度などの統計的手法を用いてその近似度を求めることも可能である。
【0117】
ここで、このような統計的手法を用いて近似度を求める具体的手法について説明する。統計的手法の一例には、分布の代表値を利用するものがあげられる。いま、変数として平均値、中央値、標準偏差(分散)の差の絶対値を赤成分と緑成分、緑成分と青成分、青成分と赤成分との間で求めておく。そして、平均値と標準偏差について赤成分と緑成分の差の絶対値をAve_rg,Std_rgとしたとき、赤成分と緑成分の間の評価関数として
h(rg)=(1−Ave_rg/255)×(1−Std_rg/255)と設定する。また、同様に緑成分と青成分の間の評価関数として、
h(gb)=(1−Ave_gb/255)×(1−Std_gb/255)と設定するとともに、青成分と赤成分との間の評価関数として、
h(br)=(1−Ave_br/255)×(1−Std_br/255)と設定する。分布が似ている場合には平均値、中央値、標準偏差(分散)は殆ど同じになり、各変数の差も殆ど「0」になるから、評価関数hの値は「1」に近くなる。分布が異なる場合は差も大きくなり、評価関数hの値も小さくなる。従って、評価関数と実験で求められたしきい値とを比較することにより補正を行うか否かを決定することができるようになる。むろん、この場合に平均値の代わりに中央値を利用することも可能であるし、評価関数の具体例はこれに限られるものでもない。
【0118】
以上のような処理により各色成分毎に求めた度数分布についてある程度の類似具合が見つけられたら各度数分布から成分毎の特性を見出せるものと判断でき、かかる特性に基づいて各成分間の均一化を図る。なお、上述した各種の判断の結果、ステップS106にて非処理を実行してフラグをセットしている場合もある。このような場合には、ステップS202にて同フラグを参照しているので、以下の均一化の処理をすることなく本処理を終了する。
【0119】
特性の均一化の処理では、最初にオフセットの算出と修正を行う。いわゆる狭義の意味での色ずれの修正に該当し、特性の均一化を図るオフセットが本実施形態で実効値を構成する。本来であれば、図20に示すように被写体の色成分とRGBの各成分との間には正比例の関係がなければならないが、撮像素子の特性などによって各成分毎に変換特性がずれていることがある。従来は、このようなずれを通常の画像から判断することはできなかった。しかしながら、各色成分毎の度数分布を取ったときに概ね類似しているとすれば、これは本来的に一致すべきと判断できるので、各成分毎のずれであるオフセット量を検出できることになる。
【0120】
本実施形態においては、ステップS204にてこのオフセット量を求め、ステップS206ではかかるオフセット量を考慮して色ずれを修正するために利用するテーブルを作成している。
【0121】
RGBの階調データ(Rp,Gp,Bp )を利用している場合、テレビジョンなどでは全体の輝度ypを
yp=0.30Rp+0.59Gp+0.11Bp …(2)
として求めている。すなわち、緑成分が最も輝度に影響を及ぼしており、その意味で緑成分に対する他の色成分のずれを修正するのが全体の画像イメージを変化させないというメリットがある。
【0122】
一方、各色成分毎の度数分布のずれを求めるには、この度数分布の特徴部分を考慮することが望ましい。このため、本実施形態においては、上述した端部処理を施した度数分布の上端(Rmax,Gmax,Bmax)と度数分布上におけるメジアン(Rmed,Gmed,Bmed)とを利用している。両端位置は分布を判断する意味で有効である。ただし、下端位置については元々ずれの影響が分かりにくい範囲であるため、敢えて省略している。これにより、ずれの影響が大きい範囲で得られるずれだけを重視した修正が可能となる。分布の中央となるメジアンは極端な画素があったとしても度数分布の山の位置を示すことができる。この場合、かかる山の部分は画像のイメージに大きく影響を与える部分でもあるので特性を把握する意味で効果的である。
【0123】
このようにして得られた、青緑赤についての上端(Rmax,Gmax,Bmax)とメジアン(Rmed,Gmed,Bmed)から緑成分に対する他の色成分のずれdRmax,dBmax,dRmed,dBmedを次式に基づいて求める。
【0124】
dRmax=Gmax−Rmax …(3)
dBmax=Gmax−Bmax …(4)
dRmed=Gmed−Rmed …(5)
dBmed=Gmed−Bmed …(6)
そして、これらを参考として赤成分用オフセットdRと青成分用オフセットdBとを次式のようにして求める。
【0125】
dR=(dRmax+dRmed)/2 …(7)
dB=(dBmax+dBmed)/4 …(8)
ただし、−12<dR,dB<12とする。このように制限するのは度数分布だけで完全な色再現性を修正できる訳ではない場合に、この一例だけで大きく度数分布を修正してしまわないようにするためである。むろん、この範囲については実験的な経験より適当な値を定めればよい。また、分母の相違は(2)色に基づく影響の相違に対応しており、実験等に基づいて適宜変更可能である。
【0126】
これらはオフセット量に過ぎないから、実際の統計値を次式に基づいて修正して新たな上端Rmax2,Bmax2とメジアンRmed2,Bmed2と下端Rmin2,Bmin2とをする。
【0127】
Rmax2=Rmax+dR …(9)
Rmed2=Rmed+dR …(10)
Rmin2=Rmin+dR …(11)
Bmax2=Bmax+dB …(12)
Bmed2=Bmed+dB …(13)
Bmin2=Bmin+dB …(14)
なお、この対応関係は緑成分に対する赤成分と青成分のオフセット量に過ぎないことは明らかであり、階調値によって変化しているわけではない。従って、現実の各画素における画像データについては一律に当該オフセット量を加算すれば足りる。
【0128】
ただし、後述するように本実施形態においては他の要因に基づく画像データの修正も行なっており、個別に修正することは演算時間を要して不利である。従って、演算の効率化を図るべく、本実施形態においてはステップS206にて変換前のRGBの階調データ(R1,G1,B1)に対する変換後のRGBの階調データ(R2,G2,B2)という対応関係を表すテーブルを形成し、現実に画像データを修正するのは最後に一回だけとなるようにしている。
【0129】
一方、上述した実施例では、ベクトルの内積に基づいて類似度を求めるとともに同類似度をしきい値CORR(「0.7」)と比較して特性の均一化を行うか否かを決めている。従って、ベクトルの内積としきい値とがほぼ一致するような場合には、同じ画像でも周囲に付加されるビットの影響を受けて異なる判断結果がなされることになりかねない。
【0130】
むろん、特性の均一化を行うと判断されると上述したようなオフセット量が加算され、特性の均一化を行なわないと判断されると上述したようなオフセット量が加算されないことになるので、しきい値を挟んで大きな差が生じる。
【0131】
このようにして結果が大きく変わってしまうのを防止する手法として連続的に変化する窓関数を利用することが効果的である。
【0132】
x=min(corr_rg,corr_gb,corr_br) …(141)
とおくとともに窓関数f(x)は、
x<0.5 のとき f(x)=0
0.5≦x≦0.7 のとき f(x)=5・x−2.5
0.7<x のとき f(x)=1
とし、上記しきい値CORRを「0.5」とする。窓関数f(x)の変化状況を図30に示しており、x<0.5において一定の「0」となり、0.5≦x≦0.7において「0」から「1.0」へと直線的に増加し、0.7<xにおいて一定の「1.0」となる。そして、(7)式と(8)式において赤成分用オフセットdRと青成分用オフセットdBとを求めていたのをこのf(x)との積に改める。すなわち、
dR=f(x)・(dRmax+dRmed)/2 …(7)’
dB=f(x)・(dBmax+dBmed)/4 …(8)’
とする。図5および図6に示すフローチャートにおいては類似度がしきい値を越えていなければ非処理としてしまうが、このようにオフセットに対して窓関数を乗算する場合は、図31に示すフローチャートを実行する。すなわち、類似度に基づいて非処理とすることはやめ、ステップS205で窓関数を利用したオフセット量の算出を実行し、この算出したオフセット量を利用する。むろん、上述したようにx<0.7において窓関数f(x)が急激に「0」へ近づくため、しきい値付近であった画像が処理によって大きく変化するということはなくなるし、類似度が低いものについてはオフセットも殆ど「0」となって悪影響は与えない。また、このようにして算出したオフセット量dR,dBに基づいて(9)式〜(14)式も算出される。
【0133】
窓関数f(x)は上述した関数に限られるものでないことは明らかである。上述した例では、相関係数の最小値に基づいて窓関数の値を変化させているが、最小値に限られる必要はない。例えば、
f(corr_rg,corr_gb,corr_br) …(142)としてもよい。また、さらに一般的にして、
f(統計量)
としても良い。この場合、統計量には最小値、最大値、メジアン、標準偏差などが該当する。
【0134】
一方、窓関数は窓を開け閉めするごとくある領域において演算値を有効化させるとともに別の領域において演算値を無効化させるように機能する。今、色かぶりをその原因別に分類すると、上述した画像入力装置10のハードウェア性能などによる場合と、夕焼けなどによる意図的な色かぶりと、タングステンランプなどを利用した特殊な照明による色かぶりとに分類できる。そして、夕焼けなどによる意図的な色かぶりについては特性の統一化を図る必要がないことは上述したとおりであるが、タングステンランプなどを利用した特殊な照明による色かぶりの場合は特性の統一化を図ることも有意義である。
【0135】
夕焼けなどによる意図的な色かぶりとタングステンランプなどを利用した特殊な照明による色かぶりは、上述した相関係数から判断できる。すなわち、相関係数が極端に低い写真はこのような特殊な照明に起因するものであることが多く、窓関数を図32に示すように変形した。
【0136】
すなわち、x<0.5の領域を変形させ、
x<0.1 のとき f(x)=1.0
0.1≦x<0.3 のとき f(x)=−5・x+1.5
0.3≦x0.5 のとき f(x)=0
とした。これにより、xが「0.3」以下となると窓関数f’(x)は再び直線的に上昇し、xが「0.1」以下の領域で同窓関数f’(x)は一定の「1.0」となる。むろん、窓関数が「1.0」となったときには各成分の分布状況に基づいて演算された大きなオフセット量がそのまま適用され、照明の影響を打ち消して特性の均一化が図られる。
【0137】
なお、窓関数は遷移領域で直線的に変化する必要はなく、単調増加もしくは単調減少するような曲線的なものであっても構わない。
【0138】
また、図5に示すようにステップS116にて類似度をチェックし、類似度が低い場合にステップS106にて非処理を実行してフラグをセットしたり、あるいは、図31に示すようにステップS116を実行することなくステップS205にて窓関数を利用してオフセット量を算出することにより、実質的には類似度が低いときに特性の均一化を図らないようにしているので、これらのソフトウェア処理及びこれを実現するハードウェアなどによって修正制御手段を構成していると言える。
【0139】
一方、度数分布の広がり方に差がある場合にはこれを均一化させることが有効である。本実施形態においては、この度数分布の広がり方を均一化させつつ、度数分布を可能な範囲で拡大させて各成分毎にコントラストを強調させている。
【0140】
コントラストの強調は、階調範囲が「0」〜「255」としたときに、変換前の各色成分(R1 ,G1 ,B1 )と各成分の最大値Rmax2,Gmax,Bmax2と最小値Rmin2,Gmin,Bmin2から変換先の各色成分(R2 ,G2 ,B2 )を次式に基づいて求める。
【0141】
R2=far×R1+fbr …(15)
G2=fag×G1+fbg …(16)
B2=fab×B1+fbb …(17)
ただし
far=255/(Rmax2−Rmin2) …(18)
fag=255/(Gmax −Gmin ) …(19)
fav=255/(Bmax2−Bmin2) …(20)
fbr=−far×Rmin2あるいは255−far×Rmax2 …(21)
fbg=−fag×Gmin あるいは255−fag×Gmax2 …(22)
fbb=−fab×Bmin2あるいは255−fab×Bmax2 …(23)
また、上記変換式にてR2,G2,B2 <0ならばR2,G2,B2 =0とし、R2,G2,B2 >255ならばR2,G2,B2 =255とする。ここにおける、far,fag,fab は傾きであり、fbr,fbg,fbb はオフセットといえる。この変換式によれば、図22に示すように、あるせまい幅を持った輝度分布を再現可能な範囲まで広げることができる。なお、基本的に輝度の分布範囲の拡大においては、画素数が変化するわけではないので、ヒストグラムの面積は一致する。ただし、このように再現可能な範囲を最大限に利用して輝度分布の拡大を図った場合、ハイライト部分が白く抜けてしまったり、ハイシャドウ部分が黒くつぶれてしまうことが起こる。
これを防止するため本実施形態においては、拡大する階調範囲を制限している。
すなわち、全階調範囲の上端と下端に拡大しない範囲として階調値で「5」だけ残している。この結果、変換式のパラメータは次式のようになる。
【0142】
far=245/(Rmax2−Rmin2) …(24)
fag=245/(Gmax −Gmin ) …(25)
fav=245/(Bmax2−Bmin2) …(26)
fbr=5−far×Rmin2あるいは250−far×Rmax2 …(27)
fbg=5−fag×Gmin あるいは250−fag×Gmax2 …(28)
fbb=5−fab×Bmin2あるいは250−fab×Bmax2 …(29)
そして、この場合には階調「5」未満と、階調「250」以上については変換を行わないようにする。
【0143】
なお、本実施形態においては、ハイライト部分とハイシャドウ部分とを保持するために一律に階調範囲の端部から階調値にして「5」の範囲を非拡大領域としているが、ハイライト部分やハイシャドウ部分を比較的再現しやすいような画像出力装置であればその範囲を狭くしても良いし、再現力がさらに弱い場合にはより範囲を大きくするようにしても良い。また、一律に拡大しないのではなく、ボーダー領域で徐々に拡大率を制限するようにしていっても良い。
【0144】
また、図23(a)には画像の輝度分布が狭い場合を示しているが、これまで述べたようにして輝度分布の拡大率(far,fag,fabに対応)を適用してしまうと、再現可能な範囲に合わせて非常に大きな拡大率が得られる場合も生じてくる。
すると、夕方のような薄暮の状態では最も明るい部分から暗い部分までのコントラストの幅が狭くて当然であるのに、この画像についてコントラストを大きく拡大しようとする結果、昼間の画像のように変換されてしまいかねない。このような変換は希望されないので、拡大率には制限を設けていおき、far,fag,fabが1.5(〜2)以上とはならないように制限する。これにより、薄暮は薄暮なりに表現されるようになる。
【0145】
拡大率に制限を設けない場合を図23(a)の一点鎖線に示しており、変換後には再現可能な範囲で余分な部分は残っていない。しかしながら、拡大範囲を制限する場合には、同図(b)の二点鎖線で示すように、変換後の分布をどこに持ってくるかの自由度が生じてしまい、場合によっては全体的に明るくなりすぎたり、暗くなり過ぎたりしかねない。従って、このような場合には、変換前における階調範囲内において上端側と下端側に残っている残余の領域の割合(m1:m2)が、変換後において上端側と下端側に残っている残余の領域の割合(n1:n2)と一致するように変換すればよい。
【0146】
以上のようにしてパラメータfar,fag,fab,fbr,fbg,fbbを得る処理をステップS208にて実行し、続くステップS210ではステップS206と同様に変換テーブルを作成する。このときの変換テーブルは図21に示す変換後の成分値(R1,G1,B1)を入力として対応関係を演算し、変換テーブルにおける変換後の成分値(R1,G1,B1)と入れ換える。これにより、同変換テーブルを参照すればステップS204にて求めたオフセット量の加算とステップS208にて求めたコントラストの強調処理という二つの処理を同時に実施することになる。
【0147】
一方、度数分布の各色成分間のずれとして、もう一つ、全体的な明るさという要素が残る。従って、ステップS214にてこの明るさのずれを均一化させるγ補正をかけるため、ステップS212にてγを算出する。例えば、図24にて実線で示す赤成分の度数分布の山が全体的に暗い側に寄っていたり、同図にて一点鎖線で示す青成分の度数分布の山が全体的に明るい側に寄っていたりした場合に、同図鎖線で示す緑成分の度数分布の山のように全体的に中央に寄るように修正移動させると良い。
【0148】
各種の実験を行った結果、本実施形態においては、度数分布におけるメジアンを基準に判断し、同メジアンが「85」未満である場合に暗い画像と判断して以下のγ値に対応するγ補正で明るくする。
【0149】
γr=Rmed2/85 …(30)
γg=Gmed/85 …(31)
γb=Bmed2/85 …(32)
あるいは、
γr=(Rmed2/85)**(1/2) …(33)
γg=(Gmed/85)**(1/2) …(34)
γb=(Bmed2/85)**(1/2) …(35)
とする。
【0150】
この場合、γr,γg,γb<0.7となっても、γr,γg,γb=0.7とする。このような限界を設けておかないと夜の画像が昼間のようになってしまうからである。なお、明るくしすぎると全体的に白っぽい画像になってコントラストが弱い画像になりやすいため、彩度を合わせて強調するなどの処理が好適である。
【0151】
一方、メジアンが「128」より大きい場合に明るい画像と判断して以下のγ値に対応するγ補正で暗くする。
【0152】
γr=Rmed2/128 …(36)
γg=Gmed/128 …(37)
γb=Bmed2/128 …(38)
あるいは、
γr=(Rmed2/128)**(1/2) …(39)
γg=(Gmed/128)**(1/2) …(40)
γb=(Bmed2/128)**(1/2) …(41)
とする。この場合、γr,γg,γb>1.3となっても、γr,γg,γb=1.3として暗くなり過ぎないように限界を設けておく。なお、暗くしすぎると色が乗りすぎて濃い画像になるので、合わせて彩度強調を弱くするなどの処理が好適である。ただし、明るい背景の中の被写体に対してはこのような暗くする処理はかえって悪影響を及ぼす場合もある。例えば、空が画像の半分をしめるような風景画像や晴れた日の記念写真などでは、ただでさえ逆光で顔が暗くつぶれ気味であることが多いからである。これらの画像の場合は暗い部分と明るい部分とが混じっているので各色成分の標準偏差を求めると比較的高い値となっていることが多い。従って、そのような標準偏差が「70」よりも大きいような場合には暗くするためのγ補正を行わないようにすることも可能である。γ補正をした場合における対応関係を図25に示しており、γr,γg,γb<1であれば上方に膨らむカーブとなり、γr,γg,γb>1であれば下方に膨らむカーブとなる。なお、明るさの修正に関しては必ずしも度数分布に基づく必要はなく、他の要素から明るさを判断して修正するようにしても良い。
【0153】
以上のようにして決定したγr,γg,γbに対してγ補正するには次式のようにする。変換前の階調値r0,g0,b0に対して変換後の階調値R1,G1,B1は、
R1=255*(r0/255)**γr …(42)
G1=255*(g0/255)**γg …(43)
B1=255*(b0/255)**γb …(44)
なお、このγ補正も図21に示す変換テーブルに対して実行する。すなわち、コントラスト強調の場合と同様に図21に示す変換後の成分値(R1,G1,B1)を入力として対応関係を演算し、変換テーブルにおける変換後の成分値(R1,G1,B1)と入れ換える。これにより、同変換テーブルを参照すればオフセット量の加算とコントラストの強調処理に加えて明度の修正の処理を同時に実施することになる。
【0154】
そして、最後に、ステップS216にて画像データの変換を行い、全画素の画像データ(rm,gm,bm)について図21に示す変換テーブルを参照し、変換後の画像データ(Rm,Gm,Bm)を得るという処理を繰り返すことになる。
【0155】
本実施形態においては、オフセット量による修正と、コントラストの強調と、明るさの修正とをこの順番に実施しているが、必ずしもこの全てを実施しなければならないわけではないし、また、個々の修正手法も適宜変更して実施することもできる。
【0156】
例えば、上述した実施形態においては、コントラストの強調処理においては、変換前の成分値に対して直線的な対応関係をなす変換式で修正を行うようにしているが、より滑らかな変換となるように、図26に示すようないわゆるS字カーブの変換を行うようにしても良い。また、この場合、度数分布の広がりを両端位置で判断するのではなく、分布の散らばり具合を表す標準偏差の概念を利用することも可能である。以下、標準偏差を利用したS字カーブの対応関係でコントラストを強調する例を示す。なお、各成分毎の度数分布に基づいて変換は行うものの、演算手法は全てにおいて共通するため、輝度の表現で表し、変換前の輝度yより変換後の輝度Yを得る手順を示しておく。
【0157】
標準偏差については二つの考え方があるが本実施形態においては、次式に基づいて演算する。
【0158】
【数5】
【0159】
yp:各画素の変換前の輝度
ym:各画素の変換前の輝度の平均値
標準偏差は輝度分布の広がり量に対応するものであるが、広がり量を表す意味では分散を利用してもよい。また、本実施形態のように全体としての階調数が256階調となっているので、分布の尖度kから広がり量を求めることも可能である。
【0160】
【数6】
【0161】
なお、ここにいうk=3の尖度が正規分布の広がり量に相当する。
【0162】
このようにして求めた輝度分布の広がり量である標準偏差σに基づいて、コントラストの強調は分布密度の大きい範囲に多くの階調数を与えつつ分布密度の小さい範囲に少ない階調数を割り当てることでもあり、図26に示すように入出力の対応関係がいわゆるS字カーブとなると変換前に割り当てられている階調範囲rng0に対して変換後に割り当てられる階調範囲RNG1は大きくなり、割り当てられた階調数が多くなったことになる。一方、入力における低輝度側と高輝度側における階調範囲rng0を外れた範囲についていえば、変換後に割り当てられる階調範囲は少なくなったことになる。
【0163】
本実施形態においては、階調範囲の中心位置ymidを「128」として、この中心位置ymid以下ではγ1を与えるとともに、中心位置ymid より大きい範囲ではγ2を与えたγ補正を行うものとし、このγ1,γ2を標準偏差σに基づいて定める。すなわち、
y≦128では、
γ1=(σstd_limit/σ)**fc …(47)
y>128では、
γ2=(σ/σstd_limit)**fc …(48)
とし、ステップS204にてこれらのパラメータ演算を実行する。ここにおいて、σstd_limitとfcは変換結果を考慮して実験的に求めて与えたパラメータであり、本実施形態においてはσstd_limitを「128」とするとともにfcを「0.1」としている。標準偏差σは概して「128」よりも小さな値となるからこれらの関係式では標準偏差σが大きいと、γ2とγ1はそれぞれ「1」に近づくことになり、S字カーブの傾斜は緩やかになる。これは、広がり量が大きいときに中心位置ymidを中心とする階調範囲rng0に対して変換先の階調範囲RNG0はさほど広くならないことを意味しており、より具体的には画像データの輝度が広く分布しているときには輝度範囲を拡大するような変換を行わないことを意味する。
これに対して、標準偏差σが小さいと、γ2とγ1はそれぞれ「1」から離れることになり、S字カーブの傾斜は急になる。これは、広がり量が小さいときに中心位置ymidを中心とする階調範囲rng0に対して変換先の階調範囲RNG1が広く拡大されることを意味しており、より具体的には画像データの輝度が狭い範囲にしか分布していないときには輝度範囲を拡大させる変換を行なうことを意味する。
【0164】
本実施形態においては、S字カーブの対応関係をγ補正によって成立させているが、図27には、階調「0」、下方側四分点yq1、中心位置ymid、上方側四分点yq3、階調「255」という五点を基準点としつつ、階調「0」と中心位置ymidと階調「255」に対してはY=yとしつつ、下方側四分点yq1と上方側四分点yq3における変換点を標準偏差に基づいて決定する。そして、これらの五点を結ぶ対応関係をスプライン補間演算やニュートン補間で求める。むろん、中心位置ymidから下方側の三点や上方側の三点をそれぞれスプライン補間演算やニュートン補間で求めるようにしてもよい。
【0165】
すなわち、図28に示すように、ステップS230にて各成分毎に標準偏差σr,σg,σb を求め、ステップS232にて各色成分毎のγ1,γ2を求め、ステップS234にてγ1,γ2を利用した対応関係に基づいて変換テーブルを作成する。これらのステップS230〜S234を図6に示すフローチャートにおけるステップS208〜S214の処理に代えて実行する。
【0166】
次に、上記構成からなる本実施形態の動作を順を追って説明する。
【0167】
スキャナ11などで写真を撮像したとすると、同写真をRGBの階調データで表した画像データがコンピュータ21に取り込まれ、CPUは図5及び図6に示す画像処理のプログラムを実行して画像データの色再現性を修正する処理を実行する。
【0168】
まず、ステップS102では画像データを所定の誤差内となる範囲で間引き、選択した画素について各色成分毎に度数分布を求める。このままの度数分布を使用することはできず、まず、画像が白黒のような二値画像でないかステップS104にて判断するとともに、ステップS108では自然画か否かを判断する。二値画像である場合や自然画でない場合などを除き、ステップS110では画像データに枠部がないか判断し、枠部があれば除いた後、ステップS114にて度数分布の両端の不明瞭領域を取り除く。この状態で各色成分毎の度数分布について特徴ベクトルを求め、特徴ベクトル同士の内積から度数分布の類似度をチェックする。各色成分毎の度数分布があまり似ていないときには、元の画像データにおいて意図的にカラーバランスがずれていることの裏付けとなり、特性を均一化させる処理は行わない。しかしながら、所定のしきい値との比較においてある程度の類似性が見られる場合にはカラーバランスがずれてしまっているものと判断して、以下のような特性の均一化を図る。
【0169】
すなわち、ステップS204では度数分布の上端とメジアンを利用して緑成分に対する赤成分オフセットdRと青成分用オフセットdBとを求め、ステップS206では最後の画像データ変換のための変換テーブルを形成する。続いて、ステップS208では各色成分毎にコントラストの均一化を図りつつ同コントラストを強調するためのパラメータを演算し、ステップS210では同パラメータに基づいてコントラスト強調させつつ各色成分毎のコントラストのバランスを一致させるための変換テーブルを作成する。そして、ステップS212では各色成分毎の明るさを均一化させるためのγ補正のパラメータを演算し、かかるγ補正を施すことになる変換テーブルを作成する。
【0170】
最後に、ステップS216にて上述したようにして作成されている変換テーブルを参照して全画素についての画像データを変換する。
【0171】
この場合は類似性があるか否かに応じてステップS202で処理を分けているが、図31に示すフローチャートを実行する場合には類似具合に応じてオフセット量という実効値を変化させ、実質的に特性の均一化を図ったり図らなかったりする。
【0172】
むろん、上述したように二値画像や自然画でない場合などにおいてはかかる画像処理は行われないが、本発明の画像処理が行われた場合には、写真の状態では色ずれなどの入力機器に起因するような色再現性の悪かった画像データであるにもかかわらず、各色成分毎に色ずれとコントラストと明るさとが均一化するとともにコントラストを強調されてメリハリのある良好な画像が極めて容易に得られるようになる。
【0173】
なお、上述した実施形態においては、いくつかのパラメータを一定としているが、コンピュータ21上では所定のGUIを介してユーザーが選択できるようにしても良い。
【0174】
このように、ステップS102で間引きするなどしながら画像データについて各色成分毎の度数分布を求め、ステップ116にて度数分布間に類似性があるか否かを判断し、類似性が低くなければ本来的に度数分布から見出される特性は一致するものと判断して、ステップS204〜S216にてオフセット修正やコントラスト強調や明るさ修正によってずれを修正することにより、色再現性の悪い画像データであってもメリハリのある良好な画像としつつ、かかる作業を自動化し、非熟練者でも容易にカラーバランスの修正を行うことができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる画像処理装置が適用される画像処理システムのブロック図である。
【図2】同画像処理装置の具体的ハードウェア構成例を示すブロック図である。
【図3】本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図4】本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図5】本発明の画像処理装置における度数分布検出手段と類似具合判断手段とに相当するフローチャートである。
【図6】本発明の画像処理装置におけるオフセット量修正手段とコントラスト修正手段と明るさ修正手段とに相当するフローチャートである。
【図7】変換元の画像における座標を示す図である。
【図8】サンプリング周期を示す図である。
【図9】サンプリング画素数を示す図である。
【図10】変換元の画像とサンプリングされる画素の関係を示す図である。
【図11】度数分布を検出するための配列変数を示す図である。
【図12】グレー画像抽出間引き処理のフローチャートである。
【図13】白黒の画像を示す図である。
【図14】白黒の画像の輝度分布を示す図である。
【図15】非自然画と自然画の場合の各色成分毎の度数分布の状態を示す図である。
【図16】枠部のある画像を示す図である。
【図17】枠部のある画像の度数分布を示す図である。
【図18】度数分布の端部処理と端部処理にて得られる端部を示す図である。
【図19】各色成分毎の特徴ベクトルとするための要素の抽出方法を示す図である。
【図20】色再現性の修正の必要のないリニアな関係を示す図である。
【図21】度数分布に基づいて画像データを変換する際の変換テーブルを示す図である。
【図22】度数分布の拡大と全階調の範囲を示す図である。
【図23】コントラストの拡大率に制限を与える場合を示す図である。
【図24】明るさの均一化を図る必要のある度数分布を示す図である。
【図25】γ補正で変更される変換関係を示す図である。
【図26】S字カーブの対応関係でコントラストを強調させる変換関係を示す図である。
【図27】特定した変換点を補間法で接続する場合の変換関係を示す図である。
【図28】S字カーブでコントラストと明るさを修正する場合の部分フローチャートである。
【図29】画像処理プログラムを記録する媒体から同プログラムをハードディスクに転送する状態を示す図である。
【図30】利用する窓関数の変化状況を示すグラフである。
【図31】窓関数を利用してオフセット量を調整する場合における画像処理プログラムのフローチャートである。
【図32】利用する他の窓関数の変化状況を示すグラフである。
【符号の説明】
10…画像入力装置
11…スキャナ
11b…スキャナ
12…デジタルスチルカメラ
12a…デジタルスチルカメラ
12b…デジタルスチルカメラ
13b…モデム
20…画像処理装置
21…コンピュータ
22…ハードディスク
30…画像出力装置
31…プリンタ
31a…プリンタ
31b…プリンタ
32…ディスプレイ
32a…ディスプレイ
41…フレキシブルディスク
42…CD−ROM
43…ハードディスク
44…ROM
45…RAM
46a…通信回線
46b…モデム
46c…ファイルサーバ
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002189638A JP3664395B2 (ja) | 1997-01-24 | 2002-06-28 | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1172997 | 1997-01-24 | ||
JP9-11729 | 1997-01-24 | ||
JP2002189638A JP3664395B2 (ja) | 1997-01-24 | 2002-06-28 | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25655297A Division JP3693086B2 (ja) | 1996-11-19 | 1997-09-22 | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003125213A JP2003125213A (ja) | 2003-04-25 |
JP2003125213A5 true JP2003125213A5 (ja) | 2004-12-02 |
JP3664395B2 JP3664395B2 (ja) | 2005-06-22 |
Family
ID=26347238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002189638A Expired - Fee Related JP3664395B2 (ja) | 1997-01-24 | 2002-06-28 | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3664395B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1694053A4 (en) | 2003-12-12 | 2007-08-22 | Fujitsu Ltd | PROGRAM, DEVICE AND METHOD FOR CORRECTION OF COLOR BALANCE |
JP4073477B2 (ja) | 2005-03-25 | 2008-04-09 | 三菱電機株式会社 | 画像処理装置、及び画像表示装置 |
CN105760884B (zh) * | 2016-02-22 | 2019-09-10 | 北京小米移动软件有限公司 | 图片类型的识别方法及装置 |
-
2002
- 2002-06-28 JP JP2002189638A patent/JP3664395B2/ja not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101309498B1 (ko) | 높은 동적 범위 이미지 매핑을 위한 히스토그램 조정 | |
KR101309497B1 (ko) | 높은 동작 범위 이미지 매핑을 위한 히스토그램 조정 | |
JP4069333B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JPH11331738A (ja) | 画像処理方法および装置 | |
JP3693086B2 (ja) | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 | |
JP4993028B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JPH118768A (ja) | 画像処理装置、画像処理方法、画像処理制御プログラムを記録した媒体 | |
JP3664395B2 (ja) | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 | |
JP2003125213A5 (ja) | ||
JP3664394B2 (ja) | 画像処理装置及び画像処理方法並びに画像処理プログラムを記録した媒体 | |
JP3817371B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP2003092687A5 (ja) | ||
JP2003051947A5 (ja) | ||
JP3698205B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP3596614B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP3682872B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP4123387B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP3985147B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP4182365B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP4123385B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録した媒体 | |
JP3570416B2 (ja) | 画像処理装置、画像処理方法および画像処理制御プログラムを記録した媒体 | |
JP2003085552A5 (ja) | ||
JPH11220619A (ja) | 画像処理方法および装置 | |
JP2008079319A (ja) | 画像処理装置、画像処理方法およびプログラムを記録したコンピュータ読み取り可能な記録媒体 |