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