(57)【特許請求の範囲】
【請求項１】
与えられた画像について輝度調整を行う画像処理装置であって、
それぞれ所定の輝度値をもつ画素の配列からなる調整前画像を格納する調整前画像格納手段と、
オペレータの設定操作に基づいて、入力輝度値を出力輝度値に変換するためのグローバルトーンカーブを設定するグローバルトーンカーブ設定手段と、
前記調整前画像を構成する個々の画素をそれぞれ着目画素として、着目画素を含むその近傍の領域にそれぞれ参照領域を設定し、各参照領域内において着目画素の周囲に位置する周囲画素の輝度値を参照して、各着目画素のそれぞれについて輝度値を変数とする個別補正関数を設定する個別補正関数設定手段と、
個々の着目画素のそれぞれについて、前記グローバルトーンカーブを前記個別補正関数に基づいて補正することによりローカルトーンカーブを定義し、当該ローカルトーンカーブを用いて、個々の着目画素の輝度値を変換する輝度値変換手段と、
前記輝度値変換手段によって変換された輝度値をもつ画素の配列を調整後画像として格納する調整後画像格納手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値が周囲画素の代表輝度値よりも小さい場合は、当該着目画素の輝度値をより小さくし、着目画素の輝度値が周囲画素の代表輝度値よりも大きい場合は、当該着目画素の輝度値をより大きくし、着目画素の輝度値が周囲画素の代表輝度値に等しい場合は、当該着目画素の輝度値をそのままとする個別補正関数を設定することを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値が周囲画素の代表輝度値よりも小さい場合は、当該着目画素の輝度値をより大きくし、着目画素の輝度値が周囲画素の代表輝度値よりも大きい場合は、当該着目画素の輝度値をより小さくし、着目画素の輝度値が周囲画素の代表輝度値に等しい場合は、当該着目画素の輝度値をそのままとする個別補正関数を設定することを特徴とする画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置において、
個別補正関数設定手段が、参照領域内の周囲画素の輝度値の平均値を当該周囲画素の代表輝度値とすることを特徴とする画像処理装置。
【請求項５】
請求項２または３に記載の画像処理装置において、
個別補正関数設定手段が、参照領域内の周囲画素の輝度値について、着目画素に距離的に近い周囲画素ほど大きな重みを付与して求めた加重平均値を当該周囲画素の代表輝度値とすることを特徴とする画像処理装置。
【請求項６】
請求項２〜５のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、参照領域内の周囲画素の代表輝度値を求める際に、当該参照領域内の着目画素の輝度値を周囲画素の輝度値の１つとして取り扱うことを特徴とする画像処理装置。
【請求項７】
請求項１に記載の画像処理装置において、
個別補正関数設定手段が、参照領域内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、これらヒストグラムを参照して、各着目画素のそれぞれについて輝度値を補正するための個別補正関数を設定することを特徴とする画像処理装置。
【請求項８】
請求項１に記載の画像処理装置において、
個別補正関数設定手段が、調整前画像を複数の分割領域に分けて認識し、個別補正関数を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる態様で輝度値を参照して個別補正関数を設定することを特徴とする画像処理装置。
【請求項９】
請求項８に記載の画像処理装置において、
個別補正関数設定手段が、調整前画像を、空間周波数が所定の基準以上となるテクスチャ領域と空間周波数が前記基準未満となるグラデーション領域とに分けて認識し、個別補正関数を設定する際に、前記テクスチャ領域に位置する周囲画素と前記グラデーション領域に位置する周囲画素とについて、それぞれ異なる態様で輝度値を参照して個別補正関数を設定することを特徴とする画像処理装置。
【請求項１０】
請求項１に記載の画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値と各周囲画素の輝度値とを比較し、両者の差が小さい周囲画素ほど大きな重みづけをした参照を行うことにより、個別補正関数を設定することを特徴とする画像処理装置。
【請求項１１】
請求項１に記載の画像処理装置において、
グローバルトーンカーブ設定手段が、０≦Ｌin≦Ｍ（但し、Ｍは輝度値の最大値）なる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるグローバルトーンカーブを設定する機能を有し、
個別補正関数設定手段が、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、所定の補正増減率Ｃを縦軸にとって、入力輝度値Ｌinと補正増減率Ｃとの関係を示すグラフによって表現される個別補正関数を設定する機能を有し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値を、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに応じて増減する補正を行うことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置において、
個別補正関数設定手段が、補正増減率Ｃとして、負の数値Ｋ１および正の数値Ｋ２を設定して、Ｋ１≦Ｃ≦Ｋ２なる条件を満たす範囲内の値を用いることを特徴とする画像処理装置。
【請求項１３】
請求項１２に記載の画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ輝度値の最大値Ｍを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ０を下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項１４】
請求項１２に記載の画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ輝度値の最大値Ｍを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ０を下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項１５】
請求項１３または１４に記載の画像処理装置において、
個別補正関数設定手段が、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数を設定し、
輝度値変換手段が、任意の横軸座標Ｌに位置するグローバルトーンカーブ上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブを定義し、補正増減率Ｃの絶対値を|Ｃ|としたときに、Ｃ＞０，Ｌold ＜Ｌの場合は、Ｌnew ＝Ｌold ＋（Ｌ−Ｌold ）×|Ｃ|なる式に基づいて、Ｃ＞０，Ｌold ＞Ｌの場合は、Ｌnew ＝Ｌold ＋（Ｍ−Ｌold ）×|Ｃ|なる式に基づいて、Ｃ＜０，Ｌold ＜Ｌの場合は、Ｌnew ＝Ｌold −Ｌold ×|Ｃ|なる式に基づいて、Ｃ＜０，Ｌold ＞Ｌの場合は、Ｌnew ＝Ｌold −（Ｌold −Ｌ）×|Ｃ|なる式に基づいて、それぞれ修正を行うことにより、ローカルトーンカーブを定義することを特徴とする画像処理装置。
【請求項１６】
請求項１２に記載の画像処理装置において、
グローバルトーンカーブ設定手段が、オペレータの設定操作に基づいて、グローバルトーンカーブとともに、その上方に位置する上限カーブおよび下方に位置する下限カーブを設定することにより、合計３本のカーブを設定する機能を有し、前記上限カーブおよび前記下限カーブは、前記グローバルトーンカーブと同様に、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるようにし、
輝度値変換手段が、グローバルトーンカーブを前記上限カーブと前記下限カーブとの間に挟まれた領域の範囲内で補正することにより、ローカルトーンカーブを定義することを特徴とする画像処理装置。
【請求項１７】
請求項１６に記載の画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ上限カーブを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ下限カーブを下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項１８】
請求項１６に記載の画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ上限カーブを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ下限カーブを下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項１９】
請求項１７または１８に記載の画像処理装置において、
個別補正関数設定手段が、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数を設定し、
輝度値変換手段が、任意の横軸座標Ｌに位置するグローバルトーンカーブ上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブを定義し、補正増減率Ｃの絶対値を|Ｃ|、横軸座標Ｌにおける上限カーブの輝度値をＬupper、下限カーブの輝度値をＬlowerとしたときに、Ｃ＞０の場合は、Ｌnew ＝Ｌold ＋（Ｌupper−Ｌold ）×|Ｃ|なる式に基づいて、Ｃ＜０の場合は、Ｌnew ＝Ｌold −（Ｌold −Ｌlower）×|Ｃ|なる式に基づいて、それぞれ補正を行うことにより、ローカルトーンカーブを定義することを特徴とする画像処理装置。
【請求項２０】
請求項１２に記載の画像処理装置において、
グローバルトーンカーブ設定手段が、オペレータの設定操作に基づいて、グローバルトーンカーブとともに、第１制限カーブおよび第２制限カーブを設定することにより、合計３本のカーブを設定する機能を有し、前記第１制限カーブおよび前記第２制限カーブは、前記グローバルトーンカーブと同様に、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるようにし、
輝度値変換手段が、前記第１の制限カーブを越えない範囲内で、前記第１の制限カーブに近づける第１の補正方向に輝度値を増減する第１の補正と、前記第２の制限カーブを越えない範囲内で、前記第２の制限カーブに近づける第２の補正方向に輝度値を増減する第２の補正と、を選択的に行うことにより、ローカルトーンカーブを定義することを特徴とする画像処理装置。
【請求項２１】
請求項２０に記載の画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第１の補正方向に向けて修正する補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第２の補正方向に向けて修正する補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項２２】
請求項２０に記載の画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、前記個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第１の補正方向に向けて修正する補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第２の補正方向に向けて修正する補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うことを特徴とする画像処理装置。
【請求項２３】
請求項２１または２２に記載の画像処理装置において、
個別補正関数設定手段が、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数を設定し、
輝度値変換手段が、任意の横軸座標Ｌに位置するグローバルトーンカーブ上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブを定義し、横軸座標Ｌにおける第１制限カーブの輝度値をＬα、第２制限カーブの輝度値をＬβとしたときに、Ｃ＞０の場合は、Δａ＝|（Ｌα−Ｌold ）×Ｃ|なる式に基づいて定まる補正量Δａだけ、輝度値Ｌold を第１制限カーブに近づける方向に増減する補正を行い、Ｃ＜０の場合は、Δｂ＝|（Ｌβ−Ｌold）×Ｃ|なる式に基づいて定まる補正量Δｂだけ、輝度値Ｌold を第２制限カーブに近づける方向に増減する補正を行うことにより、ローカルトーンカーブを定義することを特徴とする画像処理装置。
【請求項２４】
請求項１２に記載の画像処理装置において、
個別補正関数設定手段が、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、
輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、参照領域内の第ｊ番目の周囲画素（但し、ｊ＝１，２，... ，Ｎ、ここでＮは参照領域内の周囲画素の総数）に対応させて第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフを配置し、配置した第ｊ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｊ番目の周囲画素の輝度値Ｌｊに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせるようにし、
合計Ｎ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定することを特徴とする画像処理装置。
【請求項２５】
請求項２４に記載の画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値と第ｊ番目の周囲画素の輝度値との差に基づいて、当該差が小さい周囲画素ほど大きな重みづけを行い、総和グラフを求める際に、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素についての重みを考慮した集計を行うことにより、個別補正関数を設定することを特徴とする画像処理装置。
【請求項２６】
請求項２５に記載の画像処理装置において、
着目画素の輝度値に対応する値が最大値をとり、輝度値Ｌが前記着目画素の輝度値から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を定義し、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素の輝度値Ｌｊに対応する前記重み関数Ｗ（Ｌ）の値Ｗｊを重みとして用いた集計を行うことにより、個別補正関数を設定することを特徴とする画像処理装置。
【請求項２７】
請求項１２に記載の画像処理装置において、
個別補正関数設定手段が、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、
参照領域内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、
輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、前記ヒストグラムにおける第ｋ番目の階級（但し、ｋ＝１，２，... ，Ｋ）に対応させて第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフを配置し、配置した第ｋ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｋ番目の階級の代表輝度値に一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせるようにし、
合計Ｋ組のグラフについて、それぞれの度数に応じた重みづけを行って集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定することを特徴とする画像処理装置。
【請求項２８】
請求項２７に記載の画像処理装置において、
第ｋ番目の階級の代表輝度値として、当該階級に属する範囲内の輝度値として予め設定されている所定の固定輝度値を用いることを特徴とする画像処理装置。
【請求項２９】
請求項２７に記載の画像処理装置において、
第ｋ番目の階級の代表輝度値として、当該階級に所属する周囲画素の平均輝度値を用いることを特徴とする画像処理装置。
【請求項３０】
請求項２７〜２９のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値と第ｋ番目の階級の代表輝度値との差に基づいて、当該差が小さい階級ほど大きな重みづけを行い、総和グラフを求める際に、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級についての重みを考慮した集計を行うことにより、個別補正関数を設定することを特徴とする画像処理装置。
【請求項３１】
請求項３０に記載の画像処理装置において、
着目画素の輝度値に対応する値が最大値をとり、輝度値Ｌが前記着目画素の輝度値から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を定義し、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級の代表輝度値Ｌｒｋに対応する前記重み関数Ｗ（Ｌ）の値Ｗｋを重みとして用いた集計を行うことにより、個別補正関数を設定することを特徴とする画像処理装置。
【請求項３２】
請求項２６または３１に記載の画像処理装置において、
着目画素の輝度値が所定の基準未満の場合に用いる重み関数Ｗ１（Ｌ）に比べて、着目画素の輝度値が所定の基準以上の場合に用いる重み関数Ｗ２（Ｌ）の方が、単調減少の割合が急峻となるようにすることを特徴とする画像処理装置。
【請求項３３】
請求項２６または３１に記載の画像処理装置において、
重み関数Ｗ（Ｌ）として、着目画素の輝度値の座標にピーク点が位置するガウス分布関数を用いることを特徴とする画像処理装置。
【請求項３４】
請求項３３に記載の画像処理装置において、
標準偏差σについて最大値σmaxおよび最小値σminを定め、着目画素の輝度値が周囲画素の代表輝度値以上の場合には、標準偏差σ＝σminとなるガウス分布関数を、着目画素の輝度値が周囲画素の代表輝度値未満の場合には、標準偏差σが、σmax ≧σ＞σminの範囲をとり、かつ、着目画素の輝度値が大きいほど小さくなるように設定されたガウス分布関数を、それぞれ重み関数Ｗ（Ｌ）として用いることを特徴とする画像処理装置。
【請求項３５】
請求項２４〜３４のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、調整前画像を複数の分割領域に分けて認識し、個別補正関数を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる局所調整関数ｆ（Ｌ）を用いた集計を行うことを特徴とする画像処理装置。
【請求項３６】
請求項３５に記載の画像処理装置において、
個別補正関数設定手段が、調整前画像を、空間周波数が所定の基準以上となるテクスチャ領域と空間周波数が前記基準未満となるグラデーション領域とに分けて認識し、個別補正関数を設定する際に、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）と、グラデーション領域用の局所調整関数ｆｇ（Ｌ）とを別個に設定し、前記テクスチャ領域に位置する周囲画素については、前記テクスチャ領域用の局所調整関数ｆｔ（Ｌ）を用い、前記グラデーション領域に位置する周囲画素については、前記グラデーション領域用の局所調整関数ｆｇ（Ｌ）を用いた集計を行うことを特徴とする画像処理装置。
【請求項３７】
請求項２４〜３６のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、総和グラフの縦軸を−１≦Ｃ≦＋１なる条件を満たす範囲内に規格化し、横軸の０≦Ｌ≦Ｍなる条件を満たす部分を抽出したものを、個別補正関数として設定することを特徴とする画像処理装置。
【請求項３８】
請求項２４〜３７のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、局所調整関数ｆ（Ｌ）として、調整値ｆ＝０に対応するグラフ上の点を回転中心点として、グラフを１８０°回転させたときに同一のグラフが得られるような点対称性をもった関数を設定することを特徴とする画像処理装置。
【請求項３９】
請求項２４〜３７のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、第ｊ番目の局所調整関数ｆｊ（Ｌ）を、「ｆｊ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｊ）／Ｍ）））−１」なるシグモイド関数、もしくは「ｆｊ（Ｌ）＝−（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｊ）／Ｍ）））＋１」なるシグモイド関数（但し、μは所定の勾配係数）を利用して定義することを特徴とする画像処理装置。
【請求項４０】
請求項２４〜３９のいずれかに記載の画像処理装置において、
個別補正関数設定手段が、集計用座標系上に、Ｎ組の周囲画素に対応させたＮ組の局所調整関数のグラフｆ１（Ｌ）〜ｆＮ（Ｌ）に加えて、着目画素に対応する局所調整関数のグラフを配置し、合計（Ｎ＋１）組のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定することを特徴とする画像処理装置。
【請求項４１】
請求項１〜４０のいずれかに記載の画像処理装置において、
輝度値変換手段が、個々の着目画素の輝度値変換に必要な部分についてのみ、ローカルトーンカーブを求める演算を行うことを特徴とする画像処理装置。
【請求項４２】
請求項１〜４１のいずれかに記載の画像処理装置において、
調整前画像格納手段が、横方向の画素数Ｓｘ、縦方向の画素数Ｓｙを有する矩形状の調整前画像を格納し、
個別補正関数設定手段が、予め設定されている分割数ｎを用いて、Ｓｘ／ｎもしくはＳｙ／ｎなる除算を行い、着目画素を中心に含み、前記除算の商に近い画素数に対応する長さを一辺とする正方形領域もしくは矩形領域を、当該着目画素についての参照領域として設定することを特徴とする画像処理装置。
【請求項４３】
請求項１〜４２のいずれかに記載の画像処理装置としてコンピュータを機能させるプログラム。
【請求項４４】
それぞれ所定の輝度値をもつ画素の配列からなる調整前画像について、輝度調整を行う輝度調整方法であって、
コンピュータが、前記調整前画像を構成する個々の画素をそれぞれ着目画素として抽出する着目画素抽出段階と、
コンピュータが、前記着目画素を含むその近傍の領域にそれぞれ参照領域を設定する参照領域設定段階と、
コンピュータが、前記参照領域内において前記着目画素の周囲に位置する周囲画素の輝度値を参照して、各着目画素のそれぞれについて輝度値を変数とする個別補正関数を設定する個別補正関数設定段階と、
コンピュータが、入力輝度値を出力輝度値に変換するための所定のグローバルトーンカーブに対して前記個別補正関数を用いた補正を行うことにより、個々の着目画素のそれぞれについてローカルトーンカーブを定義するローカルトーンカーブ定義段階と、
コンピュータが、前記ローカルトーンカーブを用いて、個々の着目画素の輝度値を変換する輝度値変換段階と、
コンピュータが、前記輝度値変換段階によって変換された輝度値をもつ画素の配列を調整後画像として出力する調整後画像出力段階と、
を有することを特徴とする画像の輝度調整方法。
【請求項４５】
請求項４４に記載の輝度調整方法において、
個別補正関数設定段階で、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、参照領域内の第ｊ番目の周囲画素（但し、ｊ＝１，２，... ，Ｎ、ここでＮは参照領域内の周囲画素の総数）に対応させて第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフを配置し、配置した第ｊ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｊ番目の周囲画素の輝度値Ｌｊに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる局所調整関数配置ステップと、
合計Ｎ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定する局所調整関数集計ステップと、
を行うことを特徴とする画像の輝度調整方法。
【請求項４６】
請求項４５に記載の輝度調整方法において、
局所調整関数集計ステップで、着目画素の輝度値と第ｊ番目の周囲画素の輝度値との差に基づいて、当該差が小さい周囲画素ほど大きな重みづけを行い、総和グラフを求める際に、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素についての重みを考慮した集計を行うことにより、個別補正関数を設定することを特徴とする画像の輝度調整方法。
【請求項４７】
請求項４４に記載の輝度調整方法において、
個別補正関数設定段階で、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、参照領域内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、前記ヒストグラムにおける第ｋ番目の階級（但し、ｋ＝１，２，... ，Ｋ）に対応させて第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフを配置し、配置した第ｋ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｋ番目の階級の代表輝度値に一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる局所調整関数配置ステップと、
合計Ｋ組のグラフについて、それぞれの度数に応じた重みづけを行って集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定する局所調整関数集計ステップと、
を行うことを特徴とする画像の輝度調整方法。
【請求項４８】
請求項４７に記載の輝度調整方法において、
局所調整関数集計ステップで、着目画素の輝度値と第ｋ番目の階級の代表輝度値との差に基づいて、当該差が小さい階級ほど大きな重みづけを行い、総和グラフを求める際に、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級についての重みを考慮した集計を行うことにより、個別補正関数を設定することを特徴とする画像の輝度調整方法。
【請求項４９】
請求項４５〜４８のいずれかに記載の輝度調整方法において、
局所調整関数配置ステップで、調整前画像を複数の分割領域に分けて認識し、個別補正関数を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる局所調整関数ｆ（Ｌ）を配置することを特徴とする画像の輝度調整方法。
【請求項５０】
請求項４９に記載の輝度調整方法において、
局所調整関数配置ステップで、調整前画像を、空間周波数が所定の基準以上となるテクスチャ領域と空間周波数が前記基準未満となるグラデーション領域とに分けて認識し、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）と、グラデーション領域用の局所調整関数ｆｇ（Ｌ）とを別個に設定し、前記テクスチャ領域に位置する周囲画素については前記テクスチャ領域用の局所調整関数ｆｔ（Ｌ）を配置し、前記グラデーション領域に位置する周囲画素については、前記グラデーション領域用の局所調整関数ｆｇ（Ｌ）を配置することを特徴とする画像の輝度調整方法。
【請求項５１】
請求項４４〜５０のいずれかに記載の輝度調整方法を利用して、与えられたカラー画像について輝度調整を行うカラー画像処理方法であって、
コンピュータが、三原色Ｒ，Ｇ，Ｂの各画素値をもつ画素の配列からなる調整前カラー画像を入力する調整前カラー画像入力段階と、
コンピュータが、前記調整前カラー画像を構成する個々の画素のもつ三原色Ｒ，Ｇ，Ｂの画素値を、輝度成分を示す画素値および色差成分を示す画素値に変換することにより、輝度値をもつ画素の配列からなる調整前画像を生成する調整前画像生成段階と、
コンピュータが、オペレータの設定操作に基づいて調整用パラメータを設定する調整用パラメータ設定段階と、
コンピュータが、前記調整用パラメータに基づいて、前記輝度調整方法を実行する輝度調整処理段階と、
コンピュータが、前記輝度調整処理段階によって得られた調整後画像を構成する個々の画素のもつ輝度値および前記色差成分を示す画素値を、三原色Ｒ，Ｇ，Ｂの画素値に変換することにより、三原色Ｒ，Ｇ，Ｂの各画素値をもつ画素の配列からなる調整後カラー画像を生成する調整後カラー画像生成段階と、
を有することを特徴とするカラー画像処理方法。
【請求項５２】
請求項５１に記載のカラー画像処理方法において、
調整用パラメータ設定段階で、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフとして、グローバルトーンカーブ、第１制限カーブ、第２制限カーブの３本のトーンカーブを設定し、
輝度調整処理段階で、前記グローバルトーンカーブに対して、前記第１制限カーブおよび前記第２制限カーブに基づく制限下での補正を行うことによりローカルトーンカーブの定義を行うことを特徴とするカラー画像処理方法。
【請求項５３】
請求項５１に記載のカラー画像処理方法において、
調整用パラメータ設定段階で、局所調整関数ｆ（Ｌ）を定義するためのパラメータを設定し、
輝度調整処理段階で、請求項４５〜４８のいずれかに記載の輝度調整方法を実行することを特徴とするカラー画像処理方法。
【請求項５４】
請求項５１に記載のカラー画像処理方法において、
調整用パラメータ設定段階で、重みづけを定義するためのパラメータを設定し、
輝度調整処理段階で、請求項４６または４８に記載の輝度調整方法を実行するようにし、局所調整関数集計ステップで、前記重みづけを定義するためのパラメータによって定義された重みを考慮した集計を行うことにより、個別補正関数を設定することを特徴とするカラー画像処理方法。
【請求項５５】
請求項４４〜５４のいずれかに記載の画像の輝度調整方法もしくはカラー画像処理方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像について輝度調整を行う画像処理装置に関し、特に、特有の輝度調整方法を採用した画像処理装置に関する。
【背景技術】
【０００２】
デジタル画像に対しては、コンピュータを用いた画像処理により様々な調整を施すことができる。たとえば、このような調整手法の典型例として知られているコントラスト調整は、画像の輝度を調整することにより画像全体の印象を変化させる手段として有効である。通常、画像のコントラスト調整は、入力輝度値を出力輝度値に変換するためのトーンカーブを設定することによって行われる。オペレータは、トーンカーブの形状を様々に変化させる調整操作を行うことにより、対象画像全体のコントラストを所望の形態に調整することができる。
【０００３】
最近のデジタルカメラは、三原色ＲＧＢの各色について、それぞれ８ビットを越える画素値（たとえば、１４ビット）をもつ表現力豊かなデジタル画像を撮影できる能力を備えてきており、ダイナミックレンジの広い高品質なデジタル画像が普及してきている。一方、多くの表示機器のダイナミックレンジは、依然として、各色８ビットもしくは１０ビット程度が一般的である。このため、表示時に高品質なデジタル画像のダイナミックレンジを圧縮する技術としても、輝度調整の技術は重要になってきている。
【０００４】
ただ、従来の一般的なコントラスト調整方法では、対象画像全体に共通のトーンカーブを適用して輝度値の変換を行うグローバル処理が行われるため、明るい部分と暗い部分とが共存した対象画像の場合、良好な輝度調整を行うことができないという問題がある。そこで、対象画像の局所的な特徴を反映して輝度調整を行う局所的な処理方法も提案されている。
【０００５】
たとえば、下記の特許文献１には、ダイナミックレンジを圧縮する画像処理を行う際に、人間の視覚に基づいた色独立性、色・明度の表現性を維持できるように、局所的な輝度値を参照した固有の変換式に基づく輝度補正処理を行う技術が開示されている。また、特許文献２には、自然景色画像に適したコントラスト調整方法として、画像を複数の部分領域に分割し、個々の部分領域ごとに求めた輝度値の局所ヒストグラムに基づいて輝度値の補正を行う技術が開示されている。
【０００６】
また、特許文献３には、個々の画素の明るさを調整する処理を高速化するために、個々の局所領域について求めた局所ヒストグラムの累積結果に基づいて明るさの変換関数を生成する技術が開示され、特許文献４には、明るさが連続する画像に対しても良好な明るさ補正を可能にするために、上限変換関数と下限変換関数とを設定し、両者間の比率を算出することにより明るさ変換を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４０３６３９１号公報
【特許文献２】特許第３９０２２６５号公報
【特許文献３】特開２０１１−０９７４６５公報
【特許文献４】特開２０１３−０３３４４６公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、対象画像全体に共通のトーンカーブを適用するグローバル処理を基本とした輝度調整方法には、大きな明暗差がある画像に対して良好な輝度調整を行うことができないという問題がある。一方、前掲の各特許文献に開示されているような局所的な処理を行う輝度調整方法の場合、個々の局所領域に関しては所望の輝度調整が可能であっても、画像全体の輝度を併せて調整することが困難であるという問題がある。
【０００９】
そこで本発明は、画像全体の輝度と局所的な輝度との双方を併せて調整することが容易な輝度調整方法を提供することを目的とし、また、当該輝度調整方法を採用した画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
(1)   本発明の第１の態様は、与えられた画像について輝度調整を行う画像処理装置において、
それぞれ所定の輝度値をもつ画素の配列からなる調整前画像を格納する調整前画像格納手段と、
オペレータの設定操作に基づいて、入力輝度値を出力輝度値に変換するためのグローバルトーンカーブを設定するグローバルトーンカーブ設定手段と、
調整前画像を構成する個々の画素をそれぞれ着目画素として、着目画素を含むその近傍の領域にそれぞれ参照領域を設定し、各参照領域内において着目画素の周囲に位置する周囲画素の輝度値を参照して、各着目画素のそれぞれについて輝度値を変数とする個別補正関数を設定する個別補正関数設定手段と、
個々の着目画素のそれぞれについて、グローバルトーンカーブを個別補正関数に基づいて補正することによりローカルトーンカーブを定義し、当該ローカルトーンカーブを用いて、個々の着目画素の輝度値を変換する輝度値変換手段と、
輝度値変換手段によって変換された輝度値をもつ画素の配列を調整後画像として格納する調整後画像格納手段と、
を設けるようにしたものである。
【００１１】
(2)   本発明の第２の態様は、上述した第１の態様に係る画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値が周囲画素の代表輝度値よりも小さい場合は、当該着目画素の輝度値をより小さくし、着目画素の輝度値が周囲画素の代表輝度値よりも大きい場合は、当該着目画素の輝度値をより大きくし、着目画素の輝度値が周囲画素の代表輝度値に等しい場合は、当該着目画素の輝度値をそのままとする個別補正関数を設定するようにしたものである。
【００１２】
(3)   本発明の第３の態様は、上述した第１の態様に係る画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値が周囲画素の代表輝度値よりも小さい場合は、当該着目画素の輝度値をより大きくし、着目画素の輝度値が周囲画素の代表輝度値よりも大きい場合は、当該着目画素の輝度値をより小さくし、着目画素の輝度値が周囲画素の代表輝度値に等しい場合は、当該着目画素の輝度値をそのままとする個別補正関数を設定するようにしたものである。
【００１３】
(4)   本発明の第４の態様は、上述した第２または第３の態様に係る画像処理装置において、
個別補正関数設定手段が、参照領域内の周囲画素の輝度値の平均値を当該周囲画素の代表輝度値とするようにしたものである。
【００１４】
(5)   本発明の第５の態様は、上述した第２または第３の態様に係る画像処理装置において、
個別補正関数設定手段が、参照領域内の周囲画素の輝度値について、着目画素に距離的に近い周囲画素ほど大きな重みを付与して求めた加重平均値を当該周囲画素の代表輝度値とするようにしたものである。
【００１５】
(6)   本発明の第６の態様は、上述した第２〜第５の態様に係る画像処理装置において、
個別補正関数設定手段が、参照領域内の周囲画素の代表輝度値を求める際に、当該参照領域内の着目画素の輝度値を周囲画素の輝度値の１つとして取り扱うようにしたものである。
【００１６】
(7)   本発明の第７の態様は、上述した第１の態様に係る画像処理装置において、
個別補正関数設定手段が、参照領域内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、これらヒストグラムを参照して、各着目画素のそれぞれについて輝度値を補正するための個別補正関数を設定するようにしたものである。
【００１７】
(8)   本発明の第８の態様は、上述した第１の態様に係る画像処理装置において、
個別補正関数設定手段が、調整前画像を複数の分割領域に分けて認識し、個別補正関数を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる態様で輝度値を参照して個別補正関数を設定するようにしたものである。
【００１８】
(9)   本発明の第９の態様は、上述した第８の態様に係る画像処理装置において、
個別補正関数設定手段が、調整前画像を、空間周波数が所定の基準以上となるテクスチャ領域と空間周波数が当該基準未満となるグラデーション領域とに分けて認識し、個別補正関数を設定する際に、テクスチャ領域に位置する周囲画素とグラデーション領域に位置する周囲画素とについて、それぞれ異なる態様で輝度値を参照して個別補正関数を設定するようにしたものである。
【００１９】
(10)  本発明の第１０の態様は、上述した第１の態様に係る画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値と各周囲画素の輝度値とを比較し、両者の差が小さい周囲画素ほど大きな重みづけをした参照を行うことにより、個別補正関数を設定するようにしたものである。
【００２０】
(11)  本発明の第１１の態様は、上述した第１の態様に係る画像処理装置において、
グローバルトーンカーブ設定手段が、０≦Ｌin≦Ｍ（但し、Ｍは輝度値の最大値）なる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるグローバルトーンカーブを設定する機能を有し、
個別補正関数設定手段が、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、所定の補正増減率Ｃを縦軸にとって、入力輝度値Ｌinと補正増減率Ｃとの関係を示すグラフによって表現される個別補正関数を設定する機能を有し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値を、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに応じて増減する補正を行うことによりローカルトーンカーブの定義を行うようにしたものである。
【００２１】
(12)  本発明の第１２の態様は、上述した第１１の態様に係る画像処理装置において、
個別補正関数設定手段が、補正増減率Ｃとして、負の数値Ｋ１および正の数値Ｋ２を設定して、Ｋ１≦Ｃ≦Ｋ２なる条件を満たす範囲内の値を用いるようにしたものである。
【００２２】
(13)  本発明の第１３の態様は、上述した第１２の態様に係る画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ輝度値の最大値Ｍを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ０を下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにしたものである。
【００２３】
(14)  本発明の第１４の態様は、上述した第１２の態様に係る画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ輝度値の最大値Ｍを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ０を下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにしたものである。
【００２４】
(15)  本発明の第１５の態様は、上述した第１３または第１４の態様に係る画像処理装置において、
個別補正関数設定手段が、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数を設定し、
輝度値変換手段が、任意の横軸座標Ｌに位置するグローバルトーンカーブ上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブを定義し、補正増減率Ｃの絶対値を|Ｃ|としたときに、Ｃ＞０，Ｌold ＜Ｌの場合は、Ｌnew ＝Ｌold ＋（Ｌ−Ｌold ）×|Ｃ|なる式に基づいて、Ｃ＞０，Ｌold ＞Ｌの場合は、Ｌnew ＝Ｌold ＋（Ｍ−Ｌold ）×|Ｃ|なる式に基づいて、Ｃ＜０，Ｌold ＜Ｌの場合は、Ｌnew ＝Ｌold −Ｌold ×|Ｃ|なる式に基づいて、Ｃ＜０，Ｌold ＞Ｌの場合は、Ｌnew ＝Ｌold −（Ｌold −Ｌ）×|Ｃ|なる式に基づいて、それぞれ修正を行うことにより、ローカルトーンカーブを定義するようにしたものである。
【００２５】
(16)  本発明の第１６の態様は、上述した第１２の態様に係る画像処理装置において、
グローバルトーンカーブ設定手段が、オペレータの設定操作に基づいて、グローバルトーンカーブとともに、その上方に位置する上限カーブおよび下方に位置する下限カーブを設定することにより、合計３本のカーブを設定する機能を有し、上限カーブおよび下限カーブは、グローバルトーンカーブと同様に、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるようにし、
輝度値変換手段が、グローバルトーンカーブを上限カーブと下限カーブとの間に挟まれた領域の範囲内で補正することにより、ローカルトーンカーブを定義するようにしたものである。
【００２６】
(17)  本発明の第１７の態様は、上述した第１６の態様に係る画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ上限カーブを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ下限カーブを下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにしたものである。
【００２７】
(18)  本発明の第１８の態様は、上述した第１６の態様に係る画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ上限カーブを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ下限カーブを下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにしたものである。
【００２８】
(19)  本発明の第１９の態様は、上述した第１７または第１８の態様に係る画像処理装置において、
個別補正関数設定手段が、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数を設定し、
輝度値変換手段が、任意の横軸座標Ｌに位置するグローバルトーンカーブ上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブを定義し、補正増減率Ｃの絶対値を|Ｃ|、横軸座標Ｌにおける上限カーブの輝度値をＬupper、下限カーブの輝度値をＬlowerとしたときに、Ｃ＞０の場合は、Ｌnew ＝Ｌold ＋（Ｌupper−Ｌold ）×|Ｃ|なる式に基づいて、Ｃ＜０の場合は、Ｌnew ＝Ｌold −（Ｌold −Ｌlower）×|Ｃ|なる式に基づいて、それぞれ補正を行うことにより、ローカルトーンカーブを定義するようにしたものである。
【００２９】
(20)  本発明の第２０の態様は、上述した第１２の態様に係る画像処理装置において、
グローバルトーンカーブ設定手段が、オペレータの設定操作に基づいて、グローバルトーンカーブとともに、第１制限カーブおよび第２制限カーブを設定することにより、合計３本のカーブを設定する機能を有し、第１制限カーブおよび第２制限カーブは、グローバルトーンカーブと同様に、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるようにし、
輝度値変換手段が、第１の制限カーブを越えない範囲内で、第１の制限カーブに近づける第１の補正方向に輝度値を増減する第１の補正と、第２の制限カーブを越えない範囲内で、第２の制限カーブに近づける第２の補正方向に輝度値を増減する第２の補正と、を選択的に行うことにより、ローカルトーンカーブを定義するようにしたものである。
【００３０】
(21)  本発明の第２１の態様は、上述した第２０の態様に係る画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第１の補正方向に向けて修正する補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第２の補正方向に向けて修正する補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにしたものである。
【００３１】
(22)  本発明の第２２の態様は、上述した第２０の態様に係る画像処理装置において、
個別補正関数設定手段が、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定し、
輝度値変換手段が、グローバルトーンカーブにおける任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第１の補正方向に向けて修正する補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第２の補正方向に向けて修正する補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにしたものである。
【００３２】
(23)  本発明の第２３の態様は、上述した第２１または第２２の態様に係る画像処理装置において、
個別補正関数設定手段が、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数を設定し、
輝度値変換手段が、任意の横軸座標Ｌに位置するグローバルトーンカーブ上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブを定義し、横軸座標Ｌにおける第１制限カーブの輝度値をＬα、第２制限カーブの輝度値をＬβとしたときに、Ｃ＞０の場合は、Δａ＝|（Ｌα−Ｌold ）×Ｃ|なる式に基づいて定まる補正量Δａだけ、輝度値Ｌold を第１制限カーブに近づける方向に増減する補正を行い、Ｃ＜０の場合は、Δｂ＝|（Ｌβ−Ｌold）×Ｃ|なる式に基づいて定まる補正量Δｂだけ、輝度値Ｌold を第２制限カーブに近づける方向に増減する補正を行うことにより、ローカルトーンカーブを定義するようにしたものである。
【００３３】
(24)  本発明の第２４の態様は、上述した第１２の態様に係る画像処理装置において、
個別補正関数設定手段が、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、
輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、参照領域内の第ｊ番目の周囲画素（但し、ｊ＝１，２，... ，Ｎ、ここでＮは参照領域内の周囲画素の総数）に対応させて第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフを配置し、配置した第ｊ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｊ番目の周囲画素の輝度値Ｌｊに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせるようにし、
合計Ｎ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定するようにしたものである。
【００３４】
(25)  本発明の第２５の態様は、上述した第２４の態様に係る画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値と第ｊ番目の周囲画素の輝度値との差に基づいて、当該差が小さい周囲画素ほど大きな重みづけを行い、総和グラフを求める際に、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素についての重みを考慮した集計を行うことにより、個別補正関数を設定するようにしたものである。
【００３５】
(26)  本発明の第２６の態様は、上述した第２５の態様に係る画像処理装置において、
着目画素の輝度値に対応する値が最大値をとり、輝度値Ｌが着目画素の輝度値から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を定義し、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素の輝度値Ｌｊに対応する重み関数Ｗ（Ｌ）の値Ｗｊを重みとして用いた集計を行うことにより、個別補正関数を設定するようにしたものである。
【００３６】
(27)  本発明の第２７の態様は、上述した第１２の態様に係る画像処理装置において、
個別補正関数設定手段が、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、
参照領域内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、
輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、ヒストグラムにおける第ｋ番目の階級（但し、ｋ＝１，２，... ，Ｋ）に対応させて第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフを配置し、配置した第ｋ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｋ番目の階級の代表輝度値に一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせるようにし、
合計Ｋ組のグラフについて、それぞれの度数に応じた重みづけを行って集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定するようにしたものである。
【００３７】
(28)  本発明の第２８の態様は、上述した第２７の態様に係る画像処理装置において、
第ｋ番目の階級の代表輝度値として、当該階級に属する範囲内の輝度値として予め設定されている所定の固定輝度値を用いるようにしたものである。
【００３８】
(29)  本発明の第２９の態様は、上述した第２７の態様に係る画像処理装置において、
第ｋ番目の階級の代表輝度値として、当該階級に所属する周囲画素の平均輝度値を用いるようにしたものである。
【００３９】
(30)  本発明の第３０の態様は、上述した第２７〜第２９の態様に係る画像処理装置において、
個別補正関数設定手段が、着目画素の輝度値と第ｋ番目の階級の代表輝度値との差に基づいて、当該差が小さい階級ほど大きな重みづけを行い、総和グラフを求める際に、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級についての重みを考慮した集計を行うことにより、個別補正関数を設定するようにしたものである。
【００４０】
(31)  本発明の第３１の態様は、上述した第３０の態様に係る画像処理装置において、
着目画素の輝度値に対応する値が最大値をとり、輝度値Ｌが着目画素の輝度値から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を定義し、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級の代表輝度値Ｌｒｋに対応する重み関数Ｗ（Ｌ）の値Ｗｋを重みとして用いた集計を行うことにより、個別補正関数を設定するようにしたものである。
【００４１】
(32)  本発明の第３２の態様は、上述した第２６または第３１の態様に係る画像処理装置において、
着目画素の輝度値が所定の基準未満の場合に用いる重み関数Ｗ１（Ｌ）に比べて、着目画素の輝度値が所定の基準以上の場合に用いる重み関数Ｗ２（Ｌ）の方が、単調減少の割合が急峻となるようにしたものである。
【００４２】
(33)  本発明の第３３の態様は、上述した第２６または第３１の態様に係る画像処理装置において、
重み関数Ｗ（Ｌ）として、着目画素の輝度値の座標にピーク点が位置するガウス分布関数を用いるようにしたものである。
【００４３】
(34)  本発明の第３４の態様は、上述した第３３の態様に係る画像処理装置において、
標準偏差σについて最大値σmaxおよび最小値σminを定め、着目画素の輝度値が周囲画素の代表輝度値以上の場合には、標準偏差σ＝σminとなるガウス分布関数を、着目画素の輝度値が周囲画素の代表輝度値未満の場合には、標準偏差σが、σmax ≧σ＞σminの範囲をとり、かつ、着目画素の輝度値が大きいほど小さくなるように設定されたガウス分布関数を、それぞれ重み関数Ｗ（Ｌ）として用いるようにしたものである。
【００４４】
(35)  本発明の第３５の態様は、上述した第２４〜第３４の態様に係る画像処理装置において、
個別補正関数設定手段が、調整前画像を複数の分割領域に分けて認識し、個別補正関数を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる局所調整関数ｆ（Ｌ）を用いた集計を行うようにしたものである。
【００４５】
(36)  本発明の第３６の態様は、上述した第３５の態様に係る画像処理装置において、
個別補正関数設定手段が、調整前画像を、空間周波数が所定の基準以上となるテクスチャ領域と空間周波数が当該基準未満となるグラデーション領域とに分けて認識し、個別補正関数を設定する際に、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）と、グラデーション領域用の局所調整関数ｆｇ（Ｌ）とを別個に設定し、テクスチャ領域に位置する周囲画素については、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）を用い、グラデーション領域に位置する周囲画素については、グラデーション領域用の局所調整関数ｆｇ（Ｌ）を用いた集計を行うようにしたものである。
【００４６】
(37)  本発明の第３７の態様は、上述した第２４〜第３６の態様に係る画像処理装置において、
個別補正関数設定手段が、総和グラフの縦軸を−１≦Ｃ≦＋１なる条件を満たす範囲内に規格化し、横軸の０≦Ｌ≦Ｍなる条件を満たす部分を抽出したものを、個別補正関数として設定するようにしたものである。
【００４７】
(38)  本発明の第３８の態様は、上述した第２４〜第３７の態様に係る画像処理装置において、
個別補正関数設定手段が、局所調整関数ｆ（Ｌ）として、調整値ｆ＝０に対応するグラフ上の点を回転中心点として、グラフを１８０°回転させたときに同一のグラフが得られるような点対称性をもった関数を設定するようにしたものである。
【００４８】
(39)  本発明の第３９の態様は、上述した第２４〜第３７の態様に係る画像処理装置において、
個別補正関数設定手段が、第ｊ番目の局所調整関数ｆｊ（Ｌ）を、「ｆｊ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｊ）／Ｍ）））−１」なるシグモイド関数、もしくは「ｆｊ（Ｌ）＝−（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｊ）／Ｍ）））＋１」なるシグモイド関数（但し、μは所定の勾配係数）を利用して定義するようにしたものである。
【００４９】
(40)  本発明の第４０の態様は、上述した第２４〜第３９の態様に係る画像処理装置において、
個別補正関数設定手段が、集計用座標系上に、Ｎ組の周囲画素に対応させたＮ組の局所調整関数のグラフｆ１（Ｌ）〜ｆＮ（Ｌ）に加えて、着目画素に対応する局所調整関数のグラフを配置し、合計（Ｎ＋１）組のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定するようにしたものである。
【００５０】
(41)  本発明の第４１の態様は、上述した第１〜第４０の態様に係る画像処理装置において、
輝度値変換手段が、個々の着目画素の輝度値変換に必要な部分についてのみ、ローカルトーンカーブを求める演算を行うようにしたものである。
【００５１】
(42)  本発明の第４２の態様は、上述した第１〜第４１の態様に係る画像処理装置において、
調整前画像格納手段が、横方向の画素数Ｓｘ、縦方向の画素数Ｓｙを有する矩形状の調整前画像を格納し、
個別補正関数設定手段が、予め設定されている分割数ｎを用いて、Ｓｘ／ｎもしくはＳｙ／ｎなる除算を行い、着目画素を中心に含み、除算の商に近い画素数に対応する長さを一辺とする正方形領域もしくは矩形領域を、当該着目画素についての参照領域として設定するようにしたものである。
【００５２】
(43)  本発明の第４３の態様は、上述した第１〜第４２の態様に係る画像処理装置を、コンピュータにプログラムを組み込むことにより実現したものである。
【００５３】
(44)  本発明の第４４の態様は、それぞれ所定の輝度値をもつ画素の配列からなる調整前画像について、輝度調整を行う画像の輝度調整方法において、
コンピュータが、調整前画像を構成する個々の画素をそれぞれ着目画素として抽出する着目画素抽出段階と、
コンピュータが、着目画素を含むその近傍の領域にそれぞれ参照領域を設定する参照領域設定段階と、
コンピュータが、参照領域内において着目画素の周囲に位置する周囲画素の輝度値を参照して、各着目画素のそれぞれについて輝度値を変数とする個別補正関数を設定する個別補正関数設定段階と、
コンピュータが、入力輝度値を出力輝度値に変換するための所定のグローバルトーンカーブに対して個別補正関数を用いた補正を行うことにより、個々の着目画素のそれぞれについてローカルトーンカーブを定義するローカルトーンカーブ定義段階と、
コンピュータが、ローカルトーンカーブを用いて、個々の着目画素の輝度値を変換する輝度値変換段階と、
コンピュータが、輝度値変換段階によって変換された輝度値をもつ画素の配列を調整後画像として出力する調整後画像出力段階と、
を行うようにしたものである。
【００５４】
(45)  本発明の第４５の態様は、上述した第４４の態様に係る画像の輝度調整方法において、
個別補正関数設定段階で、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、参照領域内の第ｊ番目の周囲画素（但し、ｊ＝１，２，... ，Ｎ、ここでＮは参照領域内の周囲画素の総数）に対応させて第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフを配置し、配置した第ｊ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｊ番目の周囲画素の輝度値Ｌｊに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる局所調整関数配置ステップと、
合計Ｎ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定する局所調整関数集計ステップと、
を行うようにしたものである。
【００５５】
(46)  本発明の第４６の態様は、上述した第４５の態様に係る画像の輝度調整方法において、
局所調整関数集計ステップで、着目画素の輝度値と第ｊ番目の周囲画素の輝度値との差に基づいて、当該差が小さい周囲画素ほど大きな重みづけを行い、総和グラフを求める際に、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素についての重みを考慮した集計を行うことにより、個別補正関数を設定するようにしたものである。
【００５６】
(47)  本発明の第４７の態様は、上述した第４４の態様に係る画像の輝度調整方法において、
個別補正関数設定段階で、
輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義し、参照領域内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、ヒストグラムにおける第ｋ番目の階級（但し、ｋ＝１，２，... ，Ｋ）に対応させて第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフを配置し、配置した第ｋ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｋ番目の階級の代表輝度値に一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる局所調整関数配置ステップと、
合計Ｋ組のグラフについて、それぞれの度数に応じた重みづけを行って集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定する局所調整関数集計ステップと、
を行うようにしたものである。
【００５７】
(48)  本発明の第４８の態様は、上述した第４７の態様に係る画像の輝度調整方法において、
局所調整関数集計ステップで、着目画素の輝度値と第ｋ番目の階級の代表輝度値との差に基づいて、当該差が小さい階級ほど大きな重みづけを行い、総和グラフを求める際に、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級についての重みを考慮した集計を行うことにより、個別補正関数を設定するようにしたものである。
【００５８】
(49)  本発明の第４９の態様は、上述した第４５〜第４８の態様に係る画像の輝度調整方法において、
局所調整関数配置ステップで、調整前画像を複数の分割領域に分けて認識し、個別補正関数を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる局所調整関数ｆ（Ｌ）を配置するようにしたものである。
【００５９】
(50)  本発明の第５０の態様は、上述した第４９の態様に係る画像の輝度調整方法において、
局所調整関数配置ステップで、調整前画像を、空間周波数が所定の基準以上となるテクスチャ領域と空間周波数が当該基準未満となるグラデーション領域とに分けて認識し、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）と、グラデーション領域用の局所調整関数ｆｇ（Ｌ）とを別個に設定し、テクスチャ領域に位置する周囲画素についてはテクスチャ領域用の局所調整関数ｆｔ（Ｌ）を配置し、グラデーション領域に位置する周囲画素については、グラデーション領域用の局所調整関数ｆｇ（Ｌ）を配置するようにしたものである。
【００６０】
(51)  本発明の第５１の態様は、上述した第４４〜第５０の態様に係る画像の輝度調整方法を利用して、与えられたカラー画像について輝度調整を行うカラー画像処理方法において、
コンピュータが、三原色Ｒ，Ｇ，Ｂの各画素値をもつ画素の配列からなる調整前カラー画像を入力する調整前カラー画像入力段階と、
コンピュータが、調整前カラー画像を構成する個々の画素のもつ三原色Ｒ，Ｇ，Ｂの画素値を、輝度成分を示す画素値および色差成分を示す画素値に変換することにより、輝度値をもつ画素の配列からなる調整前画像を生成する調整前画像生成段階と、
コンピュータが、オペレータの設定操作に基づいて調整用パラメータを設定する調整用パラメータ設定段階と、
コンピュータが、調整用パラメータに基づいて、上述した第４４〜第５０の態様に係る画像の輝度調整方法を実行する輝度調整処理段階と、
コンピュータが、この輝度調整処理段階によって得られた調整後画像を構成する個々の画素のもつ輝度値および上記色差成分を示す画素値を、三原色Ｒ，Ｇ，Ｂの画素値に変換することにより、三原色Ｒ，Ｇ，Ｂの各画素値をもつ画素の配列からなる調整後カラー画像を生成する調整後カラー画像生成段階と、
を行うようにしたものである。
【００６１】
(52)  本発明の第５２の態様は、上述した第５１の態様に係るカラー画像処理方法において、
調整用パラメータ設定段階で、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフとして、グローバルトーンカーブ、第１制限カーブ、第２制限カーブの３本のトーンカーブを設定し、
輝度調整処理段階で、グローバルトーンカーブに対して、第１制限カーブおよび第２制限カーブに基づく制限下での補正を行うことによりローカルトーンカーブの定義を行うようにしたものである。
【００６２】
(53)  本発明の第５３の態様は、上述した第５１の態様に係るカラー画像処理方法において、
調整用パラメータ設定段階で、局所調整関数ｆ（Ｌ）を定義するためのパラメータを設定し、
輝度調整処理段階で、上述した第４５〜第４８の態様に係る画像の輝度調整方法を実行するようにしたものである。
【００６３】
(54)  本発明の第５４の態様は、上述した第５１の態様に係るカラー画像処理方法において、
調整用パラメータ設定段階で、重みづけを定義するためのパラメータを設定し、
輝度調整処理段階で、上述した第４６または第４８の態様に係る輝度調整方法を実行するようにし、局所調整関数集計ステップで、上記重みづけを定義するためのパラメータによって定義された重みを考慮した集計を行うことにより、個別補正関数を設定するようにしたものである。
【００６４】
(55)  本発明の第５５の態様は、上述した第４４〜第５４の態様に係る輝度調整方法もしくはカラー画像処理方法を、コンピュータにプログラムを組み込むことにより実行するようにしたものである。
【発明の効果】
【００６５】
本発明によれば、個々の着目画素について、その周囲近傍に位置する周囲画素の輝度値に基づいて個別補正関数が設定され、画像全体に適用すべきグローバルトーンカーブを、当該個別補正関数に基づいて補正することにより、個々の着目画素ごとにそれぞれ固有のローカルトーンカーブが定義され、個々の着目画素の輝度値は、それぞれのローカルトーンカーブに基づいて変換される。このため、オペレータが、画像全体の輝度調整をグローバルトーンカーブの設定操作によって行うと、画像全体に対しては、当該グローバルトーンカーブを基本とした輝度調整が行われるものの、局所的には、それぞれ個別補正関数に基づく補正を反映した輝度調整が行われることになる。したがって、画像全体の輝度と局所的な輝度との双方を併せて調整することが容易な輝度調整方法を提供することが可能になり、そのような輝度調整方法を利用した画像処理装置を提供することができる。
【図面の簡単な説明】
【００６６】
【図１】輝度調整を行わない場合の基準トーンカーブＴ０を示すグラフである。
【図２】コントラストを強める輝度調整を行う場合のトーンカーブＴ１を示すグラフである。
【図３】コントラストを弱める輝度調整を行う場合のトーンカーブＴ２を示すグラフである。
【図４】任意の輝度調整を行う場合のトーンカーブＴ３を示すグラフである。
【図５】本発明に係る輝度調整の基本概念を示す模式図である。
【図６】本発明に用いる個別補正関数Ｆ［Ｐ］の一例を示すグラフ（図(a) ）およびこの個別補正関数Ｆ［Ｐ］を用いたグローバルトーンカーブＴ［Ｇ］の補正方法を示すグラフ（図(b) ）である。
【図７】本発明に用いる個別補正関数Ｆ［Ｐ］の別な一例を示すグラフ（図(a) ）およびこの個別補正関数Ｆ［Ｐ］を用いたグローバルトーンカーブＴ［Ｇ］の補正方法を示すグラフ（図(b) ）である。
【図８】本発明の基本的実施形態に係る画像処理装置の構成を示すブロック図である。
【図９】本発明による局所的な輝度調整の基本原理を説明する表である。
【図１０】図９に示す帰結Ｉに基づいて局所的コントラストを強めるための輝度調整を行う基本原理を説明する図である。
【図１１】図９に示す帰結IIに基づいて局所的コントラストを弱めるための輝度調整を行う基本原理を説明する図である。
【図１２】単純な線形関数を個別補正関数Ｆ［Ｐ］として用いた例を示すグラフである。
【図１３】累積ガウス分布関数を個別補正関数Ｆ［Ｐ］として用いた例を示すグラフである。
【図１４】累積ガウス分布曲線を左右にスライドさせて個別補正関数Ｆ［Ｐ］を設定する様子を示すグラフである。
【図１５】局所調整関数ｆ（Ｌ）として用いるシグモイド関数の定義式を示す図である。
【図１６】個々の周囲画素に対応する局所調整関数ｆ（Ｌ）の総和により個別補正関数Ｆ［Ｐ］を設定する様子を示すグラフである。
【図１７】本発明におけるグローバルトーンカーブＴ［Ｇ］の設定操作の一例を示す図である。
【図１８】グローバルトーンカーブＴ［Ｇ］，上限カーブＴ［upper］，下限カーブＴ［lower］の３本のカーブを設定した例を示す図である。
【図１９】図１８に示す３本のカーブに基づいてローカルトーンカーブＴ［Ｐ］を定義する原理を示すグラフである。
【図２０】グローバルトーンカーブＴ［Ｇ］，第１の制限カーブＴ［α］，第２の制限カーブＴ［β］の３本のカーブを設定した第１の例を示す図である。
【図２１】グローバルトーンカーブＴ［Ｇ］，第１の制限カーブＴ［α］，第２の制限カーブＴ［β］の３本のカーブを設定した第２の例を示す図である。
【図２２】グローバルトーンカーブＴ［Ｇ］，第１の制限カーブＴ［α］，第２の制限カーブＴ［β］の３本のカーブを設定した第３の例を示す図である。
【図２３】グローバルトーンカーブＴ［Ｇ］，第１の制限カーブＴ［α］，第２の制限カーブＴ［β］の３本のカーブを設定した第４の例を示す図である。
【図２４】ヒストグラムを用いた集計により個別補正関数Ｆ［Ｐ］を設定する第１の方法を示すグラフである。
【図２５】ヒストグラムを用いた集計により個別補正関数Ｆ［Ｐ］を設定する第２の方法を示すグラフである。
【図２６】ヒストグラムを用いた集計による輝度値分布範囲の変化態様の第１の例を示すグラフである。
【図２７】ヒストグラムを用いた集計による輝度値分布範囲の変化態様の第２の例を示すグラフである。
【図２８】一般的な画像におけるテクスチャ領域Ａｔとグラデーション領域Ａｇの典型例を示す図である。
【図２９】テクスチャ領域Ａｔ用の局所調整関数ｆｔ（Ｌ）とグラデーション領域Ａｇ用の局所調整関数ｆｇ（Ｌ）との相違を示すグラフである。
【図３０】一般的な風景画像の一例を示す図である。
【図３１】図３０に示す画像をテクスチャ領域Ａｔとグラデーション領域Ａｇとに分類した状態を示す図である。
【図３２】グラデーション領域Ａｇに対しては局所調整関数ｆｇ（Ｌ）を適用し、テクスチャ領域Ａｔに対しては局所調整関数ｆｔ（Ｌ）を適用して個別補正関数を設定する原理を示す図である。
【図３３】グラデーション領域Ａｇについて、ヒストグラムを用いた集計により個別補正関数Ｆ［Ｐ］を設定する例を示すグラフである。
【図３４】テクスチャ領域Ａｔについて、ヒストグラムを用いた集計により個別補正関数Ｆ［Ｐ］を設定する例を示すグラフである。
【図３５】本発明に係る輝度調整を行うことによりヘイローが発生した状態を示す図である。
【図３６】図３５に示すヘイローの実体を説明する図およびグラフである。
【図３７】図３５に示すヘイローの発生要因を説明する図である。
【図３８】図３５に示すヘイローの抑制原理を示す図およびグラフである。
【図３９】図３７(a) ，(b) に示す例について、黒ヘイローの具体的な要因を示すグラフである。
【図４０】図３７(c) ，(d) に示す例について、白ヘイローの具体的な要因を示すグラフである。
【図４１】図３９および図４０に示す例について、黒ヘイローおよび白ヘイローの抑制策を示すグラフである。
【図４２】一般的なヘイローの抑制策を示すグラフである。
【図４３】図３９に示す例に対して、図４２に示すヘイローの抑制策を施す方法を示すグラフである。
【図４４】図４０に示す例に対して、図４２に示すヘイローの抑制策を施す方法を示すグラフである。
【図４５】ヘイローの抑制策に用いる様々なガウス分布関数を示すグラフである。
【図４６】一般にシェブルール錯視として知られている人間の視覚的な認知現象を示す図である。
【図４７】一般にクレイク・オブライエン効果として知られている人間の視覚的な認知現象を示す図である。
【図４８】一般的な景色の画像について生じた黒ヘイローおよび白ヘイローを示す図である。
【図４９】ヘイローの抑制策に用いるガウス分布関数の傾斜を左右する標準偏差σの好適な設定例を示すグラフである。
【図５０】ヘイローの抑制策を伴う輝度調整処理の結果を示す図である。
【図５１】本発明に係るカラー画像処理方法の基本手順を示す流れ図である。
【図５２】図５１の流れ図におけるステップＳ５の輝度調整処理の詳細な手順を示す流れ図である。
【図５３】本発明に係る輝度調整の対象となる調整前画像の実例を示す図である。
【図５４】図５３に示す調整前画像に対して、３本のカーブを設定して具体的な輝度調整を行うことにより得られた調整後画像の第１の実例を示す図である。
【図５５】図５３に示す調整前画像に対して、３本のカーブを設定して具体的な輝度調整を行うことにより得られた調整後画像の第２の実例を示す図である。
【図５６】図５３に示す調整前画像に対して、３本のカーブを設定して具体的な輝度調整を行うことにより得られた調整後画像の第３の実例を示す図である。
【図５７】図５３に示す調整前画像に対して、３本のカーブを設定して具体的な輝度調整を行うことにより得られた調整後画像の第４の実例を示す図である。
【発明を実施するための形態】
【００６７】
以下、本発明を図示する実施形態に基づいて説明する。
【００６８】
＜＜＜  §１．  本発明に係る輝度調整の基本概念  ＞＞＞
はじめに、本発明に係る輝度調整の基本概念を説明する。
【００６９】
＜１−１．トーンカーブによる輝度調整＞
デジタル画像に対して明暗やコントラストの調整を行う場合、当該画像を構成する個々の画素の輝度を調整する必要がある。このような輝度調整は、通常、トーンカーブの形状を調整する操作によって行われる。輝度調整機能を有する一般的な画像処理装置の場合、ディスプレイ画面上に表示したトーンカーブを、オペレータの操作に基づいて任意の形状に変化させるインターフェイスが備わっており、オペレータは、このトーンカーブを所望の形状に変化させることにより、画像に対する所望の輝度調整を行うことができる。
【００７０】
トーンカーブは、入力輝度値Ｌinを出力輝度値Ｌout に変換する変換関数を示すカーブであり、通常、入力輝度値Ｌinを横軸、出力輝度値Ｌout を縦軸にとったグラフによって表現される。図１は、輝度調整を全く行わない場合の基準トーンカーブＴ０を示すグラフである。
【００７１】
なお、一般に、「カーブ」という文言は曲線を意味するものであるが、本願では便宜上、図１に示すような直線状のグラフＴ０についても「トーンカーブ」と呼ぶことにする。また、本願では、グラフに関する説明を行う際に、縦軸／横軸という文言を用いることにするが、当該呼称は、座標軸を相互に区別するための便宜上のものであり、絶対的な垂直方向や水平方向を示すものではない。したがって、たとえば、図１に示すトーンカーブを表示する際に、入力輝度値Ｌinを縦軸、出力輝度値Ｌout を横軸にとったグラフを用いてもかまわない。
【００７２】
また、以下に述べる実施例では、画像を構成する個々の画素について、８ビットの輝度値（０〜２５５）が画素値として与えられている場合を例にとった説明を行うことにする。したがって、図１に示すグラフの横軸Ｌinおよび縦軸Ｌout には、それぞれ０〜２５５の輝度値が定義されている。図示の基準トーンカーブＴ０は、Ｌout ＝Ｌinを示す関数のグラフであり、当該カーブを利用して輝度調整処理を行っても、実質的には、輝度調整は全く行われないことになる。たとえば、このカーブを利用して、図に破線で示すように入力輝度値Ｌin＝１６０についての変換を行えば、全く同一の出力輝度値Ｌout ＝１６０が得られることになる。
【００７３】
これに対して、図２に示すグラフは、コントラストを強める輝度調整を行う場合のトーンカーブＴ１を示すものである。図１に示す基準トーンカーブＴ０（図２では、一点鎖線で示す）が直線状のグラフであるのに対して、図２に示すトーンカーブＴ１はＳ字状の曲線グラフになっている。この例の場合、トーンカーブＴ１は、入力輝度値Ｌin＝１２８に対応する点Ｏにおいて基準トーンカーブＴ０と交差しているため、入力輝度値Ｌin ＝１２８に対しては出力輝度値Ｌout ＝１２８が得られ変化はないが、０＜Ｌin＜１２８の範囲内の入力輝度値Ｌinについては輝度値を下げる調整が行われ、１２８＜Ｌin＜２５５の範囲内の入力輝度値Ｌinについては輝度値を上げる調整が行われる。
【００７４】
たとえば、図に破線で示すとおり、輝度値６４をもつ画素については、輝度値を６４より低いＬ１に下げる調整が行われ、輝度値１９２をもつ画素については、輝度値を１９２より高いＬ２に上げる調整が行われる。このように、画像上の暗い画素（この例では、輝度値が１２８未満の画素）の輝度値を下げて更に暗くし、画像上の明るい画素（この例では、輝度値が１２８を越える画素）の輝度値を上げて更に明るくする調整は、コントラストを強める調整効果を奏する。したがって、図２に示すようなＳ字状のトーンカーブＴ１は、コントラストを強める輝度調整を行う場合に利用される。
【００７５】
一方、図３に示すグラフは、コントラストを弱める輝度調整を行う場合のトーンカーブＴ２を示すものである（ここでも基準トーンカーブＴ０を一点鎖線で示す）。このトーンカーブＴ２も、入力輝度値Ｌin＝１２８に対応する点Ｏにおいて基準トーンカーブＴ０と交差しているが、その全体形状は逆Ｓ字状の曲線グラフになっている。このため、０＜Ｌin＜１２８の範囲内の入力輝度値Ｌinについては輝度値を上げる調整が行われ、１２８＜Ｌin＜２５５の範囲内の入力輝度値Ｌinについては輝度値を下げる調整が行われる。
【００７６】
たとえば、図に破線で示すとおり、輝度値６４をもつ画素については、輝度値を６４より高いＬ３に上げる調整が行われ、輝度値１９２をもつ画素については、輝度値を１９２より低いＬ４に下げる調整が行われる。このように、画像上の暗い画素（この例では、輝度値が１２８未満の画素）の輝度値を上げて明るくし、画像上の明るい画素（この例では、輝度値が１２８を越える画素）の輝度値を下げて暗くする調整は、コントラストを弱める調整効果を奏する。したがって、図３に示すような逆Ｓ字状のトーンカーブＴ２は、コントラストを弱める輝度調整を行う場合に利用される。
【００７７】
もちろん、トーンカーブの形状は、Ｓ字状や逆Ｓ字状に限定されるものではなく、入力輝度値Ｌinの値に対して、出力輝度値Ｌout の値がただ一つだけ定まる一価関数のグラフになっていれば、どのような形状のトーンカーブを設定してもかまわない。たとえば、図４は、任意の輝度調整を行う場合のトーンカーブＴ３を示すグラフである。このトーンカーブＴ３は、図示のとおり、２点Ｏ１，Ｏ２において基準トーンカーブＴ０と交差しており、入力輝度値Ｌin＝Ｌ５，Ｌ６，Ｌ７という３通りの異なる輝度値に対して、出力輝度値Ｌout ＝Ｌ８という同一の輝度値が与えられる。このような複雑な形状をもったトーンカーブＴ３による輝度調整は、コントラストを強めるもしくは弱めるといった単純な調整ではないが、オペレータの恣意的な要求に応じた特有の調整効果を奏することになる。
【００７８】
一般的な画像処理装置では、オペレータがマウスなどのデバイスを操作することにより、ディスプレイ画面上でトーンカーブの形状を任意に設定することができ、対象となるデジタル画像に対して当該トーンカーブを利用した輝度調整を施すことができる。
【００７９】
しかしながら、このようなトーンカーブを用いた従来の一般的な輝度調整方法では、対象画像全体に共通のトーンカーブを適用したグローバル処理が行われるため、明るい部分と暗い部分とが共存した対象画像の場合、良好な輝度調整を行うことができない。たとえば、オペレータが、画像の明部に着目して良好な輝度調整を試みると暗部がより暗くなってしまう現象が生じ、逆に、画像の暗部に着目して良好な輝度調整を試みると明部が更に明るくなってしまう現象が生じやすい。
【００８０】
このような問題に対処するため、前掲の特許文献などには、対象画像の局所領域の特性に合わせた処理を行う技術が提案されている。これらの技術は、一般に、広ダイナミックレンジ圧縮技術（ＨＤＲ：High Dynamic Range）と呼ばれており、対象画像の局所的特徴を反映した輝度調整を行うことができるため、画像全体に明暗差がある場合でも良好な画像変換が期待できる。しかしながら、これらの技術では、個々の局所領域に関しては所望の輝度調整が可能であっても、画像全体の輝度を併せて調整することが困難であるという問題がある。
【００８１】
本発明は、このような問題に対処することができる新たな輝度調整方法を提案するものであり、本発明によれば、画像全体の輝度と局所的な輝度との双方を併せて調整することが容易になる。すなわち、本発明に係る画像処理装置を利用すれば、オペレータは、画像全体の明るさを意図どおりに制御しつつ、画像の各部分ごとに、その特徴に応じた適切な明るさに調整することが可能になる。
【００８２】
＜１−２．ローカルトーンカーブによる輝度値変換＞
上述のとおり、トーンカーブは、入力輝度値Ｌinを出力輝度値Ｌout に変換する変換関数を示すカーブであり、通常、対象画像全体に共通のトーンカーブを適用したグローバル処理が行われる。本発明に係る輝度調整の特徴は、基本的には、画像全体に共通するトーンカーブを定義しておき、局所的にこれを補正したトーンカーブを定義し、実際の輝度値変換を局所的に定義したトーンカーブを用いる点にある。
【００８３】
本願では、画像全体に共通するトーンカーブを「グローバルトーンカーブ」と呼び、局所的に定義したトーンカーブを「ローカルトーンカーブ」と呼ぶことにする。後述するように、ローカルトーンカーブは、グローバルトーンカーブを所定のアルゴリズムに基づいて補正することにより自動的に得られるので、本発明に係る輝度調整を実施するにあたり、オペレータはグローバルトーンカーブを設定する作業を行えば足りる。なお、ローカルトーンカーブの細かな形状は、オペレータが設定したパラメータに基づいて変わるため、オペレータはグローバルトーンカーブの設定作業により画像全体の輝度調整を行いつつ、上記パラメータの設定作業により局所的な輝度調整を行うことができる。
【００８４】
本発明では、対象画像を構成する１つ１つの画素ごとにそれぞれローカルトーンカーブが定義され、各画素の輝度値は、当該画素について定義されたローカルトーンカーブを用いて変換されることになる。ここで重要な点は、ある１つの画素についてのローカルトーンカーブは、グローバルトーンカーブに対して所定の補正を施すことにより得られることになるが、当該補正の内容が、当該画素の周囲に位置する画素の輝度値を参照することにより決定される点である。
【００８５】
図５は、本発明に係る輝度調整の基本概念を示す模式図である。以下、この図５を参照しながら、本発明の基本概念を説明する。本願では、輝度調整の対象となる画像（所定の輝度値をもつ画素の配列からなる画像）を調整前画像Ｕ１と呼び、輝度調整が施された後の画像を調整後画像Ｕ２と呼ぶことにする。図５の上段(a) に示す画素配列は、調整前画像Ｕ１の一例を示している。ここでは、説明の便宜上、縦１０画素、横１４画素の小さな画素配列からなる調整前画像Ｕ１を例示しているが、実際には、より大きなサイズの画素配列からなる画像を調整対象画像とするのが一般的である。
【００８６】
一方、図５の下段(d) に実線で示すグラフは、オペレータが設定したグローバルトーンカーブＴ［Ｇ］を示している（参考のため、基準トーンカーブＴ０を一点鎖線で示す）。このグローバルトーンカーブＴ［Ｇ］は、図２に示すトーンカーブＴ１に対応するものであり、前述したとおり、通常はコントラストを強める輝度調整を行う場合に利用される。従来の輝度調整方法では、調整前画像Ｕ１を構成する全画素について、このグローバルトーンカーブＴ［Ｇ］を用いた輝度変換処理を行うことになるが、本発明の輝度調整方法では、このグローバルトーンカーブＴ［Ｇ］に基づいて、個々の画素ごとに独立したローカルトーンカーブが作成されることになる。
【００８７】
本発明の輝度調整方法では、調整前画像Ｕ１を構成する個々の画素をそれぞれ着目画素として、次のような処理が行われる。まず、着目画素Ｐを含むその近傍の領域に参照領域Ｒ［Ｐ］を設定する。そして、この参照領域Ｒ［Ｐ］内において着目画素Ｐの周囲に位置する画素（以下、周囲画素と呼ぶ）の輝度値を参照して、当該着目画素Ｐについての個別補正関数Ｆ［Ｐ］を設定する。この個別補正関数Ｆ［Ｐ］は、後述するように、輝度値Ｌを変数とした補正増幅率Ｃの値を示す関数であり、１つ１つの画素についてそれぞれ個別に設定される。グローバルトーンカーブＴ［Ｇ］を、この個別補正関数Ｆ［Ｐ］に基づいて補正することにより、それぞれの画素に対応するローカルトーンカーブＴ［Ｐ］が得られ、着目画素Ｐの輝度値Ｌ［Ｐ］は、このローカルトーンカーブＴ［Ｐ］を用いて変換されることになる。なお、ここで、符号Ｒ［Ｐ］，Ｆ［Ｐ］，Ｔ［Ｐ］，Ｌ［Ｐ］における［Ｐ］の部分は、それぞれの符号が特定の着目画素Ｐに関するものであることを示すためのものである。
【００８８】
上記処理を、図５を参照しながら、より具体的に説明しよう。たとえば、調整前画像Ｕ１の左上領域に位置する着目画素Ｐ１１（ハッチング部分）の輝度値Ｌ［Ｐ１１］は、次のような手順で変換される。まず、着目画素Ｐ１１を含むその近傍の領域に参照領域Ｒ［Ｐ１１］を設定する。図では、太線で囲って示す３×３の領域を参照領域Ｒ［Ｐ１１］として設定した状態が示されている。この参照領域Ｒ［Ｐ１１］内において、着目画素Ｐ１１の周囲に位置する８個の周囲画素の輝度値を参照して、着目画素Ｐ１１についての個別補正関数Ｆ［Ｐ１１］を設定する。具体的な設定方法については後に詳述する。
【００８９】
続いて、図５の下段(d) に示されているグローバルトーンカーブＴ［Ｇ］を、個別補正関数Ｆ［Ｐ１１］に基づいて補正することにより、図５の左中段(b) に示されているように、ローカルトーンカーブＴ［Ｐ１１］を作成する。図５(b) において、実線で示すグローバルトーンカーブＴ［Ｇ］は、図５(d) に示すオペレータが設定したカーブであり、破線で示すローカルトーンカーブＴ［Ｐ１１］が、補正によって得られたカーブである。いずれもＳ字状のカーブであるが、その形状は異なっている。着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］は、このローカルトーンカーブＴ［Ｐ１１］を用いて輝度値Ｌ［Ｑ１１］に変換されることになる。輝度値Ｌ［Ｑ１１］は、変換後の画素Ｑ１１の輝度値として与えられる。
【００９０】
調整前画像Ｕ１の右下領域に位置する着目画素Ｐ１２（ハッチング部分）の輝度値Ｌ［Ｐ１２］も同様の手順で変換される。すなわち、着目画素Ｐ１２の近傍に参照領域Ｒ［Ｐ１２］が設定され、その中の８個の周囲画素の輝度値を参照して、着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］を設定する。そして、図５の下段(d) に示されているグローバルトーンカーブＴ［Ｇ］を、個別補正関数Ｆ［Ｐ１２］に基づいて補正し、図５の右中段(c) に示すローカルトーンカーブＴ［Ｐ１２］を作成する。着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］は、このローカルトーンカーブＴ［Ｐ１２］を用いて輝度値Ｌ［Ｑ１２］に変換される。輝度値Ｌ［Ｑ１２］は、変換後の画素Ｑ１２の輝度値として与えられる。
【００９１】
図５(b) に示すローカルトーンカーブＴ［Ｐ１１］も図５(c) に示すローカルトーンカーブＴ［Ｐ１２］も、オペレータが設定した同一のグローバルトーンカーブＴ［Ｇ］（図５(d) ）に基づいて作成されたトーンカーブであるが、それぞれ異なる参照領域内の周囲画素を参照して得られた個別補正関数に基づく補正が行われたカーブであるため、その形状は異なっている。したがって、着目画素Ｐ１１とＰ１２の変換には、それぞれ別々のローカルトーンカーブが利用されることになる。
【００９２】
図５には、調整前画像Ｕ１を構成する２つの着目画素Ｐ１１，Ｐ１２についての輝度変換処理が示されているが、実際には、すべての画素をそれぞれ着目画素として、同様の輝度変換処理が実施されることになる。図示の例の場合、調整前画像Ｕ１は、１４０個の画素の集合によって構成されているので、１４０通りの個別補正関数Ｆ［Ｐ］に基づいて１４０通りのローカルトーンカーブＴ［Ｐ］が定義され、個々の画素の輝度変換が行われる。
【００９３】
なお、調整前画像Ｕ１の境界近くの着目画素については、通常サイズの参照領域を設定すると、参照領域の一部が画像の外部に食み出してしまうことになるが、その場合は、食み出した部分を無視してもよいし、画像の内部の画素を境界線に沿って折り返して、画像の外部の画素としてコピーして利用するようにしてもよい。
【００９４】
各着目画素の輝度変換に利用されるローカルトーンカーブＴ［Ｐ］は、基本的には、オペレータが設定したグローバルトーンカーブＴ［Ｇ］を元に作られたものなので、画像全体にわたるグローバルな輝度は、概ね、このグローバルトーンカーブＴ［Ｇ］に従ったものになる。ただ、局所的な視野で見ると、個々の着目画素Ｐの輝度変換に利用されるローカルトーンカーブＴ［Ｐ］は、当該着目画素Ｐの近傍に位置する周囲画素の輝度値に応じた補正が行われているため、局所的な輝度分布特性に応じた調整が行われることになる。かくして、本発明によれば、画像全体の輝度と局所的な輝度との双方を併せて調整することが可能になる。
【００９５】
＜１−３．個別補正関数Ｆ［Ｐ］の実体と具体的な補正方法＞
続いて、ローカルトーンカーブＴ［Ｐ］の定義に利用される個別補正関数Ｆ［Ｐ］の実体と、これを利用したグローバルトーンカーブＴ［Ｇ］の補正方法を、具体例を挙げながら説明する。
【００９６】
上述したように、１つの着目画素Ｐについての個別補正関数Ｆ［Ｐ］は、参照領域Ｒ［Ｐ］内の周囲画素の輝度値を参照して設定される関数である。図６(a) は、このような個別補正関数Ｆ［Ｐ］の一例を示すグラフであり、図６(b) は、この個別補正関数Ｆ［Ｐ］を用いたグローバルトーンカーブＴ［Ｇ］の補正方法を示すグラフである。図６(b) において、一点鎖線は基準トーンカーブＴ０、実線はグローバルトーンカーブＴ［Ｇ］、破線はローカルトーンカーブＴ［Ｐ］を示している。このローカルトーンカーブＴ［Ｐ］は、実線で示すグローバルトーンカーブＴ［Ｇ］を図６(a) に破線で示す個別補正関数Ｆ［Ｐ］を用いて補正することにより得られる。
【００９７】
図６(a) に示す個別補正関数Ｆ［Ｐ］は、入力輝度値Ｌinを横軸、補正増減率Ｃを縦軸にとって、入力輝度値Ｌinと補正増減率Ｃとの関係を示すグラフによって表現される関数である。横軸のレンジは、これまで述べてきたトーンカーブの横軸のレンジと同様に、０〜２５５の入力輝度値になっている。これに対して、縦軸のレンジは、−１〜＋１の範囲に規格化されている。図示の例の場合、個別補正関数Ｆ［Ｐ］は、入力輝度値Ｌinが０から２５５へと増加してゆくと、補正増減率Ｃも−１から＋１へとゆるやかに単調増加する関数になっている。補正増減率Ｃは、グローバルトーンカーブＴ［Ｇ］の出力輝度値Ｌoutの補正増減量を示すものであり、Ｃ＝０は増減なし、Ｃ＞０は増加、Ｃ＜０は減少を示している。
【００９８】
ローカルトーンカーブＴ［Ｐ］は、グローバルトーンカーブＴ［Ｇ］における任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値を、個別補正関数Ｆ［Ｐ］における当該入力輝度値Ｌinに対応する補正増減率Ｃに応じて増減する補正を行うことにより得られる。すなわち、個別補正関数Ｆ［Ｐ］が負の値をとる領域については、グローバルトーンカーブＴ［Ｇ］に対する減少補正が行われ、個別補正関数Ｆ［Ｐ］が正の値をとる領域については、グローバルトーンカーブＴ［Ｇ］に対する増加補正が行われる。
【００９９】
図６(b) に示す例の場合、３つのカーブが点Ｏにおいて交差しており、この交点Ｏよりも左側の領域（個別補正関数Ｆ［Ｐ］が負の値をとる領域）については減少補正が行われ、破線のグラフＴ［Ｐ］が実線のグラフＴ［Ｇ］よりも下がっている。たとえば、入力輝度値Ｌin＝Ｌａに対応する各グラフ上の点として、点Ａ１，Ａ２，Ａ３が示されているが、実線のグラフＴ［Ｇ］上の点Ａ２は、図６(a) のグラフにおける補正指示量ａに応じた値だけ下がった点Ａ３の位置に補正される。
【０１００】
より具体的に説明すれば、図６(a) において、補正基準ラインξ０（Ｃ＝０のライン）と補正下限ラインξβ（Ｃ＝−１のライン）との間隔を最大補正指示量ｕａとし（この例の場合、ｕａ＝１）、入力輝度値Ｌａに対応する補正増減率Ｃの絶対値|Ｃ|を補正指示量ａとし、図６(b) において、点Ａ２と下限ラインＴ［bottom］との間隔を最大実補正量ｕａ′とし、点Ａ２と点Ａ３との間隔を実補正量ａ′とすれば、ａ／ｕａ＝ａ′／ｕａ′なる関係が得られるように、点Ａ３の位置が決定されることになる。
【０１０１】
一方、交点Ｏよりも右側の領域（個別補正関数Ｆ［Ｐ］が正の値をとる領域）については増加補正が行われ、破線のグラフＴ［Ｐ］が実線のグラフＴ［Ｇ］よりも上がっている。たとえば、入力輝度値Ｌin＝Ｌｂに対応する各グラフ上の点として、点Ｂ１，Ｂ２，Ｂ３が示されているが、実線のグラフＴ［Ｇ］上の点Ｂ２は、図６(a) のグラフにおける補正指示量ｂに応じた値だけ上がった点Ｂ１の位置に補正される。
【０１０２】
より具体的に説明すれば、図６(a) において、補正基準ラインξ０（Ｃ＝０のライン）と補正上限ラインξα（Ｃ＝＋１のライン）との間隔を最大補正指示量ｕｂとし（この例の場合、ｕｂ＝１）、入力輝度値Ｌｂに対応する補正増減率Ｃの絶対値|Ｃ|を補正指示量ｂとし、図６(b) において、点Ｂ２と上限ラインＴ［top］との間隔を最大実補正量ｕｂ′とし、点Ｂ１と点Ｂ２との間隔を実補正量ｂ′とすれば、ｂ／ｕｂ＝ｂ′／ｕｂ′なる関係が得られるように、点Ｂ１の位置が決定されることになる。
【０１０３】
破線で示すローカルトーンカーブＴ［Ｐ］は、このようにして得られた補正後の点Ａ３，Ｂ１等を連結することにより定義される。要するに、図６(a) に示す補正基準ラインξ０を図６(b) に示すグローバルトーンカーブＴ［Ｇ］に対応させ、図６(a) に示す補正上限ラインξαを図６(b) に示す上限ラインＴ［top］に対応させ、図６(a) に示す補正下限ラインξβを図６(b) に示す下限ラインＴ［bottom］に対応させた上で、ξ０とξαとで挟まれた空間をＴ［Ｇ］とＴ［top］で挟まれた空間に割り当て、ξ０とξβとで挟まれた空間をＴ［Ｇ］とＴ［bottom］で挟まれた空間に割り当てるような縦軸に関する線形変換を行った場合に、個別補正関数Ｆ［Ｐ］の線形変換像として得られるトーンカーブがローカルトーンカーブＴ［Ｐ］ということになる。
【０１０４】
図７は、別な個別補正関数Ｆ［Ｐ］を用いたグローバルトーンカーブＴ［Ｇ］の補正方法を示すグラフである。図７(a) に示す個別補正関数Ｆ［Ｐ］は、入力輝度値Ｌinが０から２５５へと増加してゆくと、補正増減率Ｃが＋１から−１へとゆるやかに単調減少する関数になっている。ここでも補正増減率Ｃは、グローバルトーンカーブＴ［Ｇ］の出力輝度値Ｌoutの補正増減量を示すものであり、Ｃ＝０は増減なし、Ｃ＞０は増加、Ｃ＜０は減少を示す。
【０１０５】
このような単調減少する個別補正関数Ｆ［Ｐ］を用いた場合、図７(b) に示すような補正が行われる。この図７(b) において、一点鎖線で示す基準トーンカーブＴ０および実線で示すグローバルトーンカーブＴ［Ｇ］は、図６(b) に示すものと全く同じである。ただ、異なる個別補正関数Ｆ［Ｐ］を用いた補正が行われたため、破線で示すローカルトーンカーブＴ［Ｐ］の形状は異なっている。すなわち、この例の場合、３つのカーブは点Ｏにおいて交差しており、この交点Ｏよりも左側の領域（個別補正関数Ｆ［Ｐ］が正の値をとる領域）については増加補正が行われ、破線のグラフＴ［Ｐ］が実線のグラフＴ［Ｇ］よりも上がっている。たとえば、入力輝度値Ｌin＝Ｌａに対応する各グラフ上の点として、点Ａ１，Ａ２，Ａ３が示されているが、実線のグラフＴ［Ｇ］上の点Ａ３は、図７(a) のグラフにおける補正指示量ａに応じた値だけ上がった点Ａ２の位置に補正される。
【０１０６】
より具体的に説明すれば、図７(a) において、補正基準ラインξ０（Ｃ＝０のライン）と補正上限ラインξα（Ｃ＝＋１のライン）との間隔を最大補正指示量ｕａとし（この例の場合、ｕａ＝１）、入力輝度値Ｌａに対応する補正増減率Ｃの絶対値|Ｃ|を補正指示量ａとし、図７(b) において、点Ａ１と点Ａ３との間隔を最大実補正量ｕａ′とし、点Ａ２と点Ａ３との間隔を実補正量ａ′とすれば、ａ／ｕａ＝ａ′／ｕａ′なる関係が得られるように、点Ａ２の位置が決定されることになる。
【０１０７】
一方、交点Ｏよりも右側の領域（個別補正関数Ｆ［Ｐ］が負の値をとる領域）については減少補正が行われ、破線のグラフＴ［Ｐ］が実線のグラフＴ［Ｇ］よりも下がっている。たとえば、入力輝度値Ｌin＝Ｌｂに対応する各グラフ上の点として、点Ｂ１，Ｂ２，Ｂ３が示されているが、実線のグラフＴ［Ｇ］上の点Ｂ１は、図７(a) のグラフにおける補正指示量ｂに応じた値だけ下がった点Ｂ２の位置に補正される。
【０１０８】
より具体的に説明すれば、図７(a) において、補正基準ラインξ０（Ｃ＝０のライン）と補正下限ラインξβ（Ｃ＝−１のライン）との間隔を最大補正指示量ｕｂとし（この例の場合、ｕｂ＝１）、入力輝度値Ｌｂに対応する補正増減率Ｃの絶対値|Ｃ|を補正指示量ｂとし、図７(b) において、点Ｂ１と点Ｂ３との間隔を最大実補正量ｕｂ′とし、点Ｂ１と点Ｂ２との間隔を実補正量ｂ′とすれば、ｂ／ｕｂ＝ｂ′／ｕｂ′なる関係が得られるように、点Ｂ２の位置が決定されることになる。
【０１０９】
破線で示すローカルトーンカーブＴ［Ｐ］は、このようにして得られた補正後の点Ａ２，Ｂ２等を連結することにより定義される。要するに、図７(a) に示す補正基準ラインξ０を図７(b) に示すグローバルトーンカーブＴ［Ｇ］に対応させ、図７(a) に示す補正上限ラインξαの左半分を図７(b) に示す基準トーンカーブＴ０の左半分に対応させ、図７(a) に示す補正下限ラインξβの右半分を図７(b) に示す基準トーンカーブＴ０の右半分に対応させた上で、ξ０とξαとで挟まれた空間をＴ［Ｇ］とＴ０で挟まれた空間に割り当て、ξ０とξβとで挟まれた空間をＴ［Ｇ］とＴ０で挟まれた空間に割り当てるような縦軸に関する線形変換を行った場合に、個別補正関数Ｆ［Ｐ］の線形変換像として得られるトーンカーブがローカルトーンカーブＴ［Ｐ］ということになる。
【０１１０】
図６(b) ，図７(b) に破線で示すローカルトーンカーブＴ［Ｐ］は、いずれもＳ字状のカーブであり、画像上の暗い画素の輝度値を下げて更に暗くし、画像上の明るい画素の輝度値を上げて更に明るくする調整を行う機能を有する。したがって、グローバルな観点で捉えれば、画像全体に対して、図６(b) ，図７(b) に実線で示すグローバルトーンカーブＴ［Ｇ］に応じた輝度調整、すなわち、コントラストを強める調整が行われることになる。
【０１１１】
ただ、局所的な視野で見ると、図６(a) に示すような単調増加する個別補正関数Ｆ［Ｐ］が設定された画素については、図６(b) に破線で示すように、急峻なＳ字形状をもったローカルトーンカーブＴ［Ｐ］が適用され、コントラストの強調度が高いのに対して、図７(a) に示すような単調減少する個別補正関数Ｆ［Ｐ］が設定された画素については、図７(b) に破線で示すように、緩慢なＳ字形状をもったローカルトーンカーブＴ［Ｐ］が適用され、コントラストの強調度が低くなる。このように、画像全体に対するグローバルな観点からは、オペレータが設定したグローバルトーンカーブＴ［Ｇ］に応じた輝度調整が行われるものの、局所的には、周囲画素の輝度値に応じた微調整が行われることになる点が本発明の重要な特徴である。
【０１１２】
なお、図６(a) には単調増加する個別補正関数Ｆ［Ｐ］を例示し、図７(a) には単調減少する個別補正関数Ｆ［Ｐ］を例示したが、通常は、同一の画像に対して、単調増加する個別補正関数Ｆ［Ｐ］および単調減少する個別補正関数Ｆ［Ｐ］を混在させて設定することは行わず（もちろん、オペレータが望めば、そのような設定に基づいて処理を進めることも可能であるが）、いずれか一方を選択して設定するのが一般的である。
【０１１３】
§２で詳述するとおり、この個別補正関数Ｆ［Ｐ］の細かな形状や配置（特に、補正基準ラインξ０を横切る位置）は、参照領域内の周囲画素の輝度値に応じて決定される。したがって、単調増加する個別補正関数Ｆ［Ｐ］および単調減少する個別補正関数Ｆ［Ｐ］のいずれか一方のみを用いることにしたとしても、個々の着目画素ごとに、周囲が暗いか明るいかによって、設定される個別補正関数Ｆ［Ｐ］の細かな形状や配置は異なる。本発明の輝度変換処理において、局所的な微調整が可能になる理由は、このような方法で個々の画素ごとに個別補正関数Ｆ［Ｐ］を設定するようにしたためである。
【０１１４】
＜＜＜  §２．  基本的実施形態に係る画像処理装置  ＞＞＞
続いて、本発明の基本的実施形態に係る画像処理装置の構成および動作を説明する。
【０１１５】
＜２−１．画像処理装置の基本構成＞
図８は、本発明の基本的実施形態に係る画像処理装置の構成を示すブロック図である。図示のとおり、この画像処理装置は、調整前画像格納手段１１０、グローバルトーンカーブ設定手段１２０、輝度値変換手段１３０、個別補正関数設定手段１４０、調整後画像格納手段１５０を備えており、与えられた調整前画像Ｕ１に対して輝度調整を行い、調整後画像Ｕ２として出力する機能を有している。実際には、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって実現することができ、本発明に係る画像処理装置は、汎用のコンピュータに専用のプログラムを組み込むことによって構成することができる。
【０１１６】
調整前画像格納手段１１０は、それぞれ所定の輝度値をもつ画素の配列からなる調整前画像Ｕ１を格納する構成要素であり、実際には、コンピュータに組み込まれたメモリ等の記憶素子の一部によって構成される。図８のブロック１１０内には、説明の便宜上、４×６の画素配列からなる調整前画像Ｕ１が調整前画像格納手段１１０に格納された状態が模式的に描かれている。ここでは、§１で述べたとおり、個々の画素には、８ビットの輝度値（０〜２５５）が与えられているものとする。
【０１１７】
グローバルトーンカーブ設定手段１２０は、オペレータの設定操作に基づいて、入力輝度値Ｌinを出力輝度値Ｌout に変換するためのグローバルトーンカーブＴ［Ｇ］を設定する。より具体的には、グローバルトーンカーブ設定手段１２０は、０≦Ｌin≦Ｍ（但し、Ｍは輝度値の最大値）なる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成されるグローバルトーンカーブを設定する機能を有している。§１で述べた例は、輝度値の最大値Ｍ＝２５５に設定した例であり、入力輝度値Ｌinおよび出力輝度値Ｌout は、いずれも０〜２５５の範囲内で定義されている。
【０１１８】
図８のブロック１２０内には、図２に示すトーンカーブＴ１を設定した例が描かれている。§１で述べたとおり、トーンカーブは明暗やコントラストの調整を指示するためのグラフとして広く利用されており、一般的な画像処理装置には、ディスプレイ画面上に表示したトーンカーブを、オペレータの操作に基づいて任意の形状に変化させるインターフェイスが備わっている。グローバルトーンカーブ設定手段１２０も、このような公知のインターフェイスをそのまま利用して構成することができるため、その具体的な内容についての説明は省略する。
【０１１９】
個別補正関数設定手段１４０は、調整前画像格納手段１１０に格納されている調整前画像Ｕ１を構成する個々の画素をそれぞれ着目画素として、当該着目画素を含むその近傍の領域にそれぞれ参照領域を設定し、各参照領域内において着目画素の周囲に位置する周囲画素の輝度値を参照して、各着目画素のそれぞれについて輝度値を変数とする個別補正関数を設定する処理を行う。図８のブロック１１０内には、調整前画像Ｕ１を構成する第ｉ番目の画素Ｐｉ（ハッチング部分）を着目画素として、当該着目画素Ｐｉを中心に含む３×３の画素配列からなる太線で囲った部分を参照領域Ｒ［Ｐｉ］に設定した例が示されている。
【０１２０】
着目画素Ｐｉについての個別補正関数Ｆ［Ｐｉ］は、参照領域Ｒ［Ｐｉ］内の８個の周囲画素の輝度値を参照することにより決定される。具体的には、個別補正関数設定手段１４０は、参照領域Ｒ［Ｐｉ］内の着目画素Ｐｉを含めた９個の画素の輝度値を読み出し、これらの輝度値を利用した所定のアルゴリズムに基づく演算を行うことにより、個別補正関数Ｆ［Ｐｉ］を設定する処理を行う。図８のブロック１４０内には、図６(a) に示すような単調増加型の個別補正関数Ｆ［Ｐｉ］が設定された例が描かれている。
【０１２１】
個別補正関数設定手段１４０は、このように第ｉ番目の画素Ｐｉを着目画素として個別補正関数Ｆ［Ｐｉ］を設定する処理を、パラメータｉをｉ＝１，２，３，... と更新しながら繰り返し行うことになる。その結果、調整前画像Ｕ１を構成するすべての画素Ｐについて、それぞれ個別補正関数Ｆ［Ｐ］が定義される。
【０１２２】
なお、実用上は、図示のとおり、個別補正関数設定手段１４０に対しても、オペレータの設定操作が可能になるようにしておき、個別補正関数Ｆ［Ｐ］を設定するために用いる種々のパラメータ（たとえば、図６(a) に示すような単調増加型の関数を用いるか、図７(a) に示すような単調減少型の関数を用いるかを選択するパラメータ）を任意に設定できるようにしておくのが好ましい。この個別補正関数設定手段１４０による個別補正関数Ｆ［Ｐ］の具体的な設定方法については、§２−４以降で詳述する。
【０１２３】
輝度値変換手段１３０は、個々の着目画素Ｐのそれぞれについて、ローカルトーンカーブＴ［Ｐ］を定義し、当該ローカルトーンカーブＴ［Ｐ］を用いて、調整前画像格納手段１１０に格納されている個々の着目画素Ｐの輝度値を変換する処理を行う。ここで、ローカルトーンカーブＴ［Ｐ］は、グローバルトーンカーブ設定手段１２０に設定されているグローバルトーンカーブＴ［Ｇ］を、個別補正関数Ｆ［Ｐ］に基づいて補正することにより定義される。
【０１２４】
図８のブロック１３０内には、第ｉ番目の着目画素Ｐｉについて定義されたローカルトーンカーブＴ［Ｐｉ］が描かれているが、このローカルトーンカーブＴ［Ｐｉ］は、図６(b) に例示されたトーンカーブＴ［Ｐ］に相当するものである。輝度値変換手段１３０は、グローバルトーンカーブ設定手段１２０に設定されているグローバルトーンカーブＴ［Ｇ］に対して、個別補正関数設定手段１４０で設定された個別補正関数Ｆ［Ｐｉ］を用いた補正を行い、図示のようなローカルトーンカーブＴ［Ｐｉ］を定義する。具体的な補正方法は、既に§１−３で述べたとおりである。
【０１２５】
続いて、輝度値変換手段１３０は、調整前画像格納手段１１０から読み出した着目画素Ｐｉの輝度値Ｌ（Ｐｉ）に対して、ローカルトーンカーブＴ［Ｐｉ］を適用することにより変換を行い、変換後の輝度値Ｌ（Ｑｉ）を画素Ｑｉの輝度値として、調整後画像格納手段１５０に書き込む処理を行う。
【０１２６】
調整後画像格納手段１５０は、こうして輝度値変換手段１３０によって変換された輝度値Ｌ（Ｑｉ）をもつ画素Ｑｉの配列を調整後画像Ｕ２として格納し、必要に応じてこれを外部に出力する機能を果たす。
【０１２７】
このような構成をもつ画像処理装置を用いれば、画像全体の輝度と局所的な輝度との双方を併せて調整することができるメリットが得られる点は、既に§１で述べたとおりである。
【０１２８】
なお、これまでの実施例では、着目画素Ｐを中心とした３×３の画素配列を参照領域Ｒ［Ｐ］として設定した例を示したが、実際には、より大きなサイズの画素配列を参照領域Ｒ［Ｐ］として設定するのが好ましい。実用上は、参照領域Ｒ［Ｐ］のサイズは、調整前画像Ｕ１のサイズに応じて変化させるのが好ましい。これは、画像のサイズが大きくなれば、人間が局所として把握する領域のサイズも相対的に大きくなると考えられるからである。
【０１２９】
そのためには、調整前画像格納手段１１０に、横方向の画素数Ｓｘ、縦方向の画素数Ｓｙを有する矩形状の調整前画像Ｕ１が格納されている場合、個別補正関数設定手段１４０が、予め設定されている分割数ｎを用いて、Ｓｘ／ｎもしくはＳｙ／ｎなる除算を行い、着目画素Ｐを中心に含み、除算の商に近い画素数に対応する長さを一辺とする正方形領域を、当該着目画素Ｐについての参照領域Ｒ［Ｐ］として自動的に設定するようにすればよい。正方形領域の代わりに、除算の商に近い画素数に対応する長さをもった辺を長辺もしくは短辺とする矩形領域を参照領域Ｒ［Ｐ］として設定するようにしてもかまわない。
【０１３０】
本願発明者が種々のサイズの調整前画像Ｕ１を用いて実験したところ、ｎ＝１０程度に設定し、矩形状の画像の長辺の画素数（通常、横方向の画素数Ｓｘ）をｎで除して得られる商に近い画素数に対応する長さを一辺とする正方形領域もしくは矩形領域を、参照領域Ｒ［Ｐ］として設定すると良好な結果が得られることが確認できた。たとえば、横方向の画素数Ｓｘが１９２０画素の横長の画像を調整前画像Ｕ１とする場合、ｎ＝１０に設定すれば、Ｓｘ／ｎ＝１９２となるので、一辺が１９２画素からなる正方形領域、もしくは、これに近い、たとえば一辺が２００画素からなる正方形領域を参照領域Ｒ［Ｐ］として設定すればよい。
【０１３１】
なお、調整前画像Ｕ１の境界（輪郭線）近くの着目画素については、設定した参照領域の一部が画像の外部に食み出してしまうことになるが、その場合は、前述したように、食み出した部分を無視してもよいし、画像の境界線部分に鏡を立て、画像内部の画素の複製を画像外部に作成して利用するようにしてもよい。
【０１３２】
また、これまで述べてきた実施例では、調整前画像Ｕ１を構成する各画素Ｐについて、それぞれローカルトーンカーブＴ［Ｐ］を定義する、という説明を行ってきたが、実際には、輝度値変換手段１３０は、個々のローカルトーンカーブＴ［Ｐ］を輝度値の全範囲について求める演算を行う必要はなく、個々の着目画素の輝度値変換に必要な部分についてのみ、ローカルトーンカーブを求める演算を行えば足りる。
【０１３３】
たとえば、図８のブロック１３０内には、第ｉ番目の着目画素Ｐｉについて定義されたローカルトーンカーブＴ［Ｐｉ］が描かれているが、このローカルトーンカーブＴ［Ｐｉ］は、第ｉ番目の着目画素Ｐｉの輝度値Ｌ［Ｐｉ］を変換するためにのみ用いられるカーブであるので、実際には、輝度値Ｌ［Ｐｉ］を入力輝度値Ｌinとした場合の出力輝度値Ｌout を与える機能を果たせば十分である。したがって、概念的には、第ｉ番目の着目画素Ｐｉについて、図示のようなローカルトーンカーブＴ［Ｐｉ］が定義されるものの、実際にローカルトーンカーブＴ［Ｐｉ］を求めるための演算は、着目画素Ｐｉの輝度値変換に必要な部分、すなわち、輝度値Ｌ［Ｐｉ］に対する変換を行うのに必要な部分のみについて行えばよい。
【０１３４】
＜２−２．人間の脳内で行われる視覚処理の特徴＞
ここでは、本発明における局所的な輝度調整を行う上での基本方針を理解する一助となるように、人間の脳内で行われる視覚処理の特徴を簡単に述べておく。
【０１３５】
そもそも画質についての良否は、人の感性に大きく依存し、物理的に明瞭な判断基準を設けることは困難である。しかしながら、多くの場合、直感的な第一印象が、個人個人の判断に大きな影響を与えている。この第一印象は、極めて早い反応であり、脳の高次の機能や無意識が大きく影響していると考えられる。このように画質の良否基準が人の感性に依存することを考慮すると、画質の改善には、人の眼と脳による視覚処理の仕組を考慮することが重要である。
【０１３６】
一般に、認知心理学の分野では、人間の脳内で行われる基本的な視覚処理として、「明度対比」と「明度同化」という処理が知られている。ここで、「明度対比」とは、ゲシュタルト心理学等で述べられているように、画像から「図」の部分（注視又は注目している対象画像領域）と「地」の部分（対象画像に対する背景画像領域）とを把握し、両者の関係性から、「図」のコントラストを増して、より「図」を見やすくする処理機能ということができ、部分視に関わる機能と考えられている。一方、「明度同化」とは、コントラストを低下させて複数の画像領域を１つの画像領域と見なす全体視に関わる機能であり、「地」に関係する機能と考えられている。
【０１３７】
人間の脳内における視覚処理は、網膜画像を入力情報として取得することにより開始される。この網膜画像は、一般のカメラで撮影された写真画像とは大きく異なり、焦点が合う画角は２度程度、色が判別できるのは２０〜３０度程度と言われている。すなわち、視野中心以外は焦点の合っていない画像と言える。これに対して一般の写真画像は、人が見て好ましい画像として物理的に作られている。しかも、一般の写真画像が、１回のシャッター操作によって撮影された画像であるのに対して、人間の脳内で処理される画像は、眼球運動による様々な注視点の画像を合成することにより得られる脳内イメージというべきものである。
【０１３８】
このような理由から、写真画像と脳内イメージとの間には、大きな違いが生じることになる。たとえば、写真等に見られる黒つぶれや白飛びの現象は、このような違いに起因する最も顕著な例である。カメラ等の機器を用いて撮影を行う場合、基本的に明るさの基準を一か所に設定して撮影するので、写真画像には、明るさのダイナミックレンジの範囲外の箇所に、黒つぶれや白飛びが発生することになる。これに対して、人間の脳内では、明るさが大きく異なる画像を、それぞれ適切に対処して合成することにより、良好な脳内イメージが形成されるものと考えられる。
【０１３９】
このように、人間の脳内で行われる視覚処理の特徴を踏まえると、局所的な輝度調整を行う際に、対比的にコントラストを増すようにするか、同化的にコントラストを減らすようにするかは、「図（対象画像）」の性質や、図に対する「地（背景画像）」の関係性によって決定されるべき問題であることがわかる。そこで、ここで述べる実施形態の場合、着目画素を「図」と把握し、周囲画素を「地」と把握することにより、周囲画素の輝度値が着目画素に対するコントラストに影響を与える要因になるものと仮定して、周囲画素の輝度値を参照して、着目画素の輝度値の補正を行うようにしているのである。
【０１４０】
＜２−３．局所的な輝度調整を行う上での基本方針＞
既に述べたとおり、個別補正関数設定手段１４０は、参照領域Ｒ［Ｐ］内において着目画素Ｐの周囲に位置する周囲画素の輝度値を参照して、当該着目画素Ｐについての個別補正関数Ｆ［Ｐ］を設定する処理を行う。これは、着目画素Ｐの輝度値を調整するにあたって、基本的には、オペレータが設定したグローバルトーンカーブＴ［Ｇ］に従ったグローバルな調整処理を適用するものの、局所的には、周囲の輝度値に応じて若干の補正を行う、という本発明の基本概念に基づくものである。個別補正関数Ｆ［Ｐ］は、この局所的な輝度調整を行うためのパラメータとして機能する。そこで、ここでは、局所的な輝度調整を行う上での基本方針を述べておく。
【０１４１】
なお、ここで述べる基本方針は、純然たる物理的な論理に基づくものではなく、§２−２で述べたように、人間の脳内で行われる視覚処理の特徴を踏まえたものになっている。別言すれば、個別補正関数Ｆ［Ｐ］による補正は、「人間が見た場合に、どのように見えるか」という観点に立ち、「物理的な尺度で測定した輝度値」ではなく、「人間の脳によって決定された輝度値」を想定した補正を行うことを目的としている。
【０１４２】
図９は、本発明による局所的な輝度調整の基本原理を説明する表である。この表の第１欄には「画像」という表題のもとに、パターンＡおよびパターンＢという２通りのパターンについての実際の画像が表示されている。これらの画像は、人間の脳による明度対比の結果として生じる錯視を説明するために古くから利用されている画像である。いずれの画像も大小２種類の正方形を入れ子式に配置した図形の画像であるが、両者で内側正方形（グレーの部分）の内部の明るさを比較すると、実際には同じ明るさであるにもかかわらず、パターンＡの内側正方形の方がパターンＢの内側正方形よりも暗く見える。すなわち、「物理的な尺度で測定した輝度値」は同じであるのに、「人間の脳によって決定された輝度値」は異なる。
【０１４３】
これら２つのパターンは、いずれも入れ子式の二重正方形構造を採っているが、その物理的な特徴の相違は、表の第２欄の「特徴」に記載したとおり、パターンＡの場合は「中心部分が周囲部分よりも暗い」のに対して、パターンＢの場合は「中心部分が周囲部分よりも明るい」という点である。もちろん、これらの特徴は純然たる物理的な特徴であり、また、「内側正方形の明るさは両者で同じである」という特徴も純然たる物理的な特徴である。ところが、「人間が見た場合に、どのように見えるか」という観点に立つと、上記物理的特徴に反して、「パターンＡの内側正方形の方がパターンＢの内側正方形よりも暗く見える」という錯視が生じることになる。
【０１４４】
このような錯視が生じる原因は、認知心理学上、「中心部分が周囲部分よりも暗い」という特徴をもった画像を脳が処理すると、「中心部分がより暗く見える」という視覚的現象が生じ、「中心部分が周囲部分よりも明るい」という特徴をもった画像を脳が処理すると、「中心部分がより明るく見える」という視覚的現象が生じるためである（表の第３欄「視覚的現象」を参照）。このような視覚的現象が生じるのは、前述したように、人間の脳内で行われる「明度対比」により、「図（内側正方形）」のコントラストを増して、より「図」を見やすくする処理機能が働くためと考えられている。このような処理機能は、人間が進化の過程において、外敵や獲物を「図」として即座に認識するために自然に身につけてきた機能とされている。
【０１４５】
結局、「物理的な尺度で測定した輝度値」を基準にとった議論では、「内側正方形の明るさは両者で同じである」という結論が導かれるのに対して、「人間の脳によって決定された輝度値」を基準にとった議論では、コントラストを増して、より「図」を見やすくする処理機能が働くため、「パターンＡの内側正方形の方がパターンＢの内側正方形よりも暗い」という結論が導かれることになる。本願発明者は、このような認知心理学上の特徴を利用すれば、人間の脳内で行われる視覚処理に適合させたコントラスト調整が可能になることを見出した。
【０１４６】
まず第１に、パターンＡに示すように「中心部分が周囲部分よりも暗いと、中心部分がより暗く見える」という視覚的現象が生じることを利用すれば、表の第４欄の「帰結Ｉ」に記載したとおり、「中心部分が周囲部分よりも暗い場合には、中心部分をより暗くするとコントラストが強まる」という視覚的現象が生じることになり、逆に、表の第５欄の「帰結II」に記載したとおり、「中心部分が周囲部分よりも暗い場合には、中心部分を明るくするとコントラストが弱まる」という視覚的現象が生じることになる。
【０１４７】
そして第２に、パターンＢに示すように「中心部分が周囲部分よりも明るいと、中心部分がより明るく見える」という視覚的現象が生じることを利用すれば、表の第４欄の「帰結Ｉ」に記載したとおり、「中心部分が周囲部分よりも明るい場合には、中心部分をより明るくするとコントラストが強まる」という視覚的現象が生じることになり、逆に、表の第５欄の「帰結II」に記載したとおり、「中心部分が周囲部分よりも明るい場合には、中心部分を暗くするとコントラストが弱まる」という視覚的現象が生じることになる。
【０１４８】
本発明では、この帰結Ｉおよび帰結IIに記載した視覚的現象を利用して、局所的な輝度調整を行うことになる。いわば、物理的な輝度値に基づく輝度調整ではなく、人間の脳に合わせた輝度調整が行われることになる。以下、局所的コントラストを強める場合と、局所的コントラストを弱める場合とに分けて、本発明における局所的な輝度調整の基本原理を説明する。
【０１４９】
＜２−４．局所的コントラストを強める場合の輝度調整＞
図１０は、図９に示す帰結Ｉに基づいて局所的コントラストを強めるための輝度調整を行う基本原理を説明する図である。いま、図の中段に示すような３×３の画素配列を考える。この画素配列は、その中心に配置された着目画素Ｐについて設定された参照領域Ｒ［Ｐ］を示すものであり、ここでは、着目画素Ｐの周囲に配置された８個の周囲画素Ｅの輝度値に基づいて、当該着目画素Ｐについての個別補正関数Ｆ［Ｐ］を設定する場合を考えてみよう。
【０１５０】
この場合、まず、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの輝度値とを比較する処理を行う。もっとも、比較対象となる周囲画素Ｅは複数個（図示の例の場合は８個）存在するので、実際に比較を行うのは、着目画素Ｐの輝度値Ｌ［Ｐ］と複数の周囲画素Ｅの代表輝度値Ｌｅということになる。複数の周囲画素Ｅの代表輝度値Ｌｅとしては、たとえば、平均値を用いればよい。図示の例の場合、８個の周囲画素Ｅの輝度値の平均値が代表輝度値Ｌｅになる。
【０１５１】
こうして、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとを比較した結果、Ｌ［Ｐ］＜Ｌｅであった場合、すなわち、着目画素Ｐが周囲画素Ｅに比べて相対的に暗かった場合は、「中心部分が周囲部分よりも暗い場合には、中心部分をより暗くするとコントラストが強まる」という帰結Ｉ（図９の表の第４欄左）に基づいて、着目画素Ｐをより暗くすれば、コントラストを強める補正を行うことができる。そこで、図１０の上段に示すグラフの左半分の領域（代表輝度値Ｌｅよりも入力輝度値Ｌinが小さい領域）では、補正増減率Ｃとして負の値が設定されるよう、補正基準ラインξ０上の点Ｐ１，Ｐ２を下方に移動している。ここで、代表輝度値Ｌｅに対する隔たりが大きい点Ｐ１は、隔たりが小さい点Ｐ２よりも、下方への移動量が大きくなるように設定されている。
【０１５２】
一方、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとを比較した結果、Ｌ［Ｐ］＞Ｌｅであった場合、すなわち、着目画素Ｐが周囲画素Ｅに比べて相対的に明るかった場合は、「中心部分が周囲部分よりも明るい場合には、中心部分をより明るくするとコントラストが強まる」という帰結Ｉ（図９の表の第４欄右）に基づいて、着目画素Ｐをより明るくすれば、コントラストを強める補正を行うことができる。そこで、図１０の上段に示すグラフの右半分の領域（代表輝度値Ｌｅよりも入力輝度値Ｌinが大きい領域）では、補正増減率Ｃとして正の値が設定されるよう、補正基準ラインξ０上の点Ｐ３，Ｐ４を上方に移動している。ここで、代表輝度値Ｌｅに対する隔たりが大きい点Ｐ４は、隔たりが小さい点Ｐ３よりも、上方への移動量が大きくなるように設定されている。
【０１５３】
なお、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとを比較した結果、Ｌ［Ｐ］＝Ｌｅであった場合、すなわち、着目画素Ｐと周囲画素Ｅとが同じ明るさであった場合は、補正増減率Ｃが０になるように、基準ラインξ０上の点Ｅ０の位置はそのままにする。
【０１５４】
このような方針により、基準ラインξ０上の各点について、代表輝度値Ｌｅよりも入力輝度値Ｌinが小さい領域に関しては下方に移動させ、かつ、Ｌｅに対する隔たりが大きい点ほど下方への移動量が大きくなるようにし（最大移動量は、Ｃ＝−１のラインに達するまで）、代表輝度値Ｌｅよりも入力輝度値Ｌinが大きい領域に関しては上方に移動させ、かつ、Ｌｅに対する隔たりが大きい点ほど上方への移動量が大きくなるようにすれば（最大移動量は、Ｃ＝＋１のラインに達するまで）、移動後の各点の集合により、図に破線で示すようなグラフが得られる。
【０１５５】
当該グラフは、横軸に入力輝度値Ｌin、縦軸に補正増減率Ｃをとったグラフであり、入力輝度値Ｌinの増加とともに単調増加する個別補正関数Ｆ［Ｐ］のグラフに他ならない。実際、図１０の上段に示す個別補正関数Ｆ［Ｐ］のグラフは、図６(a) に示す個別補正関数Ｆ［Ｐ］のグラフと全く同じものであり、このような個別補正関数Ｆ［Ｐ］を用いてグローバルトーンカーブＴ［Ｇ］に対する補正を行えば、図６(b) に示すようなローカルトーンカーブＴ［Ｐ］が得られることは既に述べたとおりである。
【０１５６】
ここで重要な点は、図１０の上段に示すように、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値が、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに一致している点である。別言すれば、個別補正関数Ｆ［Ｐ］のグラフ上において、代表輝度値Ｌｅに対応する点Ｅ０の縦軸座標値は、Ｃ＝０になっている。図では、たまたま代表輝度値がＬｅ＝１２８である場合の例が示されているため、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０が、グラフの中心に位置しているが、点Ｅ０の横軸座標値は、常に周囲画素Ｅの代表輝度値Ｌｅに一致する。したがって、周囲画素Ｅが暗い場合には、点Ｅ０は図の左方に移動し、個別補正関数Ｆ［Ｐ］のグラフ全体も図の左方へとスライドする。逆に、周囲画素Ｅが明るい場合には、点Ｅ０は図の右方に移動し、個別補正関数Ｆ［Ｐ］のグラフ全体も図の右方へとスライドする。
【０１５７】
個々の着目画素Ｐについて、このような特徴をもった個別補正関数Ｆ［Ｐ］を設定すれば、着目画素Ｐの輝度値Ｌ［Ｐ］が代表輝度値Ｌｅと等しい場合、すなわち、周囲と同じ明るさの場合、点Ｅ０で示されるように補正増減率はＣ＝０になり、局所的な輝度調整は行われないことになる。ところが、着目画素Ｐが周囲より暗い場合や明るい場合は、図９の表の第４欄に示す帰結Ｉに基づく局所的な輝度調整が行われることになる。このように、特定の着目画素Ｐに対する局所的な輝度調整は、常に、周囲画素の代表輝度値Ｌｅと当該着目画素Ｐの輝度値Ｌ［Ｐ］との相対的な比較に基づいて行われる。その結果、前述したように、着目画素Ｐを認知心理学上の「図」、周囲画素Ｅを認知心理学上の「地」として、人間の脳内で特有の視覚処理が行われることを前提にすれば、着目画素Ｐの周辺における局所的なコントラストを強める効果が得られるのである。
【０１５８】
このように、局所的なコントラストを強める補正を行うという前提では、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素Ｅの代表輝度値Ｌｅよりも小さい場合は、当該着目画素Ｐの輝度値Ｌ［Ｐ］をより小さくし、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素Ｅの代表輝度値Ｌｅよりも大きい場合は、当該着目画素Ｐの輝度値Ｌ［Ｐ］をより大きくし、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素Ｅの代表輝度値Ｌｅに等しい場合は、当該着目画素Ｐの輝度値Ｌ［Ｐ］をそのままとするような機能をもった個別補正関数Ｆ［Ｐ］を設定すればよいことになる。
【０１５９】
なお、図１０の上段に示すように、個別補正関数Ｆ［Ｐ］のグラフは、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加するという特徴も有している。その結果、代表輝度値Ｌｅに対する横軸上の隔たりが大きいほど、補正増減率Ｃの絶対値も大きくなり、補正量は大きくなる。このような設定は、一般的な画像に対する処理に関しては適切な設定である。
【０１６０】
たとえば、画像上の一部に、澄みきった青空領域があった場合、この青空領域に関しては、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとの隔たりは小さくなるであろう。その結果、局所的なコントラストを強める補正量はわずかになる。一般に、澄みきった青空領域に対してコントラストを強める補正を行う必要はないので、適切な輝度調整が行われたことになる。
【０１６１】
これに対して、白地の文字盤に黒い数字が印字されている時計が含まれている時計領域を考えてみよう。この時計領域に関しては、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとの隔たりは大きくなるであろう。その結果、局所的なコントラストを強める補正量も大きくなる。一般に、このような時計領域に対しては、コントラストを強める補正を行うのが好ましいので、やはり適切な輝度調整が行われたことになる。
【０１６２】
このような点を考慮すれば、本発明において、局所的コントラストを強めるための輝度調整を行う場合には、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定するのが好ましいと言える。
【０１６３】
＜２−５．局所的コントラストを弱める場合の輝度調整＞
上述した§２−４では、コントラストを強めることを前提とした輝度調整を述べたが、実用上は、逆にコントラストを弱める輝度調整が必要とされるケースもある。たとえば、ソフトフォーカスで撮影された写真画像では、コントラストを弱める輝度調整を施した方が、より好ましい画像になることが多い。あるいは、人物の顔写真などでは、肌の荒れを隠す目的で、コントラストを弱める輝度調整が行われることが多い。そこで、ここでは、局所的コントラストを弱める場合の輝度調整を述べる。
【０１６４】
図１１は、図９に示す帰結IIに基づいて局所的コントラストを弱めるための輝度調整を行う基本原理を説明する図である。図１０に示す例と同様に、この図１１においても、その中段に３×３の画素配列からなる参照領域Ｒ［Ｐ］が示されている。
【０１６５】
ここで、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとを比較した結果、Ｌ［Ｐ］＜Ｌｅであった場合、すなわち、着目画素Ｐが周囲画素Ｅに比べて相対的に暗かった場合は、「中心部分が周囲部分よりも暗い場合には、中心部分を明るくするとコントラストが弱まる」という帰結II（図９の表の第５欄左）に基づいて、着目画素Ｐを明るくすれば、コントラストを弱める補正を行うことができる。そこで、図１１の上段に示すグラフの左半分の領域（代表輝度値Ｌｅよりも入力輝度値Ｌinが小さい領域）では、補正増減率Ｃとして正の値が設定されるよう、補正基準ラインξ０上の点Ｐ１，Ｐ２を上方に移動している。ここで、代表輝度値Ｌｅに対する隔たりが大きい点Ｐ１は、隔たりが小さい点Ｐ２よりも、上方への移動量が大きくなるように設定されている。
【０１６６】
一方、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとを比較した結果、Ｌ［Ｐ］＞Ｌｅであった場合、すなわち、着目画素Ｐが周囲画素Ｅに比べて相対的に明るかった場合は、「中心部分が周囲部分よりも明るい場合には、中心部分を暗くするとコントラストが弱まる」という帰結II（図９の表の第５欄右）に基づいて、着目画素Ｐを暗くすれば、コントラストを弱める補正を行うことができる。そこで、図１１の上段に示すグラフの右半分の領域（代表輝度値Ｌｅよりも入力輝度値Ｌinが大きい領域）では、補正増減率Ｃとして負の値が設定されるよう、補正基準ラインξ０上の点Ｐ３，Ｐ４を下方に移動している。ここで、代表輝度値Ｌｅに対する隔たりが大きい点Ｐ４は、隔たりが小さい点Ｐ３よりも、下方への移動量が大きくなるように設定されている。
【０１６７】
なお、着目画素Ｐの輝度値Ｌ［Ｐ］と周囲画素Ｅの代表輝度値Ｌｅとを比較した結果、Ｌ［Ｐ］＝Ｌｅであった場合、すなわち、着目画素Ｐと周囲画素Ｅとが同じ明るさであった場合は、補正増減率Ｃが０になるように、基準ラインξ０上の点Ｅ０の位置はそのままにする。
【０１６８】
このような方針により、基準ラインξ０上の各点について、代表輝度値Ｌｅよりも入力輝度値Ｌinが小さい領域に関しては上方に移動させ、かつ、Ｌｅに対する隔たりが大きい点ほど上方への移動量が大きくなるようにし（最大移動量は、Ｃ＝＋１のラインに達するまで）、代表輝度値Ｌｅよりも入力輝度値Ｌinが大きい領域に関しては下方に移動させ、かつ、Ｌｅに対する隔たりが大きい点ほど下方への移動量が大きくなるようにすれば（最大移動量は、Ｃ＝−１のラインに達するまで）、移動後の各点の集合により、図に破線で示すようなグラフが得られる。
【０１６９】
当該グラフは、横軸に入力輝度値Ｌin、縦軸に補正増減率Ｃをとったグラフであり、入力輝度値Ｌinの増加とともに単調減少する個別補正関数Ｆ［Ｐ］のグラフに他ならない。実際、図１１の上段に示す個別補正関数Ｆ［Ｐ］のグラフは、図７(a) に示す個別補正関数Ｆ［Ｐ］のグラフと全く同じものであり、このような個別補正関数Ｆ［Ｐ］を用いてグローバルトーンカーブＴ［Ｇ］に対する補正を行えば、図７(b) に示すようなローカルトーンカーブＴ［Ｐ］が得られることは既に述べたとおりである。
【０１７０】
ここでも重要な点は、図１１の上段に示すように、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値が、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに一致している点である。別言すれば、個別補正関数Ｆ［Ｐ］のグラフ上において、代表輝度値Ｌｅに対応する点Ｅ０の縦軸座標値は、Ｃ＝０になっている。この図１１でも、たまたま代表輝度値がＬｅ＝１２８である場合の例が示されているため、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０が、グラフの中心に位置しているが、点Ｅ０の横軸座標値は、常に周囲画素Ｅの代表輝度値Ｌｅに一致する。したがって、周囲画素Ｅが暗い場合には、点Ｅ０は図の左方に移動し、個別補正関数Ｆ［Ｐ］のグラフ全体も図の左方へとスライドする。逆に、周囲画素Ｅが明るい場合には、点Ｅ０は図の右方に移動し、個別補正関数Ｆ［Ｐ］のグラフ全体も図の右方へとスライドする。
【０１７１】
個々の着目画素Ｐについて、このような特徴をもった個別補正関数Ｆ［Ｐ］を設定すれば、着目画素Ｐの輝度値Ｌ［Ｐ］が代表輝度値Ｌｅと等しい場合、すなわち、周囲と同じ明るさの場合、点Ｅ０で示されるように補正増減率はＣ＝０になり、局所的な輝度調整は行われないことになる。ところが、着目画素Ｐが周囲より暗い場合や明るい場合は、図９の表の第５欄に示す帰結IIに基づく局所的な輝度調整が行われることになる。その結果、着目画素Ｐの周辺における局所的なコントラストを弱める効果が得られることになる。。
【０１７２】
このように、局所的なコントラストを弱める補正を行うという前提では、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素Ｅの代表輝度値Ｌｅよりも小さい場合は、当該着目画素Ｐの輝度値Ｌ［Ｐ］をより大きくし、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素Ｅの代表輝度値Ｌｅよりも大きい場合は、当該着目画素Ｐの輝度値Ｌ［Ｐ］をより小さくし、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素Ｅの代表輝度値Ｌｅに等しい場合は、当該着目画素Ｐの輝度値Ｌ［Ｐ］をそのままとするような機能をもった個別補正関数Ｆ［Ｐ］を設定すればよいことになる。
【０１７３】
なお、図１１の上段に示すように、個別補正関数Ｆ［Ｐ］のグラフは、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少するという特徴も有している。その結果、代表輝度値Ｌｅに対する横軸上の隔たりが大きいほど、補正増減率Ｃの絶対値も大きくなり、補正量は大きくなる。このような設定は、やはり一般的な画像に対して局所的なコントラストを弱める処理としては適切な設定になる。したがって、本発明において、局所的コントラストを弱めるための輝度調整を行う場合には、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素の輝度値を代表する代表輝度値に相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数を設定するのが好ましいと言える。
【０１７４】
＜２−６．周囲画素Ｅの代表輝度値Ｌｅの算出＞
これまで、図１０を参照しながら、局所的コントラストを強める場合に利用する個別補正関数Ｆ［Ｐ］の設定方針を説明し、図１１を参照しながら、局所的コントラストを弱める場合に利用する個別補正関数Ｆ［Ｐ］の設定方針を説明した。基本的には、前者の場合は単調増加関数、後者の場合は単調減少関数を用いることになるが、いずれの場合も、重要な点は、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値を、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに一致させる点である。
【０１７５】
ここで、代表輝度値Ｌｅとしては、前述したとおり、参照領域内の複数の周囲画素Ｅの輝度値の平均値を用いてもよいし、着目画素Ｐに距離的に近い周囲画素Ｅほど大きな重みを付与して求めた加重平均値を当該複数の周囲画素Ｅの代表輝度値Ｌｅとしてもかまわない。図１０および図１１では、説明の便宜上、３×３の画素配列を参照領域とした例が示されているが、実際には、より大きなサイズの画素配列が参照領域として設定される。
【０１７６】
たとえば、横方向の画素数Ｓｘが１９２０画素の横長の画像を調整前画像Ｕ１とする場合、前述したように、ｎ＝１０に設定して、Ｓｘ／ｎ＝１９２なる演算を行い、一辺が１９２画素程度の正方形領域を参照領域Ｒ［Ｐ］として設定すれば、良好な輝度調整結果が得られる。この場合、１９２×１９２の画素配列が１つの着目画素Ｐの参照領域Ｒ［Ｐ］として設定されることになる。したがって、周囲画素Ｅの数は、「１９２×１９２−１」という４万に近い数になるので、これらの輝度値の単純な平均値を代表輝度値Ｌｅとして用いてもよいが、着目画素Ｐに距離的に近い周囲画素Ｅほど大きな重みを付与して求めた加重平均値を代表輝度値Ｌｅとして用いてもよい。
【０１７７】
なお、実際には、参照領域Ｒ［Ｐ］内の周囲画素Ｅの代表輝度値Ｌｅを求める際に、当該参照領域Ｒ［Ｐ］内の着目画素Ｐの輝度値を周囲画素Ｅの輝度値の１つとして取り扱うようにしてかまわない。たとえば、上例の場合、１９２×１９２の画素配列からなる参照領域Ｒ［Ｐ］内において、中心の着目画素Ｐを除いた「１９２×１９２−１」個の画素が周囲画素Ｅということになるが、単純な平均値として代表輝度値Ｌｅの算出を行う場合、中心の着目画素Ｐを１個だけ除いた演算を行うことは効率的ではない。したがって、実用上は、参照領域Ｒ［Ｐ］内の全画素（着目画素Ｐも含めた１９２×１９２個の画素）について集計を行うようにしてかまわない。着目画素Ｐの影響は、たかだか１／（１９２×１９２）程度なので、実用上は無視し得る。
【０１７８】
＜２−７．個別補正関数Ｆ［Ｐ］のグラフの形状＞
本発明において個別補正関数Ｆ［Ｐ］を設定するためのポイントは、局所的コントラストを強める場合には単調増加関数、弱める場合には単調減少関数を用いる点と、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値を、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに一致させる点である。したがって、たとえば、図１２に示すような単純な線形関数を個別補正関数Ｆ［Ｐ］として用いることもできる。
【０１７９】
ただ、本願発明者が行った実験によれば、単純な線形関数を用いるよりも、単調増加もしくは単調減少の状態がより自然な関数を用いた方が好ましい結果が得られた。自然な増減を示す代表的な関数としては、ガウス分布関数が知られている。図１３のグラフＧ１は、このガウス分布関数をグラフとして示したガウス分布曲線である。このガウス分布曲線Ｇ１自身は、ゆっくり増加しながらゆっくり減少する関数であるが、これを積分することにより得られる累積ガウス分布曲線Ｇ２は、図示のとおり、自然な増減を示す単調増加関数になる。もちろん、この累積ガウス分布曲線Ｇ２を左右反転すれば、単調減少関数として利用することもできる。
【０１８０】
実用上は、図１２に示すような単純な線形関数ではなく、図１３に示すような累積ガウス分布曲線Ｇ２を利用して個別補正関数Ｆ［Ｐ］を設定するのが好ましい。したがって、個別補正関数Ｆ［Ｐ］を設定する際には、予め、図１３に示すような累積ガウス分布曲線Ｇ２（もしくは、その左右を反転させた分布曲線）を用意しておき、縦軸を−１〜＋１の範囲内に規格化して利用すればよい。もちろん、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値が、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに一致する、という条件を満足させる必要があるので、用意した累積ガウス分布曲線Ｇ２を横軸に沿ってスライドさせて、上記条件が満たされる位置に配置すればよい。
【０１８１】
図１４は、累積ガウス分布曲線を左右にスライドさせ、上記条件が満たされる位置に配置することにより個別補正関数Ｆ［Ｐ］を設定した状態を示すグラフである。グラフＦ［Ｐ］と補正基準ラインξ０との交点Ｅ０の横軸座標値は、代表輝度値Ｌｅに一致している。この例の場合、累積ガウス分布曲線を左方向にスライドさせたため、破線で示すグラフの左端部分は、入力輝度値Ｌin＜０の領域に食み出してしまっているが、実際の個別補正関数Ｆ［Ｐ］の定義域は、０≦Ｌin≦２５５の範囲内になるので支障は生じない。一方、個別補正関数Ｆ［Ｐ］のグラフの右端部分（２５５に近い部分）は、補正上限ラインξα（Ｃ＝＋１）に一致し、飽和状態になる。
【０１８２】
個別補正関数Ｆ［Ｐ］の横軸の範囲（定義域）は、グローバルトーンカーブＴ［Ｇ］の横軸の範囲に揃えるようにすればよい。たとえば、グローバルトーンカーブＴ［Ｇ］の横軸Ｌinの範囲が、０≦Ｌin≦Ｍ（但し、Ｍは輝度値の最大値）なる条件を満たす範囲として設定されている場合は、個別補正関数設定手段１４０によって、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、所定の補正増減率Ｃを縦軸にとって、入力輝度値Ｌinと補正増減率Ｃとの関係を示すグラフによって表現される個別補正関数Ｆ［Ｐ］を設定すればよい。これまで述べた実施例は、輝度値の最大値Ｍ＝２５５とした例である。
【０１８３】
個別補正関数Ｆ［Ｐ］をこのような方法で設定しておけば、輝度値変換手段１３０は、グローバルトーンカーブＴ［Ｇ］における任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値を、個別補正関数Ｆ［Ｐ］における当該入力輝度値Ｌinに対応する補正増減率Ｃに応じて増減する補正を行うことによりローカルトーンカーブＴ［Ｐ］の定義を行うことができる。
【０１８４】
なお、補正増減率Ｃとしては、一般に、負の数値Ｋ１および正の数値Ｋ２を用いて、Ｋ１≦Ｃ≦Ｋ２なる条件を満たす範囲内の値を用いるようにすればよい。実際には、Ｋ１＝−１、Ｋ２＝＋１に設定し、補正増減率Ｃとして、−１≦Ｃ≦＋１なる条件を満たす範囲内の値を用いて個別補正関数Ｆ［Ｐ］を設定するのが好ましい。このように補正増減率Ｃが−１〜＋１の範囲に規格化されていれば、輝度値変換手段１３０は、個別補正関数Ｆ［Ｐ］を用いてローカルトーンカーブＴ［Ｐ］の定義を行う演算を簡略化できる。
【０１８５】
＜＜＜  §３．  関数ｆ（Ｌ）の総和により関数Ｆ［Ｐ］を設定する方法  ＞＞＞
§２で述べたとおり、個別補正関数設定手段１４０は、個々の着目画素Ｐについて個別補正関数Ｆ［Ｐ］を設定する処理を行う。ここでは、§２で述べた基本方針に従いつつ、より好適な個別補正関数Ｆ［Ｐ］を設定することができる具体的な方法を説明する。
【０１８６】
＜３−１．局所調整関数ｆ（Ｌ）の定義＞
既に述べたとおり、個別補正関数設定手段１４０が個別補正関数Ｆ［Ｐ］を設定する際の基本的なポイントは、局所的コントラストを強める場合には単調増加関数、弱める場合には単調減少関数を用いる点と、個別補正関数Ｆ［Ｐ］のグラフと補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値を、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに一致させる点である。ただ、実際には、個別補正関数Ｆ［Ｐ］のグラフの細部の形状をどのように設定するかが、局所的な輝度調整の結果を左右する重要なファクターになってくる。
【０１８７】
図１２や図１４に示す例の場合、単純な線形関数のグラフもしくは累積ガウス分布曲線のグラフを、点Ｅ０が代表輝度値Ｌｅの位置にくるように配置することにより個別補正関数Ｆ［Ｐ］の設定を行っている。したがって、代表輝度値Ｌｅの値が同じであれば、同じ個別補正関数Ｆ［Ｐ］が設定されることになる。しかしながら、実際には、代表輝度値Ｌｅの値が同じであっても、周囲画素Ｅの輝度値分布までが同じであるわけではない。
【０１８８】
前述したように、参照領域Ｒ［Ｐ］は、実際にはかなり大きなサイズの画素配列によって構成されているため、たとえ輝度値の平均値が同じであったとしても、輝度値分布は様々である。したがって、これら多数の周囲画素の輝度値分布を考慮して、最適な個別補正関数Ｆ［Ｐ］を設定するためには、図１２や図１４に例示するような画一的な形状をもったグラフを点Ｅ０の位置が代表輝度値Ｌｅの位置に一致するようにスライドさせて配置するだけでは不十分である。本来は、複数の周囲画素Ｅの輝度値を１つ１つ考慮して、個別補正関数Ｆ［Ｐ］のグラフの細部の形状を決定すべきである。
【０１８９】
そこで、ここで述べる実施形態では、参照領域Ｒ［Ｐ］内の１つ１つの周囲画素Ｅについて、それぞれ単調増加関数（もしくは単調減少関数）のグラフを配置し、これら個々のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数Ｆ［Ｐ］を設定する、という手法を採ることにする。
【０１９０】
たとえば、図１４に示す例の場合、累積ガウス分布曲線のグラフを１つだけ、代表輝度値Ｌｅに応じた位置に配置することにより個別補正関数Ｆ［Ｐ］を設定しているが、その代わりに、累積ガウス分布曲線のグラフを周囲画素Ｅの数だけ用意し、これらのグラフをそれぞれ対応する周囲画素Ｅの輝度値に応じた位置に配置し、最後に、これら多数のグラフを集計することにより、個別補正関数Ｆ［Ｐ］を設定すればよい。
【０１９１】
ここでは、１つ１つの周囲画素Ｅに対応させて配置する個々のグラフを示す関数を局所調整関数ｆ（Ｌ）と呼ぶことにする。大文字Ｆを用いて表記された個別補正関数Ｆ［Ｐ］の記号［Ｐ］は、当該関数が特定の着目画素Ｐについて個別に設定された関数であることを示しているが、小文字ｆを用いて表記された局所調整関数ｆ（Ｌ）の記号（Ｌ）は、輝度値Ｌを変数として定義された関数であることを示している。局所調整関数ｆ（Ｌ）としては、輝度値Ｌを横軸、調整値ｆ（総和演算の対象となる数値）を縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現され、輝度値Ｌの増加に応じて調整値ｆが滑らかに単調増加（もしくは単調減少）するような関数であれば、どのような関数を用いてもかまわない。
【０１９２】
ただ、実際には、図１３に示す累積ガウス分布曲線Ｇ２を示す関数が、局所調整関数ｆ（Ｌ）として用いるのにも最適な関数と考えられる。一般に、ガウス分布関数は、自然なエネルギー分布を表す関数として知られている。したがって、風景写真などの一般的な写真画像に対して輝度変換を行う場合、累積ガウス分布曲線Ｇ２を集計することにより設定された個別補正関数Ｆ［Ｐ］を用いれば、自然界に適した輝度変換処理が期待できる。
【０１９３】
また、累積ガウス分布曲線Ｇ２は、点対称性を有している、という点においても、局所調整関数ｆ（Ｌ）として用いるのに適している。図１３に示す例の場合、累積ガウス分布曲線Ｇ２は、点Ｇに関して点対称となる性質を有しており、点Ｇを回転中心点として、グラフを１８０°回転させたときに同一のグラフが得られる性質を有する。このような累積ガウス分布曲線Ｇ２を局所調整関数ｆ（Ｌ）として配置すれば、増加補正と減少補正とのバランスがとれた補正を行うことができ、画像全体の輝度を、できるだけグローバルトーンカーブＴ［Ｇ］によって指定された輝度に維持する効果が期待できる。したがって、以下の実施例では、累積ガウス分布関数を局所調整関数ｆ（Ｌ）として用いた例を代表的な例として説明することにする。
【０１９４】
もちろん、芸術写真など、特定の作画意図をもって撮影された写真の場合、必ずしも自然界に適した輝度変換処理が最適であるとは限らないので、本発明を実施するにあたり、局所調整関数ｆ（Ｌ）として用いる関数は、累積ガウス分布関数に限定されるものではない。
【０１９５】
ところで、ガウス分布関数や累積ガウス分布関数は、必ずしも演算処理に適した形の関数にはなっていない。そこで、実用上は、累積ガウス分布関数を用いた演算を行う代わりに、これに近似したシグモイド関数を用いた演算を行うのが好ましい。シグモイド関数は、図１５に示すように、「ｆ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｅ）／Ｍ）））−１」なる式で表される関数である。ここで、Ｌは変数となる輝度値、Ｌｅは周囲画素の輝度値、Ｍは輝度値の最大値、μは所定の勾配係数である。
【０１９６】
たとえば、図１４に示す個別補正関数Ｆ［Ｐ］も、上記シグモイド関数式で近似的に表すことができる。この場合、入力輝度値Ｌinが変数Ｌとなり、輝度値の最大値Ｍ＝２５５ということになる。関数値ｆ（Ｌ）は、Ｌ＝Ｌｅのときに０になり、これは図１４のグラフにおける点Ｅ０に対応する。また、Ｌ＜Ｌｅのときは、ｆ（Ｌ）＜０になり、図１４のグラフの点Ｅ０より左側部分に対応し、Ｌ＞Ｌｅのときは、ｆ（Ｌ）＞０になり、図１４のグラフの点Ｅ０より右側部分に対応する。
【０１９７】
＜３−２．個別補正関数Ｆ［Ｐ］の設定＞
図１６は、個々の周囲画素に対応する局所調整関数ｆ（Ｌ）の総和により個別補正関数Ｆ［Ｐ］を設定する様子を示すグラフである。図の下段に示す画素配列は、着目画素Ｐについて設定された参照領域Ｒ［Ｐ］である。ここでは、説明の便宜上、７×７の画素配列として示してある（実際の参照領域Ｒ［Ｐ］は、たとえば、１９２×１９２のような、より大きな画素配列から構成される）。
【０１９８】
図１６の上段には、輝度値Ｌ（範囲０〜２５５）を横軸、調整値ｆ（範囲−１〜＋１）を縦軸にとった集計用座標系が示されている。この集計用座標系上に、個々の周囲画素に対応する局所調整関数ｆ（Ｌ）が配置される。ここでは、具体的な配置例として、図の下段に示す参照領域Ｒ［Ｐ］内の周囲画素Ｅ１に対応する局所調整関数ｆ１（Ｌ）および周囲画素Ｅ２に対応する局所調整関数ｆ２（Ｌ）を配置した例が示されている。実際には、図示の例の場合、参照領域Ｒ［Ｐ］を構成する７×７の画素配列に含まれる４８個の周囲画素Ｅのそれぞれについて、同じように局所調整関数ｆ（Ｌ）が配置され、集計用座標系上には、合計４８組の局所調整関数ｆ（Ｌ）が配置されることになる。
【０１９９】
ここに示す実施例の場合、集計用座標系上に配置される４８組の局所調整関数ｆ（Ｌ）は、いずれも同一の累積ガウス分布関数（実際には、近似的なシグモイド関数を用いて演算を行う）であるが、重要な点は、それぞれが横方向にスライドさせた所定位置に配置されている点である。
【０２００】
たとえば、図示する局所調整関数ｆ１（Ｌ）は、周囲画素Ｅ１に対応する関数であるので、周囲画素Ｅ１の輝度値（この例の場合、６４）に対応した位置、すなわち、グラフｆ１（Ｌ）と補正基準ラインξ０（調整値ｆ＝０のライン）との交点Ｅ０１の横軸座標値がＬ＝６４となるような位置に配置されている。同様に、図示する局所調整関数ｆ２（Ｌ）は、周囲画素Ｅ２に対応する関数であるので、周囲画素Ｅ２の輝度値（この例の場合、１６０）に対応した位置、すなわち、グラフｆ２（Ｌ）と補正基準ラインξ０（調整値ｆ＝０のライン）との交点Ｅ０２の横軸座標値がＬ＝１６０となるような位置に配置されている。
【０２０１】
このように、集計用座標系上には、合計４８組の局所調整関数ｆ（Ｌ）が配置され、これらの縦軸方向の位置は同じであるが（すなわち、各グラフの調整値ｆ＝０に対応する点がすべて補正基準ラインξ０にのる）、これらの横軸方向の位置は、それぞれ対応する周囲画素Ｅの輝度値に応じて変わることになる。
【０２０２】
こうして、集計用座標系上に合計４８組の局所調整関数ｆ（Ｌ）が配置されたら、これらを集計した総和として総和グラフを求め、この総和グラフによって示される関数を個別補正関数Ｆ［Ｐ］とすればよい。ここで、グラフの集計とは、同一の輝度値Ｌを変数として与えたときの各局所調整関数の関数値ｆ（Ｌ）の和を求める演算を意味する。すなわち、周囲画素Ｅの番号を示すパラメータとしてｊを用い、第ｊ番目の周囲画素Ｅｊに対応する局所調整関数をｆｊ（Ｌ）とし、参照領域Ｒ［Ｐ］内の周囲画素Ｅの総数をＮとすれば、着目画素Ｐについての個別補正関数Ｆ［Ｐ］は、図１６の中段に示すように、Ｆ［Ｐ］＝１／Ｎ・Σj=1〜N ｆｊ（Ｌ）なる式で定義されることになる。
【０２０３】
上述したように、−１〜＋１の範囲内に規格化された調整値ｆを関数値とする局所調整関数ｆｊ（Ｌ）を用いることにすれば、上記式で算出される個別補正関数Ｆ［Ｐ］の関数値（すなわち、補正増減率Ｃ）も、−１〜＋１の範囲内に規格化されたものになる。もちろん、総和を求める集計後に規格化処理を行うことも可能である。この場合、局所調整関数ｆｊ（Ｌ）の関数値として定義される調整値ｆは、必ずしも−１〜＋１の範囲内に規格化されている必要はなく、任意の数値範囲の値であってかまわない。
【０２０４】
このように、複数Ｎ個の局所調整関数ｆ（Ｌ）の総和として個別補正関数Ｆ［Ｐ］を定義すると、図１４に示すような単純な累積ガウス分布のグラフで示される関数ではなく、より複雑な形状をもったグラフで示される個別補正関数Ｆ［Ｐ］が得られることになる。これは、複数の周囲画素Ｅの輝度値を１つ１つ考慮した結果であり、こうして得られた個別補正関数Ｆ［Ｐ］は、局所的な輝度調整に利用するのに最適な関数と言うことができる。
【０２０５】
もちろん、こうして得られた複雑なグラフ形状をもつ個別補正関数Ｆ［Ｐ］も、単調増加型の関数であることに変わりはなく、また、グラフＦ［Ｐ］と補正基準ラインξ０（Ｃ＝０のライン）との交点Ｅ０の横軸座標値が、参照領域Ｒ［Ｐ］内の周囲画素の代表輝度値Ｌｅになる点も変わりはない。もちろん、この場合の代表輝度値Ｌｅは、個々の周囲画素の輝度値に基づいて算術的な平均として求めた値ではなく、複数Ｎ個の局所調整関数ｆ（Ｌ）の総和として個別補正関数Ｆ［Ｐ］を求めたときに、この個別補正関数Ｆ［Ｐ］が補正基準ライン（Ｃ＝０のライン）を横切る横軸座標として与えられることになる。それでも、こうして与えられた代表輝度値Ｌｅが、全周囲画素の輝度値を代表する値であるという性質に変わりはない。したがって、個別補正関数Ｆ［Ｐ］としての基本的な性質は、§２で述べた基本的実施形態で用いられている個別補正関数Ｆ［Ｐ］と全く同じである。
【０２０６】
なお、ここでは、局所的コントラストを強める場合の輝度調整を想定して、輝度値Ｌの増加に応じて調整値ｆが単調増加する局所調整関数ｆ（Ｌ）を用いる例を述べたが、局所的コントラストを弱める場合は、輝度値Ｌの増加に応じて調整値ｆが単調減少する局所調整関数ｆ（Ｌ）を用いるようにすればよい。具体的には、図１３に示す累積ガウス分布曲線Ｇ２を左右反転させた曲線を単調減少型の局所調整関数ｆ（Ｌ）として利用することができる。
【０２０７】
結局、局所調整関数ｆ（Ｌ）の総和により個別補正関数Ｆ［Ｐ］を設定する方法を採る場合は、個別補正関数設定手段１４０が、次のような処理を行えばよい。まず、集計用座標系に配置する局所調整関数ｆ（Ｌ）を定義する。この局所調整関数ｆ（Ｌ）は、輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが滑らかに単調増加もしくは単調減少するような関数であればよい。
【０２０８】
ただ、実用上は、この局所調整関数ｆ（Ｌ）として、調整値ｆ＝０に対応するグラフ上の点を回転中心点として、グラフを１８０°回転させたときに同一のグラフが得られるような点対称性をもった関数を用いるのが好ましい。たとえば、図１６の上段に示す局所調整関数ｆ１（Ｌ）は点Ｅ０１について点対称性をもった関数であり、局所調整関数ｆ２（Ｌ）は点Ｅ０２について点対称性をもった関数である。このように、点対称性をもった局所調整関数ｆ（Ｌ）を用いるようにすると、前述したように、増加補正と減少補正とのバランスがとれた補正を行うことができ、画像全体の輝度を、できるだけグローバルトーンカーブＴ［Ｇ］によって指定された輝度に維持する効果が期待できる。
【０２０９】
続いて、図１６の上段に示すように、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、参照領域Ｒ［Ｐ］内の第ｊ番目の周囲画素Ｅｊ（但し、ｊ＝１，２，... ，Ｎ、ここでＮは参照領域内の周囲画素の総数）に対応させて第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフをｆ＝０の点が補正基準ラインξ０上にくるように配置する。そして、配置した第ｊ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｊ番目の周囲画素Ｅｊの輝度値Ｌｊに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせるようにする。図１６の上段に示す例は、２組の局所調整関数ｆ１（Ｌ），ｆ２（Ｌ）のグラフについて、このようなスライド処理を行った状態を示している。
【０２１０】
最後に、こうして集計用座標系に配置された合計Ｎ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）のグラフを集計し、その総和として総和グラフを求め、この総和グラフを用いて個別補正関数Ｆ［Ｐ］を設定すればよい。具体的には、総和グラフの縦軸を−１≦Ｃ≦＋１なる条件を満たす範囲内に規格化し、横軸の０≦Ｌ≦Ｍ（但し、Ｍは輝度値の最大値、これまでの実施例では、Ｍ＝２５５）なる条件を満たす部分を抽出したものを、個別補正関数Ｆ［Ｐ］として設定すればよい。
【０２１１】
このとき、実用上は、局所調整関数ｆ（Ｌ）として、図１５に示すようなシグモイド関数を用いて総和演算を行うようにするのが好ましい。すなわち、局所的コントラストを強める輝度調整を行う場合には、第ｊ番目の局所調整関数ｆｊ（Ｌ）として、「ｆｊ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｊ）／Ｍ）））−１」なる単調増加型のシグモイド関数を用いるようにする。ここで、Ｌは変数となる輝度値、Ｌｊは第ｊ番目の周囲画素Ｅｊの輝度値、Ｍは輝度値の最大値（これまでの実施例では、Ｍ＝２５５）、μは所定の勾配係数である。勾配係数μによって、グラフの傾斜度合を調整することができる。勾配係数μは常に固定値を用いるようにしてもよいし、オペレータが任意に設定できるパラメータにしておいてもよい。
【０２１２】
一方、局所的コントラストを弱める輝度調整を行う場合には、第ｊ番目の局所調整関数ｆｊ（Ｌ）として、「ｆｊ（Ｌ）＝−（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｊ）／Ｍ）））＋１」なる単調減少型のシグモイド関数を用いるようにすればよい。この単調減少型のシグモイド関数は、上述した単調増加型のシグモイド関数に−１を乗じた関数である。たとえば、図１６に示す局所調整関数ｆ１（Ｌ），ｆ２（Ｌ）に−１を乗じると、補正基準ラインξ０を中心に上下折り返したグラフ（正負逆転させたグラフ）に対応する単調減少型の局所調整関数が得られる。
【０２１３】
なお、このＮ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）の総和演算を行う際にも、実用上は、着目画素Ｐを周囲画素の１つとして取り扱う運用を行ってかまわない。たとえば、図１６の下段に示す例の場合、７×７の画素配列からなる参照領域Ｒ［Ｐ］において、中心の着目画素Ｐを除いた４８個の周囲画素について、それぞれ局所調整関数ｆ（Ｌ）を配置して集計を行うことになる（Ｎ＝４８）。しかしながら、中心の着目画素Ｐを１個だけ除いた演算を行うことは効率的ではない。
【０２１４】
そこで、実用上は、着目画素Ｐも第４９番目の周囲画素として取扱い、集計用座標系上に、Ｎ組の周囲画素に対応させたＮ組の局所調整関数のグラフｆ１（Ｌ）〜ｆＮ（Ｌ）に加えて、着目画素に対応する局所調整関数のグラフを配置してスライドさせ、合計（Ｎ＋１）組のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数を設定するような運用を行うのが好ましい。実際の参照領域Ｒ［Ｐ］は、たとえば、１９２×１９２といったサイズの画素配列から構成されており、着目画素Ｐ自身を周囲画素として取り扱う運用を行ったとしても、着目画素Ｐの影響は、たかだか１／（１９２×１９２）程度なので、実用上は無視し得る。
【０２１５】
＜＜＜  §４．  ３本のトーンカーブを設定する実施形態  ＞＞＞
§３−１では、図８に示すグローバルトーンカーブ設定手段１２０が、オペレータの設定操作に基づいてグローバルトーンカーブＴ［Ｇ］を設定する機能を有することを述べた。そして、輝度値変換手段１３０が、このグローバルトーンカーブＴ［Ｇ］に対する補正を行うことにより、第ｉ番目の着目画素ＰｉについてのローカルトーンカーブＴ［Ｐｉ］を定義した上で、第ｉ番目の着目画素Ｐｉの輝度値を、このローカルトーンカーブＴ［Ｐｉ］を用いて変換することを説明した。この場合、オペレータは、意図した輝度調整を行うために、グローバルトーンカーブ設定手段１２０に対して指示を与え、グローバルトーンカーブＴ［Ｇ］の形状を変更する操作を行うことになる。
【０２１６】
通常、トーンカーブの形状変更は、オペレータがマウスなどのポインティングデバイスを用いて、ディスプレイ画面上に表示されたトーンカーブ上の任意の点をドラッグする操作によって行われる。したがって、グローバルトーンカーブ設定手段１２０には、そのような操作を受け付けるインターフェイスが用意される。図１７は、このようなインターフェイスを利用したグローバルトーンカーブＴ［Ｇ］の設定操作の一例を示す図である。
【０２１７】
この例の場合、グローバルトーンカーブ設定手段１２０は、まず、ディスプレイ画面上に、図に一点鎖線で示す基準トーンカーブＴ０を表示する。この基準トーンカーブＴ０は、入力輝度値Ｌin＝出力輝度値Ｌout となる基準線を示しており、基準トーンカーブＴ０をそのままグローバルトーンカーブＴ［Ｇ］として指定した場合、実質的な輝度調整は行われないことになる。ここで、オペレータが、基準トーンカーブＴ０上の点Ａをポインティングデバイスでドラッグして点Ｂまで移動させたとすると、トーンカーブは新たな点Ｂを通る滑らかな曲線（図の実線カーブ）に変更される。図示のように、この曲線をグローバルトーンカーブＴ［Ｇ］として指定すれば、当該カーブに応じた輝度調整が行われることになる。
【０２１８】
もちろん、この実線で示すカーブ上の任意の１点をドラッグすれば、グローバルトーンカーブＴ［Ｇ］の形状を更に変化させることもできる。また、「コントラスト強」のようなコマンドを選択すると、図２のトーンカーブＴ１が自動的に表示され、「コントラスト弱」のようなコマンドを選択すると、図３のトーンカーブＴ２が自動的に表示されるようなインターフェイスを用意しておくことも可能である。このように、オペレータは、グローバルトーンカーブ設定手段１２０内に用意されたインターフェイスの機能を利用して、所望の形状をもったグローバルトーンカーブＴ［Ｇ］を設定することが可能であり、当該カーブにより、所望の輝度調整を指示することが可能である。
【０２１９】
ただ、１本のトーンカーブだけを用いた指示には限界があり、必ずしもオペレータが意図したとおりの輝度調整が行われるとは限らない。そこで、ここでは、グローバルトーンカーブＴ［Ｇ］を含めて、合計３本のトーンカーブを設定することにより、よりきめの細かな輝度調整指示を与えることができる実施形態を説明する。
【０２２０】
＜４−１．１本のトーンカーブによる輝度調整＞
１本のグローバルトーンカーブＴ［Ｇ］を設定して輝度調整を行う形態については、既に、§２において基本的実施形態として説明したとおりであるが、ここでは、説明の便宜上、この基本的実施形態における処理を簡単にまとめておく。
【０２２１】
まず、コントラストを強める輝度調整を行う場合には、図１０の上段に示すように、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調増加し、かつ、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数Ｆ［Ｐ］を、個別補正関数設定手段１４０によって設定する。そして、輝度値変換手段１３０によって、グローバルトーンカーブＴ［Ｇ］における任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、設定した個別補正関数Ｆ［Ｐ］における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ輝度値の最大値Ｍを上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ０を下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブＴ［Ｐ］の定義を行うようにすればよい。
【０２２２】
一方、コントラストを弱める輝度調整を行う場合には、図１１の上段に示すように、入力輝度値Ｌinの増加に応じて補正増減率Ｃが単調減少し、かつ、周囲画素Ｅの輝度値を代表する代表輝度値Ｌｅに相当する入力輝度値Ｌinに対応する補正増減率Ｃが０になるような個別補正関数Ｆ［Ｐ］を、個別補正関数設定手段１４０によって設定する。そして、輝度値変換手段１３０によって、上記と同様の方法でローカルトーンカーブＴ［Ｐ］の定義を行うようにすればよい。
【０２２３】
補正増減率Ｃとしては、一般に、負の数値Ｋ１および正の数値Ｋ２を用いて、Ｋ１≦Ｃ≦Ｋ２なる条件を満たす範囲内の値を用いるようにすればよいが、実用上は、Ｋ１＝−１、Ｋ２＝＋１に設定し、−１≦Ｃ≦＋１なる条件を満たす範囲内の補正増減率Ｃを用いて個別補正関数Ｆ［Ｐ］を設定するのが好ましい。図６(b) や図７(b) に例示するように、輝度値変換手段１３０は、任意の横軸座標Ｌに位置するグローバルトーンカーブＴ［Ｇ］上の点について、その縦軸座標を補正増減率Ｃに基づいてＬold からＬnew に修正することによりローカルトーンカーブＴ［Ｐ］を定義することになる。
【０２２４】
たとえば、図６(b) の横軸座標Ｌａに位置するグローバルトーンカーブＴ［Ｇ］上の点Ａ２の縦軸座標Ｌold は、新たな縦軸座標Ｌnew に修正され、点Ａ３の位置まで移動する。同様に、図６(b) の横軸座標Ｌｂに位置するグローバルトーンカーブＴ［Ｇ］上の点Ｂ２の縦軸座標Ｌold は、新たな縦軸座標Ｌnew に修正され、点Ｂ１の位置まで移動する。一方、図７(b) の横軸座標Ｌａに位置するグローバルトーンカーブＴ［Ｇ］上の点Ａ３の縦軸座標Ｌold は、新たな縦軸座標Ｌnew に修正され、点Ａ２の位置まで移動する。同様に、図７(b) の横軸座標Ｌｂに位置するグローバルトーンカーブＴ［Ｇ］上の点Ｂ１の縦軸座標Ｌold は、新たな縦軸座標Ｌnew に修正され、点Ｂ２の位置まで移動する。
【０２２５】
いずれの場合も、具体的な縦軸座標の修正（旧縦軸座標Ｌold から新縦軸座標Ｌnew への修正）は、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌin、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout 、−１≦Ｃ≦＋１なる条件を満たす範囲内の補正増減率Ｃを前提とし、基準トーンカーブＴ０より上にある修正対象点については、カーブＴ０を下限とする修正を行い、基準トーンカーブＴ０より下にある修正対象点については、カーブＴ０を上限とする修正を行うという制限を課すことにすれば（もちろん、そのような制限を課さずに修正を行ってもかまわないが）、補正増減率Ｃの絶対値を|Ｃ|として、次のような各演算によって行うことができる。
【０２２６】
すなわち、任意の横座標軸Ｌの位置における旧縦軸座標Ｌold を新縦軸座標Ｌnewに補正するという前提では、まず、Ｃ＞０，Ｌold ＜Ｌの場合（たとえば、図７(b) の横軸座標Ｌａのように、修正対象点Ａ３がＴ０より下方に位置し、Ａ３の縦軸座標Ｌold がＬold ＜Ｌａの場合）は、Ｌnew ＝Ｌold ＋（Ｌ−Ｌold ）×|Ｃ|なる式に基づいて修正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。また、Ｃ＞０，Ｌold ＞Ｌの場合（たとえば、図６(b) の横軸座標Ｌｂのように、修正対象点Ｂ２がＴ０より上方に位置し、Ｂ２の縦軸座標Ｌold がＬold＞ Ｌｂの場合）は、Ｌnew ＝Ｌold ＋（Ｍ−Ｌold ）×|Ｃ|なる式に基づいて修正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。
【０２２７】
一方、Ｃ＜０，Ｌold ＜Ｌの場合（たとえば、図６(b) の横軸座標Ｌａのように、修正対象点Ａ２がＴ０より下方に位置し、Ａ２の縦軸座標Ｌold がＬold ＜Ｌａの場合）は、Ｌnew ＝Ｌold −Ｌold ×|Ｃ|なる式に基づいて修正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。そして、Ｃ＜０，Ｌold ＞Ｌの場合（たとえば、図７(b) の横軸座標Ｌｂのように、修正対象点Ｂ１がＴ０より上方に位置し、Ｂ１の縦軸座標Ｌold がＬold＞ Ｌｂの場合）は、Ｌnew ＝Ｌold −（Ｌold −Ｌ）×|Ｃ|なる式に基づいて修正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。
【０２２８】
＜４−２．上下限を含む３本のトーンカーブによる輝度調整＞
続いて、グローバルトーンカーブＴ［Ｇ］に加えて、上限カーブＴ［upper］および下限カーブＴ［lower］を設定し、合計３本のトーンカーブを用いて輝度調整を行う変形例を説明する。この変形例では、グローバルトーンカーブ設定手段１２０に、オペレータの設定操作に基づいて、グローバルトーンカーブＴ［Ｇ］とともに、その上方に位置する上限カーブＴ［upper］および下方に位置する下限カーブＴ［lower］を設定する機能をもたせておき、合計３本のカーブが設定できるようにしておく。
【０２２９】
ここで、上限カーブＴ［upper］および下限カーブＴ［lower］は、グローバルトーンカーブＴ［Ｇ］と同様に、０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成される（Ｍは、各輝度値の最大値）。
【０２３０】
図１８は、輝度値の最大値をＭ＝２５５とした場合について、グローバルトーンカーブＴ［Ｇ］（実線），上限カーブＴ［upper］（二点鎖線），下限カーブＴ［lower］（三点鎖線）の３本のカーブを設定した例を示す図である。ここでは、参考のため、基準トーンカーブＴ０（一点鎖線）を併せて表示した状態が示されている。実際には、カラーのディスプレイ画面上に、個々のカーブごとに異なる色で表示がなされるようにするのが好ましい。オペレータは、図１７で説明したように、マウスなどのポインティングデバイスを用いて、ディスプレイ画面上に表示された各トーンカーブ上の任意の点をドラッグする操作によって、個々のトーンカーブの形状を任意形状に設定する操作を行うことができる。
【０２３１】
このように、この変形例では、合計３本のトーンカーブが設定されるので、輝度値変換手段１３０は、この３本のトーンカーブを考慮に入れて、ローカルトーンカーブＴ［Ｐ］を定義する処理を行うことになる。すなわち、基本的には、個々の着目画素Ｐごとに、グローバルトーンカーブＴ［Ｇ］を個別補正関数Ｆ［Ｐ］に基づいて補正することによりローカルトーンカーブＴ［Ｐ］が定義されることになるが、上限カーブＴ［upper］は、文字通り補正範囲の上限を規定する役割を果たし、下限カーブＴ［lower］は、文字通り補正範囲の下限を規定する役割を果たす。したがって、輝度値変換手段１３０は、設定されたグローバルトーンカーブＴ［Ｇ］を、上限カーブＴ［upper］と下限カーブＴ［lower］との間に挟まれた領域の範囲内で補正することにより、ローカルトーンカーブＴ［Ｐ］を定義することになる。
【０２３２】
図１９は、図１８に示す３本のカーブに基づいてローカルトーンカーブＴ［Ｐ］を定義する原理を示すグラフである。ここでは、図１９(a) に示すような個別補正関数Ｆ［Ｐ］を用いて、図１８に示すグローバルトーンカーブＴ［Ｇ］を、上限カーブＴ［upper］と下限カーブＴ［lower］との間に挟まれた領域の範囲内で補正する例を説明する。ここで、図１９(a) に示す個別補正関数Ｆ［Ｐ］は、図６(a) に示す個別補正関数Ｆ［Ｐ］と全く同じ関数である。図１９(b) は、図１９(a) に示す個別補正関数Ｆ［Ｐ］を用いてグローバルトーンカーブＴ［Ｇ］を補正することにより定義されたローカルトーンカーブＴ［Ｐ］を示すグラフである。図１９(b) において、一点鎖線は基準トーンカーブＴ０、実線はグローバルトーンカーブＴ［Ｇ］、二点鎖線は上限カーブＴ［upper］、三点鎖線は下限カーブＴ［lower］、破線はローカルトーンカーブＴ［Ｐ］を示している。
【０２３３】
ローカルトーンカーブＴ［Ｐ］が、グローバルトーンカーブＴ［Ｇ］における任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値を、個別補正関数Ｆ［Ｐ］における当該入力輝度値Ｌinに対応する補正増減率Ｃに応じて増減する補正を行うことにより得られる点は、これまで述べてきた基本的実施形態と全く同じである。したがって、個別補正関数Ｆ［Ｐ］が負の値をとる領域については、グローバルトーンカーブＴ［Ｇ］に対する減少補正が行われ、個別補正関数Ｆ［Ｐ］が正の値をとる領域については、グローバルトーンカーブＴ［Ｇ］に対する増加補正が行われる。
【０２３４】
図１９(b) に示す例の場合、実線のグラフＴ［Ｇ］と破線のグラフＴ［Ｐ］とが点Ｏにおいて交差しているが、この点Ｏは、図１９(a) に示す個別補正関数Ｆ［Ｐ］の補正増減率がＣ＝０となる点（すなわち、何ら補正が行われない点）に対応している。
【０２３５】
そして、この交点Ｏよりも左側の領域（個別補正関数Ｆ［Ｐ］が負の値をとる領域）については減少補正が行われ、破線のグラフＴ［Ｐ］が実線のグラフＴ［Ｇ］よりも下がっている。たとえば、入力輝度値Ｌin＝Ｌａに対応する各グラフ上の点として、点Ａ１，Ａ２，Ａ３が示されているが、実線のグラフＴ［Ｇ］上の点Ａ１は、図１９(a) のグラフにおける補正指示量ａに応じた値だけ下がった点Ａ２の位置に補正される。
【０２３６】
一方、交点Ｏよりも右側の領域（個別補正関数Ｆ［Ｐ］が正の値をとる領域）については増加補正が行われ、破線のグラフＴ［Ｐ］が実線のグラフＴ［Ｇ］よりも上がっている。たとえば、入力輝度値Ｌin＝Ｌｂに対応する各グラフ上の点として、点Ｂ１，Ｂ２，Ｂ３が示されているが、実線のグラフＴ［Ｇ］上の点Ｂ３は、図１９(a) のグラフにおける補正指示量ｂに応じた値だけ上がった点Ｂ２の位置に補正される。
【０２３７】
もっとも、このような補正は、常に、上限カーブＴ［upper］と下限カーブＴ［lower］との間に挟まれた領域の範囲内でのみ行われる。別言すれば、破線のグラフＴ［Ｐ］は、決して上限カーブＴ［upper］を越えて上方へ伸びることはなく、決して下限カーブＴ［lower］を越えて下方へ伸びることもない。
【０２３８】
このような制限付き補正によりローカルトーンカーブＴ［Ｐ］を定義する場合、輝度値変換手段１３０は、グローバルトーンカーブＴ［Ｇ］における任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数Ｆ［Ｐ］における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ上限カーブＴ［upper］を上限として増加させる補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ下限カーブＴ［lower］を下限として減少させる補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブの定義を行うようにすればよい。
【０２３９】
なお、図１９(a) に示す個別補正関数Ｆ［Ｐ］は、コントラストを強める輝度調整に用いる単調増加型の関数であるが、コントラストを弱める輝度調整を行う場合には、たとえば、図７(a) に示すような単調減少型の個別補正関数Ｆ［Ｐ］を用いるようにすればよい。
【０２４０】
どのような個別補正関数Ｆ［Ｐ］を用いた場合でも、輝度値変換手段１３０は、任意の横軸座標Ｌに位置するグローバルトーンカーブＴ［Ｇ］上の点について、その縦軸座標を、上限カーブＴ［upper］および下限カーブＴ［lower］を越えない範囲内で、Ｌold からＬnew に修正することによりローカルトーンカーブＴ［Ｐ］を定義することになる。
【０２４１】
具体的な縦軸座標の修正（旧縦軸座標Ｌold から新縦軸座標Ｌnew への修正）は、−１≦Ｃ≦＋１なる条件を満たす範囲内の補正増減率Ｃを用いて設定した個別補正関数Ｆ［Ｐ］を前提とすれば、補正増減率Ｃの絶対値を|Ｃ|、横軸座標Ｌにおける上限カーブＴ［upper］の輝度値をＬupper、下限カーブＴ［lower］の輝度値をＬlowerとして、次のような各演算によって行うことができる。
【０２４２】
すなわち、Ｃ＞０の場合は、Ｌnew ＝Ｌold ＋（Ｌupper−Ｌold ）×|Ｃ|なる式に基づいて修正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。一方、Ｃ＜０の場合は、Ｌnew ＝Ｌold −（Ｌold −Ｌlower）×|Ｃ|なる式に基づいて修正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。
【０２４３】
たとえば、図１９(b) の横軸座標Ｌａに位置するグローバルトーンカーブＴ［Ｇ］上の点Ａ１の縦軸座標Ｌold は、新たな縦軸座標Ｌnew に修正され、点Ａ２の位置まで移動しているが、これは、Ｃ＜０の場合として、Ｌnew ＝Ｌold −（Ｌold −Ｌlower）×|Ｃ|なる式を適用した補正によるものである。
【０２４４】
より具体的に説明すれば、図１９(a) において、補正基準ラインξ０（Ｃ＝０のライン）と補正下限ラインξβ（Ｃ＝−１のライン）との間隔を最大補正指示量ｕａとし（この例の場合、ｕａ＝１）、入力輝度値Ｌａに対応する補正増減率Ｃの絶対値|Ｃ|を補正指示量ａとし、図１９(b) において、グローバルトーンカーブＴ［Ｇ］上の点Ａ１と下限カーブＴ［lower］上の点Ａ３との間隔を最大実補正量ｕａ′とし、グローバルトーンカーブＴ［Ｇ］上の点Ａ１とローカルトーンカーブＴ［Ｐ］上の点Ａ２との間隔を実補正量ａ′とすれば、ａ／ｕａ＝ａ′／ｕａ′なる関係が得られるように、点Ａ２の位置が決定されることになる。
【０２４５】
同様に、図１９(b) の横軸座標Ｌｂに位置するグローバルトーンカーブＴ［Ｇ］上の点Ｂ３の縦軸座標Ｌold は、新たな縦軸座標Ｌnew に修正され、点Ｂ２の位置まで移動しているが、これは、Ｃ＞０の場合として、Ｌnew ＝Ｌold ＋（Ｌupper−Ｌold ）×|Ｃ|なる式を適用した補正によるものである。
【０２４６】
より具体的に説明すれば、図１９(a) において、補正基準ラインξ０（Ｃ＝０のライン）と補正上限ラインξα（Ｃ＝＋１のライン）との間隔を最大補正指示量ｕｂとし（この例の場合、ｕｂ＝１）、入力輝度値Ｌｂに対応する補正増減率Ｃの絶対値|Ｃ|を補正指示量ｂとし、図１９(b) において、グローバルトーンカーブＴ［Ｇ］上の点Ｂ３と上限カーブＴ［upper］上の点Ｂ１との間隔を最大実補正量ｕｂ′とし、グローバルトーンカーブＴ［Ｇ］上の点Ｂ３とローカルトーンカーブＴ［Ｐ］上の点Ｂ２との間隔を実補正量ｂ′とすれば、ｂ／ｕｂ＝ｂ′／ｕｂ′なる関係が得られるように、点Ｂ１の位置が決定されることになる。
【０２４７】
破線で示すローカルトーンカーブＴ［Ｐ］は、このようにして得られた補正後の点Ａ２，Ｂ２等を連結することにより定義される。要するに、図１９(a) に示す補正基準ラインξ０を図１９(b) に示すグローバルトーンカーブＴ［Ｇ］に対応させ、図１９(a) に示す補正上限ラインξαを図１９(b) に示す上限カーブＴ［upper］に対応させ、図１９(a) に示す補正下限ラインξβを図１９(b) に示す下限カーブＴ［lower］に対応させた上で、ξ０とξαとで挟まれた空間をＴ［Ｇ］とＴ［upper］で挟まれた空間に割り当て、ξ０とξβとで挟まれた空間をＴ［Ｇ］とＴ［lower］で挟まれた空間に割り当てるような縦軸に関する線形変換を行った場合に、個別補正関数Ｆ［Ｐ］の線形変換像として得られるトーンカーブがローカルトーンカーブＴ［Ｐ］ということになる。
【０２４８】
このように、上下限を含む３本のトーンカーブＴ［Ｇ］，Ｔ［upper］，Ｔ［lower］を設定することにより輝度調整を行う変形例では、グローバルトーンカーブＴ［Ｇ］に対する補正範囲を上限カーブＴ［upper］と下限カーブＴ［lower］との間に制限することができるので、局所的コントラストが無制限に補正されてしまうことを避けることができ、より自然な輝度調整を行うことが可能になる。また、グローバルトーンカーブＴ［Ｇ］のみを設定する基本的実施形態に比べて、オペレータは、より柔軟な方法で、より細かな指示を与えることができるようになる。
【０２４９】
たとえば、グローバルトーンカーブＴ［Ｇ］は、基本的に、画像全体に適用するコントラストの強弱を決定するパラメータとしての役割を担うことになるのに対して、上限カーブＴ［upper］や下限カーブＴ［lower］は、局所的なコントラストの強弱を決定するパラメータとして利用することができる。いわば、前者がマクロ的なコントラスト調整用パラメータとして機能するのに対して、後者はミクロ的なコントラスト調整パラメータとして機能することになる。
【０２５０】
このような特徴を利用すれば、グローバルトーンカーブＴ［Ｇ］を変えずに、上限カーブＴ［upper］や下限カーブＴ［lower］を変える操作を行うことにより、画像全体の明るさを維持したまま（マクロ的なコントラストを維持したまま）、たとえば、水玉模様の輪郭を強調したり、あるいは、輪郭を弱めたりする調整（ミクロ的なコントラストの調整）が可能になる。また、図１に示すような基準トーンカーブＴ０をそのままグローバルトーンカーブＴ［Ｇ］として設定した場合でも、上限カーブＴ［upper］や下限カーブＴ［lower］の設定次第で、ミクロ的なコントラスト調整を行うことが可能である。このように、ここで述べた上下限を含む３本のトーンカーブにより輝度調整を行う変形例では、より柔軟に、より自由度の高い輝度調整が可能になる。
【０２５１】
＜４−３．任意の３本のトーンカーブによる輝度調整＞
§４−２で述べた変形例では、グローバルトーンカーブＴ［Ｇ］、上限カーブＴ［upper］、下限カーブＴ［lower］という合計３本のトーンカーブを用いて輝度調整を行っている。ここで、上限カーブＴ［upper］はグローバルトーンカーブＴ［Ｇ］を補正する上での上限を規定し、下限カーブＴ［lower］はグローバルトーンカーブＴ［Ｇ］を補正する上での下限を規定することになり、いわば上下限カーブによって、ローカルトーンカーブＴ［Ｐ］の外殻が定められることになる。
【０２５２】
ここで述べる変形例は、§４−２で述べた変形例と同様に、合計３本のトーンカーブを用いて輝度調整を行うものであるが、「上限と下限とによって定められた外殻内にローカルトーンカーブＴ［Ｐ］を収める」という考え方ではなく、「特定の補正方向へ補正する際の最大補正量を制限する」という考え方を採用するものであり、更に自由度を高めた輝度調整を可能にするものである。
【０２５３】
ここで述べる変形例では、グローバルトーンカーブ設定手段１２０に、オペレータの設定操作に基づいて、グローバルトーンカーブＴ［Ｇ］、第１の制限カーブＴ［α］、第２の制限カーブＴ［β］という、合計３本のカーブを設定する機能をもたせておく。§４−２で述べた変形例における３本のトーンカーブの場合、上限カーブＴ［upper］はグローバルトーンカーブＴ［Ｇ］の上方に設定され、下限カーブＴ［lower］はグローバルトーンカーブＴ［Ｇ］の下方に設定される、という制約が課されることになるが、ここで述べる変形例の場合、３本のトーンカーブの相互位置関係に、何ら制約が課されるものではない。
【０２５４】
図２０〜図２３は、グローバルトーンカーブＴ［Ｇ］、第１の制限カーブＴ［α］、第２の制限カーブＴ［β］という３本のカーブの設定例を示す図である。これら３本のカーブは、いずれも０≦Ｌin≦Ｍなる条件を満たす範囲内の入力輝度値Ｌinを横軸、０≦Ｌout ≦Ｍなる条件を満たす範囲内の出力輝度値Ｌout を縦軸にとって、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフによって構成される（Ｍは、各輝度値の最大値）。
【０２５５】
図２０〜図２３には、輝度値の最大値をＭ＝２５５とした場合について、グローバルトーンカーブＴ［Ｇ］（実線），第１の制限カーブＴ［α］（二点鎖線），第２の制限カーブＴ［β］（三点鎖線）の３本のカーブとともに、基準トーンカーブＴ０（一点鎖線）が示されている。実際には、カラーのディスプレイ画面上に、個々のカーブごとに異なる色で表示がなされるようにするのが好ましい。オペレータは、図１７で説明したように、マウスなどのポインティングデバイスを用いて、ディスプレイ画面上に表示された各トーンカーブ上の任意の点をドラッグする操作によって、個々のトーンカーブの形状を任意形状に設定する操作を行うことができる。
【０２５６】
図２０に示す例では、グローバルトーンカーブＴ［Ｇ］に対して、その上方に第１の制限カーブＴ［α］が配置され、その下方に第２の制限カーブＴ［β］が配置されている。この設定は、第１の制限カーブＴ［α］を上限カーブＴ［upper］と呼び、第２の制限カーブＴ［β］を下限カーブＴ［lower］と呼べば、図１８に示した上下限を含む３本のトーンカーブの設定と全く同じになる。
【０２５７】
別言すれば、前述した§４−２の変形例（上下限を含む３本のトーンカーブにより輝度調整を行う例）は、ここで述べる変形例（任意の３本のトーンカーブにより輝度調整を行う例）の一形態と言うことができる。すなわち、ここで述べる変形例において、第１の制限カーブＴ［α］が常にグローバルトーンカーブＴ［Ｇ］の上方に配置され、第２の制限カーブＴ［β］が常にグローバルトーンカーブＴ［Ｇ］の下方に配置されるような制限を課したものが、前述した§４−２の変形例ということになり、図２０の設定例は、そのような制限どおりの設定を行った例ということになる。
【０２５８】
もちろん、ここで述べる変形例の場合、そのような制限は一切ないので、図２１〜図２３に示すような設定も可能になる。図２１に示す例は、図２０に示す例とは逆に、グローバルトーンカーブＴ［Ｇ］の下方に第１の制限カーブＴ［α］を配置し、上方に第２の制限カーブＴ［β］を設定した例である。また、図２２に示す例は、第１の制限カーブＴ［α］および第２の制限カーブＴ［β］の双方を、グローバルトーンカーブＴ［Ｇ］の下方に配置した例である。
【０２５９】
図２３に示す例は、第１の制限カーブＴ［α］と第２の制限カーブＴ［β］とを交差させて８の字状のカーブが形成されるような設定を行った例である。具体的には、横軸座標が境界輝度値Ｌｏに位置する交点Ｏにおいて、グローバルトーンカーブＴ［Ｇ］、第１の制限カーブＴ［α］、第２の制限カーブＴ［β］の３本が交差しており、この交点Ｏよりも左側の領域（Ｌin＜Ｌｏとなる領域）では、グローバルトーンカーブＴ［Ｇ］の上方に第１の制限カーブＴ［α］、下方に第２の制限カーブＴ［β］がそれぞれ配置されているのに対して、この交点Ｏよりも右側の領域（Ｌin＞Ｌｏとなる領域）では、グローバルトーンカーブＴ［Ｇ］の下方に第１の制限カーブＴ［α］、上方に第２の制限カーブＴ［β］がそれぞれ配置されている。
【０２６０】
このように、ここで述べる変形例の場合、３本のトーンカーブの配置に何ら制約を課す必要がないのは、前述したように「特定の補正方向へ補正する際の最大補正量を制限する」という考え方を採用しているためである。すなわち、この変形例では、輝度値変換手段１３０は、第１の制限カーブＴ［α］を越えない範囲内で、第１の制限カーブＴ［α］に近づける第１の補正方向Ｄαに輝度値を増減する第１の補正と、第２の制限カーブＴ［β］を越えない範囲内で、第２の制限カーブＴ［β］に近づける第２の補正方向Ｄβに輝度値を増減する第２の補正と、を選択的に行うことにより、ローカルトーンカーブＴ［Ｐ］を定義する処理を行う。
【０２６１】
より具体的に説明すれば、輝度値変換手段１３０は、グローバルトーンカーブＴ［Ｇ］における任意の入力輝度値Ｌinに対応する出力輝度値Ｌout の値に対して、個別補正関数Ｆ［Ｐ］における当該入力輝度値Ｌinに対応する補正増減率Ｃに基づいて、Ｃ＞０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第１の補正方向Ｄαに向けて修正する補正を行い、Ｃ＜０の場合は当該補正増減率Ｃの絶対値に応じた補正量だけ第２の補正方向Ｄβに向けて修正する補正を行い、Ｃ＝０の場合は補正を行わないことによりローカルトーンカーブＴ［Ｐ］の定義を行うことになる。但し、第１の補正方向Ｄαに向けての修正は、第１の制限カーブＴ［α］を越えない範囲内で行われ、第２の補正方向Ｄβに向けての修正は、第２の制限カーブＴ［β］を越えない範囲内で行われる。図２０〜図２３に示す矢印Ｄαおよび矢印Ｄβは、このような補正を行う場合の第１の補正方向Ｄαおよび第２の補正方向Ｄβを示すものである。
【０２６２】
ここで述べる変形例の場合も、輝度値変換手段１３０は、任意の横軸座標Ｌに位置するグローバルトーンカーブＴ［Ｇ］上の点について、その縦軸座標をＬold からＬnew に修正することによりローカルトーンカーブＴ［Ｐ］を定義することになる。この場合、−１≦Ｃ≦＋１なる条件を満たす範囲内の補正増減率Ｃを用いて設定した個別補正関数Ｆ［Ｐ］を前提とすれば、横軸座標Ｌにおける第１制限カーブＴ［α］の輝度値をＬα、第２制限カーブＴ［β］の輝度値をＬβとして、Ｃ＞０の場合は、Δａ＝|（Ｌα−Ｌold ）×Ｃ|なる式に基づいて定まる補正量Δａだけ、輝度値Ｌold を第１制限カーブＴ［α］に近づける方向に増減する補正を行い、Ｃ＜０の場合は、Δｂ＝|（Ｌβ−Ｌold）×Ｃ|なる式に基づいて定まる補正量Δｂだけ、輝度値Ｌold を第２制限カーブＴ［β］に近づける方向に増減する補正を行うことにより、ローカルトーンカーブＴ［Ｐ］を定義すればよい。要するに、第１制限カーブＴ［α］は、Ｃ＞０の場合の補正態様を定義する役割を果たし、第２制限カーブＴ［β］は、Ｃ＜０の場合の補正態様を定義する役割を果たすことになる。
【０２６３】
ここで述べた任意の３本のトーンカーブを用いる変形例は、§４−２で述べた上下限を含む３本のトーンカーブを用いる変形例の制約を取り去ったものであり、より柔軟なトーンカーブの設定が可能になり、更に自由度の高い輝度調整が可能になる。
【０２６４】
たとえば、図１９(a) に示すような単調増加型の個別補正関数Ｆ［Ｐ］を用いることを前提とすれば、第１制限カーブＴ［α］がグローバルトーンカーブＴ［Ｇ］より上方に配置されている領域では、周囲より明るいところを更に明るくして局所的コントラストを強める補正を行うことができる。ところが、同じ単調増加型の個別補正関数Ｆ［Ｐ］を用いたとしても、第１制限カーブＴ［α］がグローバルトーンカーブＴ［Ｇ］より下方に配置されている領域では、周囲より明るいところを暗くして局所的コントラストを弱める補正が行われる。したがって、この場合、単調増加型の個別補正関数Ｆ［Ｐ］を用いているにもかかわらず、これまで述べてきた基本的実施形態において、単調減少型の個別補正関数Ｆ［Ｐ］を用いた場合と同じ効果が得られることになる。
【０２６５】
同様に、第２制限カーブＴ［β］に関しても、やはり図１９(a) に示すような単調増加型の個別補正関数Ｆ［Ｐ］を用いることを前提とすれば、第２制限カーブＴ［β］がグローバルトーンカーブＴ［Ｇ］より下方に配置されている領域では、周囲より暗いところを更に暗くして局所的コントラストを強める補正を行うことができる。ところが、同じ単調増加型の個別補正関数Ｆ［Ｐ］を用いたとしても、第２制限カーブＴ［β］がグローバルトーンカーブＴ［Ｇ］より上方に配置されている領域では、周囲より暗いところを明るくして局所的コントラストを弱める補正が行われる。したがって、この場合も、単調増加型の個別補正関数Ｆ［Ｐ］を用いているにもかかわらず、これまで述べてきた基本的実施形態において、単調減少型の個別補正関数Ｆ［Ｐ］を用いた場合と同じ効果が得られることになる。
【０２６６】
結局、これまで述べてきた基本的実施形態の場合、局所的コントラストを強める場合には個別補正関数Ｆ［Ｐ］として単調増加関数を用い、弱める場合には個別補正関数Ｆ［Ｐ］として単調減少関数を用いる、という原則が適用できたが、ここで述べた変形例の場合、このような原則が必ずしも適用されるわけでない。したがって、個別補正関数Ｆ［Ｐ］として、常に同一の単調増加関数を固定して用いる、という運用を採ったとしても、第１の制限カーブＴ［α］と第２の制限カーブＴ［β］の設定を変えることにより、局所的コントラストを強める補正も可能であるし、弱める補正も可能である。このように、ここで述べた変形例の場合、コントラスト調整の自由度が格段に向上することになる。
【０２６７】
たとえば、図２３に示す例のように、第１の制限カーブＴ［α］と第２の制限カーブＴ［β］とを交差させて８の字状のカーブを形成させることも可能である。このように８の字状のカーブを形成させると、局所的にコントラストが強められる部分と局所的にコントラストが弱められる部分とを混在させることができる。たとえば、単調増加型の個別補正関数Ｆ［Ｐ］を用いた場合、図２３に示す交点Ｏに相当する輝度値Ｌｏをもつ画素については、局所的コントラストを増減するための補正は行われないことになるが、それより暗い画素については局所的コントラストを強める調整が行われ、それより明るい画素については局所的コントラストを弱める調整が行われる。このように、８の字状のカーブを形成させると、非常に複雑な輝度調整効果を生み出すことが可能になる。
【０２６８】
そもそも画像のコントラストの良否は、人間の感性によって判断されるものであるため、明確な基準を設けることは困難であり、輝度調整の対象となる画像の性質によっても基準が大きく変わるものである。たとえば、もともと適切なコントラストをもって撮影された画像であれば調整を行うことはないであろう。しかしながら、撮影時にカメラのレンズにフレアが発生していた場合、コントラストの低い画像が得られることになり、輝度調整が必要になろう。
【０２６９】
また、適切なコントラストであるか否かは、作者の作画意図によっても大きく異なるものである。たとえば、メリハリを求める作品画像に対しては意図的にコントラストを強めることもあれば、ソフトフォーカスで撮影した画像に対してはコントラストを弱めることもある。もちろん、作者が、芸術的な効果を狙って、意図的に奇異な画像を生み出そうとすることすらあり得る。このような観点から、ここに示した変形例により輝度調整の設定自由度を広げることは、技術的に大いに意味のあることである。
【０２７０】
ここに示す変形例の特徴は、基準性、範囲性、連続性を確保した状態で、グローバルなコントラスト調整と局所的なコントラスト調整とを融合させた点にある。
【０２７１】
ここで、基準性とは、たとえば、図６(a) に示す個別補正関数Ｆ［Ｐ］の補正基準ラインξ０を、図６(b) に示すグローバルトーンカーブＴ［Ｇ］に合致させる手法を採用することにより確保されるものであり、あくまでもオペレータが設定したグローバルトーンカーブＴ［Ｇ］を基準として、個々のローカルトーンカーブＴ［Ｐ］が得られることになるという特徴を意味する。
【０２７２】
また、範囲性とは、グローバルなパラメータとして第１の制限カーブＴ［α］と第２の制限カーブＴ［β］（あるいは、§４−２の変形例の場合は、上限カーブＴ［upper］と下限カーブＴ［lower］）を設定する手法を採用することにより確保されるものであり、局所的なコントラスト補正の度合いを所定の範囲内に抑制する効果が得られることになるという特徴を意味する。
【０２７３】
そして、連続性とは、ある程度のサイズをもった画素配列を参照領域として設定することにより確保されるものであり、隣接する着目画素について、ある程度の類似性をもった輝度調整処理が行われる効果が得られるという特徴を意味する。前述したとおり、参照領域は、たとえば、１９２×１９２の画素配列のように、ある程度のサイズをもった領域として設定されるので、ある１つの着目画素Ｐａについての周囲画素群と、その隣に位置する着目画素Ｐｂについての周囲画素群とは、大部分が重複していることになる。このため、着目画素Ｐａについて定義されるローカルトーンカーブＴ［Ｐａ］と、着目画素Ｐｂについて定義されるローカルトーンカーブＴ［Ｐｂ］との間には、あまり大きな差が生じることはない。したがって、個々の着目画素ごとにそれぞれ異なるローカルトーンカーブが定義されるとしても、隣接する輝度値では連続性が確保され、ローカルトーンカーブの変化はなだらかなものになる。
【０２７４】
このように、ここで述べた変形例では、基準性、範囲性、連続性を確保した状態で、グローバルなコントラスト調整と局所的なコントラスト調整との双方をバランスよく実現していることになる。
【０２７５】
＜＜＜  §５．  ヒストグラムを用いた集計を行う実施形態  ＞＞＞
§３では、図１６を参照しながら、参照領域Ｒ［Ｐ］内の１つ１つの周囲画素Ｅについて、それぞれ局所調整関数ｆ１（Ｌ），ｆ２（Ｌ），… を用意し、集計用座標系上でこれらを集計して総和グラフを求め、この総和グラフにより個別補正関数Ｆ［Ｐ］を設定する手法を説明した。この手法を利用すれば、複数の周囲画素Ｅの輝度値を１つ１つ考慮して、個別補正関数Ｆ［Ｐ］のグラフの細部の形状を決定することができるので、より適切な局所的コントラスト調整を行うことができる。したがって、本発明は実施する上では、§３で述べた手法を採用するのが極めて好ましい。
【０２７６】
ただ、§３で述べた手法を採用した場合、演算負担が増大するという問題がある。図１６には、説明の便宜上、７×７の画素配列からなる参照領域Ｒ［Ｐ］を例示し、合計４８個の周囲画素のそれぞれについて、局所調整関数ｆ１（Ｌ），ｆ２（Ｌ），… を配置し、これら４８組の局所調整関数の総和として、個別補正関数Ｆ［Ｐ］を定義する例を示したが、実用上は、参照領域Ｒ［Ｐ］として、より大きなサイズの画素配列が設定されることになる。たとえば、１９２×１９２の画素配列を参照領域Ｒ［Ｐ］として設定した場合、４万個に近い局所調整関数ｆ（Ｌ）を集計用座標系に配置して総和を求める演算を行う必要がある。しかも、個別補正関数Ｆ［Ｐ］は、調整前画像Ｕ１を構成する個々の画素について求めることになるので、演算負担はかなり重いものにならざるを得ない。
【０２７７】
そこで、ここでは、§３で述べた手法を採用しつつ、その演算負担を軽減することができる簡易集計法を述べておく。この簡易集計法を用いる場合、個別補正関数設定手段１４０は、参照領域Ｒ［Ｐ］内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成し、これらヒストグラムを参照して、各着目画素のそれぞれについて輝度値を補正するための個別補正関数Ｆ［Ｐ］を設定する処理を行えばよい。
【０２７８】
図２４は、このヒストグラムを用いた集計により個別補正関数Ｆ［Ｐ］を設定する第１の方法を示すグラフである。図示の例は、０〜２５５の範囲に分布する輝度値Ｌを４段階の階級に分類した例である（ヒストグラムの階級の総数Ｋ＝４）。§３で説明した図１６に示す方法と比較すると、演算負担が大幅に軽減されていることがわかる。
【０２７９】
すなわち、図１６に示す方法の場合、図の上段に示す集計用座標系上に、合計Ｎ個（Ｎは、参照領域Ｒ［Ｐ］内の周囲画素の総数）の局所調整関数ｆ１（Ｌ），ｆ２（Ｌ），… ，ｆＮ（Ｌ）をそれぞれ所定位置に配置し、その総和を求める演算を行う必要があるのに対して、図２４に示す方法の場合、上段(a) に示す集計用座標系上には、階級の総数Ｋに応じて、Ｋ組の局所調整関数を配置すれば足りる。図示の例は、Ｋ＝４に設定した例であるので、４組の局所調整関数ｆ１（Ｌ），ｆ２（Ｌ），ｆ３（Ｌ），ｆ４（Ｌ）のみが配置されており、総和を求める集計演算は、この４組の局所調整関数に対して行えば足りる。
【０２８０】
この図２４に示す例の場合、具体的には、次のようなプロセスで個別補正関数Ｆ［Ｐ］が求められる。まず、参照領域Ｒ［Ｐ］内の複数Ｎ個の周囲画素Ｅ１〜ＥＮのそれぞれについて輝度値を抽出し、この輝度値に応じて各周囲画素を４段階の階級に分類する。ここでは、これらの階級を、ＢＩＮ１，ＢＩＮ２，ＢＩＮ３，ＢＩＮ４と呼ぶことにする。図示の例では、輝度値Ｌは、０〜２５５の数値範囲に定義されているので、この数値範囲を４等分して、０〜６３の範囲を階級ＢＩＮ１とし、６４〜１２７の範囲を階級ＢＩＮ２とし、１２８〜１９１の範囲を階級ＢＩＮ３とし、１９２〜２５５の範囲を階級ＢＩＮ４としている。
【０２８１】
そして、個々の階級ごとに、それぞれ所属する周囲画素の数をカウントしてヒストグラムを作成する。図２４(b) は、このようにして作成されたヒストグラムであり、横軸に輝度値Ｌ、縦軸に度数Ｖ（カウントされた周囲画素の数）が示されている。具体的には、ＢＩＮ１については度数Ｖ１、ＢＩＮ２については度数Ｖ２、ＢＩＮ３については度数Ｖ３、ＢＩＮ４については度数Ｖ４という結果が示されている。ここで、Ｖ１＋Ｖ２＋Ｖ３＋Ｖ４＝Ｎ（参照領域内の周囲画素の総数）である。なお、§３でも述べたとおり、実用上は、参照領域Ｒ［Ｐ］を構成する画素配列から着目画素Ｐのみを除外する処理を省く便宜上、着目画素Ｐを周囲画素の１つとして取り扱う運用を行ってもかまわない。
【０２８２】
一方、この図２４に示す例の場合、各階級の代表輝度値として、予め定められた所定の固定輝度値を用いている。具体的には、各階級の輝度値範囲の中央値を当該階級の代表輝度値とすることにより、階級ＢＩＮ１の代表輝度値を３２、階級ＢＩＮ２の代表輝度値を９６、階級ＢＩＮ３の代表輝度値を１６０、階級ＢＩＮ４の代表輝度値を２２４という固定値に設定している。図２４(b) の下段に白三角形で示す数値は、これらの代表輝度値である。
【０２８３】
そこで、図２４(a) に示す集計用座標系上には、各階級ＢＩＮ１〜ＢＩＮ４に対応させて、４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）を、それぞれ調整値ｆ＝０となる点の横軸座標が、対応する階級の代表輝度値に一致するように配置している。たとえば、階級ＢＩＮ１に対応する局所調整関数ｆ１（Ｌ）は、補正基準ラインξ０との交点Ｅ０１の横軸座標が階級ＢＩＮ１の代表輝度値３２に一致する位置に配置されている。同様に、局所調整関数ｆ２（Ｌ）は、交点Ｅ０２の横軸座標が階級ＢＩＮ２の代表輝度値９６に一致する位置に配置され、局所調整関数ｆ３（Ｌ）は、交点Ｅ０３の横軸座標が階級ＢＩＮ３の代表輝度値１６０に一致する位置に配置され、局所調整関数ｆ４（Ｌ）は、交点Ｅ０４の横軸座標が階級ＢＩＮ４の代表輝度値２２４に一致する位置に配置されている。
【０２８４】
こうして、４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）を所定位置に配置したら、これらのグラフを、それぞれ対応する度数に応じた重みづけを行って集計して総和グラフを求め、この総和グラフの縦軸を−１〜＋１の範囲に規格化すれば、着目画素Ｐについての個別補正関数Ｆ［Ｐ］を得ることができる。結局、個別補正関数Ｆ［Ｐ］は、図２４の中段右に示すように、Ｆ［Ｐ］＝１／Ｎ・Σk=1〜K Ｖｋ・ｆｋ（Ｌ）なる式で定義されることになる。ここで、Ｎは、参照領域Ｒ［Ｐ］内の周囲画素の総数、ｋは、ヒストグラムの階級番号を示すパラメータ、Ｋは、ヒストグラムの階級の総数（上例の場合、Ｋ＝４）、Ｖｋは、第ｋ番目の階級についての度数、ｆｋ（Ｌ）は、第ｋ番目の階級に対応して配置された局所調整関数である。
【０２８５】
結局、個別補正関数Ｆ［Ｐ］を求める際にヒストグラムを用いた簡易集計法を適用する場合には、個別補正関数設定手段１４０は、次のようなプロセスに従った処理を行えばよい。
【０２８６】
まず、局所調整関数ｆ（Ｌ）の定義を行う。この局所調整関数ｆ（Ｌ）は、輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような関数であれば、どのような関数であってもかまわない。ただ、§３で述べたように、点対称性をもった累積ガウス関数などを用いるのが好ましく、実用上は、シグモイド関数を利用するのが好ましい。
【０２８７】
たとえば、単調増加型のシグモイド関数を用いる場合であれば、第ｋ番目の局所調整関数ｆｋ（Ｌ）として、「ｆｋ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｋ）／Ｍ）））−１」なる関数を用いればよい。ここで、Ｌは変数となる輝度値、Ｌｋは第ｋ番目の階級について設定された代表輝度値（当該階級に属する範囲内の輝度値として予め設定されている所定の固定輝度値：上例の場合、３２，９６，１６０，２２４なる固定値）、Ｍは輝度値の最大値（上例の場合、Ｍ＝２５５）、μは所定の勾配係数である。
【０２８８】
続いて、参照領域Ｒ［Ｐ］内の複数Ｎ個の周囲画素（着目画素Ｐ自身を含めてもよい）の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することにより、図２４(b) に示すようなヒストグラムを作成する。そして、図２４(a) に示すように、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、作成したヒストグラムにおける第ｋ番目の階級（但し、ｋ＝１，２，... ，Ｋ）に対応させて第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフを配置し、配置した第ｋ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｋ番目の階級ＢＩＮｋの代表輝度値に一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる。
【０２８９】
最後に、これら合計Ｋ組のグラフを、それぞれの度数に応じた重みづけを行って集計し、その総和として総和グラフを求め、この総和グラフを用いて個別補正関数Ｆ［Ｐ］を設定すればよい。
【０２９０】
局所調整関数ｆｋ（Ｌ）として、−１〜＋１の範囲内に規格化された調整値ｆを関数値とする関数を用いることにすれば、Ｆ［Ｐ］＝１／Ｎ・Σk=1〜K Ｖｋ・ｆｋ（Ｌ）なる式で定義される関数Ｆ［Ｐ］の関数値（すなわち、補正増減率Ｃ）も、−１〜＋１の範囲内に規格化されたものになるので、これをそのまま個別補正関数Ｆ［Ｐ］として用いることができる。もちろん、局所調整関数ｆｋ（Ｌ）の関数値として定義される調整値ｆは、必ずしも−１〜＋１の範囲内に規格化されている必要はなく、任意の数値範囲の値であってかまわない。この場合、必要に応じて、総和を求める集計後に規格化処理を行うようにすればよい。
【０２９１】
結局、図２４に示す簡易集計法を利用すれば、図２４(b) に示すようなヒストグラムを作成し（具体的には、全Ｎ個の周囲画素について、それぞれ輝度値がどの階級に属するかを判断し、度数Ｖ１〜Ｖ４を決める処理を行えばよい）、図２４(a) に示すように、予め所定位置に配置された４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）に、それぞれ度数Ｖ１〜Ｖ４を乗じ、総和を求める演算を行うことにより、個別補正関数Ｆ［Ｐ］を得ることができる。このため、§３で説明した方法と比較すると、演算負担が大幅に軽減されることになる。
【０２９２】
一方、図２５は、ヒストグラムを用いた集計により個別補正関数Ｆ［Ｐ］を設定する第２の方法を示すグラフである。この図２５に示す例も、図２４に示す例と同様に、０〜２５５の範囲に分布する輝度値Ｌを４段階の階級に分類した例である（ヒストグラムの階級の総数Ｋ＝４）。
【０２９３】
図２４に示す第１の方法と図２５に示す第２の方法との相違は、ヒストグラムを構成する各階級の代表輝度値の定義のしかたである。第１の方法では、第ｋ番目の階級の代表輝度値として、当該階級に属する範囲内の輝度値として予め設定されている所定の固定輝度値（図示の例の場合は中央値）を用いていた。したがって、図２４(a) に示す４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）の横軸方向の位置は、交点Ｅ０１，Ｅ０２，Ｅ０３，Ｅ０４の横軸座標が３２，９６，１６０，２２４となる位置に固定されている。
【０２９４】
これに対して、図２５に示す第２の方法では、第ｋ番目の階級の代表輝度値として、当該階級に所属する周囲画素の平均輝度値を用いるようにしており、各代表輝度値は固定値にはならない。図２５(b) の下段に黒三角形で示す値Ｌｒ１〜Ｌｒ４は、このようにして算出された各階級の代表輝度値である。たとえば、階級ＢＩＮ１の代表輝度値Ｌｒ１は、階級ＢＩＮ１に所属する全周囲画素の輝度値の平均値として求められる。同様に、代表輝度値Ｌｒ２は階級ＢＩＮ２に所属する全周囲画素の平均輝度値であり、代表輝度値Ｌｒ３は階級ＢＩＮ３に所属する全周囲画素の平均輝度値であり、代表輝度値Ｌｒ４は階級ＢＩＮ４に所属する全周囲画素の平均輝度値である。
【０２９５】
この第２の方法でも、図２５(a) に示すように、集計用座標系上に、各階級ＢＩＮ１〜ＢＩＮ４に対応させて、４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）を、それぞれ調整値ｆ＝０となる点の横軸座標が、対応する階級の代表輝度値Ｌｒ１〜Ｌｒ４に一致するように配置される。たとえば、階級ＢＩＮ１に対応する局所調整関数ｆ１（Ｌ）は、補正基準ラインξ０との交点Ｅ０１の横軸座標が階級ＢＩＮ１の代表輝度値Ｌｒ１に一致する位置に配置されている。同様に、局所調整関数ｆ２（Ｌ）は、交点Ｅ０２の横軸座標が階級ＢＩＮ２の代表輝度値Ｌｒ２に一致する位置に配置され、局所調整関数ｆ３（Ｌ）は、交点Ｅ０３の横軸座標が階級ＢＩＮ３の代表輝度値Ｌｒ３に一致する位置に配置され、局所調整関数ｆ４（Ｌ）は、交点Ｅ０４の横軸座標が階級ＢＩＮ４の代表輝度値Ｌｒ４に一致する位置に配置されている。
【０２９６】
ただ、代表輝度値Ｌｒ１〜Ｌｒ４は固定値にはならず、個々の参照領域Ｒ［Ｐ］ごとに（個々の着目画素Ｐごとに）異なる値になる。このため、集計用座標系上に配置される４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）の横軸方向の位置は、個々の着目画素Ｐごとに異なる。
【０２９７】
その他の点は、図２４に示す第１の方法と全く同じである。すなわち、図２５(a) に示すように、４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）を代表輝度値Ｌｒ１〜Ｌｒ４に応じた位置に配置したら、これらのグラフを、それぞれ対応する度数に応じた重みづけを行って集計して総和グラフを求め、この総和グラフの縦軸を−１〜＋１の範囲に規格化すれば、着目画素Ｐについての個別補正関数Ｆ［Ｐ］を得ることができる。したがって、この第２の方法を採る場合でも、個別補正関数Ｆ［Ｐ］は、図２５の中段右に示すように、Ｆ［Ｐ］＝１／Ｎ・Σk=1〜K Ｖｋ・ｆｋ（Ｌ）なる式（図２４の中段右に示す式と同じ式）で定義されることになる。
【０２９８】
図２４に示す第１の方法に比べ、図２５に示す第２の方法では、代表輝度値Ｌｒ１〜Ｌｒ４を算出するための平均演算を行う必要があり、算出された代表輝度値Ｌｒ１〜Ｌｒ４に応じた位置に４組の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）を配置する必要があるので、若干、演算処理負担は増えることになる。ただ、実用上は、第２の方法を採用するのが好ましい。これは、ヒストグラム自身には、各階級に所属する輝度値の分布を示す情報が含まれていないため、図２４や図２５に示す例のように、ヒストグラムの階級の総数Ｋを比較的小さな値（図示の例では、Ｋ＝４）に設定した上、代表輝度値として固定値を用いるようにすると、本来考慮すべき情報が失われてしまうためである。
【０２９９】
これを、図２６および図２７に示す実例を参照しながら説明しよう。図２６および図２７は、いずれもヒストグラムを用いた集計による輝度値分布範囲の変化態様を示すグラフである。いずれも上段(a) のグラフは、階級分けを行う前の度数Ｖ（画素数）、下段(b) のグラフ（ヒストグラム）は、Ｋ＝４に設定して、４段階の階級分けを行った後の度数Ｖ（画素数）を示している。
【０３００】
図２６(a) および図２７(a) の輝度分布の状態を見ると、いずれもある程度近似した輝度値をもつ画素群からなる画像であることがわかる。たとえば、青空などを撮影した場合、このような輝度分布をもった画像が得られる。ここで、両者の相違に着目すると、図２６(a) では、輝度値Ｌが１２８〜１９２の範囲に分布しているのに対して、図２７(a) では、輝度値Ｌが１９２の前後に分布していることがわかる。別言すれば、図２６(a) の輝度分布をもつ画像に比べて、図２７(a) の輝度分布をもつ画像の方が、全体的に若干明るい画像ということができる。
【０３０１】
ここで、これらの画像について作成されたヒストグラムを比べてみると、図２６(b) の場合、すべての画素が第３の階級ＢＩＮ３に所属することになり、階級ＢＩＮ３のみから構成されるヒストグラムになっている。これに対して、図２７(b) の場合、画素は第３の階級ＢＩＮ３と第４の階級ＢＩＮ４とに分散され、階級ＢＩＮ３と階級ＢＩＮ４によって構成されるヒストグラムになっている。したがって、上段(a) に示す実際の輝度分布を比較する限り、両者の分布範囲にそれほど差がないにもかかわらず、下段(b) に示すヒストグラムを比較すると、図２６の画像に比べて図２７の画像の方が、より広い分布範囲をもっていると解釈されることになる。
【０３０２】
このような現象が生じるのは、図２６に示す例の場合は、実際の輝度分布が、たまたま同一の階級（第３の階級ＢＩＮ３）の範囲内に収まっていたのに、図２７に示す例の場合は、実際の輝度分布が、階級の境界を跨ぎ、２つの階級（第３の階級ＢＩＮ３および第４の階級ＢＩＮ４）に分散してしまったためである。ここで、上段(a) の輝度分布グラフを、２５６段階の階級を定義したヒストグラム（Ｋ＝２５６）と考えれば、上段(a) のグラフも下段(b) のグラフも同じヒストグラムとして捉えることができ、両者の相違は、階級の総数Ｋということになる。
【０３０３】
そこで、この図２６および図２７に示す実例について、階級の代表輝度値として、所定の固定値を設定した場合（図２４に示す第１の方法に対応）と、所属する画素の平均輝度値を設定した場合（図２５に示す第２の方法に対応）とを比較してみる。
【０３０４】
まず、図２６(b) の下段に白矢印で示す値１６０は、階級ＢＩＮ３について固定値（区間の中央値）として設定された代表輝度値を示し、黒矢印で示す値Ｌｒ３は、階級ＢＩＮ３について平均輝度値として設定された代表輝度値を示している。図２６(a) の輝度分布を見れば、白矢印の位置と黒矢印の位置とがほぼ同じになることが理解できよう。一方、図２７(b) の下段に白矢印で示す値１６０，２２４は、階級ＢＩＮ３，ＢＩＮ４について固定値（区間の中央値）として設定された代表輝度値を示し、黒矢印で示す値Ｌｒ３，Ｌｒ４は、階級ＢＩＮ３，ＢＩＮ４について平均輝度値として設定された代表輝度値を示している。図２７(a) の輝度分布を見れば、黒矢印の位置がこのような偏った位置になることが理解できよう。
【０３０５】
図２６に示す例のように、実際の輝度分布が、たまたま同一の階級の範囲内にほぼ均等に収まっていた場合は、白矢印の位置と黒矢印の位置とがほぼ同じになるので、階級の代表輝度値として、所定の固定値を設定しても所属画素の平均輝度値を設定しても大差はない。ところが、図２７に示す例のように、実際の輝度分布が、階級の境界を跨いで分散して同一の階級の範囲内で偏りを生じていた場合は、白矢印の位置と黒矢印の位置とに違いが生じてくる。もちろん、白矢印の位置よりも黒矢印の位置の方が、もとの輝度分布を正確に反映したものになっている。
【０３０６】
結局、ヒストグラムの階級の総数Ｋを小さく設定すればするほど、演算負担は軽減されることになるが、階級の代表輝度値として所定の固定値を採用した場合、量子化誤差が生じてくることになる。このような量子化誤差の発生を避けるためには、階級の代表輝度値として、固定値ではなく所属画素の平均輝度値を採用するのが好ましい。このような理由から、実用上は、図２４に示す第１の方法ではなく、図２５に示す第２の方法を採るのが好ましい。
【０３０７】
＜＜＜  §６．  画像の領域分割を行う実施形態  ＞＞＞
一般に、画像を個々の部分ごとに観察すると、輝度変化が激しい部分もあれば、輝度変化がなだらかな部分もある。たとえば、図２８(a) に示す市松模様は、輝度変化が激しい画像として把握することができ、図２８(b) に示すグレートーン画像は、輝度変化が緩やかな画像として把握することができる。ここでは、１枚の画像上において、図２８(a) に示すように輝度変化が激しい部分をテクスチャ領域Ａｔと呼び、図２８(b) に示すように輝度変化が緩やかな部分をグラデーション領域Ａｇと呼ぶことにする。
【０３０８】
図２８に示す例の場合、テクスチャ領域Ａｔの平均輝度とグラデーション領域Ａｇの平均輝度は同じであるが、両者を観察した場合の印象は著しく異なる。また、これら２つの領域を遠目で観察した場合、テクスチャ領域Ａｔは全体がグレーで塗りつぶされた画像として観察されるのに対して、グラデーション領域Ａｇは左側の白領域と右側の黒領域とに分かれた画像として観察されるであろう。
【０３０９】
したがって、本発明において、参照領域Ｒ［Ｐ］内の周囲画素の輝度値を参照して個別補正関数Ｆ［Ｐ］を設定する際には、当該参照領域Ｒ［Ｐ］内の画像が、テクスチャ領域Ａｔであるのかグラデーション領域Ａｇであるのかを判断して、それぞれの場合に応じた適切な処理を行うのが好ましいと考えられる。ここで述べる実施形態は、このような考え方に立脚して、個別補正関数設定手段１４０が、個別補正関数Ｆ［Ｐ］を設定する処理を行う際に、調整前画像Ｕ１を複数の分割領域に分けて認識し、互いに異なる分割領域内の周囲画素については、それぞれ異なる態様で輝度値を参照して個別補正関数Ｆ［Ｐ］を設定するという方針を採るものである。
【０３１０】
テクスチャ領域Ａｔとグラデーション領域Ａｇとの判別方法は、古くから様々な方法が提案されている。基本的には、個々の画素のもつ輝度値の二次元空間的な分布を解析し、空間周波数が高い領域をテクスチャ領域Ａｔ、空間周波数が低い領域をグラデーション領域Ａｇと認識することができる。したがって、個別補正関数設定手段１４０に、与えられた画像の輝度値の二次元空間的な分布を解析する機能をもたせておき、空間周波数が所定の基準以上となる領域をテクスチャ領域Ａｔと認識させ、空間周波数が当該基準未満となる領域をグラデーション領域Ａｇと認識させれば、任意の調整前画像Ｕ１を、テクスチャ領域Ａｔとグラデーション領域Ａｇとに分けて認識することが可能になる。
【０３１１】
そこで、個別補正関数設定手段１４０に、テクスチャ領域Ａｔに位置する周囲画素とグラデーション領域Ａｇに位置する周囲画素とについて、それぞれ異なる態様で輝度値を参照して個別補正関数Ｆ［Ｐ］を設定する処理を行わせればよい。
【０３１２】
本願発明者は、一般的には、テクスチャ領域Ａｔについては、強い局所的コントラスト補正が行われるようにし、グラデーション領域Ａｇについては、弱い局所的コントラスト補正が行われるようにするのが好ましいと考えている。これは次のような理由によるものである。
【０３１３】
まず、本発明において、局所的コントラスト補正を行う目的は、オペレータが設定したグローバルトーンカーブＴ［Ｇ］によって画像全体に対して行われる輝度調整では十分でない局所的な微調整を行うためである。そして、この局所的な微調整は、人間の感性により合致する画像を生成するために行うべきものである。ここで、人間の感性は、その進化の過程において、より生存確率を高める方向、すなわち、「地（背景）」の中に潜む外敵や獲物を「図（認識すべき対象物）」として即座に認識する方向に養われたものと考えられる。
【０３１４】
ここで、青空を飛ぶ鳥は認識しやすく、ジャングルに潜む動物は認識しにくいことを考えれば、青空のようなグラデーション領域Ａｇを「地」とする場合は「図」の認識が容易であるのに、ジャングルのようなテクスチャ領域Ａｔを「地」とする場合は「図」の認識が困難であることが理解できよう。したがって、青空のようなグラデーション領域Ａｇを「地」とする場合は、わざわざ局所的コントラスト補正を行って「図」を認識しやすくする必要性に乏しいのに対して、ジャングルのようなテクスチャ領域Ａｔを「地」とする場合は、「図」の認識を容易にするために、局所的コントラスト補正を行った方が好ましい、という結論を導くことができる。
【０３１５】
このような論拠から、一般論としては、前述したとおり、テクスチャ領域Ａｔについては、強い局所的コントラスト補正が行われるようにし、グラデーション領域Ａｇについては、弱い局所的コントラスト補正が行われるようにするのが好ましい。
【０３１６】
§３では、単調増加もしくは単調減少する局所調整関数ｆ（Ｌ）を定義し、１つ１つの周囲画素について、それぞれ所定位置に局所調整関数ｆ（Ｌ）を配置し、これらの総和により個別補正関数Ｆ［Ｐ］を設定する実施形態を述べたが、この§３の実施形態に、この§６で述べる実施形態を適用する場合は、個別補正関数設定手段１４０が、調整前画像Ｕ１を複数の分割領域に分けて認識し、個別補正関数Ｆ［Ｐ］を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる局所調整関数ｆ（Ｌ）を用いた集計を行うようにすればよい。
【０３１７】
図２９は、このような方針に基づいて、テクスチャ領域Ａｔ用の局所調整関数ｆｔ（Ｌ）とグラデーション領域Ａｇ用の局所調整関数ｆｇ（Ｌ）とをそれぞれ別個に定義した例である。この場合、個別補正関数設定手段１４０は、調整前画像Ｕ１を、空間周波数が所定の基準以上となるテクスチャ領域Ａｔと空間周波数が当該基準未満となるグラデーション領域Ａｇとに分けて認識し、テクスチャ領域Ａｔに位置する周囲画素については、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）を用い、グラデーション領域Ａｇに位置する周囲画素については、グラデーション領域用の局所調整関数ｆｇ（Ｌ）を用いた集計を行うようにすればよい。
【０３１８】
図２９には、３本のグラフが示されているが、破線で示すグラフｆ（Ｌ）は、たとえば、図１６の上段に示されている局所調整関数ｆ１（Ｌ），ｆ２（Ｌ）のグラフと同じものである。これに対して、実線で示すグラフｆｔ（Ｌ）は、テクスチャ領域Ａｔ用の局所調整関数のグラフであり、立ち上がり部分の勾配がより急峻なカーブになっている。また、一点鎖線で示すグラフｆｇ（Ｌ）は、グラデーション領域Ａｇ用の局所調整関数のグラフであり、立ち上がり部分の勾配がより緩慢なカーブになっている。これは、上述したとおり、テクスチャ領域Ａｔについては、強い局所的コントラスト補正が行われるようにし、グラデーション領域Ａｇについては、弱い局所的コントラスト補正が行われるようにする、という基本方針を反映したものである。
【０３１９】
なお、§３で述べたとおり、実用上は、局所調整関数ｆ（Ｌ）として、「ｆ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｅ）／Ｍ）））−１」（単調増加の場合）もしくは「ｆ（Ｌ）＝−（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｅ）／Ｍ）））＋１」（単調減少の場合）なる式で示されるシグモイド関数を用いて集計演算を行うのが好ましい。この式におけるμは勾配係数であり、係数μの値を大きくすれば、図２９の局所調整関数ｆｔ（Ｌ）のように立ち上がり部分の勾配が急峻な関数を設定することができ、係数μの値を小さくすれば、図２９の局所調整関数ｆｇ（Ｌ）のように立ち上がり部分の勾配が緩慢な関数を設定することができる。
【０３２０】
続いて、前述した§３の実施形態に、この§６で述べる実施形態を適用した場合に、個別補正関数設定手段１４０によって行われる個別補正関数設定処理の具体的な手順を実例を示しながら説明する。
【０３２１】
ここでは、図３０に示すような一般的な風景画像が調整前画像Ｕ１として与えられた場合を考えてみる。この調整前画像Ｕ１は、調整前画像格納手段１１０に格納された後、個別補正関数設定手段１４０による解析の対象になる。
【０３２２】
図示のとおり、この風景画像には、空部、山部、村部、湖部という各領域が含まれているが、ここでは、個別補正関数設定手段１４０による解析の結果、図３１に示すとおり、空部と湖部はグラデーション領域Ａｇと認識され、山部と村部はテクスチャ領域Ａｔと認識されたものとしよう。このような領域認識は、基本的に、各部の空間周波数を検出し、検出値が基準以上となる部分をテクスチャ領域Ａｔ、基準未満となる部分をグラデーション領域Ａｇとする処理によって行えばよい。このような処理を行うための具体的な方法は公知であるため、ここでは詳しい説明は省略する。
【０３２３】
ここでは、説明の便宜上、調整前画像Ｕ１の一部が、図３２に示すように領域分割されたものとしよう。ここで、太い一点鎖線が領域の境界線を示し、当該境界線より上方の領域がグラデーション領域Ａｇと認識され、当該境界線より下方の領域がテクスチャ領域Ａｔと認識されたものとしよう。
【０３２４】
前述した§３の実施形態によれば、この調整前画像Ｕ１を構成する１つ１つの画素をそれぞれ着目画素Ｐとして、その周囲画素の輝度値を参照することにより、個別補正関数Ｆ［Ｐ］の設定が行われる。
【０３２５】
ここでは、まず、グラデーション領域Ａｇに含まれる画素Ｐ１１を着目画素としたときの処理を説明しよう。図には、着目画素Ｐ１１を中心とする５×５の画素配列（太枠内）が参照領域Ｒ［Ｐ１１］として設定された状態が示されている。この場合、参照領域Ｒ［Ｐ１１］内の着目画素Ｐ１１を除いた２４個の周囲画素のそれぞれについて局所調整関数を定めることになるが、その際、たとえば、周囲画素Ｅ１１については、図２９に示すグラデーション領域用の局所調整関数ｆｇ（Ｌ）が選択される。これは、周囲画素Ｅ１１がグラデーション領域Ａｇに含まれる画素であるためである。
【０３２６】
図示の例の場合、参照領域Ｒ［Ｐ１１］内の周囲画素はすべてグラデーション領域Ａｇに含まれる画素であるので、すべての周囲画素について、それぞれグラデーション領域用の局所調整関数ｆｇ（Ｌ）が選択されることになる。もちろん、これらの局所調整関数ｆｇ（Ｌ）は、集計用座標系上の、対応する周囲画素の輝度値に応じた位置に配置される。
【０３２７】
図３３は、§５で述べた「ヒストグラムを用いた集計を行う実施形態（第２の方法）」を適用し、ヒストグラムを用いた集計により着目画素Ｐ１１についての個別補正関数Ｆ［Ｐ１１］を設定する例を示すグラフである。個別補正関数設定手段１４０は、まず、参照領域Ｒ［Ｐ１１］内の周囲画素の各輝度値を読み出して、図３３(b) に示すようなヒストグラムを作成する。このとき、個々の階級ごとに、それぞれ平均輝度値を算出して代表輝度値Ｌｒ１〜Ｌｒ４とする。
【０３２８】
続いて、図３３(a) に示すように、各代表輝度値Ｌｒ１〜Ｌｒ４の位置に各交点Ｅ０１〜Ｅ０４がくるように、集計用座標系上に４組の局所調整関数ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）を配置する。ここで配置する局所調整関数ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）は、いずれもグラデーション領域用の局所調整関数ｆｇ（Ｌ）である。最後に、こうして配置された４組の局所調整関数ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）に、図３３(b) に示すヒストグラムで得られた度数Ｖ１〜Ｖ４を乗じ、総和を求めて規格化する演算（図３３の中段右に示すＦ［Ｐ］＝１／Ｎ・Σk=1〜K Ｖｋ・ｆｇｋ（Ｌ）なる式に基づく演算）を行えば、着目画素Ｐ１１についての個別補正関数Ｆ［Ｐ１１］が得られる。
【０３２９】
一方、図３２において、テクスチャ領域Ａｔに含まれる画素Ｐ１２を着目画素としたときの処理は次のとおりである。まず、図示のように、着目画素Ｐ１２を中心とする５×５の画素配列（太枠内）が参照領域Ｒ［Ｐ１２］として設定される。そして、この参照領域Ｒ［Ｐ１２］内の着目画素Ｐ１２を除いた２４個の周囲画素のそれぞれについて局所調整関数を定めることになるが、その際、たとえば、周囲画素Ｅ１２については、図２９に示すテクスチャ領域用の局所調整関数ｆｔ（Ｌ）が選択される。これは、周囲画素Ｅ１２がテクスチャ領域Ａｔに含まれる画素であるためである。
【０３３０】
図示の例の場合、参照領域Ｒ［Ｐ１２］内の周囲画素はすべてテクスチャ領域Ａｔに含まれる画素であるので、すべての周囲画素について、それぞれテクスチャ領域用の局所調整関数ｆｔ（Ｌ）が選択されることになる。もちろん、これらの局所調整関数ｆｔ（Ｌ）は、集計用座標系上の、対応する周囲画素の輝度値に応じた位置に配置される。
【０３３１】
図３４は、§５で述べた「ヒストグラムを用いた集計を行う実施形態（第２の方法）」を適用し、ヒストグラムを用いた集計により着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］を設定する例を示すグラフである。個別補正関数設定手段１４０は、まず、参照領域Ｒ［Ｐ１２］内の周囲画素の各輝度値を読み出して、図３４(b) に示すようなヒストグラムを作成する。このとき、個々の階級ごとに、それぞれ平均輝度値を算出して代表輝度値Ｌｒ１〜Ｌｒ４とする。
【０３３２】
続いて、図３４(a) に示すように、各代表輝度値Ｌｒ１〜Ｌｒ４の位置に各交点Ｅ０１〜Ｅ０４がくるように、集計用座標系上に４組の局所調整関数ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）を配置する。ここで配置する局所調整関数ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）は、いずれもテクスチャ領域用の局所調整関数ｆｔ（Ｌ）である。最後に、こうして配置された４組の局所調整関数ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）に、図３４(b) に示すヒストグラムで得られた度数Ｖ１〜Ｖ４を乗じ、総和を求めて規格化する演算（図３４の中段右に示すＦ［Ｐ］＝１／Ｎ・Σk=1〜K Ｖｋ・ｆｔｋ（Ｌ）なる式に基づく演算）を行えば、着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］が得られる。
【０３３３】
図３３(a) に示す４組の局所調整関数ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）と、図３４(a) に示す４組の局所調整関数ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）とを比較すると、前者の立ち上がり部分は緩慢であるのに対して、後者の立ち上がり部分は急峻である。したがって、最終的に得られる個別補正関数Ｆ［Ｐ１１］とＦ［Ｐ１２］とを比較すると、やはり前者の立ち上がり部分は緩慢になるのに対して、後者の立ち上がり部分は急峻になる。
【０３３４】
これは、グラデーション領域Ａｇ内の着目画素Ｐ１１に対して行われる局所的コントラスト調整の度合いに比べて、テクスチャ領域Ａｔ内の着目画素Ｐ１２に対して行われる局所的コントラスト調整の度合いの方が強くなることを示している。このような調整は、前述したとおり、進化の過程において人間が取得した感性に合致した調整になる。
【０３３５】
なお、着目画素の位置によっては、グラデーション領域Ａｇとテクスチャ領域Ａｔとの境界線上に参照領域が設定される場合もある。たとえば、図３２において、画素Ｐ１３を着目画素としたときの処理では、参照領域Ｒ［Ｐ１３］は、領域の境界線上に設定されることになる。この場合、周囲画素は、グラデーション領域Ａｇとテクスチャ領域Ａｔとに股がって混在することになる。図示の例の場合、２４個の周囲画素のうちの７個はグラデーション領域Ａｇ上の画素であり、残りの１７個はテクスチャ領域Ａｔ上の画素である。
【０３３６】
このような場合でも、原則どおり、グラデーション領域Ａｇ上の周囲画素については、グラデーション領域用の局所調整関数ｆｇ（Ｌ）を選択し、テクスチャ領域Ａｔ上の周囲画素については、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）を選択して、集計用座標系上に配置すればよい。したがって、図３２に示す例の場合、周囲画素Ｅ１３ｇについては、グラデーション領域用の局所調整関数ｆｇ（Ｌ）が選択され、周囲画素Ｅ１３ｔについては、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）が選択される。したがって、集計用座標系上には、２種類の局所調整関数ｆｇ（Ｌ），ｆｔ（Ｌ）が混在して配置されることになる。
【０３３７】
なお、ヒストグラムを用いた簡易集計法を利用する場合は、グラデーション領域Ａｇ上の周囲画素と、テクスチャ領域Ａｔ上の周囲画素とについて、それぞれ度数Ｖの計数を別個に行い、グラデーション領域用ヒストグラムとテクスチャ領域用ヒストグラムとを作成する必要がある。集計用座標系には、グラデーション領域用ヒストグラムに基づいて図３３(a) に示すような４組の局所調整関数ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）が配置されるとともに、テクスチャ領域用ヒストグラムに基づいて図３４(a) に示すような４組の局所調整関数ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）が配置されることになる。
【０３３８】
そして、局所調整関数ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）には、グラデーション領域用ヒストグラムによって得られた度数Ｖｇ１〜Ｖｇ４を乗じ、局所調整関数ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）には、テクスチャ領域用ヒストグラムによって得られた度数Ｖｔ１〜Ｖｔ４を乗じ、総和を求めて規格化する演算を行えば、着目画素Ｐ１３についての個別補正関数Ｆ［Ｐ１３］が得られる。
【０３３９】
以上、調整前画像Ｕ１を、グラデーション領域Ａｇとテクスチャ領域Ａｔという２種類の領域に分割し、それぞれについて異なる局所調整関数を用いる例を示したが、分割領域の種類は２種類に限定されるものではなく、３種類以上の分割領域を定義し、それぞれについて異なる局所調整関数を用いるようにしてもかまわない。
【０３４０】
たとえば、上述した例の場合、図３０に示す風景画像には、空部、山部、村部、湖部という４つの領域が含まれているにもかかわらず、図３１に示すように、空部と湖部とを同一のグラデーション領域Ａｇに分類し、山部と村部とを同一のテクスチャ領域Ａｔに分類することにより、２種類の領域に分割している。これに対して、たとえば、空部を「主グラデーション領域」、湖部を「副グラデーション領域」、村部を「主テクスチャ領域」、山部を「副テクスチャ領域」のように分類し、この４種類の領域について、それぞれ異なる局所調整関数を用いるようにすることもできる。
【０３４１】
＜＜＜  §７．  ヘイローを抑制する実施形態  ＞＞＞
従来技術として説明した広ダイナミックレンジ圧縮技術などを利用すると、輝度が急激に変化する部分に「ヘイロー（Halo：光輪の意）」と呼ばれる不自然な影が生じる現象が知られている。このヘイローが生じると、画像の輪郭部分の画質が劣化することになり問題である。
【０３４２】
本願発明者は、本発明に係る技術を利用して輝度調整を行った場合にも、このヘイローが発生する現象を確認した。そこで、ここでは、このようなヘイローを抑制することが可能な実施形態を変形例として述べておく。
【０３４３】
＜７−１．本発明で生じるヘイローの実体とその要因＞
図３５は、本発明に係る輝度調整を行うことによりヘイローが発生した状態を示す図である。ここで、上段(a) は、輝度調整を行う前の調整前画像Ｕ１の実例であり、下段(b) は、本発明により、局所的コントラストを強める設定で輝度調整を行った後の調整後画像Ｕ２の実例である。下段(b) の調整後画像Ｕ２における「駐輪場の看板」の左右の輪郭近傍を注視すると、不自然な縦の帯が発生しているのが目視できるであろう。すなわち、背景部分には、不自然に明るい縦の帯（領域Ｈｗの部分）が存在し、看板部分には、不自然に暗い縦の帯（領域Ｈｂの部分）が存在していることがわかる。
【０３４４】
これらの不自然な影の部分は、一般にヘイローと呼ばれている。本願では、図に示す不自然に明るい縦の帯の部分を白ヘイローＨｗ（Halo Whiteの略）と呼び、図に示す不自然に暗い縦の帯の部分を黒ヘイローＨｂ（Halo Blackの略）と呼ぶことにする。
【０３４５】
図３６は、これら白ヘイローＨｗおよび黒ヘイローＨｂの実体を説明する図およびグラフである。いま、図３６(a) に示すように、ＸＹ平面上に白領域Ａｗと黒領域Ａｂとを交互に並べたストライプパターンが形成されている場合を考えてみる。ここで、黒領域Ａｂは低い同一の輝度値Ｌ１をもった画素の集合体によって構成され、白領域Ａｗは高い同一の輝度値Ｌ２をもった画素の集合体によって構成されているものとする。すなわち、図では便宜上、白領域Ａｗを真っ白な領域として示し、黒領域Ａｂをハッチング領域として示すが、実際には、白領域Ａｗは真っ白に近い淡いグレー、黒領域Ａｂは真っ黒に近い濃いグレーで塗りつぶされているものとする。
【０３４６】
図３６(b) は、この図３６(a) に示すストライプパターンのＸ軸方向に関する輝度分布を示すグラフであり、縦軸は輝度値Ｌである。上述の説明どおり、黒領域Ａｂは低い輝度値Ｌ１を示し、白領域Ａｗは高い輝度値Ｌ２を示している。
【０３４７】
図３６(c) は、図３６(a) に示すストライプパターンについて、ヘイローが発生した状態を示す平面図である。図示のとおり、白領域Ａｗと黒領域Ａｂとが接する輪郭近傍において、縦方向の帯としてヘイローが発生している。すなわち、もともと白領域Ａｗであった部分の輪郭近傍には白ヘイローＨｗ（図では、ドットによるハッチング領域として示す）が発生し、もともと黒領域Ａｂであった部分の輪郭近傍には黒ヘイローＨｂ（図では、細かい斜線ハッチング領域として示す）が発生している。
【０３４８】
図３６(d) は、この図３６(c) に示すヘイローが生じたストライプパターンのＸ軸方向に関する輝度分布を示すグラフであり、縦軸は輝度値Ｌである。このグラフによって示されている輝度分布に注目すると、白ヘイローＨｗおよび黒ヘイローＨｂの実体が明確になる。
【０３４９】
すなわち、白ヘイローＨｗは、白領域Ａｗから黒領域ＡｂへとＸ軸に沿って移動する際に、輝度値Ｌが、高い値Ｌ２から低い値Ｌ１へと変化する直前に表れる突発的な変動成分であり、輝度値Ｌが高い値Ｌ２から更に高い状態に一時的に変化することにより生じることになる。このため、白ヘイローＨｗの輝度は白領域Ａｗの輝度よりも更に高くなり、不自然に明るい縦の帯として観察されることになる。
【０３５０】
これに対して、黒ヘイローＨｂは、黒領域Ａｂから白領域ＡｗへとＸ軸に沿って移動する際に、輝度値Ｌが、低い値Ｌ１から高い値Ｌ２へと変化する直前に表れる突発的な変動成分であり、輝度値Ｌが低い値Ｌ１から更に低い状態に一時的に変化することにより生じることになる。このため、黒ヘイローＨｂの輝度は黒領域Ａｂの輝度よりも更に低くなり、不自然に暗い縦の帯として観察されることになる。
【０３５１】
図３５(b) に示す例のように、本発明に係る技術を利用して輝度調整を行った場合にヘイローが発生したのは、白領域Ａｗと黒領域Ａｂとの境界近傍において、局所的なコントラスト調整機能が作用したためである。そこで、このヘイロー発生の詳細な要因を、図３７を用いて説明しよう。図３７(a) 〜(d) は、いずれも図３６(a) に示すＸＹ平面上に形成されたストライプパターンである。ここでは、このストライプパターンが調整前画像Ｕ１として与えられたときに、本発明に係る画像処理装置の個別補正関数設定手段１４０によって、どのような処理が行われるかを、次の４つのバリエーションについて考えてみる。
【０３５２】
第１のバリエーションは、図３７(a) に示す例のように、黒領域Ａｂ内の着目画素Ｐ１１について、当該黒領域Ａｂ内に完全に含まれるような参照領域Ｒ［Ｐ１１］が設定された場合の処理である。図では説明の便宜上、着目画素Ｐ１１を黒く塗りつぶした小さな正方形で描いているが、実際には、黒領域Ａｂ内の画素は、いずれも同一の輝度値Ｌ１をもった画素なので、参照領域Ｒ［Ｐ１１］内の画素の輝度値はいずれもＬ１である。すなわち、着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］は、周囲画素の代表輝度値Ｌｅに等しくなる。
【０３５３】
したがって、着目画素Ｐ１１についての個別補正関数Ｆ［Ｐ１１］として、たとえば、図１０の上段に示すような関数Ｆ［Ｐ］が設定されたとしても、着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］＝Ｌｅであるため（グラフの交点Ｅ０に相当）、補正増減率Ｃ＝０になり、当該着目画素Ｐ１１に対しては、局所的コントラストを調整するための補正は行われない。別言すれば、オペレータが設定したグローバルトーンカーブＴ［Ｇ］どおりのグローバルな輝度変換が行われるだけである。よって、この第１のバリエーションでは、ヘイローが発生することはない。
【０３５４】
第２のバリエーションは、図３７(b) に示す例のように、黒領域Ａｂ内の着目画素Ｐ１２について設定された参照領域Ｒ［Ｐ１２］の一部分が、当該黒領域Ａｂから食み出すような場合の処理である。この場合、参照領域Ｒ［Ｐ１２］内の周囲画素は、黒領域Ａｂ内の画素と白領域Ａｗ内の画素との混合体になる。ここで、上述したとおり、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］は、黒領域Ａｂ内の周囲画素の輝度値と等しいので、結局、周囲画素の代表輝度値Ｌｅは、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］よりも高くなる。なぜなら、図３７(a) に示す第１のバリエーションと比較すると、図３７(b) に示す第２のバリエーションの場合、参照領域Ｒ［Ｐ１２］内に高い輝度値Ｌ２をもった白領域Ａｗ内の画素が周囲画素の一部として混入してきたため、周囲画素の輝度値の平均値を押し上げる結果となるためである。
【０３５５】
したがって、着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］として、たとえば、図１０の上段に示すような関数Ｆ［Ｐ］が設定されたとすると、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］＜Ｌｅであるため、「着目画素Ｐが周囲画素Ｅよりも暗い場合」に相当することになり、補正増減率Ｃ＜０として、着目画素Ｐ１２をより暗くする方向に局所的な輝度調整作用が働くことになる。その結果、着目画素Ｐ１２は、黒領域Ａｂ内の他の画素よりも暗くなる。
【０３５６】
これが、図３６(c) に示す黒ヘイローＨｂが発生する要因である。すなわち、黒ヘイローＨｂは、第２のバリエーションを生じさせるような位置にある着目画素Ｐ１２を暗くする輝度調整作用に起因して生じるものであり、必然的に、黒領域Ａｂの端部において発生する現象ということになる。
【０３５７】
続く第３のバリエーションは、図３７(c) に示す例のように、白領域Ａｗ内の着目画素Ｐ１３について設定された参照領域Ｒ［Ｐ１３］の一部分が、当該白領域Ａｗから食み出すような場合の処理である。この場合、参照領域Ｒ［Ｐ１３］内の周囲画素は、白領域Ａｗ内の画素と黒領域Ａｂ内の画素との混合体になる。ここでも、説明の便宜上、着目画素Ｐ１３を黒く塗りつぶした小さな正方形で描いているが、実際には、白領域Ａｗ内の画素は、いずれも同一の輝度値Ｌ２をもった画素なので、参照領域Ｒ［Ｐ１３］内の画素のうち、白領域Ａｗ内の画素の輝度値は、着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］と同じである。
【０３５８】
結局、周囲画素の代表輝度値Ｌｅは、着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］よりも低くなる。なぜなら、参照領域Ｒ［Ｐ１３］内に低い輝度値Ｌ１をもった黒領域Ａｂ内の画素が周囲画素の一部として混入してきたため、周囲画素の輝度値の平均値を押し下げる結果となるためである。
【０３５９】
したがって、着目画素Ｐ１３についての個別補正関数Ｆ［Ｐ１３］として、たとえば、図１０の上段に示すような関数Ｆ［Ｐ］が設定されたとすると、着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］＞Ｌｅであるため、「着目画素Ｐが周囲画素Ｅよりも明るい場合」に相当することになり、補正増減率Ｃ＞０として、着目画素Ｐ１３をより明るくする方向に局所的な輝度調整作用が働くことになる。その結果、着目画素Ｐ１３は、白領域Ａｗ内の他の画素よりも明るくなる。
【０３６０】
これが、図３６(c) に示す白ヘイローＨｗが発生する要因である。すなわち、白ヘイローＨｂは、第３のバリエーションを生じさせるような位置にある着目画素Ｐ１３を明るくする輝度調整作用に起因して生じるものであり、必然的に、白領域Ａｗの端部において発生する現象ということになる。
【０３６１】
第４のバリエーションは、図３７(d) に示す例のように、白領域Ａｗ内の着目画素Ｐ１４について、当該白領域Ａｗ内に完全に含まれるような参照領域Ｒ［Ｐ１４］が設定された場合の処理である。図では説明の便宜上、着目画素Ｐ１４を黒く塗りつぶした小さな正方形で描いているが、実際には、白領域Ａｗ内の画素は、いずれも同一の輝度値Ｌ２をもった画素なので、参照領域Ｒ［Ｐ１４］内の画素の輝度値はいずれもＬ２である。すなわち、着目画素Ｐ１４の輝度値Ｌ［Ｐ１４］は、周囲画素の代表輝度値Ｌｅに等しくなる。
【０３６２】
したがって、着目画素Ｐ１４についての個別補正関数Ｆ［Ｐ１４］として、たとえば、図１０の上段に示すような関数Ｆ［Ｐ］が設定されたとしても、着目画素Ｐ１４の輝度値Ｌ［Ｐ１４］＝Ｌｅであるため（グラフの交点Ｅ０に相当）、補正増減率Ｃ＝０になり、当該着目画素Ｐ１４に対しては、局所的コントラストを調整するための補正は行われない。別言すれば、オペレータが設定したグローバルトーンカーブＴ［Ｇ］どおりのグローバルな輝度変換が行われるだけである。よって、この第４のバリエーションでは、ヘイローが発生することはない。
【０３６３】
なお、上述の説明では、図１０を参照することにより、局所的コントラストを強める補正を行った場合にヘイローが発生する要因を述べたが、図１１を参照すれば、局所的コントラストを弱める補正を行った場合にもヘイローが発生することが理解できよう（発生するヘイローの明暗は逆になる）。
【０３６４】
以上、典型的なストライプパターンを例にとって、黒ヘイローＨｂおよび白ヘイローＨｗの発生要因を説明したが、一般的な画像においても、輝度が大きく変化する領域の境界付近において、同様の要因によりヘイローが発生することになる。特に、画像上にある程度の大きさをもった２つのグラデーション領域が隣接して存在しており、これら２つのグラデーション領域間の輝度変化が激しい場合にヘイローが発生しやすい。
【０３６５】
要するに、図３６(a) に示すようなストライプパターンの場合、本来は、互いに特性の違う白領域Ａｗと黒領域Ａｂとを別個に分けて、それぞれ別々に輝度調整を行うべきであるが、これらを混合した状態のまま輝度調整を行ったためにヘイローの発生を招いたと言うことができる。もちろん、風景のような自然画像は、図示のストライプパターンのように単純な領域によって構成されるものではないので、特性が同じ領域ごとに分け、別個に輝度調整を行うようなことは困難である。
【０３６６】
たとえば、晴れた青空の下で木漏れ日を撮影すれば、複雑な形状をもった木の枝や葉によって、非常に複雑な自然画像が得られるであろう。しかも、空と木の枝との境界や、空と葉との境界は、必ずしも明瞭ではない。したがって、複雑な形状をもった木の枝や葉をそれぞれ個別の領域として認識し、別個に輝度調整を行うことは現実的ではない。以下に述べる本発明に係るヘイローの抑制策は、このような自然画像に対しても十分に効果を発揮することができる。
【０３６７】
＜７−２．本発明におけるヘイローの抑制原理＞
上述したヘイローの発生を抑制する方法のひとつとして、たとえば、参照領域のサイズを小さくする、という方法を採ることも可能である。図３７で説明した発生要因を踏まえれば、参照領域のサイズが小さくなればなるほど、図３７(b) もしくは図３７(c) に示すバリエーションを生じさせるような着目画素は少なくなり、黒ヘイローＨｂおよび白ヘイローＨｗの幅は狭まる。しかしながら、参照領域のサイズを小さくすると、本発明の本来の効果が損なわれることになり好ましくない。そこで以下、本発明に適用するのに効果的なヘイローの抑制対策の基本原理を説明する。
【０３６８】
いま、図３８(a) に示すように、ＸＹ平面上に黒領域Ａｂと白領域Ａｗとが隣接する画像が存在するものとしよう。図３８(b) は、この画像についてのＸ軸方向に関する輝度分布を示すグラフであり、縦軸は輝度値Ｌである。この図３８(b) において、一点鎖線で示されているグラフＧ１０は、図３８(a) に示す画像の補正前のもともとの輝度分布を示すものであり、いわゆる矩形波の形状をしたグラフになっている。
【０３６９】
これに対して、破線で示すグラフＧ１１（一部は太い実線で示すグラフＧ１２に重なっている）は、局所的な輝度調整を行った補正後の輝度分布を示すものである。上述した理由により、黒領域Ａｂと白領域Ａｗとの境界部分において、白ヘイローＨｗ１と黒ヘイローＨｂ１とが発生していることがわかる。白ヘイローＨｗ１は、グラフＧ１１の上方部分における高さｄ１だけ上方に隆起した山状部分に対応するものであり、黒ヘイローＨｂ１は、グラフＧ１１の下方部分における深さｄ３だけ下方に陥没した谷状部分に対応するものである。
【０３７０】
一方、太い実線で示すグラフＧ１２は、ヘイロー抑制を伴う局所的な輝度調整を行った補正後の輝度分布を示すものである。ヘイロー抑制の効果により、白ヘイローＨｗ１に対応する山状部分の高さはｄ１からｄ２に減少して白ヘイローＨｗ２になっており、黒ヘイローＨｂ１に対応する谷状部分の深さはｄ３からｄ４に減少して黒ヘイローＨｂ２になっている。このように、本発明におけるヘイロー抑制とは、輝度分布グラフ上でヘイローに対応する山状部分の隆起や谷状部分の陥没の度合いを弱めることである。このヘイロー抑制により、白ヘイローＨｗ１は白ヘイローＨｗ２へと弱まり、黒ヘイローＨｂ１は黒ヘイローＨｂ２へと弱まっている。
【０３７１】
なお、実際には、後述するように、ヘイローを完全に滅失させてしまうことは好ましくなく、実線グラフＧ１２によって示されている白ヘイローＨｗ２や黒ヘイローＨｂ２のように、ある程度のヘイローが残るようにするのが好ましい。また、図示の実線グラフＧ１２の場合、残存した白ヘイローＨｗ２に比べて残存した黒ヘイローＨｂ２の方が大きくなっているが、これは黒ヘイローＨｂ１に対する抑制度合いよりも、白ヘイローＨｗ１に対する抑制度合いを強くする運用を採ったためである。このような運用を採る理由についても、後に詳述する。
【０３７２】
ここで述べるヘイローの抑制対策は、本発明の基本的実施形態についても適用可能であるが、ここでは説明の便宜上、§５で述べたヒストグラムを用いた簡易集計法を利用する実施形態を例にとって、ヘイローの抑制対策の基本概念を説明する。
【０３７３】
図３９(a) ，(b) は、それぞれ図３７(a) ，(b) に示すバリエーションについて、黒ヘイローＨｂが発生する具体的な要因を示すグラフであり、図４０(a) ，(b) は、それぞれ図３７(c) ，(d) に示すバリエーションについて、白ヘイローＨｗが発生する具体的な要因を示すグラフである。
【０３７４】
まず、図３９(a) は、図３７(a) に示す第１のバリエーションにおいて、着目画素Ｐ１１について設定された参照領域Ｒ［Ｐ１１］内の周囲画素に関して作成された輝度値のヒストグラムを示している。ここで、黒三角で示す輝度値Ｌｒ１は、階級ＢＩＮ１の代表輝度値であり、実際には、黒領域Ａｂを構成する画素の輝度値（図３６(b) の輝度値Ｌ１）に相当する。図３７(a) に示す第１のバリエーションの場合、参照領域Ｒ［Ｐ１１］内のすべての周囲画素の輝度値がＬｒ１であるため、階級ＢＩＮ１の度数Ｖは、全周囲画素の数に対応した値になる。もちろん、着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］も、この代表輝度値Ｌｒ１に一致する。
【０３７５】
これに対して、図３９(b) は、図３７(b) に示す第２のバリエーションにおいて、着目画素Ｐ１２について設定された参照領域Ｒ［Ｐ１２］内の周囲画素に関して作成された輝度値のヒストグラムを示している。ここで、黒三角で示す輝度値Ｌｒ１，Ｌｒ４は、それぞれ階級ＢＩＮ１，ＢＩＮ４の代表輝度値である。上述したとおり、代表輝度値Ｌｒ１は、黒領域Ａｂを構成する画素の輝度値（図３６(b) の輝度値Ｌ１）に相当し、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］も、この代表輝度値Ｌｒ１に一致する。一方、代表輝度値Ｌｒ４は、白領域Ａｗを構成する画素の輝度値（図３６(b) の輝度値Ｌ２）に相当する。
【０３７６】
図３７(b) に示す第２のバリエーションの場合、参照領域Ｒ［Ｐ１２］内の一部の周囲画素の輝度値はＬｒ１であるが、他の一部の周囲画素の輝度値はＬｒ４になる。階級ＢＩＮ１および階級ＢＩＮ４の度数Ｖは、それぞれの周囲画素の数に対応した値になる。別言すれば、階級ＢＩＮ１の度数Ｖは、参照領域Ｒ［Ｐ１２］内の黒領域Ａｂに所属する周囲画素の数に対応した値になり、階級ＢＩＮ４の度数Ｖは、参照領域Ｒ［Ｐ１２］内の白領域Ａｗに所属する周囲画素の数に対応した値になる。
【０３７７】
図３９(a) と図３９(b) とを比較すればわかるとおり、前者のヒストグラムは、階級ＢＩＮ１のみによって構成されているのに対し、後者のヒストグラムは、階級ＢＩＮ１と階級ＢＩＮ４とによって構成されている。しかも、階級ＢＩＮ１と階級ＢＩＮ４とは、輝度値Ｌの軸に関して最も離れた位置にある階級ということになる。図３７(a) に示す着目画素Ｐ１１の位置においてヘイローが発生しないのに、図３７(b) に示す着目画素Ｐ１２の位置において黒ヘイローＨｂが発生する理由は、図３９(a) に示すヒストグラムには階級ＢＩＮ４が存在しないのに、図３９(b) に示すヒストグラムには階級ＢＩＮ４が存在するためである。
【０３７８】
結局、図３７(b) に示す第２のバリエーションの場合、図３９(b) に示すヒストグラムにおける階級ＢＩＮ４の存在が、黒ヘイローＨｂの発生要因ということになる。この図３９(b) に示すヒストグラムに基づいて着目画素Ｐ１２に対する局所的なコントラスト調整が行われることを踏まえると、黒ヘイローＨｂが発生するプロセスは次のようになる。
【０３７９】
まず、図２５を参照して説明したように、集計用座標系上に各階級ＢＩＮに対応させて局所調整関数ｆ（Ｌ）が配置される。図３９(b) に示すヒストグラムの場合、代表輝度値Ｌｒ１の位置に交点Ｅ０１がくるように、階級ＢＩＮ１に対応する局所調整関数ｆ１（Ｌ）が配置されるとともに、代表輝度値Ｌｒ４の位置に交点Ｅ０４がくるように、階級ＢＩＮ４に対応する局所調整関数ｆ４（Ｌ）が配置される。この例の場合、集計対象となる局所調整関数は、この２種類のみである。そして、それぞれの度数Ｖを乗じて各局所調整関数の総和が求められ、その結果として、着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］が得られる。
【０３８０】
ここで、図３９(a) に示すヒストグラム（階級ＢＩＮ１のみからなるヒストグラム）に基づいて得られる個別補正関数Ｆ［Ｐ１１］が、たとえば、図１０の上段に示すような関数Ｆ［Ｐ］であったとすると、図３９(b) に示すヒストグラムに基づいて得られる個別補正関数Ｆ［Ｐ１２］は、階級ＢＩＮ４の存在により、交点Ｅ０を図の右側にシフトさせた関数になることがわかる（グラフの形状も若干変化する）。
【０３８１】
すなわち、図３７(a) に示す第１のバリエーションの場合、図１０の上段のグラフにおいて、着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］が周囲画素の代表輝度値Ｌｅに一致し、この一致点が交点Ｅ０の位置を示すため、補正増減率がＣ＝０となり、局所的なコントラスト調整が行われないのに対して、図３７(b) に示す第２のバリエーションの場合、図１０の上段のグラフが階級ＢＩＮ４の存在により右にシフトするため、交点Ｅ０の位置も右にシフトし、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］に対応する補正増減率がＣ＜０となり、着目画素Ｐ１２をより暗くする局所的なコントラスト調整が行われることになる。
【０３８２】
このようなプロセスにより、図３７(b) に示す着目画素Ｐ１２の位置を、より暗くする局所的な輝度調整作用が働き、その結果、着目画素Ｐ１２は、黒領域Ａｂ内の他の画素よりも暗くなり、黒ヘイローＨｂが発生する。
【０３８３】
続いて、図４０を参照して、白ヘイローＨｗが発生するプロセスを追ってみよう。図４０(a) は、図３７(c) に示す第３のバリエーションにおいて、着目画素Ｐ１３について設定された参照領域Ｒ［Ｐ１３］内の周囲画素に関して作成された輝度値のヒストグラムを示している。ここで、黒三角で示す輝度値Ｌｒ１，Ｌｒ４は、前述したとおり、階級ＢＩＮ１，ＢＩＮ４の代表輝度値である。代表輝度値Ｌｒ１は、黒領域Ａｂを構成する画素の輝度値（図３６(b) の輝度値Ｌ１）に相当し、代表輝度値Ｌｒ４は、白領域Ａｗを構成する画素の輝度値（図３６(b) の輝度値Ｌ２）に相当する。着目画素Ｐ１３は白領域Ａｗ内の画素であるので、その輝度値Ｌ［Ｐ１３］は、代表輝度値Ｌｒ４に一致する。
【０３８４】
図３７(c) に示す第３のバリエーションの場合、参照領域Ｒ［Ｐ１３］内の一部の周囲画素の輝度値はＬｒ１であるが、他の一部の周囲画素の輝度値はＬｒ４になる。階級ＢＩＮ１および階級ＢＩＮ４の度数Ｖは、それぞれの周囲画素の数に対応した値になる。別言すれば、階級ＢＩＮ１の度数Ｖは、参照領域Ｒ［Ｐ１３］内の黒領域Ａｂに所属する周囲画素の数に対応した値になり、階級ＢＩＮ４の度数Ｖは、参照領域Ｒ［Ｐ１３］内の白領域Ａｗに所属する周囲画素の数に対応した値になる。
【０３８５】
一方、図４０(b) は、図３７(d) に示す第４のバリエーションにおいて、着目画素Ｐ１４について設定された参照領域Ｒ［Ｐ１４］内の周囲画素に関して作成された輝度値のヒストグラムを示している。ここで、黒三角で示す輝度値Ｌｒ４は、階級ＢＩＮ４の代表輝度値であり、実際には、白領域Ａｗを構成する画素の輝度値（図３６(b) の輝度値Ｌ２）に相当する。図３７(d) に示す第４のバリエーションの場合、参照領域Ｒ［Ｐ１４］内のすべての周囲画素の輝度値がＬｒ４であるため、階級ＢＩＮ４の度数Ｖは、全周囲画素の数に対応した値になる。もちろん、着目画素Ｐ１４の輝度値Ｌ［Ｐ１４］も、この代表輝度値Ｌｒ４に一致する。
【０３８６】
図４０(a) と図４０(b) とを比較すればわかるとおり、後者のヒストグラムは、階級ＢＩＮ４のみによって構成されているのに対し、前者のヒストグラムは、階級ＢＩＮ１と階級ＢＩＮ４とによって構成されている。しかも、階級ＢＩＮ１と階級ＢＩＮ４とは、輝度値Ｌの軸に関して最も離れた位置にある階級ということになる。図３７(d) に示す着目画素Ｐ１４の位置においてヘイローが発生しないのに、図３７(c) に示す着目画素Ｐ１３の位置において白ヘイローＨｗが発生する理由は、図４０(b) に示すヒストグラムには階級ＢＩＮ１が存在しないのに、図４０(a) に示すヒストグラムには階級ＢＩＮ１が存在するためである。
【０３８７】
結局、図３７(c) に示す第３のバリエーションの場合、図４０(a) に示すヒストグラムにおける階級ＢＩＮ１の存在が、白ヘイローＨｗの発生要因ということになる。この図４０(a) に示すヒストグラムに基づいて着目画素Ｐ１３に対する局所的なコントラスト調整が行われることを踏まえると、白ヘイローＨｗが発生するプロセスは次のようになる。
【０３８８】
まず、図２５を参照して説明したように、集計用座標系上に各階級ＢＩＮに対応させて局所調整関数ｆ（Ｌ）が配置される。図４０(a) に示すヒストグラムの場合、代表輝度値Ｌｒ１の位置に交点Ｅ０１がくるように、階級ＢＩＮ１に対応する局所調整関数ｆ１（Ｌ）が配置されるとともに、代表輝度値Ｌｒ４の位置に交点Ｅ０４がくるように、階級ＢＩＮ４に対応する局所調整関数ｆ４（Ｌ）が配置される。この例の場合、集計対象となる局所調整関数は、この２種類のみである。そして、それぞれの度数Ｖを乗じて各局所調整関数の総和が求められ、その結果として、着目画素Ｐ１３についての個別補正関数Ｆ［Ｐ１３］が得られる。
【０３８９】
ここで、図４０(b) に示すヒストグラム（階級ＢＩＮ４のみからなるヒストグラム）に基づいて得られる個別補正関数Ｆ［Ｐ１４］が、たとえば、図１０の上段に示すような関数Ｆ［Ｐ］であったとすると、図４０(a) に示すヒストグラムに基づいて得られる個別補正関数Ｆ［Ｐ１３］は、階級ＢＩＮ１の存在により、交点Ｅ０を図の左側にシフトさせた関数になることがわかる（グラフの形状も若干変化する）。
【０３９０】
すなわち、図３７(d) に示す第４のバリエーションの場合、図１０の上段のグラフにおいて、着目画素Ｐ１４の輝度値Ｌ［Ｐ１４］が周囲画素の代表輝度値Ｌｅに一致し、この一致点が交点Ｅ０の位置を示すため、補正増減率がＣ＝０となり、局所的なコントラスト調整が行われないのに対して、図３７(c) に示す第３のバリエーションの場合、図１０の上段のグラフが階級ＢＩＮ１の存在により左にシフトするため、交点Ｅ０の位置も左にシフトし、着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］に対応する補正増減率がＣ＞０となり、着目画素Ｐ１３をより明るくする局所的なコントラスト調整が行われることになる。
【０３９１】
このようなプロセスにより、図３７(c) に示す着目画素Ｐ１３の位置を、より明るくする局所的な輝度調整作用が働き、その結果、着目画素Ｐ１３は、白領域Ａｗ内の他の画素よりも明るくなり、白ヘイローＨｗが発生する。
【０３９２】
以上、本発明において黒ヘイローＨｂおよび白ヘイローＨｗが発生するプロセスを順を追って説明したが、このようなプロセスを踏まえると、ヘイローの要因となるヒストグラムを抑制すれば、ヘイローの発生も抑制できることがわかる。
【０３９３】
たとえば、黒ヘイローＨｂの発生要因は、図３９(b) のヒストグラムにおける階級ＢＩＮ４の存在である。そこで、階級ＢＩＮ１の影響力に比べて、階級ＢＩＮ４の影響力を相対的に下げてやれば、黒ヘイローＨｂの発生を抑制できることがわかる。具体的には、図４１(a) に示すように、階級ＢＩＮ１に対する重みを大きく設定し、階級ＢＩＮ４に対する重みを小さく設定し、図２４に示すような集計用座標系上で各局所調整関数を集計する際に、これらの重みを考慮した集計（重みパラメータの値を各局所調整関数に乗じた上で総和を求める演算）を行って個別補正関数Ｆ［Ｐ］を設定すればよい。
【０３９４】
一方、白ヘイローＨｗの発生要因は、図４０(a) のヒストグラムにおける階級ＢＩＮ１の存在である。そこで、階級ＢＩＮ４の影響力に比べて、階級ＢＩＮ１の影響力を相対的に下げてやれば、白ヘイローＨｗの発生を抑制できることがわかる。具体的には、図４１(b) に示すように、階級ＢＩＮ４に対する重みを大きく設定し、階級ＢＩＮ１に対する重みを小さく設定し、図２４に示すような集計用座標系上で各局所調整関数を集計する際に、これらの重みを考慮した集計（重みパラメータの値を各局所調整関数に乗じた上で総和を求める演算）を行って個別補正関数Ｆ［Ｐ］を設定すればよい。
【０３９５】
＜７−３．具体的なヘイローの抑制対策＞
続いて、上述した抑制原理に基づく、具体的なヘイローの抑制対策を説明する。§５で述べたヒストグラムを用いた集計を行う実施形態の場合、ＢＩＮ１〜ＢＩＮ４の４つの階級が定義され、この４階級のそれぞれについてヒストグラムが作成される。上述した抑制原理によると、これら複数のヒストグラムのうち、ヘイローの発生要因となるヒストグラムの重みを、他のヒストグラムの重みよりも相対的に下げてやる処理を行う必要がある。そこで、ここでは、「ヘイローの発生要因となるヒストグラム（階級）」の実体を考えてみよう。
【０３９６】
まず、図４１(a) に示すヒストグラムの場合、前述したとおり、階級ＢＩＮ４が黒ヘイローＨｂの発生要因である。ここで、なぜ階級ＢＩＮ４が黒ヘイローＨｂの発生要因になるのかを考えるために、このヒストグラムの元になった図３７(b) に示す第２のバリエーションに注目してみる。ここでは、着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］を設定するための作業が行われているが、この着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］は、図４１(a) のヒストグラムにおいて、階級ＢＩＮ１の代表輝度値Ｌｒ１に一致する。そうすると、図４１(a) に示すヒストグラムの場合、黒ヘイローＨｂの発生要因となる階級ＢＩＮ４は、輝度軸上において、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］から遠い位置にある階級であることがわかる。
【０３９７】
一方、図４１(b) に示すヒストグラムの場合、前述したとおり、階級ＢＩＮ１が白ヘイローＨｗの発生要因である。ここで、なぜ階級ＢＩＮ１が白ヘイローＨｗの発生要因になるのかを考えるために、このヒストグラムの元になった図３７(c) に示す第３のバリエーションに注目してみる。ここでは、着目画素Ｐ１３についての個別補正関数Ｆ［Ｐ１３］を設定するための作業が行われているが、この着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］は、図４１(b) のヒストグラムにおいて、階級ＢＩＮ４の代表輝度値Ｌｒ４に一致する。そうすると、図４１(b) に示すヒストグラムの場合、白ヘイローＨｗの発生要因となる階級ＢＩＮ１は、輝度軸上において、やはり着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］から遠い位置にある階級であることがわかる。
【０３９８】
このような点を考慮すると、一般論としての「ヘイローの発生要因となるヒストグラム（階級）」とは、結局、輝度軸上において、着目画素Ｐの輝度値Ｌ［Ｐ］から遠い位置にある階級であることがわかる。したがって、ヘイローの抑制対策としては、得られたヒストグラムにおいて、着目画素Ｐの輝度値Ｌ［Ｐ］に近い階級については大きな重みを与え、着目画素Ｐの輝度値Ｌ［Ｐ］に遠い階級については小さな重みを与えた上で、各局所調整関数の総和を求める演算を行えばよいことになる。
【０３９９】
もちろん、このような重みによる調整は相対的なものであり、一方の階級の重みが他方の階級の重みに比べて相対的に変化するような対策が施されればよい。図４１では、説明の便宜上、一方の階級については「重み大」と記載して度数Ｖを引き上げる様子を示し、他方の階級については「重み小」と記載して度数Ｖを引き下げる様子を示してあるが、実際には、いずれか一方の階級について度数を調整する作業を行うようにしても問題はない。実用上は、各局所調整関数ｆ（Ｌ）の総和を求めた後で、補正増減率Ｃの値が−１〜＋１の範囲内になるように規格化して個別補正関数Ｆ［Ｐ］を求めるようにすれば、集計前の個々の局所調整関数ｆ（Ｌ）の調整値ｆの絶対値がどのような値になっていても支障は生じない。
【０４００】
そこで、ここで述べるヘイローの抑制対策では、図４２(a) に示すような重み関数Ｗ（Ｌ）を定義する。この重み関数Ｗ（Ｌ）は、輝度値Ｌを変数として所定の重みＷ（無名数）を定義した関数であり、図示のように、横軸に輝度値Ｌ、縦軸に重みＷをとったグラフによって表現される。重み関数Ｗ（Ｌ）としては、所定の輝度値Ｌにおいて重みＷが最大値をとり、輝度値Ｌが増加もしくは減少するに従って重みＷの値が単調減少してゆく関数であれば、どのような関数を用いてもかまわないが、ここでは、そのような関数の典型例として、ガウス分布関数を用いることにする。図４２(a) には、輝度値Ｌ［Ｐ］の位置にピーク点Ｚが配置されたガウス分布関数からなる重み関数Ｗ（Ｌ）が示されている。
【０４０１】
§５で述べたヒストグラムを用いた集計を行う実施形態の場合、ある１つの着目画素Ｐについて参照領域Ｒ［Ｐ］を設定し、その中の周囲画素の輝度値に基づいて、図２５(b) に示すようなヒストグラムが作成され、このヒストグラムに基づいて、図２５(a) に示すように、４種類の局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）が所定位置に配置され、ヒストグラムの度数Ｖ１〜Ｖ４を乗じて総和を求める演算が行われる。ヘイローの抑制対策を講じる場合、この総和演算を行う際に、図４２(a) に示すような重み関数Ｗ（Ｌ）を用いて、ヒストグラムの度数Ｖ１〜Ｖ４に対する重みづけを行うようにすればよい。
【０４０２】
図４２(b) は、図２５(b) に示すヒストグラムに、図４２(a) に示す重み関数Ｗ（Ｌ）を重ねて表示したものである。グラフの横軸は共通の輝度値Ｌを示しているが、縦軸は重み関数Ｗ（Ｌ）による重みＷｋを示している。ここで、ｋは、ヒストグラムの階級番号を示すパラメータであり、Ｗ１〜Ｗ４は、それぞれ階級ＢＩＮ１〜ＢＩＮ４に対して与えられる重みの値を示している。
【０４０３】
この図４２(b) のグラフにおける重み関数Ｗ（Ｌ）の配置は、そのピーク点Ｚが、着目画素Ｐの輝度値Ｌ［Ｐ］の位置にくるようになっている。すなわち、重み関数Ｗ（Ｌ）によって示される重みＷは、着目画素Ｐの輝度値Ｌ［Ｐ］の位置において最大となり、輝度値Ｌ［Ｐ］から遠ざかるほど、重みＷはなだらかに減少してゆくことになる。これは、図４１に示すように、着目画素Ｐの輝度値Ｌ［Ｐ］に近い階級については大きな重みを与え、着目画素Ｐの輝度値Ｌ［Ｐ］に遠い階級については小さな重みを与える、というヘイロー抑制対策の基本方針に合致する。
【０４０４】
図４２(b) に示す例の場合、４つの階級ＢＩＮ１〜ＢＩＮ４の代表輝度値は、それぞれＬｒ１〜Ｌｒ４であるから、これら代表輝度値を変数Ｌとしたときの重み関数Ｗ（Ｌ）の値は、それぞれＷ１〜Ｗ４になる。したがって、階級ＢＩＮ１については重みＷ１を与え、階級ＢＩＮ２については重みＷ２を与え、階級ＢＩＮ３については重みＷ３を与え、階級ＢＩＮ４については重みＷ４を与えた上で、局所調整関数ｆ１（Ｌ）〜ｆ４（Ｌ）の集計を行えばよいことになる。具体的には、各階級ＢＩＮ１〜ＢＩＮ４の度数Ｖ１〜Ｖ４に、それぞれ重みＷ１〜Ｗ４を乗じる補正を行った上で集計を行えばよい。
【０４０５】
図４３は、図３９に示す例に対して、図４２に示すヘイローの抑制策を施す方法を示すグラフである。前述したとおり、図３９(a) に示すヒストグラムは、図３７(a) に示す着目画素Ｐ１１についての個別補正関数Ｆ［Ｐ１１］を設定するためのものであるが、このヒストグラムに基づく集計演算を行う際には、図４３(a) に示すような重み関数Ｗ（Ｌ）を用いた重みづけが行われる。
【０４０６】
図４３(a) は、図３９(a) に示すヒストグラムに、図４２(a) に示す重み関数Ｗ（Ｌ）を重ねて表示したものである。横軸は共通の輝度値Ｌを示しているが、グラフの左側の縦軸はヒストグラムの度数Ｖを示し、右側の縦軸は重み関数Ｗ（Ｌ）による重みＷｋを示している（ｋは、ヒストグラムの階級番号を示すパラメータである）。ここで、重み関数Ｗ（Ｌ）は、そのピーク点Ｚが、着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］（すなわち、階級ＢＩＮ１の代表輝度値Ｌｒ１）の位置にくるように配置されている。したがって、重み関数Ｗ（Ｌ）によって示される重みＷは、着目画素Ｐ１１の輝度値Ｌ［Ｐ１１］の位置において最大となり、輝度値Ｌ［Ｐ１１］から遠ざかるほど、重みＷはなだらかに減少してゆく。
【０４０７】
この例の場合、階級ＢＩＮ１の代表輝度値Ｌｒ１に対応する重み関数Ｗ（Ｌ）の値として、重みＷ１が与えられる。したがって、集計演算時には、階級ＢＩＮ１の度数Ｖ１に対して、重みＷ１が乗じられることになる。もっとも、この例では、階級ＢＩＮ１のヒストグラムしか存在しないため、ヘイロー抑制策による実質的な影響は何も生じない。前述したように、着目画素Ｐ１１の位置にはヘイローは発生しないので、もともとヘイロー抑制策を行う必要はない。
【０４０８】
これに対して、図３９(b) に示すヒストグラムは、図３７(b) に示す着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］を設定するためのものであるが、このヒストグラムに基づく集計演算を行う際には、図４３(b) に示すような重み関数Ｗ（Ｌ）を用いた重みづけが行われる。
【０４０９】
図４３(b) は、図３９(b) に示すヒストグラムに、図４２(a) に示す重み関数Ｗ（Ｌ）を重ねて表示したものである。やはり横軸は共通の輝度値Ｌを示し、グラフの左側の縦軸はヒストグラムの度数Ｖを示し、右側の縦軸は重み関数Ｗ（Ｌ）による重みＷｋを示している。また、重み関数Ｗ（Ｌ）は、そのピーク点Ｚが、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］（すなわち、階級ＢＩＮ１の代表輝度値Ｌｒ１）の位置にくるように配置されている。したがって、重み関数Ｗ（Ｌ）によって示される重みＷは、着目画素Ｐ１２の輝度値Ｌ［Ｐ１２］の位置において最大となり、輝度値Ｌ［Ｐ１２］から遠ざかるほど、重みＷはなだらかに減少してゆく。このため、輝度値Ｌ［Ｐ１２］から離れた位置にある階級ＢＩＮ４についての重みＷはかなり小さいものになる。
【０４１０】
具体的には、この例の場合、階級ＢＩＮ１の代表輝度値Ｌｒ１に対応する重み関数Ｗ（Ｌ）の値としては、最大値に相当する重みＷ１が与えられるが、階級ＢＩＮ４の代表輝度値Ｌｒ４に対応する重み関数Ｗ（Ｌ）の値としては、かなり小さな重みＷ４が与えられることになる。そして、集計演算時には、階級ＢＩＮ１の度数Ｖ１には重みＷ１が乗じられ、階級ＢＩＮ４の度数Ｖ４には重みＷ４が乗じられる。その結果、最終的に得られる着目画素Ｐ１２についての個別補正関数Ｆ［Ｐ１２］は、階級ＢＩＮ１の影響を強く受けるものの、階級ＢＩＮ４の影響はほとんど受けないものになる。すなわち、図４１(a) に示すような黒ヘイローＨｂの抑制策が働くことにより、黒ヘイローＨｂの発生を抑制する効果が得られる。
【０４１１】
一方、図４４は、図４０に示す例に対して、図４２に示すヘイローの抑制策を施す方法を示すグラフである。前述したとおり、図４０(a) に示すヒストグラムは、図３７(c) に示す着目画素Ｐ１３についての個別補正関数Ｆ［Ｐ１３］を設定するためのものであるが、このヒストグラムに基づく集計演算を行う際には、図４４(a) に示すような重み関数Ｗ（Ｌ）を用いた重みづけが行われる。
【０４１２】
図４４(a) は、図４０(a) に示すヒストグラムに、図４２(a) に示す重み関数Ｗ（Ｌ）を重ねて表示したものである。やはり横軸は共通の輝度値Ｌを示し、グラフの左側の縦軸はヒストグラムの度数Ｖを示し、右側の縦軸は重み関数Ｗ（Ｌ）による重みＷｋを示している。また、重み関数Ｗ（Ｌ）は、そのピーク点Ｚが、着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］（すなわち、階級ＢＩＮ４の代表輝度値Ｌｒ４）の位置にくるように配置されている。したがって、重み関数Ｗ（Ｌ）によって示される重みＷは、着目画素Ｐ１３の輝度値Ｌ［Ｐ１３］の位置において最大となり、輝度値Ｌ［Ｐ１３］から遠ざかるほど、重みＷはなだらかに減少してゆく。このため、輝度値Ｌ［Ｐ１３］から離れた位置にある階級ＢＩＮ１についての重みＷはかなり小さいものになる。
【０４１３】
具体的には、この例の場合、階級ＢＩＮ４の代表輝度値Ｌｒ４に対応する重み関数Ｗ（Ｌ）の値としては、最大値に相当する重みＷ４が与えられるが、階級ＢＩＮ１の代表輝度値Ｌｒ１に対応する重み関数Ｗ（Ｌ）の値としては、かなり小さな重みＷ１が与えられることになる。そして、集計演算時には、階級ＢＩＮ１の度数Ｖ１には重みＷ１が乗じられ、階級ＢＩＮ４の度数Ｖ４には重みＷ４が乗じられる。その結果、最終的に得られる着目画素Ｐ１３についての個別補正関数Ｆ［Ｐ１３］は、階級ＢＩＮ４の影響を強く受けるものの、階級ＢＩＮ１の影響はほとんど受けないものになる。すなわち、図４１(b) に示すような白ヘイローＨｗの抑制策が働くことにより、白ヘイローＨｗの発生を抑制する効果が得られる。
【０４１４】
これに対して、図４４(b) に示すヒストグラムは、図３７(d) に示す着目画素Ｐ１４についての個別補正関数Ｆ［Ｐ１４］を設定するためのものであるが、このヒストグラムに基づく集計演算を行う際には、図４４(b) に示すような重み関数Ｗ（Ｌ）を用いた重みづけが行われる。
【０４１５】
図４４(b) は、図４０(b) に示すヒストグラムに、図４２(a) に示す重み関数Ｗ（Ｌ）を重ねて表示したものである。やはり横軸は共通の輝度値Ｌを示し、グラフの左側の縦軸はヒストグラムの度数Ｖを示し、右側の縦軸は重み関数Ｗ（Ｌ）による重みＷｋを示している。また、重み関数Ｗ（Ｌ）は、そのピーク点Ｚが、着目画素Ｐ１４の輝度値Ｌ［Ｐ１４］（すなわち、階級ＢＩＮ４の代表輝度値Ｌｒ４）の位置にくるように配置されている。したがって、重み関数Ｗ（Ｌ）によって示される重みＷは、着目画素Ｐ１４の輝度値Ｌ［Ｐ１４］の位置において最大となり、輝度値Ｌ［Ｐ１４］から遠ざかるほど、重みＷはなだらかに減少してゆく。
【０４１６】
この例の場合、階級ＢＩＮ４の代表輝度値Ｌｒ４に対応する重み関数Ｗ（Ｌ）の値として、重みＷ４が与えられる。したがって、集計演算時には、階級ＢＩＮ４の度数Ｖ４に対して、重みＷ４が乗じられることになる。もっとも、この例では、階級ＢＩＮ４のヒストグラムしか存在しないため、ヘイロー抑制策による実質的な影響は何も生じない。前述したように、着目画素Ｐ１４の位置にはヘイローは発生しないので、もともとヘイロー抑制策を行う必要はない。
【０４１７】
＜７−４．一般論としてのヘイロー抑制対策＞
ここでは、§７−３で述べた具体的なヘイローの抑制対策を踏まえて、本発明に適したヘイロー抑制対策の基本方針を一般論としてまとめておく。
【０４１８】
まず、§５で述べたヒストグラムを用いた集計を行う実施形態の場合は、個別補正関数設定手段１４０が、着目画素Ｐの輝度値Ｌ［Ｐ］と第ｋ番目の階級ＢＩＮｋの代表輝度値Ｌｒｋとの差に基づいて、当該差が小さい階級ほど大きな重みづけを行い、総和グラフを求める際に、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級ＢＩＮｋについての重みＷｋを考慮した集計を行うことにより、個別補正関数Ｆ［Ｐ］を設定する処理を行えばよい。
【０４１９】
より具体的には、着目画素Ｐの輝度値Ｌ［Ｐ］に対応する値が最大値をとり、輝度値Ｌが当該着目画素Ｐの輝度値Ｌ［Ｐ］から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を定義し、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級ＢＩＮｋの代表輝度値Ｌｒｋに対応する重み関数Ｗ（Ｌ）の値Ｗｋを重みとして用いた集計を行うことにより、個別補正関数Ｆ［Ｐ］を設定する処理を行えばよい。
【０４２０】
もっとも、本発明に係るヘイローの抑制対策は、§５で述べたヒストグラムを用いた集計を行う実施形態への適用に限定されるものではなく、§２で述べた基本的実施形態や、§３で述べた実施形態にも適用可能である。要するに、このヘイローの抑制対策の基本概念は、個別補正関数設定手段１４０が、特定の着目画素Ｐについての個別補正関数Ｆ［Ｐ］を設定する際に、当該着目画素Ｐの輝度値Ｌ［Ｐ］と、当該着目画素Ｐについて設定された参照領域Ｒ［Ｐ］内の各周囲画素の輝度値とを比較し、両者の差が小さい周囲画素ほど大きな重みづけをした参照を行うことにより、個別補正関数Ｆ［Ｐ］を設定する点にある。
【０４２１】
このような基本概念に従えば、たとえば、図１６に示すように、集計用座標系上に、１つ１つの周囲画素のそれぞれに対応した局所調整関数ｆ（Ｌ）を配置し、これらを集計して個別補正関数Ｆ［Ｐ］を設定する実施形態を採る場合にも、本発明に係るヘイローの抑制対策を講じることが可能である。すなわち、この図１６に示す実施形態を、§５で述べたヒストグラムを用いる実施形態において、ヒストグラムの階級の総数ＫをＫ＝２５６に設定したものと考えれば、§７−３で述べた具体的なヘイローの抑制対策と同様の方法を適用することが可能である。
【０４２２】
この場合のヘイロー抑制対策の基本方針を一般論としてまとめると、結局、個別補正関数設定手段１４０が、着目画素Ｐの輝度値Ｌ［Ｐ］と第ｊ番目の周囲画素Ｅｊの輝度値Ｌｊとの差に基づいて、当該差が小さい周囲画素ほど大きな重みづけを行い、総和グラフを求める際に、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素Ｅｊについての重みＷｊを考慮した集計を行うことにより、個別補正関数Ｆ［Ｐ］を設定する処理を行えばよいことになる。
【０４２３】
より具体的には、着目画素Ｐの輝度値Ｌ［Ｐ］に対応する値が最大値をとり、輝度値Ｌが当該着目画素Ｐの輝度値Ｌ［Ｐ］から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を定義し、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素Ｅｊの輝度値Ｌｊに対応する重み関数Ｗ（Ｌ）の値Ｗｊを重みとして用いた集計を行うことにより、個別補正関数を設定する処理を行えばよい。
【０４２４】
＜７−５．重み関数Ｗ（Ｌ）の設定方法＞
上述したヘイロー抑制対策を実施する上では、重み関数Ｗ（Ｌ）として、どのような関数を設定するかが重要である。上述の説明では、図４２(a) に示すようなガウス分布関数を重み関数Ｗ（Ｌ）として用いた例を述べた。ガウス分布関数は、自然なエネルギー分布を表す関数であり、中央のピーク点Ｚから左右両側に裾野を広げるようになだらかに下降するカーブを描くグラフによって表現される。ただ、同じガウス分布関数であっても、係数値を変えることにより、その全体形状は変わってくる。
【０４２５】
図４５は、ヘイローの抑制策に用いる様々なガウス分布曲線を示すグラフである。ガウス分布関数の一般式は、図示のように、ｙ＝ｅｘｐ（−ｘ２／２σ２）なる式で表現され、図示のとおり、横軸にｘ軸、縦軸にｙ軸をとったグラフを描けば、ｘ＝０の位置を中心としたなだらかなカーブが得られる。変数ｘ＝０に対応する関数値ｙは１になり、この点がピーク点Ｚということになる。上記式における標準偏差σは、グラフの形状を左右するパラメータであり、σを小さく設定するとカーブは急峻になり、σを大きく設定するとカーブはなだらかになる。図に示すガウス分布曲線ｇ１はσを小さく設定した例であり、ガウス分布曲線ｇ２はσを中程度に設定した例であり、ガウス分布曲線ｇ３はσを大きく設定した例である。
【０４２６】
ヘイローの抑制効果を強めるには、σを小さく設定した急峻なガウス分布曲線を用いればよい。そうすれば、輝度軸上において、着目画素Ｐの輝度値Ｌ［Ｐ］から離れるに従って、重みＷの値は急激に減少するため、ヘイローの要因となる成分を著しく抑える効果が得られる。逆に、ヘイローの抑制効果を弱めるには、σを大きく設定したゆるやかなガウス分布曲線を用いればよい。図４３(b) や図４４(a) に示す例を参照すれば、重み関数Ｗ（Ｌ）の形状によって、ヘイローの抑制効果が大きく左右されることが容易に理解できよう。
【０４２７】
ところで、§７−２においても述べたとおり、実際には、ヘイローを完全に滅失させてしまうことは好ましくない。また、一般的には、黒ヘイローＨｂに対する抑制度合いよりも、白ヘイローＨｗに対する抑制度合いを強くする運用を採るのが好ましい。図３８(b) に太い実線で示すグラフにおいて、ヘイロー抑制対策後も、若干の白ヘイローＨｗ２や黒ヘイローＨｂ２が残っており、しかも、残存した白ヘイローＨｗ２に比べて残存した黒ヘイローＨｂ２の方が大きくなっているのは、このためである。
【０４２８】
黒領域Ａｂと白領域Ａｗとの境界部分に生じるヘイローを、ある程度残しておいた方が好ましい理由は、やはり人間の脳内で特有の視覚処理が行われるためである。図４６は、一般にシェブルール錯視として知られている人間の視覚的な認知現象を示す図である。この図には、段階的に濃淡（輝度）が異なる複数のストライプパターンからなる画像が表示されている。ここで、個々のストライプを構成する矩形領域は、実際には、同一の輝度からなる画素の集合体によって構成されており、本来、同じ矩形領域の内部は同じ明るさとして認識されるべきものである。ところが、人間が観察した場合、隣接する矩形領域との境界近傍部分において、明るさに微妙な違いが生じているように感じる。すなわち、脳は、個々の矩形領域を別個の物体として互いに区別して認識した方が好ましいと判断し、自発的にヘイローを発生させて輪郭を強調する処理を行っていることになる。
【０４２９】
これは換言すれば、個々の矩形領域を別個の領域として識別するためには、境界部分において、明るさに微妙な違いが生じている方が人間にとっては好ましいのであるが、物理的には、「境界部分における明るさの微妙な違い」というものは存在しないため、人間の脳が勝手に「境界部分における明るさの微妙な違い」が生じるような補正処理を行っている、と考えることができる。要するに、人間が図４６に示すようなストライプパターンを観察した場合、「境界部分における明るさの微妙な違い」が存在する方が感性に合致している、と判断していることになる。人間の脳がそのような判断を行う理由は、これまでも述べてきたとおり、進化の過程において、外敵や獲物を即座に認識する能力を身につけたためと考えられる。
【０４３０】
一方、図４７は、一般にクレイク・オブライエン効果として知られている人間の視覚的な認知現象を示す図である。図４７(a) に示す画像を人間が観察すると、左右２つの矩形領域が認識でき、しかも、左側の矩形領域に比べて、右側の矩形領域の方が、若干明るいように見える。しかしながら、実際には、両者の境界部分において、若干の明るさの変動があるものの、２つの矩形領域の明るさは同じである。
【０４３１】
図４７(b) は、図４７(a) に示す画像の横方向をＸ軸にとり、縦軸に輝度値Ｌをとって、その輝度分布を示したグラフである。このグラフのＸ軸上の各位置は、図４７(a) に示す画像の横方向の各位置に対応している。図示のとおり、このグラフの形状は、ほぼ水平な直線をなしており、２つの矩形領域の境界近傍において、若干の輝度変動が存在するだけである。要するに、左側の矩形領域の右境界端は若干輝度値が低くなっており、右側の矩形領域の左境界端は若干輝度値が高くなっているが、その他の部分の輝度は均一である。
【０４３２】
それにもかかわらず、図４７(a) の画像を人間が観察すると、左側矩形領域全体に比べて、右側矩形領域全体の方が、若干明るいように感じる。この現象も、左右の矩形領域をそれぞれ異なる物体として即座に認識するために、人間が進化の過程で身につけた脳の処理機能として説明できる。図４７(c) の画像は、図４７(a) に示す画像の中央部分に、黒い帯を配置した画像である。この図４７(c) の画像を観察する限り、左右の矩形領域の明るさは同じに感じられる。これは、中央に黒い帯を配置することにより、３つの矩形領域がそれぞれ別個の物体として即座に認識できるようになり、脳による補正を行う必要がなくなったためと考えられる。
【０４３３】
以上、図４６に示すシェブルール錯視および図４７に示すクレイク・オブライエン効果を引用して、画像の境界部分に関して、脳による特有の視覚処理が行われることを示したが、このような脳による視覚処理が行われることを考慮すると、人間の感性に合致した画像を作成する上では、ヘイローを完全に滅失させてしまうことは好ましくないという結論が導かれる。
【０４３４】
たとえば、図３５(b) に示す画像には、不自然に明るい縦の帯（白ヘイローＨｗ）や不自然に暗い縦の帯（黒ヘイローＨｂ）が生じているが、「駐輪場の看板」という物体を即座に認識する上では、これらのヘイローは大いに役立っていることになる。したがって、外敵や獲物などの物体を即座に認識する上では、むしろヘイローが存在する画像の方が好ましいと言える。
【０４３５】
もちろん、実際には、図３５(b) に示す画像ほどヘイローが目立ってしまうと、画像として不自然さを感じるものになる。したがって、実用上は、できるだけ人間の感性に合致した画像を生成するために、不自然さが残らない程度にまでヘイローの発生を抑制するものの、ヘイローを完全に滅失させてしまうことはしない、というヘイロー対策を採るのが好ましい。
【０４３６】
続いて、図３８(b) に示す例のように、黒ヘイローＨｂ１に対する抑制度合いよりも、白ヘイローＨｗ１に対する抑制度合いを強くする運用を採るのが好ましい理由を説明する。図４８は、図３０に示した一般的な風景画像について生じた黒ヘイローＨｂおよび白ヘイローＨｗの一例を示す図である。既に述べたとおり、黒領域Ａｂと白領域Ａｗとが接している場合に、黒領域Ａｂの境界端に生じるより暗い部分が黒ヘイローＨｂであり、白領域Ａｗの境界端に生じるより明るい部分が白ヘイローＨｗである。
【０４３７】
図４８に示す風景画像の場合、明るい空部と暗い山部とが山の稜線を境界として接する画像であるため、山部の境界端に黒ヘイローＨｂ（図では、細かい斜線ハッチング領域として示す）が発生し、空部の境界端に白ヘイローＨｗ（図では、ドットによるハッチング領域として示す）が発生する。このようにヘイローが生じている画像を人間が観察した場合、黒ヘイローＨｂについてはあまり違和感が生じないが、白ヘイローＨｗについては大きな違和感が生じる。
【０４３８】
これは、青空のような明るい領域に、更に明るい領域が生じるような現象が自然界では稀であるため、脳が異常事態を認識するためと考えられる。これに対して、暗い物体の縁取りがより暗い、という現象は、自然界においてそれほど稀ではないため、脳は異常事態という認識をもたないことになる。
【０４３９】
実際、図４８に示す風景画像の場合、黒ヘイローＨｂによって山の稜線部分が暗くなっていても、山の輪郭線として自然に受け入れられるのに対して、白ヘイローＨｗによって山の稜線のすぐ上の領域が白っぽく光っていたとすると、あたかも超常現象が起こっているような違和感が生じるであろう。同様に、図３５(b) に示す実例画像においても、「駐車場の看板」の輪郭部分に生じた黒ヘイローＨｂよりも、その背後に後光が射すかのように白く光っている白ヘイローＨｗの方が、多くの観察者に対して大きな違和感を与えているであろう。
【０４４０】
結局、人間の感性に合致させたヘイロー対策というものを考えると、次の２つの要点が重要であることがわかる。第１の要点は、ヘイローを完全に滅失させてしまうことは好ましくなく、ある程度のヘイローが残るようにする、という点であり、第２の要点は、黒ヘイローＨｂに対する抑制度合いよりも、白ヘイローＨｗに対する抑制度合いを強くする、という点である。したがって、実際には、図３８(b) に実線グラフＧ１２として示すように、ある程度の大きさをもった白ヘイローＨｗ２および黒ヘイローＨｂ２が残るようにし、かつ、白ヘイローＨｗ２に比べて黒ヘイローＨｂ２の方が大きくなる状態が得られるようにするのが、最適のヘイロー対策と言える。
【０４４１】
上述したとおり、ヘイロー抑制対策には、着目画素Ｐの輝度値Ｌ［Ｐ］に対応する値が最大値をとり、輝度値Ｌが当該輝度値Ｌ［Ｐ］から離れるに従って単調減少する値を示す重み関数Ｗ（Ｌ）を用いることになるが、黒ヘイローＨｂに対する抑制度合いよりも、白ヘイローＨｗに対する抑制度合いを強くする、という要点を満たすようにするには、重み関数Ｗ（Ｌ）として、着目画素の輝度値が所定の基準未満の場合に用いる第１の重み関数Ｗ１（Ｌ）と着目画素の輝度値が所定の基準以上の場合に用いる第２の重み関数Ｗ２（Ｌ）という２通りの関数を設定するようにし、かつ、第１の重み関数Ｗ１（Ｌ）に比べて、第２の重み関数Ｗ２（Ｌ）の方が、単調減少の割合が急峻となるようにすればよい。
【０４４２】
そうすれば、輝度値が所定の基準未満となる暗い着目画素と、輝度値が所定の基準以上となる明るい着目画素とに分けた上で、黒ヘイローＨｂを生じる可能性のある暗い着目画素については、ゆるやかなカーブをもった第１の重み関数Ｗ１（Ｌ）を用いたヘイロー抑制策を講じることができ、白ヘイローＨｗを生じる可能性のある明るい着目画素については、急峻なカーブをもった第２の重み関数Ｗ２（Ｌ）を用いたヘイロー抑制策を講じることができるので、黒ヘイローＨｂに対する抑制度合いよりも、白ヘイローＨｗに対する抑制度合いを強くすることができる。
【０４４３】
輝度値の基準としては、たとえば、周囲画素の代表輝度値Ｌｅを用いればよい。そうすれば、図３７(b) に示すように、周囲画素よりも着目画素が暗い場合には、ゆるやかなカーブをもった第１の重み関数Ｗ１（Ｌ）を用いて黒ヘイローＨｂに対する抑制策を講じることができ、図３７(c) に示すように、周囲画素よりも着目画素が明るい場合には、急峻なカーブをもった第２の重み関数Ｗ２（Ｌ）を用いて白ヘイローＨｗに対する抑制策を講じることができる。
【０４４４】
なお、実用上は、前述したように、重み関数Ｗ（Ｌ）として、図４５に示すようなガウス分布関数を用意し、これを着目画素Ｐの輝度値Ｌ［Ｐ］の座標にピーク点Ｚが位置するように配置して、各周囲画素の重みＷを決定するようにするのが好ましい。この場合は、ガウス分布関数を定義する式における標準偏差σを変化させることにより、分布カーブの形状を調整することができる。
【０４４５】
図４９は、ヘイローの抑制策に用いるガウス分布曲線の傾斜を左右する標準偏差σの好適な設定例を示すグラフであり、横軸は輝度値Ｌ、縦軸はガウス分布関数の標準偏差σを示している。この例では、輝度値の基準としては、上述したように、周囲画素の代表輝度値Ｌｅを用いており、着目画素Ｐの輝度値をＬ［Ｐ］としたときに、Ｌ［Ｐ］＜Ｌｅの場合は、図の一点鎖線より左側のグラフによって示される標準偏差σをもつガウス分布関数からなる第１の重み関数Ｗ１（Ｌ）を利用し、Ｌ［Ｐ］≧Ｌｅの場合は、図の一点鎖線より右側のグラフによって示される標準偏差σをもつガウス分布関数からなる第２の重み関数Ｗ２（Ｌ）を利用することになる。
【０４４６】
ここで、第１の重み関数Ｗ１（Ｌ）となるガウス分布関数の標準偏差σは、図示のとおり、着目画素Ｐの輝度値Ｌ［Ｐ］が０からＬｅまで増加したときに、最大値σmaxから最小値σminへと減少するグラフ（図の例では直線状のグラフであるが、単調減少するグラフであれば、どのようなグラフでもかまわない）によって定められる。一方、第２の重み関数Ｗ２（Ｌ）となるガウス分布関数の標準偏差σは、図示のとおり、常に最小値σminに固定されている。
【０４４７】
要するに、標準偏差σについて最大値σmaxおよび最小値σminを定め、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素の代表輝度値Ｌｅ以上の場合には、標準偏差σ＝σminとなるガウス分布関数を重み関数Ｗ２（Ｌ）として用いるようにし、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素の代表輝度値Ｌｅ未満の場合には、標準偏差σが、σmax ≧σ＞σminの範囲をとり、かつ、着目画素Ｐの輝度値Ｌ［Ｐ］が大きいほど小さくなるように設定されたガウス分布関数を重み関数Ｗ１（Ｌ）として用いるようにすればよい。
【０４４８】
この図４９のグラフに基づいて、ガウス分布関数の標準偏差σを設定し、当該ガウス分布関数を重み関数Ｗ（Ｌ）として用い、上述したヘイローの抑制策を実施すれば、黒ヘイローＨｂに対する抑制度合いよりも、白ヘイローＨｗに対する抑制度合いを強くする、という要点を満たすようなヘイローの抑制策が可能になる。
【０４４９】
たとえば、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素の代表輝度値Ｌｅよりも小さい場合は、黒ヘイローＨｂが発生する可能性があるが、図４９のグラフに基づいて、輝度値Ｌ［Ｐ］に対応する標準偏差σ［Ｐ］が設定され、標準偏差σ［Ｐ］をもったガウス分布関数を重み関数Ｗ（Ｌ）として用いたヘイローの抑制策が実施される。一方、着目画素Ｐの輝度値Ｌ［Ｐ］が周囲画素の代表輝度値Ｌｅよりも大きい場合は、白ヘイローＨｗが発生する可能性があるが、図４９のグラフに基づいて、輝度値Ｌ［Ｐ］に対応する標準偏差σmin が設定され、標準偏差σmin をもったガウス分布関数を重み関数Ｗ（Ｌ）として用いたヘイローの抑制策が実施される。
【０４５０】
ガウス分布関数では、標準偏差σが大きくなると分布カーブがなだらかになり、ヘイローの抑制効果は弱められ、標準偏差σが小さくなると分布カーブが急峻になり、ヘイローの抑制効果は強められる。したがって、図４９のグラフに基づいて、ガウス分布関数の標準偏差σを設定すれば、黒ヘイローＨｂに対する抑制度合いよりも、白ヘイローＨｗに対する抑制度合いを強くする、という要点を満たすヘイローの抑制策が可能になり、しかも黒ヘイローＨｂに対する抑制度合いは、着目画素Ｐが暗ければ暗いほど弱められるので、人間の感性に合致した効果的なヘイロー抑制対策が可能になる。
【０４５１】
なお、実用上は、図８に示す個別補正関数設定手段１４０に、オペレータの設定操作により、重み関数Ｗ（Ｌ）の形状を自由に調整することができる機能をもたせておき、オペレータが設定した重み関数Ｗ（Ｌ）を用いてヘイロー抑制処理が実行されるようにしておくのが好ましい。具体的には、たとえば、オペレータが、ヘイロー抑制パラメータｈを設定できる機能を個別補正関数設定手段１４０に設けておき、図４９に示すグラフで決定される標準偏差σに、パラメータｈを乗じた値を、実際のヘイロー抑制処理に用いるガウス分布関数の標準偏差として設定すればよい。
【０４５２】
そうすれば、オペレータは、ディスプレイ画面上に表示された調整後画像Ｕ２を逐次確認しながら、ヘイロー対策が十分か否かを判断し、必要があれば、ヘイロー抑制パラメータｈの値を修正して、新たな重み関数Ｗ（Ｌ）を用いた輝度調整を行う、という試行錯誤の操作を繰り返してゆけばよい。
【０４５３】
もちろん、図４９に示すグラフ自体を、ヘイロー抑制パラメータの一部として、オペレータの調整対象にしておくことも可能である。すなわち、個別補正関数設定手段１４０に、オペレータの操作に基づいて図４９に示すグラフを修正する機能をもたせておけば、オペレータは、図４９に示すグラフ自体を任意の形状に修正することにより、ヘイロー抑制対策の強弱を調整することもできるし、黒ヘイローＨｂに対する抑制度合いと白ヘイローＨｗに対する抑制度合いとのバランスを調整することもできる。
【０４５４】
図５０(a) ，(b) は、図３５(b) に示すヘイロー発生画像に対して、ヘイローの抑制策を伴う輝度調整処理を行った結果を示す図である。いずれも、上述したように、オペレータがヘイロー抑制パラメータを自由に調整できる機能をもたせた画像処理装置による輝度調整の結果を示すものである。図５０(a) は、黒ヘイローＨｂについては抑制せずに白ヘイローＨｗの抑制度合いを極度に高めるような調整を行うことにより得られた調整後画像である。黒ヘイローＨｂについては、図３５(b) と同様に目立っているが、白ヘイローＨｗはほとんど目立たなくなっている。このように、白ヘイローＨｗのみを抑制することも可能であるし、もちろん、黒ヘイローＨｂのみを抑制することも可能である。もっとも、この図５０(a) に示す例は、画像全体のコントラストが失われる結果となり、輝度調整に失敗した例である。一方、図５０(b) は、ヘイロー抑制パラメータをバランス良く調整することに成功し、良好な輝度調整に成功した例である。
【０４５５】
＜＜＜  §８．  輝度調整方法およびカラー画像処理方法  ＞＞＞
これまで本発明を、図８のブロック図に示す構成を有する画像処理装置（輝度調整機能をもった画像処理装置）として把握し、その機能を説明してきたが、ここでは、本発明を輝度調整方法およびこれを利用したカラー画像処理方法として捉え、方法発明としての説明を行う。
【０４５６】
＜８−１．カラー画像処理方法＞
図５１は、本発明に係るカラー画像処理方法の基本手順を示す流れ図である。この方法は、与えられたカラー画像について、その輝度調整を行うカラー画像処理方法であり、図示のとおり、ステップＳ１〜Ｓ７の各手順によって構成される。これらの各手順は、ステップＳ７を除いて、いずれもコンピュータによって実行されるものであり、実際には、コンピュータプログラムによって記述される。
【０４５７】
まず、ステップＳ１では、三原色Ｒ，Ｇ，Ｂの各画素値をもつ画素の配列からなる調整前カラー画像を入力する調整前カラー画像入力段階が実行される。通常、各色Ｒ，Ｇ，Ｂごとに、それぞれ８ビットの階調値をもったカラー画像が調整前カラー画像として取り込まれることになる。
【０４５８】
続くステップＳ２では、この調整前カラー画像を構成する個々の画素のもつ三原色Ｒ，Ｇ，Ｂの画素値を、輝度成分を示す画素値および色差成分を示す画素値に変換することにより、輝度値をもつ画素の配列からなる調整前画像を生成する調整前画像生成段階が実行される。本発明は、それぞれ所定の輝度値をもつ画素の配列からなる調整前画像Ｕ１について輝度調整を行うことを本質的な目的としているため、調整前画像Ｕ１は、明るさを示す輝度値を画素値とする画像である必要がある。そこで、三原色Ｒ，Ｇ，Ｂの画素値を、輝度成分を示す画素値および色差成分を示す画素値に変換する処理を行う。
【０４５９】
一般にカラー画像を表現する方式には様々な規格が定められており、相互に変換することが可能である。通常、ディスプレイ装置に与えるカラー画像では、１つの画素を三原色Ｒ，Ｇ，Ｂの画素値として表現するＲＧＢ表色系を用いた方式が利用されているが、たとえば、これを輝度成分Ｙと色差成分Ｃｂ，Ｃｒとを用いた方式に変換することが可能であり、必要に応じて、逆変換して再びＲＧＢ表色系に戻すことも可能である。そこで、たとえば、ＲＧＢ表色系で表現された１画素の情報を、ＹＣｂＣｒ系の表現形式に変換すれば、輝度成分Ｙを画素値とする調整前画像Ｕ１を生成することができる。
【０４６０】
次のステップＳ３では、参照領域の大きさ算出が行われる。本発明では、調整前画像Ｕ１を構成する個々の画素をそれぞれ着目画素Ｐとして、この着目画素Ｐを含むその近傍の領域にそれぞれ参照領域Ｒ［Ｐ］を設定する必要がある。この参照領域Ｒ［Ｐ］は、所定サイズの画素配列によって構成されるが、§２−１で述べたように、調整前画像Ｕ１の横方向の画素数をＳｘ、縦方向の画素数をＳｙとした場合、予め設定されている分割数ｎを用いて（実用上は、ｎ＝１０程度が好ましい）、Ｓｘ／ｎもしくはＳｙ／ｎなる除算を行い、その商に近い画素数に対応する長さを一辺とする正方形領域もしくは矩形領域を参照領域Ｒ［Ｐ］として自動的に設定するのが好ましい。
【０４６１】
そこでステップＳ３では、ステップＳ２で生成された調整前画像Ｕ１のサイズを参照して、参照領域Ｒ［Ｐ］のサイズを決定する処理が行われる。たとえば、調整前画像Ｕ１として、横長矩形の画像が与えられる一般的なケースにおいて、ｎ＝１０に設定した場合は、調整前画像Ｕ１の横方向の画素数をＳｘとして、Ｓｘ／１０なる商に近い所定の画素数を一辺とする正方形状の画素配列を、参照領域Ｒ［Ｐ］として決定すればよい。
【０４６２】
次のステップＳ４では、オペレータの設定操作に基づいて調整用パラメータを設定する調整用パラメータ設定段階が行われる。具体的には、ここに示す実施形態の場合、図示のとおり、３本のトーンカーブ、局所調整関数ｆ（Ｌ）、ヘイロー抑制パラメータという３種類の調整用パラメータが設定される。
【０４６３】
ここで、３本のトーンカーブは、図２０に示すグローバルトーンカーブＴ［Ｇ］、第１制限カーブＴ［α］、第２制限カーブＴ［β］の３本であり、実際には、図１７に例示したように、マウスなどのポインティングデバイスを用いたドラッグ操作により、入力輝度値Ｌinと出力輝度値Ｌout との関係を示すグラフとして設定することができる。
【０４６４】
なお、第１制限カーブＴ［α］が必ずグローバルトーンカーブＴ［Ｇ］の上方に設定されるように制限し、第２制限カーブＴ［β］が必ずグローバルトーンカーブＴ［Ｇ］の下方に設定されるように制限する入力方法を採用すれば、第１制限カーブＴ［α］は上限カーブＴ［upper］として機能し、第２制限カーブＴ［β］は下限カーブＴ［lower］として機能することになるので、図１８に示す実施形態として運用することが可能になる。
【０４６５】
第１制限カーブＴ［α］および第２制限カーブＴ［β］、もしくは、上限カーブＴ［upper］および下限カーブＴ［lower］が、グローバルトーンカーブＴ［Ｇ］に対して行う補正に対して制限を加える役割を果たすことは、既に§４−２，§４−３で述べたとおりである。
【０４６６】
一方、ステップＳ４で設定される局所調整関数ｆ（Ｌ）は、図１６の上段に示すように、集計用座標系に配置される関数である。実用上は、§５で述べたヒストグラムを用いた集計を行う運用を採用し、§３−１で述べたように、局所調整関数ｆ（Ｌ）として、図１５に示すような式で表されるシグモイド関数「ｆｋ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｋ）／Ｍ）））−１」（単調増加の場合）もしくは「ｆｋ（Ｌ）＝−（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｋ）／Ｍ）））＋１」（単調減少の場合）が用いられる。ステップＳ４では、単調増加の関数を用いるか、単調減少の関数を用いるかを選択する設定と、必要に応じて、勾配係数μの値やヒストグラムの階級の総数Ｋ（階級番号ｋの最大値）を指定する設定とが行われる。
【０４６７】
そして、ステップＳ４で設定されるヘイロー抑制パラメータは、§７で述べたヘイローの抑制対策に利用される重みづけを定義するためのパラメータであり、具体的には、§７−５で述べたとおり、重み関数Ｗ（Ｌ）として利用されるガウス分布関数の標準偏差σの設定が行われる。より自由度の高い調整を可能にする場合は、図４９に示すグラフ自体をヘイロー抑制パラメータとして設定するようにすればよい。
【０４６８】
こうして、ステップＳ４において、調整用パラメータの設定が完了すると、続いて、ステップＳ５において、設定された調整用パラメータを用いた輝度調整処理段階が実行される。この輝度調整処理段階は、図８にブロック図として示した画像処理装置により実行される段階であり、その具体的な手順は、図５２の流れ図を参照して後述する。
【０４６９】
こうして、輝度調整処理段階が完了すると、ステップＳ６において、得られた調整後画像Ｕ２を構成する個々の画素のもつ輝度値Ｙ′（元の輝度値Ｙを輝度調整によって修正した値）および色差成分Ｃｂ，Ｃｒ（ステップＳ２の変換によって得られた値）を示す画素値を、三原色の画素値Ｒ′，Ｇ′，Ｂ′に変換することにより、ＲＧＢ表色系を用いた方式で表現された各画素値をもつ画素の配列からなる調整後カラー画像を生成する調整後カラー画像生成段階が実行される。なお、上述した手順では、色差成分Ｃｂ，Ｃｒについては何ら調整を施していないが、必要に応じて、輝度の増減をＣｂ，Ｃｒにも適用し、Ｃｂ′，Ｃｒ′を生成し、Ｙ′Ｃｂ′Ｃｒ′をＲ′Ｇ′Ｂ′に変換するようにしてもかまわない。一般にカラー画像に対する輝度調整の方法は、様々な手法が知られており、本願ではこれらについての詳しい説明は省略する。
【０４７０】
こうして得られた調整後カラー画像はディスプレイ画面上に表示され、最後のステップＳ７において、オペレータによる良否判定に供される。オペレータが良好な画像であると判定した場合は、このカラー画像処理手順は完了するが、否定的な判定を行った場合には、再びステップＳ４からの処理が繰り返される。オペレータは、ステップＳ４において、調整用パラメータの設定を変更しては、ステップＳ７において結果を判定する、という作業を、納得がゆく結果が得られるまで繰り返すことになる。
【０４７１】
＜８−２．輝度調整処理方法＞
続いて、図５２の流れ図を参照しながら、本発明に係る輝度調整処理方法の基本手順を説明する。この基本手順は、図５１の流れ図におけるステップＳ５において実行される手順である。したがって、図５１に示すカラー画像処理方法は、図５２に示す輝度調整処理方法を利用して、与えられたカラー画像について輝度調整を行う方法ということになる。
【０４７２】
図５２に示す輝度調整処理方法は、それぞれ所定の輝度値をもつ画素の配列からなる調整前画像Ｕ１について輝度調整を行う方法であり、図示のとおり、ステップＳ１１〜Ｓ２０の各手順によって構成される。これらの各手順も、すべてコンピュータによって実行されるものであり、実際には、コンピュータプログラムによって記述される。
【０４７３】
まず、ステップＳ１１では、着目画素を示すパラメータｉが初期値ｉ＝１に設定され、続くステップＳ１２では、調整前画像Ｕ１を構成する画素配列の中の第ｉ番目の画素を着目画素Ｐｉとして抽出する処理が行われる。すなわち、このステップＳ１２の処理は、調整前画像Ｕ１を構成する個々の画素をそれぞれ着目画素Ｐｉとして抽出する着目画素抽出段階の処理ということになる。
【０４７４】
続くステップＳ１３では、この着目画素Ｐｉを含むその近傍の領域に、参照領域Ｒ［Ｐｉ］を設定する参照領域設定段階の処理が行われる。
【０４７５】
これに引き続いて行われるステップＳ１４，Ｓ１５の処理は、参照領域Ｒ［Ｐｉ］内において着目画素Ｐｉの周囲に位置する周囲画素の輝度値を参照して、各着目画素Ｐｉのそれぞれについて輝度値を変数とする個別補正関数Ｆ［Ｐｉ］を設定する個別補正関数設定段階の処理ということになる。
【０４７６】
ここで、ステップＳ１４は、局所調整関数配置ステップと呼ぶべきステップであり、次のような処理が実行される。はじめに、参照領域Ｒ［Ｐｉ］内の各周囲画素の輝度値に基づいて、それぞれの局所調整関数ｆ（Ｌ）を集計用座標系に配置する処理が行われる。具体的には、まず、輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）が定義される。
【０４７７】
そして、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、参照領域Ｒ［Ｐｉ］内の第ｊ番目の周囲画素（但し、ｊ＝１，２，... ，Ｎ、ここでＮは参照領域内の周囲画素の総数）に対応させて第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフを配置し、配置した第ｊ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｊ番目の周囲画素の輝度値Ｌｊに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる処理が実行される。
【０４７８】
一方、ステップＳ１５は、局所調整関数集計ステップと呼ぶべきステップであり、合計Ｎ組の局所調整関数ｆ１（Ｌ）〜ｆＮ（Ｌ）のグラフを集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数Ｆ［Ｐｉ］を設定する処理が行われる。
【０４７９】
次のステップＳ１６では、入力輝度値Ｌinを出力輝度値Ｌout に変換するための所定のグローバルトーンカーブＴ［Ｇ］（図５１のステップＳ４で設定されたもの）に対して、ステップＳ１５で設定された個別補正関数Ｆ［Ｐｉ］を用いた補正を行うことにより、着目画素Ｐｉについて当該着目画素Ｐｉに固有のローカルトーンカーブＴ［Ｐｉ］を定義するローカルトーンカーブ定義段階が行われる。このとき、グローバルトーンカーブＴ［Ｇ］に対する補正は、図５１のステップＳ４で設定された第１制限カーブＴ［α］および第２制限カーブＴ［β］、もしくは、上限カーブＴ［upper］および下限カーブＴ［lower］に基づく制限下で行われる。
【０４８０】
そして、ステップＳ１７では、ステップＳ１６で定義されたローカルトーンカーブＴ［Ｐｉ］を用いて、着目画素Ｐｉの輝度値Ｌ［Ｐｉ］を輝度値Ｌ［Ｑｉ］に変換する輝度値変換段階の処理が行われる。
【０４８１】
以上述べたステップＳ１２〜Ｓ１７の処理は、ステップＳ１８において、パラメータｉが最大値ｉmax （調整前画像Ｕ１に含まれる画素の総数）に達したと判断されるまで、ステップＳ１９においてパラメータｉを１ずつ更新しながら、繰り返し実行されることになる。
【０４８２】
ステップＳ１８において、ｉ＝ｉmax との判断がなされると、ステップＳ２０へと進み、ステップＳ１７の輝度値変換段階の処理によって変換された輝度値Ｌ［Ｑｉ］をもつ画素Ｑｉの集合からなる画素配列を調整後画像Ｕ２として出力する調整後画像出力段階の処理が実行される。
【０４８３】
なお、§５で述べたヒストグラムを用いた簡易集計法を採用する処理を行う場合は、ステップＳ１４（局所調整関数配置ステップ）において、輝度値Ｌを横軸、調整値ｆを縦軸にとって、輝度値Ｌと調整値ｆとの関係を示すグラフによって表現される関数であって、輝度値Ｌの増加に応じて調整値ｆが単調増加もしくは単調減少するような局所調整関数ｆ（Ｌ）を定義する点は、これまでの説明と同じである。その後は、参照領域Ｒ［Ｐｉ］内の複数の周囲画素の輝度値を複数Ｋ段階の階級に分類し、それぞれの度数を計数することによりヒストグラムを作成する。続いて、輝度値Ｌを横軸、調整値ｆを縦軸にとった集計用座標系上に、作成したヒストグラムにおける第ｋ番目の階級（但し、ｋ＝１，２，... ，Ｋ）に対応させて第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフを配置し、配置した第ｋ番目のグラフ上において調整値ｆ＝０となる点の横軸座標が、対応する第ｋ番目の階級の代表輝度値Ｌｒｋに一致するように、個々のグラフをそれぞれ所定量だけ横軸方向に個別にスライドさせる。そして、ステップＳ１５（局所調整関数集計ステップ）では、合計Ｋ組のグラフについて、それぞれの度数に応じた重みづけを行って集計した総和として総和グラフを求め、この総和グラフを用いて個別補正関数Ｆ［Ｐｉ］を設定するようにすればよい。
【０４８４】
また、§６で述べた画像の領域分割を行う手法を採る場合は、ステップＳ１４（局所調整関数配置ステップ）で、調整前画像Ｕ１を複数の分割領域に分けて認識し、個別補正関数Ｆ［Ｐｉ］を設定する際に、互いに異なる分割領域内の周囲画素については、それぞれ異なる局所調整関数ｆ（Ｌ）を配置するようにすればよい。具体的には、調整前画像Ｕ１を、空間周波数が所定の基準以上となるテクスチャ領域Ａｔと空間周波数が基準未満となるグラデーション領域Ａｇとに分けて認識し、テクスチャ領域用の局所調整関数ｆｔ（Ｌ）と、グラデーション領域用の局所調整関数ｆｇ（Ｌ）とを別個に設定し、テクスチャ領域Ａｔに位置する周囲画素についてはテクスチャ領域用の局所調整関数ｆｔ（Ｌ）を配置し、グラデーション領域Ａｇに位置する周囲画素については、グラデーション領域用の局所調整関数ｆｇ（Ｌ）を配置するようにすればよい。
【０４８５】
そして、§７で述べたヘイローを抑制する対策を実行する場合は、ステップＳ１５（局所調整関数集計ステップ）で、着目画素Ｐｉの輝度値Ｌ［Ｐｉ］と第ｊ番目の周囲画素の輝度値Ｌｊとの差に基づいて、当該差が小さい周囲画素ほど大きな重みづけを行い、総和グラフを求める際に、第ｊ番目の局所調整関数ｆｊ（Ｌ）のグラフについて、第ｊ番目の周囲画素についての重みを考慮した集計を行うことにより、個別補正関数Ｆ［Ｐｉ］を設定すればよい。
【０４８６】
このとき、更に、§５で述べたヒストグラムを用いた簡易集計法を併用する場合は、ステップＳ１５（局所調整関数集計ステップ）で、着目画素Ｐｉの輝度値Ｌ［Ｐｉ］と第ｋ番目の階級ＢＩＮｋの代表輝度値Ｌｒｋとの差に基づいて、当該差が小さい階級ほど大きな重みづけを行い、総和グラフを求める際に、第ｋ番目の局所調整関数ｆｋ（Ｌ）のグラフについて、第ｋ番目の階級ＢＩＮｋについての重みを考慮した集計を行うことにより、個別補正関数Ｆ［Ｐｉ］を設定するようにすればよい。
【０４８７】
＜＜＜  §９．  調整後画像の実例  ＞＞＞
最後に、本発明に係る輝度調整方法を利用して、具体的な画像に対して種々の輝度調整を行うことにより得られた調整後画像Ｕ２の実例をいくつか掲載しておく。
【０４８８】
まず、図５３(a) は、基本となる調整前画像Ｕ１０の実例を示す図であり、本発明に係る輝度調整方法の調整対象として用いられた元画像に相当する。図５３(b) は、図５３(a) に示す画像に対応するトーンカーブを示している。図５３(a) に示す調整前画像Ｕ１０は、まだ輝度調整を行う前の画像であるから、図５３(b) には、便宜上、基準トーンカーブＴ０を掲載してある。この元画像は、室内から窓を背景として、テーブルに置かれた毛糸玉を撮影したものであるが、図示のとおり、室外の景色はある程度認識できるものの、室内の壁や毛糸玉の部分は黒く潰れてしまっており、細部が十分に認識できない状態になっている。
【０４８９】
一方、図５４(a) は、図５１のステップＳ４（調整用パラメータ設定段階）において、図５４(b) に示すような３本のカーブ、すなわち、グローバルトーンカーブＴ［Ｇ］、上限カーブＴ［upper］、下限カーブＴ［lower］を設定して、図５３(a) に示す調整前画像Ｕ１０に対して輝度調整を行うことにより得られた調整後画像Ｕ２１である。図５３(a) に示す調整前画像Ｕ１０と比較すると、室外の景色の明るさをほとんど変えることなく、室内の部分を明るくすることに成功しており、室内の壁や毛糸玉の細部が認識しやすい状態になっている。
【０４９０】
図５５(a) は、図５１のステップＳ４（調整用パラメータ設定段階）において、図５５(b) に示すような３本のカーブを設定して、図５３(a) に示す調整前画像Ｕ１０に対して輝度調整を行うことにより得られた調整後画像Ｕ２２である。図５５(b) に示す３本のカーブを図５４(b) に示す３本のカーブと比較すると、グローバルトーンカーブＴ［Ｇ］および下限カーブＴ［lower］は全く同じであるが、上限カーブＴ［upper］の形状が若干異なっている。
【０４９１】
図５５(a) の調整後画像Ｕ２２を図５４(a) の調整後画像Ｕ２１と比較すると、画像全体の明るさは変化していないが、暗い室内部分の局所的なコントラストをより強調した輝度調整が行われていることがわかる。たとえば、籠の中央に置かれた複数色の毛糸玉に注目すると、局所的なコントラストが強調され、１本１本の毛糸の識別がより容易になっている。このように、グローバルトーンカーブＴ［Ｇ］を変えずに、上限カーブＴ［upper］もしくは下限カーブＴ［lower］を変えると、画像全体の明るさを維持したまま、局所的なコントラストを調整することが可能になる。
【０４９２】
一方、図５６(a) は、図５１のステップＳ４（調整用パラメータ設定段階）において、図５６(b) に示すような３本のカーブを設定して、図５３(a) に示す調整前画像Ｕ１０に対して輝度調整を行うことにより得られた調整後画像Ｕ２３である。実は、図５６(b) に示す３本のカーブは、図５４(b) に示す３本のカーブと全く同じである。それにもかかわらず、図５４(a) に示す調整後画像Ｕ２１と図５６(a) に示す調整後画像Ｕ２３とに違いが生じているのは、図５１のステップＳ４（調整用パラメータ設定段階）において、局所調整関数ｆ（Ｌ）として異なる関数を設定したためである。
【０４９３】
すなわち、図５４(a) に示す調整後画像Ｕ２１は、局所調整関数ｆ（Ｌ）として、図１０の上段に示すようなＳ字状のカーブを設定することにより得られた画像である。図１０に示すカーブは、個別補正関数Ｆ［Ｐ］の例として示したものであるが、ほぼ同じ形状のカーブを局所調整関数ｆ（Ｌ）として用いている。これに対して、図５６(a) に示す調整後画像Ｕ２３は、局所調整関数ｆ（Ｌ）として、図１１の上段に示すような逆Ｓ字状のカーブを設定することにより得られた画像である。図１１に示すカーブも、個別補正関数Ｆ［Ｐ］の例として示したものであるが、やはりほぼ同じ形状のカーブを局所調整関数ｆ（Ｌ）として用いている。
【０４９４】
既に述べたとおり、実際には、ステップＳ４では、シグモイド関数を局所調整関数ｆ（Ｌ）として設定することになる。したがって、図５４(a) に示す調整後画像Ｕ２１は、Ｓ字カーブを形成する単調増加型のシグモイド関数「ｆｋ（Ｌ）＝（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｋ）／Ｍ）））−１」を局所調整関数ｆ（Ｌ）として設定することにより得られた画像であり、図５６(a) に示す調整後画像Ｕ２３は、逆Ｓ字カーブを形成する単調減少型のシグモイド関数「ｆｋ（Ｌ）＝−（２／（１＋ｅｘｐ（−μ・（Ｌ−Ｌｋ）／Ｍ）））＋１」を局所調整関数ｆ（Ｌ）として設定することにより得られた画像ということになる。
【０４９５】
図５４(a) に示す調整後画像Ｕ２１と図５６(a) に示す調整後画像Ｕ２３とを比較すると、前者では局所的なコントラストが強められているのに対して、後者では局所的なコントラストが弱められており、両者では画質が全く異なっていることがわかる。このように、ステップＳ４の調整用パラメータ設定段階において、３本のトーンカーブが全く同一になる設定を行ったとしても、局所調整関数ｆ（Ｌ）の設定が異なれば、輝度調整の結果も異なってくる。
【０４９６】
また、図２０〜図２３に示す例のように、３本のトーンカーブとして、グローバルトーンカーブＴ［Ｇ］、第１の制限カーブＴ［α］、第２の制限カーブＴ［β］を設定する実施形態を採れば、３本のカーブの相互配置に関する制限がなくなり、より自由度の高い設定を行うことができる。
【０４９７】
たとえば、図２０に示すように、グローバルトーンカーブＴ［Ｇ］の上方に第１の制限カーブＴ［α］を配置し、グローバルトーンカーブＴ［Ｇ］の下方に第２の制限カーブＴ［β］を配置した場合と、図２１に示すように、グローバルトーンカーブＴ［Ｇ］の下方に第１の制限カーブＴ［α］を配置し、グローバルトーンカーブＴ［Ｇ］の上方に第２の制限カーブＴ［β］を配置した場合とでは、局所的なコントラスト調整の効果が逆転することになる。
【０４９８】
別言すれば、局所調整関数ｆ（Ｌ）として、単調増加型のシグモイド関数（Ｓ字状カーブの関数）を用いるか、単調減少型のシグモイド関数（逆Ｓ字状カーブの関数）を用いるかの選択によって生じる画質の相違は、第１の制限カーブＴ［α］と第２の制限カーブＴ［β］との配置を入れ替えることによっても生み出すことが可能である。
【０４９９】
図５１に示す実施形態の場合、ステップＳ４で設定可能な調整用パラメータは、３本のトーンカーブと、局所調整関数ｆ（Ｌ）と、ヘイロー抑制パラメータであり、オペレータは、これらのパラメータを種々組み合わせて調整することにより、自由度の高い輝度調整を行うことができる。
【０５００】
図５７(a) は、図５１のステップＳ４（調整用パラメータ設定段階）において、図５７(b) に示すような３本のカーブを設定して、図５３(a) に示す調整前画像Ｕ１０に対して輝度調整を行うことにより得られた調整後画像Ｕ２４である。図５７(b) に示す例は、図２３に示す例と同様に、第１の制限カーブＴ［α］と第２の制限カーブＴ［β］とを点Ｏにおいて交差させて８の字状のカーブが形成されるように設定した例である。§４−３で述べたように、８の字状のカーブを形成させると、局所的コントラストを強める効果と弱める効果とが混在した画像を作り出すことができるので、非常に複雑な輝度調整効果を生み出すことが可能になる。
【０５０１】
図５７(a) に示す調整後画像Ｕ２４も、このような複雑な輝度調整効果を施した結果である。図５７(b) に示す設定の場合、グローバルトーンカーブＴ［Ｇ］としては、図５４(b) と同じＳ字状カーブを設定しているため、画像全体に対してはコントラストを弱める調整が働くが、交点Ｏよりも左側の低輝度部分では局所的コントラストを強める調整が行われ、交点Ｏよりも右側の高輝度部分では局所的コントラストを弱める調整が行われることになる。
【０５０２】
その結果、図５４(a) に示す調整後画像Ｕ２１と図５７(a) に示す調整後画像Ｕ２４とを比較すると、画像全体の明るさはほぼ同じになっているが、窓から見える室外の風景部分などに注目すれば、明るい部分の局所的なコントラストについては、前者に比べて後者の方が弱められていることがわかる。このように、図５７(a) に示す調整後画像Ｕ２４では、局所的にコントラストが強められる部分と局所的にコントラストが弱められる部分とが、局所的にコントラストを変化させない部分を介して融合した状態になっている。このため、暗い部分の局所的コントラストについては強める調整を行い、明るい部分の局所的コントラストについては弱める調整を行う、という複雑な輝度調整の要望に応えながら、局所的コントラスト調整に不自然な境界が生じることなく、自然調の画像が得られている。
【符号の説明】
【０５０３】
１１０：調整前画像格納手段
１２０：グローバルトーンカーブ設定手段
１３０：輝度値変換手段
１４０：個別補正関数設定手段
１５０：調整後画像格納手段
Ａ，Ａ１〜Ａ３：トーンカーブ上の点
Ａｂ：黒領域
Ａｇ：グラデーション領域
Ａｔ：テクスチャ領域
Ａｗ：白領域
ａ：補正指示量
ａ′：実補正量
Ｂ，Ｂ１〜Ｂ３：トーンカーブ上の点
ＢＩＮ１〜ＢＩＮ４：ヒストグラムの階級
ｂ：補正指示量
ｂ′：実補正量
Ｃ：補正増減率
Ｄ１〜Ｄ５：トーンカーブ上の点
Ｄα：第１の補正方向
Ｄβ：第２の補正方向
ｄ１〜ｄ４：ヘイローの大きさ
Ｅ，Ｅ１１，Ｅ１２，Ｅ１３ｇ，Ｅ１３ｔ：周囲画素
Ｅ０：グラフＦ［Ｐ］と補正基準ラインξ０（Ｃ＝０のライン）との交点
Ｅ０１〜Ｅ０４：グラフｆ（Ｌ）と補正基準ラインξ０（ｆ＝０のライン）との交点
Ｆ［Ｐ］，Ｆ［Ｐｉ］，Ｆ［Ｐ１１］，Ｆ［Ｐ１２］：個別補正関数
ｆ：調整値
ｆ（Ｌ），ｆ１（Ｌ）〜ｆ４（Ｌ），ｆｋ（Ｌ）：局所調整関数
ｆｇ（Ｌ），ｆｇ１（Ｌ）〜ｆｇ４（Ｌ）：グラデーション領域用の局所調整関数
ｆｔ（Ｌ），ｆｔ１（Ｌ）〜ｆｔ４（Ｌ）：テクスチャ領域領域用の局所調整関数
Ｇ：回転中心点
Ｇ１：ガウス分布曲線
Ｇ２：累積ガウス分布曲線
Ｇ１０：補正前の輝度分布
Ｇ１１：補正後の輝度分布
Ｇ１２：ヘイロー抑制を伴う補正後の輝度分布
ｇ１〜ｇ３：ガウス分布曲線
Ｈｂ，Ｈｂ１，Ｈｂ２：黒ヘイロー
Ｈｗ，Ｈｗ１，Ｈｗ２：白ヘイロー
ｉ：着目画素の番号
ｊ：周囲画素の番号
Ｋ：ヒストグラムの階級の総数
ｋ：ヒストグラムの階級番号
Ｋ１：補正増減率Ｃの下限値
Ｋ２：補正増減率Ｃの上限値
Ｌ１〜Ｌ１２，Ｌ１１′，Ｌ１２′：輝度値
Ｌ，Ｌａ，Ｌｂ：輝度値
Ｌｅ：周囲画素Ｅの輝度値の代表値
Ｌin：入力輝度値
Ｌout ：出力輝度値
Ｌupper：上限カーブの輝度値
Ｌlower：下限カーブの輝度値
Ｌｏ：境界輝度値
Ｌｒ１〜Ｌｒ４：各階級の代表輝度値（平均輝度値）
Ｌα：第１の制限カーブの輝度値
Ｌβ：第２の制限カーブの輝度値
Ｌ［Ｐ］，Ｌ［Ｐ１１］〜Ｌ［Ｐ１４］：各着目画素の輝度値
Ｌ［Ｑ１１］，Ｌ［Ｑ１２］：各補正画素の輝度値
Ｍ：輝度値の最大値
Ｎ：参照領域内の周囲画素の総数
Ｏ，Ｏ１，Ｏ２：トーンカーブ上の点
Ｐ，Ｐｉ，Ｐ１１〜Ｐ１４：着目画素
Ｐ１〜Ｐ４：着目画素の輝度値対応点
Ｑ，Ｑｉ，Ｑ１１，Ｑ１２：補正画素
Ｒ，Ｒｉ，Ｒ［Ｐ］，Ｒ［Ｐ１１］〜Ｒ［Ｐ１４］：各着目画素の参照領域
Ｓ１〜Ｓ２０：流れ図の各ステップ
Ｔ０：基準トーンカーブ（無修正）
Ｔ１：コントラスト強調トーンカーブ
Ｔ２：コントラスト弱調トーンカーブ
Ｔ［Ｇ］：グローバルトーンカーブ
Ｔ［Ｐ］，Ｔ［Ｐｉ］，Ｔ［Ｐ１１］，Ｔ［Ｐ１２］：ローカルトーンカーブ
Ｔ［top］：上限ライン
Ｔ［bottom］：下限ライン
Ｔ［upper］：上限カーブ
Ｔ［lower］：下限カーブ
Ｔ［α］：第１の制限カーブ
Ｔ［β］：第２の制限カーブ
Ｕ１：調整前画像
Ｕ２：調整後画像
Ｕ１０：調整前画像
Ｕ２１〜Ｕ２４：調整後画像
ｕａ，ｕｂ：最大補正指示量
ｕａ′，ｕｂ′：最大実補正量
Ｖ，Ｖ１〜Ｖ４，Ｖｋ：度数（画素数）
Ｗ，Ｗｋ，Ｗ１〜Ｗ４，：重み
Ｗ（Ｌ），Ｗ１（Ｌ），Ｗ２（Ｌ）：重み関数
Ｘ：画像の横方向軸
ｘ：ガウス分布関数の変数値
Ｙ：画像の縦方向軸
ｙ：ガウス分布関数の関数値
Ｚ：ガウス分布曲線のピーク点
Δａ，Δｂ：補正量
μ：傾斜係数
ξ０：補正基準ライン（Ｃ＝０もしくはｆ＝０）
ξα：補正上限ライン（Ｃ＝＋１もしくはｆ＝＋１）
ξβ：補正下限ライン（Ｃ＝−１もしくはｆ＝−１）
σ，σ［Ｐ］：標準偏差
σmax：標準偏差σの最大値
σmin：標準偏差σの最小値
【図１】
0006326997.tif 000002
【図２】
0006326997.tif 000003
【図３】
0006326997.tif 000004
【図４】
0006326997.tif 000005
【図５】
0006326997.tif 000006
【図６】
0006326997.tif 000007
【図７】
0006326997.tif 000008
【図８】
0006326997.tif 000009
【図９】
0006326997.tif 000010
【図１０】
0006326997.tif 000011
【図１１】
0006326997.tif 000012
【図１２】
0006326997.tif 000013
【図１３】
0006326997.tif 000014
【図１４】
0006326997.tif 000015
【図１５】
0006326997.tif 000016
【図１６】
0006326997.tif 000017
【図１７】
0006326997.tif 000018
【図１８】
0006326997.tif 000019
【図１９】
0006326997.tif 000020
【図２０】
0006326997.tif 000021
【図２１】
0006326997.tif 000022
【図２２】
0006326997.tif 000023
【図２３】
0006326997.tif 000024
【図２４】
0006326997.tif 000025
【図２５】
0006326997.tif 000026
【図２６】
0006326997.tif 000027
【図２７】
0006326997.tif 000028
【図２８】
0006326997.tif 000029
【図２９】
0006326997.tif 000030
【図３０】
0006326997.tif 000031
【図３１】
0006326997.tif 000032
【図３２】
0006326997.tif 000033
【図３３】
0006326997.tif 000034
【図３４】
0006326997.tif 000035
【図３５】
0006326997.tif 000036
【図３６】
0006326997.tif 000037
【図３７】
0006326997.tif 000038
【図３８】
0006326997.tif 000039
【図３９】
0006326997.tif 000040
【図４０】
0006326997.tif 000041
【図４１】
0006326997.tif 000042
【図４２】
0006326997.tif 000043
【図４３】
0006326997.tif 000044
【図４４】
0006326997.tif 000045
【図４５】
0006326997.tif 000046
【図４６】
0006326997.tif 000047
【図４７】
0006326997.tif 000048
【図４８】
0006326997.tif 000049
【図４９】
0006326997.tif 000050
【図５０】
0006326997.tif 000051
【図５１】
0006326997.tif 000052
【図５２】
0006326997.tif 000053
【図５３】
0006326997.tif 000054
【図５４】
0006326997.tif 000055
【図５５】
0006326997.tif 000056
【図５６】
0006326997.tif 000057
【図５７】
0006326997.tif 000058