(57)【要約】【課題】輝度ヒストグラムに応じて最適なトーンカーブを生成し、自然なコントラスト変換を行うこと。【解決手段】本発明は、画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成するヒストグラム生成部１０と、ヒストグラム生成部１０で生成されたヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定し、第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、第１の傾きと第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成するトーンカーブ生成部２０と、トーンカーブ生成部２０で生成されたトーンカーブを用いて画像信号の輝度情報を変換する輝度値変換部３０とを有する画像処理装置１である。【選択図】図７
2010130399.tif 000002
【特許請求の範囲】
【請求項１】
画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成するヒストグラム生成部と、
前記ヒストグラム生成部で生成されたヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、前記閾値を超えない第２の輝度の領域とを設定し、前記第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、前記第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、前記第１の傾きと前記第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成するトーンカーブ生成部と、
前記トーンカーブ生成部で生成されたトーンカーブを用いて前記画像信号の輝度情報を変換する輝度値変換部と
を有する画像処理装置。
【請求項２】
前記トーンカーブ生成部は、前記第２の輝度の領域が複数ある場合、各第２の輝度の領域に対応する前記第２の傾きを同じ値に設定する
請求項１記載の画像処理装置。
【請求項３】
前記トーンカーブ生成部は、前記第１の傾きとして、前記第２の傾きより大きく、前記輝度情報の最大値を前記第１の輝度の領域の範囲で割った値以下となるよう設定する
請求項１または２記載の画像処理装置。
【請求項４】
前記トーンカーブ生成部は、予め設定された前記画像信号の平均輝度に応じた傾きの値の関係を示す情報を用いて前記第１の傾きを設定する
請求項１から３のうちいずれか１項に記載の画像処理装置。
【請求項５】
前記トーンカーブ生成部は、予め設定された前記画像信号の平均輝度に応じた閾値の関係を示す情報を用いて前記閾値を設定する
請求項１から４のうちいずれか１項に記載の画像処理装置。
【請求項６】
前記トーンカーブ生成部は、予め設定された度数が超えることになるよう前記閾値を設定する
請求項１から５のうちいずれか１項に記載の画像処理装置。
【請求項７】
画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成する工程と、
生成された前記ヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、前記閾値を超えない第２の輝度の領域とを設定し、前記第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、前記第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、前記第１の傾きと前記第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成する工程と、
生成された前記トーンカーブを用いて前記画像信号の輝度情報を変換する工程と
を有する画像処理方法。
【請求項８】
画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成させるステップと、
生成された前記ヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、前記閾値を超えない第２の輝度の領域とを設定し、前記第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、前記第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、前記第１の傾きと前記第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成させるステップと、
生成された前記トーンカーブを用いて前記画像信号の輝度情報を変換させるステップと
をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。詳しくは、入力輝度と出力輝度との関係を示すトーンカーブの生成に関わる画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
表示画像の輝度分布によって適応的にコントラストを強調する技術として、ヒストグラム平坦化が知られている。ヒストグラム平坦化では、先ず、画像の輝度値を輝度ごとの度数として表したヒストグラムを作成する。次に、得られたヒストグラムを積分する。そして、積分して得られた関数の最大値が最大輝度値になるように正規化し、得られた関数を輝度変換に使用する。つまり、画像中の全ての画素について、その画素値を入力とした時の、その得られた関数の出力値を強調処理後の画素値として記録していく。この方法により、どのような画像を入力しても常に使用可能な全てのダイナミックレンジを使用する画像を生成することができる。
【０００３】
しかし、画像中で使われる画素値が狭いレンジに収まっている場合など、ヒストグラム平坦化を行うとコントラストが強調されすぎて、疑似エッジやノイズが見えやすくなり、不自然な画像になってしまうことがある。
【０００４】
そこで、特許文献１では、ヒストグラム平坦化の欠点を補うため、得られたヒストグラムにまずなんらかの変形を加えてからその後の処理を行うという方法を採用している。
【０００５】
また、特許文献２、３では、輝度ヒストグラムにおいて、ある閾値以上の範囲において最も低い輝度レベルから、同範囲において最も高い輝度レベルまでを強調すべき輝度値の範囲に設定している。そして、その輝度値の範囲外でのトーンカーブの傾きはあらかじめ決められていることから、その範囲の設定によって新たなトーンカーブを求めている。
【０００６】
【特許文献１】特開平３−１２６３７７号公報
【特許文献２】特開２００６−１６５８２８号公報
【特許文献３】特開２０００−２８７１０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術では、トーンカーブの設定において、実際の強調度合いを数値的に制御するものになっていないことから、輝度に応じた最適なトーンカーブの設定が成されてないという問題がある。また、輝度調整を行う範囲が１箇所に限定されることから、複雑なヒストグラムとなる場合に対応できないという問題がある。
【０００８】
本発明は、輝度ヒストグラムに応じて最適なトーンカーブを生成し、自然なコントラスト変換を行う技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明は、画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成するヒストグラム生成部と、ヒストグラム生成部で生成されたヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定し、第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、第１の傾きと第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成するトーンカーブ生成部と、トーンカーブ生成部で生成されたトーンカーブを用いて画像信号の輝度情報を変換する輝度値変換部とを有する画像処理装置である。
【００１０】
また、本発明は、画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成する工程と、生成された前記ヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定し、第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、第１の傾きと前記第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成する工程と、生成されたトーンカーブを用いて前記画像信号の輝度情報を変換する工程とを有する画像処理方法である。
【００１１】
また、本発明は、画像信号の輝度情報から輝度に応じた度数を表すヒストグラムを生成させるステップと、生成されたヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定し、第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定し、第１の傾きと前記第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成させるステップと、生成されたトーンカーブを用いて画像信号の輝度情報を変換させるステップとをコンピュータに実行させる画像処理プログラムである。
【００１２】
このような本発明では、輝度に応じたヒストグラムから予め設定された度数の閾値を超える領域と超えない領域とで各々輝度の入出力変換の傾きを設定するため、最適なトーンカーブを生成できるようになる。
【発明の効果】
【００１３】
本発明によれば、輝度ヒストグラムに応じた最適なトーンカーブを生成し、自然なコントラスト変換を行うことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態（以下、実施形態とする）について説明する。なお、説明は以下の順序で行う。
１．トーンカーブについて（トーンカーブによるコントラスト強調、ヒストグラム平坦化）
２．画像処理方法（ヒストグラム生成、強調輝度レベル群の選別、トーンカーブの生成、輝度補正）
３．画像処理プログラム
４．画像処理装置（装置構成、バリエーション）
５．具体例（トーンカーブの傾き決定方法、閾値の設定方法）
【００１５】
＜１．トーンカーブについて＞
［トーンカーブによるコントラスト強調］
本実施形態の説明に先立ち、トーンカーブを用いたコントラスト強調について説明する。図１は、画像信号における輝度の変換を説明する模式図である。図１に示すように、ある画素群の輝度レベルがａであり、それらに隣り合った画素群の輝度レベルがｂであるとする。この場合、前者の画素群をより低い輝度レベルａ’に、後者の画素群をより高い輝度レベルｂ’に変換することで、メリハリのあるくっきりした画像（コントラスト強調した画像）が得られる。
【００１６】
このようなコントラスト強調を行う方法として、図２に示すようなトーンカーブを用いている。トーンカーブは変換前の輝度値と変換後の輝度値との関係を示す曲線（または直線）であり、その傾きが大きいほどよりコントラストが強調される。
【００１７】
［ヒストグラム平坦化］
表示画像の輝度分布によって適応的にコントラストを強調する技術として、ヒストグラム平坦化が知られている。図３で示すように、ヒストグラム平坦化では、まず画像の輝度値を輝度ごとの度数として表したヒストグラムを作成する（図３（ａ）参照）。次に、得られたヒストグラムを積分する（図３（ｂ）参照）。そして、積分して得られた関数の最大値が最大輝度値ｍａｘになるように正規化し（図３（ｃ）参照）、得られた関数（トーンカーブ）を輝度変換に使用する。つまり、画像中の全ての画素について、その画素値を入力とした時の、その得られた関数の出力値を強調処理後の画素値として記録していく。この方法により、どのような画像を入力しても常に使用可能な全てのダイナミックレンジを使用する画像を生成することができる。
【００１８】
＜２．画像処理方法＞
次に、本実施形態に係る画像処理方法を説明する。本実施形態では、上記説明したトーンカーブによるコントラスト強調を行うものである。以下に処理の流れを示す。
【００１９】
［ヒストグラム生成］
まず、変換対象の画像中の全画素の輝度値から、輝度レベルごとの度数を表したヒストグラムを生成する。
【００２０】
［強調輝度レベル群の選別］
次に、図４で示すように、ヒストグラムの度数がある閾値を越えている輝度レベル（第１の輝度の領域）と、閾値を超えていない輝度レベル（第２の輝度の領域）とに分割する。ここで、「閾値を超える」とは、閾値より大きい場合、閾値以上の場合のいずれかであり、閾値を超えないとは、上記「閾値を超える」もの以外のことをいう。
【００２１】
そして、閾値を超える第１の輝度の領域を、コントラスト強調を施すべき輝度レベル群とする。図４に示す例では、閾値を超える領域、すなわち輝度Ys〜Yeの範囲（範囲A）の輝度レベルが第１の輝度の領域となり、コントラスト強調を施されるべき輝度レベル群となる。一方、それ以外の範囲（範囲B、範囲C）が第２の輝度の領域となり、コントラスト強調されなくてもよい輝度レベル群ということになる。
【００２２】
［トーンカーブの生成］
図４に示すように、第１の輝度の領域である範囲Aでのトーンカーブの傾きをa、第２の輝度の領域である範囲Bおよび範囲Cでのトーンカーブの傾きをbとした折れ線のトーンカーブを生成する。
【００２３】
ここで、Naを範囲A内の輝度レベル数とし、Nbを範囲Bおよび範囲C内の輝度レベル数とする。また、表現可能な最大の輝度レベルをYmaxとする。そうすると、Na、Nbは以下のように示される。
Na＝Ye−Ys
Nb＝(Ys−0)＋(Ymax−Ye)
【００２４】
この時、範囲Aでのトーンカーブの傾きaを決めてやると、以下の式で範囲Bおよび範囲Cでの傾きbが求められる。
b＝（Ymax−Na・a）／Nb
【００２５】
これにより傾きbが求められるので、輝度レベルがYsの時のトーンカーブの値Ysoと、輝度レベルがYeの時のトーンカーブの値Yeoが以下の式で求められる。
Yso＝Ys・b
Yeo＝Yso＋（Ye−Ys）・a
【００２６】
［輝度補正］
上記のように計算されたトーンカーブの傾きと範囲の境界におけるトーンカーブの輝度レベルを用いて、以下のように入力輝度レベル（Yin）から出力輝度レベル（Yout）を計算する。
【００２７】
（入力輝度レベルが範囲Bにある場合）
Yout＝Yin・b
（入力輝度レベルが範囲Aにある場合）
Yout＝Yso＋（Yin−Ys）・a
（入力輝度レベルが範囲Cにある場合）
Yout＝Yeo＋（Yin−Ye）・b
【００２８】
［第１の輝度の領域が複数ある場合］
上記のように、第１の輝度の領域および第２の輝度の領域について、各々トーンカーブの傾きを設定する方法は、図５に示すように、強調する輝度レベル範囲（第１の輝度の領域）が複数あるような場合でも適用可能である。
【００２９】
すなわち、図５（ａ）に示すヒストグラムでは、閾値を超える第１の輝度の領域が２つ設定されている。この範囲を範囲A1、A2とする。一方、閾値を超えない第２の輝度の領域が３つ設定される。この領域を輝度レベルの小さい側から範囲B、C、Dとする。
【００３０】
ここで、Naを範囲A内の輝度レベル数とし、Nbを範囲Bおよび範囲C内の輝度レベル数とする。また、表現可能な最大の輝度レベルをYmaxとする。そうすると、Na、Nbは以下のように示される。
Na＝(Ye0−Ys0)＋(Ye1−Ys1)
Nb＝(Ys0−0)＋(Ys1−Ye0)＋(Ymax−Ye1)
【００３１】
この時、範囲Aでのトーンカーブの傾きaを決めてやると、以下の式で範囲Bおよび範囲Cでの傾きbが求められる。
b＝（Ymax−Na・a）／Nb
【００３２】
これにより傾きbが求められるので、輝度レベルがYs0、Ye0の時のトーンカーブの値Yso0、Yeo0と、輝度レベルがYs1、Ye1の時のトーンカーブの値Yso1、Yeo1が以下の式で求められる。
Yso0＝Ys・b
Yeo0＝Yso0＋（Ye0−Ys0）・a
Yso1＝Yeo0＋（Ys1−Ye0）・b
Yeo1＝Yso1＋（Ye1−Ys1）・a
【００３３】
上記のように、どのようなヒストグラムであっても、閾値を超える第１の輝度の領域についてのトーンカーブの傾きaを設定すれば、閾値を超えない第２の輝度の領域が複数あってもトーンカーブの傾きbが同じ値に設定される。したがって、２つの領域の傾きを計算容易に求めることができる。なお、傾きaの設定の詳細については後述する。
【００３４】
＜３．画像処理プログラム＞
図６は、本実施形態に係る画像処理プログラムを説明するフローチャートである。本実施形態に係る画像処理プログラムはコンピュータに実行させるステップを有している。コンピュータは本実施形態に係る画像処理プログラムを実行する演算部、プログラムや各種データを格納する記憶部、入出力部を備えている。コンピュータはパーソナルコンピュータ等の電子計算機のほか、映像記録再生装置、携帯端末等の画像を取り扱うことのできる電子機器に組み込まれているものでもよい。また、本実施形態の画像処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されていたり、ネットワークを介して配信されるものでもある。
【００３５】
以下、画像処理プログラムによる処理の手順を説明する。先ず、処理対象となる画像信号を入力する（ステップＳ１）。画像信号は、カラーの場合にはＲ（赤）、Ｇ（緑）、Ｂ（青）等の各色の信号、単色の場合には該当する一色の信号である。各色の信号は、濃淡を示す輝度情報となっている。画像信号は、撮像装置によって取り込んだものや、外部の機器や回線（有線、無線）を介して読み込んだものであり、当該ステップによって一旦記憶部に格納される。
【００３６】
次に、入力した画像信号から、輝度に応じた度数を表すヒストグラムを生成する（ステップＳ２）。演算部は、当該ステップにより、記憶部に格納した画像信号の各色ごとにヒストグラムを生成する演算を行う。
【００３７】
次に、予め設定された度数の閾値により、この閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定する処理を行う（ステップＳ３）。閾値は、予め記憶部に設定されたものや、入力した画像信号の輝度情報に応じて計算されたものを用いる。演算部は、生成されたヒストグラムについて、各輝度ごとに度数と閾値との比較判定を行い、閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定する。
【００３８】
次に、第１の輝度の領域に対応したトーンカーブの傾き（第１の傾き）と、第２の輝度の領域に対応したトーンカーブの傾き（第２の傾き）とを設定する（ステップＳ４）。演算部は、先に説明した傾きaから傾きbの算出を実行する。
【００３９】
次に、設定した第１の傾きと第２の傾きとを用いてトーンカーブを生成する（ステップＳ５）。すなわち、演算部は、設定した第１の輝度の領域については第１の傾き、第２の輝度の領域については第２の傾きを割り当てて、入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成する。なお、カラーの画像信号の場合、トーンカーブは各色ごとに設定される。この際、各色ごと、第１の傾き、第２の傾きが設定される。
【００４０】
その後、生成したトーンカーブにより輝度変換を行う（ステップＳ６）。演算部は、生成したトーンカーブを用い、入力した画像信号の各色ごと、生成したトーンカーブを用いて出力の画像信号に変換する処理を行う。
【００４１】
＜４．画像処理装置＞
［装置構成］
図７は、本実施形態に係る画像処理装置の構成例を説明するブロック図である。画像処理装置１は、ヒストグラム生成部１０、トーンカーブ生成部２０、輝度値変換部３０を備えている。これらの機能部は、全てがハードウェアで構成されていても、一部がソフトウェアで構成されていても、全てが１つの半導体装置として構成されていてもよい。
【００４２】
ヒストグラム生成部１０は、入力画像を受けて、輝度情報から輝度に応じた度数を表すヒストグラムを生成する部分である。
【００４３】
トーンカーブ生成部２０は、ヒストグラム生成部で生成したヒストグラムを用いて、トーンカーブを生成するための各パラメータを設定する部分である。トーンカーブ生成部２０は、トーンカーブを生成するにあたり、ヒストグラム生成部で生成されたヒストグラムから予め設定された度数の閾値を超える第１の輝度の領域と、閾値を超えない第２の輝度の領域とを設定する。また、第１の輝度の領域について入力輝度と出力輝度との関係を示す第１の傾きを設定し、第２の輝度の領域について入力輝度と出力輝度との関係を示す第２の傾きを設定する。そして、設定した第１の傾きと第２の傾きとを用いて入力輝度の全域と出力輝度の全域との関係を示すトーンカーブを生成する。
【００４４】
輝度値変換部３０は、トーンカーブ生成部２０で生成したトーンカーブのパラメータを用い、入力画像に対して輝度値の変換を行い出力画像を生成する部分である。
【００４５】
［装置構成のバリエーション］
画像処理装置１で処理対象とする画像信号は、入力画像の全ての画素ではなく、一部の画素を用いてヒストグラムおよびトーンカーブの生成を行ってもよい。また、入力画像を複数の領域に分割して各領域ごとにヒストグラムおよびトーンカーブの生成を行ってもよい。
【００４６】
例えば、画面中のある領域だけを強調することが重要である場合がある。もし全画面でみると輝度が一様に分布していて、そのままこの方法を適用した場合に全くコントラストが強調されないことも生じる。したがって、重要な領域だけでトーンカーブを生成すれば、その領域でコントラストが強調されることになる。
【００４７】
また、輝度値変換部３０は、入力画像の画素の輝度情報が入力されるたびにトーンカーブのパラメータから輝度変換値を計算する方法のほか、次のような方法を用いてもよい。すなわち、トーンカーブのパラメータ計算時に全輝度レベル分のトーンカーブを求めておき、そのトーンカーブをルックアップテーブルとして利用する。これにより、輝度値変換部３０が輝度値の変換処理を行う際、記憶部に保存しておいたルックアップテーブルを参照し、変換後の輝度値を求めるようにする。
【００４８】
また、輝度値変換部３０による変換処理の応用として、トーンカーブのパラメータから計算する方法と、ルックアップテーブルを用いて変換する方法とを併用しても良い。また、トーンカーブ生成部２０が生成するトーンカーブは、折れ線ではなくスプラインカーブ等の曲線を適用してもよい。
【００４９】
＜５．具体例＞
次に、本実施形態の画像処理装置、画像処理方法および画像処理プログラムによるトーンカーブ生成における具体例を説明する。なお、ここでは、画素値が８ｂｉｔ、すなわち画素値（輝度値）の最大値が255の場合を例とする。
【００５０】
［トーンカーブの傾き決定方法］
生成されたヒストグラムおよび閾値判定で得られる第２の輝度の領域（閾値を超えない領域）でのトーンカーブの傾きbは、以下の式で求められる。ここで、Naは、第１の輝度の領域（閾値を超える領域）での輝度レベル数、Nbは、第２の輝度の領域での輝度レベル数、aは、第１の輝度の領域でのトーンカーブの傾きである。
b＝（255−Na・a）／Nb
【００５１】
ここで、b≧０であることから、
a≦255／Na
という条件が成り立つ。つまり、強調する輝度群（第１の輝度の領域）におけるトーンカーブの傾きaは、上記の不等式を満たした値を選択しなくてはならない。また、第１の輝度の領域について強調を行うことから、傾きaは傾きbより大きい値となる。
【００５２】
具体的なaの選択方法としては、所望の傾き値a’を決めておき、その値が上記不等式を満たさない場合は、上記不等式でaがとりうる最大値である、
a＝255／Na
をaの値とするなどの方法が考えられる。
【００５３】
これは、用途に応じた選択肢の一つとして、できうる限り最大限の強調を行いたいという場合には、この値を用いるようにするためである。
【００５４】
［第１の輝度の領域が複数ある場合］
例えば、図８に示すようなヒストグラムが生成され、閾値判定によって閾値を超える第１の輝度の領域が複数設定された場合、次のように傾きを設定する。なお、図８の例では、第１の輝度の領域として、範囲A1、A2の２つが設定されている。
【００５５】
この場合、範囲A1におけるトーンカーブの傾きをa1、範囲A2におけるトーンカーブの傾きをa2というように、各々異なるトーンカーブの傾きを設定すると、範囲A1、A2以外の範囲B、C、Dにおけるトーンカーブの傾きbは以下のように求められる。
b＝（255-a1・Na1−b・Na2）／Nbcd
ここで、Na1は、範囲A1の輝度レベル数、Na2は、範囲A2の輝度レベル数、Nbcdは、範囲b、c、dの輝度レベル数の合計である。
【００５６】
一般的に、輝度値をN個の領域に分割して、そのうちM個の領域でトーンカーブの傾きが一定だとすると、残りのN−M個の領域におけるトーンカーブを決めてやれば、M個の領域でのトーンカーブの傾きを求めることができる。これにより、複雑なヒストグラムであっても、的確なトーンカーブの傾きを簡単な計算処理で設定できる。
【００５７】
［ヒストグラムに適用する閾値の設定例］
（その１）
閾値の設定例の１つとして、ユーザが任意に選択する、もしくは予め設定された複数の閾値からユーザが選択することが挙げられる。例えば、輝度値0〜全画素数（度数の最大値）の間で閾値とすべき値をキーボード等の入力部を用いてユーザが直接入力するか、いくつかのプリセット値を用意しておき、その中からユーザが選択する。例えば、画像処理に関するモード（シネマモード、ノーマルモード、ビビッドモード等）に応じて各閾値を用意しておく。そして、ユーザが画像処理に関するモードを選択した際、その選択したモードに応じて用意された閾値を設定するようにする。
【００５８】
ここで、コントラスト強調を行うと、よりくっきりとした画像が得られるが、映画などの演出としてわざとコントラストを低くしている場合や、ユーザの好みとしてはっきりした画像を好まない場合もある。つまり、その状況に応じた最適なコントラストの強調度合いは実際にユーザが使用する時点にならないと分からない場合がある。このような場合に、ユーザが自ら強調度合いを設定できると、常にその状況に最適な設定を採用することが可能となる。
【００５９】
また、予め最適な閾値を用意しておき、その値を固定値として常に使用するようにしてもよい。
【００６０】
（その２）
閾値の設定例の１つとして、画素数のうち設定された割合が常に強調されるように閾値を選択することが挙げられる。具体的には次のように行う。
【００６１】
「r％による閾値の設定方法：その１」
先ず、ヒストグラムの度数が１の輝度値の集合を求めて、その度数の合計を求める。次に、ヒストグラムの度数が２の輝度値の集合を求めて、その度数の合計を先に求めた度数１の場合の合計にさらに加算する。これを、最終的に合計が全画素数のr％を超える、もしくは同じになるまで続ける。そして、最後に合計を出した画素数を閾値として選択する。これにより、常に全画素数の中の決まった割合の画素数が強調されることとなり、強調される画素数があまりにも少ない（もしくは多い）ということを防ぐことができる。
【００６２】
ここでは、ヒストグラムを作成する時に、通常のメモリ（もしくはレジスタファイル）上に作成するのではなく、ＣＡＭ（Content Addressable Memory：連想メモリ）上に作成しておくと、度数がnとなる輝度値の集合を高速に求めることができる。
【００６３】
「r％による閾値の設定方法：その２」
ここでは、ヒストグラムが正規分布であると仮定して、画素数の約r％が常に強調されるように選択する方法である。
【００６４】
先ず、ヒストグラムの標準偏差を求める。次に、ヒストグラムが、求められた標準偏差を持つ正規分布だと仮定した場合、図９に示すようなテーブル等を用いて、全体のr％が含まれるような輝度値を求める。なお、テーブル上に選択したいr％の値が無い場合は、内挿や最も近い値などによって求める。そして、その輝度値での度数を求め、それを閾値とする。これにより、常に全画素数の中の決まった割合の画素数が強調されることとなり、強調される画素数があまりにも少ない（もしくは多い）ということを防ぐことができる。しかも、上記その１に比べてより少ない計算量で求めることができる。
【００６５】
例えば、r％として95.4％を選択した場合、｜平均値−輝度値｜／標準偏差＝２がテーブルより選択される。そして、予め求めた輝度の平均値と標準偏差とから、｜平均値−輝度値｜／標準偏差＝２となる輝度値を求め、この輝度値での度数を閾値として設定する。これにより、全画素数の95.4％が第１の輝度の領域として強調されることになる。
【００６６】
（その３）
閾値の設定例の１つとして、輝度値のr％が常に強調されるように選択することが挙げられる。先ず、ヒストグラムの度数１を閾値とした場合に、強調される（第１の輝度の領域となる）輝度値の度数の合計を数え、この合計と全画素数のr％とを比較する。合計が全画素数のr％より大きい場合には、閾値を度数１つ分増加し、強調される輝度値の度数の合計およびr％との比較を行う。この処理を、輝度値の合計が全画素数のr％以下になるまで繰り返す。そして、最終的に得られた度数を閾値とする。
【００６７】
［第１の輝度の領域におけるトーンカーブの傾きaの設定例］
（その１）
強調する領域である第１の輝度の領域におけるトーンカーブの傾きaの設定例の１つとして、ユーザが任意に選択する、もしくは予め設定された傾きからユーザが選択することが挙げられる。具体的な選択方法は、上記閾値の選択方法と同様であり、ユーザが任意に選択したり、プリセット値から選択したりする。また、最適な固定値を用いるようにしてもよい。
【００６８】
これにより、ユーザが状況に応じて最適なコントラストの強調度合いを選択することが可能となる。例えば、映画などの演出としてわざとコントラストを低くしている場合や、ユーザの好みとしてはっきりした画像を好まない場合、その状況に応じた最適なコントラストの強調度合いを実際にユーザが使用する時点で設定することが可能となる。
【００６９】
（その２）
第１の輝度の領域におけるトーンカーブの傾きaの設定例の１つとして、ヒストグラムの平均輝度値に基づき決定することが挙げられる。例えば、入力した画像信号における複数画素の平均輝度が高いほど、傾き値を大きくする、もしくは小さくする。また、平均輝度が高いまたは低いほど傾きを大きく、平均輝度が中ぐらいの値の場合は傾きを小さく、もしくはその逆に設定する。
【００７０】
例えば、全体的に暗すぎる画像や明るすぎる画像では、コントラストを強調することで視認性が大きく改善されることがある。一方、一般的に目が疲れるなどコントラストを強調しすぎることが好まれない場合もある。そこで、輝度が中ぐらいの画像では強調度合いを弱めつつ、最低限輝度が高いか低い画像でのみ強調度合いを強めることで、両者のバランスをとることができる。
【００７１】
また、図１０に示すように、平均輝度と傾きとの関係を示す情報（関数やルックアップテーブル等）を用意しておき、この情報を用いて平均輝度から傾きを求めて設定するようにしてもよい。
【００７２】
これにより、上記と同様、輝度が中ぐらいの画像では強調度合いを弱めつつ、最低限輝度が高いか低い画像でのみ強調度合いを強めることで、両者のバランスをとることができるとともに、平均輝度値と傾きの関係をよりきめ細かく設定することが可能となる。
【００７３】
以上説明した本実施形態によれば、画像の内容に応じて自動的にコントラストを強調することが可能となる。また、その時に強調の度合いを任意に決めることも可能である。また、輝度のヒストグラムにおける閾値判定で設定した領域ごと、簡単な計算でトーンカーブの傾きを設定する方法では、ルックアップテーブルを用いる場合に比べて低い電力、もしくは高速に輝度変換を行うことが可能となる。
【００７４】
また、本実施形態の技術を画像表示装置に搭載することで、視聴者の好みに応じた強調度合いを調節できる。また、画像撮像装置、画像編集装置に搭載することで、画像撮影者、編集者の好みに応じた強調度合いを調節できる。また、コントラスト強調の度合いを調節することで、不自然な画像になることを防止することが可能となる。また、移動体端末に搭載することで、その低電力性を活かして従来よりも電池寿命を長くすることが可能となる。
【図面の簡単な説明】
【００７５】
【図１】画像信号における輝度の変換を説明する模式図である。
【図２】トーンカーブの例を示す図である。
【図３】ヒストグラム平坦化によるトーンカーブの生成を説明する図である。
【図４】ヒストグラムの閾値判定によるトーンカーブの生成を説明する図である。
【図５】第１の輝度の領域が複数ある場合のトーンカーブの生成を説明する図である。
【図６】本実施形態に係る画像処理プログラムを説明するフローチャートである。
【図７】本実施形態に係る画像処理装置の構成例を説明するブロック図である。
【図８】第１の輝度の領域が複数ある場合のヒストグラムの例を示す図である。
【図９】テーブルデータの例を示す図である。
【図１０】平均輝度と傾きとの関係を示す情報の例を示す図である。
【符号の説明】
【００７６】
１…画像処理装置、１０…ヒストグラム生成部、２０…トーンカーブ生成部、３０…輝度値変換部
【図１】
2010130399.tif 000003
【図２】
2010130399.tif 000004
【図３】
2010130399.tif 000005
【図４】
2010130399.tif 000006
【図５】
2010130399.tif 000007
【図６】
2010130399.tif 000008
【図７】
2010130399.tif 000009
【図８】
2010130399.tif 000010
【図９】
2010130399.tif 000011
【図１０】
2010130399.tif 000012