(57)【特許請求の範囲】
【請求項１】
複数のフレームからなる動画データを取得する動画データ取得手段と、
前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定手段と、
前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割手段と、
前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出手段と、
前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記ブロック処理値と、前記ブロックの画素数とから、１画素当たりの画素処理値を算出する画素処理値算出手段を更に備え、
前記局所処理値算出手段が、前記局所領域に属する画素に対応する前記画素処理値から、前記局所処理値を算出することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記画素処理値算出手段が、前記ブロック処理値を、前記ブロックの画素数で割る際に、固定小数点法を用いた割り算により、前記画素処理値を算出することを特徴とする画像処理装置。
【請求項４】
請求項２または請求項３に記載の画像処理装置において、
前記局所処理値算出手段が、前記ブロックが前記局所領域に重なる部分の大きさに基づき、前記局所領域に属する画素に対応する前記画素処理値から、前記局所処理値を算出することを特徴とする画像処理装置。
【請求項５】
請求項２または請求項３に記載の画像処理装置において、
前記局所処理値算出手段が、前記局所領域に属する画素に対応する前記画素処理値から、ボックスフィルタ方式により前記局所処理値を算出することを特徴とする画像処理装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載の画像処理装置において、
前記ブロック処理値が、前記ブロックにおける明るさに関するヒストグラムであって、
前記局所処理値算出手段が、前記局所領域に対応する前記各ブロックのヒストグラムから、前記局所処理値として、前記局所領域における明るさに関する局所ヒストグラムを算出することを特徴とする画像処理装置。
【請求項７】
画像処理装置が画像処理をする画像処理方法において、
複数のフレームからなる動画データを取得する動画データ取得ステップと、
前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定ステップと、
前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割ステップと、
前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出ステップと、
前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出ステップと、
を含むことを特徴とする画像処理方法。
【請求項８】
コンピュータを、
複数のフレームからなる動画データを取得する動画データ取得手段、
前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定手段、
前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割手段、
前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出手段および、
前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出手段として機能させることを特徴とする画像処理用プログラム。
【請求項９】
コンピュータを、
複数のフレームからなる動画データを取得する動画データ取得手段、
前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定手段、
前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割手段、
前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出手段、および、
前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出手段として機能させることを特徴とする画像
処理用プログラムがコンピュータ読み取り可能に記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に対し階調の画像補正を行う画像処理装置、画像処理方法、画像処理用プログラム、および、記録媒体に関する。
【背景技術】
【０００２】
市販のディジタルスチルカメラ（Digital still camera）および広ダイナミックレンジ（ＲＧＢ各色８ビット以上の表現力を持つ）カメラで撮像された画像の補正技術において、輝度や明度等の明るさの偏りを改善する技術に注目が集まっている。輝度等の偏りを改善するために、処理対象となる画像に対して、単一の輝度特性を用いた補正が主体であり、例えば、輝度特性を補正する関数には、ガンマ補正関数、対数関数、および、ヒストグラム平均化等の統計処理を用いて定義された関数等が用いられている。
【０００３】
また、光ファイバー等のブロードバンドインターネット接続の普及や高精細度テレビジョン放送等の動画等の高解像度化により、ディジタルスチルカメラおよびディジタルビデオカメラ（Digital video camera）といった機器が、数メガピクセルからギガピクセルのように高画質化して、画像処理の高速化や高精度が求められるようになってきている。
【０００４】
そのため、高速化で適切に画像のコントラストを強調できるように、例えば、特許文献１には、階調圧縮画像を得るための画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許４２１４４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、高画質化した大容量の画像データに適用すると、回路的に多くのメモリが必要となり、小型化が難しく、コストの高いシステムとなっていた。
【０００７】
本発明は、上記課題を解決するためになされたものであり、使用するメモリの大きさを軽減した画像処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、請求項１に記載の発明は、複数のフレームからなる動画データを取得する動画データ取得手段と、前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定手段と、前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割手段と、前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出手段と、前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出手段と、を備えることを特徴とする。
【０００９】
また、請求項２に記載の発明は、請求項１に記載の画像処理装置において、前記ブロック処理値と、前記ブロックの画素数とから、１画素当たりの画素処理値を算出する画素処理値算出手段を更に備え、前記局所処理値算出手段が、前記局所領域に属する画素に対応する前記画素処理値から、前記局所処理値を算出することを特徴とする。
【００１０】
また、請求項３に記載の発明は、請求項２に記載の画像処理装置において、前記画素処理値算出手段が、前記ブロック処理値を、前記ブロックの画素数で割る際に、固定小数点法を用いた割り算により、前記画素処理値を算出することを特徴とする。
【００１１】
また、請求項４に記載の発明は、請求項２または請求項３に記載の画像処理装置において、前記局所処理値算出手段が、前記ブロックが前記局所領域に重なる部分の大きさに基づき、前記局所領域に属する画素に対応する前記画素処理値から、前記局所処理値を算出することを特徴とする。
【００１２】
また、請求項５に記載の発明は、請求項２または請求項３に記載の画像処理装置において、前記局所処理値算出手段が、前記局所領域に属する画素に対応する前記画素処理値から、ボックスフィルタ方式により前記局所処理値を算出することを特徴とする。
【００１３】
また、請求項６に記載の発明は、請求項１から請求項５のいずれか１項に記載の画像処理装置において、前記ブロック処理値が、前記ブロックにおける明るさに関するヒストグラムであって、前記局所処理値算出手段が、前記局所領域に対応する前記各ブロックのヒストグラムから、前記局所処理値として、前記局所領域における明るさに関する局所ヒストグラムを算出することを特徴とする。
【００１４】
また、請求項７に記載の発明は、画像処理装置が画像処理をする画像処理方法において、複数のフレームからなる動画データを取得する動画データ取得ステップと、前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定ステップと、前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割ステップと、前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出ステップと、前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出ステップと、を含むことを特徴とする。
【００１５】
また、請求項８に記載の発明は、コンピュータを、複数のフレームからなる動画データを取得する動画データ取得手段、前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定手段、前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割手段、前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出手段および、前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出手段として機能させることを特徴とする。
【００１６】
また、請求項９に記載の発明は、コンピュータを、複数のフレームからなる動画データを取得する動画データ取得手段、前記フレームに対して所定の方向に走査させる局所領域を設定する局所領域設定手段、前記動画データのフレームの画像を、前記局所領域より大きさが小さい所定のブロック毎に分割するブロック分割手段、前記各ブロックに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値を算出するブロック処理値算出手段、および、前記局所領域に対応する前記各ブロック処理値から、前記局所領域に対する前記前処理による局所処理値を算出する局所処理値算出手段として機能させることを特徴とする画像処理用プログラムがコンピュータ読み取り可能に記録される。
【発明の効果】
【００１７】
本発明によれば、ブロック単位に画像処理のための前処理により、ブロック処理値を算出し、局所領域に対応するブロック処理値から、局所処理値を算出しているので、画素単位に各局所領域の局所処理値を記憶しておく必要がないため、メモリの大きさを軽減することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態に係る画像処理装置の概要構成例を示すブロック図である。
【図２】図１の画像処理部の概要構成例を示すブロック図である。
【図３】動画データのフレーム画像をブロックに分割した様子の一例を示す模式図である。
【図４】図１の局所ヒストグラム生成部の概要構成例を示すブロック図である。
【図５】図４に示したＹ方向の加算処理部の概要構成例を示すブロック図である。
【図６】図４に示したＸ方向の加算処理部の概要構成例を示すブロック図である。
【図７】図１の画像処理装置における第１実施形態の動作例を示すフローチャートである。
【図８】動画データのフレーム画像おいて、対象画素を中心とした局所領域の一例を示す模式図である。
【図９】局所領域とブロックとの関係の一例を示す模式図である。
【図１０】Ｂｏｘフィルタの考え方を示す模式図である。
【図１１】Ｂｏｘフィルタの考え方を示す模式図である。
【図１２】Ｂｏｘフィルタの考え方を示す模式図である。
【図１３】Ｂｏｘフィルタの考え方を示す模式図である。
【図１４】本発明の第２実施形態に係る画像処理装置において、図１の画像処理部の概要構成例を示すブロック図である。
【図１５】図１の画像処理装置における第２実施形態の動作例を示すフローチャートである。
【図１６】輝度を輝度領域に分割するための重み関数の一例を示す線図である。
【図１７】図１６の重み関数に対する輝度値変換関数の一例を示す線図である。
【図１８Ａ】低輝度領域における上限変換関数および下限変換関数の一例を示す線図である。
【図１８Ｂ】中輝度領域における上限変換関数および下限変換関数の一例を示す線図である。
【図１８Ｃ】高輝度領域における上限変換関数および下限変換関数の一例を示す線図である。
【図１９Ａ】低輝度領域において、対象画素の輝度値における上限値、下限値、および、変換後の輝度値の一例を示す模式図である。
【図１９Ｂ】中輝度領域において、対象画素の輝度値における上限値、下限値、および、変換後の輝度値の一例を示す模式図である。
【図１９Ｃ】高輝度領域において、対象画素の輝度値における上限値、下限値、および、変換後の輝度値の一例を示す模式図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明を実施するための形態について説明する。
【００２０】
［１．第１実施形態に係る構成および機能概要］
（１．１  画像処理装置の構成および機能）
まず、本発明に係る第１実施形態に係る画像処理装置の概要構成および機能について、図を用いて説明する。
【００２１】
図１は、本発明の第１実施形態に係る画像処理装置の概要構成例を示すブロック図である。
【００２２】
図１に示すように、画像処理装置１は、画像処理用のＬＳＩ（Large Scale Integration）であり、各種の演算を行うＣＰＵ（Central Processing Unit）部２と、専用の画像処理を行う画像処理部３と、画像データ等を記憶する記憶部４と、処理される画像データを入力して処理結果を出力する入出力部（Ｉ／Ｏ）５と、を備える。これら各部は、画像処理装置１において、同一ダイ上に集積され、内部バス（図示せず）に接続されている。
【００２３】
入出力部５は、任意の画像信号（例えば、ＲＧＢ信号）から、Ｙ,Ｃｂ,Ｃｒ信号等の輝度と色を示す画像信号に変換する機能を有する。
【００２４】
ＣＰＵ部２は、演算装置やレジスタ等を有し、各種のプログラムを実行したり、入出力部５を通したデータの入出力を制御したり、画像処理部３に画像処理の指令をしたり、画像処理装置１外部のメインメモリ等を制御する。
【００２５】
画像処理部３は、論理回路や、ラインメモリやシフトレジスタ等を有する。そして画像処理部３は、動画データにおけるフレーム画像から、輝度や明度等の明るさの変換を行う画素を中心とした局所領域を抽出したり、局所領域におけるヒストグラム（局所ヒストグラム）を生成したり、フレーム画像を所定のブロック毎に分割したり等、ＣＰＵ部２からの指令に従って専用の画像処理をする。また、画像処理部３は、Box-Filtering方式を利用した、高速に逐次的に画像処理するための回路を有する。
【００２６】
記憶部４は、ＤＲＡＭ（Dynamic Random Access Memory）等により構成され、画像を記憶するためのメモリ、すなわち、フレーム・メモリの機能を有する。また、記憶部４は、画像処理部３において生成された中間的な処理値を一時的に記憶する。また、記憶部４には、画像処理に必要なパラメータテーブルが記憶されている。
【００２７】
（１．２  画像処理部の構成および機能）
次に、画像処理部３の構成および機能について図を用いて説明する。
図２は、図１の画像処理部の概要構成例を示すブロック図である。図３は、動画データのフレーム画像をブロックに分割した様子の一例を示す模式図である。図４は、局所ヒストグラム生成部の概要構成例を示すブロック図である。図５は、図４に示したＹ方向の加算処理部の概要構成例を示すブロック図である。図６は、図４に示したＸ方向の加算処理部の概要構成例を示すブロック図である。
【００２８】
図２に示すように、画像処理部３はフレーム画像を所定のブロック（ブロックの領域）毎に分割し、各ブロックにおけるヒストグラム（ブロック・ヒストグラム）を生成するブロック・データ生成部３ａと、ブロック・ヒストグラムを一時的に記憶するブロック・データ用メモリ３ｂと、ブロック・ヒストグラムを用いて局所領域におけるヒストグラム（局所ヒストグラム）を生成する局所領域データ生成部３ｃと、を有する。例えば、ヒストグラムは、画像処理のための前処理による処理値の一例として、明るさに関するヒストグラムである。
【００２９】
ブロック・データ生成部３ａは、図３に示すように、フレーム画像を所定のブロック毎に分割し、ブロックアドレスを決定するための回路と、ブロック・ヒストグラムの各階級に対応したカウンタと、各カウンタをインクリメントさせるための輝度判定器とを有する。
【００３０】
ブロック・データ生成部３ａは、図３に示すように、フレーム画像３０を、例えば、８画素×８画素のブロックＢに分割する。そして、ブロック・データ生成部３ａは、画像処理のための前処理の一例として、各ブロックにおいて、ブロック・ヒストグラムＢｎ［ｉ、ｊ］（ブロック処理値の一例）を算出する。なお、［ｉ、ｊ］は、ブロックアドレス［行のブロック番号ｉ、列のブロック番号ｊ］であり、添え字ｎは、ヒストグラムの階級番号である。
【００３１】
ブロック・データ用メモリ３ｂは、書き込み用メモリと読み出し用メモリを有する。そして、ブロック・データ生成部３ａは、生成したブロック・ヒストグラムＢｎ［ｉ、ｊ］ｔをブロック・データ用メモリ３ｂに書き込み、時間的にフレーム番号が１つ前のブロック・ヒストグラムＢｎ［ｉ、ｊ］ｔ−１をブロック・データ用メモリ３ｂから取得し、ブロック・ヒストグラムＢｎ［ｉ、ｊ］ｔ−１を局所領域データ生成部３ｃに出力する。
【００３２】
このように、ブロック・データ生成部３ａは、動画データのフレームの画像を所定のブロック毎に分割するブロック分割手段の一例として機能する。また、ブロック・データ生成部３ａは、各ブロックに対して、画像処理のための前処理を行い、各ブロックのブロック処理値を算出するブロック処理値算出手段の一例として機能する。
【００３３】
次に、図４に示すように、局所領域データ生成部３ｃは、ブロック・データ生成部３ａからのブロック・ヒストグラムＢｎ［ｉ、ｊ］のデータを処理するＹ方向の加算処理部１０と、Ｙ方向の加算処理部１０からのデータを処理するＸ方向の加算処理部２０と、ブロック・ヒストグラムＢｎ［ｉ、ｊ］の値を、ブロックの画素数で割り、１画素当たりの画素処理値を算出する除算器（図示せず）とを備える。
【００３４】
局所領域データ生成部３ｃは、ブロック・データ生成部３ａがブロック・ヒストグラムを算出しているフレームに対して局所領域を設定する。そして、局所領域データ生成部３ｃは、局所領域に対応する各ブロックのブロック・ヒストグラムから、局所領域に対して局所ヒストグラム（局所処理値の一例）を算出する。
【００３５】
なお、Ｙ方向の加算処理部１０およびＸ方向の加算処理部２０が、Box-Filtering方式を実現し、計算を高速化する。また、除算器は、固定小数点法を用いた割り算を行う機能を有する。また、局所領域の大きさは、ブロックの大きさより大きいとする。例えば、８画素×８画素のブロックとすると、１９１画素×１９１画素の局所領域となる。また、この除算器は、ブロックの画素数が２のべき乗の場合は、シフト演算(切捨て無しの固定主数点除算なので、小数点の位置だけをずらす)等によって、ブロックの画素数が２のべき乗では無い場合は、繰り返し除算法、引き戻し法、引き放し法等により、演算を行う。
【００３６】
ここで、Ｘ方向は、画像処理の対象である原画像（例えば、動画データのフレーム画像）に対して走査する方向であり、Ｙ方向とは、原画像に対してＸ方向に走査してＸ方向の端に来ると、Ｙ方向に順に走査を１画素移動させる方向である。
【００３７】
このように、局所領域データ生成部３ｃは、フレームに対して局所領域を設定する局所領域設定手段の一例としての機能を有する。また、局所領域データ生成部３ｃは、局所領域に対応する各ブロック処理値から、局所領域に対して前処理による局所処理値を算出する局所処理値算出手段の一例としての機能を有する。また、局所領域データ生成部３ｃは、局所領域に属する画素に対応する画素処理値から、局所処理値を算出する局所処理値算出手段の一例としての機能を有する。また局所領域データ生成部３ｃは、ブロックにおけるブロック処理値と、ブロックの画素数とから、１画素当たりの画素処理値を算出する画素処理値算出手段の一例としての機能を有する。また、局所領域データ生成部３ｃは、ブロックにおける処理値を、ブロックの画素数で割る際に、固定小数点法を用いた割り算により、画素処理値を算出する画素処理値算出手段の一例としての機能を有する。
【００３８】
そして、画像処理部３は、Ｙ方向の加算処理部１０およびＸ方向の加算処理部２０により、座標［ｘｃ，ｙｃ］である対象画素ＰＩＸ［ｘｃ，ｙｃ］の輝度値Ｌ［ｘｃ，ｙｃ］を中心とした局所領域（タップ数２Ｎ＋１の正方領域）の統計情報として、局所領域のヒストグラムを構成する各階級値ＳｕｍＣｎを算出する。ここで、階級数（ビン数）が４の場合、ＳｕｍＣｎは、ＳｕｍＣ０、ＳｕｍＣ１、ＳｕｍＣ２、ＳｕｍＣ３を示す。
【００３９】
（１．３  Ｙ方向の加算処理部１０の概要構成および機能）
次に、Ｙ方向の加算処理部１０の概要構成および機能について、図５を用いて説明する。なお、データについては、データＢ０［ｉ、ｊ］を用いて説明を行い、データＢ１、Ｂ２、Ｂ３に関しては同様なので、省略する。
【００４０】
図５は、Ｙ方向の加算処理部１０の概要構成例を示すブロック図である。
【００４１】
図５に示すように、Ｙ方向の加算処理部１０は、入力側からのブロック・データ生成部３ａの出力データＢ０［ｉ（ｘｃ＋Ｎ），ｊ（ｙｃ＋Ｎ）］と、出力側からのフィードバックされたデータとを加算する加算器１１と、加算器１１からの出力データから、入力側からのブロック・データ生成部３ａの出力データＢ０［ｉ（ｘｃ＋Ｎ），ｊ（ｙｃ−Ｎ−１）］を減算する減算器１２と、減算器１２からのデータＢａｒＣ０を１ライン分（原画像のＸ方向の画素数個分）順に記憶するラインメモリ１３と、を有する。なお、ｉ（ｘ）は、Ｘ方向におけるＸ座標ｘに対応するブロックアドレスｉであり、ｊ（ｙ）は、Ｙ方向におけるＸ座標ｙに対応するブロックアドレスｊである。また、画像データの座標は一例である。
【００４２】
加算器１１は、例えば、半加算器や全加算器等から構成された複数ビット用の加算器であり、任意の桁数の２進数の加算を行う。
【００４３】
減算器１２は、例えば、not回路や全加算器等から構成された複数ビット用の減算器であり、任意の桁数の２進数の減算を行う。
【００４４】
ラインメモリ１３は、原画像のＸ方向のライン分の長さの画素データ等を記憶するメモリであり、減算器１２からの出力のデータＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］を記憶し、１ライン分遅れたデータを加算器１１に出力するシフトレジスタとして機能する。すなわち、加算処理のたびに、参照したＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ−１］を破棄し、生成したＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］を記憶するＦＩＦＯメモリとして機能する。ここで、画像処理装置１は、Ｘ方向に１画素ずつ走査していき、１ライン分遅れた画素データを出力するので、ラインメモリ１３は、Ｙ方向に１画素マイナスの画素データを出力する。
【００４５】
Ｙ方向の加算処理部１０の入力は、加算器１１の一方の入力端および減算器１２の一方の入力端により形成されている。加算器１１の出力端は、減算器１２の入力端に接続され、減算器１２の出力端は、Ｙ方向の加算処理部１０の外部に出力する出力端を形成し、この分岐がラインメモリ１３の入力端に接続されている。そして、ラインメモリ１３の出力端は、加算器１１の入力端に接続されている。
【００４６】
（１．４  Ｘ方向の加算処理部２０の概要構成および機能）
次に、Ｘ方向の加算処理部２０の概要構成および機能について、図６を用いて説明する。なお、データについては、データＢａｒＣ０を用いて説明を行い、データＢａｒＣ１、ＢａｒＣ２、ＢａｒＣ３に関しては同様なので、省略する。
【００４７】
図６は、Ｘ方向の加算処理部２０の概要構成例を示すブロック図である。
【００４８】
図６に示すように、Ｘ方向の加算処理部２０は、入力側からの入力のデータＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］と、出力側からのフィードバックされたデータＳｕｍＣ０［ｘｃ，ｙｃ］とを加算する加算器２１と、加算器２１からの出力データから、シフトレジストされた入力側からの入力のデータＢａｒＣ０［ｘｃ−Ｎ−１，ｙｃ］を減算して外部に出力する減算器２２と、入力側からの入力のデータＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］をシフトレジストするシフトレジスタ２３と、減算器２２の出力のデータＳｕｍＣ０［ｘｃ，ｙｃ］を１データ分記憶して、データＳｕｍＣ０［ｘｃ−１，ｙｃ］を加算器２１に出力する記憶器２４と、を有する。
【００４９】
加算器２１は、加算器１１と同様の構成および機能を有し、減算器２２は、減算器１２と同様の構成および機能を有する。
【００５０】
シフトレジスタ２３は、タップ数分のデータを記憶するシフトレジスタであり、入力側からの入力のデータＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］を記憶し、タップ数分遅れたデータＢａｒＣ０［ｘｃ−Ｎ−１，ｙｃ］を減算器２２に出力するシフトレジスタとして機能する。
【００５１】
記憶器２４は、データ１個分を記憶する遅延素子である。
【００５２】
Ｘ方向の加算処理部２０の入力は、加算器２１およびシフトレジスタ２３の入力端に接続されている。加算器２１およびシフトレジスタ２３の出力端は、減算器２２の入力端に接続され、減算器２２の出力端は、Ｘ方向の加算処理部２０の外部に出力する出力端を形成し、この分岐が記憶器２４の入力端に接続されている。そして、記憶器２４の出力端は、加算器２１の入力端に接続されている。
【００５３】
［２．画像処理装置における第１実施形態の動作］
（２．１  画像処理装置の動作例）
次に、画像処理装置１の動作例について、図７から図９を用いて説明する。
【００５４】
図７は、画像処理装置１における第１実施形態の動作例を示すフローチャートである。図８は、動画データのフレーム画像おいて、対象画素を中心とした局所領域の一例を示す模式図である。図９は、局所領域とブロックとの関係の一例を示す模式図である。
【００５５】
まず、図７に示すように、画像処理装置１は、動画データを取得する（ステップＳ１）。具体的には、画像処理装置１の入出力部５が、リアルタイムで、動画データのフレームとして、１のフレーム画像のデータを取得し、フレームに対して、任意の画像信号（例えば、ＲＧＢ信号）から、Ｙ,Ｃｂ,Ｃｒ信号等の輝度と色を示す画像信号に変換する。
【００５６】
このように、画像処理装置１は、複数のフレームからなる動画データを取得する動画データ取得手段の一例として機能する。
【００５７】
次に、画像処理装置１は、動画データのフレームの画像を所定のブロック毎に分割する（ステップＳ２）。具体的には、画像処理装置１における画像処理部３のブロック・データ生成部３ａが、図３に示すように、例えば、１９２０画素×１０８０画素のフレーム画像に対して、８画素×８画素のブロックＢに分割し、ブロックアドレス［ｉ、ｊ］を決定する。なお、８画素×８画素のブロックの場合、１９２０画素×１０８０画素のフレーム画像は、２４０ブロック×１３５ブロックに分割される。
【００５８】
このように、画像処理装置１は、動画データのフレームの画像を所定のブロック毎に分割するブロック分割手段の一例として機能する。
【００５９】
次に、画像処理装置１は、各ブロックに対して、ブロック・ヒストグラムを算出する（ステップＳ３）。具体的には、ブロック・データ生成部３ａが、式（１）に従い、ブロック・ヒストグラム（画像処理のための前処理によるブロック処理値の一例）を算出する。
【００６０】
Ｌ［ｘ，ｙ］  ＜＝６３の時、Ｂ０［ｉ，ｊ］のカウントを１つ増加、
６４＜＝  Ｌ［ｘ，ｙ］  ＜＝１２７の時、Ｂ１［ｉ，ｊ］のカウントを１つ増加、
１２８＜＝  Ｌ［ｘ，ｙ］  ＜＝１９１の時、Ｂ２［ｉ，ｊ］のカウントを１つ増加、
１９２＜＝  Ｌ［ｘ，ｙ］の時、Ｂ３［ｉ，ｊ］のカウントを１つ増加
・・・（１）
【００６１】
なお、式（１）は、ビン数が４、最大輝の範囲が０から２５５の場合であって、ｘ，ｙは、画像の座標、Ｌ［ｘ，ｙ］は座標［ｘ，ｙ］の輝度値、［ｉ，ｊ］は、座標［ｘ，ｙ］に対応するブロックアドレスである。また、Ｂ０［ｉ，ｊ］からＢ３［ｉ，ｊ］は、Ｂｎ［ｉ，ｊ］のヒストグラムを構成する階級値（画素数）であり、Ｂ０［ｉ，ｊ］は、輝度値が０〜６３の階級の階級値、Ｂ１［ｉ，ｊ］は、輝度値が６４〜１２７の階級の階級値、Ｂ２［ｉ，ｊ］は、輝度値が１２８〜１９１の階級の階級値、Ｂ３［ｉ，ｊ］は、輝度値が１９２〜２５５の階級の階級値である。ブロック・データ用メモリ３ｂにおけるＢｎ［ｉ，ｊ］は、ブロック毎のヒストグラム生成時には、全てゼロで初期化される。
【００６２】
このように、画像処理装置１は、各ブロックに対して、画像処理のための前処理を行い、各ブロックのブロック処理値を算出するブロック処理値算出手段の一例として機能する。また、画像処理のための前処理によるブロック処理値の一例が、ブロックにおける明るさに関するヒストグラムである。なお、前処理は、ヒストグラムの生成、重み付けヒストグラムの生成、輝度値変換による輝度値を求める処理等が挙げられる。
【００６３】
次に、画像処理装置１は、フレームに対して対象画素を設定する（ステップＳ４）。具体的には、画像処理装置１における画像処理部３の局所領域データ生成部３ｃが、リアルタイムで、動画データのフレームとして、ステップＳ１で取得したフレーム画像に対して次のフレーム画像のデータを取得し、フレームに対して、任意の画像信号（例えば、ＲＧＢ信号）から、Ｙ,Ｃｂ,Ｃｒ信号等の輝度と色を示す画像信号に変換する。そして、局所領域データ生成部３ｃが、フレーム画像から処理の対象画素を設定する。さらに具体的には、局所領域データ生成部３ｃが、画像処理の対象であるフレーム画像に対してＸ方向に走査してＸ方向の端に来ると、Ｙ方向に順に走査を１画素移動させて、対象画素を設定していき、フレーム画像を画素毎に順次ディジタル処理する。
【００６４】
次に、画像処理装置１は、フレームの局所領域を設定する（ステップＳ５）。具体的には、局所領域データ生成部３ｃが、図８に示すように、対象画素３１を中心とした局所領域３２（例えば、１９１画素×１９１画素）を設定する。ここで、Box-Filtering方式を利用する場合、タップ数を設定することにより、局所領域が決定される。対象画素３１を１画素ずつ走査して、２箇所の画素データを入力することにより、局所ヒストグラムを求める局所領域も移動したことになる。
【００６５】
このように、画像処理装置１は、フレームに対して局所領域を設定する局所領域設定手段の一例として機能する。
【００６６】
次に、画像処理装置１は、ブロック・ヒストグラムとブロックの画素数とから、ブロックにおける１画素当たりの階級値を算出する（ステップＳ６）。具体的には、局所領域データ生成部３ｃの除算器が、各ブロック（ブロックアドレス［ｉ、ｊ］）におけるブロック・ヒストグラムの各階級値Ｂ０［ｉ、ｊ］、Ｂ１［ｉ、ｊ］、Ｂ２［ｉ、ｊ］、Ｂ３［ｉ、ｊ］に対して、ブロックの画素数（例えば、６４（８×８））で固定小数点法を用いた割り算を行い、ブロックアドレス［ｉ、ｊ］における１画素当たりの階級値Ｂ０［ｉ、ｊ］／ブロックの画素数、Ｂ１［ｉ、ｊ］／ブロックの画素数、Ｂ２［ｉ、ｊ］／ブロックの画素数、Ｂ３［ｉ、ｊ］／ブロックの画素数（例えば、階級値Ｂ０［ｉ、ｊ］／６４、Ｂ１［ｉ、ｊ］／６４、Ｂ２［ｉ、ｊ］／６４、Ｂ３［ｉ、ｊ］／６４）を算出する。
【００６７】
ここで、次のステップＳ７において、局所領域に含まれるブロック・ヒストグラムＢｎ［ｉ，ｊ］を、全て加算して、局所領域の局所ヒストグラムを生成するが、図９に示すように、局所領域３２に完全に含まれるブロックＢと、局所領域３２に一部含まれるブロックＢがある場合がある。例えば、図９に示すような場合、ｉ＝１においてｊ＝０からｊ＝６までのブロックＢ、ｉ＝７においてｊ＝０からｊ＝６までのブロックＢ、ｊ＝０においてｉ＝１からｉ＝７までのブロックＢ、および、ｊ＝６においてｉ＝１からｉ＝７までのブロックＢは、局所領域３２に一部含まれるブロックＢである。
【００６８】
局所領域３２に完全に含まれるブロックＢに関しては、ブロック・データ用メモリ３ｂに記憶された情報自体を利用でき、ブロック・ヒストグラムＢｎ［ｉ，ｊ］のデータをそのまま使う分には情報の劣化は生じない。しかし、局所領域３２に一部含まれるブロックＢに関しては、ブロックＢに含まれるブロック・ヒストグラムの階級値の平均値（ブロック・ヒストグラムの階級値をブロック画素数で割った１画素当たりの階級値）を、局所領域３２に含まれるブロックＢの面積の割合で積算した値を利用する。この際、丸め誤差が生じないように、固定小数点法を用いた割り算を行う。
【００６９】
このように、画像処理装置１は、ブロックにおけるブロック処理値と、ブロックの画素数とから、１画素当たりの画素処理値を算出する画素処理値算出手段の一例として機能する。また、画像処理装置１は、ブロックにおけるブロック処理値を、ブロックの画素数で割る際に、固定小数点法を用いた割り算により、画素処理値を算出する画素処理値算出手段の一例として機能する。
【００７０】
次に、画像処理装置１は、局所領域に属する画素に対応するブロックにおける１画素当たりの階級値から、局所ヒストグラムを算出する（ステップＳ７）。具体的には、局所領域データ生成部３ｃが、１画素におけるＢｎ［ｉ、ｊ］／ブロックの画素数の値に対して、Box-Filtering方式を利用して、各局所領域における局所ヒストグラムを算出する。さらに具体的には、図４に示すように、局所領域データ生成部３ｃのＹ方向の加算処理部１０およびＸ方向の加算処理部２０が、Ｂｎ［ｉ（ｘｃ＋Ｎ）、ｊ（ｙｃ＋Ｎ）］／ブロックの画素数と、Ｂｎ［ｉ（ｘｃ＋Ｎ）、ｊ（ｙｃ−Ｎ−１）］／ブロックの画素数とから、局所ヒストグラムＳｕｍＣｎ［ｘｃ、ｙｃ］を出力する。但し、図４においては、”／ブロックの画素”を省略した。
【００７１】
なお、Box-Filtering方式を用いない場合は、局所領域データ生成部３ｃが、局所ヒストグラムの階数毎に、ブロック・ヒストグラムＢｎ［ｉ、ｊ］を合計して、局所ヒストグラムを算出する。例えば、局所ヒストグラムの階級０の値は、局所領域３２に完全に含まれるブロックＢにおける階級値Ｂ０［ｉ、ｊ］の和（例えば、［ｉ＝２、ｊ＝１]から[ｉ＝６、ｊ＝５]まで階級値Ｂ０［ｉ、ｊ］の和）と、局所領域３２に一部含まれるブロックＢにおけるＢ０［ｉ、ｊ］／ブロックの画素数×ブロック面積比との合計から算出される。ここで、ブロックの面積比は、各ブロックにおいて局所領域が占める面積／ブロックの面積である。
【００７２】
または、局所領域データ生成部３ｃが、局所領域３２に属する各画素に対して、各画素の座標［ｘ，ｙ］に対するブロックアドレス［ｉ，ｊ］を求め、Ｂｎ［ｉ，ｊ］／ブロックの画素数の値の和を階級毎に加算して、局所ヒストグラムを算出してもよい。
【００７３】
ステップＳ７において、局所ヒストグラムが算出されたら、画像処理装置１は、局所ヒストグラムを利用して、コントラスト調整等の様々な画像処理をフレーム画像に対して行う。
【００７４】
画像処理装置１は、次のフレーム画像を取得して、ブロック・データ生成部３ａが、次のフレーム画像のブロック・ヒストグラムを算出し、ブロック・データ用メモリ３ｂに記憶する。局所領域データ生成部３ｃは、ブロック・データ用メモリ３ｂに記憶されている前のフレーム画像のブロック・ヒストグラムから、局所ヒストグラムを算出する。
【００７５】
このように、画像処理装置１は、局所領域に対応する各ブロック処理値から、局所領域に対する前処理による局所処理値を算出する局所処理値算出手段の一例として機能する。また、画像処理装置１は、局所領域に属する画素に対応する画素処理値から、局所処理値を算出する局所処理値算出手段の一例として機能する。また、画像処理装置１は、ブロックが局所領域に重なる部分の大きさに基づき、局所領域に属する画素に対応する画素処理値から、局所処理値を算出する局所処理値算出手段の一例として機能する。また、画像処理装置１は、局所領域に属する画素に対応する画素処理値から、ボックスフィルタ方式により局所処理値を算出する局所処理値算出手段の一例として機能する。また、画像処理装置１は、局所領域に対応する前記各ブロックのヒストグラムから、前記局所処理値として、局所領域における明るさに関する局所ヒストグラムを算出する局所処理値算出手段の一例として機能する。
【００７６】
以上のように、画像処理装置１は、動画に対して、各フレーム画像の局所ヒストグラムを求め、様々な画像処理を行っていく。
【００７７】
なお、時間的に１つ前のフレーム画像の局所ヒストグラム等の局所処理値に基づき、フレーム画像に対して、輝度変換等の画像処理を行う。そのため、動画に対しても、高速で画像処理を行うことができる。
【００７８】
（２．２  Box-Filtering方式）
次に、Box-Filtering方式に関して、図１０から図１３を用いて説明する。
【００７９】
図１０に示すように、画素１（３１）は、局所領域３２の中心画素ＰＩＸ［ｘｃ，ｙｃ］の座標である。ここで、画素１に対する局所領域をとする。また、便宜上、図１０から図１３において、ブロックの大きさを４画素×４画素、局所領域の大きさを、５画素×５画素（Ｎ＝２）として説明する。
【００８０】
この局所領域の局所ヒストグラムを構成する各階級値を、階数が４の場合、ＳｕｍＣ０[ｘｃ，ｙｃ］、ＳｕｍＣ１[ｘｃ，ｙｃ］、ＳｕｍＣ２[ｘｃ，ｙｃ］、SｕｍＣ３［ｘｃ，ｙｃ］とする。また、ＳｕｍＣ０［ｘｃ，ｙｃ］は、輝度値が０〜６３の階級の階級値、ＳｕｍＣ１［ｘｃ，ｙｃ］は、輝度値が６４〜１２７の階級の階級値、ＳｕｍＣ２［ｘｃ，ｙｃ］は、輝度値が１２８〜１９１の階級の階級値、ＳｕｍＣ３［ｘｃ，ｙｃ］は、輝度値が１９２〜２５５の階級の階級値とする。なお、以下、階級０に関して、ＳｕｍＣ０［ｘｃ，ｙｃ］を例に説明する。
【００８１】
まず、図１０に示すように、対象画素である画素１より、Ｘ方向に１画素前の画素ＰＩＸ［ｘｃ−１，ｙｃ］に対する局所領域として領域２を設定する。なお、局所領域データ生成部３ｃが、走査における１画素前に、局所領域である領域２における局所ヒストグラムＳｕｍＣ０［ｘｃ−１，ｙｃ］を既に求めたとする。また、図１０における画素に対応する各マス（ブロックアドレス［ｉ、ｊ］の位置）は、Ｂ０［ｉ、ｊ］／ブロックの画素数の値（例えば、Ｂ０［ｉ、ｊ］／１６）も示している。
【００８２】
領域１と領域２には、共通領域が存在する。その差分は、図１１に示すように、領域４と領域５である。領域４または領域５内におけるブロック・ヒストグラムＢ０［ｉ、ｊ］の総和（領域内のブロックアドレス［ｉ、ｊ］におけるＢ０［ｉ、ｊ］／ブロックの画素数の値の総和）を、ＢａｒＣ０[ｘ，ｙ］（但し、ｘ，ｙは、各領域の中央部の座標）、局所領域一辺の長さを２Ｎ＋１とすると、
領域１ ＝ 領域２ − 領域４ ＋ 領域５
である。
【００８３】
従って、
【数２】
0006019782.tif 000002
となる。
【００８４】
ここで、図１１に示すように、領域４内におけるブロック・ヒストグラムＢ０［ｉ、ｊ］の総和ＢａｒＣ０[ｘｃ−Ｎ−１，ｙｃ］は、ブロックアドレス［１、０］に属する画素が２つ、ブロックアドレス［１、１］に属する画素が３つなので、
Ｂ０［１、０］／１６×２＋Ｂ０［１、１］／１６×３
となる。
【００８５】
次に、領域５に対応するＢａｒ０［ｘｃ＋Ｎ，ｙｃ］の生成方法を説明する。
【００８６】
領域５（Ｂａｒ０［ｘｃ＋Ｎ，ｙｃ］）の中心画素は、図１２に示すように、画素２（ＰＩＸ［ｘｃ＋Ｎ，ｙｃ］）である。Ｂａｒ０［ｘｃ＋Ｎ，ｙｃ］（領域５）の生成に当たり、図１２に示すように、領域５から見てＹ方向に−１画素（図中、１画素上）の領域である領域６、すなわち、ＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ−１］を設定する。
【００８７】
図１３に示すように、領域５と領域６にも共通部分が存在するので、非共通部分である画素３（ＰＩＸ［ｘｃ＋Ｎ，ｙｃ＋Ｎ］）と画素４（ＰＩＸ［ｘｃ−Ｎ，ｙｃ−Ｎ−１］）より、
領域５ = 領域６ − 画素４ ＋ 画素３
である。
【００８８】
従って、
【数３】
0006019782.tif 000003
となる。
【００８９】
ここで、ＢａｒＣ０［ｘ，ｙ］を１ライン分記憶したＭｅｍＣ０を設定する（回路上はラインメモリ１３に記憶される）。ＭｅｍＣ０の領域は、図１３に示す領域７とする。
【００９０】
すなわち、
【数４】
0006019782.tif 000004
とする。
【００９１】
ＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］を求めるに当たり、ＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ−１]は、ＭｅｍＣ０より参照する。一方、ＭｅｍＣ０は、ＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］生成後、参照したＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ−１］を削除し、生成したＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ］を追加することとする。この操作によって、次の対象画素である、ＰＩＸ［ｘｃ＋１，ｙｃ］に備えることが可能となる。
【００９２】
以上より、局所ヒストグラムＳｕｍＣ０［ｘｃ，ｙｃ］を求めるためには、画素４と画素３のみ参照すればよいので、少しの演算で、局所ヒストグラムＳｕｍＣ０［ｘｃ，ｙｃ］を求めることが可能となる。また、この方式は局所領域の大きさに関わらず、演算コストは同一となる。
【００９３】
次に、式（２）から式（４）で示した方法を、ステップＳ７において適用し、局所領域データ生成部３ｃは、局所ヒストグラムを求める。
【００９４】
なお、Ｙ方向の加算処理部１０は、式（３）に従う処理を行う。式（３）において、ＢａｒＣ０［ｘｃ＋Ｎ，ｙｃ−１］は、ラインメモリ（ＭｅｍＣ０）１３より参照される。Ｘ方向の加算処理部２０は、式（２）に従う処理を行う。
【００９５】
本実施形態によれば、複数のフレームからなる動画データを取得し、フレームに対して局所領域３２を設定し、動画データのフレームの画像を、局所領域３２より大きさが小さい所定のブロックＢ毎に分割し、各ブロックＢに対して、画像処理のための前処理を行い前記各ブロックのブロック処理値（例えば、ブロック・ヒストグラム）を算出し、局所領域３２に対応する各ブロック処理値から、局所領域３２に対する前処理による局所処理値（例えば、局所ヒストグラム）を算出することにより、画像処理のための前処理によりブロック単位にブロック処理値を算出し、例えば、時間的に次のフレームにおいて、局所領域に対応するブロック処理値から、局所処理値を算出しているので、画素単位に各局所領域の局所処理値を記憶しておく必要がないため、メモリの大きさを軽減することができる。
【００９６】
すなわち、回路またはＣＰＵを用いた計算において、少ないメモリで局所ヒストグラム等の局所領域における局所処理値を算出できる。例えば、高精細度マルチメディアインターフェース用の画像の場合において、局所領域の大きさの一辺が１９１画素とすると、通常、必要なメモリは約１ＭＢとなる。しかし、本実施形態では、１パス目において８画素×８画素のブロック・ヒストグラムを取得した場合、約９５ＫＢのメモリで済み、必要なメモリの大きさは、約１／１０となる。
【００９７】
また、ブロックＢにおけるブロック処理値（例えば、ブロック・ヒストグラム）と、ブロックの画素数とから、１画素当たりの画素処理値（例えば、Ｂｎ［ｉ、ｊ］／ブロックの画素数）を算出し、局所領域３２に属する画素に対応する画素処理値から、局所処理値（例えば、局所ヒストグラム）を算出する場合、ブロックにおけるブロック処理値に対応した１画素当たりの画素処理値により、メモリの大きさを軽減して、局所ヒストグラム等の局所処理値を算出できる。
【００９８】
ブロックにおけるブロック処理値を、ブロックの画素数で割る際に、固定小数点法を用いた割り算により、画素処理値を算出する場合、丸め誤差が発生しないので、高精度に局所ヒストグラム等の局所処理値を算出できる。
【００９９】
ブロックＢが局所領域３２に重なる部分の大きさに基づき、局所領域３２に属する画素に対応する画素処理値から、局所処理値を算出する場合、局所領域３２に完全に含まれないブロックＢが存在しても、局所ヒストグラム等の局所処理値を高精度に算出できる。
【０１００】
局所領域３２に属する画素に対応する画素処理値から、ボックスフィルタ方式により局所処理値を算出する場合、少ないメモリで局所ヒストグラム等の局所処理値を算出できる。
【０１０１】
画像処理のための前処理によるブロック処理値がブロックにおける明るさに関するヒストグラムであって、局所領域に対応する各ブロックのヒストグラム（ブロック・ヒストグラムＢｎ［ｉ、ｊ］）から、局所処理値として、局所領域における明るさに関する局所ヒストグラムＳｕｍＣ０［ｘｃ，ｙｃ］を算出する場合、メモリを軽減した回路、または、計算により、局所領域における画像の統計量として局所ヒストグラムを算出できる。
【０１０２】
（第２実施形態）
［３．第２実施形態に係る画像処理装置の構成および機能］
（３．１  画像処理装置の構成および機能）
次に、本発明の第２実施形態に係る画像処理装置について図を用いて説明する。
【０１０３】
第２実施形態に係る画像処理装置の概要構成は第１実施形態とほぼ同じである。但し、ブロック・データ生成部３ａは、ブロック・ヒストグラムＢｎ［ｉ、ｊ］の代わりに、画像処理のための前処理によるブロック処理値の一例として、各ブロックにおいて輝度値変換による値（ブロック輝度値）ＢＣｓ［ｉ、ｊ］、ＢＣｍ［ｉ、ｊ］、ＢＣｈ［ｉ、ｊ］を算出し、ブロック・データ用メモリ３ｂは、値ＢＣｓ［ｉ、ｊ］、ＢＣｍ［ｉ、ｊ］、ＢＣｈ［ｉ、ｊ］を記憶する。局所領域データ生成部３ｃは、局所ヒストグラムＳｕｍＣｎ[ｘｃ，ｙｃ］の代わりに、輝度値変換により変換した輝度値の総和のデータＳｕｍＣｓ[ｘｃ，ｙｃ］、ＳｕｍＣｍ[ｘｃ，ｙｃ］、ＳｕｍＣｈ[ｘｃ，ｙｃ］を算出する。なお、前記第１実施形態と同一または対応する部分には、同一の符号を用いて異なる構成および作用のみを説明する。その他の実施形態および変形例も同様とする。
【０１０４】
図１４は、本発明の第２実施形態に係る画像処理装置において、図１の画像処理部の概要構成例を示すブロック図である。
【０１０５】
図１４に示すように、画像処理部３のブロック・データ生成部３ａは、原画像の画素データの輝度値に応じて輝度値を変換する輝度値変換関数を実現する輝度値変換テーブル部ＴＣｓ、ＴＣｍ、ＴＣｈを更に備える。
【０１０６】
輝度値変換テーブル部ＴＣｓは、低輝度領域用の輝度値変換テーブルを有し、輝度値変換テーブル部ＴＣｍは、中輝度領域用の輝度値変換テーブルを有し、輝度値変換テーブル部ＴＣｈは、高輝度領域用の輝度値変換テーブルを有する。
【０１０７】
各輝度値変換テーブル部ＴＣｓ、ＴＣｍ、ＴＣｈに、原画像の局所領域内のある画素の輝度値Ｌ［ｘ，ｙ］に対して、各輝度値変換テーブル部ＴＣｓ、ＴＣｍ、ＴＣｈは、各輝度値変換テーブルに対応した値Ｃｓ［ｘ，ｙ］、Ｃｍ［ｘ，ｙ］、Ｃｈ［ｘ，ｙ］を出力する。
【０１０８】
（３．２  第２実施形態に係る画像処理装置の動作例）
次に、第２実施形態に係る画像処理装置１の動作例について、図１５から図１９に基づき説明する。
【０１０９】
ここで、局所領域に含まれる輝度変換後の低輝度データであるＣｓ［ｘ，ｙ］、同じく中輝度データであるＣｍ［ｘ，ｙ］、同じく高輝度データであるＣｈ［ｘ，ｙ］に関して、それぞれ同じ処理になるので、Ｃｓ［ｘ，ｙ］を例に説明する。
【０１１０】
図１５に示すように、画像処理装置１は、各輝度領域に対応した輝度領域関数を設定する（ステップＳ１０）。具体的には、画像処理装置１のＣＰＵ部２が、図１６に示すように、輝度領域（明るさ領域の一例）を低輝度領域Ｂｓ，中輝度領域Ｂｍ，高輝度領域Ｂｈに、重みにより区分するための輝度領域関数Ｗｓ，Ｗｍ，Ｗｈ（明るさ領域関数の一例）を各々設定する。輝度領域関数Ｗｓ，Ｗｍ，Ｗｈは、輝度に対する重みにより各輝度領域を規定する。低輝度領域Ｂｓは、輝度領域関数Ｗｓの重みに従って、輝度を表す値が０から２５５まで広がる領域である。中輝度領域Ｂｍは、輝度領域関数Ｗｍの重みに従って、輝度０から輝度２５６まで広がる領域である。高輝度領域Ｂｈは、輝度領域関数Ｗｈの重みに従って、輝度０から輝度２５６まで広がる領域である。
【０１１１】
輝度値Ｌの関数である輝度領域関数Ｗｓ，Ｗｍ，Ｗｈは、例えば、式（５）により設定される。
【数５】
0006019782.tif 000005
【０１１２】
輝度領域関数Ｗｓおよび輝度領域関数Ｗｈは、ガウス関数であり、また、低、中、高の各領域の面積（重みの合計）がほぼ等しくなるように、分散値σが調整される。また、輝度領域関数Ｗｍは、ある輝度値における各輝度領域の重みの合計が、１になるように設定される。なお、本実施形態では、ガウス関数を用いたが、シグモイド曲線等、他の関数を用いてもよい。但し、関数は連続的な変化をする関数であることが好ましい。また、分割される領域数は３に限らず、２や４でもよい。
【０１１３】
このように、画像処理装置１は、明るさに対する重みにより明るさ領域（低輝度領域Ｂｓ等）を規定するための明るさ領域関数（輝度領域関数Ｗｓ等）を設定する明るさ領域関数設定手段の一例として機能する。また、画像処理装置１は、明るさ領域毎（各輝度領域Ｂｓ、Ｂｍ，Ｂｈ）に、各明るさ領域関数を設定する明るさ領域関数設定手段の一例として機能する。
【０１１４】
次に、画像処理装置１は、輝度領域関数から輝度領域毎の輝度値変換関数を設定する（ステップＳ１１）。具体的には、画像処理装置１のＣＰＵ部２が、輝度領域関数Ｗｓ、Ｗｍ，Ｗｈを累積した輝度累積関数Ｆｓ，Ｆｍ、Ｆｈを求める。輝度累積関数Ｆｓ，Ｆｍ、Ｆｈは、
【数６】
0006019782.tif 000006
である。ここで、最小輝度は０とし、最大輝度をＬｍａｘとする。
【０１１５】
そして、画像処理装置１のＣＰＵ部２が、図１７に示すように、輝度累積関数Ｆｓ，Ｆｍ、Ｆｈより、輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈ（明るさ変換関数の一例）を設定する。
【数７】
0006019782.tif 000007
【０１１６】
ここで、輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈは、正規化するために、輝度累積関数Ｆｓ，Ｆｍ、Ｆｈを、輝度累積関数Ｆｓ，Ｆｍ、Ｆｈの各々最大値である最大値ｍａｘ［Ｆｓ］、ｍａｘ［Ｆｍ］、ｍａｘ［Ｆｈ］で割った関数である。
【０１１７】
このように、画像処理装置１は、明るさ領域関数（輝度領域関数Ｗｓ，Ｗｍ，Ｗｈ）を明るさ（輝度）に対して累積することにより、輝度累積関数Ｆｓ，Ｆｍ、Ｆｈを求め、明るさ変換関数（輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈ）を設定する明るさ変換関数設定手段の一例として機能する。また、画像処理装置１は、各明るさ領域関数に対して、各明るさ変換関数（輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈ）を設定する明るさ変換関数設定手段の一例として機能する。
【０１１８】
次に、画像処理装置１は、輝度領域毎の上・下限変換関数を設定する（ステップＳ１２）。具体的には、画像処理装置１のＣＰＵ部２が、図１８Ａ、図１８Ｂ、図１８Ｃに示すように、輝度変換の上限値と下限値を規定するために、輝度領域Ｂｓ、Ｂｍ、Ｂｈ毎に上限変換関数として、上限ガンマ曲線関数Ｇｓ１、Ｇｍ１、Ｇｈ１と、下限変換関数として、下限ガンマ曲線関数Ｇｓ０、Ｇｍ０、Ｇｈ０とを設定する。ここで、各ガンマ曲線関数（ガンマ補正関数）のガンマ値は任意に設定可能とする。
【０１１９】
なお、上限変換関数（上限ガンマ曲線関数Ｇｓ１、Ｇｍ１、Ｇｈ１）は、輝度に対して連続かつ単調増加であり、輝度変換の出力の上限を決める。下限変換関数（下限ガンマ曲線関数Ｇｓ０、Ｇｍ０、Ｇｈ０）は、輝度に対して連続かつ単調増加であり、輝度変換の出力の下限を決める。また、上限ガンマ曲線関数Ｇｓ１、Ｇｍ１、Ｇｈ１および下限ガンマ曲線関数Ｇｓ０、Ｇｍ０、Ｇｈ０は、ガンマ補正関数である。また、ガンマ補正関数は、明るさに対する視覚特性に合うように補正する関数の一例である。また、本実施形態では上限変換関数および下限変換関数の一例として、ガンマ曲線関数を挙げたが、上限変換関数および下限変換関数を生成する曲線は、単調増加であれば、ガンマ曲線関数に限定されるものでは無い。例えば、複数のガンマ曲線関数を合成した曲線や、直線とガンマ曲線関数を合成した曲線等であってもよい。
【０１２０】
次に、画像処理装置１は、動画データの取得し、動画データの第１フレームの画像を所定のブロック毎に分割する（ステップＳ１３）。具体的には、画像処理装置１の入出力部５が、ステップＳ１のように、動画データを取得し、ステップＳ２のように、画像処理装置１における画像処理部３のブロック・データ生成部３ａが、動画データの第１フレームの画像を所定のブロック毎に分割する。なお、第１フレームは、輝度変換等の画像処理をしたい第２フレームに対して、時間的に１つ前のフレームである。また、第２フレームの時間をｔとすると、第１フレームの時間はｔ−１となる。
【０１２１】
このように画像処理装置１は、画像処理を行う原画像の入力を受け付ける原画像入力手段の一例として機能する。
【０１２２】
次に、画像処理装置１は、各ブロックにおける輝度変換値関数で変換した輝度値を算出する（ステップＳ１４）。具体的には、ブロック・データ生成部３ａが、第１フレーム（ｔ−１）において、ブロック（［ｉ、ｊ］）に属する各画素［ｘ，ｙ］に対して、各輝度領域Ｂｓ、Ｂｍ、Ｂｈに輝度値変換関数Ｃｓ［Ｌ］、Ｃｍ［Ｌ］、Ｃｈ［Ｌ］で変換した輝度値Ｃｓ［ｘ，ｙ］、Ｃｍ［ｘ，ｙ］、Ｃｈ［ｘ，ｙ］を求め、ブロック内での和を算出し、輝度値ＢＣｓ［ｉ、ｊ］、ＢＣｍ［ｉ、ｊ］、ＢＣｈ［ｉ、ｊ］とする。さらに具体的には、図１４に示すように、画像処理部３の輝度値変換テーブル部ＴＣｓ、ＴＣｍ、ＴＣｈが、局所領域の各画素に対して、各領域の輝度値変換関数Ｃｓ［Ｌ］、Ｃｍ［Ｌ］、Ｃｈ［Ｌ］の値を求める。そして、ブロック・データ生成部３ａが、各ブロック（ブロックアドレス［ｉ、ｊ］）での和の輝度値（ブロック輝度値）ＢＣｓ［ｉ、ｊ］、ＢＣｍ［ｉ、ｊ］、ＢＣｈ［ｉ、ｊ］を算出し、ブロック・データ用メモリ３ｂに記憶する。
【０１２３】
次に、画像処理装置１は、ステップＳ４およびＳ５のように、第２フレームに対して対象画素を設定し、第１フレームより時間的に後の第２フレームの局所領域を設定する（ステップＳ１５）。
【０１２４】
このように画像処理装置１は、原画像から、明るさの変換を行う画素を中心とした局所領域を設定する局所領域設定手段の一例として機能する。
【０１２５】
次に、画像処理装置１は、第２フレーム（ｔ）において、各輝度領域に対して対象画素の輝度値における上限・下限変換関数値を算出する（ステップＳ１６）。具体的には、画像処理装置１のＣＰＵ部２が、低輝度領域Ｂｓの場合、図１９Ａに示すように、第２フレーム（ｔ）における局所領域の対象画素ＰＩＸ［ｘｃ,ｙｃ］の輝度値Ｌ［ｘｃ,ｙｃ］における上限変換関数値Ｇｓ１［Ｌ［ｘｃ,ｙｃ］］および下限変換関数値Ｇｓ０［Ｌ［ｘｃ,ｙｃ］］を算出する。中輝度領域Ｂｍの場合、図１９Ｂに示すように、画像処理装置１のＣＰＵ部２が、対象画素［ｘｃ,ｙｃ］の輝度値Ｌ［ｘｃ,ｙｃ］における上限変換関数値Ｇｍ１［Ｌ［ｘｃ,ｙｃ］］および下限変換関数値Ｇｍ０［Ｌ［ｘｃ,ｙｃ］］を算出する。高輝度領域Ｂｈの場合、図１９Ｃに示すように、画像処理装置１のＣＰＵ部２が、対象画素［ｘｃ,ｙｃ］の輝度値Ｌ［ｘｃ,ｙｃ］における上限変換関数値Ｇｈ１［Ｌ［ｘｃ,ｙｃ］］および下限変換関数値Ｇｈ０［Ｌ［ｘｃ,ｙｃ］］を算出する。このように、画像処理装置１は、第２フレーム（ｔ）における上限変換関数値Ｇｓ１、Ｇｍ１、Ｇｈ１および下限変換関数値Ｇｓ０、Ｇｍ０、Ｇｈ０を算出する。
【０１２６】
なお、上限変換関数値Ｇｓ１［Ｌ［ｘｃ,ｙｃ］］、Ｇｍ１［Ｌ［ｘｃ,ｙｃ］］、Ｇｈ１［Ｌ［ｘｃ,ｙｃ］］は、各輝度領域において、変換を行う画素（対象画素ＰＩＸ［ｘｃ,ｙｃ］）の明るさ（輝度値Ｌ［ｘｃ,ｙｃ］）における上限変換関数Ｇｓ１、Ｇｍ１、Ｇｈ１の値である上限値である。下限変換関数値Ｇｓ０［Ｌ［ｘｃ,ｙｃ］］、Ｇｍ０［Ｌ［ｘｃ,ｙｃ］］、Ｇｈ０［Ｌ［ｘｃ,ｙｃ］］は、各輝度領域において、変換を行う画素（対象画素ＰＩＸ［ｘｃ,ｙｃ］）の明るさ（輝度値Ｌ［ｘｃ,ｙｃ］）における下限変換関数Ｇｓ０、Ｇｍ０、Ｇｈ０の値である下限値である。
【０１２７】
このように、画像処理装置１は、明るさに対して連続かつ単調増加であり、明るさの変換の出力上限を決める上限変換関数を設定する上限変換関数設定手段、明るさに対して連続かつ単調増加であり、明るさの変換の出力下限を決める下限変換関数を設定する下限変換関数設定手段の一例として機能する。また、画像処理装置１は、各明るさ領域（輝度領域Ｂｓ，Ｂｍ，Ｂｈ）に対応して上限変換関数（上限ガンマ曲線関数Ｇｓ１、Ｇｍ１、Ｇｈ１）を設定する上限変換関数設定手段の一例として機能する。また、画像処理装置１は、各明るさ領域（輝度領域Ｂｓ，Ｂｍ，Ｂｈ）に対応して下限変換関数（下限ガンマ曲線関数Ｇｓ０、Ｇｍ０、Ｇｈ０）を設定する下限変換関数設定手段の一例として機能する。
【０１２８】
また、画像処理装置１は、変換を行う画素の明るさにおける上限変換関数の値である上限値および下限変換関数の値である下限値を算出する上限・下限値算出手段の一例として機能する。また、画像処理装置１は、各明るさ領域（輝度領域Ｂｓ，Ｂｍ，Ｂｈ）に対応する上限変換関数および下限変換関数に応じて、各上限値および下限値を算出する上限・下限値算出手段の一例として機能する。
【０１２９】
次に、画像処理装置１は、ブロックの画素数から、ブロックにおける１画素当たりの変換した輝度値（ブロック輝度値）を算出する（ステップＳ１７）。具体的には、ステップＳ６のように、局所領域データ生成部３ｃの除算器が、各ブロック（ブロックアドレス［ｉ、ｊ］）での和の輝度値ＢＣｓ［ｉ、ｊ］、ＢＣｍ［ｉ、ｊ］、ＢＣｈ［ｉ、ｊ］に対して、ブロックの画素数（例えば、６４（８×８））で固定小数点法を用いた割り算を行い、ブロックアドレス［ｉ、ｊ］における１画素当たりの変換した輝度値ＢＣｓ［ｉ、ｊ］／ブロックの画素数、ＢＣｍ［ｉ、ｊ］／ブロックの画素数、ＢＣｈ［ｉ、ｊ］／ブロックの画素数を算出する。このように、画像処理装置１は、第１フレーム（ｔ−１）において、ブロックにおける１画素当たりの変換した輝度値（ブロック輝度値）を算出する。
【０１３０】
次に、画像処理装置１は、局所領域における輝度値変換関数で変換した輝度値の総和を求め、分割比率を算出する（ステップＳ１８）。具体的には、画像処理装置１の画像処理部３（局所領域データ生成部３ｃ）が、座標［ｘｃ，ｙｃ］である対象画素ＰＩＸ［ｘｃ，ｙｃ］の輝度値Ｌ［ｘｃ,ｙｃ］を中心とした局所領域３２の統計情報として、第１フレーム（ｔ−１）において、各輝度領域Ｂｓ、Ｂｍ、Ｂｈに輝度値変換関数Ｃｓ［Ｌ］、Ｃｍ［Ｌ］、Ｃｈ［Ｌ］で変換した輝度値の総和のデータＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣｈを各々求めるために、第１実施形態のＢｎ［ｉ、ｊ］／ブロックの画素数の値の代わりに、ブロックアドレス［ｉ、ｊ］における１画素当たりの変換した輝度値ＢＣｓ［ｉ、ｊ］／ブロックの画素数、ＢＣｍ［ｉ、ｊ］／ブロックの画素数、ＢＣｈ［ｉ、ｊ］／ブロックの画素数の値に対して、Box-Filtering方式を利用する。画像処理部３のＹ方向の加算処理部１０およびＸ方向の加算処理部２０が、第１フレーム（ｔ−１）における総和のデータＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣｈを求める。
【０１３１】
そして、画像処理装置１のＣＰＵ部２は、画像処理部３から、総和のデータＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣｈのデータを受信し、正規化するために、各総和のデータＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣｈは局所領域に含まれる画素数ＳＵＭで各々割り、第１フレーム（ｔ−１）における各分割比率Ｈｓ、Ｈｍ、Ｈｈを求める。
【０１３２】
各分割比率Ｈｓ、Ｈｍ、Ｈｈを式で表すと式（８）になる。
【数８】
0006019782.tif 000008
【０１３３】
ここで、局所領域は一辺の長さを２Ｎ＋１の大きさの正方形とする。また、局所領域に含まれる各画素の輝度をＬ［ｉ，ｊ］とする。また、Ｃｓ［Ｌ［ｉ，ｊ］］、Ｃｍ［Ｌ［ｉ，ｊ］］、Ｃｈ［Ｌ［ｉ，ｊ］］を、各々単にＣｓ［ｉ，ｊ］、Ｃｍ［ｉ，ｊ］、Ｃｈ［ｉ，ｊ］と記載する。
【０１３４】
なお、各分割比率Ｈｓ、Ｈｍ、Ｈｈは、Ｙ方向の加算処理部１０およびＸ方向の加算処理部２０により、Box-Filtering方式で高速に算出される。また、本実施形態では、局所領域の形を正方形としたが、任意の縦横比の長方形でもよい。また、各座標値［ｉ，ｊ］は、ラスタスキャン順に増加する。
【０１３５】
次に、画像処理装置１は、第２フレーム（ｔ）における上限・下限変換関数値と、第１フレーム（ｔ−１）における分割比率とより、第２フレーム（ｔ）における各輝度領域の変換輝度値を求める（ステップＳ１９）。具体的には、画像処理装置１のＣＰＵ部２が、輝度領域Ｂｓ、Ｂｍ、Ｂｈ毎に、第２フレーム（ｔ）における対象画素ＰＩＸ［ｘｃ,ｙｃ］の輝度値Ｌ［ｘｃ,ｙｃ］に対応する、各領域の上限ガンマ値と下限ガンマ値に対して、第１フレーム（ｔ−１）から求めた分割比率Ｈｓ，Ｈｍ、Ｈｈを利用して、第２フレーム（ｔ）における輝度領域毎の変換輝度値Ｌｓ、Ｌｍ、Ｌｈを、式（９）より求める。
【数９】
0006019782.tif 000009
【０１３６】
図１９Ａに示すように、低輝度領域Ｂｓの場合、輝度値Ｌ［ｘｃ,ｙｃ］における各領域の下限ガンマ値Ｇｓ０［Ｌ［ｘｃ,ｙｃ］］および上限ガンマ値Ｇｓ１［Ｌ［ｘｃ,ｙｃ］］から、分割比率Ｈｓ［ｘｃ,ｙｃ］から、式（９）に従って変換輝度値Ｌｓ［ｘｃ,ｙｃ］を求める。
【０１３７】
また、図１９Ｂに示すように、中輝度領域Ｂｍの場合、輝度値Ｌ［ｘc,ｙc］における各領域の下限ガンマ値Ｇｍ０［Ｌ［ｘc,ｙc］］および上限ガンマ値Ｇｍ１［Ｌ［ｘc,ｙc］］から、分割比率Ｈｍ［ｘc,ｙc］から、式（９）に従って変換輝度値Ｌｍ［ｘc,ｙc］を求める。
【０１３８】
また、図１９Ｃに示すように、高輝度領域Ｂｈの場合、輝度値Ｌ［ｘc,ｙc］における各領域の下限ガンマ値Ｇｈ０［Ｌ［ｘc,ｙc］］および上限ガンマ値Ｇｈ１［Ｌ［ｘc,ｙc］］から、分割比率Ｈｈ［ｘc,ｙc］から、式（９）に従って変換輝度値Ｌｈ［ｘc,ｙc］を求める。
【０１３９】
このように、画像処理装置１は、局所領域における各画素の明るさ（輝度）に応じて、上限値と下限値との間の値を設定するための比率（分割比率Ｈ）を算出する比率算出手段の一例として機能する。また、画像処理装置１は、局所領域における各画素の明るさに明るさ変換関数（輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈ）を適用して、比率を算出する比率算出手段の一例として機能する。また、画像処理装置１は、各明るさ変換関数（輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈ）を適用して、各上限値および下限値に対する各比率（分割比率Ｈｓ、Ｈｍ、Ｈｈ）を算出する比率算出手段の一例として機能する。
【０１４０】
次に、画像処理装置１は、各輝度領域の変換輝度値より変換輝度を求める（ステップＳ２０）。具体的には、画像処理装置１のＣＰＵ部２が、式（１０）のように、各領域の変換輝度値Ｌｓ［ｘc,ｙc］、Ｌｍ［ｘc,ｙc］、Ｌｈ［ｘc,ｙc］を加算し、対象画素ＰＩＸ［ｘc,ｙc］における輝度値を変換した輝度Ｌｏｕｔ［ｘc,ｙc］を求める。
【数１０】
0006019782.tif 000010
【０１４１】
このように、画像処理装置１は、上限値と下限値と比率とにより、明るさ（輝度）の変換を行う画素の変換後の明るさ（輝度Ｌｏｕｔ）を算出する明るさ算出手段の一例として機能する。また、画像処理装置１は、各上限値および下限値と、各比率（分割比率Ｈｓ、Ｈｍ、Ｈｈ）とより、変換後の明るさを算出する明るさ算出手段の一例として機能する。
【０１４２】
次に、画像処理装置１は、フレーム画像を走査して、最後の画素まで上記の処理を行う。
【０１４３】
なお、輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈが、輝度の軸の方向で反転させた場合でもよい。
【０１４４】
例えば、輝度値変換関数Ｃｓは、
Ｃｓ＝１−Ｆｓ［Ｌ］／ｍａｘ［Ｆｓ］  ・・・（１１）
でもよい。
【０１４５】
本実施形態によれば、複数のフレームからなる動画データを取得し、フレームに対して局所領域３２を設定し、動画データのフレームの画像を、局所領域３２より大きさが小さい所定のブロックＢ毎に分割し、各ブロックＢに対して、画像処理のための前処理を行い各ブロックのブロック処理値（例えば、ブロック輝度値ＢＣｓ［ｉ、ｊ］、ＢＣｍ［ｉ、ｊ］、ＢＣｈ［ｉ、ｊ］）を算出し、局所領域３２に対応する各ブロック処理値から、局所領域３２に対する前処理による局所処理値（例えば、変換した輝度値の総和のデータＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣｈ）を算出することにより、画像処理のための前処理によりブロック単位にブロック処理値を算出し、例えば、時間的に次のフレームにおいて、局所領域に対応するブロック処理値から、局所処理値を算出しているので、画素単位に各局所領域の局所処理値を記憶しておく必要がないため、メモリの大きさを軽減することができる。
【０１４６】
また、本実施形態によれば、明るさが連続する画像でも精度よく各画素の輝度を変換できる。すなわち、空等のグラデーション領域を含む画像であっても、良好な輝度変換を行うことができる。
【０１４７】
局所領域３２における各画素の輝度に応じて、分割比率Ｈｓ、Ｈｍ、Ｈｈを算出している。例えば、対象画素の局所領域内に含まれる画素に対する総和のデータＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣｈのような、局所領域内における平均的な値により、分割比率Ｈｓ、Ｈｍ、Ｈｈを算出している。このため、対象画素が、１画素ずれても、分割比率Ｈｓ、Ｈｍ、Ｈｈの値が大きく変化しなく、対象画素の近傍の他の対象画素でも、変換の割合が大きく変化しない。従って、空等のグラデーション領域を含む画像であっても、良好な輝度変換を行うことができる。
【０１４８】
なお、従来の手法では、空等のグラデーション領域を含む画像のように、輝度が緩やかに変化する画像の場合、輝度のヒストグラムが特定の輝度に集中した形状で、輝度変換を行うと、ヒストグラムの形状が広がり、良好な輝度変換を行うことができなかった。しかし、本実施形態によれば、上限変換関数（Ｇｓ１等）および下限変換関数Ｇｓ０等）により、極端な輝度変換が防止でき、空等のグラデーション領域を含む画像であっても、良好な輝度変換を行うことができる。
【０１４９】
また、本実施形態によれば、ブロックノイズが無く、高精度にコントラストの改善ができる。また、画像処理装置１は、時間的に前の第１フレームの画像データから局所領域における局所値を利用しているので、高速化で適切に各画素の明るさを変換できる。
【０１５０】
また、画像処理装置１が、明るさ（輝度）に対する重みにより明るさ領域（低輝度領域Ｂｓ等）を規定するための明るさ領域関数（輝度領域関数Ｗｓ等）を設定し、明るさ領域関数を明るさに対して累積することにより（輝度累積関数Ｆｓ等）、明るさ変換関数（輝度値変換関数Ｃｓ等）を設定し、局所領域における各画素の明るさに明るさ変換関数を適用して、分割比率Ｈｓ等を算出する場合、局所領域における各画素の情報を反映した分割比率が決定でき、明るさ変換の精度を向上させることができる。
【０１５１】
また、画像処理装置１が、明るさ領域毎（輝度領域Ｂｓ，Ｂｍ，Ｂｈ）に、各明るさ領域関数（輝度領域関数Ｗｓ，Ｗｍ，Ｗｈ）を設定し、各明るさ領域関数に対して、各明るさ変換関数（輝度値変換関数Ｃｓ、Ｃｍ、Ｃｈ）を設定し、各明るさ領域に対応して上限変換関数（上限ガンマ曲線関数Ｇｓ１、Ｇｍ１、Ｇｈ１）を設定し、各明るさ領域に対応して下限変換関数（下限ガンマ曲線関数Ｇｓ０、Ｇｍ０、Ｇｈ０）を設定する。そして、画像処理装置１が、各明るさ領域に対応する上限変換関数および下限変換関数に応じて、各上限値および下限値を算出し、各明るさ変換関数を適用して、各上限値および下限値に対する各比率（分割比率Ｈｓ、Ｈｍ、Ｈｈ）を算出し、各上限値および下限値と、各比率とにより、変換後の明るさを算出する場合、ユーザが輝度領域毎に、輝度領域関数Ｗｓ，Ｗｍ，Ｗｈ、上限変換関数、および、下限変換関数の少なくとも１つを調整することにより、コントラスト等の調節ができる。
【０１５２】
また、明るさ領域関数（輝度領域関数Ｗｓ，Ｗｍ，Ｗｈ）が、連続関数である場合、特に、原画像の明るさが連続する領域における、画像処理の精度を向上させることができる。
【０１５３】
また、上限変換関数および下限変換関数が、ガンマ補正関数のように、明るさに対する視覚特性に合うように補正する関数である場合、人間の感覚にあった画像補正ができる。
【０１５４】
なお、第１および第２実施形態の処理は、コンピュータにより実行してもよい。この場合、第１および第２実施形態の処理を実行するプログラムを記憶した記録媒体等をコンピュータが読み出し実行する。
【０１５５】
第１および第２実施形態の処理をコンピュータソフトウエアで実装する場合においても、組み込み機器等に実装するときは、コンピュータのＣＰＵが使用するメモリが少ない方が、より高速な処理が可能になる可能性が高くなる。
【０１５６】
また、例えばトーンカーブを変更し、画像変換の結果を人間が見ながら修正して行くようなアプリケーションソフトでは、適切な画像変換結果を得るまで何度もパラメータを変えて画像変換を繰り返すような操作を行なうアプリケーションソフトの形態が考えられる。
【０１５７】
このようなアプリケーションでは原画像自体は変化しないので、原画像から生成される局所ヒストグラムは一度生成すればよいが、パラメータを変更した場合、何度も画像変換を行う必要がある。また、局所ヒストグラム等の局所処理値のデータは、元データより大きくなる場合が多々存在する。このような場合、局所ヒストグラム等の局所処理値の代わりに、ブロック・ヒストグラムのようなブロック処理値を、ブロック・データ用メモリ３ｂに保存しておけば、より少ないメモリの消費で済み、良好な実行速度を得ることが可能である。
【０１５８】
また、第１および第２実施形態における画像補正技術は、ディジタルスチルカメラやビデオカメラでの画像処理のみならず、医療、車載、監視等、様々な用途に適用できる。
【０１５９】
さらに、本発明は、上記各実施形態に限定されるものではない。上記各実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【０１６０】
１：画像処理装置
２：ＣＰＵ部
３：画像処理部
３ａ：ブロック・データ生成部
３ｂ：ブロック・データ用メモリ
３ｃ：局所領域データ生成部
４：記憶部
１０：Ｙ方向の加算処理部
２０：Ｘ方向の加算処理部
３０：原画像
３１：画素
３２：局所領域
Ｌ：輝度値（明るさ）
Ｂ：ブロック
Ｂｎ：ブロック・ヒストグラム（ブロック処理値）
ＳｕｍＣｎ：局所ヒストグラム（局所処理値）
ＢＣｓ、ＢＣｍ、ＢＣｈ：ブロック輝度値（ブロック処理値）
ＳｕｍＣｓ、ＳｕｍＣｍ、ＳｕｍＣ：変換した輝度値の総和のデータ（局所処理値）
【図１】
0006019782.tif 000011
【図２】
0006019782.tif 000012
【図４】
0006019782.tif 000013
【図５】
0006019782.tif 000014
【図６】
0006019782.tif 000015
【図７】
0006019782.tif 000016
【図１４】
0006019782.tif 000017
【図１５】
0006019782.tif 000018
【図３】
0006019782.tif 000019
【図８】
0006019782.tif 000020
【図９】
0006019782.tif 000021
【図１０】
0006019782.tif 000022
【図１１】
0006019782.tif 000023
【図１２】
0006019782.tif 000024
【図１３】
0006019782.tif 000025
【図１６】
0006019782.tif 000026
【図１７】
0006019782.tif 000027
【図１８Ａ】
0006019782.tif 000028
【図１８Ｂ】
0006019782.tif 000029
【図１８Ｃ】
0006019782.tif 000030
【図１９Ａ】
0006019782.tif 000031
【図１９Ｂ】
0006019782.tif 000032
【図１９Ｃ】
0006019782.tif 000033