(57)【要約】【課題】レティネックス処理を高速で行うことができる画像処理プログラムおよび画像処理装置を提供すること。【解決手段】プリンタでは、テーブルデータを参照することによってガンマ補正演算を行うことなく、入力された元画像をレティネックス処理して出力画像を生成することができるので、画像処理を高速化することができる。その上、元画像が最も多く有する正規化反射率ｒｅｆｌｅの値にて形成されたテーブルデータ（中央値テーブル）を備えているので、テーブルデータを参照して作成される出力値Ｏｕｔを正確なものとすることができ、ガンマ補正演算によらずに出力画像を生成しても、画質を低下させることがない。【選択図】図６
2008118183.tif 000002
【特許請求の範囲】
【請求項１】
画像の補正処理を行う画像処理装置に搭載され、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出ステップと、その反射光成分算出ステップにて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成ステップとを備え、レティネックス処理による画像の補正を実行する画像処理プログラムにおいて、
前記画素信号生成ステップは、第１の画素信号の値に対し予め定めた反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出ステップと、
その抽出ステップにて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成ステップとを備えており、
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値は、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に、前記反射光成分算出ステップにて算出される値とされていることを特徴とする画像処理プログラム。
【請求項２】
前記記憶手段に予め記憶される画素信号生成因子は、予め定めた複数の反射光成分値のそれぞれに対応して算出されたものであり、
前記抽出ステップは、前記反射光成分算出ステップにより算出された反射光成分値に対応する画素信号生成因子を前記記憶手段から抽出する一方、前記算出された反射光成分値が前記記憶手段に予め記憶される画素信号生成因子に対応するものでない場合には、前記予め定めた複数の反射光成分値の内、前記反射光成分算出ステップにより算出された反射光成分値を跨ぐ２つの値について、対応する画素信号生成因子を前記記憶手段から抽出するものであり、
前記抽出生成ステップは、前記抽出ステップにて抽出された２の画素信号生成因子に対し、前記反射光成分算出ステップにより算出された反射光成分値に基づいた補間演算を行って、出力画像の画素信号を生成するものであることを特徴とする請求項１記載の画像処理プログラム。
【請求項３】
前記画素信号生成ステップは、前記反射光成分算出ステップにより算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定ステップと、その範囲決定ステップにより決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化ステップとを有し、その正規化ステップにて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値は、前記正規化ステップにより正規化された値が取る範囲の正規化反射光成分値とされていることを特徴とする請求項１又は２に記載の画像処理プログラム。
【請求項４】
前記画素信号生成ステップは、前記反射光成分算出ステップにより算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定ステップと、その範囲決定ステップにより決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化ステップとを有し、その正規化ステップにて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値には、前記正規化ステップにより正規化された値が取る範囲の正規化反射光成分値であって、前記正規化ステップにて正規化範囲を変換するために予め定められた上限値と下限値とが採用されていることを特徴とする請求項２記載の画像処理プログラム。
【請求項５】
画像の補正処理を行う画像処理装置に搭載され、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出ステップと、その反射光成分算出ステップにて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成ステップとを備え、レティネックス処理による画像の補正を実行する画像処理プログラムにおいて、
前記画素信号生成ステップは、前記反射光成分算出ステップにより算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定ステップと、
その範囲決定ステップにより決定された正規化範囲を、予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化ステップと、
第１の画素信号の値に対し予め定めた正規化反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出ステップと、
その抽出ステップにて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成ステップとを備え、前記正規化ステップにて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた正規化反射光成分値は、前記正規化ステップにて求められる元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされていることを特徴とする画像処理プログラム。
【請求項６】
前記記憶手段に予め記憶される画素信号生成因子は、予め定めた複数の正規化反射光成分値のそれぞれに対応して算出されたものであり、
前記抽出ステップは、前記正規化ステップにより正規化された正規化反射光成分値に対応する画素信号生成因子を前記記憶手段から抽出する一方、前記正規化された正規化反射光成分値が、前記記憶手段に予め記憶される画素信号生成因子に対応するものでない場合には、前記予め定めた複数の正規化反射光成分値の内、前記正規化ステップにて正規化された正規化反射光成分値を跨ぐ２つの値について、対応する画素信号生成因子を前記記憶手段から抽出するものであり、
前記抽出生成ステップは、前記抽出ステップにて抽出された２の画素信号生成因子に対し、前記正規化ステップにて正規化された正規化反射光成分値に基づいた補間演算を行って、出力画像の画素信号を生成するものであることを特徴とする請求項５記載の画像処理プログラム。
【請求項７】
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた正規化反射光成分値には、前記正規化ステップにて正規化範囲を変換するために予め定められた上限値と下限値とが採用されていることを特徴とする請求項６記載の画像処理プログラム。
【請求項８】
前記正規化範囲を変換するために予め定められた下限値は、０を超える値とされていることを特徴とする請求項３から７のいずれかに記載の画像処理プログラム。
【請求項９】
前記正規化範囲を変換するために予め定められた上限値は、１以上の値とされていることを特徴とする請求項３から８のいずれかに記載の画像処理プログラム。
【請求項１０】
前記正規化範囲を変換するために予め定められた上限値と下限値との幅は、１とされていることを特徴とする請求項８又は９に記載の画像処理プログラム。
【請求項１１】
元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出手段と、その反射光成分算出手段にて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成手段とを備え、レティネックス処理による画像の補正を実行する画像処理装置において、
第１の画素信号の値に対し予め定めた反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段を備えており、
前記画素信号生成手段は、その記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出手段と、その抽出手段にて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成手段とを備えており、
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値は、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に、前記反射光成分算出手段にて算出される値とされていることを特徴とする画像処理装置。
【請求項１２】
元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出手段と、その反射光成分算出手段にて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成手段とを備え、レティネックス処理による画像の補正を実行する画像処理装置において、
第１の画素信号の値に対し予め定めた正規化反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段を備えており、
前記画素信号生成手段は、前記反射光成分算出手段により算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定手段と、その範囲決定手段により決定された正規化範囲を、予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化手段と、前記記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出手段と、その抽出手段にて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成手段とを備え、前記正規化手段にて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、
前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた正規化反射光成分値は、前記正規化手段にて求められる元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされていることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラムおよび画像処理装置に関し、特にレティネックス処理を高速で行うことができる画像処理プログラムおよび画像処理装置に関するものである。
【背景技術】
【０００２】
逆光条件下で被写体が撮像された場合、被写体部分の画像は、詳細な態様が判別困難となるほど明度やコントラストの低い不明瞭な逆光画像となる。かかる逆光画像のみならず、露光の過不足や、撮像時のぶれやぼけ、ノイズ、光量不足などによる劣悪な画像を、画像処理によって明度やコントラストを向上させて画質を改良することが行われている。かかる画像処理の１手法として、レティネックス処理（Ｒｅｔｉｎｅｘ処理）が知られている。
【０００３】
このレティネックス処理の概要を図７を参照して説明する。図７は、レティネックス処理の概要を示した図である。レティネックス処理では、まず、入力画像（元画像）の各画素を注目画素として（１）式に従ったガウスフィルタ処理が実行される（図７（ａ），（ｂ））。図７の（ｂ−１）には、ｍ×ｎのマトリクスで形成されたガウスフィルタ（ＭＳＲマスク）を模式的に示している。また、図７の（ｂ−２）には、このガウスフィルタの各マトリクスに設定されるフィルタ係数を示している。尚、図７の（ｂ−２）におけるグラフは、横軸にマトリクスの位置（フィルタサイズ）、縦軸にフィルタ係数を示している。横軸の中心付近に示した「０」は、フィルタ中心位置であり、「０」から遠ざかるほどフィルタ中心から遠いマトリクス位置となる。図７の（ｂ−２）に示すように、ガウスフィルタは、中心から四方へ向かって次第にフィルタ係数が小さくなると共に、各フィルタ係数の総合計が１となるように設計されている。
【０００４】
【数１】
2008118183.tif 000003
ここで、ｘは、横方向の座標を、ｙは、縦方向の座標を、Ｉ（ｘ，ｙ）は、座標（ｘ、ｙ）における信号強度値（画素値，画素信号の値）を、Ｆ（ｘ，ｙ）は、ガウスフィルタを、＊は、畳み込み演算（コンボリューション）をそれぞれ示す。かかるガウスフィルタ処理がなされると、即ち、各画素をそれぞれ注目画素とするｍ×ｎの領域にガウスフィルタＦ（ｘ，ｙ）による畳み込み演算が行われると、注目画素からの距離に応じた重みを加味しつつ平均された周辺画素の平均輝度値が、各画素のそれぞれに対応して算出されることとなる。このガウスフィルタ処理により算出される周辺画素の平均輝度値は、注目画素の画素値に周辺画素の画素値を反映した値となる。
【０００５】
そして、（２）式に従って、入力画像の各画素値を、算出された対応する平均輝度値で除し、得られた値を自然対数化する（図７（ｃ））。
【０００６】
【数２】
2008118183.tif 000004
この対数化された値（対数値）をＲとする。対数値Ｒは、各画素値毎に、対応するＲ（ｘ，ｙ）が求められる。この対数値Ｒが求められると、対数値Ｒのヒストグラムを生成するために、全対数値Ｒの最大値と最小値とが求められる。
【０００７】
次いで、得られた最大値と最小値との範囲で、対数値Ｒのヒストグラム（頻度分布）を作成し（図７（ｄ））、その後、ヒストグラムの補正を行う（図７（ｅ））。かかるヒストグラム補正では、作成されたヒストグラムからメジアン値Ｍを求め、そのメジアン値Ｍから大きい側へ所定％（例えば４５％）の画素数を含む範囲の上限値をＵ、メジアン値Ｍから小さい側へ所定％（例えば４５％）の画素数を含む範囲の下限値をＤとする。
【０００８】
続いて、対数値Ｒを正規化した正規化反射率（正規化レティネックス値）ｒｅｆｌｅを求める（図７（ｆ））。具体的には、求められた上限値Ｕおよび下限値Ｄの値を、それぞれ予め定めた上限値ｕおよび下限値ｄとして、先に算出された上限値Ｕ〜下限値Ｄの範囲の対数値Ｒを上限値ｕ〜下限値ｄの範囲の値に正規化する（正規化反射率ｒｅｆｌｅの算出）。この正規化は、例えば、（３）式に従って実行される。
【０００９】
【数３】
2008118183.tif 000005
尚、下限値Ｄ以下である対数値Ｒは下限値ｄに、上限値Ｕ以上である対数値Ｒは、上限値ｕとされる。求められた正規化反射率ｒｅｆｌｅは、入力画像の反射光成分（正規化された反射光成分）であって、最終的な反射光成分（出力値Ｏｕｔ）を求めるためのパラメータとなる値である。その後、正規化反射率ｒｅｆｌｅに対し、カラー補正処理であるＣＲ処理を実行した後（図７（ｇ））、出力値Ｏｕｔを生成する。出力値Ｏｕｔは、（４）式に従って算出される。この出力値Ｏｕｔは、出力画像の各画素の画素値（出力画像データ）となる。
【００１０】
【数４】
2008118183.tif 000006
レティネックス処理では、画素値は、照明光成分と反射光成分との合成値とされており、照明光成分は輝度を反映し、反射光成分は色を反映するものとされている。ここで、照明光成分は、入力画像の画素値を反射光成分で除して求められるので、（４）式においては、分母が照明光成分に相当する。尚、入力画像の画素値が０〜２５５で表されるので、ｒｅｆｌｅ（ｘ，ｙ）には２５５が乗算されている。
【００１１】
従って、出力値Ｏｕｔは、反射光成分となる。出力画像データの画素値としては、色を形成する値が必要であるので、反射光成分である出力値Ｏｕｔが求められるのである。当然の事ながら、（４）式からも解るように、算出される出力値Ｏｕｔは、ガンマ補正によって明度や階調（コントラスト）が補正された照明光成分が反映された値となっている。
【００１２】
このようなレティネックス処理によって、照明光成分に対してガンマ補正等の明度や階調（コントラスト）を補正する処理が行われて、入力画像に対し逆光画像部分などの低画質部分の画質が改良された出力画像を生成することができる。
【特許文献１】特許３７３１５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来の文献に開示された処理では、図７（ｈ）に示したガンマ補正演算が行われるので、出力値Ｏｕｔを生成するのに多大な時間を要するという問題点があった。つまり、ガンマ補正演算は複雑な演算処理であるために、計算量が多くなってしまうからである。しかも、一般に、画像（入力画像）を構成する画素は膨大な数であるため、各画素のそれぞれについて出力値Ｏｕｔを、上記（４）式に従って算出すると、更に処理時間を増大（処理速度を低下）させる一因となるという問題点があった。
【００１４】
本発明は、上記問題点を解決するためになされたものであり、レティネックス処理を高速で行うことができる画像処理プログラムおよび画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１５】
この目的を達成するために、請求項１記載の画像処理プログラムは、画像の補正処理を行う画像処理装置に搭載され、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出ステップと、その反射光成分算出ステップにて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成ステップとを備え、レティネックス処理による画像の補正を実行するものであって、前記画素信号生成ステップは、第１の画素信号の値に対し予め定めた反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出ステップと、その抽出ステップにて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成ステップとを備えており、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値は、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に、前記反射光成分算出ステップにて算出される値とされている。
【００１６】
尚、画素信号生成ステップは、元画像の全ての画素信号について、一義的に抽出生成ステップにて出力画像の画素信号生成を行うものであってもよく、また、元画像の一部の画素信号について抽出生成ステップによる出力画像の画素信号生成を行うものであっても良い。元画像の一部の画素信号について抽出生成ステップで出力画像の画素信号生成を行う場合は、例えば、反射光成分算出ステップにて算出された反射光成分値を基準に、抽出生成ステップによる出力画像の画素信号生成を行うかを判断してもよい。また、抽出生成ステップにて出力画像の画素信号が生成されない残りの画素信号については、ガンマ補正演算にて補正値を求めて出力画像の画素信号を生成しても良い。
【００１７】
また、補正値生成に関与するガンマ補正は、広義のガンマ補正であって、ガンマ関数による補正のみならず、画素信号の値が「０」から所定範囲の小さい値側にある場合にその値を増大させた出力値を生成するものであって且つ単調増加関数でない非線形の関数による補正を含む概念である。
【００１８】
請求項２記載の画像処理プログラムは、請求項１記載の画像処理プログラムにおいて、前記記憶手段に予め記憶される画素信号生成因子は、予め定めた複数の反射光成分値のそれぞれに対応して算出されたものであり、前記抽出ステップは、前記反射光成分算出ステップにより算出された反射光成分値に対応する画素信号生成因子を前記記憶手段から抽出する一方、前記算出された反射光成分値が前記記憶手段に予め記憶される画素信号生成因子に対応するものでない場合には、前記予め定めた複数の反射光成分値の内、前記反射光成分算出ステップにより算出された反射光成分値を跨ぐ２つの値について、対応する画素信号生成因子を前記記憶手段から抽出するものであり、前記抽出生成ステップは、前記抽出ステップにて抽出された２の画素信号生成因子に対し、前記反射光成分算出ステップにより算出された反射光成分値に基づいた補間演算を行って、出力画像の画素信号を生成するものである。
【００１９】
請求項３記載の画像処理プログラムは、請求項１又は２に記載の画像処理プログラムにおいて、前記画素信号生成ステップは、前記反射光成分算出ステップにより算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定ステップと、その範囲決定ステップにより決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化ステップとを有し、その正規化ステップにて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値は、前記正規化ステップにより正規化された値が取る範囲の正規化反射光成分値とされている。
【００２０】
請求項４記載の画像処理プログラムは、請求項２記載の画像処理プログラムにおいて、前記画素信号生成ステップは、前記反射光成分算出ステップにより算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定ステップと、その範囲決定ステップにより決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化ステップとを有し、その正規化ステップにて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値には、前記正規化ステップにより正規化された値が取る範囲の正規化反射光成分値であって、前記正規化ステップにて正規化範囲を変換するために予め定められた上限値と下限値とが採用されている。
【００２１】
請求項５記載の画像処理プログラムは、画像の補正処理を行う画像処理装置に搭載され、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出ステップと、その反射光成分算出ステップにて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成ステップとを備え、レティネックス処理による画像の補正を実行するものであり、前記画素信号生成ステップは、前記反射光成分算出ステップにより算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定ステップと、その範囲決定ステップにより決定された正規化範囲を、予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化ステップと、第１の画素信号の値に対し予め定めた正規化反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出ステップと、その抽出ステップにて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成ステップとを備え、前記正規化ステップにて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた正規化反射光成分値は、前記正規化ステップにて求められる元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされている。
【００２２】
尚、画素信号生成ステップは、元画像の全ての画素信号について、一義的に抽出生成ステップにて出力画像の画素信号生成を行うものであってもよく、また、元画像の一部の画素信号について抽出生成ステップによる出力画像の画素信号生成を行うものであっても良い。元画像の一部の画素信号について抽出生成ステップで出力画像の画素信号生成を行う場合は、例えば、正規化ステップにて算出された正規化反射光成分値を基準に、抽出生成ステップによる出力画像の画素信号生成を行うかを判断してもよい。また、抽出生成ステップにて出力画像の画素信号が生成されない残りの画素信号については、ガンマ補正演算にて補正値を求めて出力画像の画素信号を生成しても良い。
【００２３】
請求項６記載の画像処理プログラムは、請求項５記載の画像処理プログラムにおいて、
前記記憶手段に予め記憶される画素信号生成因子は、予め定めた複数の正規化反射光成分値のそれぞれに対応して算出されたものであり、前記抽出ステップは、前記正規化ステップにより正規化された正規化反射光成分値に対応する画素信号生成因子を前記記憶手段から抽出する一方、前記正規化された正規化反射光成分値が、前記記憶手段に予め記憶される画素信号生成因子に対応するものでない場合には、前記予め定めた複数の正規化反射光成分値の内、前記正規化ステップにて正規化された正規化反射光成分値を跨ぐ２つの値について、対応する画素信号生成因子を前記記憶手段から抽出するものであり、前記抽出生成ステップは、前記抽出ステップにて抽出された２の画素信号生成因子に対し、前記正規化ステップにて正規化された正規化反射光成分値に基づいた補間演算を行って、出力画像の画素信号を生成するものである。
【００２４】
請求項７記載の画像処理プログラムは、請求項６記載の画像処理プログラムにおいて、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた正規化反射光成分値には、前記正規化ステップにて正規化範囲を変換するために予め定められた上限値と下限値とが採用されている。
【００２５】
請求項８記載の画像処理プログラムは、請求項３から７のいずれかに記載の画像処理プログラムにおいて、前記正規化範囲を変換するために予め定められた下限値は、０を超える値とされている。
【００２６】
請求項９記載の画像処理プログラムは、請求項３から８のいずれかに記載の画像処理プログラムにおいて、前記正規化範囲を変換するために予め定められた上限値は、１以上の値とされている。
【００２７】
請求項１０記載の画像処理プログラムは、請求項８又は９に記載の画像処理プログラムにおいて、前記正規化範囲を変換するために予め定められた上限値と下限値との幅は、１とされている。
【００２８】
請求項１１記載の画像処理装置は、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出手段と、その反射光成分算出手段にて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成手段とを備え、レティネックス処理による画像の補正を実行するものであり、第１の画素信号の値に対し予め定めた反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段を備えており、前記画素信号生成手段は、その記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出手段と、その抽出手段にて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成手段とを備えており、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた反射光成分値は、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に、前記反射光成分算出手段にて算出される値とされていることを特徴とする画像処理装置。
【００２９】
尚、補正値生成に関与するガンマ補正は、広義のガンマ補正であって、ガンマ関数による補正のみならず、画素信号の値が「０」から所定範囲の小さい値側にある場合にその値を増大させた出力値を生成するものであって且つ単調増加関数でない非線形の関数による補正を含む概念である。
【００３０】
請求項１２記載の画像処理装置は、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて注目画素と周辺画素との相対的な明るさの指標となる反射光成分値を算出する反射光成分算出手段と、その反射光成分算出手段にて算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて出力画像の画素信号を生成する画素信号生成手段とを備え、レティネックス処理による画像の補正を実行するものであり、第１の画素信号の値に対し予め定めた正規化反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値を画素信号生成因子とし、その画素信号生成因子を第１の画素信号の値に対応つけて予め記憶する記憶手段を備えており、前記画素信号生成手段は、前記反射光成分算出手段により算出された反射光成分値について、所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲を決定する範囲決定手段と、その範囲決定手段により決定された正規化範囲を、予め定めた上限値と下限値との範囲とする変換により、前記正規化範囲に属する各反射光成分値を正規化して正規化反射光成分値を算出する正規化手段と、前記記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子を抽出する抽出手段と、その抽出手段にて抽出された画素信号生成因子に基づいて出力画像の画素信号を生成する抽出生成手段とを備え、前記正規化手段にて正規化された正規化反射光成分値を前記反射光成分値として用いて出力画像の画素信号を生成するものであり、前記記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた前記予め定めた正規化反射光成分値は、前記正規化手段にて求められる元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされていることを特徴とする画像処理装置。
【００３１】
尚、補正値生成に関与するガンマ補正は、広義のガンマ補正であって、ガンマ関数による補正のみならず、画素信号の値が「０」から所定範囲の小さい値側にある場合にその値を増大させた出力値を生成するものであって且つ単調増加関数でない非線形の関数による補正を含む概念である。
【発明の効果】
【００３２】
請求項１記載の画像処理プログラムによれば、反射光成分算出ステップにより反射光成分値が算出される。ここで、反射光成分値は、注目画素と周辺画素との相対的な明るさの指標とされるものであって、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて算出される。そして、この算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて、画素信号生成ステップにより、出力画像の画素信号が、即ち、レティネックス処理による補正がなされた画素信号が、生成される。かかる画素信号生成ステップでは、抽出ステップにより、記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子が抽出され、その抽出ステップにて抽出された画素信号生成因子に基づいて、出力画像の画素信号が、抽出生成ステップにて生成される。
【００３３】
よって、かかる抽出生成ステップにより、ガンマ補正の複雑な演算を行うことなく出力画像の画素信号を生成することができるので、元画像に対するレティネックス処理を行って出力画像を生成する一連の画像処理において演算量を減らすことができ、高速で処理を行うことができるという効果がある。
【００３４】
また、記憶手段には、画素信号生成因子として、第１の画素信号の値に対し予め定めた反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値が、第１の画素信号の値に対応つけて予め記憶されている。記憶される画素信号生成因子は、第１の画素信号の値に対してガンマ補正を行って導出された値であるが、ガンマ補正においては、予め定めた反射光成分値がその演算のパラメータとされている。そして、このパラメータである予め定めた反射光成分値は、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に、反射光成分算出ステップにて算出される値とされている。従って、ガンマ補正の演算を行うのではなく、元画像の注目画素の画素信号の値に対応する値を記憶手段から抽出するという簡便な処理にて出力画像の画素信号を生成しても、精度良く、該画素信号の値を生成することができるという効果がある。
【００３５】
抽出生成ステップにて生成される出力画像の画素信号の値を、元画像の画素信号の値を実際にガンマ補正して得られる値に近似させるためには、本プログラムにて取り扱う画素信号生成因子、即ち、記憶手段に記憶させる画素信号生成因子を、どのように設計するかが重要となる。ここで、画素信号生成因子（第１の画素信号の値をガンマ補正した補正値）は、パラメータとする反射光成分値によって大きく変化するので、記憶手段に記憶させる画素信号生成因子を設計する上で、ガンマ補正のパラメータとする予め定めた反射光成分値をどのようするかが肝要となる。
【００３６】
記憶手段に記憶される画素信号生成因子は、元画像の大部分においては、注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じとなることから、注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じである場合に反射光成分算出ステップにて算出される反射光成分値をガンマ補正のパラメータとして設計されている。これによれば、抽出生成ステップにて出力画像の画素信号の値を生成すると、元画像の大部分については、ガンマ補正の演算で生成した場合と同様の結果（近似した結果）を得ることができる。その結果、ガンマ補正の演算を行って出力画像の画素信号を生成した場合と比べて、画像品質を大きく劣化させることがない上、高速で出力画像の生成を行うことができるという効果がある。
【００３７】
請求項２記載の画像処理プログラムによれば、請求項１記載の画像処理プログラムの奏する効果に加え、抽出ステップにて、反射光成分算出ステップにより算出された反射光成分値に対応する画素信号生成因子が記憶手段から抽出される一方、算出された反射光成分値が記憶手段に予め記憶される画素信号生成因子に対応するものでない場合には、予め定めた複数の反射光成分値の内、反射光成分算出ステップにより算出された反射光成分値を跨ぐ２つの値について対応する画素信号生成因子が記憶手段から抽出される。そして、抽出ステップにて抽出された２の画素信号生成因子に対し、抽出生成ステップにて、反射光成分算出ステップにより算出された反射光成分値に基づいた補間演算が行われて、出力画像の画素信号が生成される。
【００３８】
記憶手段に記憶される画素信号生成因子が唯一の反射光成分値に対応するもののみとされていると、元画像の各注目画素に対応する出力画像の各画素信号を全て、抽出生成ステップにて生成しようとすれば、反射光成分算出ステップにより算出される全ての反射光成分値を、その唯一の反射光成分値として扱わねばならない。ところが、実際には、反射光成分算出ステップにて算出される反射光成分値は、唯一の値とはならないため、かかる条件下で抽出生成ステップが生成する値は、生成されるべき値（ガンマ補正演算を行った場合に得られる値）から大きくずれてしまいかねない。
【００３９】
しかし、記憶手段には、予め定めた複数の反射光成分値に対応する画素信号生成因子が記憶されており、本プログラムにおいては、抽出生成ステップにおいて、出力画像の画素信号の値生成に際し、算出された反射光成分値に対応する適切な画素信号生成因子を選択することができる。よって、抽出生成ステップにて生成される出力画像の画素信号の値について、その生成されるべき値からのずれを抑制することができる。
【００４０】
更には、反射光成分算出ステップにより算出された反射光成分値が記憶手段に予め記憶される画素信号生成因子に対応するものでなくとも、算出された反射光成分値に対応する画素信号生成因子を補間演算によって導出することができる。故に、様々な反射光成分値が反射光成分算出ステップにより算出されても、補間演算を行うことによって得られる画素信号生成因子を元に、抽出生成ステップで、適切な出力画像の画素信号の値を生成することができるという効果がある。
【００４１】
このため、反射光成分算出ステップにて算出される様々な反射光成分値に対応して膨大な画素信号生成因子を記憶手段に記憶させておく必要が無く、画素信号生成因子を記憶するために必要な記憶手段のメモリ容量を抑制することができる。
【００４２】
また、抽出生成ステップは、注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じである場合に反射光成分算出ステップにて算出される反射光成分値をパラメータとした画素信号生成因子を用いて補間演算を行って、出力画像の画素信号の値を生成することができる。このため、生成した画素信号の値とその周辺画素の画素信号の値との輝度差の正負を、入力画像と同じ符号とすることができるという効果がある。つまり、注目画素と周辺画素とを比較した場合、注目画素が周辺画素に比べて明るい、同じ、暗いの３つのパターンが生じる。注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じである場合は、注目画素と周辺画素との明るさ（輝度）が同じ場合に対応している。つまり、注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じである場合に、反射光成分算出ステップにて算出される反射光成分値は、注目画素と周辺画素との輝度差の正負が反転する境界となる。従って、かかる反射光成分値に対応する画素信号生成因子が記憶手段に記憶されていると、抽出生成ステップが補間演算を行って画素信号の値を生成する場合に、かかる境界を跨ぐ補間演算は実行されない。言い換えれば、注目画素の輝度と周辺画素の輝度との正負が反転する境界を境にした補間演算が行われるので、両者の輝度の差が出力画像において反転することがない（輝度差の正負を入力画像と同じ符号となる）。故に、出力画像において入力画像と異なった不自然なコントラストが発生することを回避することができるという効果がある。
【００４３】
請求項３記載の画像処理プログラムによれば、請求項１又は２に記載の画像処理プログラムの奏する効果に加え、反射光成分算出ステップにより算出された反射光成分値について所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲が、範囲決定ステップにて決定されると、決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、正規化範囲に属する反射光成分値を正規化した正規化反射光成分値が、正規化ステップにて算出される。
【００４４】
反射光成分算出ステップにより算出された反射光成分値の全ての値を許容していては、扱う数値範囲が膨大な範囲に及んでしまうため、算出された反射光成分値を用いた処理において処理速度の低下を招いてしまう。よって、正規化ステップで反射光成分値を正規化することにより、反射光成分算出ステップにより算出された反射光成分値を、現実的な範囲で取扱う事ができ、処理速度を向上させることができるという効果がある。また、正規化ステップにて正規化を行うことにより、ノイズ等の影響をカットすることができるという効果がある。
【００４５】
更に、記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた予め定めた反射光成分値は、正規化ステップにより正規化された値が取る範囲の正規化反射光成分値とされているので、抽出ステップにて抽出された画素信号生成因子に基づいて抽出生成ステップが出力画像の画素信号を生成することにより、正規化反射光成分値を反射光成分値として用いて、出力画像の画素信号を生成することができる。
【００４６】
ここで、本プログラムは、正規化ステップにて正規化された正規化反射光成分値を反射光成分値として用いて出力画像の画素信号を生成するものであるので、例えば、入力画像の一部についてガンマ補正の演算を行って出力画像の画像の画素信号の値を生成する場合にも、正規化ステップにて正規化された正規化反射光成分値に対してのガンマ補正の演算が行われることとなる。かかる場合においては、入力画像の他の部分については、抽出生成ステップにて出力画像の画素信号の値が生成されるが、その抽出生成ステップにて生成される出力画像の画素信号の値も、正規化反射光成分値を用いて生成されるものとなるので、画像全体のトーンを均質なものとすることができる。
【００４７】
更には、請求項２に従属する画像処理プログラムによれば、正規化ステップにて正規化された正規化反射光成分値に対応する画素信号生成因子が、抽出ステップにて抽出されることとなる。正規化された正規化反射光成分値が取る範囲は、予め定めた上限値から下限値に至る範囲であるので、正規化ステップにより正規化された正規化反射光成分値と、記憶手段に予め記憶させておく画素信号生成因子の算出に関与した正規化反射光成分値とは同じ範囲で規定されるものとなる。正規化された値が取る範囲、即ち、上限値および下限値に応じて、正規化後の値は変化するため、正規化ステップにより正規化された正規化反射光成分値と、記憶手段に予め記憶させておく画素信号生成因子の算出に関与した正規化反射光成分値とを同じ範囲で規定することにより、両者を整合することができる。その結果、抽出ステップが、画素信号生成因子の記憶手段から抽出を、正規化ステップにて正規化された正規化反射光成分値に基づいて行うことにより、的確な画素信号生成因子の抽出を行うことができるという効果がある。
【００４８】
請求項４記載の画像処理プログラムによれば、請求項２記載の画像処理プログラムの奏する効果に加え、反射光成分算出ステップにより算出された反射光成分値について所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲が、範囲決定ステップにて決定されると、決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、正規化範囲に属する反射光成分値を正規化した正規化反射光成分値が、正規化ステップにて算出される。このため、予め定めた上限値と下限値とは、それぞれ正規化反射光成分値の上限値と下限値となる。そして、正規化ステップにて正規化された正規化反射光成分値を反射光成分値として用いて、画素信号生成ステップにより出力画像の画素信号が生成される。抽出ステップにおいては、正規化反射光成分値に基づいて記憶手段から画素信号生成因子が抽出される。ここで、記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた予め定めた反射光成分値には、正規化ステップにより正規化された値が取る範囲の正規化反射光成分値であって、正規化ステップにて正規化範囲を変換するために予め定められた上限値と下限値とが採用されている。
【００４９】
よって、記憶手段には、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に反射光成分算出ステップにて算出される反射光成分値の正規化反射光成分値に対応する画素信号生成因子に加え、予め定めた上限値と下限値とのそれぞれに対応する画素信号生成因子が記憶されることとなり、正規化ステップにて正規化された正規化反射光成分値が取り得る全範囲において、抽出生成ステップによって、出力画像の画素信号を生成することができるという効果がある。従って、元画像に対するレティネックス処理を行って出力画像を生成する一連の画像処理を、単純なアルゴリズムで実行でき、その処理時間を短縮することができるという効果がある。
【００５０】
更には、記憶手段には、上限値と下限値との間のもう一点の正規化反射光成分値に対応する画素信号生成因子が保持されるので、抽出生成ステップにおいて、画素信号生成因子の補間演算を行う場合に、正規化反射光成分値の変化に対し非線形に変化する画素信号生成因子の値の偏差を反映して補間演算を実行することができ、抽出生成ステップによって生成される出力画像の画素信号の値の精度を向上させることができるという効果がある。
【００５１】
請求項５記載の画像処理プログラムによれば、反射光成分算出ステップにより反射光成分値が算出される。反射光成分値は、注目画素と周辺画素との相対的な明るさの指標とされるものであって、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて算出される。そして、反射光成分算出ステップにより算出された反射光成分値について所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲が、範囲決定ステップにて決定されると、決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、正規化範囲に属する反射光成分値を正規化した正規化反射光成分値が、正規化ステップにて算出される。そして、この算出された正規化反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて、画素信号生成ステップにより、出力画像の画素信号が、即ち、レティネックス処理による補正がなされた画素信号が、生成される。
【００５２】
かかる画素信号生成ステップでは、抽出ステップにより、記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子が抽出され、抽出された画素信号生成因子に基づいて出力画像の画素信号が抽出生成ステップにて生成される。
【００５３】
よって、かかる抽出生成ステップにより、ガンマ補正の複雑な演算を行うことなく出力画像の画素信号を生成することができるので、元画像に対するレティネックス処理を行って出力画像を生成する一連の画像処理において演算量を減らすことができ、高速で処理を行うことができるという効果がある。
【００５４】
また、記憶手段には、画素信号生成因子として、第１の画素信号の値に対し予め定めた正規化反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値が、第１の画素信号の値に対応つけて予め記憶されている。記憶される画素信号生成因子は、第１の画素信号の値に対しガンマ補正を行って導出された値であるが、ガンマ補正においては、予め定めた反射光成分値がその演算のパラメータとされている。そして、ガンマ補正のパラメータであるこの予め定めた反射光成分値は、正規化ステップにて求められる元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされている。従って、ガンマ補正の演算を行うことなく、元画像の注目画素の画素信号の値に対応する値を記憶手段から抽出するという簡便な処理にて出力画像の画素信号を生成しても、精度良く、該画素信号の値を生成することができるという効果がある。
【００５５】
抽出生成ステップにて生成される出力画像の画素信号の値を、元画像の画素信号の値を実際にガンマ補正して得られる値と近似させるためには、本プログラムにて取り扱う画素信号生成因子、即ち、記憶手段に記憶させる画素信号生成因子を、どのように設計するかが重要となる。画素信号生成因子（第１の画素信号の値をガンマ補正した補正値）は、パラメータとする正規化反射光成分値によって大きく変化するので、記憶手段に記憶させる画素信号生成因子を設計する上で、パラメータとする予め定めた正規化反射光成分値をどのように選定かが肝要となる。
【００５６】
ここで、記憶手段に記憶される画素信号生成因子のパラメータである正規化反射光成分値は、正規化ステップにて求めた元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされているので、正規化反射光成分値の母集団を代表する値とすることができる。その結果、かかる正規化反射光成分値をパラメータとしてガンマ補正された画素信号生成因子は、元画像の注目画素の画素信号の値に対し、幅広く対応するものとなる。故に、抽出生成ステップにて画素信号生成因子に基づいて生成される出力画像の画素信号の値を適切なものとすることができるという効果がある。従って、ガンマ補正の演算を行って出力画像の画素信号を生成した場合と比べて、画像品質を大きく劣化させることがない上、高速で出力画像の生成を行うことができるという効果がある。
【００５７】
尚、本プログラムは、正規化ステップを備えているので、元画像が異なるものであっても、各元画像について得られる正規化反射光成分値は、正規化によって同様の分布態様となることが多い。従って、記憶手段に、予め、１の元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかをパラメータとして算出された画素信号生成因子を記憶させくことにより、他の元画像についても、記憶手段に記憶される画素信号生成因子を適用して、支障なく、出力画像の画素信号の値を生成することができる。
【００５８】
請求項６記載の画像処理プログラムによれば、請求項５記載の画像処理プログラムの奏する効果に加え、抽出ステップにて、正規化ステップにより正規化（算出）された正規化反射光成分値に対応する画素信号生成因子が記憶手段から抽出される一方、正規化ステップにより正規化された正規化反射光成分値が、記憶手段に予め記憶される画素信号生成因子に対応するものでない場合には、予め定めた複数の正規化反射光成分値の内、正規化ステップにて正規化された正規化反射光成分値を跨ぐ２つの値について対応する画素信号生成因子が、抽出ステップにより記憶手段から抽出される。そして、抽出ステップにて抽出された２の画素信号生成因子に対し、正規化ステップにて正規化された正規化反射光成分値に基づいた補間演算が、抽出生成ステップにて行われて、出力画像の画素信号が生成される。
【００５９】
記憶手段に記憶される画素信号生成因子が唯一の正規化反射光成分値に対応するもののみとされていると、元画像の各注目画素に対応する出力画像の各画素信号を全て、抽出生成ステップにて生成しようとすれば、正規化ステップにより算出される全ての正規化反射光成分値を、その唯一の正規化反射光成分値として扱わねばならない。ところが、実際には、反射光成分算出ステップにて算出された後に正規化ステップにて正規化された正規化反射光成分値は、唯一の値とはならないため、かかる条件下で抽出生成ステップが生成した出力画像の画素信号の値は、生成されるべき値（ガンマ補正演算を行った場合に得られる値）から大きくずれてしまいかねない。
【００６０】
しかし、記憶手段には、予め定めた複数の正規化反射光成分値に対応する画素信号生成因子が記憶されているので、本プログラムでは、出力画像の画素信号の値生成に際し、算出された正規化反射光成分値に対応する適切な画素信号生成因子を選択することができる。よって、抽出生成ステップにて生成される出力画像の画素信号の値について、その生成されるべき値からのずれを抑制することができる。
【００６１】
更には、正規化ステップにより算出された正規化反射光成分値が記憶手段に予め記憶される画素信号生成因子に対応するものでなくとも、算出された正規化反射光成分値に対応する画素信号生成因子を補間演算によって導出することができる。故に、正規化ステップにて様々な正規化反射光成分値が算出されても、補間演算を行うことによって得られる画素信号生成因子を元に、抽出生成ステップで、適切な出力画像の画素信号の値を生成することができるという効果がある。従って、反射光成分算出ステップにて算出される反射光成分値は様々であるためその反射光成分値が正規化された反射光成分値も多様となるが、かかる多様な正規化反射光成分に対応して膨大な画素信号生成因子を記憶手段に記憶させておく必要が無く、画素信号生成因子を記憶するために必要な記憶手段のメモリ容量を抑制することができる。
【００６２】
請求項７記載の画像処理プログラムによれば、請求項６記載の画像処理プログラムの奏する効果に加え、記憶手段に予め記憶された画素信号生成因子に対してなされたガンマ補正においてパラメータとされた予め定めた正規化反射光成分値には、正規化ステップにて正規化範囲を変換するために予め定められた上限値と下限値とが採用されているので、記憶手段には、正規化ステップにて求めた元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する正規化反射光成分値に対応する画素信号生成因子に加え、予め定めた上限値と下限値とのそれぞれに対応する画素信号生成因子が記憶されることとなり、正規化された正規化反射光成分値が取り得る全範囲において、抽出生成ステップによって、出力画像の画素信号を生成することができるという効果がある。従って、元画像に対するレティネックス処理を行って出力画像を生成する一連の画像処理を、単純なアルゴリズムで実行でき、その処理時間を短縮することができるという効果がある。
【００６３】
更には、記憶手段には、上限値と下限値との間のもう一点の正規化反射光成分値に対応する画素信号生成因子が保持されるので、抽出生成ステップにおいて、画素信号生成因子の補間演算を行う場合に、正規化反射光成分値の変化に対し非線形に変化する画素信号生成因子の値の偏差を反映して補間演算を実行することができ、抽出生成ステップによって生成される出力画像の画素信号の値の精度を向上させることができるという効果がある。
【００６４】
請求項８記載の画像処理プログラムによれば、請求項３から７のいずれかに記載の画像処理プログラムの奏する効果に加え、正規化範囲を変換するために予め定められた下限値は、０を超える値とされているので、出力画像の画素信号の値が生成不能となることを回避できるという効果がある。
【００６５】
一般に、レティネックス処理において、補正値を求める演算には、注目画素の画素信号の値を正規化反射光成分値で除す演算が含まれる。上記の予め定められた下限値が０である場合には、正規化反射光成分値が０を含む値となる。正規化反射光成分値が０である場合には、算出される補正値は無限大となるので算出不能となってしまう。しかし、本プログラムにおいては、正規化範囲を変換するために予め定められた下限値は、０を超える値とされているので、正規化反射光成分値を用いて算出される補正値が無限大となることを回避できる。従って、正規化反射光成分値をパラメータとしするガンマ補正を経て算出された補正値、画素信号生成因子は、必ず実在する数となるので、予め定めた下限値に対応する画素信号生成因子に基づく出力画像の画素信号の値を、抽出生成ステップによって、確実に生成することができる。
【００６６】
請求項９記載の画像処理プログラムによれば、請求項３から８のいずれかに記載の画像処理プログラムの奏する効果に加え、正規化範囲を変換するために予め定められた上限値は、１以上の値とされているので、出力画像の画素信号のダイナミックレンジの上側の値を、入力された元画像の画素信号のダイナミックレンジの上側以上の値とすることができるという効果がある。
【００６７】
例えば、元画像の画素信号が０〜２５５のダイナミックレンジ（上側のレンジが２５５）を有する場合に、出力画像の画素信号の値の上側のレンジが２５５未満となる補正が行われてしまうと、出力画像全体のトーンが暗くなって、画像品質を低下させてしまう。しかし、正規化範囲を変換するために予め定められた上限値は、１以上の値とされているので、正規化ステップにて正規化された正規化反射光成分値の最大値を１以上の値とする事ができる。故に、元画像の画素信号が０〜２５５のダイナミックレンジであれば、算出される画素生成因子の値の最大値を２５５以上の値とすることができ、良好な画像品質を確保することができる。
【００６８】
請求項１０記載の画像処理プログラムによれば、請求項８又は９に記載の画像処理プログラムの奏する効果に加え、正規化範囲を変換するために予め定められた上限値と下限値との幅は、１とされているので、生成される出力画像の画素信号のダイナミックレンジを、元画像の画素信号のダイナミックレンジと略同じにすることができるという効果がある。このため、元画像に比べて、出力画像の全体の階調が極端に変化する、即ち、階調範囲が極端に狭くなったり広くなったりすることを回避できる。
【００６９】
請求項１１記載の画像処理装置によれば、反射光成分算出手段により反射光成分値が算出される。ここで、反射光成分値は、注目画素と周辺画素との相対的な明るさの指標とされるものであって、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて算出される。そして、この算出された反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて、画素信号生成手段により、出力画像の画素信号が、即ち、レティネックス処理による補正がなされた画素信号が、生成される。かかる画素信号生成手段では、抽出手段により、記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子が抽出され、その抽出手段にて抽出された画素信号生成因子に基づいて、出力画像の画素信号が、抽出生成手段にて生成される。
【００７０】
よって、かかる抽出生成手段により、ガンマ補正の複雑な演算を行うことなく出力画像の画素信号を生成することができるので、元画像に対するレティネックス処理を行って出力画像を生成する一連の画像処理において演算量を減らすことができ、高速で処理を行うことができるという効果がある。
【００７１】
また、記憶手段には、画素信号生成因子として、第１の画素信号の値に対し予め定めた反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値が、第１の画素信号の値に対応つけて予め記憶されている。記憶される画素信号生成因子は、第１の画素信号の値に対してガンマ補正を行って導出された値であるが、ガンマ補正においては、予め定めた反射光成分値がその演算のパラメータとされている。そして、このパラメータである予め定めた反射光成分値は、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じである場合に、反射光成分算出手段にて算出される値とされている。従って、ガンマ補正の演算を行うのではなく、元画像の注目画素の画素信号の値に対応する値を記憶手段から抽出するという簡便な処理にて出力画像の画素信号を生成しても、精度良く、該画素信号の値を生成することができるという効果がある。
【００７２】
抽出生成手段にて生成される出力画像の画素信号の値を、元画像の画素信号の値を実際にガンマ補正して得られる値に近似させるためには、記憶手段に記憶させる画素信号生成因子を、どのように設計するかが重要となる。ここで、画素信号生成因子（第１の画素信号の値をガンマ補正した補正値）は、パラメータとする反射光成分値によって大きく変化するので、記憶手段に記憶させる画素信号生成因子を設計する上で、ガンマ補正のパラメータとする予め定めた反射光成分値をどのようするかが肝要となる。
【００７３】
記憶手段に記憶される画素信号生成因子は、元画像の大部分においては、注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じとなることから、注目画素の画素信号の値とその周辺画素の平均輝度値とが略同じである場合に反射光成分算出手段にて算出される反射光成分値をガンマ補正のパラメータとして設計されている。これによれば、抽出生成手段にて出力画像の画素信号の値を生成すると、その大部分について、ガンマ補正の演算で生成した場合と同様の結果（近似した結果）を得ることができる。その結果、ガンマ補正の演算を行って出力画像の画素信号を生成した場合と比べて、画像品質を大きく劣化させることがない上、高速で出力画像の生成を行うことができるという効果がある。
【００７４】
請求項１２記載の画像処理装置によれば、反射光成分算出手段により反射光成分値が算出される。反射光成分値は、注目画素と周辺画素との相対的な明るさの指標とされるものであって、元画像における注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とに基づいて算出される。そして、反射光成分算出手段により算出された反射光成分値について所定割合以上の画素が属する範囲となることを条件に、反射光成分値の正規化範囲が、範囲決定手段にて決定されると、決定された正規化範囲を予め定めた上限値と下限値との範囲とする変換により、正規化範囲に属する反射光成分値を正規化した正規化反射光成分値が、正規化手段にて算出される。そして、この算出された正規化反射光成分値をパラメータとして注目画素の画素信号の値をガンマ補正した補正値と、注目画素の画素信号の値とに基づいて、画素信号生成手段により、出力画像の画素信号が、即ち、レティネックス処理による補正がなされた画素信号が、生成される。
【００７５】
かかる画素信号生成手段では、抽出手段により、記憶手段から、注目画素の画素信号の値に基づいて対応する画素信号生成因子が抽出され、抽出された画素信号生成因子に基づいて出力画像の画素信号が抽出生成手段にて生成される。
【００７６】
よって、かかる抽出生成手段により、ガンマ補正の複雑な演算を行うことなく出力画像の画素信号を生成することができるので、元画像に対するレティネックス処理を行って出力画像を生成する一連の画像処理において演算量を減らすことができ、高速で処理を行うことができるという効果がある。
【００７７】
また、記憶手段には、画素信号生成因子として、第１の画素信号の値に対し予め定めた正規化反射光成分値をパラメータとしてガンマ補正を行った補正値、または、その補正値と第１の画素信号の値とに基づいて算出された第２の画素信号の値が、第１の画素信号の値に対応つけて予め記憶されている。記憶される画素信号生成因子は、第１の画素信号の値に対しガンマ補正を行って導出された値であるが、ガンマ補正においては、予め定めた反射光成分値がその演算のパラメータとされている。そして、ガンマ補正のパラメータであるこの予め定めた反射光成分値は、正規化手段にて求められる元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされている。従って、ガンマ補正の演算を行うことなく、元画像の注目画素の画素信号の値に対応する値を記憶手段から抽出するという簡便な処理にて出力画像の画素信号を生成しても、精度良く、該画素信号の値を生成することができるという効果がある。
【００７８】
抽出生成手段にて生成される出力画像の画素信号の値を、元画像の画素信号の値を実際にガンマ補正して得られる値と近似させるためには、記憶手段に記憶させる画素信号生成因子を、どのように設計するかが重要となる。画素信号生成因子（第１の画素信号の値をガンマ補正した補正値）は、パラメータとする正規化反射光成分値によって大きく変化するので、記憶手段に記憶させる画素信号生成因子を設計する上で、パラメータとする予め定めた正規化反射光成分値をどのように選定かが肝要となる。
【００７９】
ここで、記憶手段に記憶される画素信号生成因子のパラメータである正規化反射光成分値は、正規化手段にて求めた元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかに対応する値とされているので、正規化反射光成分値の母集団を代表する値とすることができる。その結果、かかる正規化反射光成分値をパラメータとしてガンマ補正された画素信号生成因子は、元画像の注目画素の画素信号の値に対し、幅広く対応するものとなる。故に、抽出生成手段にて画素信号生成因子に基づいて生成される出力画像の画素信号の値を適切なものとすることができるという効果がある。従って、ガンマ補正の演算を行って出力画像の画素信号を生成した場合と比べて、画像品質を大きく劣化させることがない上、高速で出力画像の生成を行うことができるという効果がある。
【００８０】
尚、本装置は、正規化手段を備えているので、元画像が異なるものであっても、各元画像について得られる正規化反射光成分値は、正規化によって同様の分布態様となることが多い。従って、記憶手段に、予め、１の元画像の正規化反射光成分値の平均値、中央値、最頻値のいずれかをパラメータとして算出された画素信号生成因子を記憶させくことにより、他の元画像についても、記憶手段に記憶される画素信号生成因子を適用して、支障なく、出力画像の画素信号の値を生成することができる。
【発明を実施するための最良の形態】
【００８１】
以下、本発明の好ましい第１の実施形態について添付図面を参照して説明する。図１は、本実施形態の画像処理を行う機能を有するプリンタ１の電気的な構成を示したブロック図である。本実施形態においては、プリンタ１に搭載された画像処理プログラムは、パーソナルコンピュータ（以下「ＰＣ」と称する）２や、デジタルカメラ２１や、外部メディア２０から入力された画像データ（元画像データ）に対しレティネックス処理（Ｒｅｔｉｎｅｘ処理）を実行して、画像データの逆光画像部分などの低画質領域の補正を行った出力画像データを生成するように構成されている。
【００８２】
図１に示すように、プリンタ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、印刷ヘッドなどから構成され、印刷媒体（例えば、紙媒体など）への印刷（出力）を行う印刷部１５、出力画像サイズなどの入力値をユーザが入力可能なユーザ操作部（例えば、テンキーなど）を有する操作パネル１６とを備えている。
【００８３】
また、プリンタ１は、ケーブル５を介してＰＣ２と接続可能なインターフェイス（以下「Ｉ／Ｆ」と称する）１７と、ケーブル６を介してデジタルカメラ２１と接続可能なＩ／Ｆ１８と、外部メディア２０（例えば、ＳＤメモリカード、メモリスティックなどのフラッシュメモリにより構成される）を着脱自在に装着可能な外部メディアスロット１９とを備えている。これらのＩ／Ｆ１７、１８により行われる通信方法としてＵＳＢ（Universal  Serial  Bus）が使用される。
【００８４】
よって、プリンタ１には、ＰＣ２に記憶されている画像データをケーブル５及びＩ／Ｆ１７を介して入力することが可能であると共に、デジタルカメラ２１によって撮影された画像データをケーブル６及びＩ／Ｆ１８を介して入力することが可能である。さらに、外部メディアスロット１９に装着された外部メディア２０から、その外部メディア２０に記憶されている画像データを入力することが可能である。
【００８５】
ＣＰＵ１１は、プリンタ１全体を制御する演算処理装置である。ＲＯＭ１２は、ＣＰＵ１１により実行される各種制御プログラムやそのプログラムを実行する際に用いられる固定値などを記憶するものであり、レティネックス処理を用いた補正処理を行う画像処理プログラム１２ａや、印刷を行うための印刷制御プログラム１２ｂ、更には、レティネックス処理による補正を行うための上限値テーブル１２ｃ、中央値テーブル１２ｄ、下限値テーブル１２ｅ等が備えられている。尚、図５、図６に示すフローチャートのプログラムは、画像処理プログラム１２ａの一部としてＲＯＭ１２に記憶されている。
【００８６】
上限値テーブル１２ｃ、中央値テーブル１２ｄ、下限値テーブル１２ｅは、レティネックス処理による補正が行われた出力値Ｏｕｔｙを生成するためのテーブルであって、輝度信号Ｙとその輝度信号Ｙに対してレティネックス処理が行われた出力値Ｏｕｔｙとが対応つけて記憶されている。つまり、各テーブル１２ｃ〜１２ｅは、レティネックス処理がなされた出力値Ｏｕｔｙを、元画像の輝度信号Ｙに基づいて得るためのテーブルである。プリンタ１は、この各テーブル１２ｃ〜１２ｅを備えることにより、ガンマ補正演算を行うことなく、元画像データから、レティネックス処理がなされた出力画像データを、テーブルデータに基づいて生成することができるようになっている。
【００８７】
ここで、元画像データは、ラスタデータであって元画像を形成する各画素の画素値（信号強度値、ＲＧＢ値）で構成されている。なお、本実施形態では、元画像データ及び出力画像データはいずれも、ＲＧＢ値から構成され、これらの各ＲＧＢ値は、「０」〜「２５５」の範囲の値である。
【００８８】
ＲＧＢ値は、光の３原色である赤を表すＲ値と、緑を表すＧ値と、青を示すＢ値とを構成成分とする値である。光の３原色の混色により各種の色は生成されるので、元画像の各画素の色は、Ｒ値とＧ値とＢ値との組合せ（ＲＧＢ値）により１の色（色相や階調など）が示される。このＲＧＢ値の値が大きいほど、輝度（明度）は高くなる。
【００８９】
本実施形態においては、かかる元画像データ（ＲＧＢ値）に対して直接的にレティネックス処理を行うのではなく、元画像データのＲＧＢ値を輝度信号Ｙに変換してからレティネックス処理を実行するように構成されている。このため、各テーブル１２ｃ〜１２ｅには、輝度信号Ｙに対しレティネックス処理による補正がなされた出力値Ｏｕｔｙが、輝度信号Ｙに対応して記憶されているのである。従って、ＲＧＢ値のそれぞれに対してレティネックス処理を行う場合に比べて、レティネックス処理後の出力画像において元画像のカラーバランスを維持することができる。
【００９０】
ＲＧＢ値から（５）式に従って輝度信号Ｙおよび色信号Ｃｂ，Ｃｒは、算出されるが、ＲＧＢ値は、予め定められた範囲であるので、輝度信号Ｙも予め定められた範囲の値となり、実際には「０」〜「２５５」となる。
【００９１】
【数５】
2008118183.tif 000007
【００９２】
このため、上記（４）式における元画像の信号強度値Ｉ（ｘ，ｙ）は、輝度信号Ｙ（ｘ，ｙ）とされて、レティネックス処理がなされた輝度信号Ｙが、出力値Ｏｕｔｙとして算出される。レティネックス処理において出力値Ｏｕｔを算出する（４）式によれば、ガンマ係数は任意の定数であるので、変数（パラメータ）は、元画像の画素値（輝度信号Ｙ）と正規化反射率ｒｅｆｌｅとの２つである。このため、正規化反射率ｒｅｆｌｅを選定すれば、「０」〜「２５５」の各輝度信号Ｙに対応する各出力値Ｏｕｔｙを導出することができるのである。
【００９３】
尚、この輝度信号Ｙが請求項記載の画素信号に該当する。また、本実施形態においては、輝度信号Ｙに対しレティネックス処理を行う構成としたが、これに代えて、ＲＧＢ値をそのまま用いてレティネックス処理を行うようにしても良い。
【００９４】
多数の正規化反射率ｒｅｆｌｅに対応する出力値Ｏｕｔｙをテーブルデータで備えるほど、当然ながら、正確な（（４）式の演算にて求める値に近似する）出力値Ｏｕｔｙを取得することができる。しかし、テーブルデータの増大は、メモリ容量を圧迫したり、大容量のメモリが必要となるなど好ましくない。
【００９５】
そこで、本実施形態においては、少ないテーブル数で最適な出力値Ｏｕｔｙを取得することができるように、予め定めた３つの正規化反射率ｒｅｆｌｅに対応する３種類のテーブル１２ｃ〜１２ｅを、ＲＯＭ１２に記憶させている。また、図６において後述するように、各テーブル１２ｃ〜１２ｅからの正規化反射率ｒｅｆｌｅに基づいた出力値Ｏｕｔｙの抽出に、線形補間演算を組み合わせて、出力値Ｏｕｔｙを生成するように画像処理プログラム１２ａは構成されている。これにより、プリンタ１は、テーブルデータを記憶するためのメモリ容量を抑制しつつ、的確な出力値Ｏｕｔｙを生成することができるようになっている。
【００９６】
具体的には、上限値テーブル１２ｃ、中央値テーブル１２ｄ、下限値テーブル１２ｅは、予め定めた反射率（正規化反射率ｒｅｆｌｅ）に対応して設けられたものであり、上限値テーブル１２ｃは正規化反射率ｒｅｆｌｅを１．３、中央値テーブル１２ｄは正規化反射率ｒｅｆｌｅを０．８、下限値テーブル１２ｅは正規化反射率ｒｅｆｌｅを０．３として、それぞれ形成されたものである。
【００９７】
図２は、上限値テーブル１２ｃ、中央値テーブル１２ｄ、下限値テーブル１２ｅのそれぞれに記憶されるテーブルデータを説明する図あり、各テーブル１２ｃ〜１２ｅに記憶される輝度信号Ｙと出力値Ｏｕｔｙとの関係を示したグラフである。図２において、横軸には、輝度信号Ｙを示している。縦軸には、出力値Ｏｕｔｙを示している。そして、実線で示したグラフ曲線は、正規化反射率ｒｅｆｌｅが１．３である場合に、輝度信号Ｙを（４）式に従って処理して得られる出力値Ｏｕｔｙを示している。破線で示したグラフ曲線は、正規化反射率ｒｅｆｌｅが０．８である場合に、輝度信号Ｙを（４）式に従って処理して得られる出力値Ｏｕｔｙを示している。一点鎖線で示したグラフ曲線は、正規化反射率ｒｅｆｌｅが０．３である場合に、輝度信号Ｙを（４）式に従って処理して得られる出力値Ｏｕｔｙを示している。かかるグラフ曲線のそれぞれにおいて、輝度信号Ｙが「０」〜「２５５」の各値（整数値）である場合にグラフ曲線上で得られる各値が出力値Ｏｕｔｙである。そして、この得られる各出力値Ｏｕｔｙが「０」〜「２５５」の各値に対応つけられて、対応するテーブル１２ｃ〜１２ｅに記憶されている。
【００９８】
図２に示されるように、３本のグラフ曲線は、正規化反射率ｒｅｆｌｅが０．３、０．８、１．３と０．５ずつ、同じ間隔で変更されたものであるにもかかわらず、３本のグラフ曲線にて形成される曲線間の間隔は均等ではない。例えば、輝度信号Ｙの値が「１２８」である場合、正規化反射率ｒｅｆｌｅ１．３での出力値Ｏｕｔｙと正規化反射率ｒｅｆｌｅ０．８での出力値Ｏｕｔｙとの差Ｗ１は、正規化反射率ｒｅｆｌｅ０．８での出力値Ｏｕｔｙと正規化反射率ｒｅｆｌｅ０．３での出力値Ｏｕｔｙとの差Ｗ２よりも、明らかに小さい。つまり、出力値Ｏｕｔｙは、正規化反射率ｒｅｆｌｅの変化に対して非線形に変化する。従って、上限値テーブル１２ｃ、中央値テーブル１２ｄ、下限値テーブル１２ｅの３つのテーブルを備えることにより、線形補間演算を行って出力値Ｏｕｔｙを生成する場合に、その正規化反射率ｒｅｆｌｅの変化に対する出力値Ｏｕｔｙの偏りを、補間演算に反映させることができる。故に、かかるテーブルデータに基づいて出力値Ｏｕｔｙを生成した場合に、的確に出力値Ｏｕｔｙを生成することができるのである。
【００９９】
ここで、プリンタ１内部に記憶させるテーブルデータがどのような内容で構成されているか、即ち、テーブルデータの形成に用いられた正規化反射率ｒｅｆｌｅの値がどのように設計されているかは、少ないテーブル数で的確な出力値Ｏｕｔｙを生成するための重要な要素である。
【０１００】
そこで、図３と図４とを参照して、本プリンタ１に記憶させた各テーブル１２ｃ〜１２ｅの形成に用いられた正規化反射率ｒｅｆｌｅについて詳細に説明する。
【０１０１】
図３は、元画像データから求められる対数値Ｒと元画像との関係を説明する図である。図３（ａ）には、逆光画像である元画像（逆光画像模式図）が表示されている。該元画像は、矩形状の外形を有する態様に形成されると共に、中央部において円形の逆光部位を有している。図３（ｂ）は、元画像の各画素値を反射率（対数値Ｒ）に変換して形成した変換画像を示している。ここで、対数値Ｒは、注目画素の画素値とその周辺画素の平均輝度値との差を示す値、言い換えれば、注目画素と周辺画素との明るさの差を表す値である。変換画像において、白で示される領域Ａは対数値Ｒが正であることを、黒で示される領域Ｃは対数値Ｒが負であることを、灰色で示される領域Ｂは対数値Ｒが０であることをそれぞれ示している。
【０１０２】
この対数値Ｒが正の値を持つ場合、注目画素は、周辺画素よりも明るいことを示している。逆に、対数値Ｒが負の値を持つ場合、注目画素は、周辺画素よりも暗いことを示している。また、対数値Ｒが０である場合は、注目画素は、周辺画素と同じ明るさであることを示している。
【０１０３】
一般には、元画像の各部においては、その明るさが一様であることが多い。逆光部位の大部分は同じように暗く、また、逆光部位以外の他の部分については、同じように明るい。従って、変換画像に示すように、物体の輪郭周辺や、逆光部位と非逆光部位との境界周辺など、画像の一部の領域に属する一部の画素が、周辺画素よりも明るく又は暗くなるのである。
【０１０４】
図４は、一般的な画像についての対数値Ｒのヒストグラムを示している。該ヒストグラムは、横軸を対数値Ｒとし、縦軸を画素数として作成されており、元画像の各画素について対数値Ｒを集計した結果を表したものである。かかるヒストグラムにおいてメジアン値Ｍは０であり、対数値Ｒは、メジアン値Ｍをピークとして両側に略対称に分布している。また、対数値Ｒはメジアン値Ｍ（即ち対数値Ｒ＝０）近傍に集中しており、元画像の大部分において、注目画素と周辺画素とは同程度の明るさとなることが示されている。尚、対数値Ｒの母集団においては、モード値についても０となっている。つまり、このヒストグラムによっても、元画像における各画素の対数値Ｒの大部分が０（０近傍）となることが示されている。
【０１０５】
プリンタ１は、この対数値Ｒが０となる場合に対応するテーブルデータ（中央値テーブル１２ｄ）を用いて出力値Ｏｕｔｙの生成を行うように構成されている。多くの画素の対数値Ｒが０（０近傍）であることから、この対数値Ｒが０である場合に算出される出力値Ｏｕｔｙをテーブルデータとして有することにより、テーブルデータを用いた出力値Ｏｕｔｙ生成において、生成される値の精度を向上することができるからである。実際には、（４）式の演算における反射光成分の項に、対数値Ｒ＝０を用いて計算を行うと演算結果が無限大となってしまうので、算出された対数値Ｒに正規化を行った正規化反射率ｒｅｆｌｅが用いられている。
【０１０６】
対数値Ｒの正規化においては、正規化を行うクリップ範囲（正規化範囲）を規定する必要がある。本実施形態においては、形成されるヒストグラムにおいて、メジアン値Ｍよりも大きい側において４５％の画素が含まれる点となる値を対数値Ｒの上限値Ｕとし、メジアン値Ｍよりも小さい側において４５％の画素が含まれる点となる値を対数値Ｒの下限値Ｄとして、下限値Ｄ〜上限値Ｕの範囲がクリップ範囲とされている。そして、クリップ範囲の対数値Ｒは、予め定めた範囲（下限値ｄ〜上限値ｕ）へと正規化される。この正規化は、下限値Ｄ以下の対数値Ｒを下限値ｄとし、上限値Ｕ以上の値を上限値ｕとすると共に、下限値Ｄから上限値Ｕまでのクリップ範囲の対数値Ｒを、線形、または非線形な関数で、下限値ｄ〜上限値ｕの範囲の値へと変換することにより行われる。テーブル１２ｃ〜１２ｅに保持させる出力値Ｏｕｔｙは、かかる正規化によって求められた正規化反射率ｒｅｆｌｅを用いて算出されている。尚、クリップ範囲は、メジアン値Ｍを中心に上下４５％の画素が属する範囲としたが、これに限られるものではなく、４５％以上の画素が属する範囲であっても、４５％以下の画素が属する範囲であっても良い。
【０１０７】
本実施形態に用いられた各テーブル１２ｃ〜１２ｅの設計においては、この対数値Ｒの正規化は、次の３の条件を満たすように行われている。１つ目の条件は、正規化して得られる正規化反射率ｒｅｆｌｅが、０を含まない値とすることである。これは、上記したように、出力値Ｏｕｔｙが算出不能となることを回避するためである。
【０１０８】
２つ目の条件は、正規化反射率ｒｅｆｌｅの上限値ｕを１以上の値とすることである。これは、正規化反射率ｒｅｆｌｅが１以上の値でない場合には、出力画像の画素値を最大値（２５５）以上の値で出力することができないからである。言い換えれば、元画像の画素値が、２５５で入力されても、出力画像の対応する画素値は２５５未満となってしまうのである（ダイナミックレンジの縮小）。従って、本実施形態では、生成される出力画像の画素値の最大値を２５５以上とすることができるように、正規化反射率ｒｅｆｌｅの上限値ｕを１以上の値とすることを条件としているのである。尚、正規化反射率ｒｅｆｌｅが１以上の値であると、２５５以上の出力値が生成されてしまうが、生成された画素値が２５５以上の値となった場合には、２５５に収束されるように処理される。
【０１０９】
３つ目の条件は、正規化された正規化反射率ｒｅｆｌｅの値の幅を１とすることである。正規化反射率ｒｅｆｌｅの有する幅が１であると、元画像のダイナミックレンジと出力画像のダイナミックレンジとをおおよそ同じにすることができる。元画像の画素値は「０」〜「２５５」の範囲の値であるので、正規化反射率ｒｅｆｌｅの有する幅を１とすることにより、本実施形態では、同じ範囲である「０」〜「２５５」で出力画像の画素値を得ることができる。その結果、出力画像全体の色調が入力画像に比べて変化してしまうことを回避できる。
【０１１０】
このため、対数値Ｒは、０を超える値の下限値ｄから、その下限値ｄに１加算した上限値ｕの範囲に、正規化される。尚、本実施形態においては、（３）式における下限値ｄは０．３とされ、上限値ｕは１．３とされており、対数値Ｒは０．３〜１．３の値に正規化されている。言い換えれば、元画像の各画素の正規化反射率ｒｅｆｌｅは、０．３〜１．３の値となる。また、対数値Ｒを０．３〜１．３の範囲に正規化すると、対数値Ｒ「０」の正規化反射率ｒｅｆｌｅは、０．８となる。従って、正規化反射率ｒｅｆｌｅが０．８を超える画素（注目画素）は、対数値Ｒが正である、即ち、注目画素が周辺画素よりも明るい事を示しており、正規化反射率ｒｅｆｌｅが０．８未満である画素（注目画素）は、対数値Ｒが負である、即ち、注目画素が周辺画素よりも暗い事を示すこととなる。
【０１１１】
ここで、上限値テーブル１２ｃ、中央値テーブル１２ｄ、下限値テーブル１２ｅには、正規化反射率ｒｅｆｌｅが１．３、正規化反射率ｒｅｆｌｅが０．８、正規化反射率ｒｅｆｌｅが０．３である場合において形成されたものである。つまり、上限値テーブル１２ｃは、正規化反射率ｒｅｆｌｅの上限値（対数値Ｒが正である）を用いて形成されたものであり、下限値テーブル１２ｅは、正規化反射率ｒｅｆｌｅの下限値（対数値Ｒが負である）を用いて形成されたものである。そして、中央値テーブル１２ｄは、上記したように、対数値Ｒ＝０である場合の正規化反射率ｒｅｆｌｅを用いて形成されたものとなっている。
【０１１２】
また、プリンタ１は、入力された元画像データから算出された対数値Ｒを、０．３〜１．３の範囲に正規化するように構成されている。つまり、プリンタ１において入力された元画像から演算される対数値Ｒの正規化反射率ｒｅｆｌｅと、各テーブル１２ｃ〜１２ｅの形成に用いた正規化反射率ｒｅｆｌｅとは、同じ範囲を有するものとなり、両者を整合させることができる。故に、かかる３つのテーブル１２ｃ〜１２ｅを用いて生成される出力値Ｏｕｔｙは、的確な値となる。
【０１１３】
その上、上限値テーブル１２ｃと下限値テーブル１２ｅとを備えていることにより、補間演算を行えば、プリンタ１に入力された元画像から算出される全ての正規化反射率ｒｅｆｌｅに対応する出力値Ｏｕｔｙを、各テーブル１２ｃ〜１２ｅに記憶されるテーブルデータを用いて導出することができる。
【０１１４】
尚、本実施形態においては、正規化反射率ｒｅｆｌｅは、０．３〜１．３の範囲としたが、正規化反射率ｒｅｆｌｅの範囲はこれに限られるものではなく、同じクリップ範囲について、正規化反射率ｒｅｆｌｅの範囲を、例えば、０．１〜１．１や、０．４〜１．４などとしても良い。また、正規化反射率ｒｅｆｌｅの幅も厳密に１である必要はなく、１より小さい範囲（例えば、０．９など）であっても良く、１より大きい範囲（例えば、１．５など）であっても良い。
【０１１５】
図１に戻って説明する。
【０１１６】
ＲＡＭ１３は、制御プログラムがＣＰＵ１１により実行される際に必要な各種レジスタ群などが記憶されるワーキングエリアや、処理中のデータを一時的に格納するテンポラリエリア等を有しランダムにアクセスできる書き換え可能なメモリであり、元画像データを記憶する元画像メモリ１３ａと、元画像を縮小し、縮小した画像のレティネックス処理において求められる反射率（対数値Ｒｓ）を記憶する縮小レティネックス画像メモリ１３ｂと、対数値Ｒｓのヒストグラム（頻度分布）が記憶されるヒストグラムメモリ１３ｃと、縮小画像の反射率（対数値Ｒｓ）の最大値を記憶する最大値メモリ１３ｄと、縮小画像の反射率（対数値Ｒｓ）の最小値を記憶する最小値メモリ１３ｅと、元画像のＲＧＢ値から生成された輝度信号Ｙを記憶する輝度値メモリ１３ｆと、元画像の反射率（反射光成分、対数値Ｒ）を記憶する対数値メモリ１３ｇと、正規化された反射率である正規化反射率ｒｅｆｌｅを記憶するｒｅｆｌｅ値メモリｈと、レティネックス処理による補正がなされた出力画像データを記憶する出力画像メモリ１３ｉとを備えている。なお、「ｓ」は、縮小画像についての接尾辞であり、元画像については、接尾辞を付さないものとする。
【０１１７】
元画像メモリ１３ａは、ＰＣ２、デジタルカメラ２１、及び外部メディア２０から、それぞれ、Ｉ／Ｆ１７、Ｉ／Ｆ１８、及び外部メディアスロット１９を介してプリンタ１へ入力された画像データであって、上記した元画像データを記憶するものである。この元画像メモリ１３ａに記憶される元画像データは、新たにプリンタ１に画像データが入力されると、入力された画像データで更新される。
【０１１８】
縮小レティネックス画像メモリ１３ｂは、元画像を縮小した縮小画像の輝度信号Ｙｓについて、レティネックス処理において求められる反射率、即ち対数値Ｒｓを記憶するメモリである。
【０１１９】
元画像を縮小する方法としては、縮小する画像の画素に対応する元画像の位置に最も近い画素の値をサンプリングし、そのサンプリングした画素の値をそのまま用いる最近傍（Nearest  Neighbor）法や、縮小する画像の画素に対応する元画像の位置の周囲の画素を用いて補間演算を行うバイキュービック法や、平均画素法などが知られている。画質より処理速度を優先する場合は、最近傍法が用いられ、処理速度より画質を優先する場合は、バイキュービック法や、平均画素法が用いられる。
【０１２０】
これらいずれかの方法により元画像が縮小され、その縮小画像の各画素（ピクセル）について対数値Ｒｓが上述の（２）式を用いて演算され、縮小画像の各画素の座標（ｘ，ｙ）に対応して縮小レティネックス画像メモリ１３ｂに記憶される。この縮小レティネックス画像メモリ１３ｂの値は、新たな補正処理の実行時に更新される。尚、対数値Ｒｓの演算は、上記（２）式における元画像の信号強度値Ｉ（ｘ，ｙ）に、輝度信号Ｙｓ（ｘ，ｙ）を用いて実行される。
【０１２１】
ヒストグラムメモリ１３ｃは、縮小レティネックス画像メモリ１３ｂに記憶される反射率（対数値Ｒｓ）について、レベルが同じものの画素数を集計した集計結果を記憶するものであり、各レベルのそれぞれに対応して各１のエリアが設けられている。言い換えれば、対数値Ｒｓのヒストグラムを形成するためのメモリである。
【０１２２】
ヒストグラムメモリ１３ｃの各エリア数及び各エリアにて管理する対数値Ｒｓのレベルは、新たに元画像が入力されることにより、ＣＰＵ１１によって設定される。具体的には、縮小画像を構成する全画素について対数値Ｒｓが求められると、求められた対数値Ｒｓの最小値と最大値とに基づいてヒストグラムの生成範囲が決定され、また、同じレベルとして集計するレベル範囲（管理するレベル）が選定される。これにより、ヒストグラムメモリ１３ｃのエリア数と各エリアのレベルが設定される。
【０１２３】
縮小レティネックス画像メモリ１３ｂに記憶される各対数値Ｒｓが、いずれのレベルに属するかが判断されると、その判断された対数値Ｒｓのレベルに対応するエリアに記憶される値に１が加算される。これにより、各レベル毎に、画素数が集計される。
【０１２４】
縮小レティネックス画像メモリ１３ｂに記憶される全ての対数値Ｒｓのレベル判断が完了すると、このヒストグラムメモリ１３ｃに記憶される集計結果から、メジアン値Ｍが検出され、上限値Ｕと下限値Ｄとが決定される。プリンタ１では、このヒストグラムメモリ１３ｃにおける集計結果にて決定された下限値Ｄから上限値Ｕに至る範囲が、元画像メモリ１３ａに記憶される元画像データのクリップ範囲とされる。
【０１２５】
このように、プリンタ１では、縮小画像から形成されたヒストグラムで元画像のクリップ範囲を決定することができるので、かかるクリップ範囲を決定するために、元画像の全画素についてのヒストグラムを生成する必要が無く、処理時間を短縮することができる。
【０１２６】
最大値メモリ１３ｄ及び最小値メモリ１３ｅは、ヒストグラムの生成に際し、縮小レティネックス画像メモリ１３ｂに記憶される対数値Ｒｓの内の、最大値のものと、最小値のものとをそれぞれ記憶するメモリである。かかる最大値メモリ１３ｄ及び最小値メモリ１３ｅには、元画像のレティネックス処理を行う補正処理の開始に際し、０が書き込まれる。対数値Ｒｓが算出されると、最大値メモリ１３ｄに記憶される値は、その算出された（縮小レティネックス画像メモリ１３ｂに記憶された）対数値Ｒｓと比較される。そして、その比較結果に基づいて、より大きな対数値Ｒｓにて、最大値メモリ１３ｄに先に記憶される値が更新される。
【０１２７】
また、最大値メモリ１３ｄに記憶される値よりも、比較した対数値Ｒｓの方が小さかった場合には、その対数値Ｒｓは、最小値メモリ１３ｅに記憶される値と比較される。そして、その比較結果に基づいて、より小さな対数値Ｒｓにて最小値メモリ１３ｅに記憶される先の値は更新される。
【０１２８】
その結果、最大値メモリ１３ｄには、縮小レティネックス画像メモリ１３ｂに記憶される対数値Ｒｓの内の最大値が保持され、最小値メモリ１３ｅには、縮小レティネックス画像メモリ１３ｂに記憶される対数値Ｒｓの内の最小値が保持される。
【０１２９】
この最大値メモリ１３ｄ及び最小値メモリ１３ｅに記憶される最大値および最小値は、ヒストグラム生成のタイミングでＣＰＵ１１に参照され、かかる最大値及び最小値に基づいて、ヒストグラム生成の範囲がＣＰＵ１１にて決定される。
【０１３０】
輝度値メモリ１３ｆは、ＲＧＢ値から（５）式に従って算出された輝度信号Ｙ（Ｙｓ）と色信号Ｃｂ，Ｃｒを記憶するメモリである。プリンタ１では、上記したように、入力された元画像の元画像データ（ＲＧＢ値）に直接レティネックス処理を行うのではなく、ＲＧＢ値を輝度信号Ｙに変換してからレティネックス処理を行うように構成されている。ＲＧＢ値から変換された輝度信号Ｙなどは、変換元のＲＧＢ値の座標（ｘ，ｙ）に対応してこの輝度値メモリ１３ｆに記憶される。そして、この輝度値メモリ１３ｆに記憶される輝度信号Ｙや輝度信号Ｙｓに基づいて、反射率や出力値Ｏｕｔｙが生成される。
【０１３１】
ここで、プリンタ１は、出力画像の出力値Ｏｕｔｙを生成するために、縮小画像と元画像との両者から、合計２回、反射率（対数値Ｒｓ及び対数値Ｒ）を算出する。反射率の算出に際しては、算出元の画像データ（縮小画像データ、元画像データ）のＲＧＢ値から輝度信号Ｙｓまたは輝度信号Ｙがそれぞれ生成され、この輝度値メモリ１３ｆに書き込まれる。元画像の輝度信号Ｙの生成に先立って、縮小画像の輝度信号Ｙｓは生成され、輝度値メモリ１３ｆに書き込まれる。輝度値メモリ１３ｆに記憶された縮小画像の輝度信号Ｙｓ等は、その後、元画像の輝度信号Ｙが生成されるタイミングで、０クリアされ、新たに、元画像データのＲＧＢ値から生成された輝度信号Ｙなどが輝度値メモリ１３ｆに記憶される。
【０１３２】
対数値メモリ１３ｇは、元画像データから算出された反射率である対数値Ｒを記憶するメモリである。具体的には、輝度値メモリ１３ｆに記憶された元画像データの輝度信号Ｙを用いて、各画素に対応する対数値Ｒ（ｘ，ｙ）が、上述の（２）式に従って算出され、算出された対数値Ｒ（ｘ，ｙ）は、その座標に対応して対数値メモリ１３ｇに記憶される。この対数値メモリ１３ｇの値は、新たな補正処理の実行時に更新される。尚、上記（２）式における元画像の信号強度値Ｉ（ｘ，ｙ）は、輝度信号Ｙ（ｘ，ｙ）を用いて演算される。
【０１３３】
ｒｅｆｌｅ値メモリ１３ｈは、対数値メモリ１３ｇに記憶される対数値Ｒが正規化された正規化反射率ｒｅｆｌｅを記憶するメモリである。このｒｅｆｌｅ値メモリ１３ｈに記憶される正規化反射率ｒｅｆｌｅは、対数値メモリ１３ｇに記憶される各対数値Ｒ（ｘ，ｙ）を、（３）式に従って下限値０．３〜上限値１．３の範囲に正規化したものである。対数値Ｒ（ｘ，ｙ）、即ち対数値Ｒの各々に対応して、各１ずつの正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が生成され、その座標に対応してこのｒｅｆｌｅ値メモリ１３ｈに書き込まれる。このｒｅｆｌｅ値メモリ１３ｈに記憶される正規化反射率ｒｅｆｌｅは、出力値Ｏｕｔｙを生成するタイミングでｒｅｆｌｅ値メモリ１３ｈから読み出され、読み出された正規化反射率ｒｅｆｌｅに対応するテーブル（テーブル１２ｃ〜１２ｅ）が、出力値Ｏｕｔｙ抽出元のテーブルとして選定される。
【０１３４】
出力画像メモリ１３ｉは、印刷部１５に出力する出力画像データを記憶するメモリである。この出力画像メモリ１３iに記憶される出力画像データは、補正処理によって元画像から生成された出力値Ｏｕｔであり、出力画像を形成する各画素のＲＧＢ値である。上記したように、本実施形態では、各テーブル１２ｃ〜１２ｅから元画像の輝度信号Ｙ（ｘ，ｙ）に応じた出力値Ｏｕｔｙが抽出される。このテーブル１２ｃ〜１２ｅから抽出される出力値Ｏｕｔｙ値は、輝度信号Ｙであるので、必要に応じて線形補間演算などが行われた後、以下に示す（６）式に従って、ＲＧＢ値に変換され、出力値Ｏｕｔとされる。
【０１３５】
【数６】
2008118183.tif 000008
【０１３６】
元画像の各輝度信号Ｙ（ｘ，ｙ）の各々に対応して、各１ずつの出力値Ｏｕｔｙ（ｘ，ｙ）が算出されており、出力値Ｏｕｔについても、各出力値Ｏｕｔｙ（ｘ，ｙ）のそれぞれに対応する出力値Ｏｕｔｙ（ｘ，ｙ）が生成される。そして、生成された出力値Ｏｕｔ（ｘ，ｙ）が、その座標に対応して、出力画像メモリ１３ｉに書き込まれる。記憶された出力値Ｏｕｔ（出力画像データ）は、印刷を実行するタイミングでこの出力画像メモリ１３ｉから読み出され、印刷部１５へ出力される。印刷部へ出力された出力値Ｏｕｔは、出力画像メモリ１３ｉから消去される。
【０１３７】
次に、図５と図６とのフローチャートを参照して、上記のように構成されたプリンタ１で実行される補正処理について説明する。補正処理は、上記した画像処理プログラム１２ａによって実行される処理であり、入力された画像データ（元画像データ）にレティネックス処理を行って出力画像データを生成するものである。
【０１３８】
この補正処理では、まず、元画像メモリ１３ａから元画像データを読み出し（Ｓ１）、縮小画像を形成すると共にその形成された縮小画像の各ＲＧＢ値を輝度信号Ｙｓと色信号Ｃｂ，Ｃｒとに変換し、縮小画像の各ＲＧＢ値の座標（ｘ，ｙ）にそれぞれ対応させて輝度値メモリ１３ｆに書き込む（Ｓ２）。これにより、縮小画像の全画素に対応する輝度信号Ｙｓが輝度値メモリ１３ｆに記憶される。
【０１３９】
そして、輝度値メモリ１３ｆに記憶した縮小画像の輝度信号Ｙｓについて反射率（対数値Ｒｓ）を算出する。各画素の対数値Ｒｓ（ｘ，ｙ）は、（２）式の画素値Ｉ（ｘ，ｙ）に輝度信号Ｙｓ（ｘ，ｙ）を用いて算出する（Ｓ３）。つまり、座標（ｘ，ｙ）の注目画素を含むｍ×ｎの領域にガウスフィルタＦ（ｘ，ｙ）による畳み込み演算が行って、注目画素からの距離に応じた重みを加味しつつ平均された周辺画素の平均輝度値を求め、その平均輝度値にて注目画素の輝度信号Ｙｓ（ｘ，ｙ）を除したものの自然対数を求めることにより、注目画素の反射率である対数値Ｒｓ（ｘ，ｙ）を算出する。
【０１４０】
その後、算出した対数値Ｒｓ（ｘ，ｙ）を縮小レティネックス画像メモリ１３ｂに記憶し（Ｓ４）、記憶した対数値Ｒｓ（ｘ，ｙ）が最大値メモリ１３ｄに記憶される値よりも大きいかを判断する（Ｓ５）。対数値Ｒｓ（ｘ，ｙ）が最大値メモリ１３ｄに記憶される値よりも大きければ（Ｓ５：Ｙｅｓ）、算出した対数値Ｒｓ（ｘ，ｙ）を最大値メモリ１３ｄに記憶して、先に最大値メモリ１３ｄに記憶される値を更新する（Ｓ６）。また、Ｓ５の処理で確認した結果、対数値Ｒｓ（ｘ，ｙ）が最大値メモリ１３ｄに記憶される値よりも小さい場合には（Ｓ５：Ｎｏ）、その対数値Ｒｓを最小値メモリ１３ｅに記憶される値よりも小さいかを判断する（Ｓ７）。その結果、比較した対数値Ｒｓが最小値メモリ１３ｅに記憶される値よりも小さければ（Ｓ７：Ｙｅｓ）、その対数値Ｒｓを最小値メモリ１３ｅに記憶し、最小値メモリ１３ｅに先に記憶される値を更新する（Ｓ８）。
【０１４１】
Ｓ６またはＳ８の処理の後は、縮小画像の全画素について処理が終了したかを確認する（Ｓ９）。縮小画像についての対数値Ｒｓの生成と対数値Ｒｓの最大値と最小値とを判断するＳ３〜Ｓ８の処理は、１の注目画素毎（１の輝度信号Ｙｓ毎）に実行され、最終画素の輝度信号Ｙｓの処理が終了するまで、繰り返して実行される。従って、輝度値メモリ１３ｆからは、Ｓ３〜Ｓ８の処理の実行毎に、座標に従った順番で（先頭座標から最終座標へ向かうラスタ走査の順で）、輝度信号Ｙｓが読み出される。そして、Ｓ９の処理で確認した結果、全画素についての処理が終了していれば（Ｓ９：Ｙｅｓ）、縮小レティネックス画像メモリ１３ｂに記憶される対数値Ｒｓに対し、最大値メモリ１３ｄに記憶される最大値から最小値メモリ１３ｅに記憶される最小値までの範囲において、ヒストグラムを形成する（Ｓ１０）。
【０１４２】
その後、形成したヒストグラムからメジアン値Ｍを求め（Ｓ１１）、次いで、そのメジアン値Ｍとヒストグラムとから対数値Ｒｓのクリップ範囲（上限値Ｕと下限値Ｄ）を定める（Ｓ１２）。具体的には、メジアン値Ｍを中心に、メジアン値Ｍの上側において４５％の画素が含まれる点となる対数値Ｒｓを上限値Ｕとし、メジアン値Ｍの下側において４５％の画素が含まれる点となる対数値Ｒｓを下限値Ｄとし、メジアン値Ｍの上下に各４５％ずつの画素が所属する下限値Ｄ〜上限値Ｕの範囲をクリップ範囲とする。
【０１４３】
続いて、輝度値メモリ１３ｆを０クリアしてから（Ｓ１３）、元画像メモリ１３ａに記憶される元画像データの各ＲＧＢ値を輝度信号Ｙと色信号Ｃｂ，Ｃｒとに変換し、各ＲＧＢ値の座標（ｘ，ｙ）にそれぞれ対応させて輝度値メモリ１３ｆに書き込む（Ｓ１４）。その後、出力画像データを生成する出力値算出処理を実行してから（Ｓ１５）、その出力値算出処理（Ｓ１５）において元画像の全画素についての処理が終了したかを確認し（Ｓ１６）、元画像の全画素が出力値Ｏｕｔに変換されていなければ（Ｓ１６：Ｎｏ）、その処理をＳ１５の処理に移行して、元画像の全画素について出力値Ｏｕｔが生成されるまで繰り返して出力値算出処理（Ｓ１５）を実行し、一方、元画像の全画素が出力値Ｏｕｔに変換されていれば（Ｓ１６：Ｙｅｓ）、出力画像データの生成は完了であるので、この補正処理を終了する。
【０１４４】
一方、Ｓ７の処理で確認した結果、対数値Ｒｓが最小値メモリ１３ｅに記憶される値以上の値であった場合には（Ｓ７：Ｎｏ）、最小値メモリ１３ｅに記憶される値を更新する必要がないので、その処理をＳ９の処理に移行する。また、Ｓ９の処理で確認した結果、縮小画像の全画素について対数値Ｒｓの生成や、その対数値Ｒｓの最小値、最大値の判断を行う処理が終了していなければ（Ｓ９：Ｎｏ）、その処理をＳ３の処理に移行し、最終画素の輝度信号Ｙに対する処理が終了するまで、繰り返してＳ３〜Ｓ９の処理を実行する。
【０１４５】
図６は、図５の補正処理の中で実行される出力値算出処理（Ｓ１５）のフローチャートである。尚、出力値算出処理（Ｓ１５）は、１の注目画素毎（１の輝度信号Ｙ毎）に実行されるように構成されており、輝度値メモリ１３ｆからは、出力値算出処理（Ｓ１５）の実行毎に、座標に従った順番で（先頭座標から最終座標へ向かうラスタ走査の順で）、輝度信号Ｙが読み出され、最終画素の輝度信号Ｙの処理が終了するまで、繰り返して実行される。
【０１４６】
この出力値算出処理（Ｓ１５）では、まず、輝度値メモリ１３ｆに記憶される輝度信号Ｙについて反射率（対数値Ｒ）を算出する。上記したように、輝度信号Ｙは、元画像の各画素のそれぞれについて求められて、その座標（ｘ，ｙ）に対応して輝度値メモリ１３ｆに記憶されている。各画素の対数値Ｒ（ｘ，ｙ）は、（２）式の画素値Ｉ（ｘ，ｙ）に各輝度信号Ｙ（ｘ，ｙ）を用いて算出する（Ｓ２１）。
【０１４７】
次に、算出した対数値Ｒを対数値メモリ１３ｇに記憶してから（Ｓ２２）、対数値メモリ１３ｇに記憶した対数値Ｒについて、Ｓ１２の処理で設定した下限値Ｄ〜上限値Ｕの範囲を０．３〜１．３とする正規化をおこなって、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）を算出する（Ｓ２３）。
【０１４８】
この正規化は、対数値Ｒ（ｘ，ｙ）≦Ｄである場合には、０．３とし、また、対数値Ｒ（ｘ，ｙ）≧Ｕである場合には、１．３とすると共に０．３＜対数値Ｒ（ｘ，ｙ）＜１．３である場合には、（３）式に従って、対数値Ｒを正規化する。尚、本実施形態においては、（３）式におけるｄ及びｕは、それぞれ０．３と１．３となる。
【０１４９】
次に、算出した正規化反射率ｒｅｆｌｅ（ｘ，ｙ）を、その座標に対応してｒｅｆｌｅ値メモリ１３ｈに記憶してから（Ｓ２４）、その正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が１．３であるかを確認する（Ｓ２５）。ここで、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が１．３でなければ（Ｓ２５：Ｎｏ）、正規化反射率ｒｅｆｌｅは、１．３未満であるので、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が０．８を超えているかを確認する（Ｓ２６）。つまり、このＳ２６の処理により、正規化反射率ｒｅｆｌｅが０．８を超え１．３未満の範囲にあるかが判断される。そして、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が０．８を超えている場合には（Ｓ２６：Ｙｅｓ）、輝度値メモリ１３ｆから読み出した輝度信号Ｙ（ｘ，ｙ）に対応する出力値Ｏｕｔｙを、上限値テーブル１２ｃと中央値テーブル１２ｄとのそれぞれから読み出す（Ｓ２７）。上限値テーブル１２ｃから読み出した出力値ＯｕｔｙをＯｕ、中央値テーブル１２ｄから読み出した出力値ＯｕｔｙをＯｃとする。
【０１５０】
続いて、読み出した出力値Ｏｕ，Ｏｄを、（７）式に従って、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）の値に基づいた線形補間をして、輝度信号Ｙ（ｘ，ｙ）に対応する出力値Ｏｕｔｙを求める（Ｓ２８）。
【０１５１】
【数７】
2008118183.tif 000009
【０１５２】
そして、求めた出力値Ｏｕｔｙを、（６）式に従ってＲＧＢ値に逆変換して出力値Ｏｕｔを生成し、生成元の輝度信号Ｙの座標（ｘ，ｙ）に対応させて出力画像メモリ１３ｉに書き込んで（Ｓ２９）、この出力値算出処理を終了する。
【０１５３】
一方、Ｓ２５の処理で確認した結果、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が１．３であれば（Ｓ２５：Ｙｅｓ）、輝度信号Ｙ（ｘ，ｙ）に対応する出力値Ｏｕｔｙを上限値テーブル１２ｃから読み出して（Ｓ３０）、その処理をＳ２９の処理に移行する。
【０１５４】
また、Ｓ２６の処理で確認した結果、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が０．８を超えていなければ（Ｓ２６：Ｎｏ）、正規化反射率ｒｅｆｌｅが０．８であるかを確認し（Ｓ３１）、正規化反射率ｒｅｆｌｅが０．８でなければ（Ｓ３１：Ｎｏ）、正規化反射率ｒｅｆｌｅは、０．８未満であるので、更に、０．３を超えているかを確認する（Ｓ３２）。つまり、このＳ３２の処理により、正規化反射率ｒｅｆｌｅが０．３を超え０．８未満の範囲にあるかが判断される。ここで、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が０．３を超えていれば（Ｓ３２：Ｙｅｓ）、輝度値メモリ１３ｆから読み出した輝度信号Ｙ（ｘ，ｙ）に対応する出力値Ｏｕｔｙを、下限値テーブル１２ｅと中央値テーブル１２ｄとのそれぞれから読み出す（Ｓ３３）。下限値テーブル１２ｅから読み出した出力値ＯｕｔｙをＯｄとする。次いで、読み出した出力値Ｏｃ，Ｏｄを、（８）式に従って、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）の値に基づいた線形補間をして、輝度信号Ｙ（ｘ，ｙ）に対応する出力値Ｏｕｔｙを求める（Ｓ３４）。その後、その処理をＳ２９の処理に移行する。
【０１５５】
【数８】
2008118183.tif 000010
【０１５６】
更に、Ｓ３１の処理で確認した結果、正規化反射率ｒｅｆｌｅが０．８であれば（Ｓ３１：Ｙｅｓ）、輝度信号Ｙに対応する出力値Ｏｕｔｙを中央値テーブル１２ｄから読み出して（Ｓ３５）、Ｓ２９の処理に移行する。
【０１５７】
また、Ｓ３２の処理で確認した結果、正規化反射率ｒｅｆｌｅ（ｘ，ｙ）が、０．３を超えていなければ（Ｓ３２：Ｎｏ）、正規化反射率ｒｅｆｌｅは０．３であるので、輝度信号Ｙに対応する出力値Ｏｕｔｙを下限値テーブル１２ｅから読み出して（Ｓ３６）、Ｓ２９の処理に移行する。
【０１５８】
各テーブル１２ｃ〜１２ｅに記憶される出力値Ｏｕｔｙを生成する際に用いられた正規化反射率ｒｅｆｌｅは、１．３、０．８、０．３であるので、算出された正規化反射率ｒｅｆｌｅが１．３、０．８、０．３の場合には、線形補間演算を行う必要がない。Ｓ３０、Ｓ３５、Ｓ３６の処理は、算出された各画素の正規化反射率ｒｅｆｌｅが、１．３、０．８、０．３の場合にそれぞれ実行されるものであり、従って、線形補間演算を行うステップＳ２８，Ｓ３４を経由することなく、Ｓ２９の処理に移行するようになっている。このため、Ｓ３０、Ｓ３５、Ｓ３６を経由して実行されるＳ２９の処理では、各テーブル１２ｃ〜１２ｅから読み出された出力値Ｏｕｔｙそのものが、出力値Ｏｕｔに変換される。
【０１５９】
以上説明したように、プリンタ１では、テーブルデータを参照することによってガンマ補正演算を行うことなく、入力された元画像をレティネックス処理して出力画像を生成することができるので、画像処理を高速化することができる。その上、元画像が最も多く有する正規化反射率ｒｅｆｌｅの値にて形成されたテーブルデータ（中央値テーブル１２ｄ）を備えているので、テーブルデータを参照して作成される出力値Ｏｕｔを正確なものとすることができ、ガンマ補正演算によらずに出力画像を生成しても、画質を低下させることがない。
【０１６０】
以上、実施形態に基づいて本発明を説明したが、本発明は上記各実施形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０１６１】
例えば、上記実施形態では、色表現系はＲＧＢ形式としたが、ＲＧＢ形式以外の他の色表現系、例えば、ＣＭＹ形式などに本発明を適用してもよい。また、画像処理プログラム１２ａは、正規化反射率ｒｅｆｌｅを算出し、この正規化反射率ｒｅｆｌｅにて、参照するテーブルを選定した。また、各テーブル１２ｃ〜１２ｅは、正規化反射率ｒｅｆｌｅをパラメータとして形成された。これに代えて、算出した反射率Ｒ（０を除く）を用いて形成されたテーブルを選定するようにしても良い。
【０１６２】
また、上記実施形態では、本発明の画像処理プログラムは、プリンタ１に組み込まれたＣＰＵ１１により実行されるものとしたが、パーソナルコンピュータにアプリケーションとして供給され、パーソナルコンピュータに組み込まれたＣＰＵなどにより実行されるようにしてもよい。
【０１６３】
また、レティネックス処理は、ＳＳＲ（シングルスケール法）であってもＭＳＲ（マルチスケール法）であってもよい。
【０１６４】
また、上記実施形態の画像処理では、ＣＰＵ１１によりレティネックス処理などを行うものとしたが、ＤＳＰ（Digital Signal Processor）により行ってもよい。ＤＳＰを用いると、より高速に積和演算などの処理を実行することができる。
【０１６５】
加えて、上記実施形態では、演算された輝度信号および色信号は、ＲＡＭ１３（輝度値メモリ１３ｆ）に一時記憶するように構成しているが、記憶容量を削減したい場合には、これらを記憶せずに、必要な場合、元画像メモリから画素値（ＲＧＢ値）を読み出し、その都度、演算で求めてもよい。
【０１６６】
更に、反射率である対数値Ｒについて正規化を行う正規化範囲（クリップ範囲）は、ヒストグラム形成してそのメジアン値を基準に求めたが、このメジアン値に代えて、モード値や平均値を用いても良い。更には、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じであるとは、完全同一であることも含む概念である。また、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが同じ場合には、対数値Ｒは０となるが、例えば、ヒストグラム形成した場合の対数値Ｒのメジアン値、モード値、平均値は、必ずしも０とはならず、０から、ずれた値となる。このずれた値を網羅する範囲が、注目画素の画素信号の値と注目画素周辺の周辺画素の平均輝度値とが略同じであるとする領域である。
【０１６７】
また、上記実施形態においては、正規化反射率ｒｅｆｌｅの全領域を網羅することができるように、プリンタ１には、３つのテーブルを設けたが、必ずしも、正規化反射率ｒｅｆｌｅの全領域を網羅するテーブルを有する必要はなく、少なくとも中央値テーブル１２ｄを備える構成として、テーブル参照とガンマ補正演算とを併用して出力値Ｏｕｔを生成するものとしても良い。かかる場合には、プリンタ１および画像処理プログラム１２ａを、四捨五入、切り捨て、切り上げで正規化反射率ｒｅｆｌｅが０．８となる範囲について中央値テーブル１２ｄを用いた出力値Ｏｕｔの生成を行い、それ以外の範囲については、ガンマ補正演算を行って出力値Ｏｕｔを生成するように構成しても良い。多くの画素の対数値Ｒは０となる（０近傍に集中する）ので、対数値Ｒ＝０に対応するテーブル（中央値テーブル１２ｄ）を有していれば、多くの画素についてはテーブル参照にて出力値Ｏｕｔを生成することができる。従って、中央値テーブル１２ｄに対するテーブル参照にて出力値Ｏｕｔを生成するだけでも、十分に演算速度を高速化することができる。
【０１６８】
また、画像処理プログラム１２ａが参照するテーブルは、必ずしも３つである必要はなく、上記したように、中央値テーブル１２ａの１つであっても良く、４つ以上であっても良い。
【図面の簡単な説明】
【０１６９】
【図１】本発明の実施形態の画像処理プログラムを搭載したプリンタの電気的構成を示すブロック図である。
【図２】プリンタに設けられた上限値テーブル、中央値テーブル、下限値テーブルに記憶される内容を説明する図である。
【図３】元画像データから求められる対数値Ｒと元画像との関係を説明する図である。
【図４】図３に示した画像を含む一般的な画像についての対数値Ｒのヒストグラムを示した図である。
【図５】プリンタにおいて、画像処理プログラムにより行われる補正処理を示すフローチャートである。
【図６】補正処理の中で実行される出力値算出処理のフローチャートである。
【図７】従来のレティネックス処理を説明する図である。
【符号の説明】
【０１７０】
１                        プリンタ（画像処理装置）
２                        パーソナルコンピュータ
１１                      ＣＰＵ
１２                      ＲＯＭ（記憶手段）
１２ａ                    画像処理プログラム
１２ｃ                    上限値テーブル（記憶手段の一部）
１２ｄ                    中央値テーブル（記憶手段の一部）
１２ｅ                    下限値テーブル（記憶手段の一部）
Ｓ１１，Ｓ１２            範囲決定ステップ、範囲決定手段
Ｓ２１，Ｓ２３            反射光成分算出ステップ、反射光成分算出手段
Ｓ２３                    正規化ステップ、正規化手段
Ｓ２７〜Ｓ３６            画素信号生成ステップ、画素信号生成手段
Ｓ２７，Ｓ３３，Ｓ３０，Ｓ３５，Ｓ３６        抽出ステップ、抽出手段
Ｓ２８，Ｓ２９，Ｓ３０，Ｓ３４，Ｓ３５，Ｓ３６    抽出生成ステップ、抽出生成手段
【図１】
2008118183.tif 000011
【図２】
2008118183.tif 000012
【図３】
2008118183.tif 000013
【図４】
2008118183.tif 000014
【図５】
2008118183.tif 000015
【図６】
2008118183.tif 000016
【図７】
2008118183.tif 000017