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