(57)【要約】      （修正有）【課題】レティネックス処理およびヒストグラム処理を高速に行うことができる画像処理プログラムおよび画像処理装置を提供する。【解決手段】縮小レティネックスメモリに記憶された縮小レティネックス画像の画素について前処理で求められたクリップされる範囲に基づいて正規化しｒｅｆｌｅｓ（ｘ，ｙ）を求める（Ｓ１１）。次に、Ｏｕｔｓ（ｘ、ｙ）を算出する（Ｓ１２）。次に、このＯｕｔｓ（ｘ、ｙ）を輝度信号ＹとしてＲＧＢ値に変換し、ヒストグラムに登録する（Ｓ１３）。次に、プレビュー画像の表示を行うように設定されているかを判断し、プレビュー画像の表示を行うように設定されている場合は（Ｓ１４：Ｙｅｓ）、処理された画素のデータをＬＣＤに出力する。このことにより、処理されたプレビュー画像がＬＣＤに表示される。【選択図】図５
2008060760.tif 000002
【特許請求の範囲】
【請求項１】
画像の補正処理を行い補正処理された画像を表示する表示器を備えた画像処理装置により実行される画像処理プログラムにおいて、
元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成ステップと、
その縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定ステップと、
前記縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像を前記正規化パラメータ設定ステップにより設定された正規化を行う際の上限値および下限値に基づいて正規化縮小レティネックス値を求め、その正規化縮小レティネックス値と前記縮小画像の画素値とに基づいて補正を行う縮小画像補正ステップと、
その縮小画像補正ステップにより補正された画像を前記表示器に表示するプレビュー画像表示ステップと、
前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う元画像補正ステップとを備えていることを特徴とする画像処理プログラム。
【請求項２】
前記縮小レティネックス画像形成ステップは、元画像から縮小画像を形成するために最近傍（Nearest  Neighbor）法により画素を抽出するサンプリングステップと、そのサンプリングステップにより抽出された画素の値とフィルタ係数との畳み込み演算を行う演算ステップとを備えていることを特徴とする請求項１記載の画像処理プログラム。
【請求項３】
前記縮小レティネックス画像形成ステップは、元画像を平均画素法により縮小する画像縮小ステップと、その縮小ステップにより縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算ステップとを備えていることを特徴とする請求項１記載の画像処理プログラム。
【請求項４】
前記縮小レティネックス画像形成ステップは、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、
前記元画像補正ステップは、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行うことを特徴とする請求項１から３のいずれかに記載の画像処理プログラム。
【請求項５】
前記縮小画像補正ステップにより補正された画像の画素値が取る全範囲の値がとる頻度を集計し画素値が取る値の範囲を変更することにより画素値の補正を行うヒストグラム処理を行う縮小画像ヒストグラム処理ステップと、
その縮小画像ヒストグラム処理ステップにおいて変更された画素値が取る値の範囲に基づいて元画像をヒストグラム処理する元画像ヒストグラム処理ステップとを備え、
前記プレビュー画像表示ステップは、前記縮小画像ヒストグラム処理ステップにより処理された画像を表示することを特徴とする請求項１から４のいずれかに記載の画像処理プログラム。
【請求項６】
前記正規化パラメータ設定ステップは、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定することを特徴とする請求項１から５のいずれかに記載の画像処理プログラム。
【請求項７】
画像の補正処理を行い補正処理された画像を表示する表示器を備えた画像処理装置において、
元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成手段と、
その縮小レティネックス画像形成手段により形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定手段と、
前記縮小レティネックス画像形成手段により形成された縮小レティネックス画像を前記正規化パラメータ設定手段により設定された正規化を行う際の上限値および下限値に基づいて正規化縮小レティネックス値を求め、その正規化縮小レティネックス値と前記縮小画像の画素値とに基づいて補正を行う縮小画像補正手段と、
その縮小画像補正手段により補正された画像を前記表示器に表示するプレビュー画像表示手段と、
前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定手段により設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う元画像補正手段とを備えていることを特徴とする画像処理装置。
【請求項８】
前記縮小レティネックス画像形成手段は、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリング手段と、そのサンプリング手段により抽出された画素の値とフィルタ係数との畳み込み演算を行う演算手段とを備えていることを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記縮小レティネックス画像形成手段は、元画像を平均画素法により縮小する画像縮小手段と、その縮小手段により縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算手段とを備えていることを特徴とする請求項７記載の画像処理装置。
【請求項１０】
前記縮小レティネックス画像形成手段は、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、
前記元画像補正手段は、元画像から変換された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定手段により設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行うことを特徴とする請求項７から９のいずれかに記載の画像処理装置。
【請求項１１】
前記縮小画像補正手段により補正された画像の画素値が取る全範囲の値がとる頻度を集計し画素値が取る値の範囲を変更することにより画素値の補正を行うヒストグラム処理を行う縮小画像ヒストグラム処理手段と、
その縮小画像ヒストグラム処理手段において変更された画素値が取る値の範囲に基づいて元画像をヒストグラム処理する元画像ヒストグラム処理手段とを備え、
前記プレビュー画像表示手段は、前記ヒストグラム処理手段により処理された画像を表示することを特徴とする請求項７から１０のいずれかに記載の画像処理装置。
【請求項１２】
前記正規化パラメータ設定手段は、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定することを特徴とする請求項７から１１のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラムおよび画像処理装置に関し、特にレティネックス処理を高速で行いプレビュー表示を行うことができる画像処理プログラムおよび画像処理装置に関するものである。
【背景技術】
【０００２】
逆光条件下で被写体が撮像された場合、被写体部分の画像は、詳細な態様が判別困難となるほど明度やコントラストの低い不明瞭な逆光画像となる。かかる逆光画像のみならず、露光の過不足や、撮像時のぶれやぼけ、ノイズ、光量不足などによる劣悪な画像を、画像処理によって明度やコントラストを向上させて画質を改良することが行われている。かかる画像処理の１手法として、レティネックス処理（Ｒｅｔｉｎｅｘ処理）が知られている。
【０００３】
レティネックス処理は、高画質部分については入力画像データを保持し、主に低画質部分の画質改良を行うものである。このレティネックス処理では、ガウスフィルタにより、元の画像の各画素データを周辺画素の画素データを反映させた値に補正し、その補正された画素データの自然対数から元の画像のリファレンス成分データを算出し、元画像の画素成分で元の画像の画素データを除してイルミナンス成分データを算出する。つまり、元の画像を、リファレンス成分とイルミナンス成分との２の構成成分に分けるのである。そして、イルミナンス成分に対してガンマ補正等の明度や階調（コントラスト）を補正する処理を行った後、その補正されたイルミナンス成分と、リファレンス成分とを合成することにより、元の画像に対し逆光画像部分などの低画質部分の画質が改良された画像データを生成することができる。リファレンス成分を求めるには、反射率Ｒ（ｘ，ｙ）の正規化を行う。
【０００４】
ここで、図６を参照して、反射率Ｒ（ｘ，ｙ）の正規化について説明する。反射率Ｒ（ｘ，ｙ）は、次式により算出される。
【０００５】
【数１】
2008060760.tif 000003
ここで、ｘは、横方向の座標を、ｙは、縦方向の座標を、Ｉ（ｘ，ｙ）は、座標（ｘ，ｙ）における輝度値を、Ｆ（ｘ，ｙ）は、座標（ｘ，ｙ）のフィルタ係数を、＊は、畳み込み演算（コンボリューション）をそれぞれ示す。なお、ｌｏｇは、底をｅとする自然対数である。
【０００６】
図６は、ある静止画像について、上式により求められた反射率Ｒ（ｘ，ｙ）の最小値を０、最大値を２５５とする０から２５５の範囲の整数値に正規化し、各整数の出現頻度を集計したヒストグラムである。
【０００７】
このヒストグラムからメディアン値Ｍを求め、メディアン値から大きい側へ４５％の画素数を含む範囲の上限値をＵ、メディアン値から小さい側へ４５％の画素数を含む範囲の下限値をＤとする。
【０００８】
ＵおよびＤの値に対応するＲ（ｘ，ｙ）の値を、ＵｐＲ、ＤｏｗｎＲとし、正規化反射率（正規化レティネックス値）ｒｅｆｌｅ（ｘ，ｙ）は、Ｒ（ｘ，ｙ）の値がＤｏｗｎＲ以下の場合は、０．０とし、Ｒ（ｘ，ｙ）の値がＵｐＲ以上の場合は、１．０とし、Ｒ（ｘ，ｙ）の値がＤｏｗｎＲより大きくＵｐＲより小さい場合は、
【０００９】
【数２】
2008060760.tif 000004
とする。
【００１０】
このように処理するとｒｅｆｌｅ（ｘ，ｙ）は、０．０から１．０の間の値を取るように正規化される。実験によれば、こうして得られた値に、０．３を加算し、ｒｅｆｌｅ（ｘ，ｙ）の値が０．３から１．３の値を取るようにすると輝度補正が良好に行われることが判明している。
【００１１】
このようにして求めたｒｅｆｌｅ（ｘ，ｙ）を用いて、出力Ｏｕｔ（ｘ，ｙ）は、次式により求められる。
【００１２】
【数３】
2008060760.tif 000005
ここでγ１は、定数である。
【００１３】
特開２００１−６９５２５号公報（特許文献１）には、このレティネックス処理をＲＧＢの各プレーンで独立に行った場合に、カラーバランスが崩れたり色ずれが発生するという問題点を解決するために、ＲＧＢ値をＹＣｂＣｒやＹＩＱという輝度成分と色成分により構成される座標空間に変換し、輝度成分Ｙに対してのみレティネックス処理を施し、色成分を維持したまま、ＲＧＢに戻すという方法が開示されている。この方法を用いると輝度成分のみが調整され、色成分は調整されないのでカラーバランスが崩れたり色ずれが発生することがない。また、この方法では、輝度成分のみにレティネックス処理を行うので、ＲＧＢの各プレーンそれぞれにレティネックス処理を行う場合に比べ、計算量が少なく、高速で処理を実行することができとともに、Ｒ（ｘ，ｙ）を正規化するために、ＲＧＢそれぞれについて記憶する必要がなく、輝度のみについて記憶すればよいので、必要な記憶容量は少なくなる。
【００１４】
また、特許３７３１５７７号（特許文献２）には、このレティネックス処理の処理速度を高速にする方法が開示されている。この方法は、元画像を平均画素法などの方法により縮小画像（解像度が低い）を形成し、その縮小画像の各画素について周辺平均輝度を求めた周辺平均輝度画像（ボケ画像）を形成し、そのボケ画像を拡大した画像と元画像からレティネックス処理画像を形成し、更に、そのレティネックス処理画像と元画像とから出力画像を形成している。
【００１５】
また、特開２００５−５７５９８号公報には、プレビュー画像やサムネイル画像を表示し、これらの画像データを記憶する容量を削減することができる装置が開示されている。
【特許文献１】特開２００１−６９５２５号公報
【特許文献２】特許３７３１５７７号公報
【特許文献３】特開２００５−５７５９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、特許文献１および２に開示されたレティネックス処理では、反射率を記憶するメモリのサイズが大きいという問題点と、処理された画像を出力する際に、画像の出力開始までの時間が長いという問題点とがあった。また、特許文献３に開示された発明では、プレビュー画像やサムネイル画像データが大きくなるにつれて、これらの画像を記憶するメモリも大きくなるし、画像処理を最後まで終了した後、表示するので、画像データが大きくなるにつれて、表示までの時間も長くなるという問題点があった。
【００１７】
本発明は、上記問題点を解決するためになされたものであり、レティネックス処理を高速で行うことができる画像処理プログラムおよび画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１８】
この目的を達成するために、請求項１記載の画像処理プログラムは、画像の補正処理を行い補正処理された画像を表示する表示器を備えた画像処理装置により実行されるものであり、元画像を縮小した縮小画像の周辺平均輝度画像を形成する縮小周辺平均輝度画像形成ステップと、その縮小周辺平均輝度画像形成ステップにより形成された周辺平均輝度画像と、前記縮小画像とに基づいて縮小レティネックス画像を形成する縮小レティネックス画像形成ステップと、その縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定ステップと、前記縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像を前記正規化パラメータ設定ステップにより設定された正規化を行う際の上限値および下限値に基づいて正規化縮小レティネックス値を求め、その正規化縮小レティネックス値と前記縮小画像とに基づいて補正を行う補正ステップと、その補正ステップにより補正された画像を前記表示器に表示するプレビュー画像表示ステップと、前記元画像の各画素について、周辺平均輝度画像を求め、その周辺平均輝度画像と元画像とに基づいてレティネックス画像を求めるとともに、前記正規化パラメータ設定ステップにより取得された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて出力画像を合成する合成ステップとを備えている。
【００１９】
請求項２記載の画像処理プログラムは、請求項１記載の画像処理プログラムにおいて、前記縮小周辺平均輝度画像形成ステップは、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリングステップと、そのサンプリングステップにより抽出された画素の値とフィルタ係数との畳み込み演算を行う演算ステップとを備えている。
【００２０】
請求項３記載の画像処理プログラムは、請求項１記載の画像処理プログラムにおいて、前記縮小周辺平均輝度画像形成ステップは、元画像を平均画素法により縮小する画像縮小ステップと、その縮小ステップにより縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算ステップとを備えている。
【００２１】
請求項４記載の画像処理プログラムは、請求項１から３のいずれかに記載の画像処理プログラムにおいて、前記縮小周辺平均輝度画像形成ステップは、前記縮小画像から変換された輝度信号のみについて周辺平均輝度画像形成するものであり、前記縮小レティネックス画像形成ステップは、前記縮小画像と、前記縮小周辺平均輝度画像形成ステップにより形成された周辺平均輝度画像とに基づいて縮小レティネックス画像を求め、前記合成ステップは、元画像から変換された輝度信号のみについてレティネックス画像を求めるとともに、前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて合成を行う。
【００２２】
請求項５記載の画像処理プログラムは、請求項１から４のいずれかに記載の画像処理プログラムにおいて、前記補正ステップにより補正された画像の画素値が取る全範囲の値がとる頻度を集計し画素値が取る値の範囲を変更することにより画素値の補正を行うヒストグラム処理を行う縮小画像ヒストグラム処理ステップと、その縮小画像ヒストグラム処理ステップにおいて変更された画素値が取る値の範囲に基づいて元画像をヒストグラム処理する元画像ヒストグラム処理ステップとを備え、前記プレビュー画像表示ステップは、前記ヒストグラム処理ステップにより処理された画像を表示する。
【００２３】
請求項６記載の画像処理プログラムは、請求項１から５のいずれかに記載の画像処理プログラムにおいて、前記正規化パラメータ設定ステップは、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定する。
【００２４】
請求項７記載の画像処理装置は、画像の補正処理を行い補正処理された画像を表示する表示器を備えたものであり、元画像を縮小した縮小画像の周辺平均輝度画像を形成する縮小周辺平均輝度画像形成手段と、その縮小周辺平均輝度画像形成手段により形成された周辺平均輝度画像と、前記縮小画像とに基づいて縮小レティネックス画像を形成する縮小レティネックス画像形成手段と、その縮小レティネックス画像形成手段により形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定手段と、前記縮小レティネックス画像形成手段により形成された縮小レティネックス画像を前記正規化パラメータ設定手段により設定された正規化を行う際の上限値および下限値に基づいて正規化縮小レティネックス値を求め、その正規化縮小レティネックス値と前記縮小画像とに基づいて補正を行う補正手段と、その補正手段により補正された画像を前記表示器に表示するプレビュー画像表示手段と、前記元画像の各画素について、周辺平均輝度画像を求め、その周辺平均輝度画像と元画像とに基づいてレティネックス画像を求めるとともに、前記正規化パラメータ設定手段により取得された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて出力画像を合成する合成手段とを備えている。
【００２５】
請求項８記載の画像処理装置は、請求項７記載の画像処理装置において、前記縮小周辺平均輝度画像形成手段は、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリング手段と、そのサンプリング手段により抽出された画素の値とフィルタ係数との畳み込み演算を行う演算手段とを備えている。
【００２６】
請求項９記載の画像処理装置は、請求項７記載の画像処理装置において、前記縮小周辺平均輝度画像形成手段は、元画像を平均画素法により縮小する画像縮小手段と、その縮小手段により縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算手段とを備えている。
【００２７】
請求項１０記載の画像処理装置は、請求項７から９のいずれかに記載の画像処理装置において、前記縮小周辺平均輝度画像形成手段は、前記縮小画像から変換された輝度信号のみについて周辺平均輝度画像形成するものであり、前記縮小レティネックス画像形成手段は、前記縮小画像と、前記縮小周辺平均輝度画像形成手段により形成された周辺平均輝度画像とに基づいて縮小レティネックス画像を求め、前記合成手段は、元画像から変換された輝度信号のみについてレティネックス画像を求めるとともに、前記正規化パラメータ設定手段により設定された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて合成を行う。
【００２８】
請求項１１記載の画像処理装置は、請求項７から１０のいずれかに記載の画像処理装置において、前記補正手段により補正された画像の画素値が取る全範囲の値がとる頻度を集計し画素値が取る値の範囲を変更することにより画素値の補正を行うヒストグラム処理を行う縮小画像ヒストグラム処理手段と、その縮小画像ヒストグラム処理手段において変更された画素値が取る値の範囲に基づいて元画像をヒストグラム処理する元画像ヒストグラム処理手段とを備え、前記プレビュー画像表示手段は、前記ヒストグラム処理手段により処理された画像を表示する。
【００２９】
請求項１２記載の画像処理装置は、請求項７から１１のいずれかに記載の画像処理装置において、前記正規化パラメータ設定手段は、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定する。
【発明の効果】
【００３０】
請求項１記載の画像処理プログラムによれば、元画像を縮小した縮小画像の周辺平均輝度画像を形成する縮小周辺平均輝度画像形成ステップと、その縮小周辺平均輝度画像形成ステップにより形成された周辺平均輝度画像と、縮小画像とに基づいて縮小レティネックス画像を形成する縮小レティネックス画像形成ステップと、その縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定ステップと、縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像を正規化パラメータ設定ステップにより設定された正規化を行う際の上限値および下限値に基づいて正規化縮小レティネックス値を求め、その正規化縮小レティネックス値と縮小画像とに基づいて補正を行う補正ステップと、その補正ステップにより補正された画像を表示器に表示するプレビュー画像表示ステップと、元画像の各画素について、周辺平均輝度画像を求め、その周辺平均輝度画像と元画像とに基づいてレティネックス画像を求めるとともに、正規化パラメータ設定ステップにより取得された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて出力画像を合成する合成ステップとを備えているので、元画像に基づいて正規化パラメータを求める場合に比べ、高速で正規化パラメータを求めることができるという効果がある。また、このことにより、レティネックス処理を開始してから画像の出力が開始されるまでの時間を短縮することができる。また、レティネックス処理された縮小画像をプレビュー画像として形成する処理を容易に高速で行うことができるので、プログラムの規模を縮小することができる。
【００３１】
また、プレビュー画像を表示した後、元画像をレティネックス処理する場合は、すでに正規を行う際の上限値および下限値が設定されているので、画像出力が開始されるまでの時間が、従来のものより短縮されるという効果もある。
【００３２】
請求項２記載の画像処理プログラムによれば、請求項１記載の画像処理プログラムの奏する効果に加え、縮小周辺平均輝度画像形成ステップは、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリングステップと、そのサンプリングステップにより抽出された画素の値とフィルタ係数との畳み込み演算を行う演算ステップとを備えているので、縮小画像を形成する処理が速く、畳み込み演算における演算の回数が少ないので、高速で処理できるという効果がある。
【００３３】
請求項３記載の画像処理プログラムによれば、請求項１記載の画像処理プログラムの奏する効果に加え、縮小周辺平均輝度画像形成ステップは、元画像を平均画素法により縮小する画像縮小ステップと、その縮小ステップにより縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算ステップとを備えているので、縮小画像の画質を維持し、正規化を行う際のパラメータをより正確に設定するとともに、畳み込み演算における演算の回数が少ないので、高速で処理できるという効果がある。
【００３４】
請求項４記載の画像処理プログラムによれば、請求項１から３のいずれかに記載の画像処理プログラムの奏する効果に加え、縮小周辺平均輝度画像形成ステップは、縮小画像から変換された輝度信号のみについて周辺平均輝度画像形成するものであり、縮小レティネックス画像形成ステップは、縮小画像と、縮小周辺平均輝度画像形成ステップにより形成された周辺平均輝度画像とに基づいて縮小レティネックス画像を求め、合成ステップは、元画像から変換された輝度信号のみについてレティネックス画像を求めるとともに、正規化パラメータ設定ステップにより設定された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて合成を行うので、レティネックス処理をＲＧＢの各画素について行う場合に比べて、高速で処理することができるとともに、色ずれが発生することを防止することができるという効果がある。
【００３５】
請求項５記載の画像処理プログラムによれば、請求項１から４のいずれかに記載の画像処理プログラムの奏する効果に加え、補正ステップにより補正された画像の画素値が取る全範囲の値がとる頻度を集計し画素値が取る値の範囲を変更することにより画素値の補正を行うヒストグラム処理を行う縮小画像ヒストグラム処理ステップと、その縮小画像ヒストグラム処理ステップにおいて変更された画素値が取る値の範囲に基づいて元画像をヒストグラム処理する元画像ヒストグラム処理ステップとを備え、プレビュー画像表示ステップは、縮小画像ヒストグラム処理ステップにより処理された画像を表示するので、レティネックス処理を行った後、ダイナミックレンジが小さくなったり、全体的に明るくなり過ぎた場合の補正を行うヒストグラム処理による結果を確認することができ、この処理による効果が認められる場合には、元画像についてヒストグラム処理を施すことができるという効果がある。
【００３６】
請求項６記載の画像処理プログラムによれば、請求項１から５のいずれかに記載の画像処理プログラムの奏する効果に加え、正規化パラメータ設定ステップは、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定するので、決定される上限値および下限値は、元画像を用いて決定した上限値および下限値とほぼ同一の値を得ることができる。したがって、この上限値および下限値の精度を維持したままで高速で求めることができるという効果がある。なお、正規化パラメータとして上限値、下限値ではなく最大値、最小値を用いた場合は、元画像により求めた値と、縮小画像により求めた値とが大きく異なる場合がある。
【００３７】
請求項７記載の画像処理装置によれば、画像の補正処理を行い補正処理された画像を表示する表示器を備えたものであり、元画像を縮小した縮小画像の周辺平均輝度画像を形成する縮小周辺平均輝度画像形成手段と、その縮小周辺平均輝度画像形成手段により形成された周辺平均輝度画像と、縮小画像とに基づいて縮小レティネックス画像を形成する縮小レティネックス画像形成手段と、その縮小レティネックス画像形成手段により形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定手段と、縮小レティネックス画像形成手段により形成された縮小レティネックス画像を正規化パラメータ設定手段により設定された正規化を行う際の上限値および下限値に基づいて正規化縮小レティネックス値を求め、その正規化縮小レティネックス値と縮小画像とに基づいて補正を行う補正手段と、その補正手段により補正された画像を表示器に表示するプレビュー画像表示手段と、元画像の各画素について、周辺平均輝度画像を求め、その周辺平均輝度画像と元画像とに基づいてレティネックス画像を求めるとともに、正規化パラメータ設定手段により取得された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて出力画像を合成する合成手段とを備えているので、元画像に基づいて正規化パラメータを求める場合に比べ、高速で正規化パラメータを求めることができるという効果がある。また、このことにより、レティネックス処理を開始してから画像の出力が開始されるまでの時間を短縮することができる。また、レティネックス処理された縮小画像をプレビュー画像として形成する処理を容易に行うことができるので、プログラムの規模を縮小することができる。
【００３８】
請求項８記載の画像処理装置によれば、請求項７記載の画像処理装置の奏する効果に加え、縮小周辺平均輝度画像形成手段は、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリング手段と、そのサンプリング手段により抽出された画素の値とフィルタ係数との畳み込み演算を行う演算手段とを備えているので、縮小画像を形成する処理が速く、畳み込み演算における演算の回数が少ないので、高速で処理できるという効果がある。
【００３９】
請求項９記載の画像処理装置によれば、請求項７記載の画像処理装置の奏する効果に加え、縮小周辺平均輝度画像形成手段は、元画像を平均画素法により縮小する画像縮小手段と、その縮小手段により縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算手段とを備えているので、縮小画像の画質を維持し、正規化を行う際のパラメータをより正確に設定するとともに、畳み込み演算における演算の回数が少ないので、高速で処理できるという効果がある。
【００４０】
請求項１０記載の画像処理装置によれば、請求項７から９のいずれかに記載の画像処理装置の奏する効果に加え、縮小周辺平均輝度画像形成手段は、縮小画像から変換された輝度信号のみについて周辺平均輝度画像形成するものであり、縮小レティネックス画像形成手段は、縮小画像と、縮小周辺平均輝度画像形成手段により形成された周辺平均輝度画像とに基づいて縮小レティネックス画像を求め、合成手段は、元画像から変換された輝度信号のみについてレティネックス画像を求めるとともに、正規化パラメータ設定手段により設定された上限値および下限値に基づいてレティネックス画像を正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて合成を行うので、レティネックス処理をＲＧＢの各画素について行う場合に比べて、高速で処理することができるとともに、色ずれが発生することを防止することができるという効果がある。
【００４１】
請求項１１記載の画像処理装置によれば、請求項７から１０のいずれかに記載の画像処理装置の奏する効果に加え、補正手段により補正された画像の画素値が取る全範囲の値がとる頻度を集計し画素値が取る値の範囲を変更することにより画素値の補正を行うヒストグラム処理を行う縮小画像ヒストグラム処理手段と、その縮小画像ヒストグラム処理手段において変更された画素値が取る値の範囲に基づいて元画像をヒストグラム処理する元画像ヒストグラム処理手段とを備え、プレビュー画像表示手段は、縮小画像ヒストグラム処理手段により処理された画像を表示するので、レティネックス処理を行った後、ダイナミックレンジが小さくなったり、全体的に明るくなり過ぎた場合の補正を行うヒストグラム処理による結果を確認することができ、この処理による効果が認められる場合には、元画像についてヒストグラム処理を施すことができるという効果がある。
【００４２】
請求項１２記載の画像処理装置によれば、請求項７から１１のいずれかに記載の画像処理装置の奏する効果に加え、正規化パラメータ設定手段は、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定するので、決定される上限値および下限値は、元画像を用いて決定した上限値および下限値とほぼ同一の値を得ることができる。したがって、この上限値および下限値の精度を維持したままで高速で求めることができるという効果がある。なお、正規化パラメータとして上限値、下限値ではなく最大値、最小値を用いた場合は、元画像により求めた値と、縮小画像により求めた値とが大きく異なる場合がある。
【発明を実施するための最良の形態】
【００４３】
以下、本発明の好ましい実施形態について添付図面を参照して説明する。図１は、本実施形態の画像処理を行うプリンタ１の電気的な構成を示したブロック図である。本実施形態においては、プリンタ１に搭載された画像処理プログラムは、パーソナルコンピュータ（以下「ＰＣ」と称する）２や、デジタルカメラ２１や、外部メディア２０から入力された画像データ（元画像データなど）に対しレティネックス処理およびヒストグラム処理を実行して、画像データの逆光画像部分などの低画質領域の補正を実行するように構成されている。
【００４４】
図１に示すように、プリンタ１には、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、印刷ヘッドなどから構成され、印刷媒体（例えば、紙媒体など）への印刷（出力）を行う印刷部１５、出力画像サイズなどの入力値をユーザが入力可能なユーザ操作部（例えば、テンキーなど）を有する操作パネル１６とを備えている。
【００４５】
また、プリンタ１は、ケーブル５を介してＰＣ２と接続可能なインターフェイス（以下「Ｉ／Ｆ」と称する）１７と、ケーブル６を介してデジタルカメラ２１と接続可能なＩ／Ｆ１８と、外部メディア２０（例えば、ＳＤメモリカード、メモリスティックなどのフラッシュメモリにより構成される）を着脱自在に装着可能な外部メディアスロット１９とを備えている。これらのＩ／Ｆ１７、１８により行われる通信方法としてＵＳＢ（Universal  Serial  Bus）が使用される。
【００４６】
よって、プリンタ１は、ＰＣ２に記憶されている画像データをケーブル５及びＩ／Ｆ１７を介して入力することが可能であると共に、デジタルカメラ２１によって撮影された画像データをケーブル６及びＩ／Ｆ１８を介して入力することが可能である。さらに、外部メディアスロット１９に装着された外部メディア２０から、その外部メディア２１に記憶されている画像データを入力することが可能である。
【００４７】
ＣＰＵ１１は、プリンタ１全体を制御する演算処理装置（演算装置）である。ＲＯＭ１２は、ＣＰＵ１１により実行される各種制御プログラムやそのプログラムを実行する際に用いられる固定値などを記憶するものであり、制御プログラムとしてレティネックス処理やヒストグラム処理などの画像の処理を行う画像処理プログラムを記憶する画像処理プログラムメモリ１２ａや、印刷を行うための印刷制御プログラムを記憶する印刷制御プログラムメモリ１２ｂ等が備えられている。
【００４８】
ＲＡＭ１３は、制御プログラムがＣＰＵ１１により実行される際に必要な各種レジスタ群などが記憶されるワーキングエリアや、処理中のデータを一時的に格納するテンポラリエリア等を有しランダムにアクセスできる書き換え可能なメモリであり、元画像データを記憶する元画像メモリ１３ａと、元画像を縮小し、縮小した画像のレティネックス処理において求められる反射率を記憶する縮小レティネックス画像メモリ１３ｂと、ヒストグラム処理において各画素値の頻度が記憶されるヒストグラムメモリ１３ｃ等を備えている。
【００４９】
元画像データメモリ１３ａは、ＰＣ２、デジタルカメラ２１、及び外部メディア２０から、それぞれ、Ｉ／Ｆ１７、Ｉ／Ｆ１８、及び外部メディアスロット１９を介して入力した画像データを記憶するものである。なお、本実施形態では、元画像データ及び出力画像データはいずれも、ＲＧＢ値から構成され、これらの各ＲＧＢ値は、「０」〜「２５５」の範囲の値である。
【００５０】
ＲＧＢ値は、光の３原色である赤を表すＲ値と、緑を表すＧ値と、青を示すＢ値とを構成成分とする値である。光の３原色の混色により各種の色は生成されるので、入力画像の各画素の色は、Ｒ値とＧ値とＢ値との組合せ（ＲＧＢ値）により１の色（色相や階調など）が示される。このＲＧＢ値の値が大きいほど、輝度（明度）は高くなる。
【００５１】
縮小レティネックス画像メモリ１３ｂは、元画像を縮小し、その縮小した画像の輝度信号のみについてレティネックス処理において求められる反射率Ｒｓ（ｘ，ｙ）を記憶するメモリである。元画像を縮小する方法としては、縮小する画像の画素に対応する元画像の位置に最も近い画素の値をサンプリングし、そのサンプリングした画素の値をそのまま用いる最近傍法や、縮小する画像の画素に対応する元画像の位置の周囲の画素を用いて補間演算を行うバイキュービック法や、平均画素法などが知られている。画質より処理速度を優先する場合は、最近傍法が用いられ、処理速度より画質を優先する場合は、バイキュービック法や、平均画素法が用いられる。
【００５２】
これらいずれかの方法により元画像が縮小され、その縮小された画像の各画素（ピクセル）について反射率が上述の数式１を用いて演算され、この縮小レティネックス画像メモリ１３ｂに記憶される。
【００５３】
ヒストグラムメモリ１３ｃは、縮小レティネックス画像と元画像を縮小した縮小画像の輝度信号とに基づいて、縮小画像の出力画像を求め、その出力画像をカラー画像に戻してＲＧＢヒストグラム処理を行う際に、ＲＧＢ値の出現頻度を集計するために使用されるメモリである。
【００５４】
次に、図２を参照してプリンタ１の操作パネル１６について説明する。図２は、操作パネル１６を示す平面図である。図２に示すように、この操作パネル１６は、ＬＣＤ１６ａと各種操作入力キー１６ｂ〜１６ｋとから構成されている。
【００５５】
ＬＣＤ１６ａは、プリンタ１における各種情報を表示する液晶ディスプレイ（ＬＣＤ）である。このＬＣＤ１６ａは、元画像を縮小した画像や、元画像をレティネックス処理などにより補正し、その補正した画像をプレビュー画像として表示し、処理が適切に行われたか否かを視認することができるように表示したり、機能設定時における機能又は設定値等を設定させるための設定表示等が表示される。
【００５６】
操作入力キー９ｂは、電源ボタンであり、ＭＦＰ１が電源遮断の状態で押下すると、ＭＦＰ１に電源が投入され、一方で、ＭＦＰ１に電源が投入されている状態において、操作入力キー９ｂが押下されるとＭＦＰ１は電源遮断される。
【００５７】
操作入力キー９ｃは、ＭＦＰ１で実行させる機能又は設定値などを、ＬＣＤ９ａに表示される選択肢の中から設定させるための十字キー及びメニューセットキーである。この操作入力キー９ｃの上下左右の端部を押下することにより、ＬＣＤ９ａに表示されるカーソルが上下左右に移動される。そして、カーソルが所望の機能又は設定値に対応する選択肢に配置された場合に、操作入力キー９ｃの中央部を押下することにより、カーソルが配置されていた機能又は設定値が設定される。
【００５８】
メニューの一つに、レティネックス処理を行った場合のプレビュー画像を表示するか否かを設定したり、レティネクス処理を行った後、ヒストグラム処理を行うか否かを設定することができる。
【００５９】
操作入力キー９ｄは、テンキーであり、印刷を行う場合の枚数などを設定することができる。また、操作入力キー９ｅは、２つの設定ボタンであり、プレビュー画像を表示した後、元画像をレティネックス処理して印刷を行うか、印刷を中止するかを指示するものである。
【００６０】
次に、図３を参照して、ヒストグラム処理について説明する。図３（ａ）は、画像の一例であり、図３（ｂ）は、その画像から形成したヒストグラムである。このヒストグラムは、画素値がとる値の全範囲の各値について、頻度（画素数）を集計したものである。カラー画像の場合には、Ｒ，Ｇ，Ｂの各値を８ビット、すなわち０から２５５までの値をとる場合には、０から２５５の各整数値について、その値となる画素のＲ，Ｇ，Ｂ値について１を加算することにより集計する。例えば、ある画素のＲ，Ｇ，Ｂ値が（１００，２００，２００）である場合には、１００の値に１を、２００の値に２を加算するというようにして集計する。
【００６１】
このようにして作成されたヒストグラムにおいて、明部と暗部とを除く割合（カット割合）が設定され、その割合から上限値Ｕと下限値Ｄとが求められる。例えば、明部と暗部とを除く割合として、それぞれ３％とした場合に、明部に含まれる画素数が全画素数の３倍（１画素につき、Ｒ，Ｇ，Ｂの３つの値をとる）の３％に当たる数を、最大値２５５から上限値Ｕまでに含むように上限値Ｕを設定し、同様に、暗部に含まれる画素数が全画素数の３倍の３％に当たる数を、最小値０から下限値Ｄまでに含むように下限値Ｄを設定する。
【００６２】
このようにして、上限値Ｕおよび下限値Ｄを設定すると、画素値の最小値から下限値Ｄまでの範囲の値を最小値とし、上限値Ｕから最大値までの範囲の値を最大値とし、下限値Ｄから上限値Ｕまでの範囲の値を線形、または非線形な関数で補正する。
【００６３】
即ち、入力する画素値をｉｎｐｕｔ、補正した画素値をｏｕｔｐｕｔ、画素値が取る範囲を０から２５５、γ２を定数とした場合に、
ｉｎｐｕｔが、下限値Ｄ以下の場合は、０、
ｉｎｐｕｔが、上限値Ｕ以上の場合は、２５５
ｉｎｐｕｔが、下限値Ｄより大きく上限値Ｕより小さい場合は、
ａ＝（ｉｎｐｕｔ−Ｄ）／（Ｕ−Ｄ）
【００６４】
【数４】
2008060760.tif 000006
この式でγ２＝１とすると、ｏｕｔｐｕｔは、下限値と上限値との間の値を線形に拡大することになる。
【００６５】
レティネックス処理における数式１のγ１の値に応じて設定してもよい。このγ１の値を大きくすると、より明るく補正されることになり、γの値が小さいと、あまり補正されないことになる。したがって、γ１が大きい場合は、ヒストグラム処理における下限値Ｕの値を大きく（暗部のカット量またはカット割合を大きく）し、全体的に暗い方へ画素値を変更すると画像に締まりがでる。
【００６６】
また、レティネックス処理により、逆光などの部分は、明るく補正されるが、全体的にも明るく補正され、元の画像とは、異なった印象となる。そこでレティネックス処理におけるガンマ補正とは逆のガンマ補正をヒストグラム処理によかけることにより、明るく成りすぎた部分を自然な状態に戻すことができる。
【００６７】
また、レティネックス処理におけるガンマ補正に用いたガンマγ１に応じて、ヒストグラム処理におけるガンマγ２を次式により求めるようにしてもよい。すなわち、
γ２＝（γ１−１．０）／Ａ＋１．０
（但し、Ａは、５から２０の値）とする。
【００６８】
レティネックス処理前のメディアン値にレティネックス処理後のメディアン値が近づくようにγ２を設定する。
【００６９】
画素値をｉｎｐｕｔ、補正した画素値をｏｕｔｐｕｔ、画素値が取る全範囲をＢ、全範囲の最大値をＭＡＸ、全範囲の最小値をＭＩＮ、クリップされる範囲の上限値をＵ、下限値をＤ、元画像のメディアン値をＯＭ、前記レティネックス処理ステップにより処理された画像のメディアン値をＲＭ、定数をαとした場合に、
ｉｎｐｕｔが、下端範囲（下限値Ｄ以下）の場合は、ＭＩＮとし、
ｉｎｐｕｔが、上端範囲（上限値Ｕ以上）の場合は、ＭＡＸとし、
ｉｎｐｕｔが、上記範囲以外の場合は、
ａ＝（ｉｎｐｕｔ−Ｄ）／（Ｕ−Ｄ）
ｏｕｔｐｕｔをａのγ２べき乗にＢを乗じた値とし、
γ２＝ｌｏｇ（ｔａｒｇｅｔ／ＭＡＸ）／ｌｏｇ（ＲＭ／ＭＡＸ）
但し、ｔａｒｇｅｔ＝（ＯＭ×α＋ＲＭ）／（１＋α）
ここで、定数αを１とした場合は、レティネックス処理前のメディアン値とレティネックス処理後のメディアン値との中間にｔａｒｇｅｔが設定され、定数αの値を１より大きくするとｔａｒｇｅｔが元画像のメディアン値に近づき、定数αの値を１より小さい値とすると元画像のメディアン値から離れるように設定される。なお、定数αは、予め所定の値に設定してもよいし、使用者が任意に設定できるようにしてもよい。
【００７０】
次に、レティネックス処理を行った後、ヒストグラム処理を行う画像処理について、図４および図５を参照して説明する。図４および図５は、画像処理を示すフローチャートである。図４に示す処理は、いわゆる前処理と呼ばれる処理であり、この処理では、反射率Ｒの正規化を行うためのクリップ範囲が設定される。なお、この前処理が行われている間は、画像の出力が行われない。
【００７１】
この前処理では、まず、元画像データをＰＣ２やデジタルカメラ２１から読み込み、ＲＡＭ１３の元画像メモリ１３ａに記憶する（Ｓ１）。次に、元画像を縮小して縮小画像を形成し、その縮小画像の各画素について輝度信号Ｙと色信号Ｃｂ，Ｃｒに変換する（Ｓ２）。
【００７２】
縮小画像を形成する方法としては、最近傍法や平均画素法が用いられ、輝度信号Ｙおよび色信号Ｃｂ，Ｃｒは、次式により演算される。
【００７３】
【数５】
2008060760.tif 000007
次に、上式により演算された輝度信号Ｙについて、反射率Ｒｓ（ｘ，ｙ）を算出する。なお、「ｓ」は、縮小画像についての接尾辞であり、元画像については、接尾辞を付さないものとする。反射率Ｒｓは、縮小画像の各画素の輝度値をＩｓ（ｘ，ｙ）、縮小画像用のフィルタをＦｓ（ｘ，ｙ）として、次式により演算される。
【００７４】
【数６】
2008060760.tif 000008
なお、「＊」は、畳み込み演算（コンボリューション）を示す。
【００７５】
次に、上記演算により求められた反射率Ｒｓ（ｘ，ｙ）をＲＡＭ１３の縮小レティネックス画像メモリ１３ｂに記憶する（Ｓ４）。
【００７６】
次に、Ｒｓ（ｘ，ｙ）を最大値および最小値と比較する（Ｓ５）。詳細には、最初の座標について求めた反射率Ｒｓ（ｘ，ｙ）を最大値および最小値とし、そのつぎから求めた反射率Ｒｓ（ｘ，ｙ）と最大値および最小値とをそれぞれ比較し、今回求めた反射率Ｒｓ（ｘ，ｙ）が、最大値より大きい場合は、今回求めた反射率Ｒｓ（ｘ，ｙ）を新たな最大値とし、今回求めた反射率Ｒｓ（ｘ，ｙ）が、最小値より小さい場合は、今回求めた反射率Ｒｓ（ｘ，ｙ）を新たな最小値とし、今回求めた反射率Ｒｓ（ｘ，ｙ）が、最大値より小さく、最小値より大きい場合は、最大値、最小値を変更しないという処理である。
【００７７】
次に、縮小画像の全ての座標についてＳ３〜Ｓ５の処理を行ったか否かを判断し（Ｓ６）、まだ、未処理の座標がある場合は（Ｓ６：Ｎｏ）、Ｓ３の処理に戻り、全ての座標についての処理を終了した場合は（Ｓ６：Ｙｅｓ）、Ｓ５の処理により求めた最大値と最小値に基づいて、反射率Ｒｓ（ｘ，ｙ）を正規化し、ヒストグラムを形成する（Ｓ７）。
【００７８】
次に、その形成されたヒストグラムからメディアン値を求め（Ｓ８）、そのメディアン値とヒストグラムとから反射率Ｒｓ（ｘ，ｙ）のクリップされる範囲（クリップ範囲）を定める（Ｓ９）。このクリップ範囲は、例えば、メディアン値より大きい値で、全標本の４５％の標本が含まれる上限値をクリップ範囲の上限値とし、メディアン値より小さい値で、全標本の４５％が含まれる下限値をクリップ範囲の下限値とするものである。
【００７９】
以上の前処理により、元画像を縮小した縮小画像の反射率により構成される縮小レティネックス画像を形成し、その縮小レティネックス画像から、元画像の反射率を正規化する際のクリップ範囲が求められる。このことにより、クリップ範囲を求めるための演算の回数が、元画像について求める演算の回数より非常に少なくすることができ、処理速度が速くなる。また、縮小された画像のレティネックス画像を記憶するので、元画像のレティネックス画像を記憶する場合に比べ、少ない記憶容量で処理することができるという利点がある。また、縮小画像を用いて求めたクリップ範囲と、元画像を用いて求めたクリップ範囲とは、大差がない。次表は、縮小画像により求めたクリップ範囲（上限値と下限値）と元画像により求めたクリップ範囲との差異を示すものである。
【００８０】
【表１】
2008060760.tif 000009
この表が示すように、元画像により求めた最大値は、２．７１２、最小値は、−４．０６３であり、縮小画像により求めた最大値は、１．７２９、最小値は、−２．６０７である。よって、元画像により求めた最大値と縮小画像により求めた最大値との差は、０．９８３であり、元画像により求めた最小値と縮小画像により求めた最小値との差は、１．４５６であって、かなり大きな差が認められる。
【００８１】
一方、元画像により求めたクリップ範囲の上限値は、０．８２５、下限値は、−０．８２２であり、縮小画像により求めた上限値は、０．７４２、下限値は、−０．７５５である。よって、元画像により求めた上限値と縮小画像により求めた上限値との差は、０．０８３であり、元画像により求めた下限値と縮小画像により求めた下限値との差は、０．０６７であって、これらの差が小さいことが分かる。
【００８２】
次に、図４に示す前処理により求められたクリップ範囲に基づいて、プレビュー画像を形成して表示し、プレビュー画像を確認した後、処理した画像を印刷出力する出力処理について説明する。
【００８３】
まず、縮小レティネックスメモリ１３ｂに記憶された縮小レティネックス画像の画素について図４に示す前処理で求められたクリップ範囲（ＵｐＲ，ＤｏｗｎＲ）に基づいて、正規化し、ｒｅｆｌｅｓ（ｘ，ｙ）を求める（Ｓ１１）。この処理は、「背景技術」で説明したものと同様であり、演算は、次式を用いる。
【００８４】
【数７】
2008060760.tif 000010
次に、Ｏｕｔｓ（ｘ，ｙ）を次式により算出する（Ｓ１２）。
【００８５】
【数８】
2008060760.tif 000011
次に、このＯｕｔｓ（ｘ，ｙ）を輝度信号Ｙとして次式によりＲＧＢ値に変換し、
【００８６】
【数９】
2008060760.tif 000012
ヒストグラムに登録する（Ｓ１３）。このヒストグラムの登録とは、ＲＧＢ値それぞれが取る値は、０から２５５までの整数値であり、ここで得られた、Ｒ値、Ｇ値、Ｂ値の各値に対応する値の頻度に１を加算することである。加算された値は、ヒストグラムメモリ１３ｃに記憶される。
【００８７】
次に、プレビュー画像の表示を行うように設定されているかを判断し、プレビュー画像の表示を行うように設定されている場合は（Ｓ１４：Ｙｅｓ）、処理された画素のデータをＬＣＤ１６ａに出力する。このことにより、処理されたプレビュー画像がＬＣＤ１６ａに表示される。
【００８８】
次に、縮小レティネックスメモリ１３ｃに記憶された全画素について処理を行ったか否かを判断し（Ｓ１６）、まだ、処理していない画素がある場合は（Ｓ１６：Ｎｏ）、Ｓ１１の処理に戻り、全画素についての処理を終了した場合は（Ｓ１６：Ｙｅｓ）、次に、使用者により印刷を行うように設定されたか否かを判断する（Ｓ１７）。
【００８９】
使用者により印刷を行わないように設定された場合は（Ｓ１７：Ｎｏ）、印刷を行わずにこの出力処理を終了し、印刷を行うように設定された場合は（Ｓ１７：Ｙｅｓ）、Ｓ１３の処理により登録されたヒストグラムに基づいて、ヒストグラム処理を行う際に用いるパラメータを設定する（Ｓ１９）。
【００９０】
一方、Ｓ１４の判断処理においてプレビュー画面を表示しないように設定されている場合は（Ｓ１４：Ｎｏ）、縮小レティネックス画像の全ての画素についての処理を終了したかを判断し（Ｓ１８）、まだ、処理していない画素が有る場合は（Ｓ１８：Ｎｏ）、Ｓ１１の処理に戻り、全ての画素についての処理を終了した場合は（Ｓ１８：Ｙｅｓ）、Ｓ１９の処理に進む。
【００９１】
以上の処理により、レティネックス画像を正規化する際のクリップ範囲と、レティネックス処理を行った後に行われるヒストグラム処理のパラメータが設定される。これらのパラメータが設定されると、元画像の各画素について順次レティネクッス処理とヒストグラム処理を施し、印刷部１５に出力する。
【００９２】
詳細には、まず、元画像の画素について輝度信号を求め、その輝度信号について反射率Ｒ（ｘ，ｙ）を算出し（Ｓ２０）、図４に示すフローチャートのＳ９の処理により求められたクリップ範囲に基づいてＲ（ｘ，ｙ）を正規化したｒｅｆｌｅ（ｘ，ｙ）を求める（Ｓ２１）。
【００９３】
次に、Ｏｕｔ（ｘ，ｙ）を数式３により算出し（Ｓ２２）、算出したＯｕｔ（ｘ，ｙ）を輝度信号Ｙとして数式  によりＲＧＢ値に戻し（Ｓ２３）、そのＲＧＢ値をＳ１９で求めたパラメータに基づいてヒストグラム補正を行い（Ｓ２４）、印刷部１５に出力する（Ｓ２５）。
【００９４】
次に、元画像の全画素についての処理を終了したか否かを判断し（Ｓ２６）、まだ、処理していない画素がある場合は（Ｓ２６：Ｎｏ）、Ｓ１７の処理に戻り、全画素についての処理を終了した場合は（Ｓ２６：Ｙｅｓ）、この後処理を終了する。
【００９５】
以上、説明したように上記実施形態によれば、元画像を縮小した縮小画像に基づいて反射率の正規化を行う際のクリップ範囲やヒストグラム処理を行う際のパラメータを設定するので、高速で処理を行うことができるとともに、その処理において形成される縮小レティネックス画像を用いて、レティネックス処理された縮小画像を容易に形成して、プレビュー画面に表示することができる。よって、使用者は、プレビュー画像を視認することにより、レティネックス処理を行うことにより、画像がどのように補正されるかを知ることができる。
【００９６】
上記実施形態では、縮小画像がレティネックス処理された画像をプレビュー画像として表示するものとしたが、縮小画像をレティネックス処理し、さらにヒストグラム処理を行って、プレビュー画像として表示してもよい。このように、することで、レティネックス処理およびヒストグラム処理によるそれぞれの効果を予め確認し、処理による効果が認められた場合だけ、印刷などの出力を行うようにすることができる。
【００９７】
なお、請求項に記載の縮小レティネックス画像形成ステップおよび縮小レティネックス画像形成手段は、図４に示すフローチャートのＳ２〜Ｓ４の処理が該当し、正規化パラメータ設定ステップおよび正規化パラメータ設定手段は、図４に示すフローチャートのＳ７〜Ｓ９の処理が該当し、縮小画像補正ステップおよび縮小画像補正手段は、図５に示すフローチャートのＳ１１〜Ｓ１３の処理が該当し、プレビュー画像表示ステップおよびプレビュー画像表示手段は、図５に示すフローチャートのＳ１５の処理が該当し、元画像補正ステップおよび元画像補正ステップは、図５に示すフローチャートのＳ２０からＳ２３の処理が該当し、縮小画像ヒストグラム処理ステップおよび縮小画像ヒストグラム処理手段は、図５に示すフローチャートのＳ１３の処理が該当し、元画像ヒストグラム処理ステップおよび元画像ヒストグラム処理手段は、図５に示すフローチャートのＳ２４の処理が該当する。
【００９８】
以上、実施形態に基づいて本発明を説明したが、本発明は上記各実施形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００９９】
例えば、上記実施形態では、色表現系はＲＧＢ形式としたが、ＲＧＢ形式以外の他の色表現系、例えば、ＣＭＹ形式などに本発明を適用してもよい。
【０１００】
また、上記実施形態では、本発明の画像処理プログラムは、プリンタ１に組み込まれたＣＰＵ１１により実行されるものとしたが、パーソナルコンピュータにアプリケーションとして供給され、パーソナルコンピュータに組み込まれたＣＰＵなどにより実行されるようにしてもよい。
【０１０１】
また、上記実施形態では、縮小画像をレティネックス処理した画像をプレビュー画像として表示器に表示するものとしたが、縮小画像にレティネックス処理を行い、更にヒストグラム処理を行った画像をプレビュー画像として表示器に表示するようにしてもよい。
【０１０２】
また、レティネックス処理は、ＳＳＲ（シングルスケール法）であってもＭＳＲ（マルチスケール法）であってもよい。
【０１０３】
また、上記実施形態の画像処理では、ＣＰＵ１１によりレティネックス処理などを行うものとしたが、ＤＳＰ（Digital  Signal  Processor）により行ってもよい。ＤＳＰを用いると、より高速に積和演算などの処理を実行することができる。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施形態の画像処理プログラムを搭載したプリンタの電気的構成を示すブロック図である。
【図２】プリンタの操作パネルを示す平面図である。
【図３】（ａ）は、画像の一例であり、（ｂ）は、ヒストグラム処理を説明するための日ヒストグラム図である。
【図４】前処理を示すフローチャートである。
【図５】出力処理を示すフローチャートである。
【図６】反射率Ｒ（ｘ，ｙ）を正規化する際のクリップ範囲について説明するヒストグラム図である。
【符号の説明】
【０１０５】
１                        プリンタ
２                        パーソナルコンピュータ
１１                      ＣＰＵ
１２                      ＲＯＭ
１２ａ                    画像処理プログラムメモリ
１３                      ＲＡＭ
１３ｂ                    レティネックス画像メモリ
１６ａ                    表示器
【図１】
2008060760.tif 000013
【図２】
2008060760.tif 000014
【図３】
2008060760.tif 000015
【図４】
2008060760.tif 000016
【図５】
2008060760.tif 000017
【図６】
2008060760.tif 000018