(57)【要約】【課題】  簡単かつ容易に階調変換に起因するトーンジャンプを抑制し、好適に画像を補正することができる画像処理装置及びその制御方法、プログラムを提供する。【解決手段】    入力した画像データから輝度値のヒストグラムから各輝度値の累積頻度を算出する。画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する。生成したヒストグラムから階調性を抽出し、その階調性から、基本階調特性を補正するための第１の重みを算出する。各輝度値について、基本階調特性と累積頻度の差分に、第１の重みを乗じてに加算して、基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する。演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、画像データを階調変換する。【選択図】  図１
2009252051.tif 000002
【特許請求の範囲】
【請求項１】
画像データの階調補正を行う画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段で入力した画像データから輝度値のヒストグラムを生成する生成手段と、
前記生成手段で生成したヒストグラムから各輝度値の累積頻度を算出する累積頻度算出手段と、
前記画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する設定手段と、
前記生成手段で生成したヒストグラムから階調性を抽出する抽出手段と、
前記抽出手段で抽出した階調性から、前記基本階調特性を補正するための第１の重みを算出する第１の重み算出手段と、
各輝度値について、前記設定手段で設定した基本階調特性と前記累積頻度算出手段で算出した累積頻度の差分に、前記第１の重み算出手段で算出した第１の重みを乗じて前記基本階調特性に加算して、前記基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する演算手段と、
前記演算手段で演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、前記画像データを階調変換する階調変換手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記抽出手段は、前記階調性として、前記画像データ中の有効階調数を計数する計数手段を備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の重み算出手段は、前記画像データの有効階調数Ｎに対して、Ｎのｍ乗（ｍ＝１以上）に比例する値を前記第１の重みとして算出する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記計数手段は、前記画像データ中の輝度値の内、その頻度値が閾値より小さい輝度値については、前記有効階調数の計数対象外とする
ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記基本階調特性の輝度値範囲の中心輝度値よりも低い第１の輝度値範囲と前記中心輝度値よりも高い第２の輝度値範囲の輝度値について、それらの範囲外の輝度値よりも、その補正量が大きくなるような第２の重みを算出する第２の重み算出手段と、
前記第１の重みと前記第２の重みを合成する重み合成手段と
を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記第２の重み算出手段は、前記第２の重みとして、前記基本階調特性の輝度値範囲の中心輝度値が極小値となるような重みを算出する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
画像データの階調補正を行う画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程で入力した画像データから輝度値のヒストグラムを生成する生成工程と、
前記生成工程で生成したヒストグラムから各輝度値の累積頻度を算出する累積頻度算出工程と、
前記画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する設定工程と、
前記生成工程で生成したヒストグラムから階調性を抽出する抽出工程と、
前記抽出工程で抽出した階調性から、前記基本階調特性を補正するための第１の重みを算出する第１の重み算出工程と、
各輝度値について、前記設定工程で設定した基本階調特性と前記累積頻度算出工程で算出した累積頻度の差分に、前記第１の重み算出工程で算出した第１の重みを乗じて前記基本階調特性に加算して、前記基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する演算工程と、
前記演算工程で演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、前記画像データを階調変換する階調変換工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項８】
画像データの階調補正を行う画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
画像データを入力する入力工程と、
前記入力工程で入力した画像データから輝度値のヒストグラムを生成する生成工程と、
前記生成工程で生成したヒストグラムから各輝度値の累積頻度を算出する累積頻度算出工程と、
前記画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する設定工程と、
前記生成工程で生成したヒストグラムから階調性を抽出する抽出工程と、
前記抽出工程で抽出した階調性から、前記基本階調特性を補正するための第１の重みを算出する第１の重み算出工程と、
各輝度値について、前記設定工程で設定した基本階調特性と前記累積頻度算出工程で算出した累積頻度の差分に、前記第１の重み算出工程で算出した第１の重みを乗じて前記基本階調特性に加算して、前記基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する演算工程と、
前記演算工程で演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、前記画像データを階調変換する階調変換工程と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの階調補正を行う画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
従来、画像の輝度等の画像特徴量の出現頻度分布からなるヒストグラムを用いて、画像補正処理を実行するものとしては、ヒストグラム平滑化技術が一般的であり、改良が行われてきている（例えば、特許文献１及び特許文献２）。特許文献１では、予め用意された標準階調変換曲線と、処理対象の画像のヒストグラムに基づいて決められた階調変換曲線を任意の比率で合成して補正用の階調変換曲線を生成して、画像の階調変換を行う技術が開示されている。この特許文献１では、画像に対して、オペレータが指定した定数ｋ（０≦ｋ≦１）を用いて、標準階調変換曲線と階調変換曲線を混合する比率を指定して、その比率に応じて補正用の階調変換曲線を生成している。
【０００３】
しかしながら、従来のヒストグラム平滑化を用いる画像補正処理では、画像の輝度等の頻度分布に大きな偏りがある場合、連続する階調が不連続になるトーンジャンプが生じるという問題がある。図２０（ａ）は、画像の輝度値の頻度分布に大きな偏りがある場合のヒストグラムの一例を示している。このような場合、図２０（ｂ）に示されるように、点線で示される標準階調変換曲線に対し、図２０（ａ）のヒストグラムから生成される補正用の階調変換曲線は実線の軌跡を描くことなり、両者間での相違が顕著となる。
【０００４】
また、トーンジャンプを防ぐために、特許文献２では、輝度値の頻度分布の頻度データに基づいて累積頻度カーブを生成し、これを最大補正テーブルとして設定する。そして、引用文献２では、その分散値（輝度値の頻度分布の偏り具合）を算出して、その算出した分散値の大きさ毎に混合比を設定して、標準階調変換曲線と階調変換曲線を混合する技術が開示されている。分散値の大きさが大、中、小の場合について、その混合比を０．５以下、０．５程度、０．５以上としている。例えば、図２０（ｂ）のヒストグラムで混合比を０．４に設定しても、図２０（ｃ）のようになり、低輝度部でトーンジャンプが発生する急激な立ち上がりが確認される。
【特許文献１】特開昭６３−４２５７５号公報
【特許文献２】特開２０００-３２２０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の分散値を用いる画像補正処理において、ヒストグラムから分散値を算出するためには、平均値の算出、２乗演算等の複雑な演算が必要であり、演算コストが掛かるといった問題が生じている。また、特許文献２では、分散値の大小と混合比の大まかな考え方が示されているだけで明確な関係が示されていない。即ち、混合比０．５からどの程度調整するかなどが不明確である。
【０００６】
特に、静止画像と異なり、動画像では階調が非常に乏しく、頻度分布の偏りが極端な画像も対象に含まれる。例えば、暗闇の中から車の小さなヘッドライトが大きくなるような場面では、暗闇の微妙な階調が大きく誇張されてトーンジャンプを起こしてしまう。これを防ぐには、ほぼ０に近い混合比が必要になる。従来例では、この混合比を０．５を基準にして設定してしまうため、より画像の内容に適した混合比を決定することはできない。
【０００７】
また、従来例では、暗部・明部等の表示装置での表示については重要な部分を考慮することなく、一律の混合比となっている。ここで、暗部、明部では微妙な表現が必要とされるが、一律の混合比で標準階調変換曲線と階調変換曲線を混合してしまうことで黒潰れや白とびが起こってしまうという問題が生じている。
【０００８】
本発明は上記の課題を解決するためになされたものであり、簡単かつ容易に階調変換に起因するトーンジャンプを抑制し、好適に画像を補正することができる画像処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
画像データの階調補正を行う画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段で入力した画像データから輝度値のヒストグラムを生成する生成手段と、
前記生成手段で生成したヒストグラムから各輝度値の累積頻度を算出する累積頻度算出手段と、
前記画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する設定手段と、
前記生成手段で生成したヒストグラムから階調性を抽出する抽出手段と、
前記抽出手段で抽出した階調性から、前記基本階調特性を補正するための第１の重みを算出する第１の重み算出手段と、
各輝度値について、前記設定手段で設定した基本階調特性と前記累積頻度算出手段で算出した累積頻度の差分に、前記第１の重み算出手段で算出した第１の重みを乗じて前記基本階調特性に加算して、前記基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する演算手段と、
前記演算手段で演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、前記画像データを階調変換する階調変換手段と
を備える。
【００１０】
また、好ましくは、前記抽出手段は、前記階調性として、前記画像データ中の有効階調数を計数する計数手段を備える。
【００１１】
また、好ましくは、前記第１の重み算出手段は、前記画像データの有効階調数Ｎに対して、Ｎのｍ乗（ｍ＝１以上）に比例する値を前記第１の重みとして算出する。
【００１２】
また、好ましくは、前記計数手段は、前記画像データ中の輝度値の内、その頻度値が閾値より小さい輝度値については、前記有効階調数の計数対象外とする。
【００１３】
また、好ましくは、前記基本階調特性の輝度値範囲の中心輝度値よりも低い第１の輝度値範囲と前記中心輝度値よりも高い第２の輝度値範囲の輝度値について、それらの範囲外の輝度値よりも、その補正量が大きくなるような第２の重みを算出する第２の重み算出手段と、
前記第１の重みと前記第２の重みを合成する重み合成手段と
を更に備える。
【００１４】
また、好ましくは、前記第２の重み算出手段は、前記第２の重みとして、前記基本階調特性の輝度値範囲の中心輝度値が極小値となるような重みを算出する。
【００１５】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
画像データの階調補正を行う画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程で入力した画像データから輝度値のヒストグラムを生成する生成工程と、
前記生成工程で生成したヒストグラムから各輝度値の累積頻度を算出する累積頻度算出工程と、
前記画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する設定工程と、
前記生成工程で生成したヒストグラムから階調性を抽出する抽出工程と、
前記抽出工程で抽出した階調性から、前記基本階調特性を補正するための第１の重みを算出する第１の重み算出工程と、
各輝度値について、前記設定工程で設定した基本階調特性と前記累積頻度算出工程で算出した累積頻度の差分に、前記第１の重み算出工程で算出した第１の重みを乗じて前記基本階調特性に加算して、前記基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する演算工程と、
前記演算工程で演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、前記画像データを階調変換する階調変換工程と
を備える。
【００１６】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
画像データの階調補正を行う画像処理装置の制御をコンピュータに実行させるためのプログラムであって、
画像データを入力する入力工程と、
前記入力工程で入力した画像データから輝度値のヒストグラムを生成する生成工程と、
前記生成工程で生成したヒストグラムから各輝度値の累積頻度を算出する累積頻度算出工程と、
前記画像データを階調変換するための基本となる、入力輝度値に対する出力輝度値の分布からなる基本階調特性を設定する設定工程と、
前記生成工程で生成したヒストグラムから階調性を抽出する抽出工程と、
前記抽出工程で抽出した階調性から、前記基本階調特性を補正するための第１の重みを算出する第１の重み算出工程と、
各輝度値について、前記設定工程で設定した基本階調特性と前記累積頻度算出工程で算出した累積頻度の差分に、前記第１の重み算出工程で算出した第１の重みを乗じて前記基本階調特性に加算して、前記基本階調特性の各入力輝度値に対する出力輝度値の補正値を演算する演算工程と、
前記演算工程で演算した各入力輝度値に対する出力輝度値の補正値からなる階調変換曲線を用いて、前記画像データを階調変換する階調変換工程と
をコンピュータに実行させる。
【発明の効果】
【００１７】
本発明によれば、簡単かつ容易に階調変換に起因するトーンジャンプを抑制し、好適に画像を補正することができる画像処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１９】
＜実施形態１＞
図１は本発明の実施形態１の画像処理装置を示すブロック図である。
【００２０】
尚、説明を容易にするために、入力は白黒多値画像であって、画素あたり８ビットで構成される静止画像データとする。
【００２１】
図１において、１は画像データを格納するフレームメモリである。２はコントローラ（不図示）からの制御信号によって出力を切り替えるセレクタである。３は画像データから画素単位に輝度データを読み出し、対応する値をカウントアップするヒストグラム加算器である。４はヒストグラム加算器３によって生成されるヒストグラムを格納するメモリであり、入力されるアドレスは画像データの輝度値に対応する。
【００２２】
５はヒストグラムメモリ４の内容を低輝度から順に読み出し、累積演算を行うヒストグラム累積演算器である。６はヒストグラム累積演算器５から得られる累積ヒストグラム（処理対象の画像データの階調変換曲線）を格納する累積ヒストグラムメモリである。
【００２３】
７は基本となる基本補正特性（基本階調特性（標準階調変換曲線））を格納する基本補正特性メモリである。ここでは、説明を容易にするために入力値と出力値が１：１の線形値で構成される基本補正特性曲線を格納しているものとするが、これに限定されない。また、この基本補正特性は、外部からの指示によってコントローラを介して任意に設定することが可能である。
【００２４】
８は基本補正特性と累積ヒストグラムについて、各輝度値で差分値を算出する差分器である。
【００２５】
１００は重み決定部であり、累積ヒストグラムと基本補正特性とを混合して補正用の階調変換曲線を生成するための混合比を決定する。１０はヒストグラムから階調性を表す、有効な階調数を計数する階調数計数器である。つまり、この階調数計数器１０は、画像データの階調性を抽出する抽出部として機能する。１１は計数された階調数から重み（第１の重み）を算出する重み算出器である。
【００２６】
９は重み決定部１００で算出された重みに基づいて、差分器８から出力される差分値と基本補正特性から入力輝度値に対する補正値を演算する重み演算器である。１２は入力輝度値をアドレスとして、補正後の出力輝度値を出力するルックアップテーブル（ＬＵＴ）である。
【００２７】
尚、画像処理装置の各種構成要素の動作は、コントローラによって制御される。
【００２８】
次に、この画像処理装置における画像補正処理について説明する。
【００２９】
処理に先立ち、コントローラは、ヒストグラムメモリ４、累積ヒストグラムメモリ６の内容は全て０にリセットする。また、コントローラは、ヒストグラム累積演算器５、階調数計数器１０の内容も０にリセットする。更に、コントローラは、セレクタ２の出力をヒストグラム加算器３に選択する。
【００３０】
静止画像データである画像データが入力されると、それはフレームメモリ１に格納される。フレームメモリ１に画像データを格納後、ヒストグラム加算器３はフレームメモリ１内の画像データの各画素の輝度値を順に読み出し、ヒストグラムメモリ４のアドレスとして内容を読み出す。その頻度値に１を加算して、同じアドレスに格納する。フレームメモリ１内の画像データの全ての画素についてヒストグラムの計数が終了したら、階調数計数器１０を動作させる。
【００３１】
ここで、階調数計数器１０の詳細構成について、図２を用いて説明する。
【００３２】
図２は本発明の実施形態１の階調数計数器の詳細構成を示すブロック図である。
【００３３】
図２において、データ線５０はヒストグラムメモリ４に接続されており、画像データの各輝度値の頻度値を読み込む。５１は論理和を算出する論理和回路であり、入力された頻度値の全ビットの論理和を算出する。論理和回路５１の出力が「０」である場合、その輝度値は一度も出現していないことを表している。５２はカウンタであり、初期化時にデータ線５３を介して０にリセットされる。一方、論理和回路５１の出力が「１」の場合、カウンタ５２の内容が１だけカウントアップされる。データ線５４は、重み算出器１１に接続されている。
【００３４】
処理に先立ち、データ線５３を介してカウンタ５２が０にリセットされる。続いて、ヒストグラムメモリ４からの読出クロックに従って、データ線５０を介して順に該当する輝度値の頻度値を読み出す。論理和回路５１は、入力されたビットの論理和を算出し、カウンタ５２に入力する。カウンタ５２は入力データが「１」である場合、その内容を１つだけカウントアップする。全ての輝度値についてその頻度値を読み出し、カウンタ５２で計数が終了したら、その内容を、データ線５４を介して、画像データ中の有効階調数として重み算出器１１に出力する。
【００３５】
重み算出器１１は、入力された有効階調数から重みを算出する。ここで、重み算出器１１の詳細構成について、図３を用いて説明する。
【００３６】
図３は本発明の実施形態１の重み算出器の詳細構成を示すブロック図である。
【００３７】
図３において、５５は入力の２乗値を算出する２乗器であり、乗算器や予め計算結果を格納したＲＯＭ等で構成される。５６は画像データを表現する輝度値の全ての輝度数で入力を除算する正規化器である。データ線５７は、重み演算器９に接続されている。
【００３８】
データ線５４を介して入力された有効階調数は２乗器５５で２乗され、正規化器５６で正規化される。ここでは、入力画像データが８ビットであるため、その最大輝度値である２５５で割ることで正規化が実現される。正規化された値は階調依存重みＷLとしてデータ線５７を介して重み演算器９に入力される。この階調依存重みＷLと階調数の関係を図４に示す。
【００３９】
一方、ヒストグラム累積演算器５は、ヒストグラムメモリ４から輝度値の低い順に該当する頻度値を読み出す。ここで、該当する輝度値をｉ、該当する頻度値をＨｉｓｔ［ｉ］とする。また、ヒストグラム累積演算器５で算出され、累積ヒストグラムメモリ６に格納される累積ヒストグラムの値をＣｏｍ［ｉ］とする。この場合、ヒストグラム累積演算器５は、以下の（１）式に従って累積ヒストグラムを算出し、累積ヒストグラムメモリ６に格納する。
【００４０】
Ｃｏｍ［ｉ］＝Ｃｏｍ［ｉ−１］＋Ｈｉｓｔ［ｉ］  （ｉ＞０）
Ｃｏｍ［ｉ］＝０                                （ｉ＝０）・・・（１）
全ての輝度について累積ヒストグラムが算出し終わったら、差分器８を動作させる。基本補正特性メモリ７に格納されている基本補正特性において、輝度値ｉに該当する補正特性をＢａｓｅ［ｉ］とすると、差分器８は、差分値ｐ［ｉ］を、以下の（２）式に従って算出する。
【００４１】
ｐ［ｉ］＝Ｂａｓｅ［ｉ］−Ｃｏｍ［ｉ］                    ・・・（２）
算出された差分値ｐ［ｉ］は、重み演算器９に入力される。ＬＵＴ１２における入力輝度値ｉに対する補正値をＬＵＴ［ｉ］とすると、重み演算器９の出力は
ＬＵＴ［ｉ］＝ｐ［ｉ］＊ＷL＋Ｂａｓｅ［ｉ］    ・・・（３）
となる。
【００４２】
ＬＵＴ１２の内容について全て算出が終了したら、セレクタ２の出力をＬＵＴ１２に切り替える。
【００４３】
フレームメモリ１から順次読み出された輝度値は、セレクタ２を介してＬＵＴ１２に入力される。ＬＵＴ１２では、入力された輝度値をＥ、出力をＸとすると
Ｘ＝ＬＵＴ［Ｅ］                                          ・・・（４）
によって補正した出力画素値を得て出力する。この出力先としては、例えば、表示装置がある。
【００４４】
次に、実施形態１の画像処理について、図５を用いて説明する。
【００４５】
図５は本発明の実施形態１に係る画像処理装置における画像処理を示すフローチャートである。
【００４６】
まず、ステップＳ１にて、コントローラは、初期化を実行する。具体的には、コントローラは、各種メモリ（フレームメモリ１、ヒストグラムメモリ４、累積ヒストグラムメモリ６等）を０にリセットする。また、コントローラは、カウンタ値（ヒストグラム加算器３、階調数計数器１０等）を０にリセットし、セレクタ２をＬＵＴ１２の内容を決定するためにヒストグラム加算器３に接続する。
【００４７】
ステップＳ２にて、コントローラは、フレームメモリ１から画像データの輝度値を読み出し、ヒストグラム加算器３によってヒストグラムを算出し、ヒストグラムメモリ４に格納する。
【００４８】
ステップＳ３にて、コントローラは、算出されたヒストグラムから累積ヒストグラムを算出し、それを累積ヒストグラムメモリ６に格納するとともに、階調数計数器１０の有効階調数の計数によって、階調依存重みを重み算出器１１によって算出する。コントローラは、得られる基本補正特性と累積ヒストグラムと階調依存重みＷLから、重み演算器９を動作させて、補正用のＬＵＴ１２の内容を生成する。
【００４９】
ステップＳ４にて、コントローラは、生成されたＬＵＴ１２の内容を用いて画像を補正した後、処理を終了する。
【００５０】
このような一連の動作により、階調数を計数するという簡単な構成で、トーンジャンプを抑制して画像補正を好適に行うことができる。即ち、図２０（ａ）のような階調数が少ない場合でも重みが非常に小さくなるように制御（生成）されるため、頻度分布に偏りがあっても、その重みを用いることで、補正用の階調変換曲線は基本補正特性に近くなる。例えば、図２０（ａ）の階調変換曲線に対しては、図６のような補正階調変換曲線を生成することができ、図２０（ｃ）に示す階調変換曲線に比べて、階調が不連続になりにくくなる。
【００５１】
実施形態１では、入力画像を白黒多値の静止画像としているが、これに限定されず、例えば、カラー画像として、その輝度値に対して画像補正処理を施してももちろん構わない。また、入力画像が動画である場合、各フレーム単位で処理を行うことで、同様の画像補正を行うことが可能である。また、ビット数もこれに限定されない。この場合、正規化器５６の構成、ＬＵＴ１２やヒストグラムメモリ４、累積ヒストグラムメモリ６の容量を拡張することで対応できることは明らかである。
【００５２】
また、ヒストグラムの計数にあたっては全画素を対象にして説明しているが、これに限定されず、例えば、空間的に間引いてサンプリングしても構わない。
【００５３】
また、階調依存重みの算出で有効階調数を２乗しているが、これに限定されず、図７のような線形の重みでも構わない。あるいは、有効階調数Ｎに対して、Ｎのｍ乗（ｍ＝１以上）に比例する階調依存重みを算出しても良い。階調数が大きくなると階調依存重みが大きくなるような構成であれば、これに限定されない。
【００５４】
尚、図８に図１の画像処理装置の構成の一部を変更した例を示す。図８では、図１の画像処理装置に対して、重み決定部１５０において、僅少頻度削減器１５１を追加している。画像全体で非常に頻度の小さい（所定頻度より小さい）輝度値は画像に与える影響が小さい。そのため、僅少頻度削減器１５１は頻度値（計数値）と閾値を比較することで、非常に小さい値しかない輝度値を０として、有効階調数として計数しないよう（計数対象外）にすることができる。これにより、頻度分布に偏りに対してより適した階調依存重みの算出が可能になる効果が得られる。
【００５５】
尚、僅少頻度削減器１５１における閾値は、例えば、外部からの指示によってコントローラを介して任意に設定することが可能である。
【００５６】
以上説明したように、実施形態１によれば、画像の輝度値の頻度値に基づいて、階調数が大きくなると階調依存重みが大きくなるような重みで、画像を階調変換するための階調変換曲線を生成する。これにより、画像の輝度値の頻度分布に偏りがある場合でも、トーンジャンプを防いで好適な階調補正を行うことができる。
【００５７】
＜実施形態２＞
図９は本発明の実施形態２の画像処理装置の構成を示すブロック図である。
【００５８】
図９において実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００５９】
２０３はヒストグラムメモリ４の内容を低輝度から順に読み出し、累積演算を行うヒストグラム累積演算器である。２０５は基本となる基本補正特性を格納する基本補正特性メモリである。ここでは実施形態１とは異なり、図１０のような直線とするが、これに限定されない。２０４は基本補正特性とヒストグラムの累積ヒストグラムについて、各輝度値で差分値を算出する差分器である。
【００６０】
２００は重み決定部である。２０１は暗部・明部強調重みメモリである。２０２は暗部・明部強調重みメモリ２０１と階調数計数器１０からの出力に基づいて重み（第２の重み）を算出する重み算出器である。２０６は重み決定部２００で算出された重みに基づいて、差分器２０４から出力される差分値と基本補正特性メモリ２０５に格納された基本補正特性から入力輝度値に対する補正値を演算する重み演算器である。
【００６１】
２０７は演算された過去の補正値を格納するＬＵＴメモリである。２０８は重み演算器２０６で演算した補正値とＬＵＴメモリ２０７に格納された該当する補正値との加重平均を算出し、最終的な補正後の出力輝度値を算出する加重平均器である。２０９及び２１０は動画像の複数フレームのカラー画像データを格納するフレームメモリである。格納される枚数は処理による遅延によって必要となる枚数を格納するものとする。
【００６２】
実施形態１と異なり、実施形態２では、カラーの動画像データを入力し、順次補正を行う。入力される動画像データは画素あたり８ビットで輝度、色度がそれぞれ構成されるものとするが、これに限定されない。
【００６３】
実施形態１と同様に、処理の開始に先立ち、コントローラは、ヒストグラムメモリ４の内容は全て０にリセットする。また、ヒストグラム累積演算器２０３、階調数計数器１０の内容も０にリセットする。更に、コントローラは、セレクタ２の出力をヒストグラム加算器３に選択する。これらは、動画像の各フレーム画像を処理する直前に初期化される。
【００６４】
動画像データのフレーム画像データは１フレームずつ入力され、フレームメモリ２０９に格納される。ヒストグラム加算器３は、フレームメモリ２０９に格納されたフレーム画像データの画素の輝度値を順に読み出す。実施形態１と同様に、読み出した輝度値からヒストグラムメモリ４のアドレスとして内容をカウントアップする。フレームメモリ２０９の該当するフレーム画像データ内の全ての画素の輝度値についてヒストグラムの計数が終了したら、階調数計数器１０で有効階調数を計数する。
【００６５】
重み算出器２０２は、暗部・明部強調重みメモリ２０１から暗部・明部強調重みを読み出し、階調依存重みＷLと合成して最終的な重みを算出する。
【００６６】
暗部・明部強調重みメモリ２０１には、暗部・明部の重みが大きくなるように設定された暗部・明部重みが格納されている。ここで、図１１に暗部・明部強調重みメモリ２０１に格納されている重みＷHの一例を示す。図１１に示す例では、輝度値の中心値が極小値となるような２次曲線であるが、これに限定されない。複数の直線で近似されたようなものでももちろん構わない。
【００６７】
尚、暗部は、例えば、画像データの輝度範囲の中心輝度値よりも低い第１の輝度値範囲、明度は、中心輝度値よりも高い第２の輝度値範囲に相当する。また、この各輝度値範囲は、外部からの指示によってコントローラを介して任意に設定することが可能である。このように、重み算出器２０２では、基本階調特性の輝度値範囲の中心輝度値よりも低い第１の輝度値範囲と中心輝度値よりも高い第２の輝度値範囲の輝度値について、それらの範囲外の輝度値よりも、その補正量が大きくなるような第２の重みを算出する。
【００６８】
重み算出器２０２は、該当する輝度値をｉ、暗部・明部強調重みメモリ２０１から読み出された該当する重みＷH［ｉ］とすると、最終的な重みＷ［ｉ］は、
Ｗ［ｉ］＝ＷH［ｉ］＊ＷL          ・・・（５）
で算出することができる。算出された重みＷ［ｉ］は、重み演算器２０６に出力される。
【００６９】
ヒストグラム累積演算器２０３は、輝度ｉの累積頻度Ｃｏｍ［ｉ］を（１）式で算出する。算出された累積頻度Ｃｏｍ［ｉ］は、ヒストグラム累積演算器２０３に蓄積され、次の累積頻度を算出するために用いられる。つまり、ヒストグラム累積演算器２０３は、ヒストグラムから各輝度値の累積頻度を算出する累積頻度算出部として機能する。
【００７０】
差分器２０４は、算出された累積ヒストグラムの該当する値Ｃｏｍ［ｉ］と基本補正特性メモリ２０５に格納されている基本補正特性から、差分値ｐ［ｉ］を（２）式に従って算出する。算出された差分値ｐ［ｉ］は、重み演算器２０６に入力され、（３）式に従って、入力輝度値ｉに対する補正値としてＬＵＴ［ｉ］を算出する。
【００７１】
ここで、ＬＵＴメモリ２０７に格納されている過去のＬＵＴ値で輝度値ｉに対応する値ＬＵＴPAST［ｉ］とする。この場合、以下の（６）式に従ってＬＵＴ１２で補正に用いる入力輝度値ｉに対する補正値ＬＵＴCur［ｉ］を算出する。ここで、α（０≦α≦１）は定数である。
【００７２】
ＬＵＴCur［ｉ］＝ＬＵＴPAST［ｉ］＊（１−α）＋ＬＵＴ［ｉ］＊α
・・・（６）
ＬＵＴCur［ｉ］は、ＬＵＴ１２の輝度値ｉをアドレスとしてＬＵＴ１２に格納される。同時に、ＬＵＴCur［ｉ］は、ＬＵＴPAST［ｉ］として、ＬＵＴメモリ２０７に格納される。
【００７３】
ＬＵＴCur［ｉ］の内容について全て算出が終わったら、セレクタ２の出力をＬＵＴ１２に切り替える。
【００７４】
フレームメモリ２０９から順次読み出された輝度値は、セレクタ２を介してＬＵＴ１２に入力され、実施形態１と同様にして、補正した出力画素値を得ることができる。補正された輝度値は、フレームメモリ２１０にＬＵＴ１２を経由しない形で入力された色度とともに格納される。全ての画素の輝度について補正が終わり、フレームメモリ２１０に画像データが格納されたらこれを出力し、次のフレーム画像データの処理を行う。
【００７５】
次に、実施形態２の画像処理について、図１２を用いて説明する。
【００７６】
図１２は本発明の実施形態２に係る画像処理装置における画像処理を示すフローチャートである。
【００７７】
尚、図１２において、実施形態１の図４と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００７８】
まず、ステップＳ１０１にて、動画像データのフレーム画像データの入力が終了したか否かを判定する。終了した場合、全ての処理を終了して、画像補正処理を終了する。一方、終了していない場合、ステップＳ１に進む。
【００７９】
実施形態１と同様に、ステップＳ１では、コントローラは、初期化を実行する。ステップＳ２にて、コントローラは、ヒストグラム加算器３によって対応するフレーム画像データのヒストグラムを算出し、ヒストグラムメモリ４に格納する。
【００８０】
ステップＳ１０２にて、コントローラは、重み算出器２０２によって、有効階調数に基づく重みと予め定められた暗部・明部強調重みから重みを算出し、累積ヒストグラムを計算しながら、補正値を算出する。算出された補正値は、加重平均器２０８で、過去の補正値と加重平均され、最終的な補正値をＬＵＴ１２に格納する。
【００８１】
ステップＳ４にて、生成されたＬＵＴ１２の内容を用いて画像を補正した後、処理を終了する。
【００８２】
このような一連の動作により、階調数を計数するという簡単な構成で、トーンジャンプを抑制して画像補正を好適に行うことができる。更に、微妙な階調制御が要求される暗部と明部に関して重点的に補正することができるようになる。図１３にその効果の一例を示す。図１４のような累積頻度に対して、図１３の点線が従来技術の一定の重みで補正を行ったものであり、実線が明部・暗部重みで補正（強調）を行ったものである。図１３に示されるように、明部・暗部重みで補正を行った場合、階調変換曲線の明部・暗部での軌跡の傾斜がきつくなり、これらの部分で、階調差が明確化になり黒潰れや白とびが改善される。
【００８３】
実施形態２では、入力画像をカラーの動画像としているが、これに限定されず、例えば、静止画像としてももちろん構わない。また、ビット数もこれに限定されない。この場合、正規化器５６の構成、ＬＵＴ１２やヒストグラムメモリ４、累積ヒストグラムメモリ６の容量を拡張することで対応できることは明らかである。
【００８４】
また、ヒストグラムの計数にあたっては全画素を対象にして説明しているが、これに限定されず、例えば、空間的に間引いてサンプリングしても構わない。
【００８５】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、明部・暗部の階調を強調するような補正を行うことができるので、階調差が明確化になり黒潰れや白とびを改善することができる。つまり、視覚的に重要な明部・暗部での微妙な階調性を確保して、最適な画像補正が行うことができる。また、過去のＬＵＴデータによって補正を行なうため、ノイズによる階調の変化の影響を抑えることができる。
【００８６】
＜実施形態３＞
図１５は本発明の実施形態３に係る画像処理装置の構成を示すブロック図である。
【００８７】
図１５において、３００は画像処理装置全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）である。３０１は、画像処理装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。３０２は画像処理装置の各種構成要素を接続し、データ、制御信号を各種構成要素間で送受信するためのバスである。３０３は画像処理装置の起動、各種条件の設定、再生の指示を行うための端末である。
【００８８】
３０４はソフトウェアを蓄積する記憶装置である。３０５は符号化データや画像データを蓄積する記憶装置である。記憶装置３０４及び３０５は、システムから切り離して移動できるメディアで構成することもできる。３０６は動画像をフレーム単位で獲得するカメラである。
【００８９】
３０７は画像を表示するモニタである。３０９は通信回線であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。３０８は通信回路３０９を介して符号化データや画像データを送受信する通信インタフェース（Ｉ／Ｆ）である。ここでは、説明を容易にするため、処理対象の画像データを輝度・色度とも８ビットの階調を持つものとして説明するが、これに限定されない。
【００９０】
メモリ３０１には画像処理装置全体を制御し、各種ソフトウェアを動作させるためのＯＳや動作させるソフトウェアを格納する。更に、メモリ３０１には、画像データを格納する画像エリア、各種演算や符号化の際のパラメータ等を格納しておくワーキングエリア、ヒストグラムを格納するヒストグラムエリアや、変換のためのＬＵＴを格納するＬＵＴエリアが存在する。
【００９１】
次に、この画像処理装置における画像補正処理について説明する。
【００９２】
処理に先立ち、端末３０３から画像処理装置全体に対して起動が指示され、各構成要素が初期化される。これにより、記憶装置３０４に格納されているソフトウェアがバス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。
【００９３】
ここで、メモリ３０１のメモリの使用、格納状況について、図１６を用いて説明する。
【００９４】
図１６は本発明の実施形態３のメモリの使用、格納状況を示す図である。
【００９５】
メモリ３０１には、画像処理装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ、画像補正処理する動画補正処理ソフトウェアが格納されている。また、カメラ３０６を制御して動画像を１フレームずつ入力する画像入力ソフトウェア、画像をモニタ３０７に表示する画像表示ソフトウェアが格納されている。それ以外に、上述の画像エリア、ワーキングエリア、ヒストグラムエリア、ＬＵＴエリアが確保されている。
【００９６】
次に、実施形態３の画像処理について、図１７を用いて説明する。
【００９７】
図１７は本発明の実施形態３に係る画像処理装置における画像処理を示すフローチャートである。
【００９８】
ステップＳ３００にて、ＣＰＵ３００は、初期化処理を実行する。具体的には、ＣＰＵ３００は、メモリ３０１上のヒストグラムエリアに、ヒストグラムを格納するＨｉｓｔ［２５６］と、累積ヒストグラムを格納するＣｏｍ［２５６］を確保する。また、ＣＰＵ３００は、画像を補正するためのテーブルデータを格納するＬＵＴ［２５６］をＬＵＴエリアに確保する。ここでは、初期値として、ＬＵＴ［２５６］に基本補正特性を表す内容を格納する。また、ＣＰＵ３００は、画像エリアにカメラ３０６で入力された画像を１フレーム分格納する領域ＩＭ０、出力するフレーム画像を格納する領域ＩＭ１を確保する。
【００９９】
ステップＳ３０１にて、ＣＰＵ３００は、端末３０３から終了の指示があるか否かを判定する。終了の指示がある場合、ステップＳ３０５に進む。一方、終了の指示がない場合、ステップＳ３０２に進む。
【０１００】
ステップＳ３０２にて、ＣＰＵ３００は、メモリ３０１上の画像入力ソフトウェアを起動し、カメラ３０６から１フレームずつフレーム画像を入力し、画像エリア上の領域ＩＭＯに格納する。以後、画像入力ソフトウェアは順次、フレーム画像を入力し格納するが、特にこれに言及しない。
【０１０１】
ステップＳ３０３にて、ＣＰＵ３００は、動画補正処理ソフトウェアを起動して、画像補正処理を実行する。
【０１０２】
ここで、ＣＰＵ３００による画像補正処理の詳細について、図１８を用いて説明する。
【０１０３】
図１８は本発明の実施形態３の画像補正処理の詳細を示すフローチャートである。
【０１０４】
ステップＳ３１１にて、ＣＰＵ３００は、ヒストグラムを生成する。まずは、メモリ３０１上のヒストグラムエリアのＨｉｓｔ［ｉ］（ｉ＝０〜２５５）の全てを０クリアする。続いて、ＣＰＵ３００は、メモリ３０１上の画像エリアのＩＭＯに格納された画像データの輝度値Ｙ（ｘ，ｙ）（ｘ、ｙは画素の水平、垂直位置を表す）を読み出し、Ｈｉｓｔ［Ｙ（ｘ，ｙ）］の内容に１を加える。全ての画素の輝度値に対して読み出しと加算が終了したら、ステップＳ３１２に進む。
【０１０５】
ステップＳ３１２にて、ＣＰＵ３００は、Ｈｉｓｔ［ｉ］から補正を行うＬＵＴデータであるＬＵＴ［ｉ］を生成するＬＵＴ生成処理を実行する。
【０１０６】
ここで、ＬＵＴ生成処理の詳細について、図１９を用いて説明する。
【０１０７】
図１９は本発明の実施形態３のＬＵＴ生成処理の詳細を示すフローチャートである。
【０１０８】
ステップＳ３５１にて、ＣＰＵ３００は、初期化を実行する。具体的には、ＣＰＵ３００は、輝度値に関するループを制御する変数ｉ、頻度の累積を行うための変数Ｓ、有効階調数を計数する変数ｎを０にセットする。
【０１０９】
ステップＳ３５２にて、ＣＰＵ３００は、全ての輝度値について処理が終了したか否かを判定する。即ち、ＣＰＵ３００は、変数ｉが２５６になっているか否かを判定する。全ての輝度値について処理が終了している場合、ステップＳ３５７に進む。一方、全ての輝度値について処理が終了していない場合、ステップＳ３５３に進む。
【０１１０】
ステップＳ３５３にて、ＣＰＵ３００は、Ｈｉｓｔ［ｉ］の内容が０であるか否かを判定する。０である場合、ＣＰＵ３００は、輝度ｉは有効な輝度ではないと判定し、有効階調数としてはカウントせず、ステップＳ３５５に進む。一方、０でない場合、ＣＰＵ３００は、輝度ｉは有効な輝度であると判定し、有効階調数としてカウントするために、ステップＳ３５４に進む。
【０１１１】
ステップＳ３５４にて、ＣＰＵ３００は、変数ＳにＨｉｓｔ［ｉ］の内容を加算し、変数ｎを１カウントアップする。
【０１１２】
ステップＳ３５５にて、ＣＰＵ３００は、変数Ｓが表す累積頻度を累積ヒストグラムＣｏｍ［ｉ］に格納する。
【０１１３】
ステップＳ３５６にて、ＣＰＵ３００は、変数ｉに１を加えてカウントアップし、次の輝度値を処理すべく、ステップＳ３５２に戻る。
【０１１４】
ステップＳ３５２にて、全ての輝度値ｉについて、累積ヒストグラムＣｏｍ［ｉ］の生成、有効階調数ｎの算出、総頻度数Ｓの算出が終了した場合、ステップＳ３５７に進む。
【０１１５】
ステップＳ３５７にて、ＣＰＵ３００は、階調依存重みＷLを有効階調数ｎから次式に従って算出する。
【０１１６】
ＷL＝ａ＊（ｎ／２５６）2        ・・・（７）
但し、ａは定数である。
【０１１７】
ステップＳ３５８にて、ＣＰＵ３００は、階調依存重みＷLが１を超えているか否かを判定する。１を超えていない場合、ステップＳ３６０に進む。一方、１を超えている場合、ステップＳ３５９に進む。
【０１１８】
ステップＳ３５９にて、ＣＰＵ３００は、階調依存重みＷLが１を超えているので、ＷLの最大値を１とする。
【０１１９】
ステップＳ３６０にて、ＣＰＵ３００は、輝度値に関するループを制御する変数ｉを０にセットする。
【０１２０】
ステップＳ３６１にて、ＣＰＵ３００は、全ての輝度値について処理が終了しているか否かを判定する。即ち、変数ｉが２５６になっているか否かを判定する。全ての輝度値について処理が終了している場合、ＣＰＵ３００は、ＬＵＴ生成処理を終了し、次の画像補正処理に進む。一方、全ての輝度値について処理が終了していない場合、ステップＳ３６２に進む。
【０１２１】
ステップＳ３６２にて、ＣＰＵ３００は、輝度値ｉに対する画像補正の出力値であるＬを（８）式に従って算出する。
【０１２２】
Ｌ＝（Ｃｏｍ［ｉ］／Ｓ＊２５５−Ｂａｓｅ［ｉ］）＊ＷL＋Ｂａｓｅ［ｉ］  ・・・（８）
ステップＳ３６３にて、ＣＰＵ３００は、フリッカを抑制するために過去の補正出力値との加重平均を算出する。（９）式にその内容を示す。
【０１２３】
ＬＵＴ［ｉ］＝（１−ｋ）＊ＬＵＴ［ｉ］＋ｋ＊Ｌ                  ・・・（９）
ここで、ｋは新しく算出された補正特性への依存度であり、（０≦ｋ≦１）である。このＬＵＴ［ｉ］が該当するフレームの補正のためのＬＵＴとなる。
【０１２４】
ステップＳ３６４にて、ＣＰＵ３００は、変数ｉに１を加えてカウントアップし、次の輝度値を処理すべく、ステップＳ３６１に戻る。
【０１２５】
図１８に戻り、ステップＳ３１３にて、ＣＰＵ３００は、メモリ３０１上のＬＵＴエリアのＬＵＴ［］を用いて、実施形態１の（４）式に従って補正を行う。ＣＰＵ３００は、メモリ３０１上の画像エリアの領域ＩＭ０の輝度値と色度値を順次読み出し、輝度値をＬＵＴ［］を用いて補正し、色度値と合わせて画像エリアの領域ＩＭ１の所定の位置に格納する。全ての画素に対して画像補正処理を終了したら、次の処理に進む。
【０１２６】
図１７に戻り、ステップＳ３０４にて、ＣＰＵ３００は、画像表示ソフトウェアを起動し、メモリ３０１上の画像エリアのＩＭ１の輝度値と色度値を読み出してモニタ３０７上にその内容を表示する。その後、次のフレームの処理を行うために、ステップＳ３０１に戻る。
【０１２７】
ステップＳ３０１で、終了である場合、ステップＳ３０５にて、ＣＰＵ３００は、終了処理を実行する。具体的には、ＣＰＵ３００は、ワーキングエリア、ヒストグラムエリア、画像エリアのそれぞれを開放し、動画像補正ソフトウェア、画像入力ソフトウェア、画像表示ソフトウェアを終了する。
【０１２８】
このような一連の動作により、階調数を計数するという簡単な構成で、トーンジャンプを抑制して画像補正を好適に行うことができる。
【０１２９】
実施形態３では、カメラ３０６からの入力画像に対して画像補正を施しているが、これに限定されず、入力画像として、記憶装置３０５に格納されている静止画像や動画像であってももちろん構わない。また、出力に関してもモニタ３０７への表示に限定されず、通信インタフェース３０８、通信回路３０９を介して外部に出力しても構わない。
【０１３０】
階調数依存重みの算出方法は、これに限定されない。ステップＳ３５７が、例えば、下記の（１０）式を採用して、階調数依存重みを算出しても構わない。
【０１３１】
ＭＬ＝ａ／２５５                            ｎ＜Ｔ
ＭＬ＝（（ａ−Ｔ）／２５５）2＋Ｔ      ｎ≧Ｔ      ・・・（１０）
但し、Ｔは定数である。
【０１３２】
実施形態３では、入力画像をカラーの動画像としているが、これに限定されず、例えば、静止画像としてももちろん構わない。また、ビット数もこれに限定されない。この場合、ＬＵＴエリアやヒストグラムエリアの容量を拡張することで対応できることは明らかである。
【０１３３】
ヒストグラムの計数にあたっては全画素を対象にして説明しているが、これに限定されず、例えば、空間的に間引いてサンプリングしても構わない。
【０１３４】
また、記憶装置から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３５】
また、実施形態１及び実施形態２の構成を組み合わせた画像処理を実現することも、もちろん可能である。
【０１３６】
以上説明したように、実施形態３によれば、実施形態１と同様の効果を、ソフトウェアによって実現することができる。
【０１３７】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１３８】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１３９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１４１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１４２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１４５】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１４６】
【図１】本発明の実施形態１の画像処理装置を示すブロック図である。
【図２】本発明の実施形態１の階調数計数器の詳細構成を示すブロック図である。
【図３】本発明の実施形態１の重み算出器の詳細構成を示すブロック図である。
【図４】本発明の実施形態１の重みＷHの輝度値との関係の一例を表す図である。
【図５】本発明の実施形態１に係る画像処理装置における画像処理を示すフローチャートである。
【図６】本発明の実施形態１の補正階調変換曲線の一例を示す図である。
【図７】本発明の実施形態１の階調依存重みＷLと階調数の関係の一例を示す図である。
【図８】本発明の実施形態１の画像処理装置の変形例を示すブロック図である。
【図９】本発明の実施形態２の画像処理装置の構成を示すブロック図である。
【図１０】本発明の実施形態２の基本補正特性の一例を示す図である。
【図１１】本発明の実施形態２の重みＷHの輝度値との関係の一例を示す図である。
【図１２】本発明の実施形態２に係る画像処理装置における画像処理を示すフローチャートである。
【図１３】本発明の実施形態２の重みＷHを用いて暗部・明部強調の効果の一例を示す図である。
【図１４】本発明の実施形態２の累積ヒストグラムの一例を示す図である。
【図１５】本発明の実施形態３に係る画像処理装置の構成を示すブロック図である。
【図１６】本発明の実施形態３のメモリの使用、格納状況を示す図である。
【図１７】本発明の実施形態３に係る画像処理装置における画像処理を示すフローチャートである。
【図１８】本発明の実施形態３の画像補正処理の詳細を示すフローチャートである。
【図１９】本発明の実施形態３のＬＵＴ生成処理の詳細を示すフローチャートである。
【図２０】従来例でのＬＵＴを説明するための図である。
【符号の説明】
【０１４７】
１  フレームメモリ
２  セレクタ
３  ヒストグラム加算器
４  ヒストグラムメモリ
５  ヒストグラム累積演算器
６  累積ヒストグラムメモリ
７  基本補正特性メモリ
８  差分器
９  重み演算器
１０  階調数計数器
１１  重み算出器
１２  ＬＵＴ
１００、２００  重み決定部
２０１  暗部・明部強調重みメモリ
【図１】
2009252051.tif 000003
【図２】
2009252051.tif 000004
【図３】
2009252051.tif 000005
【図４】
2009252051.tif 000006
【図５】
2009252051.tif 000007
【図６】
2009252051.tif 000008
【図７】
2009252051.tif 000009
【図８】
2009252051.tif 000010
【図９】
2009252051.tif 000011
【図１０】
2009252051.tif 000012
【図１１】
2009252051.tif 000013
【図１２】
2009252051.tif 000014
【図１３】
2009252051.tif 000015
【図１４】
2009252051.tif 000016
【図１５】
2009252051.tif 000017
【図１６】
2009252051.tif 000018
【図１７】
2009252051.tif 000019
【図１８】
2009252051.tif 000020
【図１９】
2009252051.tif 000021
【図２０】
2009252051.tif 000022