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