(57)【要約】【課題】  現実の画像データに対応した最も好適な変換式を自動的に適用するということはできなかった。【解決手段】  ステップＳ１０２で間引きするなどしながら画像データの画素について輝度ｙを求めた後、上端と下端において所定の分布割合だけ内側に入った端部を当該輝度分布の端部をみなすことにより（ステップＳ１１６）、輝度の再現可能な範囲内での拡大率に対応するパラメータａと、オフセット量に対応するパラメータｂとを得ることができるようになるため、変換元の輝度ｙに対して変換先輝度ＹをＹ＝ａｙ＋ｂなる関係式などを利用して自動的に変換可能となる。【選択図】  図１６
2010009609.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素からなる画像の画像データに対して所定の画像処理を行う画像処理装置であって、
上記画像データに基づいて画像の全体的な特徴を示す輝度分布を一つ求めて当該輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じて上記画像データにおける各画素単位での明るさを補正することを特徴とする画像処理装置。
【請求項２】
上記請求項１に記載の画像処理装置において、再現可能な輝度の範囲をｙrange としたときに、変換前の輝度ｙと輝度の分布範囲の最大値ｙmaxと最小値ｙminから変換先の輝度Ｙを次式に基づいて求めることを特徴とする画像処理装置。
Ｙ＝ａｙ＋ｂ
ただし
ａ＝ｙrange／（ｙmax−ｙmin）
ｂ＝−ａ・ｙminあるいはｙrange−ａ・ｙmax
また、上記変換式にてＹ＜０ならばＹ＝０とし、Ｙ＞y rangeならばＹ＝ｙrangeとする。
【請求項３】
上記請求項２に記載の画像処理装置において、変換元の輝度ｙの取りうる範囲内で変換先の輝度Ｙを演算して記憶しておき、変換時には対応関係を呼び起こして変換することを特徴とする画像処理装置。
【請求項４】
上記請求項１〜請求項３のいずれかに記載の画像処理装置において、画像データが輝度に対応した複数の成分値で表される場合において、輝度の演算を同成分値の線形加算で求めることを特徴とする画像処理装置。
【請求項５】
上記請求項１〜請求項４のいずれかに記載の画像処理装置において、拡大される輝度分布の範囲を実際の再現可能な範囲の端部よりも所定量だけ内側に設定することを特徴とする画像処理装置。
【請求項６】
上記請求項１〜請求項５のいずれかに記載の画像処理装置において、輝度分布の拡大範囲に制限を設定することを特徴とする画像処理装置。
【請求項７】
上記請求項６に記載の画像処理装置において、再現可能な範囲内での変換前の輝度分布範囲の対応位置と変換後の輝度分布範囲の対応位置とが保持されることを特徴とする画像処理装置。
【請求項８】
上記請求項７に記載の画像処理装置において、変換前に輝度分布範囲の上端と下端とに残存していた拡大可能な範囲の割合が変換後にも保持されるように輝度分布を拡大することを特徴とする画像処理装置。
【請求項９】
上記請求項１〜請求項８のいずれかに記載の画像処理装置において、輝度分布に基づいて二値画像データを判定するとともに、二値画像データであれば輝度分布の拡大を行わないことを特徴とする画像処理装置。
【請求項１０】
上記請求項９に記載の画像処理装置において、再現可能な範囲内の両端に輝度分布が集中しているときに白黒の二値画像データであると判断することを特徴とする画像処理装置。
【請求項１１】
上記請求項１〜請求項１０のいずれかに記載の画像処理装置において、画像データが自然画でない場合に輝度分布の拡大を行わないことを特徴とする画像処理装置。
【請求項１２】
上記請求項１１に記載の画像処理装置において、輝度分布がスペクトル状に存在する場合に上記画像データが自然画でないと判定する自然画判定手段を備えることを特徴とする画像処理装置。
【請求項１３】
複数の画素からなる画像の画像データに対して所定の画像処理を行う画像処理方法であって、上記画像データに基づいて画像の全体的な特徴を示す輝度分布を一つ求めて当該輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じて上記画像データにおける各画素単位での明るさを補正することを特徴とする画像処理方法。
【請求項１４】
複数の画素からなる画像の画像データをコンピュータにて入力し、所定の画像処理を行う画像処理プログラムを記録した媒体であって、
上記画像データに基づいて画像の全体的な特徴を示す輝度分布を一つ検出するステップと、
この検出された輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じて上記画像データにおける各画素単位での明るさを補正するステップとを具備することを特徴とする画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムを記録した媒体に関し、特に、画像データのコントラストを処理する画像処理装置、画像処理方法および画像処理プログラムを記録した媒体に関する。
【背景技術】
【０００２】
従来、この種の画像処理装置として、例えば特許文献１に開示されたものが知られている。
【０００３】
同公報に示す画像処理装置では、変換元の輝度ｙに対して変換後の輝度ｙ'の関係を（１）式のように対応付け、操作者が選択したパラメータａあるいはパラメータｂに基づいて画像データの輝度を変換している。これにより、コントラストの弱い画像データについてコントラストを強調した画像が得られる。
【０００４】
ｙ'＝ａｙ＋ｂ                      …（１）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特公平７−６６３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した従来の画像処理装置においては、予めコントラストの強弱の程度を変えた複数の設定を用意しておき、これを切り換えている。従って、現実の画像データに対応した最も好適なものを自動的に適用するということはできなかった。
特に、（１）式に基づいて変化させる場合には全体が明るい画像であれば明るさが強調されるだけの結果となったり、全体が暗い画像であれば暗さが強調されるだけの結果となったりすることもあった。
【０００７】
また、コントラストの強弱はテレビジョンなどでも操作可能なものでありながら、各画像において最適な強調を実行するといった自動化ができなかった。
【０００８】
本発明は、上記課題にかんがみてなされたもので、コントラストの自動調整が可能な画像処理装置、画像処理方法および画像処理プログラムを記録した媒体の提供を目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１にかかる発明は、複数の画素からなる画像の画像データに対して所定の画像処理を行う画像処理装置であって、上記画像データに基づいて画像の全体的な特徴を示す輝度分布を一つ求めて当該輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じて上記画像データにおける各画素単位での明るさを補正する構成としてある。
【００１０】
上記のように構成した請求項１にかかる発明においては、画像データが画像をドットマトリクス状の画素に分解して各画素の情報を表している場合に、同画像データにおける輝度分布を求めることにより、画像データにおけるコントラストの幅というようなものをある程度数値化でき、数値化できた上で再現可能な範囲に対応して当該分布を拡大させる。また、コントラストを広げただけでは全体に明るかったり暗かったりするというような場合に対応できないこともあるので、画像データが全体的に明るいか否かを判定する。その手法として、変換元の輝度ｙの最大分布輝度を利用し、この最大分布輝度が明るい側にあればγ補正で全体的に暗めにし、最大分布輝度が暗い側にあればγ補正で全体的に明るめにするといったことでコントラストの強調だけでは得られない全体の明るさの自動補正が行われる。ここにおいて、変換元の輝度ｙの最大分布輝度はメジアンで求めても良いし、平均値で求めても良い。
【００１１】
むろん数値化といっても必ずしも具体的な数値が必要なわけではなく、その処理過程において数値として扱っても良いし、信号の大きさとして扱うようなことも可能である。これをさらに具体的に表した一例として、複数の画素からなる画像の画像データに対して所定の画像処理を行う画像処理装置であって、上記画像データにおける画素単位での輝度分布を検出する輝度分布検出手段と、この検出された輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じてγ値を求め、当該γ値に基づいて上記画像データにおける各画素単位での輝度の情報をγ補正する画像データ変換手段を具備する構成としてもよい。
【００１２】
所定画像の画像データを扱う上でその輝度分布を求めるため、輝度分布検出手段は、上記画像データにおける画素単位での輝度分布を検出する。そして、画像データ変換手段は、この検出された輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じてγ値を求め、当該γ値に基づいて上記画像データにおける各画素単位での輝度の情報をγ補正する。
【００１３】
すなわち、画素単位での画像データの輝度分布を求めれば最も明るい輝度から最も暗い輝度までのいわゆるコントラストの幅が判別でき、再現可能な輝度の幅の範囲と対比すればコントラストの拡大率が判定できるので、後はその拡大率となるようにして輝度分布を拡大させれば良くなる。例えば、各画素での輝度に基づいて全体としての輝度分布を集計した後、集計された輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散していない場合に、上記輝度分布が同輝度範囲に広く分散するように上記画像データにおける各画素の輝度の情報を変換する。
【００１４】
輝度分布を拡大する手法はいくつか可能であり、画像データの輝度分布が可能な範囲内で拡大されるようにすればよい。その要点を説明すれば、検出された輝度分布の統計的な幅と再現可能な輝度範囲の幅とを比較して拡大可能な程度を拡大率として求めるとともに、拡大された輝度分布の上端と下端がこの輝度範囲内に収まるようにするための調整値を求め、各画素の輝度を個別に修正するということである。この具体的な一例として、請求項２にかかる発明は、請求項１に記載の画像処理装置において、再現可能な輝度の範囲をｙrange としたときに、変換前の輝度ｙと輝度の分布範囲の最大値ｙmax と最小値ｙmin から変換先の輝度Ｙを次式に基づいて求める構成としてある。
【００１５】
Ｙ＝ａｙ＋ｂ                      …（２）
ただし
ａ＝ｙrange／（ｙmax−ｙmin）                …（３）
ｂ＝−ａ・ｙminあるいはｙrange−ａ・ｙmax     …（４）
また、上記変換式にてＹ＜０ならばＹ＝０とし、Ｙ＞ｙrangeならばＹ＝ｙrangeとする。
【００１６】
この変換はいわゆる線形の拡大であり、変換式自体は従来のものと同様であるものの、そのパラメータが画像データ変換手段によって選定されることに意義がある。ｂの選択に関わらず、ｙ＝ｙminの場合にＹ＝０となり、ｙ＝ｙmaxの場合にＹ＝ｙrangeとなる。そして、再現可能な輝度の範囲であるｙrangeの範囲内で輝度分布が一様に広がることになる。
【００１７】
なお、この例においては、いわゆる狭義の線形変換であり、むろんこれに限られる必要はなく、広義の非線形変換を実施することも可能である。
【００１８】
また、当該変換式は一例に過ぎず同意義の変換式であっても適用可能であることはいうまでもない。
【００１９】
各種の手法で輝度を変換するにあたり、請求項３にかかる発明は、請求項２に記載の画像処理装置において、変換元の輝度ｙの取りうる範囲内で変換先の輝度Ｙを演算して記憶しておき、変換時には対応関係を呼び起こして変換する構成としてある。
【００２０】
変換式に基づいて輝度を毎回計算することも不可能ではないが、輝度分布のとりうる値の範囲は決まっている。このため、あらかじめ変換元の輝度ｙに基づいて変換先の輝度Ｙを演算して記憶しておけば、変換時に対応関係を呼び起こすだけで変換することが可能となる。
【００２１】
輝度を変換するにあたっては画像データが輝度のデータとして含んでいる場合もあるし、間接的でしか輝度のデータを含んでいない場合もある。むろん、直接の輝度のデータを含んでいればそれを変換すればよいし、間接的な輝度のデータである場合でも輝度のデータに変換してから所定の輝度変換を行えばよい。しかしながら、輝度の変換は極めて正確でなければならないわけではなく、大まかに分かれば良いともいえる。
【００２２】
その意味では厳格な正確さが要求されるわけではないので、請求項４にかかる発明は、請求項１〜請求項３のいずれかに記載の画像処理装置において、画像データが輝度に対応した複数の成分値で表される場合において、輝度の演算を同成分値の線形加算で求める構成としてある。
【００２３】
画像データがいわゆるＲＧＢ（赤緑青）の階調データで表されている場合、赤緑青についての各成分値はそれぞれが輝度に対応しているといえる。このため、同成分値の線形加算は十分に輝度を表すものといえ、極めて容易な変換方法となりうる。
【００２４】
各画素についての輝度が求められるものとして、画像としての輝度分布は必ずしも画像データの全画素について求める必要がなく、例えば、画像データについて所定の抽出率に対応した間引きを行って輝度分布を求める構成としてもよい。
【００２５】
分布を求めることを目的とすれば、全画素に対して輝度を求めることなく、所定の抽出率で間引きを行なったとしても抽出率に応じた程度の確かさの輝度分布を得ることができる。
【００２６】
ここにおいて、間引く手法も様々であるものの、縦方向と横方向の範囲での短い側において所定の抽出数が確保されるようにする構成としてもよい。
【００２７】
画像は平面的であるが故、自ずからその画像データも縦方向と横方向とに分布するが、ある抽出率を決定するにあたっては、少なくとも短い側においてある抽出数を確保することにより、抽出率に応じた確かさを保持することになる。
【００２８】
さらに、輝度分布を求める際に実際の端部から所定分布割合だけ内側部分を端部としてみなす構成としてもよい。
【００２９】
画像データの輝度分布を統計的に考慮すれば、極めて少ないながらも再現可能な輝度の範囲での両端部位まで分布すると考えるのが妥当である。従って、現実の輝度分布の両端は常に再現可能な輝度の範囲での両端にあることになる。この両端を採用したとすれば拡大率は実質的に「１」となってしまうので、本来の効果を果たし得ない。
【００３０】
しかしながら、両端における所定分布割合を除いて考えれば極めて分布の少ない裾野の部分を統計的に見て適度に無視することになる。このため、この範囲をもって拡大の程度を判断する基準とする。
【００３１】
所定分布割合は、極めて分布の少ない裾野の部分を無視することができるものであればよく、総画素数の一定割合の画素数というものであっても良いし、一定数以下の分布となったときに端部と見なすようなものでも構わない。
【００３２】
さらに、請求項５にかかる発明は、請求項１〜請求項４のいずれかに記載の画像処理装置において、拡大される輝度分布の範囲を実際の再現可能な範囲の端部よりも所定量だけ内側に設定する構成としてある。
【００３３】
実際の画像においてはハイライト部分とハイシャドウ部分とがあり、これらの部分について人間の目が微妙な違いを悟りやすい。従って、いわゆる再現可能な輝度範囲の端部にかかる作為的な拡大を行うとハイライト部分では白く抜けた感じとなるし、ハイシャドウ部分では黒くつぶれた感じで表れてしまう。
【００３４】
しかるに、拡大される輝度分布の範囲を実際の再現可能な範囲の端部よりも所定量だけ内側に設定することにより、両端部分で作為的な拡大が行なわれなくなる。
【００３５】
さらに、請求項６にかかる発明は、請求項１〜請求項５のいずれかに記載の画像処理装置において、輝度分布の拡大範囲に制限を設定する構成としてある。
【００３６】
コントラストが狭いことが当然の場合がある。例えば、夕方の風景であれば輝度分布の幅が狭いのは自然であり、これを必要以上に拡大してしまうと昼の風景となってしまう。同様の例は他の場合においてもあり得ることで、輝度分布の拡大範囲に制限を設定することにより、かかる現象を回避する。
【００３７】
さらに、請求項７にかかる発明は、請求項６に記載の画像処理装置において、再現可能な範囲内での変換前の輝度分布範囲の対応位置と変換後の輝度分布範囲の対応位置とが保持される構成としてある。
【００３８】
輝度分布を再現可能な範囲内で最大限に使用するとすれば輝度分布を拡大可能な残余の範囲はなくなる。しかしながら、拡大範囲に制限を加えるとすれば、輝度分布を拡大可能な残余の範囲が残る。言い換えればどの範囲を中心に拡大するかの自由度が残ることになり、その中心によっては画像の雰囲気が変わりかねない。従って、再現可能な範囲内での変換前の輝度分布範囲の対応位置と変換後の輝度分布範囲の対応位置とを保持し、その中心が変わらないようにする。
【００３９】
かかる意味での画像の輝度分布の中心については各種の捉え方が可能であり、その一例として、請求項８にかかる発明は、請求項７に記載の画像処理装置において、変換前に輝度分布範囲の上端と下端とに残存していた拡大可能な範囲の割合が変換後にも保持されるように輝度分布を拡大する構成としてある。
【００４０】
すなわち、実質的に中心が保持されればよいので、必ずしも同中心を直接的にとらえて保持する必要はないといえ、逆に変換前に輝度分布範囲の上端と下端とに残存していた拡大可能な範囲をとらえ、この範囲の割合が変換後にも保持されるように輝度分布を拡大して実質的に中心を保持する。
【００４１】
さらに、請求項９にかかる発明は、請求項１〜請求項８のいずれかに記載の画像処理装置において、輝度分布に基づいて二値画像データを判定するとともに、二値画像データであれば輝度分布の拡大を行わない構成としてある。
【００４２】
二値画像については実質的な意味での輝度分布はないといえるので、輝度分布から二値画像データを判定したら輝度分布の拡大は行わないようにしている。
【００４３】
二値画像データはある色を持ったものでもあり得るため、その色の有りと無しに対応する二つの輝度となりうる。その色の輝度か否かを判定することも可能であるが、それを示唆する情報がない場合においては、請求項１０にかかる発明は、請求項９に記載の画像処理装置において、再現可能な範囲内の両端に輝度分布が集中しているときに白黒の二値画像データであると判断する構成としてある。
【００４４】
すなわち、白黒画像については再現可能な範囲内の両端に輝度分布が集中しているといえ、判断可能となる。
【００４５】
さらに、突出する輝度分布に基づいて画像データの枠部を判定するとともに、枠部があれば枠部のデータについて輝度分布の拡大に利用しない構成としてもよい。
【００４６】
画像を処理する場合に頻繁に起こり得るのは枠を持っていることであり、単色の枠として存在すれば当然にその色に対応する輝度分布だけが突出する。従って、かかる突出した輝度分布をもってして拡大の判断の基準とすれば有効な判断ができなくなり得るから、枠部と判断して輝度分布の拡大に利用しない。
【００４７】
さらに、その一例として、再現可能な範囲内での端部に集中している輝度分布が枠部であると判定する構成としてもよい。
【００４８】
白枠あるいは黒枠は頻繁にあり採用されるし、トリミングの結果によっても生じ得るものであり、再現可能な範囲内での端部に該当する。従って、この端部に集中している輝度分布を枠部と判定する。
【００４９】
ところで、請求項１１にかかる発明は、請求項１〜請求項１０のいずれかに記載の画像処理装置において、画像データが自然画でない場合に輝度分布の拡大を行わないように構成してある。
【００５０】
コントラストの幅の狭さが問題となりやすいのは写真のような自然画であり、ビジネスグラフのようなものでは殆ど必要が無いとも言える。逆に、ビジネスグラフのようなものについて手を加えることが作り手のイメージと異ならせる結果になりかねない。従って、このような自然画の場合にだけ輝度分布を拡大するようにしている。
【００５１】
自然画か否かの判断の一例として、請求項１２にかかる発明は、請求項１１に記載の画像処理装置において、輝度分布が線スペクトル状に存在する場合に上記画像データが自然画でないと判定する自然画判定手段を備えた構成としてある。
【００５２】
自然画の特徴として輝度分布が滑らかに幅を持つことが言える。従って、輝度分布が線スペクトル状に表れていれば自然画でないと判断して概ね差し支えない。上記のように構成した請求項１２にかかる発明においては、自然画判定手段が輝度分布の状態を判定し、線スペクトル状に存在する場合に画像データが自然画でないと判定し、これにより輝度分布の拡大が行われなくなる。
【００５３】
上述したようにして、画像データにおける輝度分布を求めて再現可能な範囲に対応して当該分布を拡大させるように画像データを変換する手法は、実体のある装置に限定される必要はなく、その方法としても機能することは容易に理解できる。このため、請求項１３にかかる発明は、複数の画素からなる画像の画像データに対して所定の画像処理を行う画像処理方法であって、上記画像データに基づいて画像の全体的な特徴を示す輝度分布を一つ求めて当該輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じて上記画像データにおける各画素単位での明るさを補正する構成としてある。
【００５４】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００５５】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【００５６】
その一例として、入力される画像データに基づいて印刷インクに対応した画像データに変換し、所定のカラープリンタに印刷せしめるプリンタドライバにおいても、画像データにおける輝度分布を求めて再現可能な範囲に対応して当該分布を拡大させるように画像データを変換するように構成することができる。
【００５７】
すなわち、プリンタドライバは印刷インクに対応して入力された画像データを変換するが、このときに同入力画像データの輝度分布を求め、再現可能な範囲に対応して当該分布を拡大させ、拡大された分布となるように入力画像を変換し、印刷させる。
【００５８】
発明の思想の具現化例として画像処理装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。その一例として、請求項１４にかかる発明は、複数の画素からなる画像の画像データをコンピュータにて入力し、所定の画像処理を行う画像処理プログラムを記録した媒体であって、上記画像データに基づいて画像の全体的な特徴を示す輝度分布を一つ検出するステップと、この検出された輝度分布が当該画像データの取りうる有効な輝度範囲に広く分散するように上記画像データを変換するにあたり、上記輝度分布から最大分布輝度を求めるとともに、上記有効な輝度範囲内での同最大分布輝度の所属範囲に応じて上記画像データにおける各画素単位での明るさを補正するステップとを具備する構成としてある。
【００５９】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなるソフトウェア記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行う場合でも本発明が利用されていることには変わりないし、半導体チップに書き込まれたようなものであっても同様である。
【００６０】
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものはなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。さらには、カラーファクシミリ機、カラーコピー機、カラースキャナやディジタルカメラ、ディジタルビデオなどに内蔵する画像処理装置においても適用可能であることはいうまでもない。
【発明の効果】
【００６１】
以上説明したように本発明は、輝度分布を求めることにより、その画像のコントラストの幅のようなものを定量的に扱うことが可能となり、再現可能な範囲内での拡大程度を求めることができるので、コントラストの強調を自動化することが可能な画像処理装置を提供することができる。
【００６２】
また、本発明によれば、コントラストの強調だけでは直せない明るさの程度をも調整することができる。
【００６３】
また、請求項２にかかる発明によれば、所定の範囲の階調内で有効に輝度分布を拡大することができる。
【００６４】
さらに、請求項３にかかる発明によれば、変換を容易にすることができる。
【００６５】
さらに、請求項４にかかる発明によれば、必要十分な程度の正確さで輝度を容易に求めることができるようになる。
【００６６】
さらに、処理量を減らすことができる。
【００６７】
さらに、画像の抽出点の偏りを無くして輝度分布が正確になりやすくなる。
【００６８】
さらに、より判断に有効な輝度分布を得ることができる。
【００６９】
さらに、請求項５にかかる発明によれば、ハイライト部分やハイシャドウ部分をつぶさないようにすることができる。
【００７０】
さらに、請求項６にかかる発明によれば、コントラストを強調しすぎて画像の雰囲気を変えてしまわないようにすることができる。
【００７１】
さらに、請求項７にかかる発明によれば、画像の明るさに表される雰囲気を保持することができ、さらに、請求項８にかかる発明によれば、それを容易に実行することができる。
【００７２】
さらに、請求項９にかかる発明によれば、輝度分布の拡大の不要な条件を容易に判定して拡大を行わないようにすることができるし、さらに、請求項１０にかかる発明によれば、頻度の多い白黒画像を効率よく判定することができる。
【００７３】
さらに、画像に表れがちな枠部の輝度によって処理が不正確になるのを防止することができ、頻度の多い白黒の枠部を容易に判定することができる。
【００７４】
さらに、請求項１１にかかる発明によれば、輝度分布の拡大が必要な自然画の場合にだけ行うようにすることができ、さらに、請求項１２にかかる発明によれば、自然画か否かを容易に判定することができる。
【００７５】
そして、請求項１３にかかる発明によれば、輝度分布を求めて画像のコントラストの幅のようなものを定量的に扱うことができ、コントラストの強調を自動化する画像処理方法を提供することができ、請求項１４にかかる発明によれば、同様にしてコントラストの強調を自動化する画像処理プログラムを記録した媒体を提供することが可能となる。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態にかかる画像処理装置が適用される画像処理システムのブロック図である。
【図２】同画像処理装置の具体的ハードウェア構成例を示すブロック図である。
【図３】本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図４】本発明の画像処理装置の他の適用例を示す概略ブロック図である。
【図５】本発明の画像処理装置における輝度の分布抽出処理部分を示すフローチャートである。
【図６】本発明の画像処理装置における輝度変換処理部分を示すフローチャートである。
【図７】変換元の画像における座標を示す図である。
【図８】サンプリング周期を示す図である。
【図９】サンプリング画素数を示す図である。
【図１０】変換元の画像とサンプリングされる画素の関係を示す図である。
【図１１】白黒の画像を示す図である。
【図１２】白黒の画像の輝度分布を示す図である。
【図１３】枠部のある画像を示す図である。
【図１４】枠部のある画像の輝度分布を示す図である。
【図１５】輝度分布の端部処理と端部処理にて得られる端部を示す図である。
【図１６】輝度分布の拡大と再現可能な範囲を輝度の範囲を示す図である。
【図１７】輝度分布の拡大率に制限を与える場合を示す図である。
【図１８】輝度分布を拡大する際の変換テーブルを示す図である。
【図１９】γ補正で明るくする概念を示す図である。
【図２０】γ補正で暗くする概念を示す図である。
【図２１】γ補正で変更される輝度の対応関係を示す図である。
【発明を実施するための形態】
【００７７】
以下、図面にもとづいて本発明の実施形態を説明する。
【００７８】
図１は、本発明の一実施形態にかかる画像処理システムをブロック図により示しており、図２は具体的ハードウェア構成例をブロック図により示している。
【００７９】
同図において、画像入力装置１０は画像を撮像するなどして画像データを画像処理装置２０へ出力し、同画像処理装置２０は所定のコントラスト強調などの画像処理を行なって画像出力装置３０に出力し、同画像出力装置３０はコントラストを強調された画像を表示する。
【００８０】
ここにおいて、画像入力装置１０の具体例はスキャナ１１やデジタルスチルカメラ１２あるいはビデオカメラ１４などが該当し、画像処理装置２０の具体例はコンピュータ２１とハードディスク２２などからなるコンピュータシステムが該当し、画像出力装置３０の具体例はプリンタ３１やディスプレイ３２等が該当する。
【００８１】
本画像処理システムにおいては、コントラストの弱い画像に対して最適なコントラストを与えようとしているものであるから、画像入力装置１０としてのスキャナ１１で写真を撮像した画像データであるとか、デジタルスチルカメラ１２で撮影したコントラストの弱い画像データなどが処理の対象となり、画像処理装置２０としてのコンピュータシステムに入力される。
【００８２】
本画像処理装置２０は、少なくとも、輝度の分布を抽出する輝度分布検出手段と、この検出された輝度分布に基づいて再現可能な範囲内での同輝度分布の拡大可能な程度を判別して画像データを変換する画像データ変換手段を構成する。むろん、本画像処理装置２０は、この他にも機種毎による色の違いを補正する色変換手段であったり、機種毎に対応した解像度を変換する解像度変換手段などを構成していても構わない。この例では、コンピュータ２１はＲＡＭなどを使用しながら、内部のＲＯＭやハードディスク２２に保存されている各画像処理のプログラムを実行していく。なお、このような画像処理のプログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ＭＯなどの各種の記録媒体を介して供給される他、モデムなどによって公衆通信回線を介して外部のネットワークに接続し、ソフトウェアやデータをダウンロードして導入することも行われている。
【００８３】
この画像処理のプログラムの実行結果は後述するようにコントラストを強調した画像データとして得られ、得られた画像データに基づいて画像出力装置３０であるプリンタ３１で印刷したり、同じ画像出力装置３０であるディスプレイ３２に表示する。なお、この画像データは、より具体的にはＲＧＢ（緑、青、赤）の階調データとなっており、また、画像は縦方向（ｈｅｉｇｈｔ）と横方向（ｗｉｄｅｔｈ）に格子状に並ぶドットマトリクスデータとして構成されている。すなわち、当該画像データは画像をドットマトリクス状の画素に分解して各画素の情報を表したものとなっている。
【００８４】
本実施形態においては、画像の入出力装置の間にコンピュータシステムを組み込んで画像処理を行うようにしているが、必ずしもかかるコンピュータシステムを必要とする訳ではなく、図３に示すようにデジタルスチルカメラ１２ａ内にコントラストを強調する意味での画像処理装置を組み込み、変換した画像データを用いてディスプレイ３２ａに表示させたりプリンタ３１ａに印字させるようなシステムであっても良い。また、図４に示すように、コンピュータシステムを介することなく画像データを入力して印刷するプリンタ３１ｂにおいては、スキャナ１１ｂやデジタルスチルカメラ１２ｂあるいはモデム１３ｂ等を介して入力される画像データを自動的にコントラスト強調するように構成することも可能である。
【００８５】
コンピュータ２１にて実行する画像処理の内、輝度分布検出手段に相当する輝度の分布検出処理と画像データ変換手段に相当する輝度変換処理とをそれぞれ図５及び図６に示している。
【００８６】
図５は主に輝度の分布検出処理に該当しており、まず、この輝度の分布検出処理について説明する。
【００８７】
輝度をいかにして表すかについて説明する前に、分布対象となる画素について説明する。図５のステップＳ１０２で示すように対象となる画素を間引く間引き処理を実行する。図７に示すように、ビットマップの画像であれば、縦方向に所定ドットと横方向に所定ドットからなる二次元のドットマトリクスとして成り立っており、正確な輝度の分布を求めるのであれば全画素について輝度を調べる必要がある。しかしながら、この分布抽出処理は分布の幅を求めることを目的としており、必ずしも正確である必要はない。従って、ある誤差の範囲内となる程度に間引きを行うことが可能である。統計的誤差によれば、サンプル数Ｎに対する誤差は概ね１／（Ｎ**（１／２））と表せる。ただし、**は累乗を表している。
従って、１％程度の誤差で処理を行うためにはＮ＝１００００となる。
【００８８】
ここにおいて、図７に示すビットマップ画面は（ｗｉｄｔｈ）×（ｈｅｉｇｈｔ）の画素数となり、サンプリング周期ｒａｔｉｏは、
ｒａｔｉｏ＝ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）／Ａ＋１    …（５）
とする。ここにおいて、ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）はｗｉｄｔｈとｈｅｉｇｈｔのいずれか小さい方であり、Ａは定数とする。また、ここでいうサンプリング周期ｒａｔｉｏは何画素ごとにサンプリングするかを表しており、図８の○印の画素はサンプリング周期ｒａｔｉｏ＝２の場合を示している。すなわち、縦方向及び横方向に二画素ごとに一画素のサンプリングであり、一画素おきにサンプリングしている。Ａ＝２００としたときの１ライン中のサンプリング画素数は図９に示すようになる。
【００８９】
同図から明らかなように、サンプリングしないことになるサンプリング周期ｒａｔｉｏ＝１の場合を除いて、２００画素以上の幅があるときには最低でもサンプル数は１００画素以上となることが分かる。従って、縦方向と横方向について２００画素以上の場合には（１００画素）×（１００画素）＝（１００００画素）が確保され、誤差を１％以下にできる。
【００９０】
ここにおいてｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）を基準としているのは次のような理由による。例えば、図１０（ａ）に示すビットマップ画像のように、ｗｉｄｔｈ＞＞ｈｅｉｇｈｔであるとすると、長い方のｗｉｄｔｈでサンプリング周期ｒａｔｉｏを決めてしまった場合には、同図（ｂ）に示すように、縦方向には上端と下端の２ラインしか画素を抽出されないといったことが起こりかねない。しかしながら、ｍｉｎ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）として、小さい方に基づいてサンプリング周期ｒａｔｉｏを決めるようにすれば同図（ｃ）に示すように少ない方の縦方向においても中間部を含むような間引きを行うことができるようになる。
【００９１】
なお、この例では、縦方向と横方向の画素について正確なサンプリング周期で間引きを行うようにしている。これは、逐次入力される画素について間引きしながら処理する場合に好適である。しかし、全画素が入力されている場合には縦方向や横方向についてランダムに座標を指定して画素を選択するようにしても良い。このようにすれば、１００００画素というような必要最低限の画素数が決まっている場合に１００００画素となるまでランダムに抽出する処理を繰り返し、１００００画素となった時点で抽出を止めればよくなる。
【００９２】
このように選択した画素についての画素データがその成分要素として輝度を持っていればその輝度値を用いて分布を求めることが可能である。しかしながら、輝度値が直接の成分値となっていない画像データの場合でも、間接的には輝度を表す成分値を備えている。従って、輝度値が直接の成分値となっていない表色空間から輝度値が直接の成分値となっている表色空間への変換を行えば輝度値を得ることができる。
【００９３】
このような異なる表色空間の間での色変換は変換式によって一義的に定まるものではなく、それぞれの成分値を座標とする色空間について相互に対応関係を求めておき、この対応関係を記憶した色変換テーブルを参照して逐次変換する必要がある。テーブルとする関係上、成分値は階調値として表され、三次元の座標軸を備えている２５６階調の場合には、約１６７０万個（２５６×２５６×２５６）の要素の色変換テーブルを持たなければならない。効率的な記憶資源の利用を考えた結果、すべての座標値についての対応関係を用意しておくのではなく、通常は適当なとびとびの格子点について対応関係を用意しておき、補間演算を併用するようにしている。この補間演算はいくつかの乗算や加算を経て可能となるものであるため、演算処理量は膨大となってくる。
【００９４】
すなわち、フルサイズの色変換テーブルを使用するのであれば処理量としては少なくなるもののテーブルサイズが非現実的となり、テーブルサイズを現実的なサイズにすれば演算処理量が非現実的となることが多い。
【００９５】
このような状況に鑑み、本実施形態においては、テレビジョンなどの場合に利用されているように、ＲＧＢの三原色から輝度を求める次式の変換式を採用している。すなわち、Ｐ点での輝度ｙp についてはＲＧＢの成分値（Ｒp,Ｇp,Ｂp ）から、
ｙp＝０．３０Ｒp＋０．５９Ｇp＋０．１１Ｂp      …（６）
とする。このようにすれば、三回の乗算と二回の加算だけで輝度値を求めることができるようになる。
【００９６】
本実施形態においては、ＲＧＢの表色空間を対象としている結果、このような変換式を採用しているが、その背景には各成分値が色の明るさを示しているので、それぞれの成分値を単独で見た場合に輝度に線形に対応しているという性質がある。従って、よりおおざっぱに言えばそれぞれの加算割合を考慮することなく単に
ｙp＝（Ｒp＋Ｇp＋Ｂp）／３          …（７）
というように簡略化することも不可能ではないし、さらには、
ｙp＝Ｇp                             …（７）' 
というように、（６）式においても最も割合の大きい緑の成分値を輝度値としてしまうことも可能である。
【００９７】
間引き処理では、選択した画素についてＲＧＢの画像データから同時に輝度を求めて分布をとる。最終的にはステップＳ１１６にてこの分布の幅を求めることになるが、その前に考慮しておく事項がある。
【００９８】
一つ目は画像が白黒画像のような二値画像である場合である。白黒画像を含めて二値画像であればコントラストの強調という概念は不適切である。図１１に示すような白黒画像があったとすると、この画像に対する輝度分布は図１２に示すように再現可能な範囲における両端に集中する。それも、基本的には階調「０」と階調「２５５」に集中する。
【００９９】
従って、ステップＳ１０４で白黒チェックを行う場合には、階調「０」と階調「２５５」の画素数の和が、間引いて選択した画素数と一致するか否かで判断できる。そして、白黒画像の場合であれば以下の処理を実行することなく処理を中断するためにステップＳ１０６にて非拡大処理を実行する。本実施形態においては分布抽出処理と輝度変換処理とを大きく分けているので、この非拡大処理では後段の輝度変換処理も実行しないようなフラグを立てて当該分布抽出処理を終了している。
【０１００】
二値データは白黒だけに限らず、色の付いた二値データもあり得る。このような場合も同様にコントラストの強調を図る処理は不要であり、分布状態を調べて二つの値（一方は概ね「０」）にしか分布が集中していなければ二値データとして処理の中断を図ればよい。
【０１０１】
二つ目は画像がビジネスグラフのようなものか写真のような自然画であるか否かを考慮する。自然画においてはコントラストの強調という処理が要求される場合があるものの、ビジネスグラフであるとか絵画のようなものではコントラストの強調を図らない方が好まれる場合が多い。従って、ステップＳ１０８では自然画か否かのチェックを行う。
【０１０２】
自然画では陰影を含めて色数が極めて多いがビジネスグラフやある種の絵画では色数が限られていることが多い。従って、色数が少なければ自然画ではないと判断することが可能である。色数を正確に判断しようとすれば上述したように１６７０万色のうちの何色を使用しているかを判別する必要があるが、現実的ではない。一方、ビジネスグラフのような極めて色数が少ない場合には異なる色であって同じ輝度になる確率は低い。すなわち、輝度によって概ねの色数を判断できる。色数が少なければ輝度の分布もまばらであり、ビジネスグラフのようなものでは線スペクトル状に表れる。このようなことから、ステップＳ１０８では２５６階調の輝度のうち分布数が「０」でない輝度値がいくつ表れているかカウントする。そして、概ね一割となる「２５」以下であれば自然画でないと判断し、二値データの場合と同様、ステップＳ１０６にて非拡大処理を実行する。むろん、しきい値となる「２５」色以下か否かについては適宜変更可能である。
【０１０３】
また、分布が線スペクトル状か否かは分布数が「０」でない輝度値の隣接割合で判断することも可能である。すなわち、分布数が「０」でない輝度値であって隣接する輝度値に分布数があるか否かを判断する。隣接する二つの輝度値のうち少なくとも一方で隣接していれば何もせず、両方で隣接していない場合にカウントを行い、その結果、「０」でない輝度値の数とカウント値との割合で判断すればよい。例えば、「０」でない輝度値の数が「２０」であって、隣接しないものの数が「２０」であれば線スペクトル状に分布していることが分かる。
【０１０４】
さらに、オペレーティングシステムを介して画像処理プログラムが実行されているような場合には、画像ファイルの拡張子で判断することも可能である。ビットマップファイルのうち、特に写真画像などではファイル圧縮がなされ、その圧縮方法を表すために暗示の拡張子が利用されることが多い。例えば、「ＪＰＧ」という拡張子であれば、ＪＰＥＧフォーマットで圧縮されていることが分かる。
オペレーティングシステムがファイル名を管理していることから、プリンタドライバなどの側からオペレーティングシステムに問い合わせを出せば、同ファイルの拡張子が回答されることになるため、その拡張子に基づいて自然画であると判断してコントラストの強調を行うようにすればよい。また、「ＸＬＳ」というようなビジネスグラフに特有の拡張子であればコントラストの強調を行わないと判断することもできる。
【０１０５】
三つ目に考慮することは、図１３に示すように画像の周りに枠部があるか否かである。このような枠部が白色または黒色であれば、その輝度分布は図１４に示すように、その影響が再現可能な範囲における両端に線スペクトル状に表れるとともに、内部の自然画に対応して両端以外の内側に滑らかな輝度分布としても表れる。
【０１０６】
むろん、枠部を輝度分布の考慮に入れない方が適切であるため、ステップＳ１０８の枠部のチェックでは階調「０」と階調「２５５」の画素数の和が十分に大きく、かつ、間引いて選択した画素数とは一致しないかを判断し、肯定的ならば枠部があると判定してステップＳ１１２にて枠処理を実施する。この枠処理では、枠部を無視するために輝度分布のうち階調「０」と階調「２５５」の画素数を「０」にセットする。これにより、以下の処理では枠部がないものと同様に扱うことができる。
【０１０７】
この例では白色または黒色の枠部を対象としているが、特定の色の枠がある場合も考えられる。このような場合、輝度分布が描く本来の滑らかなカーブの中で突出する線スペクトル状のものが表れる。従って、隣接する輝度値の間で大きく差が生じている線スペクトル状のものについては枠部として考えて輝度分布の対象としないようにすればよい。この場合、枠部以外でその色を使用していることがあり得るので、両隣の輝度値の平均を割り当てるようにしても良い。
【０１０８】
以上のような考慮を経た上で、輝度分布の拡大を行う場合にはステップＳ１１６で輝度分布の両端を求める。自然画における輝度分布は図１５に示すように概ね山形に表れる。むろん、その位置、形状についてはさまざまである。輝度分布の幅はこの両端をどこに決めるかによって決定されるが、単に裾野が延びて分布数が「０」となる点を両端とすることはできない。裾野部分では分布数が「０」付近で変移する場合があるし、統計的に見れば限りなく「０」に近づきながら推移していくからである。
【０１０９】
このため、分布範囲において最も輝度の大きい側と小さい側からある分布割合だけ内側に経た部分を分布の両端とする。本実施形態においては、図１５に示すように、この分布割合を０．５％に設定している。むろん、この割合については、適宜、変更することが可能である。このように、ある分布割合だけ上端と下端をカットすることにより、ノイズなどに起因して生じている白点や黒点を無視することもできる。すなわち、このような処理をしなければ一点でも白点や黒点があればそれが輝度分布の両端となってしまうので、多くの場合において最下端は階調「０」であるし、最上端は階調「２５５」となってしまうが、上端部分から０．５％の画素数だけ内側に入った部分を端部とすることにより、このようなことが無くなる。
【０１１０】
実際の処理では処理対象となる画素数（間引き処理において選択した画素の総数、あるいは枠部に対応する画素数を削除した総数）に対する０．５％を演算し、再現可能な輝度分布における上端の輝度値及び下端の輝度値から順番に内側に向かいながらそれぞれの分布数を累積し、０．５％の値となった輝度値を求める。以後、この上端側をｙｍａｘと呼び、下端側をｙｍｉｎと呼ぶ。
【０１１１】
本実施形態においては、輝度分布に対してこのような処理を経て上端と下端とを求めているが、統計的処理のもとで両端を求めることも可能である。例えば、輝度値の平均値に対して何％以下となったところを端部とするといった手法を採用することも可能である。
【０１１２】
以上の処理が分布検出処理に該当し、次に、このようにして求めた輝度値ｙｍａｘ，ｙminに基づいて画像データの変換を行なう輝度変換処理について説明する。なお、上述したようにステップＳ１０６にて非拡大処理を実行した場合には、ステップＳ２０２にて所定のフラグを参照してそれを検知し、以下の処理を行うことなく当該画像処理を終了する。
【０１１３】
輝度の基本的な変換は、再現可能な輝度の範囲を「０」〜「２５５」としたときに、変換前の輝度ｙと輝度の分布範囲の最大値ｙmax と最小値ｙmin から変換先の輝度Ｙを次式に基づいて求める。
【０１１４】
Ｙ＝ａｙ＋ｂ                                    …（２）
ただし
ａ＝２５５／（ｙmax−ｙmin）                  …（３）'
ｂ＝−ａ・ｙminあるいは２５５−ａ・ｙmax        …（４）' 
また、上記変換式にてＹ＜０ならばＹ＝０とし、Ｙ＞２５５ならばＹ＝２５５とする。ここにおける、ａは傾きであり、ｂはオフセットといえる。この変換式によれば、図１６に示すように、あるせまい幅を持った輝度分布を再現可能な範囲まで広げることができる。なお、基本的に輝度の分布範囲の拡大においては、画素数が変化するわけではないので、ヒストグラムの面積は一致する。
【０１１５】
ところで、このように再現可能な範囲を最大限に利用して輝度分布の拡大を図った場合、ハイライト部分が白く抜けてしまったり、ハイシャドウ部分が黒くつぶれてしまうことが起こる。これを防止するため本実施形態においては、再現可能な範囲を制限している。すなわち、再現可能な範囲の上端と下端に拡大しない範囲として輝度値で「５」だけ残している。この結果、変換式のパラメータは次式のようになる。
【０１１６】
ａ＝２４５／（ｙmax−ｙmin）                  …（８）
ｂ＝５−ａ・ｙminあるいは２５０−ａ・ｙmax      …（９）
そして、この場合にはｙ＜ｙminと、ｙ＞ｙmaxの範囲においては変換を行わないようにする。
【０１１７】
なお、本実施形態においては、ハイライト部分とハイシャドウ部分とを保持するために一律に端部から輝度値にして「５」の範囲を非拡大領域としているが、ハイライト部分やハイシャドウ部分を比較的再現しやすいような画像出力装置であればその範囲を狭くしても良いし、再現力がさらに弱い場合にはより範囲を大きくするようにしても良い。また、一律に拡大しないのではなく、ボーダー領域で徐々に拡大率を制限するようにしていっても良い。
【０１１８】
また、図１７（ａ）には画像の輝度分布が狭い場合を示しているが、これまで述べたようにして輝度分布の拡大率（ａに対応）を適用してしまうと、再現可能な範囲に合わせて非常に大きな拡大率が得られる場合も生じてくる。すると、夕方のような薄暮の状態では最も明るい部分から暗い部分までのコントラストの幅が狭くて当然であるのに、この画像についてコントラストを大きく拡大しようとする結果、昼間の画像のように変換されてしまいかねない。このような変換は希望されないので、拡大率には制限を設けていおき、ａが１．５（〜２）以上とはならないように制限する。これにより、薄暮は薄暮なりに表現されるようになる。
【０１１９】
拡大率に制限を設けない場合を図１７（ａ）の一点鎖線に示しており、変換後には再現可能な範囲で余分な部分は残っていない。しかしながら、拡大範囲を制限する場合には、同図（ｂ）の二点鎖線で示すように、変換後の分布をどこに持ってくるかの自由度が生じてしまい、場合によっては全体的に明るくなりすぎたり、暗くなり過ぎたりしかねない。
【０１２０】
このため、本実施形態においては、変換前における輝度分布が再現可能な範囲内において上端側と下端側に残っている残余の領域の割合（ｍ１：ｍ２）が、変換後において上端側と下端側に残っている残余の領域の割合（ｎ１：ｎ２）と一致するように変換する。以下、このようにする場合のパラメータｂの求め方について説明する。
【０１２１】
変換前の画像の輝度分布において、
ｍ１＝ｙmin
ｍ２＝255−ｙmax
ここで、
ｍ１＋ｍ２＝255−(ｙmax−ｙmin) 
従って、ｙdif＝ｙmax−ｙminとすると、
ｍ１＋ｍ２＝255−ｙdif
変換後の画像の輝度分布において、
ｎ１＝Ｙmin
ｎ２＝255−Ｙmax
同様に、
ｎ１＋ｎ２＝255−(Ｙmax−Ｙmin) 
＝255−ａ(ｙmax−ｙmin) 
＝255−ａ・ｙdif
となる。
【０１２２】
ｍ１：ｍ２＝ｎ１：ｎ２であるから、
ｎ１＝ｍ１(ｎ１＋ｎ２)／(ｍ１＋ｍ２) 
＝ｙmin(255−ａ・ｙdif)／(255−ｙdif) 
一方、Ｙ＝ａｙ＋ｂであるから、ｂ＝Ｙ−ａｙとなり、よって、
ｂ＝Ｙmin−ａ・ｙmin
＝ｙmin｛(255−ａ・ｙdif)／(255−ｙdif)−ａ｝    …（１０）
となる。また、Ｙmax を用いて求めると、
ｂ＝Ｙmax−ａ・ｙmax
＝255−(255−ｙmax)(255−ａ・ｙdif)／(255−ｙdif)−ａ・ｙmax    …（１１）
以上のようにしてパラメータｂを得ることができ、ステップＳ２０４を終了する。
【０１２３】
ところで、輝度の変換時に、毎回、上記変換式（Ｙ＝ａｙ＋ｂ）を実行するのは非合理的である。というのは、輝度ｙの取りうる範囲が「０」〜「２５５」でしかあり得ないため、予め輝度ｙが取りうる全ての値に対応して変換後の輝度Ｙを求めておくことも可能である。従って、ステップＳ２０６にてこの対応関係を求め、図１８に示すようなテーブルとして記憶しておく。
【０１２４】
このような変換テーブルが形成されたところで画像データを変更することが可能になる。しかし、このような輝度の範囲の拡大によってコントラストを強調するだけでなく、合わせて明るさを調整することも極めて有効である。例えば、図１９にて実線で示すように輝度分布の山が全体的に暗い側に寄っている場合には鎖線で示すように全体的に明るい側に山を移動させると良いし、逆に、図２０にて実線で示すように輝度分布の山が全体的に明るい側に寄っている場合には鎖線で示すように全体的に暗い側に山を移動させると良い。
【０１２５】
各種の実験を行った結果、本実施形態においては、輝度分布におけるメジアンｙｍｅｄを求め、同メジアンｙｍｅｄが「８５」未満である場合に暗い画像と判断して以下のγ値に対応するγ補正で明るくする。
【０１２６】
γ＝ｙｍｅｄ／８５                        …（１２）
あるいは、
γ＝（ｙｍｅｄ／８５）**（１／２）        …（１３）
とする。
【０１２７】
この場合、γ＜０．７となっても、γ＝０．７とする。このような限界を設けておかないと夜の画像が昼間のようになってしまうからである。なお、明るくしすぎると全体的に白っぽい画像になってコントラストが弱い画像になりやすいため、彩度を合わせて強調するなどの処理が好適である。
【０１２８】
一方、メジアンｙｍｅｄが「１２８」より大きい場合に明るい画像と判断して以下のγ値に対応するγ補正で暗くする。
【０１２９】
γ＝ｙｍｅｄ／１２８                      …（１４）
あるいは、
γ＝（ｙｍｅｄ／１２８）**（１／２）      …（１５）
とする。この場合、γ＞１．３となっても、γ＝１．３として暗くなり過ぎないように限界を設けておく。なお、暗くしすぎると色が乗りすぎて濃い画像になるので、合わせて彩度強調を弱くするなどの処理が好適である。ただし、明るい背景の中の被写体に対してはこのような暗くする処理はかえって悪影響を及ぼす場合もある。例えば、空が画像の半分をしめるような風景画像や晴れた日の記念写真などでは、ただでさえ逆光で顔が暗くつぶれ気味であることが多いからである。これらの画像の場合は暗い部分と明るい部分とが混じっているので輝度の標準偏差ｙｓｔｄを求めると比較的高い値となっていることが多い。従って、輝度の標準偏差ｙｓｔｄ＞７０の場合には暗くするためのγ補正を行わないようにする。
【０１３０】
なお、このγ補正は変換前の輝度分布に対して行っても良いし、変換後の輝度分布に対して行っても良い。γ補正をした場合における対応関係を図２１に示しており、γ＜１であれば上方に膨らむカーブとなり、γ＞１であれば下方に膨らむカーブとなる。むろん、かかるγ補正の結果も図１８に示すテーブル内に反映させておけばよく、ステップＳ２０８にてテーブルデータに対して同補正を行っておく。
【０１３１】
最後に、ステップＳ２１０にて画像データの変換を行う。ここまでは輝度を変換するための対応関係を求めてきており、例えば、ＲＧＢ座標軸における成分値（Ｒp,Ｇp,Ｂp ）についての変換関係ではなかった。しかしながら、（２）式の変換式は、このＲＧＢの成分値（Ｒp,Ｇp,Ｂp ）との対応関係においても当てはめることができる。すなわち、変換前の成分値（ｒ，ｇ，ｂ）に対して変換後の成分値（Ｒ，Ｇ，Ｂ）は、
Ｒ＝ａ・ｒ＋ｂ                      …（１６）
Ｇ＝ａ・ｇ＋ｂ                      …（１７）
Ｂ＝ａ・ｂ＋ｂ                      …（１８）
として求めることもできる。これは（２）式と（４）式とがともに線形の対応関係を示していることから明らかである。また、輝度ｙ，Ｙが階調「０」〜階調「２５５」であるのに対応してＲＧＢの各成分値（ｒ，ｇ，ｂ），（Ｒ,Ｇ,Ｂ ）も同じ範囲となっており、上述した輝度ｙ，Ｙの変換テーブルをそのまま利用すればよいといえる。
【０１３２】
従って、ステップＳ２１０では全画素の画像データ（ｒ，ｇ，ｂ）について（１６）〜（１８）式に対応する変換テーブルを参照し、変換後の画像データ（Ｒ,Ｇ,Ｂ ）を得るという処理を繰り返すことになる。
【０１３３】
次に、上記構成からなる本実施形態の動作を順を追って説明する。
【０１３４】
スキャナ１１などで写真を撮像したとすると、同写真をＲＧＢの階調データで表した画像データがコンピュータ２１に取り込まれ、ＣＰＵは図５及び図６に示す画像処理のプログラムを実行して画像データのコントラストを強調する処理を実行する。
【０１３５】
まず、ステップＳ１０２では画像データを所定の誤差内となる範囲で間引き、選択した画素についての輝度ｙを求めて分布を取る。このままの分布を使用することはできず、まず、画像が白黒のような二値画像でないかステップＳ１０４にて判断するとともに、ステップＳ１０８では自然画か否かを判断する。二値画像である場合や自然画でない場合などを除き、ステップＳ１１０では画像データに枠部がないか判断し、枠部があれば除いて得られた輝度分布について上端と下端の０．５％の範囲を除去して分布の両端ｙmax ，ｙmin を取得する。
【０１３６】
輝度分布の両端ｙmax ，ｙmin が得られたら、
Ｙ＝ａｙ＋ｂ                                    …（２）
ａ＝２４５／（ｙmax−ｙmin）                  …（８）
ｂについては、以下のいずれか
ｂ＝５−ａ・ｙminあるいは２５０−ａ・ｙmax      …（９）
ｂ＝ｙmin｛(255−ａ・ｙdif)／(255−ｙdif)−ａ｝      …（１０）
ｂ＝255−(255−ｙmax)(255−ａ・ｙdif)／(255−ｙdif)−ａ・ｙmax      …（１１）
なる関係式より、ステップＳ２０４にてパラメータａ，ｂを求めるとともに、ステップＳ２０６では輝度ｙから輝度Ｙへの変換関係をテーブルに記憶する。ステップＳ２０８では必要に応じてγ補正を実行し、完成した変換テーブルを参照してステップＳ２１０では全画素についての画像データを変換する。
【０１３７】
むろん、上述したように二値画像や自然画でない場合においてはかかる画像処理は行われないが、本発明の画像処理が行われた場合には、写真の状態では非常にコントラストが弱かったにもかかわらず、輝度の範囲を広げるように補正することにより、明暗がはっきりして鮮明な画像を得られるようになる。
【０１３８】
なお、上述した実施形態においては、拡大率の制限などを一定としているが、コンピュータ２１上では所定のＧＵＩを介してユーザーが選択できるようにしても良い。また、ユーザーが画像データの一部を指定して当該範囲内でのみかかるコントラストの強調処理を実行するようにすることも可能である。
【０１３９】
このように、ステップＳ１０２で間引きするなどしながら画像データの画素について輝度ｙを求めた後、上端と下端において所定の分布割合だけ内側に入った端部を当該輝度分布の端部をみなすことにより（ステップＳ１１６）、輝度の再現可能な範囲内での拡大率に対応するパラメータａと、オフセット量に対応するパラメータｂとを得ることができるようになるため、変換元の輝度ｙに対して変換先輝度ＹをＹ＝ａｙ＋ｂなる関係式などを利用して自動的に変換可能となる。
【０１４０】
なお、ビデオカメラ１４の入力画像については、演算速度が間に合わないこともあり得る。従って、そのような場合には撮影のシーンごとに輝度の検出を行って輝度の分布を検知し、そのシーンにおいては同様の傾向であるものと想定して輝度の拡大テーブルを作成しておくとともに、フレームごとに同拡大テーブルに対応して輝度分布を拡大するようにすればよい。むろん、十分な演算速度があれば各フレームごとに変換するようにしても良い。むろん、同様の変換は受像機の側で行うことも可能である。
【符号の説明】
【０１４１】
１０…画像入力装置
１１…スキャナ
１１ｂ…スキャナ
１２…デジタルスチルカメラ
１２ａ…デジタルスチルカメラ
１２ｂ…デジタルスチルカメラ
１３ｂ…モデム
２０…画像処理装置
２１…コンピュータ
２２…ハードディスク
３０…画像出力装置
３１…プリンタ
３１ａ…プリンタ
３１ｂ…プリンタ
３２…ディスプレイ
３２ａ…ディスプレイ
【図１】
2010009609.tif 000003
【図２】
2010009609.tif 000004
【図３】
2010009609.tif 000005
【図４】
2010009609.tif 000006
【図５】
2010009609.tif 000007
【図６】
2010009609.tif 000008
【図７】
2010009609.tif 000009
【図８】
2010009609.tif 000010
【図９】
2010009609.tif 000011
【図１０】
2010009609.tif 000012
【図１１】
2010009609.tif 000013
【図１２】
2010009609.tif 000014
【図１３】
2010009609.tif 000015
【図１４】
2010009609.tif 000016
【図１５】
2010009609.tif 000017
【図１６】
2010009609.tif 000018
【図１７】
2010009609.tif 000019
【図１８】
2010009609.tif 000020
【図１９】
2010009609.tif 000021
【図２０】
2010009609.tif 000022
【図２１】
2010009609.tif 000023