(57)【要約】【課題】  フリッカの発生を抑制するとともに、動画像の状態に応じて適切な補正を行う。【解決手段】  動画像をフレーム単位で入力する入力手段と、前記入力された画像の特徴量を算出する特徴量算出手段と、前記特徴量を複数フレーム分保持する保持手段と、前記入力された画像の被写体若しくは背景が動いている状態か、静止している状態かを判定する動き判定手段と、前記動き判定手段の結果に応じた複数画像の特徴量を平滑化する平滑化手段と、前記平滑化手段の出力に基づいて、前記入力された画像を補正する画像補正手段とを備える。【選択図】  図１
2008160417.tif 000002
【特許請求の範囲】
【請求項１】
動画像をフレーム単位で入力する入力手段と、
前記入力された画像の特徴量を算出する特徴量算出手段と、
前記特徴量を複数フレーム分保持する保持手段と、
前記入力された画像の被写体若しくは背景が動いている状態か、静止している状態かを判定する動き判定手段と、
前記動き判定手段の結果に応じた複数画像の特徴量を平滑化する平滑化手段と、
前記平滑化手段の出力に基づいて、前記入力された画像を補正する画像補正手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記平滑化手段は、前記動き判定手段の結果が動いている状態と判定された場合に、静止状態と判定された場合よりも少ないフレーム数で特徴量を平滑化することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記平滑化手段は、前記動き判定手段の結果が同じである複数画像の特徴量を平滑化することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数画像は連続したフレームであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記動き判定手段は、連続する複数画像の差分値を算出し、該差分値に基づいて判定することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記特徴量算出手段は、前記入力された画像の輝度ヒストグラムを特徴量として算出することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記特徴量算出手段は、前記入力された画像の輝度ヒストグラムから求められる補正値を特徴量として算出することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記画像処理装置は更に、
前記画像補正手段において使用する補正値のテーブルデータを生成するテーブル生成手段を備え、前記画像補正手段は前記テーブルデータを用いて画像を補正することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記画像処理装置は更に、
前記入力された画像からシーンチェンジを検出するシーンチェンジ検出手段とを備え、
前記平滑化手段は、前記シーンチェンジの検出結果に基づいて、前記特徴量を平滑化することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記平滑化手段は、前記シーンチェンジが検出された場合に、前記保持手段に保持された複数画像の特徴量を破棄することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
動画像をフレーム単位で入力する入力工程と、
前記入力された画像の特徴量を算出する特徴量算出工程と、
前記入力された画像の被写体若しくは背景が動いている状態か、静止している状態かを判定する動き判定工程と、
前記動き判定手段の結果に応じた複数画像の特徴量を平滑化する平滑化工程と、
前記平滑化工程の出力に基づいて、前記入力された画像を補正する画像補正工程とを備えることを特徴とする画像処理方法。
【請求項１２】
請求項１１に記載の画像処理方法を実行するプログラムコード。
【請求項１３】
請求項１２に記載の画像処理プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラムを記録したコンピュータ可読記録媒体及び画像処理プログラムに関し、特に動画像の階調を制御する画像処理に関する。
【背景技術】
【０００２】
従来、静止画像データのコントラスト、ホワイトバランス、カラーバランスなどを制御する様々な画像補正技術が提案されている。この画像補正技術の１つとして、図９に示されるような技術が開示されている。（特許文献１）
この技術では、画像のハイライト部の、色の偏りの比率によって画像の特徴を判別し、その結果によってホワイトバランス補正の度合いを調整し、同時にコントラスト、ハイライト、シャドウを最適に補正し、物体の色を忠実に再現する方法が開示されている。
【０００３】
一方、静止画像だけでなく、動画像においても画像のコントラスト、ホワイトバランス、カラーバランスなどを補正する画像補正技術が必要とされている。
【特許文献１】特開平１１−３１７９５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の画像補正技術を動画像に適用すると、上述の画像補正技術はフレーム単位で補正処理を行うため、前後のフレームの補正値と異なる場合があり、この補正値の差分がフリッカ（画像のちらつき）として認識される問題があった。特に動画像における静止領域（背景等）の動きがないところに画像補正による変化が生じるため、劣化として認識される問題があった。
【０００５】
従って、本発明は前記課題を考慮して、フリッカの発生を抑制するとともに、動画像の動きに応じて適切な補正を行う画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の画像処理装置は以下のような構成を備える。即ち、動画像をフレーム単位で入力する入力手段と、前記入力された画像の特徴量を算出する特徴量算出手段と、前記特徴量を複数フレーム分保持する保持手段と、前記入力された画像の被写体若しくは背景が動いている状態か、静止している状態かを判定する動き判定手段と、前記動き判定手段の結果に応じた複数画像の特徴量を平滑化する平滑化手段と、前記平滑化手段の出力に基づいて、前記入力された画像を補正する画像補正手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、フリッカの発生を抑制するとともに、動画像の状態に応じて適切な補正が可能になる。
【発明を実施するための最良の形態】
【０００８】
＜実施形態１＞
本実施形態の画像処理装置において画像補正を行うための構成例を図１に示し、詳細に説明する。
【０００９】
１、２は動画像のフレーム単位の画像を格納するフレームメモリである。フレームメモリ１は入力された画像を、フレームメモリ２は入力された画像の１フレーム前の画像を格納する。３はフレームメモリ１に入力された画像の各輝度値の出現頻度を計数してヒストグラムを生成するヒストグラム生成部である。４はヒストグラム生成部３で生成されたヒストグラムを画像ごとに格納するヒストグラムメモリである。ヒストグラムメモリ４は、入力された画像からＮ（Ｎは２以上）フレーム分格納できる。すなわち、入力された画像以前の（Ｎ−１）フレーム前までのヒストグラムを格納する。５はフレームメモリ１の入力画像とフレームメモリ２に格納されている１フレーム前の画像とを比較して、入力された画像に動きがほとんどない静止状態か、動きのある動作状態かを判定する動き判定部である。６は動作状態と静止状態とで平滑化するフレーム数を決定する平滑フレーム数決定部である。７はヒストグラム平滑化部である。ヒストグラム平滑化部７は、まず平滑フレーム数決定部６が決定した動作状態と静止状態の平滑化フレーム数のヒストグラムデータをヒストグラムメモリ４から読み出す。次に各画像の輝度値ごとに頻度を読み出して加算し、平滑化するフレーム数で割って平滑化を行う。８は平滑化されたヒストグラムから補正を行うための補正値を算出する補正値算出部である。補正値の種類や算出方法は一般的な方法を用いることができる。ここでは、前述の特許文献１に記載された画像処理装置におけるハイライト値ＬＨ、シャドウ値ＬＳなどを算出するものとする。９は算出された補正値から補正を行うためのテーブルデータを生成するＬＵＴ生成部である。１０はＬＵＴ生成部９で生成されたテーブルデータを格納し、フレームメモリ１から１画素毎に画素データを読み出して入力画像の補正を行う補正部である。１１はフレームメモリであり、補正された画像を格納するフレームメモリである。１２は動画像を入力するための入力端子であり、１３は補正された画像を出力する出力端子である。
【００１０】
図２に本実施形態における画像補正処理のフローチャートを示す。
【００１１】
ステップＳ１において、各処理部並びに各メモリが初期化される。ステップＳ２において、処理する画像が終了したかどうか終了判定を行う。処理する画像が終了していれば、そのまま処理を終了する。そうでなければステップＳ３に進む。
【００１２】
ステップＳ３において、入力端子１２から入力された画像はフレームメモリ１に格納される。ステップＳ４において、ヒストグラム生成部３は、フレームメモリ１に格納された画像のヒストグラムを生成する。ヒストグラム生成部３におけるヒストグラム生成方法を以下に説明する。まず、各輝度値Ｐに対してそのヒストグラムの各値をＨＰとする。Ｔ（Ｔ≧１）フレーム目の画像が入力されたとき、全ての輝度値Ｐ（０〜２５５）に対するヒストグラムＨＴＰは０にリセットされる。
ＨＴＰ＝０  （但しＰ＝０〜２５５）…（１）
入力されたｉ番目の画素の輝度値がＰｉとすると
ＨＴＰｉ＝ＨＴＰｉ＋１…（２）
として計数してヒストグラムデータを生成する。ヒストグラム生成部は、１画像の全ての画素について計数が終わると、ヒストグラムメモリ４の所定の領域に作成したヒストグラムデータを格納する。
【００１３】
すなわち、ＨＴＰ（但しＰ＝０…２５５）の値を格納する。ここで説明を容易にするため、ヒストグラムメモリ４に格納できるフレーム数Ｍを５とするがこれに限定されない。
【００１４】
また、ここでは説明を容易にするため入力輝度が画素あたり８ビットのデータとするがこれに限定されない。
【００１５】
ステップＳ５において、動き判定部５はフレームメモリ１に格納されている入力画像とフレームメモリ２に格納されている画像を用いて、入力画像が動作状態か静止状態かを判定する。動作状態とは、動画像で被写体自体が動いていたり、被写体及び背景が撮影している撮像装置の動作（ズーム、パン、チルト等）によって動いている状態を示す。静止状態とは、被写体及び背景が静止していてなおかつ、撮影している撮像装置も固定である状態を示す。判定の方法には様々な方法があるが、本実施形態では同一位置の画素ごとに差分をとり、その絶対値和を求め閾値と比較し、閾値よりも大きければ動作状態、小さければ静止状態と判定する。その他の方法としては、ブロックマッチングなどによって動きベクトルを求め、その大きさによっても判定できる。動き判定部５の結果は平滑フレーム数決定部６に入力される。
【００１６】
ステップＳ６において、入力された画像が動き判定部５において動作状態と判定されれば、ステップＳ７に進み、静止状態と判定されればステップＳ９に進む。平滑フレーム数決定部６はヒストグラム平滑化部７で入力画像を平滑化するフレーム数を決定する。ステップＳ６にて動き判定部５で動作状態と判定した場合、平滑化するフレーム数はＤ（Ｄ＜Ｎ）とする。ステップＳ６にて静止状態と判定した場合には、平滑化するフレーム数はＭ（Ｍ≦Ｎ）とする。フレーム数Ｍ、Ｄは固定値であり、動作状態のフレーム数Ｍは静止状態のフレーム数Ｄよりも少ないことが望ましい。本実施形態ではＭは３フレーム、Ｄは５フレームとするがこれに限定されない。
【００１７】
ステップＳ６において動作状態と判定された場合、平滑化するフレーム数はＤとなる。ステップＳ７において、ヒストグラム平滑化部７は、ヒストグラムメモリ４上のヒストグラムデータのうち、Ｄフレーム分を残し、他のフレームを消去する。そしてステップＳ８において、Ｄフレーム分のヒストグラムデータがヒストグラム平滑化部７に入力され、入力されたヒストグラムデータは輝度値ごとの頻度が加算され、平均を算出して平滑化される。但し、ヒストグラムメモリ４内にＤフレーム未満のフレーム数のヒストグラムしか無い場合は、格納されているフレーム数で平滑化を行う。すなわち、平滑化された輝度値Ｐに対する平滑化後のヒストグラム＾ＨＴＰは次式で求められる。
＾ＨＴＰ＝（ΣＴｔ＝（Ｔ−ｄ＋１）ＨｔＰ）／ｄ…（３）
但し  Ｄフレーム以上格納時：ｄ＝Ｄ
Ｄフレーム未満格納時：ｄ＝格納されているフレーム数
【００１８】
一方、ステップＳ６において静止状態と判定された場合、平滑化するフレーム数はＭとなる。ステップＳ９において、Ｍフレーム分のヒストグラムデータがヒストグラム平滑化部７に入力され、入力されたヒストグラムデータは輝度値ごとの頻度が加算され、平均を算出して平滑化される。但し、ヒストグラムメモリ４内にＭフレーム未満のフレーム数のヒストグラムしか無い場合は、格納されているフレーム数で平滑化を行う。すなわち、平滑化された輝度値Ｐに対する平滑化後のヒストグラム＾ＨＴＰは次式で求められる。
＾ＨＴＰ＝（ΣＴｔ＝（Ｔ−ｍ＋１）ＨｔＰ）／ｍ…（４）
但し  Ｍフレーム格納時    ：ｍ＝Ｍ
Ｍフレーム未満格納時：ｍ＝格納されているフレーム数
ステップＳ１０において、平滑化されたヒストグラムは補正値算出部８に入力され、補正値が算出される。
【００１９】
補正値の算出方法の一例を示す。まず補正後のハイライトポイント（ＨＰ）として「２４５」を、補正後のシャドウポイント（ＳＰ）として「１０」を設定しておく。尚、ハイライト領域は９９〜１００％、シャドウ領域は０〜１％であるとする。
【００２０】
次に、平滑化したヒストグラムに基づいて画像のハイライトポイント（ＬＨ）を算出する。ここでＬＨは、画像のハイライト領域における最低輝度である。従って図１０に示すヒストグラム例においては、ハイライト領域９９〜１００％に相当する輝度範囲は２３０〜２５５となるため、ＬＨは「２３０」である。
【００２１】
次に、平滑化したヒストグラムに基づいて画像のシャドウポイント（ＬＳ）を算出する。ここでＬＳは、画像のシャドウ領域における最高輝度である。従って図１０に示すヒストグラム例においては、シャドウ領域０〜１％に相当する輝度範囲は０〜１４となるため、ＬＳは「１４」である。
【００２２】
以上の処理により、画像のハイライトポイント（ＬＨ）と補正後のハイライトポイント（ＨＰ）、シャドウポイント（ＬＳ）と補正後のシャドウポイント（ＳＰ）が補正値として算出される。
【００２３】
ステップＳ１１において、算出された補正値はＬＵＴ生成部９に入力され、入力値と画像補正された値との関係がテーブルデータとして生成される。
【００２４】
ステップＳ１２において、生成されたテーブルデータは補正部１０に入力され、入力されたテーブルデータに従って、フレームメモリ１から入力された入力画像は補正される。補正された入力画像はフレームメモリ１１に格納される。最後にフレームメモリ１１の内容は端子１３から出力され、フレームメモリ１の内容はフレームメモリ２に移される。
【００２５】
このような一連の動作により、動作状態の画像については静止状態での平滑化フレーム数より少ないフレーム数でヒストグラムを平滑化することで、フリッカの発生を抑制するとともに、動画像の状態に応じて適切な補正が行える。
【００２６】
＜実施形態２＞
本実施形態の画像処理装置において画像補正を行うための構成例を図３に示し、詳細に説明する。
【００２７】
実施形態１においては、動き判定部５による動き判定に応じて、平滑化するフレーム数を決定し、決定されたフレーム数のヒストグラムを平滑化した。本実施形態では入力画像の動き判定と、過去フレームの動き判定の結果から平滑化するフレーム数を決定し、決定されたフレーム数の補正値を平滑化する。図３において実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００２８】
２０はヒストグラムから補正値を算出する補正値算出部である。ここでは実施形態１と同様にハイライト値ＬＨ、シャドウ値ＬＳなどを算出するものとするが、これに限定されない。２１は補正値メモリであり、補正値算出部２０で算出された補正値、及び動き判定部５の判定結果を併せて格納する。補正値メモリ２１は、入力された画像からＮ（Ｎ≧２）フレーム分の補正値を格納できる。すなわち、入力されたフレーム以前の（Ｎ−１）フレーム前までの補正値と動き判定結果を格納する。２２は平滑フレーム数決定部６が決定したフレーム数の補正値を補正値メモリ２１から読み出し加算して、平滑化するフレーム数で割り、平滑化を行う補正値平滑化部である。
【００２９】
図４は、実施形態２における画像処理を示すフローチャートである。図４において実施形態１の図２と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００３０】
ステップＳ１からステップＳ４にて、実施形態１と同様に、入力端子１２から入力された動画像のフレームデータはフレームメモリ１に格納される。ヒストグラム生成部３において、ヒストグラムが生成される。
【００３１】
ステップＳ１０１にて、補正値算出部２０は実施形態１における補正値算出部８と同様にハイライト値ＬＨ、シャドウ値ＬＳを算出する。算出された補正値は補正値メモリ２１に入力される。
【００３２】
ステップＳ１０２にて、動き判定部５は実施形態１と同様に、入力画像が動作状態か静止状態かを判定する。
【００３３】
動き判定部５の結果は補正値メモリ２１と平滑フレーム数決定部６に入力される。
【００３４】
補正値メモリ２１の所定の領域に補正値算出部２０からの補正値と動き判定部５からの判定結果を格納する。すなわち、ハイライト値やシャドウ値などとともに動き判定結果、例えば動作状態では１を、静止状態では０を格納する。ここで説明を容易にするため、補正値メモリ２１に格納できるフレーム数Ｎを５とするがこれに限定されない。
【００３５】
ステップＳ１０３にて、入力画像が動作状態であれば、ステップ１０４に進み、そうでなければステップＳ１０５に進む。
【００３６】
平滑フレーム数決定部６は補正値平滑化部２２で平滑化するフレーム数を決定する。動き判定部５で動作状態と判定した場合にはフレーム数Ｄを平滑化し、静止状態と判定した場合にはフレーム数Ｍを平滑化する。
【００３７】
ステップＳ１０４にて、補正値メモリ２１上の補正値のうち、Ｄフレーム分の補正値が補正値平滑化部２２に入力され、平滑化される。
【００３８】
ここで補正値平滑化部２２は、入力されたＤフレーム分の補正値の中で、入力された入力画像の動き判定と同じ動作状態である各補正値を加算し、平均を算出して平滑化する。又は、各補正値の中に静止状態が含まれる場合、入力画像からさかのぼって静止状態であった画像の直前のフレームまでの画像の補正値の平均値を算出する。
【００３９】
但し、補正値メモリ２１内にＤフレーム未満のフレーム数の補正値しか無い場合は、格納されているフレーム数で平滑化を行う。たとえばハイライト値を例にとって説明する。平滑化された補正値＾ＨｌＴは、Ｔフレーム目の画像が入力されたときの補正値ＬＨＴとしたときを次式で求められる。
＾ＬＨＴＰ＝（ΣＴｔ＝（Ｔ−ｄ＋１）ＬＨｔＰ）／ｄ…（５）
但し  Ｄフレーム以上格納時：ｄ＝Ｄ
Ｄフレーム未満格納時：ｄ＝格納されているフレーム数
【００４０】
一方、ステップＳ１０３において静止状態と判定された場合、平滑化するフレーム数はＭとなる。ステップＳ１０５において、Ｍフレーム分の補正値が補正値平滑化部２２に入力され、各補正値が加算され、平均を算出して平滑化する。この場合も同様に、入力されたＭフレーム分の補正値の中で、入力された入力画像の動き判定と同じ静止状態である各補正値を加算し、平均を算出して平滑化する。
【００４１】
又は、各補正値の中に動作状態が含まれる場合、入力画像からさかのぼって動作状態であった画像の直前のフレームまでの静止状態である画像の補正値の平均値を算出する。但し、補正値メモリ２１内にＭフレーム未満のフレーム数の補正値しか無い場合は、格納されているフレーム数で平滑化を行う。すなわち、平滑化された補正値＾ＨｌＴＰは次式で求められる。
＾ＬＨＴＰ＝（ΣＴｔ＝（Ｔ−ｍ＋１）ＬＨｔＰ）／ｍ…（６）
但し  Ｍフレーム格納時    ：ｍ＝Ｍ
Ｍフレーム未満格納時：ｍ＝格納されているフレーム数
ステップＳ１１において、平滑化された補正値はＬＵＴ生成部９に入力され、入力値と画像補正された値との関係をテーブルデータにする。
【００４２】
ステップＳ１２において生成されたテーブルデータは補正部１０に入力され、入力されたテーブルデータにしたがって、フレームメモリ１から入力された画像を補正する。最後にフレームメモリ１１の内容は端子１３から出力され、フレームメモリ１の内容はフレームメモリ２に移される。
【００４３】
このような一連の動作により、実施形態１同様の効果を得ることができる。
【００４４】
＜実施形態３＞
図５は、実施形態３における画像処理装置の構成例を示すブロック図である。図５において、３００は装置全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）である。３０１は本装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。３０２は種々の装置をつなぎ、データ、制御信号をやり取りするバスである。３０３は装置の起動、各種条件の設定、再生の指示を行うための端末である。３０４はソフトウェアを蓄積する記憶装置である。３０５は符号化データや画像データを蓄積する記憶装置である。記憶装置３０４及び、３０５はシステムから切り離して移動できるメディアで構成することも出来る。３０６は動画像をフレーム単位で獲得するカメラである。３０７は画像を表示するモニタであり、３０９は通信回路であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。３０８は通信回路３０９を介して符号化データを送受信する通信インターフェースである。説明を容易にするため、各色８ビット／画素の階調を持つものとして説明するが、これに限定されない。
【００４５】
メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳや動作させるソフトウェアを格納する。さらに、画像を格納する画像エリア、各種演算や符号化の際のパラメータ等を格納しておくワーキングエリアが存在する。
【００４６】
このような構成における本実施形態の画像補正処理について説明する。
【００４７】
処理に先立ち、端末３０３から装置全体に対して起動が指示され、初期化される。すると記憶装置３０４に格納されているソフトウェアがバス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。
【００４８】
メモリ３０１の使用状況及び格納状況を図６に示す。メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ、画像補正処理する動画補正処理ソフトウェアが格納されている。さらには、カメラ３０６を制御して動画像を１フレーム毎に入力する画像入力ソフトウェア、画像をモニタ３０７に表示する画像表示ソフトウェアが格納されている。
【００４９】
このような構成においてまず、メモリ３０１上のワーキングエリアに、ヒストグラムを格納するＨ［２５５］を確保する。テーブルデータをＮフレーム分格納する領域Ｌ［２５５］［Ｎ］を確保する。さらに、画像を補正するためのテーブルデータを格納するＬ０［２５５］を確保する。
【００５０】
また、画像エリアにカメラ３０６で入力された画像を１フレーム分格納する領域ＩＭ０、１フレーム前の画像を格納する領域ＩＭ１、出力する画像を格納するＩＭ２を確保する。
【００５１】
次に、メモリ３０１上の画像入力ソフトウェアを起動し、カメラ３０６から１フレーム毎に画像を入力し、画像エリア上のＩＭＯに格納する。また、画像エリア上のＩＭＯに格納される画像は、記憶装置３０５に蓄積されている画像でもかまわない。次に画像表示ソフトウェアを起動し、画像データが画像エリア上のＩＭ２に格納されるとモニタ３０７に表示する。以後、画像表示ソフトウェアは順次、格納された画像を表示する。
【００５２】
次に動画補正処理ソフトウェアを起動する。ＣＰＵ３００による画像補正処理を行う動作について図７に示すフローチャートに従って説明する。
【００５３】
まずステップＳ２０１にて、各メモリ領域を０にクリアし、初期化を行う。また、変数ｍに１を代入する。
【００５４】
ステップＳ２０２にて、端末３０３から終了の指示がある等のプログラムの終了が指示された場合、確保した領域を開放して処理を終了する。そうでなければステップＳ２０３に進む。
【００５５】
ステップＳ２０３にて、画像入力ソフトウェアによって画像がメモリ３０１上の画像エリアＩＭ０に格納される。
【００５６】
ステップＳ２０４にて、最初にヒストグラムＨ［］の内容を全て０にクリアする。続いて、画像エリアＩＭ０に格納された画像データの輝度値を読み出し、ヒストグラムを生成する。入力された輝度値がｐであれば、Ｈ［ｐ］の内容に１を加える。
【００５７】
ステップＳ２０５にて、ヒストグラムＨ［］の内容に従って、補正値を算出し、メモリ３０１上のワークエリアに格納しておく。
【００５８】
ステップＳ２０６にて、ワークエリアに格納された補正値に基づいて、テーブルデータを生成し、メモリ３０１上のワークエリアのテーブルデータＬ０［］に格納する。
【００５９】
ステップＳ２０７にて、テーブルデータＬの内容の移動を行う。変数ｍに１を加える。変数ｍの値がＮを超えた場合は変数ｍにＮを代入する。変数ｍの値が格納するフレーム数Ｎ以下であれば、テーブルデータＬ［］［ｖ―１］の内容をテーブルデータＬ［］［ｖ］（ｖ＝１…ｎ―１）に格納する。テーブルデータＬ［］［Ｎ―１］に値があっても上書きされ、保存されなくなる。最後にテーブルデータＬ［］［０］にステップＳ２０６で求めたテーブルデータＬ０［］を複写する。
【００６０】
ステップＳ２０８にて、メモリ３０１上の画像エリアＩＭ１に格納された前の画像と画像エリアＩＭ０に格納された画像データを比較し、シーンチェンジを検出する。シーンチェンジ検出の方法については既に様々な方式が提案されており、いずれの方法を用いてもかまわない。シーンチェンジが有れば変数Ｃに１を、そうでなければ０を格納する。
【００６１】
ステップＳ２０９にて、変数Ｃが１であれば、ステップＳ２１０に進み、０であれば、ステップＳ２１１に進む。
【００６２】
ステップＳ２１０にて、テーブルデータＬ［］［１］からテーブルデータＬ［］［Ｎ―１］の値を０にクリアする。さらに変数ｍに１を代入し、ステップＳ２１５に進む。
【００６３】
ステップＳ２１１にて、動き判定を行う。画像エリアＩＭ０に格納された画像データが動作状態と判定されれば変数Ｖに１を、静止状態と判定されれば変数Ｖに０を格納する。
【００６４】
ステップＳ２１２にて、変数Ｖが１であれば、ステップＳ２１３に進み、０であれば、ステップＳ２１４に進む。
【００６５】
ステップＳ２１３にて、テーブルデータの平滑化を行い、テーブルデータＬ０［］を生成する。但し、変数ｍがＤよりも大きければＤフレーム分だけ、そうでなければｍフレーム分だけのフレームで平滑化を行い、テーブルデータＬ０［］を生成する。
【００６６】
テーブルデータＬ０［］が生成されたら、ステップＳ２１５に進む。
【００６７】
ステップＳ２１４にて、入力されたフレームが静止状態であると判定されたので、次式に従って、変数ｍフレーム分だけのフレームで求められたテーブルデータの平滑化を行い、テーブルデータＬ０［］を生成する。
【００６８】
テーブルデータＬ０［］が生成されたら、ステップＳ２１５に進む。
【００６９】
ステップＳ２１５にて、テーブルデータＬ０［］に従って、画像エリアのＩＭ０に格納されている画像の画素値を変換して画像エリアのＩＭ２に格納する。画素値の変換は次式で表される。入力された画像のｋ番目の画素値をＩＭ０［ｋ］、出力される画素値をＩＭ２［ｋ］とすると
ＩＭ２［ｋ］＝Ｌ０［ＩＭ０［ｋ］］…（８）
として求められる。
【００７０】
ステップＳ２１６にて、メモリ３０１上の画像エリアのＩＭ０に格納されている画像の内容を画像エリアのＩＭ１に格納して次のフレームを処理するためにステップＳ２０２に進む。
【００７１】
このような一連の動作により、実施形態１同様の効果に加えて、シーンチェンジ時にシーンチェンジ前のテーブルデータを参照しないことにより、さらに正確な補正が行えるようになる。
【００７２】
本実施形態ではカメラ３０６で入力した画像について補正を行う例について説明したが、補正した画像データを記憶装置３０５に格納してもかまわない。また、記憶装置３０５に格納された画像データを補正してモニタ３０７に表示してもかまわない。また、符号化・通信ソフトウェアを起動し、画像エリア内の画像データを符号化し、通信インターフェース３０８を介して通信回線３０９に送信してももちろんかまわない。
【００７３】
また、シーンチェンジによって実施形態１においてはシーンチェンジ前のヒストグラム、実施形態２においてはシーンチェンジ前の補正値を参照しないようにすることにより、同様の効果を得ることが可能である。
【００７４】
また、本実施形態の画像補正処理を行う動作を図８のように変更してもよい。すなわち、ステップＳ２１６の後、ステップｓＳ２５０にて、テーブルデータＬ０［］をメモリ３０１上のテーブルデータＬ［］［０］に格納して、次のフレームを処理してもかまわない。
【００７５】
＜その他の実施形態＞
本発明においてはヒストグラムは輝度値を対象としたが、各色、たとえば、Ｒ（赤色）、Ｇ（緑色）、Ｂ（青色）でもかまわない。また、ヒストグラムについて全輝度値を対象としたが、量子化手段を設けて量子化結果に対してヒストグラム処理を行ってもかまわない。
【００７６】
また、画像について、動きのある動作領域と動きのない静止領域に分類して平滑化の方法を変えても良い。すなわち、静止領域はそれ以前のＭフレームのヒストグラム、補正値、テーブルデータのいずれかを平滑化する。動作領域はそれ以前のＤフレーム（Ｍ＞Ｄ）のヒストグラム、補正値、テーブルデータのいずれかを平滑化してもかまわない。
【００７７】
また、本発明は上記実施形態を実現する為の装置及び方法のみに限定されるものではない。上記システム又は装置内のコンピュータ（ＣＰＵあるいはＭＰＵ）に、上記実施形態を実現する為のソフトウェアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させる。これにより上記実施形態を実現する場合も本発明の範疇に含まれる。
【００７８】
またこの場合、ソフトウェアのプログラムコード自体が上記実施形態の機能を実現することになる。つまり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【００７９】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８０】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施形態の機能が実現される。またこの場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフト等と共同して上記実施形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【００８１】
更に、この供給されたプログラムコードの指示に基づいてコンピュータの機能拡張ボードやコンピュータに接続された機能格納ユニットに備わるＣＰＵ等が処理の一部又は全部を行い、その処理によって上記実施形態が実現される場合も本発明の範疇に含まれる。
【図面の簡単な説明】
【００８２】
【図１】実施形態１における画像処理装置の構成例を示すブロック図である。
【図２】実施形態１における画像補正処理を示すフローチャートである。
【図３】実施形態２における画像処理装置の構成例を示すブロック図である。
【図４】実施形態２における画像補正処理を示すフローチャートである。
【図５】実施形態３における画像処理装置の構成例を示すブロック図である。
【図６】メモリ３０１の格納状況を表す図である。
【図７】実施形態３における画像補正処理を示すフローチャートである。
【図８】実施形態３における画像補正処理の変形例を示すフローチャートである。
【図９】従来例の補正処理に使用するルックアップテーブルを示した図である。
【図１０】本発明におけるヒストグラムの例を示した図である。
【図１】
2008160417.tif 000003
【図２】
2008160417.tif 000004
【図３】
2008160417.tif 000005
【図４】
2008160417.tif 000006
【図５】
2008160417.tif 000007
【図６】
2008160417.tif 000008
【図７】
2008160417.tif 000009
【図８】
2008160417.tif 000010
【図９】
2008160417.tif 000011
【図１０】
2008160417.tif 000012