(57)【要約】【課題】各画像に応じて、適切にコントラスト補正を行う。【解決手段】入出力特性設定部は、入力コントラスト成分に対して出力コントラスト成分が単調増加し、入力コントラスト成分の値が０付近において傾きが最大のcontrastGain/γ_compとなるＳ字状の入出力特性カーブＣＬ２１を生成する。ゲイン特性算出部は、入出力特性カーブＣＬ２１に基づいて、入力コントラスト成分に対するゲイン値の特性を表すコントラストゲインカーブを生成する。コントラスト補正部は、コントラストゲインカーブと、入力コントラスト成分または輝度値のいずれかに基づいて求めたゲイン値に基づいて、各画素のコントラスト成分を補正する。本発明は、例えば、デジタルビデオカメラに適用できる。【選択図】図３３
2008263475.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置において、
補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線を生成する入出力特性生成手段と、
前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線を生成するゲイン特性生成手段と、
前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出するゲイン値算出手段と
を含む画像処理装置。
【請求項２】
前記入出力特性生成手段は、前記入力コントラスト成分の値が０付近において、傾きが最大かつ１より大きくなり、前記入力コントラスト成分の値が所定の補正範囲内において、前記入力コントラスト成分の絶対値が大きくなるほど傾きが緩やかになり、かつ、前記入力コントラスト成分に対する前記出力コントラスト成分の絶対値がその前記入力コントラスト成分の絶対値以上となり、前記入力コントラストの値が前記補正範囲を超える範囲において、傾きがほぼ１となる前記入出力特性曲線を生成する
請求項１に記載の画像処理装置。
【請求項３】
ユーザにより指定された、前記入力コントラスト成分の値が０付近における前記入出力特性曲線の傾きである最大傾きおよび前記補正範囲を取得する取得手段を
さらに含み、
前記入出力特性生成手段は、ユーザにより指定された前記最大傾きおよび前記補正範囲に基づいて、前記入出力特性曲線を生成する
請求項２に記載の画像処理装置。
【請求項４】
前記ゲイン値算出手段は、前記入力画像の各画素について、その画素の輝度値と前記入力画像の輝度値が取りうる範囲のほぼ中央の値である中間輝度値との差分値に基づいて前記ゲイン値を算出する
請求項１に記載の画像処理装置。
【請求項５】
前記ゲイン値算出手段は、前記入力画像の各画素について、その画素の前記コントラスト成分に基づいて前記ゲイン値を算出する
請求項１に記載の画像処理装置。
【請求項６】
前記ゲイン値算出手段は、前記入力画像の各画素について、その画素の輝度値と前記入力画像の輝度値が取りうる範囲のほぼ中央の値である中間輝度値との差分値に基づいて第１のゲイン値を算出し、その画素の前記コントラスト成分に基づいて第２ゲイン値を算出し、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する
請求項１に記載の画像処理装置。
【請求項７】
入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置の画像処理方法において、
補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線を生成し、
前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線を生成し、
前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出する
ステップを含む画像処理方法。
【請求項８】
入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する処理をコンピュータに実行させるプログラムにおいて、
補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線を生成し、
前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線を生成し、
前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出する
ステップを含むプログラム。
【請求項９】
入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置において、
前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線、および、その画素の輝度値に基づいて、第１のゲイン値を算出する第１のゲイン値算出手段と、
前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出する第２のゲイン値算出手段と、
前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する第３のゲイン値算出手段と
を含む画像処理装置。
【請求項１０】
前記第３のゲイン値算出手段は、前記第１のゲイン値および前記第２のゲイン値のうち小さい方を前記第３のゲイン値とする
請求項９に記載の画像処理装置。
【請求項１１】
前記第３のゲイン値算出手段は、前記第１のゲイン値と前記第２のゲイン値とを乗じた値を前記第３のゲイン値とする
請求項９に記載の画像処理装置。
【請求項１２】
前記第１のゲイン特性曲線および前記第２のゲイン特性曲線は同じゲイン特性曲線であって、前記コントラスト成分の値が０付近において最大となり、前記コントラスト成分の値が所定の補正範囲内において、前記コントラスト成分の絶対値が大きくなるほど前記ゲイン値が小さくなり、前記コントラスト成分の値が前記補正範囲を超える範囲において、前記ゲイン値がほぼ０となるゲイン特性曲線であり、
前記第１のゲイン値算出手段は、前記入力画像の各画素について、その画素の輝度値と所定の輝度値との差分値に基づいて前記ゲイン値を算出する
請求項９に記載の画像処理装置。
【請求項１３】
入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置の画像処理方法において、
前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線、および、その画素の輝度値に基づいて、第１のゲイン値を算出し、
前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出し、
前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する
ステップを含む画像処理方法。
【請求項１４】
入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する処理をコンピュータに実行させるプログラムにおいて、
前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線、および、その画素の輝度値に基づいて、第１のゲイン値を算出し、
前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出し、
前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びに、プログラムに関し、画像のコントラストを補正する場合に用いて好適な画像処理装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
画像の階調を削減しダイナミックレンジを圧縮する画像処理は、階調圧縮または階調変換などと呼ばれており、近年、多様な階調圧縮または階調変換技術が提案されている（例えば、特許文献１参照）。
【０００３】
ここで、図１乃至図３を参照して、特許文献１に記載の発明において行われる階調変換処理について説明する。
【０００４】
図１は、特許文献１に記載の発明において階調変換処理を行う階調変換部１１の機能の構成の例を示すブロック図である。階調変換部１１は、輝度算出部２１、非線形変換部２２Ｌ乃至２２Ｂ、トーンカーブ算出部２３、トーンカーブメモリ２４、γ_compパラメータメモリ２５、縮小画像生成部２６、縮小画像メモリ２７、補間部２８、マッピング部２９−１，２９−２、コントラスト補正部３０、階調補正部３１Ｒ乃至３１Ｂ、および、非線形逆変換部３２Ｒ乃至３２Ｂにより構成される。
【０００５】
階調変換部１１では、トーンカーブを用いて画像の階調を圧縮する階調圧縮処理、および、階調圧縮処理により失われたコントラストを補正するコントラスト補正処理が行われる。そのうち階調圧縮処理は、トーンカーブ算出部２３、トーンカーブメモリ２４、および、マッピング部２９−１，２９−２によって行われ、コントラスト補正処理は、γ_compパラメータメモリ２５、縮小画像生成部２６、縮小画像メモリ２７、補間部２８、および、コントラスト補正部３０によって行われる。
【０００６】
そのうちコントラスト補正処理においては、縮小画像生成部２６による画像縮小処理と補間部２８による画像補間処理の組み合わせによって実現される低周波フィルタを利用して、階調圧縮した画像の成分をごく低周波成分からなる大局輝度成分とコントラスト成分とに分離し、画像の高周波成分だけでなく低中周波成分も含むコントラスト成分に対してコントラスト補正が行われる。従って、いたずらに画像のディテールだけが強調されることなく、見た目にもごく自然なコントラスト補正をおこなうことが可能となる。
【０００７】
図２は、コントラスト補正部３０の機能の構成の例を示すブロック図である。コントラスト補正部３０は、ゲイン値算出部５１およびコントラスト強調部５２により構成される。
【０００８】
コントラスト補正部３０に入力される階調圧縮後の画像の輝度値Lc(nl)(p)は、トーンカーブによってコントラスト成分が圧縮されている。その圧縮の度合いはトーンカーブの傾きに依存し、傾きが緩やかであるほど圧縮の度合いが大きい。従って、画像のコントラストを元に戻すためには、トーンカーブの傾きの逆数に応じてコントラスト成分を強調することが望ましい。しかし、そうした場合、輝度値の飽和レベルおよびノイズレベル付近において、コントラスト補正が強すぎて輝度の飽和が生じ、補正後の画像に黒ツブレや白ツブレが発生してしまう場合がある。
【０００９】
そこで、コントラスト補正部３０では、ゲイン値算出部５１が、図３に示されるゲイン特性を用いて、階調圧縮後の輝度値Lc(nl)(p)に基づいてゲイン値g(p)を求め、コントラスト強調部５３が、ゲイン値算出部５１により求められたゲイン値g(p)を用いて、コントラストの補正を行う。なお、図３のグラフの横軸方向は、階調圧縮後の輝度値Lc(nl)(p)を表し、縦軸方向は、ゲイン値g(p)を表している。
【００１０】
図３に示されるゲイン特性においては、輝度値Lc(nl)(p)が、輝度値Lc(nl)(p)が取り得る範囲のほぼ中間にあたる所定の中間輝度レベルLmid(nl)となるとき、ゲイン値g(p)が最大となり、輝度値Lc(nl)(p)が取りうる範囲の最小値Lmin(nl)または最大値Lmax(nl)に近づくにつれて、ゲイン値g(p)は直線的に減衰し、輝度値Lc(nl)(p)が最小値Lmin(nl)未満および最大値Lmax(nl)を超える範囲では、ゲイン値g(p)は0となる。中間輝度レベルLmid(nl)におけるゲイン値g(p)は、所定の定数contrastGainとトーンカーブの形状によって決まるγ_compパラメータによって決定され、contrastGain／γ_comp−１となる。このゲイン特性は、以下の式（１）および式（２）により表すことができる。
【００１１】
【数１】
2008263475.tif 000003
【００１２】
コントラスト強調部５２は、ゲイン値算出部５１により算出されたゲイン値g(p)を用いて、以下の式（３）により、コントラスト補正した輝度値Lu(nl)(p)を算出する。
【００１３】
Lu(nl)(p)＝(g(p)＋1)・(Lc(nl)(p)−Lcl(nl)(p))＋Lcl(nl)(p)
＝g(p)・(Lc(nl)(p)−Lcl(nl)(p))＋Lc(nl)(p)    ・・・（３）
【００１４】
なお、Lcl(nl)(p)は、画素位置pの画素の大局輝度値を表している。
【００１５】
従って、中間輝度レベルLmid(nl)付近の輝度成分のコントラストが、最小値Lmin(nl)または最大値Lmax(nl)付近の輝度成分のコントラストと比較して強調される。より厳密に言えば、中間輝度レベルLmid(nl)付近の輝度成分ほどコントラストが強調され、最小値Lmin(nl)または最大値Lmax(nl)付近の輝度成分は、ほとんどコントラストの強調が行われない。これにより、コントラスト補正後の画像において、輝度が飽和し、白ツブレや黒ツブレが発生することが防止される。
【００１６】
また、画像のコントラスト補正技術は、ダイナミックレンジの広い画像を階調圧縮した画像のコントラストを補正する用途以外にも利用される。例えば、フォトレタッチ（photo-retouching）の分野では、カメラで撮影した画像のピントが合っていない場合に、特に高周波域のコントラスト成分を強調するようにコントラスト補正を行い、ピントが合っている画像に近づける補正が一般的に行われており、フォトレタッチの機能を提供するフォトレタッチソフトウエア（photo-retouching software）のほとんどが、その補正機能を実装している。
【００１７】
ところで、この種の画像の高周波域のコントラストを強調する処理は、アンシャープマスキング（unsharp masking）と呼ばれる画像処理により実現されることが多い。アンシャープマスキングとは、画像の各画素について、当該画素値と、近傍画素値の重みつき平均値との差分を算出し、その差分値に適当なゲイン値をかけて、当該画素値に足しこむ処理である。ここで、近傍画素値の重みつき平均値は、当該画素における低周波成分に相当し、それを当該画素値から引くことにより、当該画素の高周波のコントラスト成分が抽出される。また、ゲイン値は、抽出されたコントラスト成分を強調するためのパラメータである。
【００１８】
また、従来のフォトレタッチソフトウエアに実装されているアンシャープマスキング処理の中には、より所望の効果が得られるように、ゲイン値を適切に調整できる機能を有しているものがある。
【００１９】
例えば、従来、コントラスト強調を適用するコントラスト成分の下限値を閾値として設定できるフォトレタッチソフトウエアが市販されている。このソフトウエアでは、当該画素の高周波のコントラスト成分が閾値以上であるとき、指定されたゲイン値でコントラスト成分が強調され、コントラスト成分が閾値未満であるとき、ゲイン値が０に設定され、コントラスト成分が強調されなくなる。これによって、コントラスト成分を強調しつつ、高周波のノイズ成分をいっしょに強調してしまうことを抑制することができる。
【００２０】
また、従来、ゲイン値の特性をさらに詳細に設定することができるフォトレタッチソフトウエアが市販されている。図４は、そのフォトレタッチソフトウエアのアンシャープマスキング処理のゲイン値の特性を示すグラフである。図４の横軸は、画像の局所コントラストの値を示し、縦軸は、コントラスト成分の強調率、すなわち、ゲイン値を示している。このソフトウエアでは、図４に示されるように、下限値に加えて、上限値、下限漸次調整域、上限漸次調整域、全域効果、効果の各パラメータを設定することができる。このように、コントラスト補正を適用するコントラスト成分の下限値に加えて、上限値を設定可能にすることにより、必要以上にコントラスト強調が行われ、コントラストが強い領域において輝度飽和が生じたり、コントラストが強すぎてギラギラして落ち着かない印象の画像になることを回避することができる。
【００２１】
【特許文献１】特開２００７−４９４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
しかしながら、特許文献１に記載の発明では、コントラスト補正処理により輝度値の大小関係が逆転しまう階調逆転が発生してしまう可能性がある。ここで、階調逆転が発生する条件について考える。
【００２３】
上述した式（３）の両辺をLc(nl)で微分することにより、以下の式（４）が得られる。
【００２４】
【数２】
2008263475.tif 000004
【００２５】
なお、いまは局所領域内での階調逆転に注目しているので、式（４）において、大局輝度値Lcl(nl)を定数として考える。また、式（４）において、各変数の画素の位置を表す(p)の表示を省略している。
【００２６】
局所的な階調逆転が生じないようにするには、最小値Lmin(nl)から最大値Lmax(nl)までの有効な輝度値の範囲（以下、有効輝度範囲と称する）内で式（４）の右辺の値が０以下にならないように、ゲイン値gを設定する必要がある。
【００２７】
特許文献１に記載の発明では、ゲイン値gの特性は、上述した図３、並びに、式（１）および式（２）により表されるが、ここでは説明を簡単にするために、輝度値Lc(nl)が中間輝度レベルLmid(nl)より明るい範囲のみについて考える。そうすると、式（４）のゲイン値gは、以下の式（５）により表される。
【００２８】
【数３】
2008263475.tif 000005
【００２９】
ここで、gmidは中間輝度レベルLmid(nl)におけるゲイン値gのピーク値を表し、以下の式（６）で表される定数である。
【００３０】
【数４】
2008263475.tif 000006
【００３１】
式（４）に式（５）を代入することにより、以下の式（７）が得られる。
【００３２】
【数５】
2008263475.tif 000007
【００３３】
例えば、gmid＝１およびLcl(nl)＝Lmid(nl)である場合に、Lc(nl)＝Lmax(nl)になったときに、式（７）の右辺は０となる。
【００３４】
gmidの値は、階調圧縮前の入力画像の輝度値のヒストグラムの形状によりほぼ決定され、通常contrastGainの値は１に設定されるため、通常の自然画像においては、gmidの値は経験的に０から１の範囲内に収まることが分かっている。また、大局輝度値Lcl(nl)はコントラスト補正前の画像のごく低周波成分の輝度値なので、Lmid(nl)より大きな値になることは希である。従って、通常の自然画像においては、局所領域でのLu(nl)の単調増加性が有効輝度範囲内でほぼ保証され、階調逆転が生じる可能性はほとんどない。
【００３５】
しかしながら、画像の見栄えをよくするなどの理由により、元の入力画像よりコントラストを強調するためにcontrastGainの値を１より大きな値に設定した場合、通常の自然画像においても、gmidが１を超える場合が発生し、Lc(nl)＜Lmax(nl)の範囲において、式（７）の右辺が０以下になる場合が生じる。これは、コントラスト成分（Lc(nl)−Lcl(nl)）が大きい画素を含む画像において、階調逆転が発生する可能性があることを示している。
【００３６】
また、上述した図４のゲイン特性も、図３のゲイン特性と同様に、上限値より大きい側のゲイン減衰特性は直線的であり、同様の理由により、局所的に階調逆転が発生する可能性がある。
【００３７】
さらに、特許文献１に記載の発明では、contrastGainの値を１より大きな値に設定し、ゲイン値g(p)が大きくなった場合、上述した式（３）において、コントラスト成分（Lc(nl)(p)−Lcl(nl)(p)）が強調されすぎて、輝度値Lu(nl)(p)が黒レベルの輝度値を超えたり、ノイズレベルの輝度値を下回る可能性がある。すなわち、コントラスト補正後の画像において、輝度が飽和し、白ツブレや黒ツブレが発生する可能性がある。
【００３８】
例えば、低輝度領域にスポット状に高輝度領域があるような画像の場合、大局輝度値Lcl(nl)(p)が小さくなるため、コントラスト成分が非常に大きくなる。この場合、contrastGainの値を１に設定しているときには、上述したようにゲイン値g(p)が１を超えることはなく、輝度の飽和が発生することはほとんどないが、contrastGainの値を１より大きく設定したときには、ゲイン値g(p)が１を超え、その結果、コントラスト補正後の画像において、輝度が飽和し、白ツブレや黒ツブレが発生する可能性がある。
【００３９】
また、図４のゲイン特性を持つフォトレタッチソフトウエアでは、局所コントラストの値によりコントラスト補正が抑制され、輝度の飽和が抑制されるが、例えば、コントラスト成分がそれほど強くない高輝度領域にコントラスト補正を適用した場合などに、輝度が飽和する可能性が残っている。
【００４０】
すなわち、特許文献１に記載の発明、および、市販のフォトレタッチソフトウエアでは、処理対象となる画像およびコントラストを強調する度合いによって、コントラスト補正により階調逆転または輝度の飽和が発生する可能性がある。
【００４１】
本発明は、このような状況に鑑みてなされたものであり、各画像に応じて、適切にコントラスト補正を行うことができるようにするものである。
【課題を解決するための手段】
【００４２】
本発明の第１の側面の画像処理装置は、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置であって、補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線を生成する入出力特性生成手段と、前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線を生成するゲイン特性生成手段と、前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出するゲイン値算出手段とを備える。
【００４３】
前記入出力特性生成手段には、前記入力コントラスト成分の値が０付近において、傾きが最大かつ１より大きくなり、前記入力コントラスト成分の値が所定の補正範囲内において、前記入力コントラスト成分の絶対値が大きくなるほど傾きが緩やかになり、かつ、前記入力コントラスト成分に対する前記出力コントラスト成分の絶対値がその前記入力コントラスト成分の絶対値以上となり、前記入力コントラストの値が前記補正範囲を超える範囲において、傾きがほぼ１となる前記入出力特性曲線を生成させることができる。
【００４４】
ユーザにより指定された、前記入力コントラスト成分の値が０付近における前記入出力特性曲線の傾きである最大傾きおよび前記補正範囲を取得する取得手段をさらに設け、  前記入出力特性生成手段には、ユーザにより指定された前記最大傾きおよび前記補正範囲に基づいて、前記入出力特性曲線を生成させることができる。
【００４５】
前記ゲイン値算出手段には、前記入力画像の各画素について、その画素の輝度値と前記入力画像の輝度値が取りうる範囲のほぼ中央の値である中間輝度値との差分値に基づいて前記ゲイン値を算出させることができる。
【００４６】
前記ゲイン値算出手段には、前記入力画像の各画素について、その画素の前記コントラスト成分に基づいて前記ゲイン値を算出させることができる。
【００４７】
前記ゲイン値算出手段には、前記入力画像の各画素について、その画素の輝度値と前記入力画像の輝度値が取りうる範囲のほぼ中央の値である中間輝度値との差分値に基づいて第１のゲイン値を算出させ、その画素の前記コントラスト成分に基づいて第２ゲイン値を算出させ、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出させることができる。
【００４８】
本発明の第１の側面の画像処理方法、または、プログラムは、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置の画像処理方法、または、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する処理をコンピュータに実行させるプログラムであって、補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線を生成し、前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線を生成し、前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出するステップを含む。
【００４９】
本発明の第２の側面の画像処理装置は、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置であって、前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線、および、その画素の輝度値に基づいて、第１のゲイン値を算出する第１のゲイン値算出手段と、前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出する第２のゲイン値算出手段と、前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する第３のゲイン値算出手段とを備える。
【００５０】
前記第３のゲイン値算出手段には、前記第１のゲイン値および前記第２のゲイン値のうち小さい方を前記第３のゲイン値とさせることができる。
【００５１】
前記第３のゲイン値算出手段には、前記第１のゲイン値と前記第２のゲイン値とを乗じた値を前記第３のゲイン値とさせることができる。
【００５２】
前記第１のゲイン特性曲線および前記第２のゲイン特性曲線は同じゲイン特性曲線であって、前記コントラスト成分の値が０付近において最大となり、前記コントラスト成分の値が所定の補正範囲内において、前記コントラスト成分の絶対値が大きくなるほど前記ゲイン値が小さくなり、前記コントラスト成分の値が前記補正範囲を超える範囲において、前記ゲイン値がほぼ０となるゲイン特性曲線であり、前記第１のゲイン値算出手段には、前記入力画像の各画素について、その画素の輝度値と前記入力画像の輝度値と所定の輝度値との差分値に基づいて前記ゲイン値を算出させることができる。
【００５３】
本発明の第２の側面の画像処理方法、または、プログラムは、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置の画像処理方法、または、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する処理をコンピュータに実行させるプログラムであって、前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線、および、その画素の輝度値に基づいて、第１のゲイン値を算出し、前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出し、前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出するステップを含む。
【００５４】
本発明の第１の側面においては、補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線が生成され、前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線が生成され、前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値が算出される。
【００５５】
本発明の第２の側面においては、前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線、および、その画素の輝度値に基づいて、第１のゲイン値が算出され、前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値が算出され、前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値が算出される。
【発明の効果】
【００５６】
以上のように、本発明の第１の側面によれば、コントラスト補正に用いるゲイン値を画素ごとに制御することができる。また、本発明の第１の側面によれば、特に階調の逆転が発生しないように、各画像に応じて適切にコントラスト補正を行うことができる。
【００５７】
また、本発明の第２の側面によれば、コントラスト補正に用いるゲイン値を画素ごとに制御することができる。また、本発明の第２の側面によれば、特に輝度の飽和が発生しないように、各画像に応じて適切にコントラスト補正を行うことができる。
【発明を実施するための最良の形態】
【００５８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００５９】
本発明の第１の側面の画像処理装置（例えば、図７の階調変換部１４３、または、図３８のCPU６２１）は、第１に、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置であって、補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線（例えば、図３３の入出力特性カーブＣＬ２１）を生成する入出力特性生成手段（例えば、図１４の入出力特性設定部３４１、または、図３９の入出力特性設定部６４３）と、前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線（例えば、図３４のコントラストゲインカーブＣＬ３１）を生成するゲイン特性生成手段（例えば、図１４または図３９のゲイン特性算出部３４３）と、前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出するゲイン値算出手段（例えば、図１７または図３９のゲイン値算出部３９１）とを備える。
【００６０】
本発明の第１の側面の画像処理装置は、第２に、ユーザにより指定された、前記入力コントラスト成分の値が０付近における前記入出力特性曲線の傾きである最大傾きおよび前記補正範囲を取得する取得手段（例えば、図３９のUI処理部６３３）をさらに備え、前記入出力特性生成手段は、ユーザにより指定された前記最大傾きおよび前記補正範囲に基づいて、前記入出力特性曲線を生成することができる。
【００６１】
本発明の第１の側面の画像処理方法またはプログラムは、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置の画像処理方法、または、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、ゲイン値に基づいて各画素の前記コントラスト成分を補正する処理をコンピュータに実行させるプログラムであって、補正前の前記コントラスト成分である入力コントラスト成分を入力とし、補正後の前記コントラスト成分である出力コントラスト成分を出力とする入出力特性曲線であって、前記入力コントラスト成分に対して前記出力コントラスト成分が単調増加する入出力特性曲線（例えば、図３３の入出力特性カーブＣＬ２１）を生成し（例えば、図３２のステップＳ１４１、または、図４１のステップＳ２１２）、前記入出力特性曲線に基づいて、前記入力コントラスト成分を前記出力コントラスト成分に補正するための前記ゲイン値の前記入力コントラスト成分に対する特性を表すゲイン特性曲線（例えば、図３４のコントラストゲインカーブＣＬ３１）を生成し（例えば、図３２のステップＳ１４２、または、図４３のステップＳ２３１）、前記ゲイン特性曲線に基づいて、前記入力画像の画素ごとに前記ゲイン値を算出する（例えば、図２８のステップＳ１１２、または、図４３のステップＳ２３５）ステップを含む。
【００６２】
本発明の第２の側面の画像処理装置（例えば、図７の階調変換部１４３、または、図３８のCPU６２１）は、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置であって、前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線（例えば、図３のゲイン特性を表す曲線、または、図３４のコントラストゲインカーブＣＬ３１）、および、その画素の輝度値に基づいて、第１のゲイン値を算出する第１のゲイン値算出手段（例えば、図１８または図３６のマッピング部４１２−１）と、前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線（例えば、図３４のコントラストゲインカーブＣＬ３１）、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出する第２のゲイン値算出手段（例えば、図１８または図３６のマッピング部４１２−２）と、前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する第３のゲイン値算出手段（例えば、図１８の選択部４１４、または、図３６の乗算部５０１）とを備える。
【００６３】
本発明の第２の側面の画像処理方法またはプログラムは、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する画像処理装置の画像処理方法、または、入力画像から低周波成分を除去したコントラスト成分を画素ごとに抽出し、前記コントラスト成分を強調する度合いを示すゲイン値に基づいて各画素の前記コントラスト成分を補正する処理をコンピュータに実行させるプログラムであって、前記入力画像の各画素について、前記ゲイン値の特性を表す第１のゲイン特性曲線（例えば、図３のゲイン特性を表す曲線、または、図３４のコントラストゲインカーブＣＬ３１）、および、その画素の輝度値に基づいて、第１のゲイン値を算出し（例えば、図２９のステップＳ１２１）、前記入力画像の各画素について、前記ゲイン値の特性を表す第２のゲイン特性曲線（例えば、図３４のコントラストゲインカーブＣＬ３１）、および、その画素の前記コントラスト成分に基づいて、第２のゲイン値を算出し（例えば、図２９のステップＳ１２２）、前記入力画像の各画素について、前記第１のゲイン値と前記第２のゲイン値に基づいて、最終的な第３のゲイン値を算出する（例えば、図２９のステップＳ１２３）ステップを含む。
【００６４】
以下、図を参照して、本発明の実施の形態について説明する。
【００６５】
図５は、本発明を適用したデジタルビデオカメラの一実施の形態を示すブロック図である。デジタルビデオカメラ１０１は、レンズ１１１、絞り１１２、画像センサ（CDS）１１３、相関２重サンプリング回路（CDS）１１４ 、A/Dコンバータ１１５、DSP（Digital Signal Processor）ブロック１１６、タイミングジェネレータ（TG）１１７、LCD（Liquid Crystal Display）ドライバ１１８、LCD１１９、CODEC（Compression/Decompression）１２０、メモリ１２１、CPU１２２、および、入力デバイス１２３を含むように構成される。なお、DSPブロック１１６は、信号処理用のプロセッサ（例えば、DSP）と画像データを保持するRAM（Random Access Memory）などのメモリなどにより構成されるブロックであり、プロセッサが所定のプログラムを実行することにより、後述する画像処理を行う。なお、以下、DSPブロック１１６を、単にDSP１１６と呼ぶ。
【００６６】
レンズ１１１および絞り１１２などからなる光学系を通過した被写体からの入射光は、まず、画像センサ１１３の撮像面上の各受光素子に到達し、受光素子による光電変換により電気信号に変換される。画像センサ１１３から出力された電気信号は、相関２重サンプリング回路１１４によってノイズが除去され、A/Dコンバータ１１５によってデジタル化された後、デジタル化された画像データがDSP１１６内のメモリに一時的に格納される。タイミングジェネレータ１１７は、一定のフレームレートにより画像データが取り込まれるように、相関２重サンプリング回路１１４、A/Dコンバータ１１５、および、DSP１１６により構成される信号処理系を制御する。すなわち、DSP１１６には、一定のフレームレートで画像データのストリームが供給される。
【００６７】
なお、画像センサ１１３は、一般的なCCD（Charge Coupled Device）などの画像センサよりダイナミックレンジが広く、飽和したり、ノイズを発生させたりすることなく、被写体の暗い部分から明るい部分までを撮像することができる。従って、A/Dコンバータ１１５は、入力される電気信号を、通常のデジタルビデオカメラの階調数（例えば、10乃至12ビット程度のデータにより表現できる階調数）よりも多い階調数（例えば、14乃至16ビット程度のデータにより表現できる階調数）の画像データに変換する。
【００６８】
DSP１１６は、画像データのダイナミックレンジが、例えばLCD１１９が表示可能なダイナミックレンジになるように、後述する画像処理を画像データに施した後、画像処理を施した画像データを、必要に応じて、LCDドライバ１１８またはCODEC１２０に供給する。
【００６９】
LCDドライバ１１８は、DSP１１６から供給される画像データをアナログの画像信号に変換する。LCDドライバ１１８は、デジタルビデオカメラ１０１のファインダであるLCD１１９にアナログの画像信号を供給し、画像信号に基づく画像を表示させる。
【００７０】
CODEC１２０は、DSP１１６から供給される画像データを所定の方式により符号化し、符号化した画像データを、半導体、磁気記録媒体、光磁気記録媒体、光記録媒体などよりなるメモリ１２１に記録させる。
【００７１】
CPU１２２は、例えば、シャッタボタンなどの操作ボタンなどにより構成される入力デバイス１２３を操作することによりユーザにより入力された指令などに基づいて、デジタルビデオカメラ１０１の全体の処理を制御する。
【００７２】
図６は、DSP１１６の内部のプロセッサ（演算ユニット）が、所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。DSP１１６の内部のプロセッサが所定のプログラムを実行することにより、デモザイク部１４１、ホワイトバランス部１４２、階調変換部１４３、ガンマ補正部１４４、および、YC変換部１４５を含む機能が実現される。
【００７３】
デモザイク部１４１は、A/Dコンバータ１１５によりA/D変換された画像データであるモザイク画像を取得する。モザイク画像は、Ｒ，Ｇ，Ｂのうちいずれかの色成分に対応するデータが１つの画素に格納され、例えば、Bayer配列と呼ばれる色配列に従って各画素が配置されている画像である。デモザイク部１４１は、１つの画素がＲ，Ｇ，Ｂ成分を全て有するようにするデモザイク処理をモザイク画像に施す。これにより、Ｒ，Ｇ，Ｂの３つの色成分にそれぞれ対応するＲ画像、Ｇ画像、Ｂ画像の３つの画像データが生成される。デモザイク部１４１は、生成したＲ画像、Ｇ画像、Ｂ画像の３つの画像データをホワイトバランス部１４２に供給する。
【００７４】
なお、以下、Ｒ画像、Ｇ画像、Ｂ画像の３つの画像データをまとめてＲＧＢ画像とも称する。また、以下、モザイク画像の画素位置pにおける画素値をM(p)とする。さらに、以下、デモザイク処理が施された画像データの画素位置pにおける画素値を［R(p), G(p), B(p)］とする。なお、R(p)はＲ成分の画素値であり、G(p)はＧ成分の画素値であり、B(p)はＢ成分の画素値である。
【００７５】
ホワイトバランス部１４２は、ＲＧＢ画像の各画素値に適切な係数をかけることにより、被写体の無彩色の部分の色バランスが実際に無彩色となるように、ＲＧＢ画像のホワイトバランスを調整する。ホワイトバランス部１４２は、ホワイトバランスを調整したＲＧＢ画像を階調変換部１４３に供給する。なお、以下、ホワイトバランスが調整された画像データの画素位置pにおける画素値を［Rw(p), Gw(p), Bw(p)］とする。なお、Rw(p)はＲ成分の画素値であり、Gw(p)はＧ成分の画素値であり、Bw(p)はＢ成分の画素値である。
【００７６】
階調変換部１４３は、図２２および図２３などを参照して後述するように、ホワイトバランスが調整されたＲＧＢ画像に、階調変換処理を施す。階調変換部１４３は、階調変換を施したＲＧＢ画像をガンマ補正部１４４に供給する。なお、以下、階調変換処理が施された画像データの画素位置pにおける画素値を［Ru(p), Gu(p), Bu(p)］とする。なお、Ru(p)はＲ成分の画素値であり、Gu(p)はＧ成分の画素値であり、Bu(p)はＢ成分の画素値である。
【００７７】
ガンマ補正部１４４は、階調変換が施されたＲＧＢ画像にガンマ補正を施す。ガンマ補正部１４４は、ガンマ補正を施したＲＧＢ画像をYC変換部１４５に供給する。なお、以下、ガンマ補正が施された画像データの画素位置pにおける画素値を［Ruγ(p), Guγ(p), Buγ(p)］とする。なお、Ruγ(p)はＲ成分の画素値であり、Guγ(p)はＧ成分の画素値であり、Buγ(p)はＢ成分の画素値である。
【００７８】
YC変換部１４５は、ガンマ補正が施されたＲＧＢ画像に対して、YCマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、輝度成分（Y成分）により構成されるY画像、および、色差成分（CbまたはCr成分）により構成されるＣ画像を生成する。YC変換部１４５は、生成したY画像およびC画像を、必要に応じて、LCDドライバ１１８またはCODEC１２０に供給する。なお、以下、YC変換部１４５から出力される画像データの画素位置pにおける画素値を［Y(p), C(p)］とする。なお、Y(p)はＹ画像における輝度成分の値であり、C(p)はC画像における色差成分の値である。
【００７９】
図７は、階調変換部１４３の機能の構成の例を示すブロック図である。階調変換部１４３は、大局情報算出部１５１、輝度値画素処理部１５２、および、ＲＧＢ値画素処理部１５３を含むように構成される。
【００８０】
大局情報算出部１５１は、ＲＧＢ画像の輝度値からなる画像を縮小した縮小画像を生成するとともに、ＲＧＢ画像の輝度値の階調を適切に圧縮するためのトーンカーブ、および、ＲＧＢ画像の輝度値を適切にコントラスト補正するためのコントラストゲインカーブを生成（算出）し、生成した縮小画像、トーンカーブ、および、コントラストゲインカーブを輝度値画素処理部１５２に供給する。
【００８１】
輝度値画素処理部１５２は、大局情報算出部１５１により生成された縮小画像、トーンカーブ、および、コントラストゲインカーブを用いて、ＲＧＢ画像の各画素の輝度値に対して階調変換およびコントラスト補正を施し、その結果得られた輝度値をＲＧＢ値画素処理部１５３に供給する。
【００８２】
ＲＧＢ値画素処理部１５３は、輝度値画素処理部１５２により算出された輝度値を用いて、ＲＧＢ画像の各画素のＲＧＢ値の補正を行う。
【００８３】
大局情報算出部１５１は、輝度算出部１６１、非線形変換部１６２Ｌ、トーンカーブ算出部１６３、トーンカーブメモリ１６４、コントラストゲインカーブ算出部１６５、コントラストゲインカーブメモリ１６６、縮小画像生成部１６７、および、縮小画像メモリ１６８を含むように構成される。
【００８４】
輝度算出部１６１は、図２２を参照して後述するように、ホワイトバランスが調整されたＲＧＢ画像の画素値Rw(p)，Gw(p)，Bw(p)から、その画素位置に対応する輝度成分の値（輝度値L(p)）を算出する。輝度算出部１６１は、算出した輝度値L(p)を非線形変換部１６２Ｌに出力する。
【００８５】
非線形変換部１６２Ｌは、図２２を参照して後述するように、輝度値L(p)を非線形変換する。非線形変換部１６２Ｌは、非線形変換することにより算出した輝度値L(nl)(p)を、トーンカーブ算出部１６３、縮小画像生成部１６７、補間部１７１、マッピング部１７２−１、および、階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【００８６】
トーンカーブ算出部１６３は、図３０を参照して後述するように、非線形変換された輝度値L(nl)(p)、および、後述する大局輝度値Ll(nl)(p)の階調を圧縮するために適用するトーンカーブを算出する。トーンカーブ算出部１６３は、算出したトーンカーブを表すルックアップテーブル（輝度値の変換対応表）をトーンカーブメモリ１６４に記憶させる。また、トーンカーブ算出部１６３は、図３０を参照して後述するように、トーンカーブの傾きの代表値であるγ_compパラメータを算出する。トーンカーブ算出部１６３は、γ_compパラメータをコントラストゲインカーブ算出部１６５に供給する。
【００８７】
コントラストゲインカーブ算出部１６５は、図３２を参照して後述するように、コントラストゲインカーブを生成する。コントラストゲインカーブ算出部１６５は、生成したコントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６に記憶させる。
【００８８】
縮小画像生成部１６７は、図３５を参照して後述するように、輝度値L(nl)(p)からなる画像を縮小した縮小画像を生成する。具体的には、縮小画像生成部１６７は、輝度値L(nl)(p)からなる画像を、横wr×縦hr個のブロックに分割し、分割したブロックごとの輝度値L(nl)(p)の平均値を対応するブロックと同様の順番に配列した横wr×縦hr画素の縮小画像を生成する。縮小画像生成部１６７は、生成した縮小画像を縮小画像メモリ１６８に記憶させる。
【００８９】
輝度値画素処理部１５２は、輝度算出部１６１、非線形変換部１６２Ｌ、補間部１７１、マッピング部１７２−１，１７２−２、および、コントラスト補正部１７３を含むように構成される。なお、輝度算出部１６１および非線形変換部１６２Ｌは、大局情報算出部１５１および輝度値画素処理部１５２の両方に含まれる。
【００９０】
補間部１７１は、図２６を参照して後述するように、縮小画像を３次補間により元の画像と同じ画素数になるように拡大した画像を構成する大局輝度値Ll(nl)(p)を算出する。補間部１７１は、算出した大局輝度値Ll(nl)(p)をマッピング部１７２−２に出力する。なお、以下、大局輝度値Ll(nl)(p)からなる画像を大局輝度画像と称する。
【００９１】
マッピング部１７２−１は、トーンカーブを表すルックアップテーブルをトーンカーブメモリ１６４から読み込む。マッピング部１７２−１は、読み出したルックアップテーブル、すなわち、トーンカーブに基づいて、輝度値L(nl)(p)の階調を圧縮する。マッピング部１７２−１は、階調を圧縮した輝度値Lc(nl)(p)をコントラスト補正部１７３に出力する。
【００９２】
マッピング部１７２−２は、トーンカーブを表すルックアップテーブルをトーンカーブメモリ１６４から読み込む。マッピング部１７２−１は、読み出したルックアップテーブル、すなわち、トーンカーブに基づいて、大局輝度値Ll(nl)(p)の階調を圧縮する。マッピング部１７２−２は、階調を圧縮した大局輝度値Lcl(nl)(p)をコントラスト補正部１７３に出力する。
【００９３】
コントラスト補正部１７３は、コントラストゲインカーブを表わすルックアップテーブルをコントラストゲインカーブメモリ１６６から読み出す。コントラスト補正部１７３は、図２８を参照して後述するように、読み出したルックアップテーブル、すなわち、コントラストゲインカーブ、および、トーンカーブにより階調が圧縮された大局輝度値Lcl(nl)(p)に基づいて、トーンカーブにより階調が圧縮された輝度値Lc(nl)(p)からなる画像のコントラストを補正する。コントラスト補正部１７３は、コントラストを補正した輝度値Lu(nl)(p)を階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【００９４】
ＲＧＢ値画像処理部１５３は、非線形変換部１６２Ｒ乃至１６２Ｂ、階調補正部１８１Ｒ乃至１８１Ｂ、および、非線形逆変換部１８２Ｒ乃至１８２Ｂを含むように構成される。
【００９５】
非線形変換部１６２Ｒ乃至１６２Ｂは、図２２を参照して後述するように、それぞれ、ホワイトバランスが調整されたＲＧＢ画像の画素値Rw(p)，Gw(p)，Bw(p)を非線形変換する。非線形変換部１６２Ｒ乃至１６２Ｂは、それぞれ、非線形変換することにより算出した画素値R(nl)(p)，G(nl)(p)またはB(nl)(p)を、階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【００９６】
なお、以下、非線形変換部１６２Ｌ乃至１６２Ｂを個々に区別する必要がない場合、単に、非線形変換部１６２と称する。
【００９７】
階調補正部１８１Ｒ乃至１８１Ｂは、図２３を参照して後述するように、それぞれ、非線形変換された画素値R(nl)(p)，G(nl)(p)、または、B(nl)(p)の階調を補正（変換）する。階調補正部１８１Ｒ乃至１８１Ｂは、それぞれ、階調補正した画素値Ru(nl)(p)，Gu(nl)(p)、または、Bu(nl)(p)を、非線形逆変換部１８２Ｒ乃至１８２Ｂに出力する。
【００９８】
なお、以下、階調補正部１８１Ｒ乃至１８１Ｂを個々に区別する必要がない場合、単に、階調補正部１８１と称する。
【００９９】
非線形逆変換部１８２Ｒ乃至１８２Ｂは、それぞれ、階調補正された画素値Ru(nl)(p)，Gu(nl)(p)、または、Bu(nl)(p)に、非線形変換部１６２Ｒ乃至１６２Ｂによる非線形変換の逆変換となる非線形逆変換を施す。非線形逆変換部１８２Ｒ乃至１８２Ｂは、それぞれ、非線形逆変換した画素値Ru(p)，Gu(p)、または、Bu(p)を、ガンマ補正部１４４に出力する。
【０１００】
なお、以下、非線形逆変換部１８２Ｒ乃至１８２Ｂを個々に区別する必要がない場合、単に、非線形逆変換部１８２と称する。
【０１０１】
図８は、図７の非線形変換部１６２の機能の構成の例を示すブロック図である。非線形変換部１６２は、マッピング部２０１および変換曲線メモリ２０２を含むように構成される。
【０１０２】
マッピング部２０１は、変換曲線メモリ２０２に記憶されている変換曲線を表すルックアップテーブルに基づいて、外部から入力される画素値または輝度値を非線形変換する。マッピング部２０１は、非線形変換した画素値または輝度値を外部に出力する。
【０１０３】
図９は、図７のトーンカーブ算出部１６３の機能の構成の例を示すブロック図である。トーンカーブ算出部１６３は、輝度域算出部２２１、平均レベル算出部２２２、時間平滑化部２２３、および、スプライン発生部２２４を含むように構成される。また、時間平滑化部２２３は、時間平滑化部２２３−１乃至２２３−３の３つの時間平滑化部を含む。
【０１０４】
輝度域算出部２２１は、輝度値L(nl)(p)を、非線形変換部１６２Ｌから取得する。また、輝度域算出部２２１は、輝度値のノイズレベルを示すnoiseLevel(nl)、および、輝度値の飽和レベルを示すsaturationLevel(nl)を、DSP１１６の図示せぬ内部のメモリから読み込む。輝度域算出部２２１は、図３０を参照して後述するように、輝度値L(nl)(p)の分布において、全体の画素数に占める所定の境界値以下の輝度の画素数の比率がほぼ所定の値（例えば、0.5%）となる境界値である裾野値Ldark(nl)、および、全体の画素数に占める所定の境界値以上の輝度の画素数の比率がほぼ所定の値（例えば、0.5%）となる境界値である裾野値Lbright(nl)を算出する。輝度域算出部２２１は、裾野値Ldark(nl)を時間平滑化部２２３−１に出力し、裾野値Lbright(nl)を時間平滑化部２２３−２に出力する。
【０１０５】
平均レベル算出部２２２は、輝度値L(nl)(p)を、非線形変換部１６２Ｌから取得する。平均レベル算出部２２２は、noiseLevel(nl)およびsaturationLevel(nl)を、DSP１１６の図示せぬ内部のメモリから読み込む。平均レベル算出部２２２は、図３０を参照して後述するように、輝度値L(nl)(p)の平均レベルLaverage(nl)を算出する。平均レベル算出部２２２は、平均レベルLaverage(nl)を時間平滑化部２２３−３に出力する。
【０１０６】
時間平滑化部２２３−１乃至２２３−３は、例えば、IIR（Infinite Impulse Response）フィルタにより構成される。時間平滑化部２２３−１は、裾野値Ldark(nl)を時間平滑化し、時間平滑化した裾野値Ldark-ts(nl)をスプライン発生部２２４に出力する。時間平滑化部２２３−２は、裾野値Lbright(nl)を時間平滑化し、時間平滑化した裾野値Lbright-ts(nl)をスプライン発生部２２４に出力する。時間平滑化部２２３−３は、裾野値Laverage(nl)を時間平滑化し、時間平滑化した裾野値Laverage-ts(nl)をスプライン発生部２２４に出力する。
【０１０７】
なお、以下、時間平滑化部２２３−１乃至２２３−３を個々に区別する必要がない場合、単に、時間平滑化部２２３と称する。
【０１０８】
スプライン発生部２２４は、図３０を参照して後述するように、裾野値Ldark-ts(nl)、裾野値Lbright-ts(nl)、および、裾野値Laverage-ts(nl)に基づいて、トーンカーブを生成（算出）する。スプライン発生部２２４は、生成したトーンカーブを表すルックアップテーブルをトーンカーブメモリ１６４に記憶させる。また、スプライン発生部２２４は、図３０を参照して後述するように、γ_compパラメータを算出する。スプライン発生部２２４は、γ_compパラメータをコントラストゲインカーブ算出部１６５に出力する。
【０１０９】
図１０は、図９の輝度域算出部２２１の機能の構成の例を示す図である。輝度域算出部２２１は、間引き部２４１、飽和画素除外部２４２、ソーティング部２４３、および、ソーティング部２４４を含むように構成される。
【０１１０】
間引き部２４１は、非線形変換部１６２Ｌから入力される輝度値L(nl)(p)の画素位置ｐが、所定の間隔ごとに設けられているサンプリング位置に合致するか否かを判定し、サンプリング位置に合致すると判定した場合、輝度値L(nl)(p)を飽和画素除外部２４２に出力する。
【０１１１】
飽和画素除外部２４２は、noiseLevel(nl)およびsaturationLevel(nl)を、DSP１１６の図示せぬ内部のメモリから読み込む。飽和画素除外部２４２は、間引き部２４１から入力される輝度値L(nl)(p)が、所定のnoiseLevel(nl)以上かつsaturationLevel(nl)以下であると判定した場合、ソーティング部２４３および２４４に輝度値L(nl)(p)を出力する。
【０１１２】
ソーティング部２４３は、比較部２５１−１乃至２５１−ｋ、および、各比較部に対応するレジスタ２５２−１乃至２５２−ｋを含むように構成される。なお、以下、比較部２５１−１乃至２５１−ｋを個々に区別する必要がない場合、単に、比較部２５１と称し、レジスタ２５２−１乃至２５２−ｋを個々に区別する必要がない場合、単に、レジスタ２５２と称する。
【０１１３】
比較部２５１−１は、飽和画素除外部２４２から入力される輝度値L(nl)(p)とレジスタ２５２−１の値を比較する。輝度値L(nl)(p)がレジスタ２５２−１の値より小さい場合、比較部２５１−１は、現在のレジスタ２５２−１の値を後段の比較部２５１に出力し、輝度値L(nl)(p)をレジスタ２５２−１に記憶させる。レジスタ２５２−１の値を輝度値L(nl)(p)がレジスタ２５２の値以上である場合、比較部２５１−１は、輝度値L(nl)(p)をそのまま後段の比較部２５１−２に出力する。
【０１１４】
比較部２５１−２は、前段の比較部２５１−１から入力された値とレジスタ２５２−２との値を比較する。比較部２５１−１から入力された値がレジスタ２５２−２の値より小さい場合、比較部２５１−２は、レジスタ２５２−２の値を後段の比較部２５１−３に出力し、比較部２５１−１から入力された値をレジスタ２５２−２に記憶させる。比較部２５１−１から入力された値がレジスタ２５２−２の値以上である場合、比較部２５１−２は、比較部２５１−１から入力された値をそのまま後段の比較部２５１−３に出力する。比較部２５１−３乃至２５１−ｋも、比較部２５１−２と同様の処理を行う。その結果、入力された輝度値L(nl)(p)のうち、最小値からｋ番目に小さい値までが、レジスタ２５２−１乃至２５２−ｋに昇順に記憶される。
【０１１５】
ソーティング部２４３は、１フレーム分の画像の輝度値L(nl)(p)のソート後に、レジスタ２５２−ｋに記憶されている値を裾野値Ldark(nl)として、時間平滑化部２２３−１に出力する。
【０１１６】
ソーティング部２４４は、比較部２６１−１乃至２６１−ｋ、および、各比較部に対応するレジスタ２６２−１乃至２６２−ｋを含むように構成される。なお、以下、比較部２６１−１乃至２６１−ｋを個々に区別する必要がない場合、単に、比較部２６１と称し、レジスタ２６２−１乃至２６２−ｋを個々に区別する必要がない場合、単に、レジスタ２６２と称する。
【０１１７】
比較部２６１−１は、飽和画素除外部２４２から入力される輝度値L(nl)(p)とレジスタ２６２−１の値を比較する。輝度値L(nl)(p)がレジスタ２６２−１の値より大きい場合、比較部２６１−１は、現在のレジスタ２６２−１の値を後段の比較部２６１に出力し、輝度値L(nl)(p)をレジスタ２６２−１に記憶させる。レジスタ２６２−１の値を輝度値L(nl)(p)がレジスタ２６２の値以下である場合、比較部２６１−１は、輝度値L(nl)(p)をそのまま後段の比較部２６１−２に出力する。
【０１１８】
比較部２６１−２は、前段の比較部２６１−１から入力された値とレジスタ２６２−２との値を比較する。比較部２６１−１から入力された値がレジスタ２６２−２の値より大きい場合、比較部２６１−２は、レジスタ２６２−２の値を後段の比較部２６１−３に出力し、比較部２６１−１から入力された値をレジスタ２６２−２に記憶させる。比較部２６１−１から入力された値がレジスタ２６２−２の値以下である場合、比較部２６１−２は、比較部２６１−１から入力された値をそのまま後段の比較部２６１−３に出力する。比較部２６１−３乃至２６１−ｋも、比較部２６１−２と同様の処理を行う。その結果、入力された輝度値L(nl)(p)のうち、最大値からｋ番目に大きい値までが、レジスタ２６２−１乃至２６２−ｋに降順に記憶される。
【０１１９】
ソーティング部２４４は、１フレーム分の画素の輝度値L(nl)(p)のソート後に、レジスタ２６１−ｋに記憶されている値を裾野値Lbright(nl)として、時間平滑化部２２３−２に出力する。
【０１２０】
図１１は、図９の平均レベル算出部２２２の機能の構成の例を示すブロック図である。平均レベル算出部２２２は、飽和画素除外部２８１および平均値算出部２８２を含むように構成される。
【０１２１】
飽和画素除外部２８１は、noiseLevel(nl)およびsaturationLevel(nl)を、DSP１１６の図示せぬ内部のメモリから読み込む。飽和画素除外部２８１は、非線形変換部１６２Ｌから入力される輝度値L(nl)(p)が、所定のnoiseLevel(nl)以上かつsaturationLevel(nl)以下であると判定した場合、平均値算出部２８２の加算部２９１およびカウンタ２９３に輝度値L(nl)(p)を出力する。
【０１２２】
平均値算出部２８２は、加算部２９１、レジスタ２９２、カウンタ２９３、および、除算部２９４を含むように構成される。
【０１２３】
加算部２９１は、飽和画素除外部２８１から入力される輝度値L(nl)(p)を、レジスタ２９２に記憶されている値に加算して、レジスタ２９２に記憶させる。すなわち、レジスタ２９２には、輝度値L(nl)(p)の合計値である輝度合計値が記憶される。
【０１２４】
カウンタ２９３は、飽和画素除外部２８１から輝度値L(nl)(p)が入力される毎に、カウンタの値を１つインクリメントし、レジスタ２９２に記憶されている輝度合計値に加算された輝度値L(nl)(p)の数（画素数）をカウントする。
【０１２５】
除算部２９４は、１フレーム分の画素の輝度値L(nl)(p)が加算された後に、レジスタ２９２の値を、カウンタ２９３のカウンタ値で割ることにより、輝度値L(nl)(p)の平均レベルLaverage(nl)を算出する。除算部２９４は、時間平滑化部２２３−３に平均レベルLaverage(nl)を出力する。
【０１２６】
図１２は、図９の時間平滑化部２２３の機能の構成の例を示すブロック図である。時間平滑化部２２３は、乗算部３１１、乗算部３１２、加算部３１３、および、レジスタ３１４を含むように構成される。
【０１２７】
乗算部３１１は、所定の平滑化係数sc1を、DSP１１６の図示せぬ内部のメモリから読み込む。乗算部３１１は、外部から入力される値（例えば、裾野値Ldark(nl)、裾野値Lbright(nl)、または、平均レベルLaverage(nl)）に平滑化係数sc1を乗じた値を加算部３１３に出力する。
【０１２８】
乗算部３１１は、所定の平滑化係数sc2を、DSP１１６の図示せぬ内部のメモリから読み込む。乗算部３１１は、レジスタ３１４に記憶されている値（例えば、１つ前のフレームに対応する時間平滑化された裾野値Ldark-ts-pre(nl)、裾野値Lbright-ts-pre (nl)、または、平均レベルLaverage-ts-pre (nl)）に平滑化係数sc2を乗じた値を加算部３１３に出力する。
【０１２９】
加算部３１３は、乗算部３１１および３１２から入力される値を加算した値（例えば、時間平滑化した裾野値Ldark-ts(nl)、裾野値Lbright-ts(nl)、または、平均レベルLaverage-ts(nl)）を外部に出力するとともに、レジスタ３１４に記憶させる。
【０１３０】
図１３は、図９のスプライン発生部２２４の機能の構成の例を示すブロック図である。スプライン発生部２２４は、コントロールポイント設定部３３１、曲線描画部３３２、および、γ算出部３３３を含むように構成される。
【０１３１】
コントロールポイント設定部３３１は、時間平滑化部２２３−１から裾野値Ldark-ts(nl)を取得し、時間平滑化部２２３−２から裾野値Lbright-ts(nl)を取得し、時間平滑化部２２３−３から平均レベルLaverage-ts(nl)を取得する。コントロールポイント設定部３３１は、図３０を参照して後述するように、トーンカーブを生成（算出）するためのコントロールポイントを設定し、設定したコントロールポイントの位置を示すコントロールポイントセットを曲線描画部３３２およびγ算出部３３３に出力する。
【０１３２】
曲線描画部３３２は、図３０を参照して後述するように、コントロールポイント設定部３３１により設定されたコントロールポイントに基づいて、トーンカーブを描画（生成）する。曲線描画部３３２は、生成したトーンカーブを表すルックアップテーブルをトーンカーブメモリ１６４に記憶させる。
【０１３３】
γ算出部３３３は、図３０を参照して後述するように、γ_compパラメータを算出する。γ算出部３３３は、γ_compパラメータをコントラストゲインカーブ算出部１６５に出力する。
【０１３４】
図１４は、図７のコントラストゲインカーブ算出部１６５の機能の構成の例を示す図である。コントラストゲインカーブ算出部１６５は、入出力特性設定部３４１、入出力特性カーブメモリ３４２、および、ゲイン特性算出部３４３を含むように構成される。
【０１３５】
入出力特性設定部３４１は、図３２および図３３を参照して後述するように、コントラスト補正前の輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)の差分値（以下、入力コントラスト成分とも称する）を入力とし、コントラスト補正後の輝度値Lu(nl)(p)と大局輝度値Lcl(nl)(p)の差分値（以下、出力コントラスト成分とも称する）を出力とする入出力特性を表す入出力特性カーブを生成する。入出力特性設定部３４１は、生成した入出力特性カーブを表すルックアップテーブルを入出力特性カーブメモリ３４２に記憶させる。
【０１３６】
ゲイン特性算出部３４３は、入出力特性カーブを表すルックアップテーブルを入出力特性カーブメモリ３４２から読み出す。ゲイン特性算出部３４３は、図３２および図３４を参照して後述するように、入出力特性カーブに基づいて、入力コントラスト成分と、輝度値Lc(nl)(p)をコントラスト補正するときに用いるゲイン値g(p)との関係を表すコントラストゲインカーブを生成する。ゲイン特性算出部３４３は、コントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６に記憶させる。
【０１３７】
図１５は、図７の縮小画像生成部１６７の機能の構成の例を示す図である。縮小画像生成部１６７は、ソート部３５１、および、平均値算出部３５２−１乃至３５２−ｎを含むように構成される。
【０１３８】
ソート部３５１は、輝度値L(nl)(p)からなる画像を横wr×縦hr個のブロックに分割し、非線形変換部１６２Ｌから入力される輝度値L(nl)(p)の画素位置pがどのブロックに含まれるかを判定する。ソート部３５１は、平均値算出部３５２−１乃至３５２−ｎのうち、画素位置ｐが含まれるブロックの輝度値の平均値を算出する平均値算出部に輝度値L(nl)(p)を出力する。
【０１３９】
平均値算出部３５２−１乃至３５２−ｎ（n＝wr×hr）は、図１１の平均値算出部２８２と同様の構成を有しており、各平均値算出部の対象となるブロックに含まれる輝度値L(nl)(p)の平均値を算出する。平均値算出部３５２−１乃至３５２−ｎは、算出したブロックの輝度の平均値を、縮小画像メモリ１６８上に対応するブロックと同様の順番に配置するように格納させる。これにより、縮小画像メモリ１６８上に、ブロックごとの輝度値L(nl)(p)の平均値からなる横wr×縦hr画素の縮小画像が生成される。
【０１４０】
図１６は、補間部１７１の機能の構成の例を示すブロック図である。補間部１７１は、近傍選択部３７１、水平係数算出部３７２、垂直係数算出部３７３、および、積和部３７４を含むように構成される。
【０１４１】
近傍選択部３７１は、非線形変換部１６２Ｌが非線形変換した画素の画素位置pを非線形変換部１６２Ｌから取得する。近傍選択部３７１は、図２６を参照して後述するように、画素位置pに対応する縮小画像上の位置qを算出する。近傍選択部３７１は、位置ｑの近傍の横４×縦４画素の範囲内にある画素である近傍画素を抽出する。近傍選択部３７１は、近傍画素の画素値a[i][j]（1≦i≦4，1≦j≦4、ただし、i，jは自然数）を積和部３７４に出力する。また、近傍選択部３７１は、画素位置ｐと近傍画素の水平方向の位置ずれ量dx、および、垂直方向の位置ずれ量dyを算出する。近傍選択部３７１は、水平方向の位置ずれ量dxを水平係数算出部３７２に出力し、垂直方向の位置ずれ量dyを垂直係数算出部３７３に出力する。
【０１４２】
水平係数算出部３７２は、図２６を参照して後述するように、水平方向の位置ずれ量dxに基づいて、水平方向の３次補間係数kx[i]（1≦i≦4，ただし、iは自然数）を算出する。水平係数算出部３７２は、補間係数kx[i]を積和部３７４に出力する。
【０１４３】
垂直係数算出部３７３は、図２６を参照して後述するように、垂直方向の位置ずれ量dyに基づいて、垂直方向の３次補間係数ky[j]（1≦j≦4，ただし、jは自然数）を算出する。垂直係数算出部３７３は、補間係数ky[j]を積和部３７４に出力する。
【０１４４】
積和部３７４は、図２６を参照して後述するように、近傍画素の画素値a[i][j]、水平方向の補間係数kx[i]、および、垂直方向の補間係数ky[j]を用いて、縮小画像を３次補間することにより元のサイズ（画素数）に拡大した大局輝度画像の輝度値である大局輝度値Ll(nl)(p)を算出する。積和部３７４は、大局輝度値Ll(nl)(p)をマッピング部１７２−２に出力する。
【０１４５】
図１７は、図７のコントラスト補正部１７３の機能の構成の例を示すブロック図である。コントラスト補正部１７３は、ゲイン値算出部３９１、および、コントラスト強調部３９２を含むように構成される。
【０１４６】
ゲイン値算出部３９１は、マッピング部１７２−１から輝度値Lc(nl)(p)を取得し、マッピング部１７２−２から大局輝度値Lcl(nl)(p)を取得する。また、ゲイン値算出部３９１は、コントラストゲインカーブを表わすルックアップテーブルをコントラストゲインカーブメモリ１６６から読み出す。ゲイン値算出部３９１は、図２９を参照して後述するように、輝度値Lc(nl)(p)、大局輝度値Lcl(nl)(p)、および、コントラストゲインカーブに基づいて、輝度値Lc(nl)(p)をコントラスト補正するときに用いるゲイン値g(p)を算出する。ゲイン値算出部３９１は、算出したゲイン値g(p)をコントラスト強調部３９２に出力する。
【０１４７】
コントラスト強調部３９２は、マッピング部１７２−１から輝度値Lc(nl)(p)を取得し、マッピング部１７２−２から大局輝度値Lcl(nl)(p)を取得する。コントラスト強調部３９２は、図２８を参照して後述するように、階調を圧縮することにより抑制された輝度値Lc(nl)(p)からなる画像のコントラストを強調するようにコントラストの補正を行う。コントラスト強調部３９２は、コントラスト補正した輝度値Lu(nl)(p)を、階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【０１４８】
図１８は、図１７のゲイン値算出部３９１の機能の構成の例を示すブロック図である。ゲイン値算出部３９１は、減算部４１１−１，４１１−２、マッピング部４１２−１，４１２−２、減算部４１３、および、選択部４１４を含むように構成される。
【０１４９】
減算部４１１−１は、階調が圧縮された輝度値Lc(nl)(p)と、輝度値Lc(nl)(p)が取り得る範囲のほぼ中間にあたる所定の中間輝度レベルLmid(nl)との差分を算出し、算出した差分値をマッピング部４１２−１に供給する。
【０１５０】
減算部４１１−２は、階調が圧縮された輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)との差分を算出し、算出した差分値をマッピング部４１２−２に供給する。
【０１５１】
マッピング部４１２−１は、コントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６から読み込む。マッピング部４１２−１は、読み込んだルックアップテーブルに基づいて、輝度値Lc(nl)(p)と中間輝度レベルLmid(nl)の差分値に対応するゲイン値g(p)を求め、減算部４１３および選択部４１４に供給する。
【０１５２】
マッピング部４１２−２は、コントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６から読み込む。マッピング部４１２−２は、読み込んだルックアップテーブルに基づいて、輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)の差分値に対応するゲイン値g(p)を求め、減算部４１３および選択部４１４に供給する。
【０１５３】
減算部４１３は、マッピング部４１２−１からのゲイン値g(p)とマッピング部４１２−２からのゲイン値g(p)の差分を算出し、算出した差分値を選択部４１４に供給する。
【０１５４】
選択部４１４は、取得した差分値の符号に基づいて、マッピング部４１２−１からのゲイン値g(p)とマッピング部４１２−２からのゲイン値g(p)のうち小さい方を選択して、コントラスト強調部３９２に供給する。
【０１５５】
図１９は、図７の階調補正部１８１の機能の構成の例を示すブロック図である。階調補正部１８１は、減算部４３１、乗算部４３２、および、加算部４３３を含むように構成される。
【０１５６】
減算部４３１は、非線形変換された画素値R(nl)(p)、G(nl)(p)、または、B(nl)(p)から非線形変換された階調補正前の輝度値L(nl)(p)を引いた差分値を算出し、算出した差分値を乗算部４３２に供給する。
【０１５７】
乗算部４３２は、減算部４３１により算出された差分値に、Ｒ、Ｇ，Ｂの各成分の彩度を調節するための所定の値の係数であるchromaGainを乗じ、その結果得られた乗算値を加算部４３３に供給する。
【０１５８】
加算部４３３は、乗算部４３２により算出された乗算値とコントラスト補正後の輝度値Lu(nl)(p)とを加算することにより、非線形変換された画素値R(nl)(p)、G(nl)(p)、または、B(nl)(p)にコントラスト補正後の輝度値Lu(nl)(p)を反映した画素値Ru(nl)(p)，Gu(nl)(p)、または、Bu(nl)(p)を求め、非線形逆変換部１８２Ｒ乃至１８２Ｂに出力する。
【０１５９】
図２０は、非線形逆変換部１８２の機能の構成の例を示すブロック図である。非線形逆変換部１８２は、逆マッピング部４５１、および、変換曲線メモリ４５２を含むように構成される。
【０１６０】
逆マッピング部４５１は、変換曲線メモリ４５２に記憶されている変換曲線を表すルックアップテーブルに基づいて、外部から入力される画素値に、非線形変換部１６２による非線形変換の逆変換となる非線形変換逆変換を施す。逆マッピング部４５１は、非線形逆変換した画素値を外部に出力する。
【０１６１】
次に、図２１のフローチャートを参照して、DSP１１６により実行される画像処理を説明する。なお、この処理は、例えば、デジタルビデオカメラ１０１による撮影が開始され、A/Dコンバータ１１５からDSP１１６への画像データ（モザイク画像）のストリームの供給が開始されたとき、開始される。なお、DSP１１６に供給された画像データは、逐次DSP１１６の図示せぬ内部のメモリに格納される。
【０１６２】
ステップＳ１において、デモザイク部１４１は、モザイク画像を読み込む。具体的には、デモザイク部１４１は、DSP１１６の図示せぬ内部のメモリに格納されている先頭のフレームのモザイク画像を読み込む。
【０１６３】
ステップＳ２において、デモザイク部１４１は、デモザイク処理を行う。具体的には、デモザイク部１４１は、読み込んだモザイク画像にデモザイク処理を施し、ＲＧＢ画像を生成する。デモザイク部１４１は、生成したＲＧＢ画像をホワイトバランス部１４２に供給する。
【０１６４】
ステップＳ３において、ホワイトバランス部１４２は、取得したＲＧＢ画像のホワイトバランスを調整する。ホワイトバランス部１４２は、ホワイトバランスを調整したＲＧＢ画像を階調変換部１４３に供給する。
【０１６５】
ステップＳ４において、階調変換部１４３は、階調変換処理を行う。階調変換処理の詳細は図２２および図２３を参照して後述するが、この処理により、ＲＧＢ画像の階調が変換され、階調が変換されたＲＧＢ画像がガンマ補正部１４４に供給される。
【０１６６】
ステップＳ５において、ガンマ補正部１４４は、ＲＧＢ画像にガンマ補正を施す。ガンマ補正部１４４は、ガンマ補正を施したＲＧＢ画像をYC変換部１４５に供給する。
【０１６７】
ステップＳ６において、YC変換部１４５は、YC変換処理を行う。具体的には、YCマトリックス処理およびクロマ成分に対する帯域制限を行うことにより、ＲＧＢ画像からY画像およびＣ画像を生成する。
【０１６８】
ステップＳ７において、YC変換部１４５は、Y画像およびC画像を出力する。具体的には、YC変換部１４５は、必要に応じて、Y画像およびＣ画像を、LCDドライバ１１８またはCODEC１２０に出力する。
【０１６９】
ステップＳ８において、デモザイク部１４１は、後続するフレームが存在するか否かを判定する。デモザイク部１４１は、DSP１１６の図示せぬ内部のメモリに後続するフレームのモザイク画像が蓄積されている場合、後続フレームが存在すると判定し、処理はステップＳ１に戻る。
【０１７０】
ステップＳ１において、次のフレームのモザイク画像が読み込まれ、読み込まれたモザイク画像に対して、ステップＳ２以降の処理が行われる。
【０１７１】
その後、ステップＳ８において、後続するフレームが存在しないと判定されるまで、ステップＳ１乃至Ｓ８の処理が繰返し実行され、A/Dコンバータ１１５から供給されるモザイク画像に対して１フレームずつ順番に画像処理が行われる。
【０１７２】
ステップＳ８において、後続するフレームがないと判定された場合、画像処理は終了する。
【０１７３】
次に、図２２および図２３のフローチャートを参照して、図２１のステップＳ４の階調変換処理の詳細を説明する。
【０１７４】
ステップＳ２１において、階調変換部１４３は、トーンカーブ、縮小画像、コントラストゲインカーブをメモリから読み込む。具体的には、階調変換部１４３の補間部１７１の近傍選択部３７１（図１６）は、１つ前のフレームの階調変換処理において生成された縮小画像を縮小画像メモリ１６８から読み込む。マッピング部１７２−１，１７２−２は、１つ前のフレームの階調変換処理において算出されたトーンカーブを表すルックアップテーブルをトーンカーブメモリ１６４から読み込む。コントラスト補正部１７３のゲイン値算出部３９１のマッピング部４１２−１，４１２−２（図１８）は、１つ前のフレームの階調変換処理において算出されたコントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６から読み込む。
【０１７５】
ステップＳ２２において、トーンカーブ算出部１６３は、noiseLevel、saturationLevelを読み込む。具体的には、トーンカーブ算出部１６３の輝度域算出部２２１の飽和画素除外部２４２（図１０）、および、平均レベル算出部２２２の飽和画素除外部２８１（図１１）は、noiseLevel(nl)およびsaturationLevel(nl)を、DSP１１６の図示せぬ内部のメモリから読み込む。
【０１７６】
ステップＳ２３において、階調変換部１４３は、次に階調変換する画素のＲＧＢ値を読み込む。具体的には、階調変換部１４３の輝度算出部１６１および非線形変換部１６２Ｒ乃至１６２Ｂは、次に階調変換する画素位置ｐの画素値Rw(p)，Gw(p)およびBw(p)をDSP１１６の図示せぬ内部のメモリから読み込む。
【０１７７】
ステップＳ２４において、輝度算出部１６１は、輝度値を算出する。具体的には、輝度算出部１６１は、画素位置ｐに対応する輝度値L(p)を、例えば、以下の式（８）により算出する。
【０１７８】
【数６】
2008263475.tif 000008
【０１７９】
なお、式（８）の係数cR，cg，cbは、Ｒ，Ｇ，Ｂの各成分のバランスをとるための係数であり、例えば、（cR，cg，cb）＝（0.3, 0.6, 0.1）または（0.25, 0.5, 0.25）のような値の組み合わせとされる。
【０１８０】
また、輝度値L(p)を算出する方法は、上述した方法に限定されるものではなく、例えば、以下の式（９）のように、Ｒ，Ｇ，Ｂの各成分の線形和以外の値とするようにしてもよい。
【０１８１】
L(p)＝max(Rw(p)，Gw(p)，Bw(p))  ・・・（９）
【０１８２】
輝度算出部１６１は、算出した輝度値L(p)を非線形変換部１６２Ｌに出力する。
【０１８３】
ステップＳ２５において、非線形変換部１６２Ｌは、輝度値を非線形変換する。具体的には、非線形変換部１６２Ｌのマッピング部２０１（図８）は、変換曲線を表すルックアップテーブルを変換曲線メモリ２０２から読み込み、ルックアップテーブルに基づいて、輝度値L(p)を非線形変換（例えば、対数変換またはガンマ変換）する。
【０１８４】
なお、ステップＳ２５の非線形変換の処理は必ずしも行う必要はないが、非線形変換前の輝度値を横軸に変換後の輝度値を縦軸とする場合に、上に凸の形状で単調増加する変換曲線を用いて非線形変換を行うことにより、輝度値のヒストグラムの形状が暗輝度側または明輝度側に極端に偏ることが防止され、ヒストグラムを解析しやすくすることができる。例えば、非線形変換に用いられる変換曲線は、例えば、ガンマ補正によく用いられるべき乗曲線（ただし、指数は１より小さい値とされる）、対数曲線、または、べき乗関数もしくは対数に基づいた関数により表される曲線とされる。
【０１８５】
マッピング部２０１は、非線形変換した輝度値L(nl)(p)を、トーンカーブ算出部１６３、縮小画像生成部１６７、マッピング部１７２−１、および、階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【０１８６】
ステップＳ２６において、トーンカーブ算出部１６３は、トーンカーブ算出のための画素処理を行う。トーンカーブ算出のための画素処理の詳細は、図２４を参照して後述するが、この処理により、トーンカーブを算出するために輝度値L(nl)(p)のソートおよび画像全体の輝度合計値の算出が行われる。
【０１８７】
ステップＳ２７において、縮小画像生成部１６７は、縮小画像生成のための画素処理を行う。縮小画像生成のための画素処理の詳細は、図２５を算出して後述するが、この処理により、縮小画像を生成するために、各ブロックごとの輝度値L(nl)(p)の輝度合計値の計算が行われる。
【０１８８】
ステップＳ２８において、補間部１７１は、大局輝度値算出処理を行う。大局輝度値算出処理の詳細は、図２６を参照して後述するが、この処理により、画素位置ｐに対応する大局輝度値Ll(nl)(p)が算出される。
【０１８９】
ステップＳ２９において、階調変換部１４３は、非線形変換された輝度値および大局輝度値にトーンカーブを適用する。具体的には、階調変換部１４３のマッピング部１７２−１は、１つ前のフレームの階調変換処理において算出されたトーンカーブに基づいて、輝度値L(nl)(p)を輝度値Lc(nl)(p)に変換することにより、輝度値L(nl)(p)の階調を圧縮する。マッピング部１７２−１は、輝度値Lc(nl)(p)をコントラスト補正部１７３に出力する。また、マッピング部１７２−２は、１つ前のフレームの階調変換処理において算出されたトーンカーブに基づいて、大局輝度値Ll(nl)(p)を大局輝度値Lcl(nl)(p)に変換することにより、大局輝度値Ll(nl)(p)の階調を圧縮する。マッピング部１７２−２は、大局輝度値Lcl(nl)(p)をコントラスト補正部１７３に供給する。
【０１９０】
ステップＳ３０において、コントラスト補正部１７３は、コントラスト補正処理を行う。コントラスト補正処理の詳細は、図２８を参照して後述するが、この処理により、輝度値Lc(nl)(p)からなる画像のコントラストが補正される。
【０１９１】
ステップＳ３１において、非線形変換部１６２Ｒ乃至１６２Ｂは、ＲＧＢ値をそれぞれ非線形変換する。具体的には、非線形変換部１６２Ｒ乃至１６２Ｂのマッピング部２０１（図８）は、それぞれ、変換曲線を表すルックアップテーブルを変換曲線メモリ２０２から読み込み、ルックアップテーブルに基づいて、ステップＳ２３において読み込んだ画素値Rw(p)，Gw(p)、または、Bw(p)を非線形変換する。非線形変換部１６２Ｒ乃至１６２Ｂのマッピング部２０１は、それぞれ、非線形変換した画素値R(nl)(p)，G(nl)(p)またはB(nl)(p)を、階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【０１９２】
なお、非線形変換部１６２Ｒ乃至１６２Ｂが用いるルックアップテーブルは、ステップＳ２５において、非線形変換部１６２Ｌが用いたルックアップテーブルと同じものとされる。すなわち、画素値Rw(p)，Gw(p)、および、Bw(p)に輝度値L(p)と同様の非線形変換が施される。
【０１９３】
ステップＳ３２において、階調補正部１８１Ｒ乃至１８１Ｂは、非線形変換されたＲＧＢ値をそれぞれ階調補正する。具体的には、階調補正部１８１Ｒの減算部４３１は、非線形変換された画素値R(nl)(p)から非線形変換された階調補正前の輝度値L(nl)(p)を引いた差分値を算出し、算出した差分値を乗算部４３２に供給する。乗算部４３２は、減算部４３１により算出された差分値に、Ｒ、Ｇ，Ｂの各成分の彩度を調節するための所定の値の係数であるchromaGainを乗じ、その結果得られた乗算値を加算部４３３に供給する。加算部４３３は、乗算部４３２により算出された乗算値とコントラスト補正後の輝度値Lu(nl)(p)とを加算する。すなわち、階調補正部１８１Ｒは、以下の式（１０）により、非線形変換された画素値R(nl)(p)に、コントラスト補正後の輝度値Lu(nl)(p)を反映した画素値Ru(nl)(p)を求める。
【０１９４】
Ru(nl)(p)＝chromagain・(R(nl)(p)−L(nl)(p))＋Lu(nl)(p)  ・・・（１０）
【０１９５】
階調補正部１８１Ｇおよび１８１Ｂも同様に、それぞれ、以下の式（１１）および（１２）により、画素値G(nl)(p)またはB(nl)(p)の階調を補正した画素値Gu(nl)(p)およびBu(nl)(p)を求める。
【０１９６】
Gu(nl)(p)＝chromagain・(G(nl)(p)−L(nl)(p))＋Lu(nl)(p)  ・・・（１１）
Bu(nl)(p)＝chromagain・(B(nl)(p)−L(nl)(p))＋Lu(nl)(p)  ・・・（１２）
【０１９７】
階調補正部１８１Ｒ乃至１８１Ｂは、それぞれ、階調補正した画素値Ru(nl)(p)，Gu(nl)(p)、または、Bu(nl)(p)を、非線形逆変換部１８２Ｒ乃至１８２Ｂに供給する。
【０１９８】
ステップＳ３３において、非線形逆変換部１８２Ｒ乃至１８２Ｂは、階調補正されたＲＧＢ値を非線形逆変換する。具体的には、非線形逆変換部１８２Ｒ乃至１８２Ｂの逆マッピング部４５１（図２０）は、それぞれ、変換曲線を表すルックアップテーブルを変換曲線メモリ４５２から読み込み、ルックアップテーブルに基づいて、画素値Ru(nl)(p)，Gu(nl)(p)、または、Bu(nl)(p)に対して、ステップＳ３１における非線形変換の逆変換となる非線形逆変換を行う。
【０１９９】
ステップＳ３４において、非線形逆変換部１８２Ｒ乃至１８２Ｂは、非線形逆変換されたＲＧＢ値を出力する。具体的には、非線形逆変換部１８２Ｒ乃至１８２Ｂの逆マッピング部４５１は、それぞれ、非線形逆変換した画素値Ru(p)，Gu(p)、または、Bu(p)を、ガンマ補正部１４４に出力する。
【０２００】
ステップＳ３５において、輝度算出部１６１は、フレーム内の全ての画素を処理したか否かを判定する。まだフレーム内の全ての画素を処理していないと判定された場合、処理はステップＳ２３に戻り、ステップＳ３５において、フレーム内の全ての画素を処理したと判定されるまで、ステップＳ２３乃至Ｓ３５の処理が繰返し実行される。すなわち、現在処理しているフレーム内の全ての画素が、１画素ずつ順番に（例えば、ラスタスキャン順に）階調変換される。
【０２０１】
ステップＳ３５において、フレーム内の全ての画素を処理したと判定された場合、処理はステップＳ３６に進む。
【０２０２】
ステップＳ３６において、トーンカーブ算出部１６３は、トーンカーブとγ_comp算出処理を行う。トーンカーブとγ_comp算出処理の詳細は、図３０を参照して後述するが、この処理により、今回階調変換したフレームにおけるトーンカーブとγ_compパラメータが算出される。
【０２０３】
ステップＳ３７において、コントラストゲインカーブ算出部１６５は、コントラストゲインカーブ算出処理を行う。コントラストゲインカーブ算出処理の詳細は、図３２を参照して後述するが、この処理により、今回階調変換したフレームにおけるコントラストゲインカーブが算出される。
【０２０４】
ステップＳ３８において、縮小画像生成部１６７は、縮小画像生成処理を行い、階調変換処理は終了する。縮小画像生成処理の詳細は、図３５を参照して後述するが、この処理により、縮小画像が生成される。
【０２０５】
次に、図２４のフローチャートを参照して、図２２のステップＳ２６のトーンカーブ算出のための画素処理の詳細を説明する。
【０２０６】
ステップＳ５１において、トーンカーブ算出部１６３は、次に処理する画素の輝度値を読み込む。具体的には、トーンカーブ算出部１６３の輝度域算出部２２１の間引き部２４１（図１０）、および、トーンカーブ算出部１６３の平均レベル算出部２２２の飽和画素除外部２８１（図１１）は、上述した図２２のＳ２５において非線形変換された画素位置ｐの画素の輝度値L(nl)(p)を非線形変換部１６２Ｌから読み込む。
【０２０７】
ステップＳ５２において、間引き部２４１は、画素位置がサンプリング位置に合致するか否かを判定する。間引き部２４１は、読み込んだ輝度値L(nl)(p)の画素位置ｐが、所定の間隔ごとに設けられているサンプリング位置に合致すると判定した場合、輝度値L(nl)(p)を飽和画素除外部２４２に出力する。
【０２０８】
ステップＳ５３において、飽和画素除外部２４２は、輝度値がnoiseLevel以上saturationLevel以下であるか否かを判定する。飽和画素除外部２４２は、輝度値L(nl)(p)が、所定のnoiseLevel(nl)以上かつsaturationLevel(nl)以下であると判定した場合、ソーティング部２４３およびソーティング部２４４に輝度値L(nl)(p)を出力し、処理はステップＳ５４に進む。
【０２０９】
ステップＳ５４において、ソーティング部２４３は、暗輝度側ソーティングを行う。具体的には、ソーティング部２４３の比較部２５１−１は、レジスタ２５２−１が記憶している値と輝度値L(nl)(p)を比較して、輝度値L(nl)(p)がレジスタ２５２−１の値より小さい場合、レジスタ２５２−１に記憶されていた値を後段の比較部２５１−２に出力し、輝度値L(nl)(p)をレジスタ２５２−１に記憶させる。一方、輝度値L(nl)(p)がレジスタ２５２−１の値以上である場合、比較部２５１−１は、輝度値L(nl)(p)をそのまま後段の比較部２５１−２に出力する。後段の比較部２５１−２乃至２５１−ｋも同様の処理を行う。その結果、最終的に、フレーム内のサンプリング位置の画素の輝度値L(nl)(p)のうち、最小の輝度値L(nl)(p)からｋ番目に小さい輝度値L(nl)(p)までが、レジスタ２５２−１乃至２５２−ｋに昇順に記憶される。
【０２１０】
ステップＳ５５において、ソーティング部２４３は、明輝度側ソーティングを行う。具体的には、ソーティング部２４４の比較部２６１−１は、レジスタ２６２−１が記憶している値と輝度値L(nl)(p)を比較して、輝度値L(nl)(p)がレジスタ２６２−１の値より大きい場合、レジスタ２６２−１に記憶されていた値を後段の比較部２６１−２に出力し、輝度値L(nl)(p)をレジスタ２６２−１に記憶させる。一方、比較部２６１−１は、輝度値L(nl)(p)がレジスタ２５２−１の値以下である場合、輝度値L(nl)(p)をそのまま後段の比較部２６１−２に出力する。後段の比較部２６１−２乃至２６１−ｋも同様の処理を行う。その結果、最終的に、フレーム内のサンプリング位置の画素の輝度値L(nl)(p)のうち、最大の輝度値L(nl)(p)からｋ番目に大きい輝度値L(nl)(p)までが、レジスタ２６２−１乃至２６２−ｋに降順に記憶される。
【０２１１】
ステップＳ５３において、輝度値L(nl)(p)がnoiseLevel(nl)未満またはsaturationLevel(nl)を超えると判定された場合、ステップＳ５４およびＳ５５の処理はスキップされ、処理はステップＳ５６に進む。すなわち、noiseLevel(nl)未満またはsaturationLevel(nl)を超える輝度値L(nl)(p)は、暗輝度側ソーティングおよび明輝度側ソーティングの対象から除外される。
【０２１２】
ステップＳ５２において、画素位置がサンプリング位置に合致しないと判定された場合、ステップＳ５３乃至Ｓ５５の処理はスキップされ、処理はステップＳ５６に進む。これにより、暗輝度側ソーティングおよび明輝度側ソーティングの対象となる画素数が制限される。
【０２１３】
ステップＳ５６において、平均レベル算出部２２２の飽和画素除外部２８１（図１１）は、ステップＳ５３における輝度域算出部２２１の飽和画素除外部２４２による処理と同様に、輝度値がnoiseLevel以上saturationLevel以下であるか否かを判定する。飽和画素除外部２８１は、輝度値L(nl)(p)が、noiseLevel(nl)以上かつsaturationLevel(nl)以下であると判定した場合、平均値算出部２８２の加算部２９１およびカウンタ２９３に輝度値L(nl)(p)を出力し、処理はステップＳ５７に進む。
【０２１４】
ステップＳ５７において、平均レベル算出部２２２は、輝度合計値を算出し、トーンカーブ算出のための画素処理は終了する。具体的には、加算部２９１は、レジスタ２９２に記憶されているこれまでの輝度値の合計値である輝度合計値を読み込み、入力された輝度値L(nl)(p)を加算する。加算部２９１は、算出した値をレジスタ２９２に記憶させる。また、カウンタ２９３は、カウンタの値を１つインクリメントする。すなわち、カウンタ２９３のカウンタ値は、これまでに輝度合計値に輝度値L(nl)(p)が加算された画素の数を示す。
【０２１５】
ステップＳ５６において、輝度値L(nl)(p)がnoiseLevel(nl)未満またはsaturationLevel(nl)を超えると判定された場合、ステップＳ５７の処理はスキップされ、トーンカーブ算出のための画素処理は終了する。すなわち、noiseLevel(nl)未満またはsaturationLevel(nl)を超える輝度値L(nl)(p)は、輝度平均値を算出する対象から除外される。
【０２１６】
次に、図２５のフローチャートを参照して、図２２のステップＳ２７の縮小画像生成のための画素処理の詳細を説明する。
【０２１７】
ステップＳ７１において、縮小画像生成部１６７のソート部３５１（図１５）は、次に処理する画素の輝度値を読み込む。具体的には、ソート部３５１は、上述した図２２のＳ２５において非線形変換された画素位置ｐの画素の輝度値L(nl)(p)を非線形変換部１６２Ｌから読み込む。
【０２１８】
ステップＳ７２において、ソート部３５１は、該当するブロックを判定する。具体的には、ソート部３５１は、画素位置ｐが、画像を横wr×縦hr個に分割した所定のブロックのどれに含まれるかを判定する。
【０２１９】
ステップＳ７３において、平均値算出部３５２は、輝度値を該当するブロックの輝度合計値に加算し、縮小画像生成のための画素処理は終了する。具体的には、ソート部３５１は、画素位置ｐが含まれるブロックの輝度値の平均値を算出する平均値算出部３５２に、輝度値L(nl)(p)を出力する。平均値算出部３５２は、対象となるブロックの輝度値の合計である輝度合計値に輝度値L(nl)(p)を加算する。
【０２２０】
次に、図２６のフローチャートを参照して、図２２のステップＳ２８の大局輝度算出処理の詳細を説明する。
【０２２１】
ステップＳ９１において、補間部１７１の近傍選択部３７１（図１６）は、次に処理する画素の画素位置を読み込む。具体的には、近傍選択部３７１は、次に処理する画素の画素位置ｐを非線形変換部１６２Ｌから読み込む。
【０２２２】
ステップＳ９２において、近傍選択部３７１は、次に処理する画素に対応する縮小画像上の近傍画素と位置ずれ量を算出する。具体的には、近傍選択部３７１は、モザイク画像の画素数を横wm×縦hm、縮小画像の画素数を横wr×縦hrとした場合、画素位置ｐ＝(px, py)に対応する縮小画像上の位置ｑ＝(qx，qy)を、以下の式（１３）乃至（１５）により算出する。
【０２２３】
bx＝wm／wr  ・・・（１３）
by＝hm／hr  ・・・（１４）
q＝(qx，qy)＝(px／bx−0.5, py／by−0.5）  ・・・（１５）
【０２２４】
また、近傍選択部３７１は、位置ｑの近傍の横４×縦４画素の範囲内の画素である近傍画素を抽出する。例えば、図２７に示される例の場合、図２７の斜線で示されるqx−2＜ｘ＜qx＋2、qy−2＜ｙ＜qy＋2の範囲内に位置する“＋”マークで示される画素が近傍画素として抽出される。
【０２２５】
さらに、近傍選択部３７１は、画素位置ｐと近傍画素の水平方向の位置ずれ量dx、および、垂直方向の位置ずれ量dyを、縮小画像において、位置qから左下方向で最も近い画素と位置qとの差分とする。すなわち、位置ずれ量（dx，dy）＝（qxの小数部，qyの小数部）となる。
【０２２６】
近傍選択部３７１は、水平方向の位置ずれ量dxを水平係数算出部３７２に出力し、垂直方向の位置ずれ量dyを垂直係数算出部３７３に出力し、近傍画素の画素値a[i][j]（1≦i≦4，1≦j≦4、ただし、i，jは自然数）を積和部３７４に出力する。
【０２２７】
ステップＳ９３において、水平係数算出部３７２は、水平方向の３次補間係数を算出する。具体的には、水平係数算出部３７２は、水平方向の位置ずれ量dxに基づいて、以下の式（１６）および（１７）により、水平方向の３次補間係数kx[i]（1≦i≦4，ただし、iは自然数）を算出する。
【０２２８】
【数７】
2008263475.tif 000009
【０２２９】
水平係数算出部３７２は、算出した補間係数kx[i]を積和部３７４に出力する。
【０２３０】
ステップＳ９４において、垂直係数算出部３７３は、垂直方向の３次補間係数を算出する。具体的には、垂直係数算出部３７３は、垂直方向の位置ずれ量dyに基づいて、以下の式（１８）および（１９）により、垂直方向の３次補間係数ky[j] （1≦j≦4，ただし、jは自然数）を算出する。
【０２３１】
【数８】
2008263475.tif 000010
【０２３２】
垂直係数算出部３７３は、算出した補間係数ky[j]を積和部３７４に出力する。
【０２３３】
なお、上述した式（１６）乃至（１９）は、３次補間によく用いられる式の一例であり、十分に滑らかな補間が得られる範囲で、補間係数kx[i]，ky[j]を他の計算式に基づいて算出するようにしてもよい。
【０２３４】
ステップＳ９５において、積和部３７４は、大局輝度値を算出する。具体的には、積和部３７４は、近傍画素の画素値a[i][j]、水平方向の補間係数kx[i]、および、垂直方向の補間係数ky[j]を、以下の式（２０）により積和計算することにより、画素位置ｐの大局輝度値Ll(nl)(p)を算出する。
【０２３５】
【数９】
2008263475.tif 000011
【０２３６】
ステップＳ９６において、積和部３７４は、マッピング部１７２−２に、大局輝度値Ll(nl)(p)を出力して、大局輝度値算出処理は終了する。
【０２３７】
なお、大局輝度値Ll(nl)(p)からなる大局輝度画像は、横wr×縦hr画素の縮小画像を３次補間により元のサイズ（画素数）に拡大した画像であり、元の画像（輝度値L(nl)(p)からなる画像）のごく低周波域の成分だけを抽出した画像となる。
【０２３８】
次に、図２８のフローチャートを参照して、図２２のステップＳ３０のコントラスト補正処理の詳細を説明する。
【０２３９】
ステップＳ１１１において、コントラスト補正部１７３は、次に処理する画素の階調圧縮された輝度値および大局輝度値を読み込む。具体的には、コントラスト補正部１７３のゲイン値算出部３９１およびコントラスト強調部３９２（図１７）は、上述した図２２のステップＳ２９においてトーンカーブにより階調が圧縮された輝度値Lc(nl)(p)をマッピング部１７２−１から読み込み、上述した図２２のステップＳ２９においてトーンカーブにより階調が圧縮された大局輝度値Lcl(nl)(p)をマッピング部１７２−２から読み込む。
【０２４０】
ステップＳ１１２において、ゲイン値算出部３９１は、ゲイン値算出処理を行う。ゲイン値算出処理の詳細は、図２９を参照して後述するが、この処理により、ゲイン値g(p)が算出される。
【０２４１】
ステップＳ１１３において、コントラスト強調部３９２は、コントラスト補正した輝度値を算出する。具体的には、コントラスト強調部３９２は、階調が圧縮された輝度値Lc(nl)(p)および大局輝度値Lcl(nl)(p)、並びに、ゲイン値g(p)を用いて、以下の式（２１）により、コントラスト補正した輝度値Lu(nl)(p)を算出する。
【０２４２】
Lu(nl)(p)＝(g(p)＋1)・(Lc(nl)(p)−Lcl(nl)(p))＋Lcl(nl)(p)
＝g(p)・(Lc(nl)(p)−Lcl(nl)(p))＋Lc(nl)(p)    ・・・（２１）
【０２４３】
なお、輝度値(Lc(nl)(p)−Lcl(nl)(p))からなる画像は、輝度値Lc(nl)(p)からなる画像から、輝度値Lc(nl)(p)からなる画像のごく低周波域の成分からなる大局輝度画像を差し引いたものである。従って、輝度値Lu(nl)(p)からなる画像は、輝度値Lc(nl)(p)からなる画像のごく低周波域の成分を除去したコントラスト成分がゲイン値g(p)により強調された画像となる。
【０２４４】
また、トーンカーブにより輝度値の階調が圧縮された画像（輝度値Lc(nl)(p)からなる画像）は、元の画像（輝度値L(nl)(p)からなる画像）と比較してコントラストが抑制されている。また、コントラストが抑制される度合いはトーンカーブの傾きに依存し、トーンカーブの傾きが緩やかであるほど抑制の度合いが大きい。従って、トーンカーブの傾きの逆数に応じて、階調が圧縮された画像のコントラスを強調するように補正すれば、階調を圧縮する前の画像に近いコントラストを得ることができる。しかし、noiseLevel(nl)またはsaturationLevel(nl)付近の輝度値Lc(nl)(p)の画素についても同様の補正を行った場合、補正後の輝度値がnoiseLevel(nl)を下回ったり、saturationLevel(nl)を超えたりするクリッピングが生じ、逆に画像のディテールが失われてしまう場合がある。
【０２４５】
図３４を参照して後述するように、コントラストゲインカーブ算出部１６５により生成されるコントラストゲインカーブは、入力コントラスト成分（Lc(nl)(p)−Lcl(nl)(p)）が０のときゲイン値g(p)が最大となり、入力コントラスト成分の絶対値が大きくなるにつれてゲイン値g(p)が単調減少し最後は０になる特性を有している。すなわち、入力コントラスト成分が大きいほど、コントラスト補正によりコントラストを強調する度合いが抑制される。また、コントラストゲインカーブは、入力コントラスト成分に対するゲイン値g(p)の変化率が、入力コントラスト成分の絶対値が大きくなるにつれて、途中まで大きくなり、その後、小さくなる特性を有している。従って、例えば、低輝度領域にスポット状にコントラストの大きい画素が存在する領域において、輝度の飽和が発生することが抑制される。
【０２４６】
また、図３３および図３４を参照して後述するように、入力コントラスト成分(Lc(nl)(p)−Lcl(nl)(p))に対して出力コントラスト成分（Lu(nl)(p)−Lcl(nl)(p))が単調増加するようにゲイン値g(p)が設定されるので、階調逆転の発生が抑制される。
【０２４７】
ステップＳ１１４において、コントラスト強調部３９２は、コントラスト補正した輝度値を出力して、コントラスト補正処理は終了する。具体的には、コントラスト強調部３９２は、コントラスト補正した輝度値Lu(nl)(p)を、階調補正部１８１Ｒ乃至１８１Ｂに出力する。
【０２４８】
このように、コントラスト補正部１７３により、輝度値Lc(nl)(p)からなる画像のごく低周波域を除く、低中周波域から高周波域の成分のコントラストが強調される。したがって、高周波域の成分のコントラストだけを強調したときに目立つ、エッジ部分の局所的なオーバーシュートは発生せず、見た目にもごく自然にコントラストが強調された画像を得ることができる。また、上述したように、輝度の飽和の発生が抑制され、画像の白ツブレや黒ツブレの発生を抑制することができる。
【０２４９】
次に、図２９のフローチャートを参照して、図２８のステップＳ１１２のゲイン値算出処理の詳細を説明する。
【０２５０】
ステップＳ１２１において、ゲイン値算出部３９１のマッピング部４１２−１（図１８）は、階調圧縮された輝度値と中間輝度レベルの差分に基づくゲイン値を算出する。具体的には、減算部４１１−１は、階調が圧縮された輝度値Lc(nl)(p)と中間輝度レベルLmid(nl)との差分を算出し、算出した差分値をマッピング部４１２−１に供給する。マッピング部４１２−１は、コントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６から読み込む。マッピング部４１２−１は、読み込んだルックアップテーブルに基づいて、輝度値Lc(nl)(p)と中間輝度レベルLmid(nl)の差分値に対応するゲイン値g(p)を求める。すなわち、マッピング部４１２−１は、コントラストゲインカーブ、および、輝度値Lc(nl)(p)と中間輝度レベルLmid(nl)との差分値に基づいて、ゲイン値g(p)を求める。なお、中間輝度レベルLmid(nl)は定数なので、マッピング部４１２−１は、コントラストゲインカーブ、および、輝度値Lc(nl)(p)に基づいて、ゲイン値g(p)を求めるとも言える。マッピング部４１２−１は、求めたゲイン値g(p)を減算部４１３および選択部４１４に供給する。
【０２５１】
ステップＳ１２２において、マッピング部４１２−２は、階調圧縮された輝度値と大局輝度値の差分に基づくゲイン値を算出する。具体的には、減算部４１１−２は、階調が圧縮された輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)の差分を算出し、算出した差分値をマッピング部４１２−２に供給する。マッピング部４１２−２は、コントラストゲインカーブを表すルックアップテーブルをコントラストゲインカーブメモリ１６６から読み込む。マッピング部４１２−２は、読み込んだルックアップテーブルに基づいて、輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)の差分値に対応するゲイン値g(p)を求める。すなわち、マッピング部４１２−１は、コントラストゲインカーブ、および、輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)との差分値（コントラスト成分）に基づいて、ゲイン値g(p)を求める。マッピング部４１２−２は、求めたゲイン値g(p)を減算部４１３および選択部４１４に供給する。
【０２５２】
ステップＳ１２３において、選択部４１４は、ゲイン値を選択し、ゲイン値算出処理は終了する。具体的には、減算部４１３は、マッピング部４１２−１からのゲイン値g(p)とマッピング部４１２−２からのゲイン値g(p)の差分を算出し、算出した差分値を選択部４１４に供給する。選択部４１４は、取得した差分値の符号に基づいて、マッピング部４１２−１からのゲイン値g(p)とマッピング部４１２−２からのゲイン値g(p)のうち小さい方を選択し、最終的なゲインg(p)としてコントラスト強調部３９２に供給する。
【０２５３】
すなわち、この処理により、輝度値Lc(nl)(p)と中間輝度レベルLmid(nl)の差分値に対応するゲイン値g(p)、および、輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)の差分値に対応するゲイン値g(p)のうち小さい方が選択される。すなわち、コントラスト成分（Lc(nl)(p)−Lcl(nl)(p)）に加えて、輝度値Lc(nl)(p)に基づいて、ゲイン値g(p)が制御され、コントラスト成分の大きさに関わらず、輝度値Lc(nl)(p)が大きい高輝度の画素および輝度値Lc(nl)(p)が小さい低輝度の画素において、ゲイン値g(p)が減衰されるようになり、輝度の飽和をより確実に抑制することができる。
【０２５４】
次に、図３０のフローチャートを参照して、図２３のステップＳ３６のトーンカーブとγ_comp算出処理の詳細を説明する。
【０２５５】
ステップＳ１３１において、トーンカーブ算出部１６３の輝度域算出部２２１（図９）は、暗・明輝度側ソーティングの結果から暗・明輝度側裾野値を求める。具体的には、輝度域算出部２２１のソーティング部２４３（図１０）は、レジスタ２５２−ｋに格納されている輝度値を暗輝度側の裾野値Ldark(nl)に設定する。また、輝度域算出部２２１のソーティング部２４４は、レジスタ２６２−ｋに格納されている輝度値を明輝度側の裾野値Lbright(nl)に設定する。
【０２５６】
例えば、間引き部２４１により１フレームあたりにサンプリングされる画素の数が１２００個とし、ソーティング部２４３のレジスタ２５２の数を６個（ｋ＝６）とした場合、１フレーム内の全ての画素が処理された後、レジスタ２５２−１乃至２５２−６には、サンプリングされた画素のうち、輝度が暗い方から６番目までの画素（厳密に言えば、輝度値L(nl)(p)がnoiseLevel(nl)未満の画素は除かれているので、必ずしも６番目とは限らない）の輝度値L(nl)(p)が格納される。従って、フレーム全体の画素数に占めるレジスタ２５２−６に格納されている輝度値L(nl)(p)、すなわち、Ldark(nl)以下の輝度値の画素数の比率はほぼ0.5％（＝6／1200）になると推定される。同様に、フレーム全体の画素数に占めるレジスタ２６２−６に格納されている輝度値L(nl)(p)、すなわち、Lbright(nl)以上の輝度値の画素数の比率はほぼ0.5％（＝6／1200）になると推定される。
【０２５７】
なお、裾野値Ldark(nl)または裾野値Lbright(nl)を設定するために用いる画素数の比率を、上述した0.5％以外の値とするようにしてもよい。また、ソーティング部２４３または２４４のレジスタの数は、サンプリングされる画素の数、および、裾野値Ldark(nl)または裾野値Lbright(nl)を設定するために用いる画素数の比率に応じて設定される。
【０２５８】
ソーティング部２４３は、裾野値Ldark(nl)を時間平滑化部２２３−１に出力し、ソーティング部２４４は、裾野値Lbright(nl)を時間平滑化部２２３−２に出力する。
【０２５９】
ステップＳ１３２において、トーンカーブ算出部１６３の平均レベル算出部２２２（図９）は、輝度合計値より平均レベルを算出する。具体的には、平均レベル算出部２２２の
平均値算出部２８２の除算部２９４（図１１）は、レジスタ２９２に記憶されている輝度合計値、および、カウンタ２９３のカウンタ値（画素数）を読み込む。除算部２９４は、輝度合計値をカウンタ２９３のカウンタ値で割ることにより、輝度値L(nl)(p)の平均レベルLaverage(nl)を算出する。除算部２９４は、時間平滑化部２２３−３に平均レベルLaverage(nl)を出力する。
【０２６０】
ステップＳ１３３において、時間平滑化部２２３は、裾野値および平均レベルを時間平滑化する。具体的には、時間平滑化部２２３−１の乗算部３１１（図１２）は、裾野値Ldark(nl)に所定の平滑化係数sc1を乗じて、加算部３１３に出力する。時間平滑化部２２３−１の乗算部３１２は、１つ前のフレームにおける時間平滑化された裾野値Ldark-ts-pre(nl)をレジスタ３１４から読み込む。乗算部３１２は、裾野値Ldark-ts-pre(nl)に平滑化係数sc2を乗じて、加算部３１３に出力する。加算部３１３は、乗算部３１１から出力された値と乗算部３１２から出力された値を加算することにより裾野値Ldark(nl)を時間平滑化した裾野値Ldark-ts(nl)を算出する。すなわち、裾野値Ldark-ts(nl)は、以下の式（２２）により表される。
【０２６１】
Ldark-ts(nl)＝sc1・Ldark(nl)＋sc2・Ldark-ts-pre(nl)  ・・・（２２）
【０２６２】
すなわち、平滑化係数sc1およびsc2により、現在のフレームの裾野値Ldark(nl)と１つ前のフレームの裾野値Ldark-ts-pre(nl)との間で平滑化が行われる。
【０２６３】
加算部３１３は、裾野値Ldark-ts(nl)をスプライン発生部２２４に出力するとともに、レジスタ３１４に記憶させる。
【０２６４】
同様に、時間平滑化部２２３−２は、以下の式（２３）により、裾野値Lbright(nl)を時間平滑化した裾野値Lbright-ts(nl)を算出し、算出した裾野値Lbright-ts(nl)をスプライン発生部２２４に出力するとともに、レジスタ３１４に記憶させる。
【０２６５】
Lbright-ts(nl)＝sc1・Lbright(nl)＋sc2・Lbright-ts-pre(nl)  ・・・（２３）
Lbright-ts-pre(nl)：１つ前のフレームの時間平滑化された裾野値Lbright-ts(nl)
【０２６６】
また、同様に、時間平滑化部２２３−３は、以下の式（２４）により、平均レベルLaverage(nl)を時間平滑化した平均レベルLaverage-ts(nl)を算出し、算出した平均レベルLaverage-ts(nl)をスプライン発生部２２４に出力するとともに、レジスタ３１４に記憶させる。
【０２６７】
Laverage-ts(nl)＝sc1・Laverage(nl)＋sc2・L average-ts-pre(nl)  ・・・（２４）
L average-ts-pre(nl)：１つ前のフレームの時間平滑化された平均レベルL average-ts(nl)
【０２６８】
これにより、裾野値および平均レベルの値が、フレーム間で急激に変化したり、振動したりすることが防止される。
【０２６９】
ステップＳ１３５において、スプライン発生部２２４は、トーンカーブを生成する。以下、図３１を参照して、トーンカーブの生成方法について説明する。図３１は、スプライン発生部２２４により生成されるトーンカーブの一例を示している。なお、図３１のグラフの横軸方向は、階調補正する前の入力輝度の対数値を表し、縦軸方向は、トーンカーブＣＬ１による階調補正後の出力輝度の対数値を表している。
【０２７０】
まず、スプライン発生部２２４のコントロールポイント設定部３３１（図１３）は、９つのコントロールポイントＰ１乃至Ｐ９を設定する。コントロールポイントＰ１は、入力輝度が所定の最小レベルとなり、出力輝度が所定の最小レベルLbase(nl)となるポイントに設定される。コントロールポイントＰ２は、入力輝度がノイズレベルであると見なすことができる輝度である所定のノイズレベルLnoise(nl)となり、出力輝度が最小レベルLbase(nl)となるポイントに設定される。コントロールポイントＰ３は、入力輝度がノイズレベルLnoise(nl)の２倍の輝度値となり、出力輝度が最小レベルLbase(nl)となるポイントに設定される。
【０２７１】
コントロールポイントＰ４は、入力輝度が暗輝度側の裾野値Ldark-ts(nl)となり、出力輝度がほぼ黒レベルの輝度値である輝度値Lankle(nl)となるポイントに設定される。コントロールポイントＰ５は、入力輝度が裾野値Ldark-ts(nl)の２倍の輝度値となり、出力輝度が輝度値Lankle(nl)の２倍の輝度値となるポイントに設定される。コントロールポイントＰ６は、入力輝度が入力輝度の平均レベルLaverage-ts(nl)となり、出力輝度が出力輝度の輝度範囲における所定のほぼ中間の中間輝度レベルLmid(nl)となるポイントに設定される。コントロールポイントＰ７は、入力輝度が明輝度側の裾野値Lbright-ts(nl)の２分の１の輝度値となり、出力輝度がほぼ白レベルの輝度値である輝度値Lshoulder(nl)の２分の１の輝度値となるポイントに設定される。コントロールポイントＰ８は、入力輝度が裾野値Lbright-ts(nl)となり、出力輝度が輝度値Lshoulder(nl)となるポイントに設定される。コントロールポイントＰ９は、入力輝度が所定の入力輝度の最大値となり、出力輝度が所定の出力輝度の最大値となるポイントに設定される。
【０２７２】
コントロールポイント設定部３３１は、設定したコントロールポイントＰ１乃至Ｐ９の位置を示すコントロールポイントセットを曲線描画部３３２およびγ算出部３３３に供給する。曲線描画部３３２は、コントロールポイントＰ１乃至Ｐ９の各ポイント間を補間する３次スプライン曲線上の座標を算出することにより、トーンカーブＣＬ１のルックアップテーブルを生成する。
【０２７３】
なお、コントロールポイントＰ３が補助点として設定されることにより、トーンカーブＣＬ１が確実にコントロールポイントＰ２またはその近傍を通過するようになる。すなわち、入力輝度がほぼノイズレベルLnoise(nl)である場合、出力輝度の最小レベルLbase(nl)にほぼ等しい値に階調変換されるようになる。また、コントロールポイントＰ５が補助点として設定されることにより、入力輝度がほぼ裾野値Ldark-ts(nl)となり、出力輝度がほぼ黒レベルとなる輝度値Lankle(nl)となる付近（コントロールポイントＰ４付近）のトーンカーブＣＬ１の傾きが極端に急峻になったり緩やかになったりすることが防止される。また、コントロールポイントＰ７が補助点として設定されることにより、入力輝度がほぼ裾野値Ldark-ts(nl)となり、出力輝度がほぼ白レベルとなる輝度値Lshoulder(nl)付近（コントロールポイントP８付近）のトーンカーブＣＬ１の傾きが極端に急峻になったり緩やかになったりすることが防止される。
【０２７４】
従って、トーンカーブＣＬ１は、コントロールポイントＰ６付近で傾きが緩やかになり、コントロールポイントＰ４およびＰ８付近で傾きがほぼ１に近くなる逆Ｓ字状の単調増加する曲線となる。すなわち、出力輝度が中間輝度レベルLmid(nl)付近において、階調の圧縮率が高くされ、出力輝度が高い（大きい）または低い（小さい）付近ほど、階調の圧縮率が低くされる。これは、トーンカーブＣＬ１を適用して階調を圧縮した後、コントラスト補正を行うときに、上述したように、中間輝度レベルLmid(nl)付近の輝度成分ほどコントラストが強調され、階調を圧縮する前の画像に近いコントラストを得ることができる一方、輝度値のクリッピングを防止するために、最小値Lmin(nl)または最大値Lmax(nl)付近の輝度成分は、ほとんどコントラストが補正されないためである。
【０２７５】
従って、トーンカーブＣＬ１による階調圧縮およびステップＳ３０のコントラスト補正を組み合わせることにより、画像のディテールをほぼ保持したまま、黒ツブレや白ツブレをほとんど発生させることなく、画像の階調の圧縮を行うことができる。
【０２７６】
また、入力される画像データから算出された裾野値Ldark-ts(nl)、裾野値Lbright-ts(nl)、および、平均レベルLaverage-ts(nl)に基づいて、画像ごとにトーンカーブＣＬ１が生成されるため、入力画像データの画素値（輝度値）の分布に応じて、適切に画像の階調を圧縮することができる。
【０２７７】
なお、以下、ステップＳ１３４において、図３１に示されるトーンカーブＣＬ１が生成されたものとして処理の説明を行う。
【０２７８】
ステップＳ１３５において、γ算出部３３３は、トーンカーブの形状よりγ_compパラメータを算出する。具体的には、γ算出部３３３は、コントロールポイントＰ６付近におけるトーンカーブＣＬ１の傾きに近い値を得るために、コントロールポイントＰ５とＰ７を結ぶ線分ＳＬ１の傾きを算出し、算出した傾きをγ_compパラメータにとして設定する。
【０２７９】
ステップＳ１３６において、曲線描画部３３２は、トーンカーブをメモリに格納する。すなわち、曲線描画部３３２は、生成したトーンカーブＣＬ１を表すルックアップテーブルをトーンカーブメモリ１６４に記憶させる。
【０２８０】
ステップＳ１３７において、γ算出部３３３は、γ_compパラメータを出力し、トーンカーブとγ_comp算出処理は終了する。すなわち、γ算出部３３３は、γ_compパラメータをコントラストゲインカーブ算出部１６５の入出力特性設定部３４１に出力する。
【０２８１】
次に、図３２のフローチャートを参照して、図２３のステップＳ３７のコントラストゲインカーブ算出処理の詳細を説明する。
【０２８２】
ステップＳ１４１において、入出力特性設定部３４１は、入出力特性カーブを生成する。具体的には、入出力特性設定部３４１は、式（２１）を変形した以下の式（２５）の右辺のLc(nl)(p)−Lcl(nl)(p)（入力コントラスト成分）を入力とし、左辺のLu(nl)(p)−Lcl(nl)(p)（出力コントラスト成分）を出力とする入出力特性を表す入出力特性カーブを生成する。
【０２８３】
Lu(nl)(p)−Lcl(nl)(p)＝(g(p)＋1)・(Lc(nl)(p)−Lcl(nl)(p))  ・・・（２５）
【０２８４】
ここで、コントラスト補正前と補正後で輝度値の大小関係が逆転しないように、すなわち、階調逆転が発生しないように、さらに換言すれば、上述した式（４）の右辺の値が有効輝度範囲内で０以下にならないように、入力コントラスト成分に対して出力コントラスト成分が単調増加する特性を有する入出力特性カーブが生成される。
【０２８５】
また、コントラスト補正後の輝度値Lu(nl)(p)が飽和しないように、入力コントラスト成分の値が０付近において、傾きが最大かつ１より大きくなり、入力コントラスト成分の値が所定の範囲内において、入力コントラスト成分の絶対値が大きくなるほど傾きが緩やかになり、かつ、入力コントラストの値がその所定の範囲を超える範囲において、傾きがほぼ１となる特性を有する入出力特性カーブが生成される。
【０２８６】
図３３は、そのような入出力特性カーブの一例を示している。なお、図３３の横軸方向は、入力コントラスト成分、すなわち、コントラスト補正前の輝度値Lc(nl)(p)−大局輝度値Lcl(nl)(p)の値を示し、縦軸方向は、出力コントラスト成分、すなわち、コントラスト補正後の輝度値Lu(nl)(p)−大局輝度値Lcl(nl)(p)の値を示している。また、直線ＳＬ２１は、原点（０，０）を通り、傾きが１の直線を示しており、直線ＳＬ２２は、原点（０，０）を通り、傾きがcontrastGain/γ_compの直線を示している。
【０２８７】
なお、contrastGainは予め設定されている定数であり、contrastGainを１より大きく設定することで、階調圧縮前の輝度値L(nl)(p)からなる画像よりもコントラストを強調するようにコントラスト補正を行うことができる。
【０２８８】
図３３の入出力特性カーブＣＬ２１は、原点（０，０）を通過し、入力コントラスト成分の値が０付近の領域において、傾きが直線ＳＬ２２にほぼ沿うように設定され、入力コントラスト成分の絶対値が大きい領域では、傾きが直線ＳＬ２１に近づくように設定されたＳ字状の曲線となっている。
【０２８９】
ここで、図３３の入出力特性カーブＣＬ２１の生成方法について説明する。
【０２９０】
入出力特性設定部３４１は、まず、コントロールポイントＰ２１乃至Ｐ２７の７つのコントロールポイントを設定する。
【０２９１】
コントロールポイントＰ２１は、入力コントラスト成分の値が負の領域において、入力コントラスト成分の絶対値がコントロールポイントＰ２２より十分大きい直線ＳＬ２１上のポイントに設定される。
【０２９２】
コントロールポイントＰ２２は、入力コントラスト成分の値が負の領域において、入出力特性カーブＣＬ２１が直線ＳＬ２１に接する位置に設定される。上述した図３１のトーンカーブＣＬ１の傾きが、出力輝度がLankle(nl)となるコントロールポイントＰ４付近でほぼ１になることを考慮すると、例えば、コントロールポイントＰ２２の入力コントラスト成分の値を、輝度値Lankle(nl)−中間輝度レベルLmid(nl)に設定するのが好適である。
【０２９３】
コントロールポイントＰ２３は、入力コントラスト成分の値が負の領域において、入力コントラスト成分の絶対値がコントロールポイントＰ２２より小さい直線ＳＬ２２上のポイントに設定される。例えば、図３３に示されるように、コントロールポイントＰ２２からの距離とコントロールポイントＰ２４からの距離とが等しくなる直線ＳＬ２２上のポイントが、コントロールポイント２３として好適である。
【０２９４】
コントロールポイントＰ２４は、原点（０，０）に設定される。これにより、入出力特性カーブＣＬ２１が、必ず原点（０，０）、または、その近傍を通過するようになる。
【０２９５】
コントロールポイントＰ２５は、入力コントラスト成分の値が正の領域において、入力コントラスト成分の値がコントロールポイントＰ２６より小さい直線ＳＬ２２上のポイントに設定される。例えば、図３３に示されるように、コントロールポイントＰ２４からの距離とコントロールポイントＰ２６からの距離とが等しくなる直線ＳＬ２２上のポイントが、コントロールポイント２５として好適である。
【０２９６】
コントロールポイントＰ２６は、入力コントラスト成分の値が正の領域において、入出力特性カーブＣＬ２１が直線ＳＬ２１に接する位置に設定される。上述した図３１のトーンカーブＣＬ１の傾きが、出力輝度がLshoulder(nl)となるコントロールポイントＰ８付近でほぼ１になることを考慮すると、例えば、コントロールポイントＰ２６の入力コントラスト成分の値を、輝度値Lshoulder(nl)−中間輝度レベルLmid(nl)に設定するのが好適である。
【０２９７】
コントロールポイントＰ２７は、入力コントラスト成分の値が正の領域において、入力コントラスト成分の絶対値がコントロールポイントＰ２６より十分大きい直線ＳＬ２１上のポイントに設定される。
【０２９８】
そして、入出力特性設定部３４１は、コントロールポイントＰ２１乃至Ｐ２７の各ポイントに基づく区分的多項式曲線（例えば、B-Spline曲線またはBezier曲線など）を入出力特性カーブＣＬ２１として生成し、入出力特性カーブＣＬ２１のルックアップテーブルを生成する。
【０２９９】
すなわち、入出力特性カーブＣＬ２１は、入力コントラスト成分に対して出力コントラスト成分が単調増加し、入力コントラスト成分の値が０付近において、傾きが最大かつ直線ＳＬ２２の傾きであるcontrastGain/γ_compとほぼ等しくなり、コントロールポイントＰ２２およびＰ２６により規定される範囲（以下、補正範囲とも称する）であって、入力コントラスト成分の値がLankle(nl)−Lmid(nl)からLshoulder(nl)−Lmid(nl)までの範囲内において、入力コントラスト成分の絶対値が大きくなるほど傾きが緩やかになり、かつ、入力コントラスト成分に対する出力コントラスト成分の絶対値がその入力コントラスト成分の絶対値以上となり、補正範囲を超える範囲において、傾きがほぼ１となる特性を有する。
【０３００】
入出力特性設定部３４１は、生成した入出力特性カーブのルックアップテーブルを入出力特性カーブメモリ３４２に記憶させる。
【０３０１】
なお、以下、ステップＳ１４１において、図３３に示される入出力特性カーブＣＬ２１が生成されたものとして説明を行う。
【０３０２】
ステップＳ１４２において、ゲイン特性算出部３４３は、入出力特性カーブをコントラストゲインカーブに変換する。具体的には、ゲイン特性算出部３４３は、入出力特性カーブＣＬ２１を表すルックアップテーブルを入出力特性カーブメモリ３４２から読み出す。ゲイン特性算出部３４３は、入出力特性カーブＣＬ２１における入力コントラスト成分と出力コントラスト成分の値の組み合わせを以下の式（２６）に代入することにより、図３４に示される入力コントラスト成分とゲイン値g(p)との関係を表すコントラストゲインカーブＣＬ３１を生成する。
【０３０３】
g(p)＝｜Lu(nl)(p)−Lcl(nl)(p)｜／｜Lc(nl)(p)−Lcl(nl)(p)|−１・・・（２６）
【０３０４】
なお、式（２６）は、式（２５）を変形し、さらに、Lu(nl)(p)−Lcl(nl)(p)およびLc(nl)(p)−Lcl(nl)(p)を、それぞれその値の絶対値に置き換えたものである。
【０３０５】
コントラストゲインカーブＣＬ３１においては、入力コントラスト成分が０のとき、ゲイン値g(p)がピーク値contrastGain／γ_comp−１となり、入力コントラスト成分の値がLankle(nl)−Lmid(nl)からLshoulder(nl)−Lmid(nl)までの範囲内において、入力コントラスト成分の絶対値が大きくなるにつれてゲイン値g(p)が０に近づき、入力コントラスト成分の値がLankle(nl)−Lmid(nl)からLshoulder(nl)−Lmid(nl)までの範囲を超える範囲において、ゲイン値g(p)が０となる。また、コントラストゲインカーブＣＬ３１は、入力コントラスト成分の値がLankle(nl)−Lmid(nl)からLshoulder(nl)−Lmid(nl)までの範囲内において、入力コントラスト成分に対するゲイン値g(p)の変化率が、入力コントラスト成分の絶対値が大きくなるにつれて、途中まで大きくなり、その後、小さくなる特性を有している。
【０３０６】
ステップＳ１４３において、ゲイン特性算出部３４３は、コントラストゲインカーブをメモリに格納し、コントラストゲインカーブ算出処理は終了する。すなわち、ゲイン特性算出部３４３は、生成したコントラストゲインカーブＣＬ３１を表すルックアップテーブルをコントラストゲインカーブメモリ１６６に記憶させる。
【０３０７】
次に、図３５のフローチャートを参照して、図２３のステップＳ３８の縮小画像生成処理の詳細を説明する。
【０３０８】
ステップＳ１５１において、縮小画像生成部１６７は、ブロック内の画素の輝度の平均値を算出する。具体的には、例えば、縮小画像生成部１６７の平均値算出部３５２−１（図１５）は、自分が保持している１番目のブロック内の画素の輝度合計値を、ブロック内の画素数で割ることにより、１番目のブロックの輝度の平均値を算出する。
【０３０９】
ステップＳ１５２において、縮小画像生成部１６７は、ブロックの輝度の平均値をメモリ上の対応する画素の位置に格納する。具体的には、例えば、平均値算出部３５２−１は、算出した１番目のブロックの輝度の平均値を、縮小画像メモリ１６８上の対応する画素（例えば、いちばん左上の画素）の位置に格納させる。
【０３１０】
ステップＳ１５３において、縮小画像生成部１６７は、全てのブロックを処理したか否かを判定する。まだ、全てのブロックの処理をしていないと判定された場合、処理はステップＳ１５１に戻り、ステップＳ１５３において、全てのブロックの処理をしたと判定されるまで、ステップＳ１５１乃至Ｓ１５３の処理が繰り返し実行される。すなわち、２番目以降のブロックについて順番に、同様に輝度の平均値が算出され、算出された平均値が縮小画像メモリ１６８上の対応する画素の位置に格納される。
【０３１１】
ステップＳ１５３において、全てのブロックの処理が終了したと判定された場合、縮小画像生成処理は終了する。
【０３１２】
これにより、輝度値L(nl)(p)からなる画像を横wr×縦hr個の複数のブロックに分割し、分割したブロックごとの輝度値L(nl)(p)の平均値を、ブロックの順番に配列した横wr×縦hr画素の縮小画像が生成される。
【０３１３】
以上のようにして、画像のディテールをほぼ保持したまま、黒ツブレや白ツブレをほとんど発生させることなく、かつ、階調の逆転を発生させることなく、画像の階調の圧縮を行うことができる。また、入力画像データの画素値（輝度値）の分布に応じて、適切に画像の階調を圧縮することができる。
【０３１４】
さらに、１フレーム前の処理において生成または算出された縮小画像、トーンカーブ、および、コントラストゲインカーブを用いて、階調変換を行うことにより、同じフレーム内で生成または算出した縮小画像、トーンカーブ、および、コントラストゲインカーブを用いて、階調変換をする場合と比較して、縮小画像の生成、並びに、トーンカーブおよびコントラストゲインカーブの算出するための処理の遅延時間がほとんど発生しないため、処理時間を短縮することができる。また、縮小画像の生成、または、トーンカーブおよびコントラストゲインカーブの算出の終了を待機するために、例えば、１フレーム分の画像を保持する必要がないため、メモリの使用量を削減することができる。
【０３１５】
なお、縮小画像、トーンカーブ、および、コントラストゲインカーブは、いずれも画像の細部に依存しない情報であるため、１フレーム前の情報を使用することによる時間のずれはほとんど問題にならない。例えば、被写体のエッジ情報のように高周波成分を含む情報であれば、動的な映像において、フレーム間の被写体の位置ずれが発生する場合があり、位置ずれを補償するような処理が必要であるが、縮小画像、トーンカーブ、および、コントラストゲインカーブについては、そのような問題は発生しない。
【０３１６】
また、同じフレーム内で生成または算出した縮小画像、トーンカーブ、および、コントラストゲインカーブを用いて、階調変換をする場合でも、縮小画像の生成と、トーンカーブおよびコントラストゲインカーブの算出とを並列して行うことができるため、処理時間を短縮することができる。
【０３１７】
ここで、図３６を参照して、図１７のゲイン値算出部３９１の他の実施の形態について説明する。
【０３１８】
図３６は、図１７のゲイン値算出部３９１の他の実施の形態を示すブロック図である。図３６のゲイン値算出部３９１は、減算部４１１−１，４１１−２、マッピング部４１２−１，４１２−２、および、乗算部５０１を含むように構成される。なお、図中、図１８と対応する部分については同じ符号を付してあり、処理が同じ部分に関しては、その説明は繰り返しになるので省略する。
【０３１９】
乗算部５０１は、マッピング部４１２−１からのゲイン値g(p)とマッピング部４１２−２からのゲイン値g(p)を乗算し、乗算した値を最終的なゲイン値g(p)としてコントラスト強調部３９２に供給する。
【０３２０】
輝度飽和が生じやすい状況においては、入力コントラスト成分が大きくなるか、または、輝度値が最小値または最大値に近くなるため、マッピング部４１２−１により求められるゲイン値g(p)、および、マッピング部４１２−２により求められるゲイン値g(p)のうち、いずれか一方が０に近い値になる。従って、それらの２つのゲイン値g(p)の積を算出し、最終的なゲイン値g(p)とすることにより、輝度飽和が生じやすい状況でゲイン値g(p)が大きくなることが防止される。
【０３２１】
なお、以上の説明では、マッピング部４１２−１およびマッピング部４１２−２が、同じコントラストゲインカーブを用いてゲイン値g(p)を求める例を示したが、それぞれ別のゲイン特性に基づいてゲイン値g(p)を求めるようにしてもよい。例えば、マッピング部４１２−１が、上述した特許文献１の図３のゲイン特性および輝度値Lc(nl)(p)に基づいて、ゲイン値g(p)を求め、マッピング部４１２−２が、上述したステップＳ１２２の処理と同様に、図３４のコントラストゲインカーブＣＬ３１、および、輝度値Lc(nl)(p)と大局輝度値Lcl(nl)(p)との差分値（コントラスト成分）に基づいて、ゲイン値g(p)を求めるようにすることが可能である。
【０３２２】
次に、図３７乃至図４３を参照して、本発明の第２の実施の形態について説明する。
【０３２３】
図３７は、本発明の第２の実施の形態であるPC（パーソナルコンピュータ）システム６０１の外観構成の例を示す外観構成図であり、図３８は、PCシステム６０１の機能の構成を示すブロック図である。
【０３２４】
PCシステム６０１は、例えば、市販の一般的なPCシステムと同様に、PC（パーソナルコンピュータ）６１１、液晶ディスプレイ６１２、キーボード６１３、マウス６１４、メディアリーダライタ６１５、および、プリンタ６１６を含むように構成される。
【０３２５】
PC６１１は、例えば、市販の一般的なアーキテクチャを有するPCにより構成され、図３８にその一部が示されるように、CPU６２１、メモリ６２２、表示制御部６２３、および、入出力制御部６２４を含むように構成される。CPU６２１、メモリ６２２、表示制御部６２３、および、入出力制御部６２４は、バスを介して相互に接続されている。
【０３２６】
CPU６２１は、プログラムの実行、並びに、PC６１１内の各部およびPC６１１に接続されている各装置の制御などを行う演算装置である。
【０３２７】
メモリ６２２は、例えば、ハードディスク、RAMなどにより構成され、CPU６２１が実行する各種のプログラムを格納したり、CPU６２１の処理において必要となるデータを一時的に格納したりする。
【０３２８】
表示制御部６２３は、例えば、グラフィックスコントローラおよびビデオインタフェースなどにより構成され、CPU６２１の制御の基に、表示制御部６２３に接続されている液晶ディスプレイ６１２に表示させる画像を生成し、生成した画像を液晶ディスプレイ６１２に供給し、表示させる。
【０３２９】
入出力制御部６２４は、例えば、USB（Universal Serial Bus）コントローラおよびUSBインタフェースなどにより構成され、キーボード６１３、マウス６１４、メディアリーダライタ６１５、および、プリンタ６１６が接続されている。入出力制御部６２４は、CPU６２１の制御の基に、CPU６２２と入出力制御部６２４に接続されている装置との間の通信を制御する。
【０３３０】
また、PC６１１には、所定の画像補正プログラムがインストールされている。図４１などを参照して後述するように、画像が記録されている記録メディア６０２がメディアリーダライタ６１５に装着されたとき、CPU６２１は、その画像補正プログラムを起動し、ユーザの操作に応じて、画像のコントラストを補正する処理を実行し、コントラスト補正した画像を記録メディア６０２に記録する。なお、このコントラスト補正処理は、従来のアンシャープマスキング処理をベースにして、上述した階調変換部１４３のコントラスト補正の手法を組み合わせた処理を実現するものである。
【０３３１】
図３９は、CPU６２１が画像補正プログラムを実行することにより実現される機能の構成の例を示すブロック図である。CPU６２１が画像補正プログラムを実行することにより、画像処理部６３１およびUI処理部６３３を含む機能が実現される。なお、図中、図７、図１４、および、図１７と対応する部分については同じ符号を付してあり、処理が同じ部分に関しては、その説明は繰り返しになるので省略する。
【０３３２】
画像処理部６３１は、図４１などを参照して後述するように、画像のコントラストを補正する処理を実行する。画像処理部６３１は、輝度算出部１６１、輝度画像メモリ６４１、平滑化部６４２、入出力特性設定部６４３、入出力特性カーブメモリ３４２、ゲイン特性算出部３４３、コントラストゲインカーブメモリ１６６、ゲイン値算出部３９１、コントラスト強調部３９２、補正部６４４Ｒ乃至６４４Ｂを含むように構成される。
【０３３３】
輝度算出部１６１は、記録メディア６０２から読み出され、メモリ６２２に格納されている画像のうちユーザにより選択された画像（以下、選択画像と称する）の画素値R(p)，G(p)，B(p)を読み出し、図４３を参照して後述するように、画素値R(p)，G(p)，B(p)から、その画素位置pに対応する輝度値L(p)を算出し、輝度画像メモリ６４１に記憶させる。
【０３３４】
平滑化部６４２は、例えば、所定の手法の平滑化処理を行うことにより入力画像の低周波域成分を抽出する平滑化フィルタにより構成される。平滑化部６４２は、輝度画像メモリ６４１に格納されている輝度値L(p)からなる画像（以下、輝度画像とも称する）を平滑化することにより、輝度画像の各画素の低周波成分である輝度低周波成分Ll(p)を算出し、ゲイン値算出部３９１およびコントラスト強調部３９２に出力する。
【０３３５】
入出力特性設定部６４３は、図４１を参照して後述するように、ユーザにより設定された、図３３の入出力特性カーブＣＬ２１を生成するためのパラメータである直線ＳＬ２２の傾き、コントロールポイントＰ２２の位置、および、コントロールポイントＰ２６の位置をUI処理部６３３から取得し、取得したパラメータに基づいて、入出力特性カーブＣＬ２１を生成する。すなわち、入出力特性設定部６４３は、ユーザにより指定された、入力コントラスト成分が０付近における入出力特性カーブＣＬ２１の傾き、並びに、コントロールポイントＰ２２およびコントロールポイントＰ２６により規定される補正範囲に基づいて、入出力特性カーブＣＬ２１を生成する。入出力特性設定部６４３は、生成した入出力特性カーブＣＬ２１を表すルックアップテーブルをUI処理部６３３に供給するとともに、入出力特性カーブメモリ３４２に記憶させる。
【０３３６】
ゲイン特性算出部３４３は、入出力特性カーブＣＬ２１を表すルックアップテーブルを入出力特性カーブメモリ３４２から読み出す。ゲイン特性算出部３４３は、入出力特性カーブＣＬ２１に基づいて、上述した図３４に示されるコントラストゲインカーブＣＬ３１を生成する。ゲイン特性算出部３４３は、生成したコントラストゲインカーブＣＬ３１を表すルックアップテーブルをコントラストゲインカーブメモリ１６６に記憶させる。
【０３３７】
ゲイン値算出部３９１は、輝度画像メモリ６４１から、輝度値L(p)を読み出し、コントラストゲインカーブＣＬ３１を表わすルックアップテーブルをコントラストゲインカーブメモリ１６６から読み出す。ゲイン値算出部３９１は、図４３を参照して後述するように、輝度値L(p)、輝度低周波成分Ll(p)、および、コントラストゲインカーブＣＬ３１に基づいて、ゲイン値g(p)を算出する。ゲイン値算出部３９１は、算出したゲイン値g(p)をコントラスト強調部３９２に出力する。
【０３３８】
なお、画像処理部６３１のゲイン値算出部３９１として、上述した図１８および図３６のどちらの構成を採用するようにしてもよい。
【０３３９】
コントラスト強調部３９２は、輝度画像メモリ６４１から輝度値L(p)を読み出す。コントラスト強調部３９２は、図４３を参照して後述するように、輝度画像のコントラストを補正し、コントラスト補正した輝度値Lu(p)を補正部６４４Ｒ乃至６４４Ｂに供給する。
【０３４０】
補正部６４４Ｒ乃至６４４Ｂは、それぞれ、選択画像の画素値R(p)，G(p)，B(p)をメモリ６２２から読み出し、図４３を参照して後述するように、画素値R(p)，G(p)，B(p)のコントラストを補正する。補正部６４４Ｒ乃至６４４Ｂは、それぞれ、コントラスト補正した画素値Ru(p)，Gu(p)、Bu(p)を補正画像メモリ６３２に記憶させる。
【０３４１】
なお、以下、補正部６４４Ｒ乃至６４４Ｂを個々に区別する必要がない場合、単に、補正部６４４と称する。
【０３４２】
UI処理部６３３は、図４１などを参照して後述するように、画像補正プログラムのユーザインタフェースの部分の処理を行う。例えば、UI処理部６３３は、表示制御部６２３を制御して、画像補正プログラムのGUI（Graphical User Interface）であるGUIパネル７０１（図４２を参照して後述）、コントラスト補正した画素値Ru(p)，Gu(p)、Bu(p)からなる画像（以下、補正画像とも称する）などを液晶ディスプレイ６１２に表示させる。また、例えば、UI処理部６３３は、ユーザがキーボード６１３またはマウス６１４を操作した場合、その操作に関する情報を入出力制御部６２４を介して取得し、GUIパネル７０１の表示内容を変更したり、ユーザにより設定された入出力特性カーブＣＬ２１を生成するためのパラメータを入出力特性設定部６４３に供給したりする。
【０３４３】
なお、コントラストゲインカーブメモリ１６６、入出力特性カーブメモリ３４２、補正画像メモリ６３２、および、輝度画像メモリ６４１は、それぞれ、例えば、メモリ６２２の領域の一部により実現される。
【０３４４】
図４０は、補正部６４４の機能の構成の例を示すブロック図である。補正部６４４は、除算部６７１および乗算部６７２を含むように構成される。
【０３４５】
除算部６７１は、画素値R(p)、G(p)、または、B(p)を輝度値L(p)で割った除算値を求め、乗算部６７２に出力する。
【０３４６】
乗算部６７２は、除算部６７１により算出された除算値に輝度低周波成分Ll(p)を乗じ、その結果得られた値を、コントラスト補正した画素値Ru(p)，Gu(p)、または、Bu(p)として補正画像メモリ６３２に記憶させる。
【０３４７】
次に、図４１のフローチャートを参照して、PCシステム６０１により実行される画像補正処理について説明する。なお、この処理は、例えば、メディアリーダライタ６１５に記録メディア６０２が装着され、PC６１１のCPU６２１が、画像補正プログラムを起動したとき開始される。
【０３４８】
ステップＳ２０１において、メディアリーダライタ６１５は、UI処理部６３３の制御の基に、記録メディア６０２から画像を読み込む。具体的には、UI処理部６３３は、メディアリーダライタ６１５および入出力制御部６２４を介して、記録メディア６０２に記録されているデータの内容を示す情報を取得する。UI処理部６３３は、取得した情報に基づいて、記録メディア６０２に記録されている画像をメディアリーダライタ６１５に読み込ませ、入出力制御部６２４を介して、メモリ６２２に記憶させる。
【０３４９】
ステップＳ２０２において、UI処理部６３３は、全画像のサムネイルを並べて表示させる。具体的には、UI処理部６３３は、メモリ６２２に読み込まれた全ての画像について、各画像の表示サイズを小さくしたサムネイルを生成する。UI処理部６３３は、表示制御部６２３を制御して、画像補正プログラムのGUIであるGUIパネルを液晶ディスプレイ６１２に表示させる。
【０３５０】
図４２は、このとき表示されるGUIパネルの一例を示している。図４２のGUIパネル７０１は、例えば、液晶ディスプレイ６１２の画面いっぱいに表示され、GUIパネル７０１内には、サムネイル表示領域７１１、スクロールバー７１２、スクロールボタン７１３Ｕ，７１３Ｄ、プレビュー表示領域７１４、補正特性表示領域７１５、スライダ７１６乃至７１８、および、OKボタン７１９が表示される。
【０３５１】
GUIパネル７０１の左端のサムネイル表示領域７１１には、記録メディア６０２に記録されている画像のサムネイルが縦１列に並べられて表示される。図４２においては、サムネイル表示領域７１１に、サムネイル画像ＴＮ１乃至ＴＮ４の４つのサムネイルが表示されている例が示されている。サムネイルが５つ以上ある場合は、サムネイル表示領域７１１の右側に配置されているスクロールバー７１２、スクロールボタン７１３Ｕ、または、スクロールボタン７１３Ｄを操作することにより、サムネイル表示領域７１１内に表示されるサムネイルの表示を上下にスクロールさせることができる。
【０３５２】
また、ユーザは、サムネイル表示領域７１１に表示されているサムネイルのうち１つを選択することができ、選択されているサムネイルの周囲には枠Ｆが表示される。図４２においては、サムネイルＴＮ１が選択されている例が示されており、サムネイルＴＮ１の周囲に枠Ｆが表示されている。
【０３５３】
GUIパネル７０１のほぼ中央に配置されているプレビュー表示領域７１４には、サムネイル表示領域７１１において選択されているサムネイルに対応するプレビュー画像、すなわち、ユーザにより選択された選択画像のプレビュー画像が、サムネイルより大きなサイズで表示される。図４２においては、現在選択されているサムネイルＴＮ１に対応するプレビュー画像ＧＰが、プレビュー表示領域７１４に表示されている。なお、サムネイル表示領域７１１においてサムネイルが選択されていない場合には、プレビュー表示領域７１４にプレビュー画像は表示されない。
【０３５４】
GUIパネル７０１の右下に配置されている補正特性表示領域７１５には、図３３を参照して上述した入出力特性カーブＣＬ２１が表示される。ユーザは、補正特性表示領域７１５の上部に配置されているスライダ７１６乃至７１８を左右にスライドさせることにより、それぞれ、直線ＳＬ２２の傾き（すなわち、contrastGain/γ_compの値）、コントロールポイントＰ２２の位置、および、コントロールポイントＰ２６の位置を調整し、入出力特性カーブＣＬ２１の形状を調整することができる。また、それに合わせて、補正特性表示領域７１５に表示されている入出力特性カーブＣＬ２１の形状が変化するとともに、プレビュー表示領域７１４のプレビュー画像が、調整された入出力特性カーブＣＬ２１を用いてコントラスト補正が施された画像に更新される。すなわち、ユーザは、実際に画像および入出力特性カーブＣＬ２１を目で確認しながら、コントラスト補正に用いる各パラメータの調整を行うことができる。そして、ユーザは、スライダ７１８の下に配置されているOKボタン７１９を押下することにより、補正特性表示領域７１５に表示されている入出力特性カーブＣＬ２１によるコントラスト補正の実行を確定し、コントラスト補正が施された画像を記録メディア６０２に記録させることができる。
【０３５５】
また、GUIパネル７０１には、カーソル７２０が表示され、例えば、ユーザは、キーボード６１３またはマウス６１４を用いて、カーソル７２０を移動させたり、カーソル７２０により任意の位置を指定したりすることにより、GUIパネル７０１に対する操作を行う。
【０３５６】
ステップＳ２０３において、UI処理部６３３は、記録メディア６０２が取り外されたか否かを判定する。UI処理部６３３は、記録メディア６０２が取り外されたことを示す情報がメディアリーダライタ６１５から出力されていない場合、記録メディア６０２が取り外されていないと判定し、処理はステップＳ２０４に進む。
【０３５７】
ステップＳ２０４において、UI処理部６３３は、ユーザの操作が行われたか否かを判定する。UI処理部６３３は、GUIパネル７０１に対してユーザにより行われた操作に関する情報がキーボード６１３およびマウス６１４から出力されていない場合、ユーザの操作が行われていないと判定し、処理はステップＳ２０３に戻る。
【０３５８】
その後、ステップＳ２０３において、記録メディア６０２が取り外されたと判定されるか、ステップＳ２０４において、ユーザの操作が行われたと判定されるまで、ステップＳ２０３およびＳ２０４の処理が繰り返し実行される。
【０３５９】
一方、例えば、ユーザがキーボード６１３またはマウス６１４を用いて、GUIパネル７０１に対する操作を行い、その操作に関する情報が、入出力制御部６２４を介して、キーボード６１３またはマウス６１４からUI処理部６３３に入力された場合、ステップＳ２０４において、UI処理部６３３は、ユーザの操作が行われたと判定し、処理はステップＳ２０５に進む。
【０３６０】
ステップＳ２０５において、UI処理部６３３は、キーボード６１３またはマウス６１４からの情報に基づいて、サムネイルがクリックされたか否かを判定する。サムネイル表示領域７１１に表示されているサムネイルのうちいずれかがカーソル７２０によりクリックされたと判定された場合、処理はステップＳ２０６に進む。
【０３６１】
ステップＳ２０６において、UI処理部６３３は、すでに選択されているサムネイルであるか否かを判定する。UI処理部６３３が、キーボード６１３またはマウス６１４からの情報に基づいて、ユーザによりクリックされたサムネイルが、現在選択されていないサムネイルであると判定した場合、処理はステップＳ２０７に進む。
【０３６２】
ステップＳ２０７において、UI処理部６３３は、サムネイルを選択状態にする。すなわち、UI処理部６３３は、表示制御部６２３を制御して、サムネイル表示領域７１１において、ユーザによりクリックされたサムネイルの周囲に枠Ｆを表示させる。また、それまで他のサムネイルが選択されていた場合、UI処理部６３３は、表示制御部６２３を制御して、それまで選択されていたサムネイルの周囲に表示されていた枠Ｆを消去する。
【０３６３】
ステップＳ２０８において、UI処理部６３３は、プレビュー表示領域７１４の画像を変更する。すなわち、UI処理部６３３は、表示制御部６２３を制御して、プレビュー表示領域７１４内に、新たに選択されたサムネイルに対応するプレビュー画像を表示させる。その後、処理はステップＳ２０３に戻り、ステップＳ２０３以降の処理が実行される。
【０３６４】
一方、ステップＳ２０６において、ユーザによりクリックされたサムネイルが、すでに選択されているムネイルであると判定された場合、処理はステップＳ２０３に戻り、ステップＳ２０３以降の処理が実行される。
【０３６５】
また、ステップＳ２０５において、サムネイル表示領域７１１に表示されているサムネイルのうちいずれもカーソル７２０によりクリックされていないと判定された場合、処理はステップＳ２０９に進む。
【０３６６】
ステップＳ２０９において、UI処理部６３３は、キーボード６１３またはマウス６１４からの情報に基づいて、スクロールバー７１２、または、スクロールボタン７１３Ｕ，７１３Ｄが操作されたか否かを判定する。スクロールバー７１２、または、スクロールボタン７１３Ｕ，７１３Ｄが操作されたと判定された場合、処理はステップＳ２１０に進む。
【０３６７】
ステップＳ２１０において、UI処理部６３３は、サムネイルの表示をスクロールする。すなわち、UI処理部６３３は、表示制御部６２３を制御して、スクロールバー７１２、スクロールボタン７１３Ｕ、または、スクロールボタン７１３Ｄに対する操作に応じて、サムネイル表示領域７１１内のサムネイルの表示を上方向または下方向にスクロールさせる。その後、処理はステップＳ２０３に戻り、ステップＳ２０３以降の処理が実行される。
【０３６８】
一方、ステップＳ２０９において、スクロールバー７１２、および、スクロールボタン７１３Ｕ，７１３Ｄが操作されていないと判定された場合、処理はステップＳ２１１に進む。
【０３６９】
ステップＳ２１１において、UI処理部６３３は、キーボード６１３またはマウス６１４からの情報に基づいて、スライダ７１６乃至７１８が操作されたか否かを判定する。スライダ７１６乃至７１８のいずれかが操作されたと判定された場合、処理はステップＳ２１２に進む。
【０３７０】
ステップＳ２１２において、入出力特性設定部６４３は、変更されたパラメータを入出力特性カーブＣＬ２１に適用する。具体的には、UI処理部６３３は、ユーザがスライダ７１６乃至７１８のいずれかをスライドさせることにより変更したパラメータ（直線ＳＬ２２の傾き、コントロールポイントＰ２２の位置、または、コントロールポイントＰ２６の位置）の値を示す情報を入出力特性設定部６４３に供給する。入出力特性設定部６４３は、取得したパラメータに基づいて、入出力特性カーブＣＬ２１の形状を変更する。入出力特性設定部６４３は、変更した入出力特性カーブＣＬ２１のルックアップテーブルをUI処理部６３３に供給するとともに、入出力特性カーブメモリ３４２に記憶させる。
【０３７１】
ステップＳ２１３において、UI処理部６３３は、入出力特性カーブＣＬ２１を再描画する。すなわち、UI処理部６３３は、入出力特性設定部６４３から取得したルックアップテーブルに基づいて、表示制御部６２３を制御して、変更したパラメータを適用した入出力特性カーブＣＬ２１をGUIパネル７０１の補正特性表示領域７１５に表示させる。
【０３７２】
ステップＳ２１４において、画像処理部６３１は、コントラスト補正処理を実行する。コントラスト補正処理の詳細については、図４３を参照して後述するが、この処理により、補正特性表示領域７１５に表示されている入出力特性カーブＣＬ２１に基づいて、選択画像に対してコントラスト補正を施した補正画像が生成され、補正画像メモリ６３２に記憶される。
【０３７３】
ステップＳ２１５において、UI処理部６３３は、プレビュー表示領域７１４の画像を更新する。すなわち、UI処理部６３３は、表示制御部６２３を制御して、補正画像メモリ６３２に記憶されている補正画像に基づくプレビュー画像をプレビュー表示領域７１４に表示させる。その後、処理はステップＳ２０３に戻り、ステップＳ２０３以降の処理が実行される。
【０３７４】
一方、ステップＳ２１１において、スライダ７１６乃至７１８が操作されていないと判定された場合、処理はステップＳ２１６に進む。
【０３７５】
ステップＳ２１６において、UI処理部６３３は、キーボード６１３またはマウス６１４からの情報に基づいて、OKボタン７１９が押下されたか否かを判定する。OKボタン７１９が押下されたと判定された場合、処理はステップＳ２１７に進む。
【０３７６】
ステップＳ２１７において、UI処理部６３３は、記録メディア６０２に補正画像を記録させる。具体的には、UI処理部６３３は、補正画像メモリ６３２から補正画像を読み出し、入出力制御部６２４を介して、メディアリーダライタ６１５に供給する。メディアリーダライタ６１５は、UI処理部６３３の制御の基に、記録メディア６０２に記録されているコントラスト補正前の選択画像を補正画像に置き換える。
【０３７７】
ステップＳ２１８において、UI処理部６３３は、選択画像のサムネイルの表示を更新する。具体的には、UI処理部６３３は、補正画像のサムネイルを生成し、表示制御部６２３を制御して、現在サムネイル表示領域７１１に表示されている選択画像のサムネイルを、新たに生成した補正画像に基づくサムネイルに置き換えて表示させる。その後、処理はステップＳ２０３に戻り、ステップＳ２０３以降の処理が実行される。
【０３７８】
一方、ステップＳ２１６において、OKボタン７１９が押下されていないと判定された場合、処理はステップＳ２０３に戻り、ステップＳ２０３以降の処理が実行される。
【０３７９】
また、ステップＳ２０３において、記録メディア６０２がメディアリーダライタ６１５から取り外されたと判定された場合、画像補正処理は終了する。
【０３８０】
次に、図４３のフローチャートを参照して、図４１のステップＳ２１４のコントラスト補正処理の詳細について説明する。
【０３８１】
ステップＳ２３１において、ゲイン特性算出部３４３は、上述した図３２のＳ１４２と同様の処理により、入出力特性カーブメモリ３４２に記憶されている入出力特性カーブＣＬ２１をコントラストゲインカーブＣＬ３１に変換する。ゲイン特性算出部３４３は、生成したコントラストゲインカーブＣＬ３１を表すルックアップテーブルをコントラストゲインカーブメモリ１６６に記憶させる。
【０３８２】
ステップＳ２３２において、輝度算出部１６１は、上述した図２２のステップＳ２４と同様の処理により、輝度値を算出する。ただし、輝度算出部１６１は、ステップＳ２４における画素位置ｐの画素値Rw(p)，Gw(p)およびBw(p)の代わりに、選択画像の画素位置ｐの画素値R(p)，G(p)およびB(p)をメモリ６２２から読み込み、画素値R(p)，G(p)およびB(p)を用いて、画素位置ｐに対応する輝度値L(p)を算出する。輝度算出部１６１は、算出した輝度値L(p)を輝度画像メモリ６４１に記憶させる。
【０３８３】
ステップＳ２３３において、輝度算出部１６１は、フレーム内の全ての画素を処理したか否かを判定する。まだフレーム内の全ての画素を処理していないと判定された場合、処理はステップＳ２３２に戻り、ステップＳ２３３において、フレーム内の全ての画素を処理したと判定されるまで、ステップＳ２３２およびＳ２３３の処理が繰返し実行される。すなわち、選択画像の全ての画素の輝度値が、１画素ずつ順番に（例えば、ラスタスキャン順に）算出され、選択画像の輝度値からなる輝度画像が輝度画像メモリ６４１に格納される。
【０３８４】
一方、ステップＳ２３３において、フレーム内の全ての画素を処理したと判定された場合、処理はステップＳ２３４に進む。
【０３８５】
ステップＳ２３４において、平滑化部６４２は、輝度低周波成分を算出する。具体的には、平滑化部６４２は、次に平滑化する輝度画像の画素位置pおよびその近傍の画素の輝度値を輝度画像メモリ６４１から読み出す。平滑化部６４２は、読み出した輝度値に対して所定の平滑化処理を施し、画素位置pの輝度低周波成分Ll(p)を算出し、ゲイン値算出部３９１およびコントラスト強調部３９２に供給する。
【０３８６】
ステップＳ２３５において、ゲイン値算出部３９１は、上述した図２８のステップＳ１１２と同様の処理により、ゲイン値算出処理を行う。ただし、ゲイン値算出部３９１は、ステップＳ１１２における輝度値Lc(nl)(p)および大局輝度値Lcl(nl)(p)の代わりに、輝度値L(p)および輝度低周波成分Ll(p)を用いて、画素位値pに対するゲイン値g(p)を求める。ゲイン値算出部３９１は、算出したゲイン値g(p)をコントラスト強調部３９２に供給する。
【０３８７】
ステップＳ２３６において、コントラスト強調部３９２は、上述した図２８のステップＳ１１３の処理と同様に、コントラスト補正した輝度値を算出する。ただし、コントラスト強調部３９２は、ステップＳ１１３における輝度値Lc(nl)(p)および大局輝度値Lcl(nl)(p)の代わりに、輝度値L(p)および輝度低周波成分Ll(p)を用いて、以下の式（２７）により、画素位値pのコントラスト補正した輝度値Lu((p)を算出する。
【０３８８】
Lu(nl)(p)＝(g(p)＋1)・(L(nl)(p)−Ll(nl)(p))＋Ll(nl)(p)
＝g(p)・(L(nl)(p)−Ll(nl)(p))＋L(nl)(p)    ・・・（２７）
【０３８９】
従って、輝度値Lu(nl)(p)からなる画像は、輝度値L(nl)(p)からなる輝度画像の低周波成分を除去した周波数成分であるコントラスト成分がゲイン値g(p)により強調された画像となる。従って、上述した図２８のステップＳ１１３の処理と同様に、コントラスト補正に伴う階調逆転、および、輝度値の飽和の発生が抑制される。
【０３９０】
コントラスト強調部３９２は、算出した輝度値Lu((p)を補正部６４４Ｒ乃至６４４Ｂの乗算部６７２に供給する。
【０３９１】
ステップＳ２３７において、補正部６４４Ｒ乃至６４４Ｂは、コントラスト補正したＲＧＢ値を算出する。具体的には、補正部６４４Ｒの除算部６７１は、メモリ６２２から選択画像の画素位置pの画素値R(p)を読み出し、画素値R(p)を輝度値L(p)で割った除算値を求め、乗算部６７２に供給する。乗算部６７２は、除算部６７１により算出された除算値にコントラスト補正した輝度値Lu(p)を乗じた乗算値を求め、求めた乗算値をコントラスト補正した画素値Ru(p)として、補正画像メモリ６３２に記憶させる。すなわち、画素値Ru(p)は、以下の式（２８）に示されるように、画素値R(p)にコントラスト補正後の輝度値Lu(p)とコントラスト補正前の輝度値L(p)の比率を乗じた値となる。
【０３９２】
Ru(p)＝R(p)・（Lu(p)／L(p)）  ・・・（２８）
【０３９３】
補正部６４４Ｇおよび６４４Ｂも同様に、それぞれ、以下の式（２９）および式（３０）により、コントラスト補正した画素値Gu(p)およびBu(p)を求め、補正画像メモリ６３２に記憶させる。
【０３９４】
Gu(p)＝G(p)・（Lu(p)／L(p)）  ・・・（２９）
Bu(p)＝B(p)・（Lu(p)／L(p)）  ・・・（３０）
【０３９５】
ステップＳ２３８において、平滑化部６４２は、フレーム内の全ての画素を処理したか否かを判定する。まだフレーム内の全ての画素を処理していないと判定された場合、処理はステップＳ２３４に戻り、ステップＳ２３８において、フレーム内の全ての画素を処理したと判定されるまで、ステップＳ２３４乃至Ｓ２３８の処理が繰返し実行される。すなわち、選択画像の全ての画素について、１画素ずつ順番に（例えば、ラスタスキャン順に）コントラスト補正が施される。
【０３９６】
一方、ステップＳ２３８において、フレーム内の全ての画素を処理したと判定された場合、コントラスト補正処理は終了する。
【０３９７】
以上のようにして、黒ツブレや白ツブレをほとんど発生させることなく、かつ、階調の逆転を発生させることなく、画像のコントラストを補正することができる。
【０３９８】
なお、以上にフローチャートを参照して説明した処理の順番は、その一例であり、本発明の本質に関わらない範囲で、処理の順序を入れ替えたり、複数の処理を同時に並列して行うようにしてもよい。例えば、本発明の第１の実施の形態において、入力画像のＲ、Ｇ、Ｂ成分を非線形変換した後に、輝度値を算出するようにしてもよい。また、非線形変換を行う前に、縮小画像を生成するようにしてもよい。さらに、輝度値のヒストグラムの裾野値および平均レベルを、非線形変換する前の輝度値のヒストグラムから求めた後に、非線形変換するようにしてもよい。
【０３９９】
また、類似の処理を行う構成を統合したり、共有化するようにしてもよい。例えば、マッピング部１７２−１，１７２−２、非線形変換部１６２のマッピング部２０１、および、非線形逆変換部１８２の逆マッピング部４５１を共通の回路を用いて実現することが可能である。
【０４００】
さらに、以上の説明では、トーンカーブを生成するために必要な輝度値の平均レベルを、画像全体の輝度値の平均値とするようにしたが、例えば、縮小画像の輝度値の平均値とするようにしてもよい。これにより、平均レベルの算出時間が短縮される。また、例えば、多くのカメラの制御系に設けられているAE（Auto Exposure）制御機構を利用して、画像の全体または一部の明るさをAE制御系により計測するようにしたり、AE制御系が主要な被写体と判断した被写体領域の明るさを計測して、計測された明るさに基づく輝度値を平均レベルとするようにしてもよい。さらに、ユーザに画像内の所望の領域を指定させ、指定された領域に重点をおいた平均レベルを算出することにより、ユーザが所望するものにより近いトーンカーブを生成するようにすることも可能である。
【０４０１】
なお、本発明は、上述した実施の形態以外の、画像の輝度または色値（画素値）の階調の圧縮、または、画像のコントラスト補正を行う装置（例えば、画像再生装置、画像記録装置、画像表示装置、画像出力装置など）やコンピュータプログラムなどに適用することができる。例えば、ダイナミックレンジの広い入力画像をそれより狭いダイナミックレンジのディスプレイやプリンタなどに適切な明るさまたは色で出力されるようにするための階調圧縮技術に適用することができる。
【０４０２】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０４０３】
図４４は、汎用のパーソナルコンピュータ９００の内部の構成例を示す図である。CPU（Central Processing Unit）９０１は、ROM（Read Only Memory）９０２に記憶されているプログラム、または記録部９０８からRAM（Random Access Memory）９０３にロードされたプログラムに従って各種の処理を実行する。RAM９０３にはまた、CPU９０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０４０４】
CPU９０１、ROM９０２、およびRAM９０３は、バス９０４を介して相互に接続されている。このバス９０４にはまた、入出力インタフェース９０５も接続されている。
【０４０５】
入出力インタフェース９０５には、ボタン、スイッチ、キーボードあるいはマウスなどで構成される入力部９０６、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などのディスプレイ、並びにスピーカなどで構成される出力部９０７、ハードディスクなどで構成される記録部９０８、およびモデムやターミナルアダプタなどで構成される通信部９０９が接続されている。通信部９０９は、インターネットを含むネットワークを介して通信処理を行う。
【０４０６】
入出力インタフェース９０５にはまた、必要に応じてドライブ９１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア９１１が適宜装着され、そこから読み出されたコンピュータプログラムが、記録部９０８にインストールされる。
【０４０７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図４４に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc-Read Only Memory）、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（MD(Mini-Disc)（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア９１１により構成されるだけでなく、装置本体にあらかじめ組み込まれた状態でユーザに提供される、プログラムが記録されているROM９０３または記録部９０８に含まれるハードディスクなどで構成される。
【０４０８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０４０９】
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【０４１０】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０４１１】
【図１】従来の階調変化処理を行う階調変換部の機能の構成の例を示すブロック図である。
【図２】図１のコントラスト補正部の機能の構成の例を示すブロック図である。
【図３】従来のコントラスト補正に用いられるゲイン値の特性を示すグラフである。
【図４】従来のフォトレタッチソフトウエアのアンシャープマスキング処理に用いられるゲイン値の特性の例を示すグラフである。
【図５】本発明を適用したデジタルビデオカメラの一実施の形態を示すブロック図である。
【図６】図２のDSPブロックの機能の構成の例を示すブロック図である。
【図７】図６の階調変換部の機能の構成の例を示すブロック図である。
【図８】図７の非線形変換部の機能の構成の例を示すブロック図である。
【図９】図７のトーンカーブ算出部の機能の構成の例を示すブロック図である。
【図１０】図９の輝度域算出部の機能の構成の例を示すブロック図である。
【図１１】図９の平均レベル算出部の機能の構成の例を示すブロック図である。
【図１２】図９の時間平滑化部の機能の構成の例を示すブロック図である。
【図１３】図９のスプライン発生部の機能の構成の例を示すブロック図である。
【図１４】図７のコントラストゲインカーブ算出部の機能の構成の例を示すブロック図である。
【図１５】図７の縮小画像生成部の機能の構成の例を示すブロック図である。
【図１６】図７の補間部の機能の構成の例を示すブロック図である。
【図１７】図７のコントラスト補正部の機能の構成の例を示すブロック図である。
【図１８】図１７のゲイン値算出部の機能の構成の例を示すブロック図である。
【図１９】図１７のコントラスト強調部の機能の構成の例を示すブロック図である。
【図２０】図７の非線形逆変換部の機能の構成の例を示すブロック図である。
【図２１】図５のDSPブロックにより実行される画像処理を説明するためのフローチャートである。
【図２２】図２１のステップＳ４の階調変換処理の詳細を説明するためのフローチャートである。
【図２３】図２１のステップＳ４の階調変換処理の詳細を説明するためのフローチャートである。
【図２４】図２２のステップＳ２６のトーンカーブ算出のための画素処理の詳細を説明するためのフローチャートである。
【図２５】図２２のステップＳ２７の縮小画像生成のための画素処理の詳細を説明するためのフローチャートである。
【図２６】図２２のステップＳ２８の大局輝度算出処理の詳細を説明するためのフローチャートである。
【図２７】図７の補間部の処理を説明するための図である。
【図２８】図２２のステップＳ３０のコントラスト補正処理の詳細を説明するためのフローチャートである。
【図２９】図２８のステップＳ１１２のゲイン値算出処理の詳細を説明するためのフローチャートである。
【図３０】図２３のステップＳ３６のトーンカーブとγ_comp算出処理の詳細を説明するためのフローチャートである。
【図３１】トーンカーブの例を示すグラフである。
【図３２】図２３のステップＳ３７のコントラストゲインカーブ算出処理の詳細を説明するためのフローチャートである。
【図３３】入出力特性カーブの例を示すグラフである。
【図３４】コントラストゲインカーブの例を示すグラフである。
【図３５】図２３のステップＳ３８の縮小画像生成処理の詳細を説明するためのフローチャートである。
【図３６】図１７のゲイン値算出部の機能の構成の他の実施の形態を示すブロック図である。
【図３７】本発明を適用したPCシステムの一実施の形態を示す外観構成図である。
【図３８】本発明を適用したPCシステムの一実施の形態を示すブロック図である。
【図３９】図３８のCPUが画像補正プログラムを実行することにより実現される機能の構成の例を示すブロック図である。
【図４０】図３９の補正部の機能の構成の例を示すブロック図である。
【図４１】図３８のPCシステムにより実行される画像補正処理を説明するためのフローチャートである。
【図４２】画像補正処理において表示されるGUIパネルの例を示す図である。
【図４３】図４１のステップＳ２１４のコントラスト補正処理の詳細を説明するためのフローチャートである。
【図４４】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【０４１２】
１０１  デジタルビデオカメラ，  １１６  DSPブロック，  １４３  階調変換部，  １５１  大局情報算出部，  １５２  輝度値画素処理部，  １５３  ＲＧＢ値画素処理部，  １６１  輝度算出部，  １６２  非線形変換部，  １６３  トーンカーブ算出部，  １６５  コントラストゲインカーブ算出部，  １６７  縮小画像生成部，  １７１  補間部，  １７２  マッピング部，  １７３  コントラスト補正部，  １８１  階調補正部，  １８２  非線形逆変換部，  ２２１  輝度域算出部，  ２２２  平均レベル算出部，  ２２３  時間平滑化部  ２２４  スプライン発生部，  ２４１  間引き部，  ２４２  飽和画素除外部，  ２４３，２４４  ソーティング部，  ２８１  飽和画素除外部，  ２８２  平均値算出部，  ３３１  コントロールポイント設定部，  ３３２  曲線描画部，  ３３３  γ算出部，  ３４１  入出力特性設定部，  ３４３  ゲイン特性算出部，  ３５１  ソート部，  ３５２  平均値算出部，  ３７１  近傍選択部，  ３７２  水平係数算出部，  ３７３  垂直係数算出部，  ３７４  積和部，  ３９１  ゲイン値算出部，  ３９２  コントラスト強調部，  ４１１  減算部，  ４１２  マッピング部，  ４１３  減算部，  ４１４  選択部，  ５０１  乗算部，  ６０１  PCシステム，  ６１１  PC，  ６２１  CPU，  ６３１  画像処理部，  ６３３  UI処理部，  ６４２  平滑化部，  ６４３  入出力特性設定部，  ６４４  補正部，
【図１】
2008263475.tif 000012
【図２】
2008263475.tif 000013
【図３】
2008263475.tif 000014
【図４】
2008263475.tif 000015
【図５】
2008263475.tif 000016
【図６】
2008263475.tif 000017
【図７】
2008263475.tif 000018
【図８】
2008263475.tif 000019
【図９】
2008263475.tif 000020
【図１０】
2008263475.tif 000021
【図１１】
2008263475.tif 000022
【図１２】
2008263475.tif 000023
【図１３】
2008263475.tif 000024
【図１４】
2008263475.tif 000025
【図１５】
2008263475.tif 000026
【図１６】
2008263475.tif 000027
【図１７】
2008263475.tif 000028
【図１８】
2008263475.tif 000029
【図１９】
2008263475.tif 000030
【図２０】
2008263475.tif 000031
【図２１】
2008263475.tif 000032
【図２２】
2008263475.tif 000033
【図２３】
2008263475.tif 000034
【図２４】
2008263475.tif 000035
【図２５】
2008263475.tif 000036
【図２６】
2008263475.tif 000037
【図２７】
2008263475.tif 000038
【図２８】
2008263475.tif 000039
【図２９】
2008263475.tif 000040
【図３０】
2008263475.tif 000041
【図３１】
2008263475.tif 000042
【図３２】
2008263475.tif 000043
【図３３】
2008263475.tif 000044
【図３４】
2008263475.tif 000045
【図３５】
2008263475.tif 000046
【図３６】
2008263475.tif 000047
【図３７】
2008263475.tif 000048
【図３８】
2008263475.tif 000049
【図３９】
2008263475.tif 000050
【図４０】
2008263475.tif 000051
【図４１】
2008263475.tif 000052
【図４２】
2008263475.tif 000053
【図４３】
2008263475.tif 000054
【図４４】
2008263475.tif 000055