(57)【要約】【課題】  画素値の頻度分布の偏りによって生じる視覚特性の影響を考慮した画像補正を行うことを目的とする。【解決手段】  画素値のヒストグラムの頻度値から累積頻度を算出する累積手段と、累積頻度から画素値に対応する補正値を算出する算出手段と、ヒストグラムから階調の偏りを算出する手段と、階調の偏りに基づいて、補正値に重みを乗じた補正値を算出する重み演算手段と、重みを乗じた補正値を用いて画素値を補正する階調補正手段を備える。【選択図】  図１
2011215828.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する入力手段と、
前記画像データが表す画素値のヒストグラムを生成する生成手段と、
前記ヒストグラムの頻度値から累積頻度を算出する累積手段と、
前記累積頻度から前記画素値に対応する補正値を算出する算出手段と、
前記ヒストグラムから階調の偏りを算出する偏り算出手段と、
前記階調の偏りに基づいて、前記補正値に重みを乗じた補正値を算出する重み演算手段と、
前記重み演算手段により算出された補正値を用いて、前記画像データが表す画素値を補正する階調補正手段と
を備えることを特徴とする画像補正装置。
【請求項２】
前記偏り算出手段は、前記ヒストグラムの頻度の重心を算出することを特徴とする請求項１に記載の画像補正装置。
【請求項３】
前記偏り算出手段は前記ヒストグラムにおける頻度が大きい値を用いて、偏りを算出することを特徴とする請求項１に記載の画像補正装置。
【請求項４】
前記重み演算手段は、過去の画像データに関する重みを用いて前記重みを算出することを特徴とする請求項１に記載の画像補正装置。
【請求項５】
前記偏り算出手段は、過去の画像データに関する階調偏りと前記階調偏りを比較し、前記比較の結果に基づいて重みの算出をすることを特徴とする請求項４に記載の画像補正装置。
【請求項６】
画像補正装置の制御方法であって、
画像データを入力する入力工程と、
前記画像データが表す画素値のヒストグラムを生成する生成工程と、
前記ヒストグラムの頻度値から累積頻度を算出する累積工程と、
前記累積頻度から前記画素値に対応する補正値を算出する算出工程と、
前記ヒストグラムから階調の偏りを算出する偏り算出工程と、
前記階調の偏りに基づいて、前記補正値に重みを乗じた補正値を算出する重み演算工程と、
前記重みを乗じた補正値を用いて、前記画像データが表す画素値を補正する階調補正工程とを
備えることを特徴とする方法。
【請求項７】
コンピュータに読み込ませ実行させることで、前記コンピュータに、請求項６の各手順を実行させるためのプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の階調を制御する技術に関する。
【背景技術】
【０００２】
画像データのコントラスト、ホワイトバランス、カラーバランスなどを制御する技術として以下のようなものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３２２０４７号公報
【特許文献２】特開２００３−２８１５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来は、画素値の値域に対して一律の重みをつけて制御しており、それら画素値の頻度分布の偏りによって生じる視覚特性の影響について考慮されていなかった。例えば、画像の暗い部分が多ければ順応等によって同じ暗いところでも面積によっては感度が異なるが、その視覚特性についてまで十分に考慮されていなかった。本発明は上記従来例に鑑みて成されたものであり、画素値の頻度分布の偏りによって生じる視覚特性の影響を考慮した画像補正を行うことを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を解決するために、本発明の画像補正装置によれば、画像データを入力する入力手段と、前記画像データが表す画素値のヒストグラムを生成する生成手段と、前記ヒストグラムの頻度値から累積頻度を算出する累積手段と、前記累積頻度から前記画素値に対応する補正値を算出する算出手段と、前記ヒストグラムから階調の偏りを算出する偏り算出手段と、前記階調の偏りに基づいて、前記補正値に重みを乗じた補正値を算出する重み演算手段と、前記重み演算手段により算出された補正値を用いて、前記画像データが表す画素値を補正する階調補正手段とを備える。
【発明の効果】
【０００６】
本発明によれば、画素値の頻度分布の偏りによって生じる視覚特性の影響を考慮した画像補正を行うことができる。例えば、画像の暗い部分が多ければ順応等によって同じ暗いところでも面積によって感度が異なる特性で補正が行なわれるので、全体の視覚的印象を上げることができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置の一例を示す図
【図２】階調偏り算出器９の構成を示す図
【図３】重み演算器８の構成を示す図
【図４】補正の重みを表す図
【図５】画像補正処理のフローチャート
【図６】画像補正処理のフローチャート
【図７】ヒストグラムを表す図
【図８】ヒストグラムを表す図
【図９】画像補正処理のフローチャート
【図１０】画像処理装置の一例を示す図
【図１１】メモリ３０１の使用状況を表す図
【図１２】画像補正処理のフローチャート
【図１３】画像補正処理のフローチャート
【発明を実施するための形態】
【０００８】
［第１の実施形態］
以下、第１の実施形態を図面を用いて説明する。図１は、本発明を適用した画像補正装置を示すブロック図である。図１において、１は動画像のフレーム画像を格納するフレームメモリである。２は出力先を変えるセレクタ、３はヒストグラムを算出するヒストグラム加算器である。本実施形態では説明を容易にするため、入力する画像データ（画素値）を輝度値として説明するが、これに限定されない。また、輝度値は８ビットで表されるものとして説明するが、他のビット数で表されている場合にも適用できる。４は生成されたヒストグラムを格納するヒストグラムメモリである。５はヒストグラムから補正値を得るために累積ヒストグラムを生成するヒストグラム累積演算器であり、６はその結果を格納する累積ヒストグラムメモリである。７は全ての輝度に対応してヒストグラムの生成を終わった後に累積ヒストグラムを正規化する正規化器である。１００は、補正重み算出部である。９はヒストグラムから分布の偏りを算出する階調偏り算出器である。１０はその偏りから重みを算出する重み算出器である。８は正規化された累積ヒストグラムに対して、重み算出器１０で算出した重みを作用させ、重み付けを行う重み演算器である。１１は重み演算器８で生成されたＬＵＴデータを格納し、実際の画像に作用させて補正を行うＬＵＴである。上述したように構成された画像補正装置における画像補正動作を以下で説明する。補正処理に先立ち、ヒストグラムメモリ４、累積ヒストグラムメモリ６は、初期状態にリセットされる。また、フレームメモリ１も初期状態にリセットされる。画像データはフレーム単位で入力され、フレームメモリ１に格納される。フレームメモリ１に格納後、画像データから順次画素データを読み出し、輝度信号をヒストグラム加算器３に入力する。ヒストグラム加算器３は、輝度信号が表す輝度値のヒストグラムを生成する。具体的には、輝度信号が表す輝度値をヒストグラムメモリ４のアドレスとして、頻度値として格納されている内容（ヒストグラムにおける１つの頻度値）を読み出し、その頻度値に１を加算し、ヒストグラムメモリ４の同一アドレスに格納する。１画面分の輝度信号について、ヒストグラムへの加算が終了した後、ヒストグラム累積演算器５と階調偏り算出器９のそれぞれは、上記加算済みのヒストグラムのデータを読み出す。ヒストグラム累積演算器５は、ヒストグラムメモリ４に格納されている輝度値ｉに対応する頻度をＨ［ｉ］としたとき、累積ヒストグラムを表す累積頻度Ｒ［ｉ］を次式で算出する。
Ｒ［ｉ］＝Ｈ［ｉ］＋Ｒ［ｉ−１］   但し、Ｒ［０］＝Ｈ［０］・・・（１）
算出された累積頻度Ｒ［ｉ］は、累積ヒストグラムメモリ６に格納される。一方、階調偏り算出器９は、階調の偏りをヒストグラムの重心として算出する。
【０００９】
図２は、階調偏り算出器９の構成図である。図２において、２０はヒストグラムメモリ４からデータを読み出すためのアドレスカウンタであり、輝度値ｉに相当するアドレスを順次出力する。２１は乗算器であり、アドレスカウンタ２０から出される、輝度値ｉと後述する入力値とを乗算する。２２は加算器であり、乗算器２１からの出力と後述するレジスタ２３の内容を加算する。２３はレジスタであり、加算器２２の加算結果を格納する。２４はレジスタ２３の内容を総画素数、最大輝度値で除算を行う、除算器である。
【００１０】
以上の構成において、フレームの処理に先駆けてレジスタ２３の内容をＫとし、初期状態にリセットしておく。階調偏り算出器９は、アドレスカウンタ２０を最低輝度値０から順に輝度値ｉとそれに該当するヒストグラムメモリ４のメモリアドレスを出力する。このメモリアドレスはヒストグラムメモリ４に入力され、該当する頻度Ｈ［ｉ］を読み出し、乗算器２１に入力される。乗算器２１は、次式の演算を行い、加算器２２にその結果Ｄ［ｉ］を出力する。
Ｄ［ｉ］＝Ｈ［ｉ］×ｉ・・・（２）
加算器２３は、Ｄ［ｉ］を受け取り、レジスタ２３内の値Ｋから
Ｋ＝Ｋ＋Ｄ［ｉ］・・・（３）
を求め、レジスタの内容を更新する。全ての輝度値ｉについて加算が終了したら、除算器２４はレジスタＫの内容をフレーム内の総画素数Ｓと最高輝度値Ｍ（８ビットであれば２５５）で割り、階調偏り度Ｑを次式で算出する。
Ｑ＝Ｋ／Ｓ／Ｍ・・・（４）
【００１１】
階調偏り度Ｑは重み算出器１０に入力される。重み算出器１０は、上記偏りが輝度値の中央値Ｃからどのくらい離れているかに応じて重みを変化させる。具体的には、中央値Ｃ以上の値に関する重み（明部重み）をＷＵとし、中央値Ｃ未満の値に関する重み（暗部重み）をＷＤとすると、階調偏り度Ｑが０．５未満であれば、
ＷＤ＝１−｜０．５−Ｑ｜  ＷＵ＝１．０・・・（５）
階調偏り度Ｑが０．５以上であれば、
ＷＤ＝１．０  ＷＵ＝１−｜０．５−Ｑ｜・・・（６）
これらの値を算出して、重み演算器８に入力する。一方、累積ヒストグラムメモリ６に格納された累積ヒストグラムは正規化器７に入力される。正規化器７では累積ヒストグラムの最大値Ｓ（全画素の輝度値の総和）が最高輝度値Ｍになるように正規化する。即ち、輝度値ｉに対する正規化値Ｎ［ｉ］は、
Ｎ［ｉ］＝Ｒ［ｉ］＊Ｍ／Ｓ・・・（７）
で算出され、重み演算器８に入力する。この正規化された結果Ｎ［ｉ］と重み算出器１０で算出された明部重みＷＵと、暗部重みＷＤとに基づいて、重み演算器８はＬＵＴデータを生成する。
【００１２】
図３は、重み演算器８の構成を示す図である。図３において、３１は暗部重みＷＤを格納する暗部重みレジスタであり、３２は明部重みＷＵを格納する明部重みレジスタである。３３は累積ヒストグラムメモリ６からデータを読み出し、正規化値を入力するためのアドレスカウンタであり、輝度値ｉに相当するアドレスを順次出力する。３４は比較器であり、入力されるアドレス値が輝度値の中央値Ｃ未満／以上を判定する。３５は演算器であり、比較器３４で判定された結果、中央値Ｃ未満であれば暗部重みレジスタ３１から暗部重みＷＤを読み出し、そうでなければ明部重みレジスタ３２から明部重みＷＵを読み出して重みを演算する。３６は基本的な特性を表す基本特性カーブを格納するメモリである。この基本特性は、例えば上述した特開２０００−３２２０４７における図４（ｄ）に示すような特性であれば良い。３７は、輝度ｉに基づいて基本カーブメモリ３６から読み出された基本特性Ｂ［ｉ］から正規化器７から入力された正規化値Ｎ［ｉ］を減ずる減算器である。３８は減算器３７の出力と演算器３５の出力を乗ずる乗算器であり、３９は基本カーブメモリ３６から読みだされた基本特性Ｂ［ｉ］と乗算器３８の出力を加算する加算器である。以上の構成により、処理に先駆けて暗部重みレジスタ３１及び明部重みレジスタ３２には、重み算出器１０から出力された暗部重みＷＤと明部重みＷＵが格納される。アドレスカウンタ３３は、図２のアドレスカウンタ２０と同様に、最低輝度値０から順に輝度値ｉとそれに該当する累積ヒストグラムメモリ６のメモリアドレスを出力する。メモリアドレスは累積ヒストグラムメモリ６に入力され、正規化器７を介して、該当する正規化値Ｎ［ｉ］を入力し、減算器３７に入力する。減算器３７は入力された正規化値Ｎ［ｉ］と基本カーブの値Ｂ［ｉ］から差分Ｅ［ｉ］を得る。
Ｅ［ｉ］＝  Ｂ［ｉ］−Ｎ［ｉ］・・・（８）
【００１３】
一方、輝度値ｉは比較器３４に入力され、中央値Ｃと比較される比較した結果、輝度値ｉが中央値Ｃ未満であれば、演算器３５は暗部重みレジスタ３１から暗部重みＷＤを読み出す。逆に中央値Ｃ以上であれば、セレクタ３５は明部重みレジスタ３２から明部重みＷＵが読み出す。ヒストグラムによる補正量の強度を重みＷ［ｉ］とした時に、算出式は下記のとおりである。
Ｗ［ｉ］＝（ｉ−Ｃ）２×ＷＤ  （但しｉ＜Ｃ）
Ｗ［ｉ］＝（ｉ−Ｃ）２×ＷＵ       （但しｉ≧Ｃ）・・・（９）
【００１４】
図４に階調偏り度Ｑが０．９であったときのＷ［ｉ］の様子を示す。階調偏り度Ｑが０．９ということはかなり明るい画像であり、白とびがおき易い状態である。よってこの場合には、図４のように明部にヒストグラムによる補正が強くかかるようにする。この重みＷ［ｉ］は乗算器３８に入力される。乗算器３８はその重みＷ［ｉ］と、減算器３７からの入力である差分値Ｅ［ｉ］を入力し、次式の乗算によってヒストグラム依存補正値Ｆ［ｉ］を算出する。
Ｆ［ｉ］＝Ｅ［ｉ］＊Ｗ［ｉ］・・・（１０）
【００１５】
加算器３９は、このヒストグラム依存補正値Ｆ［ｉ］に基本カーブの値Ｂ［ｉ］を加算して入力信号の補正に用いられる補正ＬＵＴ値、ＬＵＴ［ｉ］を算出する。
ＬＵＴ［ｉ］＝Ｂ［ｉ］＋Ｆ［ｉ］・・・（１１）
【００１６】
図１に戻って、算出された補正ＬＵＴ値（ＬＵＴ［ｉ］）は、ＬＵＴ１１に入力される。ＬＵＴ１１は入力輝度値をアドレスとして補正されたＬＵＴ値を出力することで補正を行なう。実際にはフレームメモリ１からセレクタ２を介してＬＵＴ１１に画像データが入力されるとその輝度値が補正されて出力される。
【００１７】
図５は、第１実施形態に係る画像処理装置における１フレーム分の画像処理の手順を示すフローチャートである。まずステップＳ１にて、各種メモリ、カウンタ値を０にリセットし、セレクタ２をＬＵＴ内容の決定のためにヒストグラム加算器３に接続する。ステップＳ２にて、フレームメモリ１から輝度値を読み出し、ヒストグラムを求める。また、そのヒストグラムから累積ヒストグラムを生成する。ステップＳ３にて、ヒストグラムからその階調の偏り度を重心等によって算出する。ステップＳ４にて、求められた階調の偏り度から、明部重みＷＵと暗部重みＷＤを生成する。ステップＳ５にて、求められた累積ヒストグラムから、基本補正特性と累積ヒストグラムと重み明部重みＷＵと暗部重みＷＤから補正のためのＬＵＴの内容を生成する。ステップＳ６にて、生成されたＬＵＴの内容を用いて画像を補正した後、１フレーム分の処理を終了する。このような一連の選択動作により、階調の偏りによって階調補正の量を調整することで、画像全体が暗かったり、明るかったりする際の階調補正を調整することができ、無駄に階調を割り当てることが避けられる。なお、（５）式、（６）式の方式は上記に限定されず、非線形であったり、中央値からの差分で比を算出したりしてもかまわない。即ち、中央値からの距離に応じて、一方の重みを制御してもかまわない。即ち、中央値を境にして、重心がある区間の重みを１とし、無い方の区間の重みを（｜Ｃ−Ｑ｜）／Ｃとしてもかまわない。さらには条件で重みが変わったりしてもかまわない。
【００１８】
［第２実施形態］
以下、第２の実施形態を、図面を用いて説明する。図６において実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。２００は補正重み算出部である。２０１は算出された偏りから算出された重みをヒストグラムを参照して補正する重み補正器である。上記のように構成された画像補正装置における画像補正動作を以下で説明する。第１実施形態と同様に、処理に先立ち、ヒストグラムメモリ４、累積ヒストグラムメモリ６、フレームメモリ１が初期状態にリセットされ、画像データはフレームメモリ１に格納される。フレームメモリ１に格納後、ヒストグラム加算器３で書き輝度の頻度を計数し、ヒストグラムメモリ４に格納する。１画面分の画像データに関してヒストグラムへの加算が終了した後に、ヒストグラム累積演算器５は累積ヒストグラムを表す累積頻度を算出し、階調偏り算出器９は階調の偏りをヒストグラムの重心として算出する。さらに重み算出器１０で偏りが輝度値の中央値Ｃからどのくらい離れているかによって明部重みＷＵと暗部重みＷＤを生成する。重み補正器２０１は特定の輝度に頻度が集中している場合、その重みを小さくするように補正する補正値Ｈを算出する。ヒストグラムメモリ４からヒストグラムを読み出し、閾値Ｔｈと比較する。閾値Ｔｈは経験的に決定される。例えば、２５６階調の場合は１フレームの画素数の２％とする。即ち、各輝度値に平均して画素が分散する場合、各輝度値は０．４％程度の比率となる。その５倍程度として設定する。次に輝度値ｉに対するヒストグラムをＨｉｓｔ［ｉ］とするとＨｉｓｔ［ｉ］が閾値Ｔｈを越えた連続する最大個数Ｌを算出する。図７にヒストグラムを示す。閾値Ｔｈと比較し、これを越える連続最大個数Ｌは図中のＬ１の大きさとなる。また、図８に別なヒストグラムを示す同様に。連続最大個数Ｌは図中のＬ２の大きさとなる。ここで、前輝度数Ｓ（８ビットであれば２５６）に対する比を補正値Ｈとする。Ｈが閾値Ｚと比較し、閾値Ｚよりも大きければ補正値Ｈを１とする。その後、Ｈの２乗値を重みに乗じて重みを補正する。階調偏り度Ｑが０．５以上であれば、
ＷＤ＝ＷＤ×Ｈ２・・・（１２）
それ以外であれば
ＷＬ＝ＷＬ×Ｈ２・・・（１３）
となる。即ち、図７のヒストグラムを持つ画像に対してはその重みは図８のヒストグラムを持つ画像に比べて非常に小さな値になる。以下、第１実施形態と同様に、これらの値は、重み演算器８に入力される。一方、累積ヒストグラムメモリ６に格納された累積ヒストグラムは正規化器７で正規化され、重み演算器８に入力される。重み演算器８では第１実施形態と同様に正規化された結果と重み補正器２０１で補正された明部重みＷＵと、暗部重みＷＤから、ＬＵＴデータを生成し、生成後、セレクタ２を介して画像データを読み込み、ＬＵＴで補正を行い、出力する。
【００１９】
図９は、第２実施形態に係る画像処理装置における１フレーム分の画像処理の手順を示すフローチャートである。第１実施形態の図５と同じ機能を果たすステップについては同じ番号を付し、説明を省略する。ステップＳ１からステップＳ４にて、ヒストグラムを求め、累積ヒストグラムを生成して階調の偏り度を重心等によって算出する。求められた階調の偏り度から、明部重みＷＵと暗部重みＷＤを生成する。ステップＳ２００にて、生成された重みに対して重み補正値を算出する。ステップＳ５からステップＳ６にて、ＬＵＴの内容を用いて画像を補正した後、１フレーム分の処理を終了する。このような一連の選択動作で、階調の偏りによって階調補正の量を調整し、特定の輝度への頻度の集中に対応して重みを補正することで、画像全体が明暗に対する階調補正の調整において、大きな面積でのトーン補正を抑制し、全体の印象を自然に補正できる。なお、重みの補正値の算出方法はこれに限定されず、例えば頻度分布の分散値を基準にしてもかまわない。
【００２０】
［第３実施形態］
図１０は、第３の実施に係る画像処理装置の構成を示すブロック図である。図１０において、３００は装置全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）である。３０１は本装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。３０２は種々の装置をつなぎ、データ、制御信号をやり取りするバスである。３０３は装置の起動、各種条件の設定、再生の指示を行うための端末である。３０４はソフトウェアを蓄積する記憶装置である。３０５は画像データを蓄積する記憶装置である。記憶装置３０４および、３０５はシステムから切り離して移動できるメディアで構成することも出来る。３０６は動画像をフレーム単位で獲得するカメラである。３０７は画像を表示するモニタであり、３０９は通信回路であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。３０８は通信回路３０９を介して符号化データを送受信する通信インターフェースである。説明を容易にするため、輝度・色度とも８ビットの階調を持つものとして説明するが、これに限定されない。メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳや動作させるソフトウェアを格納する。さらに、画像データを格納する画像エリア、各種演算パラメータ等を格納しておくワーキングエリア、ヒストグラムを格納しておくヒストグラムエリアや変換のためのＬＵＴを格納しておくＬＵＴエリアが存在する。このような構成において画像補正処理について説明する。処理に先立ち、端末３０３から装置全体に対して起動が指示され、各部が初期化される。すると記憶装置３０４に格納されているソフトウェアがバス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。メモリ３０１のメモリの使用、格納状況を図１１に示す。メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ、画像補正処理する動画補正処理ソフトウェアが格納されている。さらには、カメラ３０６を制御して動画像を１フレームずつ入力する画像入力ソフトウェア、画像をモニタ３０７に表示する画像表示ソフトウェアが格納されている。このような構成において、全体の処理の動作について図１２に示すフローチャートに従って説明する。説明を容易にするために、入力画像を輝度値が８ビットの画像を用いることとするが、これに限定されない。ステップＳ３００にて、処理に先立ち、メモリ３０１上のヒストグラムエリアに、ヒストグラムを格納するＨｉｓｔ［２５６］と、累積ヒストグラムを格納するＣｏｍ［２５６］を確保する。画像を補正するための補正データを格納するＣ［２５６］をＬＵＴエリアに確保する。また、補正を行うフレームの画像データから算出された補正データを格納するＬ１［２５６］と過去の補正データを格納するＬＰ［２５６］を確保する。初期値として、それぞれの補正データに基本補正特性を表す内容を格納する。また、画像エリアにカメラ３０６で入力された画像を１フレーム分格納する領域ＩＭ０、出力するフレーム画像を格納する領域ＩＭ１を確保する。ステップＳ３０１にて、端末３０３から終了の指示があったかどうかを判定し、終了であればステップＳ３０５に進み、そうでなければステップＳ３０２に進む。ステップＳ３０２にて、メモリ３０１上の画像入力ソフトウェアを起動し、カメラ３０６から１フレームずつフレーム画像を入力し、画像エリア上の領域ＩＭ０に格納する。以後、画像入力ソフトウェアは順次、フレーム画像を入力し格納するが、特にこれに言及しない。ステップＳ３０３にて、動画補正処理ソフトウェアを起動する。ＣＰＵ３００による画像補正処理を行う動作について図１３に示すフローチャートに従って説明する。ステップＳ３１１にて、カメラ３０６から入力されたフレームデータを画像エリア上の領域ＩＭ０に格納する。ステップＳ３１２にて、ヒストグラムを作成する。まずはメモリ３０１上の動領域のヒストグラムであるヒストグラムエリアのＨｉｓｔ［ｉ］（ｉ＝０〜２５５）の全てを初期状態（ゼロ）にする。続いて、メモリ３０１上の画像エリアの領域ＩＭ０に格納された画像データの輝度値Ｙ（ｘ，ｙ）（ｘ、ｙは画素の水平、垂直位置を表す）を読み出し、Ｈｉｓｔ［Ｙ（ｘ，ｙ）］の内容に１を加える。全ての画素の輝度値に対して読み出しと加算が終了したら、ステップＳ３１３に進む。ステップＳ３１３にて、ヒストグラムエリアに格納されているヒストグラムのＨｉｓｔ［ｉ］（ｉ＝０〜２５５）から次式に従い、累積ヒストグラムＣｏｍ［ｉ］（ｉ＝０〜２５５）を生成する。
Ｃｏｍ［ｉ］＝Ｈｉｓｔ［ｉ］＋Ｃｏｍ［ｉ−１］   但し、Ｃｏｍ［０］＝Ｈｉｓｔ［０］・・・（１４）
【００２１】
累積ヒストグラムＣｏｍ［ｉ］（ｉ＝０〜２５５）はメモリ３０１上のヒストグラムエリアに格納される。ステップＳ３１４にて、ヒストグラムエリアに格納されているヒストグラムのＨｉｓｔ［ｉ］から階調偏り度Ｑを算出する。階調偏り度Ｑの算出については第１実施形態と同様でかまわない。ステップＳ３１５にて、第１実施形態と同様に階調偏り度Ｑを用いて、中央値Ｃからどのくらい離れているかによって明部重みＷＵと暗部重みＷＤを生成し、ワークエリアに格納する。ステップＳ３１６にて、ヒストグラムエリアに格納された、累積ヒストグラムＣｏｍ［ｉ］（ｉ＝０〜２５５）とワークエリアに格納された明部重みＷＵと暗部重みＷＤから第１実施形態のＬＵＴ［ｉ］と同様に補正を行うＬＵＴデータであるＬ１［ｉ］を生成する。ステップＳ３１７にて、ヒストグラムエリアに格納されているヒストグラムのＨｉｓｔ［ｉ］（ｉ＝０〜２５５）の解析を行う。第２実施形態と同様にＨｉｓｔ［ｉ］が閾値Ｔｈを越えた輝度値をワークエリアに格納する。ステップＳ３１８にて、過去（例えば１フレーム前）のフレームの閾値Ｔｈを越えた輝度値を比較し、同じ輝度値に対して処理するフレームまたは過去のフレームのみに閾値Ｔｈを越えた輝度値の数Ｄを計数する。ステップＳ３１９にて、Ｄを閾値ＴＴと比較し、その差異が大きいと判定されたら、ステップＳ３２０に進み、そうでなければステップＳ３２１に進む。ステップＳ３２０にて、過去のフレームと大きく輝度特性が変化したものとして、現フレームから得られたＬＵＴデータを補正に用いることとする。そのため、ＬＵＴデータＬ１［ｉ］をＬＵＴエリアの補正テーブルＣ［ｉ］に複写する。その後、ステップＳ３２２に進む。ステップＳ３２０にて、過去のフレームと大きく輝度特性が変化していないものとして、現フレームから得られたＬＵＴデータＬ１［ｉ］と過去のフレームのＬＵＴデータＬＰ［ｉ］の加重平均によって補正用のＬＵＴデータを算出する。そして、ＬＵＴエリアの補正テーブルＣ［ｉ］に格納する。その後、ステップＳ３２２に進む。
【００２２】
ステップＳ３２２にて、画像エリアの領域ＩＭ０に格納されている１フレームの画像データに対して、画素ごとに補正テーブルＣ［ｉ］で補正を行い、その結果を画像エリアの領域ＩＭ１に格納する。ステップＳ３２３にて、補正テーブルＣ［ｉ］を過去のＬＵＴデータとしてＬＵＴエリアのＬＵＴデータＬＰ［ｉ］に移動し、フレーム単位の処理を終了し、次のフレームの処理に移行する。図１２に戻り、ステップＳ３０４で画像表示ソフトウェアを起動し、メモリ３０１上の画像エリアの領域ＩＭ１の輝度値と色度値を読み出してモニタ３０７上にその内容を表示する。その後、次のフレームの処理を行うためにステップＳ３０１に進む。このような一連の選択動作により、過去のフレームの情報を参照することで画像情報の変化に対して、迅速に対応することが出来る。なお、ここではカメラ３０６からの入力画像に対して画像補正を施したが、これに限定されず、入力画像として、記憶装置３０５に格納されている静止画像や動画像であっても良い。また、出力に関してもモニタ３０７への表示に限定されず、通信インターフェース３０８、通信回路３０９を介して外部に出力してもかまわない。また、累積ヒストグラムの各輝度値の絶対値差分の和を計算してその全画素数の割合に対する大きさをヒストグラムの分布の指標としても良い。この割合が大きければ画像の特性が大きく変化したものとしてステップＳ３１９でステップＳ３２０の処理を選択するようにしても良い。また、算出した階調偏り度Ｑと過去のフレームの階調偏り度ＱＰを比較してその差異によって判定しても良い。また、過去のフレームとの特性の差異を１フレーム前のヒストグラムとの比較で判定したが、さらにそれ以前のフレームのヒストグラムと比較しても良い。例えば１フレーム前との差異が大きくてもそれ以前のフレームとの差異が小さい場合、全フレームに対する補正を過去のフレームの特性に置き換えて処理を行うことも可能である。すなわち、ノイズ等で１フレームの輝度特性が変化したとしてもそれに追従して補正を行わないようにすることでフレーム間での変化を強調せずに、人の感覚にやさしい補正を行うことが出来る。さらにはステップＳ３２０で現フレームのＬＵＴデータＬ１のみを使用することとしたが、これに限定されず、過去のＬＵＴデータとの加重平均を用いる際に現フレームのＬＵＴデータＬ１の割合を高めても良い。
【００２３】
［他の実施の形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するプログラムを、ネットワーク又はそのプログラムを格納した記憶媒体を介してシステムや装置に供給し、そのシステムや装置のコンピュータ（またはＣＰＵ等）がコンピュータプログラムを読み出して実行する処理である。
【図１】
2011215828.tif 000003
【図２】
2011215828.tif 000004
【図３】
2011215828.tif 000005
【図４】
2011215828.tif 000006
【図５】
2011215828.tif 000007
【図６】
2011215828.tif 000008
【図７】
2011215828.tif 000009
【図８】
2011215828.tif 000010
【図９】
2011215828.tif 000011
【図１０】
2011215828.tif 000012
【図１１】
2011215828.tif 000013
【図１２】
2011215828.tif 000014
【図１３】
2011215828.tif 000015