(57)【特許請求の範囲】
【請求項１】
概略対等な色成分からなる階調表色データにおける低明度領域や高明度領域で色ずれを求めるための明度を決定し、上記決定した同一明度に対応する画素の各色成分値の代表値を求め、上記同一明度と各色成分値の代表値との差を各色成分値についての色ずれと判定し、この各色成分値の色ずれに基づいて階調表色データの各色成分値を個別に修正することを特徴とする画像処理装置。
【請求項２】
上記請求項１に記載の画像処理装置において、高明度領域で色ずれを求めることを特徴とする画像処理装置。
【請求項３】
上記請求項１または請求項２に記載の画像処理装置において、階調表色データにおける明度分布を集計して当該明度の再現可能範囲の端部から所定分布割合だけ内側に移行した明度を上記色ずれを求めるための明度と決定することを特徴とする画像処理装置。
【請求項４】
上記請求項１〜請求項３のいずれかに記載の画像処理装置において、検出された色ずれを圧縮して現成分値の修正に適用することを特徴とする画像処理装置。
【請求項５】
上記請求項４に記載の画像処理装置において、所定階調に対応して検出された色ずれを各階調値に対応せしめて現成分値の修正に適用することを特徴とする画像処理装置。
【請求項６】
概略対等な色成分からなる階調表色データにおける低明度領域や高明度領域で色ずれを求めるための明度を決定し、上記決定した同一明度に対応する画素の各色成分値の代表値を求め、上記同一明度と各色成分値の代表値との差を各色成分値についての色ずれと判定し、この各色成分値の色ずれに基づいて階調表色データの各色成分値を個別に修正することを特徴とする画像処理方法。
【請求項７】
概略対等な色成分からなる階調表色データを入力し、当該階調表色データの色ずれを修正する処理をコンピュータに実行させる画像処理プログラムを記録した媒体であって、上記階調表色データにおける低明度領域や高明度領域で色ずれを求めるための明度を決定し、上記決定した同一明度に対応する画素の各色成分値の代表値を求め、上記同一明度と各色成分値の代表値との差を各色成分値についての色ずれと判定し、この各色成分値の色ずれに基づいて階調表色データの各色成分値を個別に修正する処理を実行させることを特徴とする画像処理プログラムを記録した媒体。
【請求項８】
概略対等な色成分からなる階調表色データの明度分布を集計するとともに、当該集計の際に、明度が高明度側の所定の明度領域に属する画素については明度毎に各色成分値を積算する処理を行い、
上記明度分布の高明度領域において色ずれを求めるための一の明度を決定し、
上記決定した一の明度についての各積算値を当該一の明度に対応する画素数で除算することにより当該一の明度に対応する画素の各色成分値の代表値を求め、当該一の明度と各色成分値の代表値との差を各色成分値についての色ずれと判定することを特徴とする画像処理装置。
【請求項９】
概略対等な色成分からなる階調表色データの明度分布を集計するとともに、当該集計の際に、明度が高明度側の所定の明度領域に属する画素については明度毎に各色成分値を積算する処理を行い、上記明度分布の高明度領域において色ずれを求めるための一の明度を決定し、上記決定した一の明度についての各積算値を当該一の明度に対応する画素数で除算することにより当該一の明度に対応する画素の各色成分値の代表値を求め、当該一の明度と各色成分値の代表値との差を各色成分値についての色ずれと判定することを特徴とする画像処理方法。
【請求項１０】
概略対等な色成分からなる階調表色データの明度分布を集計するとともに、当該集計の際に、明度が高明度側の所定の明度領域に属する画素については明度毎に各色成分値を積算し、上記明度分布の高明度領域において色ずれを求めるための一の明度を決定し、上記決定した一の明度についての各積算値を当該一の明度に対応する画素数で除算することにより当該一の明度に対応する画素の各色成分値の代表値を求め、当該一の明度と各色成分値の代表値との差を各色成分値についての色ずれと判定する処理、をコンピュータに実行させることを特徴とする画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法および画像処理プログラムを記録した媒体に関し、特に、画像入力装置などにおける色ずれに対する処理を行なう画像処理装置、画像処理方法および画像処理プログラムを記録した媒体に関する。
【０００２】
【従来の技術】
デジタルスチルカメラなどにおいては、画像データをＲＧＢ（赤緑青）の階調表色データとして出力している。この場合、レンズやＣＣＤ素子の特性により、特定の色、例えば、赤色が実物の色よりも強調されたいわゆる色ずれのあるものも見受けられる。
【０００３】
従来、このような色ずれのある画像データに対して、何らかの修正を行いたい場合には、画像処理ソフトなどに読み込み、作業者が所定の操作を経て試行錯誤により強調色の成分値を弱くしている。
【０００４】
【発明が解決しようとする課題】
上述した従来の方法においては、作業者が試行錯誤で修正を行うものであるため、正確さに乏しいし、また、一律に所定の成分値を増減するものであるため、全階調にわたって正しく修正されているともいえない場合があるという課題があった。
【０００５】
本発明は、上記課題にかんがみてなされたもので、色ずれの修正を自動化することが可能な画像処理装置、画像処理方法および画像処理プログラムを記録した媒体の提供を目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、概略対等な色成分からなる階調表色データにおける低明度や高明度領域での各色成分値のずれから当該階調表色データの色ずれを求める構成としてある。
【０００７】
階調表色データにおいて、どの色が強調されているかを判断するのは容易ではない。なぜならば、マトリクス状とした各画素からなる画像の場合、各画素の画像データは現物の色に応じた成分値となっており、各成分値だけをみても現物の色とずれているかどうかは分からない。例えば、全体に赤っぽいとしても現物が赤っぽいこともあるからである。
【０００８】
これに対し、上記のように構成した請求項１の発明においては、概略対等な色成分からなる階調表色データを前提として、低明度や高明度領域での各色成分値を求める。低明度や高明度の領域は、黒色あるいは白色を意味しているが、この領域では、各色成分値が同等の値となるはずであり、このような領域で各成分値が同等でないならば色ずれと判断しても差し支えないことが多い。従って、かかる領域での各色成分値を比較し、それらの間でのずれがあれば当該階調表色データの色ずれと判断する。なお、この場合の色ずれは色の偏りと解釈できる。
【０００９】
ここにおいて、階調表色データとしては概略対等な色成分からなるものが対象となるが、概略対等であるがゆえに低明度領域や高明度領域ではそれぞれが同等となる性質を利用している。従って、かかる性質を有する以上、直接的には対等な関係になくても所定の変換操作を経て対等な環境に変換可能なものであればよい。例えば、Ｌ＊ａ＊ｂ＊表色系の階調表色データとして入力される場合、色変換してＲＧＢのような対等な関係の色成分に変換すれば適用可能となる。なお、一般的には色変換の処理量は多いものの、本処理においては低明度領域や高明度領域という一部の領域に限定されるため、必要な資源及び処理量は少なくて済む。
【００１０】
また、色ずれに関する処理については画像処理の流れの中で基本的にはどの位置にあっても構わない。他の変換処理を先に行っても良いし、色ずれをなくした上で他の処理を行うことも可能である。むろん後者の方が好ましい場合が多い。
【００１１】
低明度領域あるいは高明度領域とはいわゆる色のない領域、すなわち各色成分値が同等の値となる領域を指している。従って、各色成分値が同等の値となっている領域であれば適宜変更可能である。例えば、画像データにおける階調表色データの範囲が本来の範囲よりも十分に狭い場合には、かかる狭い範囲の中での低明度領域あるいは高明度領域となるからである。むろん、色ずれがあることを前提としているので各色成分値が同等の値となるといっても厳密な意味での一致を意味するものではない。
【００１２】
ここにおいて、各色成分値が同等の値となるのは低明度領域でも高明度領域でも言えることであるが、請求項２にかかる発明は、上記請求項１に記載の画像処理装置において、高明度領域で判断する構成としてある。
【００１３】
色ずれが問題となりやすいのは概ね高明度領域である。低明度領域では色ずれがあるにしても各色成分値の差によって現れる色の変化が目につきにくいからである。従って、高明度領域だけで各色成分値のずれから色ずれを判断することにより、目につきやすい範囲でその原因となっている色ずれを求めることになる。
【００１４】
所定の明度の領域での各色成分値のずれは、広義にはある幅を持った明度の範囲について、各色成分値の傾向を求めることにより、より正確に色ずれを求めるものであればよい。しかしながら、請求項１にかかる発明は、同一明度に対する各成分値のずれを求めて色ずれと判定する構成としてある。
【００１５】
すなわち、高明度領域であれば、ある高明度の画像データについて、その成分値を見てみた場合に、それらが同等でないならば、そのずれを色ずれと見なす。また、低明度領域であってもある低明度の画像データについて、その成分値が同等でないならば、そのずれを色ずれと見なしている。
【００１６】
また、さらに普遍性を求めるため、請求項１にかかる発明は、上記色ずれを求めることになる明度に対応する階調表色データにおける各成分値の代表値を求め、同代表値と同明度との差を色ずれと判定する構成としてある。
【００１７】
ある明度に対応する各成分値のずれを求めるが、このときに各成分値の代表値を求める。この代表値は同じ明度となるいくつかの階調表色データがあるときに平均値などをとって代表といえる値を求める。概略対等な色成分からなる階調表色データの場合、各成分値のとりうる値の範囲でそれぞれが最大値であれば明度も最大値であるし、それぞれが最小値であれば明度も最小値となる。そして、低明度領域や高明度領域では色ずれがなければ各色成分値は明度値に一致する関係が見られる。従って、この代表値と明度値との差をもってして普遍性のある色ずれと判断できる。
【００１８】
低明度領域や高明度領域といっても、明度のとりうる全範囲での最小値と最大値とでは全成分値が最小値や最大値に一致してしまい、ずれが生じないこともある。このため、請求項３にかかる発明は、階調表色データにおける明度分布を集計して当該明度の再現可能範囲の端部から所定分布割合だけ内側に移行した明度での各成分値のずれを求める構成としてある。
【００１９】
希望的には、得られた階調表色データの中で最も明度の高いあるいは低いものにおける色成分値のずれを求めたい。しかしながら、現実の明度の分布状況を求めた場合、このような端部のデータはノイズなどによって極値になりかねず、これでは全成分値が最小値や最大値に一致してしまってずれを判定できないことがありうる。従って、統計的な手法により、明度の分布を集計した上である分布割合だけ内側に移行した明度を見ればノイズなどを除いた現実的な意味での明度の最小値あるいは最大値に近いものとなる。従って、この明度での各成分値から色ずれを求めることにより、ノイズなどの影響はなくなる。
【００２０】
以上、階調表色データに内在する色ずれの判定が可能となっているが、さらに、請求項１にかかる発明は、上記求められた色ずれを吸収するように階調表色データの各成分値を修正する構成としてある。
【００２１】
求められた色ずれを吸収するように階調表色データの各成分値を修正するので、色ずれがなくなった階調表色データとなる。
【００２２】
各成分値を修正する具体的な手法としては、各成分値を個別に修正するものでも良いし、新たなフィルタを形成して同フィルタを適用するものであっても良いし、さらには他の色変換を行うことを前提としている場合には同色変換に利用するテーブル値や補間演算値のパラメータを変更して修正することもできる。
【００２３】
色ずれを吸収するように各成分値を修正するにあたり、請求項４にかかる発明は、検出された色ずれを圧縮して現成分値の修正に適用する構成としてある。
【００２４】
例えば、得られた色ずれが「＋２０」というような値であったとすると、理論的にはこの色ずれを吸収できるのは「−１」を乗算した値になるはずである。しかしながら、現実にはかかる修正を行なうについては「−１」よりも圧縮した値、例えば、色ずれに「−０．５」というような値を乗算したものを現成分値に適用することがよりよい結果を生じる。
【００２５】
さらに、請求項５にかかる発明は、所定階調に対応して検出された色ずれを各階調値に対応せしめて現成分値の修正に適用する構成としてある。
【００２６】
現成分値の修正に当たり、上述したようにして得られる色ずれは低明度あるいは高明度の領域において認められる色ずれであり、必ずしも各階調値に適用可能ともいえない場合がある。従って、所定階調に対応して検出された色ずれは、線形的な手法によって各階調値に対応せしめ、そのようにして得られた色ずれを現成分値の修正に適用する。
【００２７】
例えば、低明度領域の明度Ｌと高明度領域の明度Ｈとでそれぞれ＋ａおよび＋ｂという色ずれが求められたとすれば明度Ｌと明度Ｈとの間で明度Ｌから階調値Ｘだけ離れた階調値（Ｌ＋Ｘ）での修正値はＸ・（ｂ−ａ）／（Ｈ−Ｌ）＋ａを適用すればよいことになる。この場合は色ずれを線形的に割り振っているが、より高度な割り振り方をするものであっても構わない。例えば、複数点で色ずれを求めて非線形演算で修正値を得るようなことも可能である。
【００２８】
上述したようにして、本来的に各色成分値が同等となる領域での各成分値のずれを色ずれと判定する手法は、実体のある装置に限定される必要はなく、その方法としても機能することは容易に理解できる。このため、概略対等な色成分からなる階調表色データにおける低明度や高明度領域での各色成分値のずれから当該階調表色データの色ずれを求めるとともに、上記求められた色ずれを吸収するように階調表色データの各成分値を個別に修正する構成としてもよい。
【００２９】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００３０】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【００３１】
その一例として、概略対等な色成分からなる階調表色データとして入力される画像データに基づいて印刷インクに対応した画像データに変換し、所定のカラープリンタに印刷せしめるプリンタドライバにおいても、同入力画像データにおける低明度や高明度領域での各色成分値のずれから当該階調表色データの色ずれを求め、求められた色ずれを吸収するように階調表色データの各成分値を個別に修正するように構成することができる。
【００３２】
すなわち、プリンタドライバは印刷インクに対応して入力された画像データを変換するが、このときに低明度領域や高明度領域といういわゆる色がない部分での色ずれを求め、この色ずれを吸収するように入力画像を変換し、印刷させる。
【００３３】
発明の思想の具現化例として画像処理装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。その一例として、コンピュータにて概略対等な色成分からなる階調表色データを入力し、当該階調表色データの色ずれを修正する画像処理プログラムを記録した媒体であって、上記階調表色データにおける低明度や高明度領域での各色成分値のずれから当該階調表色データの色ずれを求めるとともに、上記求められた色ずれを吸収するように階調表色データの各成分値を個別に修正する構成としてもよい。
【００３４】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
【００３５】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。さらには、カラーファクシミリ機、カラーコピー機、カラースキャナやディジタルカメラ、ディジタルビデオなどに内蔵する画像処理装置においても適用可能であることはいうまでもない。
【００３６】
【発明の効果】
以上説明したように本発明は、本来的に各色成分値が同等となる領域での各成分値のずれを求めることにより、色ずれを自動的に求めることが可能な画像処理装置を提供することができる。
【００３７】
また、請求項２にかかる発明によれば、高明度領域だけを対象とすることにより、処理量を減らしつつ、より実用的な領域での色ずれだけを求めることができる。
【００３８】
さらに、請求項１にかかる発明によれば、色ずれの算出を同一明度に対する各成分値のずれで求めるため、対象となる明度に幅を持たせる場合に比べて演算処理が簡易となる。
【００３９】
さらに、請求項１にかかる発明によれば、ある明度となる階調表色データにおける各成分値の代表値を求めることによりデータの信頼性を向上させ、また、同代表値と明度との差を色ずれと判定するので極めて簡潔な処理が可能となる。
【００４０】
さらに、請求項３にかかる発明によれば、色ずれを求めることになる明度として統計的な手法でノイズなどを除いているため、より正確に色ずれを求めることができる。
【００４１】
さらに、請求項１にかかる発明によれば、色ずれを求めるとともにこれを利用して色ずれをデータから除去して本来のデータを得ることができる。
【００４２】
さらに、請求項４にかかる発明によれば、検出された色ずれをそのまま修正に利用するよりも、圧縮して修正に適用することにより、感覚的な意味での修正結果が良くなる。
【００４３】
さらに、請求項５にかかる発明によれば、各階調値に応じた最適な修正値で修正するため、より正確に色ずれを吸収することができる。
【００４４】
そして、請求項６にかかる発明によれば、本来的に各色成分値が同等となる領域での各成分値のずれを求めることにより、色ずれを自動的に求めることが可能な画像処理方法を提供することができ、請求項７にかかる発明によれば、同様にして色ずれを自動的に求めることが可能な画像処理プログラムを記録した媒体を提供することができる。
【００４５】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
【００４６】
本実施形態においては、概略対等な色成分からなる階調表色データにおける低明度や高明度領域での各色成分値のずれから当該階調表色データの色ずれを求めるにあたり、１：現実の画像データから色ずれを判定するに適当な明度を決定し、２：同明度における成分値を得て、３：色ずれを算出するとともに、このようにして求められた色ずれを吸収するように階調表色データの各成分値を個別に修正するために、４：色ずれ修正処理を行う。
【００４７】
かかる具体的処理を行うため、本実施形態においては、図１及び図２に示す画像処理システムを採用している。図１は、本発明の一実施形態にかかる画像処理システムをブロック図により示しており、図２は具体的ハードウェア構成例をブロック図により示している。
【００４８】
同図において、画像入力装置１０は画像を撮像するなどして画像データを画像処理装置２０へ出力し、同画像処理装置２０は色ずれを算出するとともに色ずれを修正して画像出力装置３０に出力し、同画像出力装置３０は色ずれを修正された画像を表示する。
【００４９】
ここにおいて、画像入力装置１０の具体例はスキャナ１１やデジタルスチルカメラ１２あるいはビデオカメラ１４などが該当し、画像処理装置２０の具体例はコンピュータ２１とハードディスク２２などからなるコンピュータシステムが該当し、画像出力装置３０の具体例はプリンタ３１やディスプレイ３２等が該当する。
【００５０】
本画像処理システムにおいては、色ずれを含む画像データに対して色ずれを修正しようとしているものであるから、画像入力装置１０としてのスキャナ１１で写真を撮像した画像データであるとか、デジタルスチルカメラ１２で撮影した画像データなどで、これらの入力特性に色ずれが生じている場合などが処理の対象となり、画像処理装置２０としてのコンピュータシステムに入力される。
【００５１】
従って、本画像処理装置２０が、１：現実の画像データから色ずれを判定するに適当な明度を決定し、２：同明度における成分値を得て、３：色ずれを算出するとともに、４：色ずれ修正処理を行う。むろん、本画像処理装置２０は、この他にも機種毎による色の違いを補正する色変換手段であったり、機種毎に対応した解像度を変換する解像度変換手段などを構成していても構わない。この例では、コンピュータ２１はＲＡＭなどを使用しながら、内部のＲＯＭやハードディスク２２に保存されている各画像処理のプログラムを実行していく。なお、このような画像処理のプログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ＭＯなどの各種の記録媒体を介して供給される他、モデムなどによって公衆通信回線を介して外部のネットワークに接続し、ソフトウェアやデータをダウンロードして導入することも行われている。
【００５２】
この画像処理のプログラムの実行結果は後述するように色ずれを修正した画像データとして得られ、得られた画像データに基づいて画像出力装置３０であるプリンタ３１で印刷したり、同じ画像出力装置３０であるディスプレイ３２に表示する。なお、この画像データは、より具体的にはＲＧＢ（緑、青、赤）の階調表色データとなっており、また、画像は縦方向（ｈｅｉｇｈｔ）と横方向（ｗｉｄｅｔｈ）に格子状に並ぶドットマトリクスデータとして構成されている。
【００５３】
本実施形態においては、画像の入出力装置の間にコンピュータシステムを組み込んで画像処理を行うようにしているが、必ずしもかかるコンピュータシステムを必要とする訳ではない。例えば、図３に示すデジタルスチルカメラ１２ａでは、色ずれを修正する意味での画像処理装置を組み込んでいる。すなわち、このデジタルスチルカメラ１２ａは光学系１２ａ１とＣＣＤなどからなる光電変換部１２ａ２とを備えた撮像部を備えており、制御部１２ａ３による制御のもとで光学画像をデジタル画像に変換して画像メモリ１２ａ４に記録可能となっているが、ここに色ずれ修正部１２ａ５を備えて画像データに含まれる色ずれを修正するようにしている。このような場合、色ずれ修正部１２ａ５はＬＳＩなどのハードウェアで構成しても良いし、ソフトウェア処理で構成することも可能である。
【００５４】
また、入力機器を特定せず、出力側で色ずれを吸収するような構成とすることも可能である。例えば、図４に示すプリンタドライバは、印刷アプリケーションが出力する画像データからプリンタにおける印刷ヘッドの走査範囲を切り出すラスタライザ２１ａ１と、この走査範囲の各画素について色変換テーブルを参照してＲＧＢの階調表色データをＣＭＹの階調表色データに変換する色変換部２１ａ２と、ＣＭＹの階調表色データを二値データに階調変換する階調変換部２１ａ３とを具備している点で通常のプリンタドライバと共通している。しかしながら、ラスタライザ２１ａ１に入力される前の段階で画像データの色ずれを修正するため、色修正モジュール２１ｂを備えている。このようにしておくことにより、入力される画像データが何であれ、印刷時には色ずれというものを解消して印刷可能となる。
【００５５】
また、図５及び図６には色修正モジュールを他の画像処理モジュールと分離して考えたときに、当該色修正モジュールの実施順序を示している。図４の例は図５に示すように画像処理モジュール２１ｂが他の画像処理モジュール２１ａ（２１ａ１〜２１ａ３）に先行する位置づけとなっているが、別の実施例として図６に示すように色修正モジュール２１ｂを画像処理モジュール２１ａの後段に設置することも可能である。プリンタドライバの場合は出力が二階調の印刷データとなってしまうので、適当ではないが、ＲＧＢからＣＭＹＫへの色変換だけの画像処理であれば、ＣＭＹＫの階調表色データについて色ずれを求めればよい。ＣＭＹＫの階調表色データも概略対等な色成分値から構成されているため、同様の手法にて色ずれを求め、修正可能である。
【００５６】
次に、上記コンピュータ２１が実施する具体的な画像処理のプログラムについて図７に示すフローチャートに基づいて説明する。
【００５７】
ステップＳ１１０では演算明度決定処理を実行する。この演算明度決定処理は、現実の画像データから色ずれを判定するに適当な明度を決定するものであり、間引き処理と明度集計処理と明度決定処理とから構成されている。
【００５８】
低明度領域あるいは高明度領域での色ずれを検出するにあたり、画像データの元となる現実の画像の明度ｙと画像データの明度Ｙとの間には、図８に示すような関係がある。すなわち、画像入力装置の特性により、低明度領域あるいは高明度領域においては現実の画像の明度ｙに対して飽和してしまい、ある一定明度以上では最大値の明度となるし、ある一定明度以下では最小値の明度となる。ここにおいて、画像入力装置１０などで生じる色ずれは、無彩度の黒色〜白色に対して図９および図１０に示すようにＲＧＢの各成分値がわずかにずれているがために生じており、飽和してしまった領域においては各成分値にずれは現れない。このため、単純に最大明度あるいは最小明度での各成分値を見ても無意味であるし、最大値あるいは最小値から画一的に所定明度だけ内側の明度を基準としても対象となる画像データが白色あるいは黒色を意味しているのかが不確定である。
【００５９】
本実施例では、このような意味で図１１に示すようなビットマップ画像がある場合に、図１２に示すように明度の分布を求め、ノイズや飽和領域を除きつつ白色あるいは黒色を意味していると推測できる最大値あるいは最小値の明度を求める。
【００６０】
明度をいかにして表すかについて説明する前に、分布対象となる画素について説明する。演算明度決定処理では、まず、対象となる画素を間引く間引き処理を実行する。図１１に示すようなビットマップの画像であれば、縦方向に所定ドットと横方向に所定ドットからなる二次元のドットマトリクスとして成り立っており、正確な明度の分布を求めるのであれば全画素について明度を調べる必要がある。しかしながら、明度そのものが重要なわけではなく、飽和領域を除くために分布状況を求めることを目的としており、必ずしも正確である必要はない。従って、ある誤差の範囲内となる程度に間引きを行うことが可能である。統計的誤差によれば、サンプル数Ｎに対する誤差は概ね１／（Ｎ**（１／２））と表せる。ただし、**は累乗を表している。従って、１％程度の誤差で処理を行うためにはＮ＝１００００となる。
【００６１】
ここにおいて、図１１に示すビットマップ画面は（ｗｉｄｔｈ）×（ｈｅｉｇｈｔ）の画素数となり、サンプリング周期ｒａｔｉｏは、
ｒａｔｉｏ＝ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）／Ａ＋１      …（１）
とする。ここにおいて、ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）はｗｉｄｔｈとｈｅｉｇｈｔのいずれか小さい方であり、Ａは定数とする。また、ここでいうサンプリング周期ｒａｔｉｏは何画素ごとにサンプリングするかを表しており、図１３の○印の画素はサンプリング周期ｒａｔｉｏ＝２の場合を示している。すなわち、縦方向及び横方向に二画素ごとに一画素のサンプリングであり、一画素おきにサンプリングしている。Ａ＝２００としたときの１ライン中のサンプリング画素数は図１４に示すようになる。
【００６２】
同図から明らかなように、サンプリングしないことになるサンプリング周期ｒａｔｉｏ＝１の場合を除いて、２００画素以上の幅があるときには最低でもサンプル数は１００画素以上となることが分かる。従って、縦方向と横方向について２００画素以上の場合には（１００画素）×（１００画素）＝（１００００画素）が確保され、誤差を１％以下にできる。
【００６３】
ここにおいてｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）を基準としているのは次のような理由による。例えば、図１５（ａ）に示すビットマップ画像のように、ｗｉｄｔｈ＞＞ｈｅｉｇｈｔであるとすると、長い方のｗｉｄｔｈでサンプリング周期ｒａｔｉｏを決めてしまった場合には、同図（ｂ）に示すように、縦方向には上端と下端の２ラインしか画素を抽出されないといったことが起こりかねない。しかしながら、ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）として、小さい方に基づいてサンプリング周期ｒａｔｉｏを決めるようにすれば同図（ｃ）に示すように少ない方の縦方向においても中間部を含むような間引きを行うことができるようになる。
【００６４】
なお、この例では、縦方向と横方向の画素について正確なサンプリング周期で間引きを行うようにしている。これは、逐次入力される画素について間引きしながら処理する場合に好適である。しかし、全画素が入力されている場合には縦方向や横方向についてランダムに座標を指定して画素を選択するようにしても良い。このようにすれば、１００００画素というような必要最低限の画素数が決まっている場合に１００００画素となるまでランダムに抽出する処理を繰り返し、１００００画素となった時点で抽出を止めればよくなる。
【００６５】
そして、間引き処理と併せて明度の分布の集計をとる。ただし、このように選択した画素についての画素データが成分要素として明度を持っている必要はない。低明度領域や高明度領域では白色あるいは黒色を表すために互いに対等な関係にあるＲＧＢの各成分値が最大値あるいは最小値に近づいているはずであり、そのずれを求めることを目的としている。従って、その場合の正確な明度は必要ではないからである。
【００６６】
このような状況に鑑み、本実施形態においては、テレビジョンなどの場合に利用されているように、ＲＧＢの三原色から明度を求める次式の変換式を採用している。すなわち、Ｐ点での明度ｙp についてはＲＧＢの成分値（Ｒp,Ｇp,Ｂp）から、
ｙp＝０．３０Ｒp＋０．５９Ｇp＋０．１１Ｂp    …（２）
とする。また、よりおおざっぱに計算するならばそれぞれの加算割合を考慮することなく単に
ｙp＝（Ｒp＋Ｇp＋Ｂp）／３                    …（３）
というように簡略化することも可能である。
【００６７】
明度の分布の集計は、明度の範囲（「０」〜「２５５」の範囲の整数値とする）において、サンプリングした画素の明度を求め、各明度ごとに画素数をカウントしていく。これは、「０」〜「２５５」を引数とする配列変数を用意しておき、サンプリングした画素で求められた明度を引数として「１」ずつ同配列変数をインクリメントしていく。
【００６８】
このようにして明度の分布を集計したら、サンプリングした全画素数に対して上位の０．５％に入る最低の明度をＹｍａｘとする。本実施形態においては、この上位の側の明度Ｙｍａｘで色ずれを集計する。ただし、低明度領域においても色ずれを検出する場合には同様に下位の０．５％に入る最大の明度をＹｍｉｎとすればよい。図１２は、この０．５％の分布割合だけ内側に寄った上記明度Ｙｍａｘ，Ｙｍｉｎを示している。また、このようにして飽和領域などを避けることにより、図９および図１０に示すように色ずれが認められる明度を得ることができる。
【００６９】
次のステップＳ１２０では、このようにして得られた明度Ｙｍａｘ（およびＹｍｉｎ）での各成分値の平均値を算出する。すなわち、同明度Ｙｍａｘ（およびＹｍｉｎ）を与える画像データの画素について各成分値の平均値を算出する。本実施形態の場合、先に明度の集計を経て演算明度を決定し、再度、同明度を与えることになる画像データを探し出してきて平均値を求めるという２パスの処理になる。
【００７０】
これに対し、サンプリングする際にめぼしい輝度については平均値の算出のために成分値を積算しておくようにしても良い。例えば、Ｙｍａｘが「２３１」〜「２５５」の範囲に落ち着きそうであるとの前提が立てられるとする。その場合、サンプリングしているときに明度がこの範囲になったら同明度に対応した配列変数などを使用して各成分値を積算していく。そして、最後に演算明度を決定したら、同明度に対応する各積算値だけを画素数で除算することにより各成分値の平均値を求めることができる。
【００７１】
本実施形態においては、一般的な平均値を代表値としているが、平均値に限られるものではない。例えば、同じ明度を与える画像データにおける各成分値の最大値と最小値とを調べ、その中間値をとるといったことも可能である。要となるのは、画像入力装置などで生じている色ずれをある明度に対する各成分値の代表値から得ようとするものである。
【００７２】
そして、ステップＳ１３０では、ＲＧＢの各成分値の平均値Ｒav、Ｇav、Ｂavを利用して色ずれ△Ｒ、△Ｇ、△Ｂを次のようにして求める。
【００７３】
△Ｒ＝Ｒav−Ｙｍａｘ                  …（４）
△Ｇ＝Ｇav−Ｙｍａｘ                  …（５）
△Ｂ＝Ｂav−Ｙｍａｘ                  …（６）
色ずれの算出にあたってこのような演算明度に対する差として考えるものであっても良いし、この他にも、例えば、最大値となる成分値に対して他の成分値の下駄上げというように考えることもできるなど、他の方法とすることも可能である。
【００７４】
続くステップＳ１４０ではこのようにして得られた色ずれ△Ｒ、△Ｇ、△Ｂを用いて画像データを修正する。
【００７５】
ところで、後述するようにして画像データを修正するにあたり、画像データの各成分値に対して△Ｒ、△Ｇ、△Ｂを直に適用すると、補正が強すぎるという結果が得られた。感覚的なものであるが、得られたデータを次のように圧縮することによりより良い結果が得られた。すなわち、
ｄＲ＝△Ｒ／ａ                        …（７）
ｄＧ＝△Ｇ／ａ                        …（８）
ｄＢ＝△Ｂ／ａ                        …（９）
としている。ここで、ａ＝３〜４が適当であった。上述したようにして算術的に得られた色ずれを圧縮するのは、単純に色ずれを求める際の誤りだけではなく、画像データに適用した場合の修正法方にも関連するものであるといえる。従って、次の色ずれ修正と併せて決定すればよい。
【００７６】
修正量はＹｍａｘとなる画像データに補正量ｄＲ、ｄＧ、ｄＢを適用するにあたり、ＲＧＢの各成分値が（０，０，０）となるときには補正量が「０」となるように線形の関係にある補正量とする。すなわち、各成分値ｉ（ｉ＝０〜２５５）としたときに、補正量ｄＲ（ｉ）、ｄＧ（ｉ）、ｄＢ（ｉ）は
ｄＲ（ｉ）＝ｄＲ×ｉ／Ｒav            …（１０）
ｄＧ（ｉ）＝ｄＧ×ｉ／Ｇav            …（１１）
ｄＢ（ｉ）＝ｄＢ×ｉ／Ｂav            …（１２）
とする。すなわち、上述した成分値（Ｒp,Ｇp,Ｂp）となるＰ点については、
Ｒp＝Ｒp＋ｄＲ（Ｒp）                …（１３）
Ｇp＝Ｇp＋ｄＧ（Ｇp）                …（１４）
Ｂp＝Ｂp＋ｄＢ（Ｂp）                …（１５）
とすることにより、色ずれのないきれいな画像が得られる。なお、ＲＧＢの各階調値について（１３）式〜（１５）式は一律に変換関係が求められる。従って、あらかじめ全階調値に対応した変換テーブルを作成することにより、画像データの変換を高速化することができる。
【００７７】
この実施形態においては、いわゆる高明度領域の色ずれだけを考慮している。これは上述したように、この範囲の色ずれによる影響が現実に則していると言えるからである。しかしながら、上述したように低明度領域での色ずれも同様にして求めることができるため、高明度領域と低明度領域とで得られたそれぞれの色ずれ量が適用されるようにして色ずれを修正するようにしても良い。例えば、Ｙｍａｘでの色ずれ量をＤｍａｘとし、Ｙｍｉｎでの色ずれ量をＤｍｉｎとしたとき、成分値ｉに対する補正量補正量Ｄ（ｉ）は、
D(i)=(Dmax-Dmin)(i-Ymin)/(Ymax-Ymin)+Dmin    …（１６）
とすることができる。むろん、このようにした場合には圧縮に利用するａも適宜変更して調整可能である。
【００７８】
次に、上記構成からなる本実施形態の動作を説明する。
【００７９】
デジタルスチルカメラ１２における色ずれを修正する場合、同デジタルスチルカメラ１２で撮像した画像データをコンピュータ２１にて読み込み、ステップＳ１１０にて同画像データについて所定の間引き処理をしながら明度を集計する。明度を集計したら、明度の最大値の側から０．５％の分布割合だけ低明度側となる明度を演算明度Ｙｍａｘとする。次なるステップＳ１２０では、同演算明度Ｙｍａｘとなる画像データについてその成分値の平均値Ｒav、Ｇav、Ｂavを演算し、続くステップＳ１３０ではこの平均値Ｒav、Ｇav、Ｂavと上記演算明度Ｙｍａｘとの差から各成分ごとの色ずれ△Ｒ、△Ｇ、△Ｂを求める。このようにして色ずれ△Ｒ、△Ｇ、△Ｂが求められたら、ステップＳ１４０にてこの色ずれを圧縮しつつ各階調値に割り振ってしかるべき補正量を演算して各画素の画像データに反映させる。
【００８０】
むろん、スキャナ１１を介して読み込んだ画像データに対しても同様の処理を施すことにより、当該スキャナ１１の色ずれを修正することができる。また、ビデオカメラ１４の入力画像についても、同様であり、経年変化などを考慮して撮影のシーンごとにこのような色ずれを算出しておき、少なくともそのシーンにおいては同様の傾向であるものと想定して上記変換テーブルを作成しておくとともに、フレームごとにこの変換テーブルを参照して画像データを変換すればよい。むろん、十分な演算速度があれば各フレームごとに変換するようにしても良いし、同様の変換は受像機の側で行うことも可能である。
【００８１】
このように、概略対等な関係にある成分値を持つ階調表色データの場合、低明度領域や高明度領域では、画像データとして黒色あるいは白色を表しているはずであり、この領域では基本的に成分値が同等であると見なせる状況があるので、成分値の差を持って色ずれと判断することができ、このような背景のもとでステップＳ１１０にて画像データが飽和していない範囲の演算明度を決定するとともに、ステップＳ１２０にて同演算明度での各成分値の平均値を算出し、ステップＳ１３０にて演算明度と成分値の平均値との差から色ずれを算出するとともに、ステップＳ１４０にて同色ずれを画像データに反映させて修正する。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる画像処理装置が適用される画像処理システムのブロック図である。
【図２】同画像処理装置の具体的ハードウェア構成例を示すブロック図である。
【図３】本発明の画像処理装置の他の適用例を示すデジタルスチルカメラのブロック図である。
【図４】本発明の画像処理装置の他の適用例を示すプリンタドライバの構成図である。
【図５】本発明の画像処理装置の適用順序を示す図である。
【図６】本発明の画像処理装置の他の適用順序を示す図である。
【図７】本発明の画像処理装置における色ずれ修正処理に対応するフローチャートである。
【図８】画像データの特性を示すグラフである。
【図９】高明度領域における各成分値のずれの状況を示すグラフである。
【図１０】低明度領域における各成分値のずれの状況を示すグラフである。
【図１１】変換元の画像データを示す図である。
【図１２】明度分布で得られる演算明度を示す図である。
【図１３】サンプリング周期を示す図である。
【図１４】サンプリング画素数を示す図である。
【図１５】変換元の画像とサンプリングされる画素の関係を示す図である。
【符号の説明】
１０…画像入力装置
１１…スキャナ
１２…デジタルスチルカメラ
１２ａ…デジタルスチルカメラ
１２ａ５…色ずれ修正部
１４…ビデオカメラ
２０…画像処理装置
２１…コンピュータ
２１ａ…画像処理モジュール
２１ｂ…色修正モジュール
３０…画像出力装置
３１…プリンタ
３２…ディスプレイ
【図１】
0003956067.tif 000002
【図２】
0003956067.tif 000003
【図３】
0003956067.tif 000004
【図４】
0003956067.tif 000005
【図５】
0003956067.tif 000006
【図６】
0003956067.tif 000007
【図７】
0003956067.tif 000008
【図８】
0003956067.tif 000009
【図９】
0003956067.tif 000010
【図１０】
0003956067.tif 000011
【図１１】
0003956067.tif 000012
【図１２】
0003956067.tif 000013
【図１３】
0003956067.tif 000014
【図１４】
0003956067.tif 000015
【図１５】
0003956067.tif 000016