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