(57)【特許請求の範囲】
【請求項１】
処理対象画像内の対象画素を含み、前記処理対象画像において表現し得る階調値の個数と一致する数の画素からなるオペレータを設定する設定部と、
前記オペレータ内の各画素の階調値に基づいて、前記各画素の階調値の最小値を示す最小階調値と前記各画素の階調値の最大値を示す最大階調値とを抽出するパラメータ抽出部と、
前記パラメータ抽出部により抽出された前記最小階調値及び前記最大階調値に基づいてゲインを決定し、当該ゲインを前記対象画素の階調値に適用することにより前記対象画素の変換後の階調値を決定する階調値変換部と、
前記オペレータ内の各画素の階調値を取得し、当該各画素の階調値に基づいて０から自然数Ｎまでの各階調値に対応する画素数を示すヒストグラムを生成する集計部と、
前記ヒストグラムにおいて、階調値０から前記対象画素の階調値までの各階調値の画素数を加算することにより、又は、階調値Ｎから前記対象画素の階調値までの各階調値の画素数を値Ｎから減算することにより、前記対象画素の第２の変換後の階調値を決定する第２階調値変換部と、
前記階調値変換部により決定された前記対象画素の変換後の階調値と前記第２階調値変換部により決定された前記対象画素の第２の変換後の階調値とを予め定められた混合比で足し合わせることにより得られる階調値を出力する混合部と、を備え、
前記パラメータ抽出部は、前記第２階調値変換部が画素数の加算又は減算のために階調値０又は階調値Ｎを示す前記ヒストグラムの一端から前記ヒストグラムの他端に向かって各階調値の画素数を参照する処理と並行して、前記ヒストグラムの一端から他端に向かって各階調値の画素数を参照することにより、前記最小階調値及び前記最大階調値を抽出する、
画像処理装置。
【請求項２】
前記階調値変換部は、前記処理対象画像において表現し得る階調値の個数を示す階調分解能を前記最大階調値と前記最小階調値との差で割ることにより前記ゲインを算出し、前記対象画素の階調値と前記最小階調値との差に前記ゲインを乗じることにより前記対象画素の変換後の階調値を算出する、請求項１に記載の画像処理装置。
【請求項３】
前記階調値変換部は、前記ゲイン及び前記変換後の階調値を決定する前に、前記最小階調値及び前記最大階調値の少なくとも一方に所定の調整値を加算又は減算する調整処理を実行する、請求項１又は２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、画像処理装置に関する。
【背景技術】
【０００２】
従来、下記特許文献１に示されるように、監視カメラ等で撮影された画像（静止画又は動画の各フレーム）等において、同一画面内で極端に明るい部分と暗い部分とが混在する画面を見易い画面に変換する画像処理方法が知られている。
【０００３】
上記画像処理方法では、画像処理装置が、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備える。画像処理装置は、取込手段にて画像を色別に所定のパターンで読み出し、ヒストグラム生成手段を使ってパターンの中の特定位置のピクセルの周囲の平均ヒストグラムを生成し、この平均ヒストグラムを使って特定位置のピクセルの輝度を設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４３８６９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記手法のように、取り込んだ画像内の各画素の階調を変換することで鮮明化された画像を得るための様々な手法が知られている。このような手法によれば鮮明化されて見易くなった画像を得ることができる。しかし、例えば鮮明化の程度（レベル）が強すぎると、画像内の微細部分が鮮明化され、かえってノイズが目立った画像が生成されてしまう場合もある。そこで、元画像を適切に鮮明化して見易い画像を生成することができる画像処理の手法が要請されている。
【課題を解決するための手段】
【０００６】
本発明の一側面に係る画像処理装置は、処理対象画像内の対象画素を含む複数画素からなるオペレータを設定する設定部と、オペレータ内の各画素の階調値に基づいて、各画素の階調値の最小値を示す最小階調値と各画素の階調値の最大値を示す最大階調値とを抽出するパラメータ抽出部と、パラメータ抽出部により抽出された最小階調値及び最大階調値に基づいてゲインを決定し、当該ゲインを対象画素の階調値に適用することにより対象画素の変換後の階調値を決定する階調値変換部と、を備える。
【０００７】
このような形態では、オペレータ内の各画素の最小階調値及び最大階調値に基づいて決定されるゲインをオペレータ内の対象画素の階調値に適用する変換処理が実行され、対象画素の変換後の階調値が決定される。このようなオペレータ単位でのゲインの適用を処理対象画像内の各画素を対象画素として実行することにより、オペレータ毎に当該オペレータに含まれる各画素の階調値の分布等に応じて定まる適切な程度の鮮明化を行うことが可能となる。これにより、鮮明化の程度が適切に調整された見易い画像を得ることができる。
【０００８】
別の形態に係る画像処理装置では、階調値変換部は、処理対象画像において表現し得る階調値の個数を示す階調分解能を最大階調値と最小階調値との差で割ることによりゲインを算出し、対象画素の階調値と最小階調値との差にゲインを乗じることにより対象画素の変換後の階調値を算出してもよい。この構成によれば、予め定められた所定の計算式を用いて、変換後の階調値を容易に算出することができる。
【０００９】
更に別の形態に係る画像処理装置では、階調値変換部は、ゲイン及び変換後の階調値を決定する前に、最小階調値及び最大階調値の少なくとも一方に所定の調整値を加算又は減算する調整処理を実行してもよい。この構成によれば、例えばユーザの好みや画像の特性等に応じた調整値を最小階調値及び／又は最大階調値に適用することにより、鮮明化の程度（例えば暗さ又は明るさが引き立つ度合い）を調整することができる。
【００１０】
更に別の形態に係る画像処理装置は、オペレータ内の各画素の階調値を取得し、当該各画素の階調値に基づいて０から自然数Ｎまでの各階調値の画素数を示すヒストグラムを生成する集計部と、ヒストグラムにおいて、階調値０から対象画素の階調値までの各階調値の画素数を加算することにより、又は、階調値Ｎから対象画素の階調値までの各階調値の画素数を値Ｎから減算することにより、対象画素の第２の変換後の階調値を決定する第２階調値変換部と、階調値変換部により決定された対象画素の変換後の階調値と第２階調値変換部により決定された対象画素の第２の変換後の階調値とを予め定められた混合比で足し合わせることにより得られる階調値を出力する混合部と、を更に備えてもよい。この構成によれば、いわゆる局所的なゲイン調整によって変換された階調値（変換後の階調値）といわゆるヒストグラム平坦化によって変換された階調値（第２の変換後の階調値）とを混合することにより、ノイズの影響が低減された画像を得ることが可能となる。
【００１１】
更に別の形態に係る画像処理装置では、パラメータ抽出部は、第２階調値変換部が画素数の加算又は減算のために階調値０又は階調値Ｎを示すヒストグラムの一端からヒストグラムの他端に向かって各階調値の画素数を参照する処理と並行して、ヒストグラムの一端から他端に向かって各階調値の画素数を参照することにより、最小階調値及び最大階調値を抽出してもよい。この構成によれば、パラメータ抽出部による処理と第２階調値変換部による処理を同時並行して実行することが可能となる。これにより、処理効率の向上が図れるとともに、処理構成（例えば回路構成）の簡単化を図ることができる。
【発明の効果】
【００１２】
本発明の一側面によれば、元画像を適切に鮮明化して見易い画像を生成することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る画像処理装置のハードウェア構成を示す図である。
【図２】画像処理装置の機能構成を示すブロック図である。
【図３】画質調整処理を説明するための模式図である。
【図４】階調値変換処理を実行する回路例を示す図である。
【図５】図４に示す回路の第１及び第２の加算モジュールの構成を示す図である。
【図６】画像処理装置の動作を示すフローチャートである。
【図７】第１変換部を構成する回路の他の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００１５】
本発明の一実施形態に係る画像処理装置１は、静止画及び動画の各フレーム等の画像を取り込み、取り込まれた画像内の各画素の階調値を変換することで、鮮明化されて見易くなった画像を生成及び出力する装置である。画像処理装置１は、特定の用途に限定されないが、例えば監視カメラにより撮影された映像の各フレームについて上記処理を実行することにより、各フレームが鮮明化されて見易くなった映像を得ることができる。ここで、鮮明化とは、画像内において階調値の偏りによって見え難くなっている部分を見易くするための画像処理である。すなわち、鮮明化とは、画像内の各画素の階調値を調整する画像処理である。鮮明化によれば、例えば元の画像において極端に明るい（或いは極端に暗い）ため見え難かった部分が見易くなった画像を得ることが可能となる。ここで、階調値とは、色や明るさ等の濃淡を段階的に表現した数値である。本実施形態において、画像処理装置１の処理対象となる画像は、解像度、画素（ピクセル）単位での階調値、階調分解能等の情報を含むものとする。階調分解能とは、階調値を段階的に表現するために用意されているビット数である。例えば階調分解能が８ビットの場合には、階調値を０から２５５までの２５６段階の値で表現することができる。
【００１６】
図１は、画像処理装置１のハードウェア構成の一例を示す図である。この図に示すように、画像処理装置１は、１以上のＣＰＵ（Central  Processing  Unit）１０１と、主記憶装置であるＲＡＭ（Random  Access  Memory）１０２及びＲＯＭ（Read  Only  Memory）１０３と、キーボードやマウス等の入力装置１０４と、入力画像の取得先となる監視カメラ等の装置や鮮明化後の画像データを蓄積するためのデータベース装置等の外部装置とのデータ通信を行うための通信装置１０５と、集積回路であるＦＰＧＡ（Field-programmable  gate  array）１０６と、ディスプレイ等の出力装置１０７と、を備える。
【００１７】
後述する画像処理装置１の各機能的構成要素は、例えば、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で入力装置１０４、通信装置１０５、ＦＰＧＡ１０６、及び出力装置１０７等を動作させ、ＲＡＭ１０２及びＲＯＭ１０３におけるデータの読み出し及び書き込みを行うことで実現される。ＦＰＧＡ１０６には、後述する回路（図４、図５及び図７参照）が予め実装されており、例えばハードウェア処理により階調値変換処理（後述する変換後の階調値Ｖ１，Ｖ２を生成する処理）を実行することが可能とされている。
【００１８】
なお、図１では画像処理装置１が１台のコンピュータとして構成されているように示しているが、画像処理装置１の機能は、複数台のコンピュータに分散されてもよい。また、画像処理装置１は、入力された画像の鮮明化等の画像処理を実行する機能に特化したアプライアンスとして構成されてもよいし、複数の機能を実行するコンピュータにおいて当該コンピュータの一機能として組み込まれてもよい。
【００１９】
図２は、画像処理装置１の機能構成を示すブロック図である。この図に示すように、画像処理装置１は、前処理部１１と、オペレータ設定部１２と、第１変換部１３と、第２変換部１４と、後処理部１５とを備える。前処理部１１は、画質調整部１１１と、分解能調整部１１２とを備える。第１変換部１３は、パラメータ抽出部１３１と、階調値変換部（第１階調値変換部）１３２とを備える。第２変換部１４は、集計部１４１と、階調値変換部（第２階調値変換部）１４２とを備える。後処理部１５は、混合部１５１と、混合比調整部１５２とを備える。
【００２０】
まず、画像処理装置１の処理概要について説明する。図２に示すように、画像処理装置１では、まず、前処理部１１が、監視カメラ等により撮影された映像を順次取り込み、取り込まれた映像の各フレームに対して前処理を実行することにより処理対象画像を生成する。具体的には、前処理部１１は、取り込んだ映像のフレームのそれぞれを入力画像として前処理を実行し、処理対象画像を生成する。ここで、処理対象画像とは、後述する第１変換部１３及び第２変換部１４のそれぞれの階調値変換処理の対象となる画像のことである。ただし、前処理部１１による前処理は、必須ではなく省略可能である。前処理部１１による前処理を省略する場合には、処理対象画像は入力画像と一致する。
【００２１】
続いて、前処理部１１から出力された処理対象画像の各画素を処理対象画素として、オペレータ設定部１２、第１変換部１３、第２変換部１４、及び後処理部１５が各処理を実行する。すなわち、オペレータ設定部１２、第１変換部１３、第２変換部１４、及び後処理部１５の処理は、処理対象画像の画素毎に実行される。本実施形態では一例として、前処理部１１によって生成された直後の処理対象画像の各画素の階調値Ｖ０と、第１変換部１３によって生成された各画素の階調値Ｖ１と、第２変換部１４によって生成された各画素の階調値Ｖ２とが、混合部１５１によって所定の混合比で足し合わせられる。このようにして、入力画像の各画素の階調値が画質改善及び鮮明化の両方の観点から変換された出力画像が、後処理部１５によって出力される。上記混合比は、画像の状態やユーザの好み等に応じて設定され得る。
【００２２】
以下、画像処理装置１の各機能的構成要素について具体的に説明する。
【００２３】
前処理部１１は、第１変換部１３及び第２変換部１４による階調値変換処理（鮮明化処理）に先立って入力画像に対する前処理を実行する。上述の通り、前処理部１１による前処理は、画像の鮮明化を行う上で必須ではなく省略可能である。ただし、前処理部１１による前処理を実行することにより、第１変換部１３及び第２変換部１４による鮮明化のみを実行した場合と比較して、画質の向上を図ることが期待できる。より具体的には、前処理部１１による前処理により、第１変換部１３又は第２変換部１４による鮮明化が実行された後の画像を、見た目のメリハリがついた綺麗な画像とすることができる。
【００２４】
前処理部１１は、監視カメラ等により撮影された映像の各フレームを入力画像として取得すると、入力画像の特徴に基づいて入力画像の各画素の階調値を変換する。本実施形態では一例として、前処理部１１は、入力画像の各画素の階調値に関するヒストグラムの形状に基づいて、各画素の階調値を変換する。前処理部１１の機能は、画質調整部１１１及び分解能調整部１１２により実現される。
【００２５】
画質調整部１１１は、入力画像内の各画素の階調値に基づいて、０から自然数Ｎまでの各階調値の画素数を示す全体ヒストグラムを生成する。ここで、「自然数Ｎ」は、入力画像の階調分解能により定まる最大の階調値である。例えば、入力画像の階調分解能が８ビットである場合には、各画素の階調は０から２５５までの２５６段階で表現されるため、自然数Ｎは２５５となる。
【００２６】
図３のグラフ（ａ）は、画質調整部１１１により生成された全体ヒストグラムの一例を示している。全体ヒストグラムを視覚化した場合には、横軸に階調値、縦軸に画素数をとった棒状グラフとなるが、図３のグラフ（ａ）は、全体ヒストグラムを、このような棒状グラフの隣接する頂点同士を結んだ線グラフとして表現したものである。この全体ヒストグラムでは、階調値がポイントＳ１からポイントＥ１までのエリアと、階調値がポイントＳ２からポイントＥ２までのエリアと、のそれぞれにおいて山状の分布が形成されている。なお、このように全体ヒストグラムにおいて山が２つ形成される画像は、逆光の中で撮影された画像である場合が多い。
【００２７】
画質調整部１１１は、上述のように生成した全体ヒストグラムの形状の特徴に基づいて入力画像内の各画素の階調値を変換する。具体的には、まず、画質調整部１１１は、全体ヒストグラムにおいて、画像を構成する上で有用な情報を含むエリア（有用階調エリア）を抽出する。ここで、画像を構成する上で有用な情報とは、画像に映り込んだ対象物を認識するために有用な情報を意味する。
【００２８】
例えば、全体ヒストグラムにおいて、レベル（階調に対応する画素数の多さを示す指標）が低く、且つ隣接する階調値間における画素数の変化の割合により示される傾斜が小さいエリアについては、画像を構成する上で有用な情報が少ないエリア（不要階調エリア）と判定することができる。逆に、全体ヒストグラムにおける山の部分（図３のグラフ（ａ）の例では、ポイントＳ１からポイントＥ１までのエリア及びポイントＳ２からポイントＥ２までのエリア）については、画像を構成する上で有用な情報を多く含む有用階調エリアと判定することができる。上記を踏まえて、例えば、画質調整部１１１は、全体ヒストグラムにおいてレベル及び傾斜の大きさがそれぞれ所定の閾値以下であるエリアを不要階調エリアとして特定し、それ以外のエリアを有用階調エリアとして抽出することができる。
【００２９】
ここで、多くの一般的な画像では、全体ヒストグラムにおいて傾斜が小さいエリアは、レベルが低いエリアで多く見られる一方、レベルが高いエリア（山の頂部等）ではほとんど見られない。このような性質を利用して、画質調整部１１１は、レベルについては考慮せずに、全体ヒストグラムにおいて傾斜の大きさが所定の閾値以下のエリアを不要階調エリアとして特定し、それ以外のエリアを有用階調エリアとして抽出してもよい。
【００３０】
例えば、画質調整部１１１は、階調値０から階調値が増加する方向に向かって各階調値の画素数を取得し、隣接する２つの階調値間、或いは所定の間隔だけ空いた２つの階調値間で、画素数の変化の割合が閾値以下であるか否かを判定してもよい。具体的には、２つの階調値間における画素数の変化の割合が閾値以下である場合には、当該２つの階調値間のエリアは不要階調エリアであると判定し、そうでない場合には、当該２つの階調値間のエリアは有用階調エリアであると判定してもよい。
【００３１】
画質調整部１１１は、このような処理を実行することで、図３のグラフ（ａ）に示すポイントＳ１を、階調値が小さい側の不要階調エリアの終点、すなわち第１の有用階調エリアの始点として決定することができる。また、画質調整部１１１は、同様の処理を実行することにより、図３のグラフ（ａ）に示すポイントＥ１を、第１の有用階調エリアの終点として決定することができる。また、画質調整部１１１は、同様の処理をさらに実行することにより、図３のグラフ（ａ）に示すポイントＳ２及びＥ２を、それぞれ第２の有用階調エリアの始点及び終点として決定することができる。なお、ここでは２つの有用階調エリアが存在する場合を例に挙げて説明したが、有用階調エリアが１つだけの場合、或いは有用階調エリアが３つ以上存在する場合についても、同様の手法により有用階調エリアと不要階調エリアとを分離することができる。
【００３２】
続いて、画質調整部１１１は、有用階調エリアと当該有用階調エリアの範囲に応じて定まるゲインとに基づいて入力画像の各画素の階調値を変換する。ここで、ゲインとは、各階調値の画素数の分布の幅を増幅させる度合いを示すパラメータである。具体的には、画質調整部１１１は、入力画像の各画素の階調値を変換した後の全体ヒストグラムにおいて、有用階調エリアが入力画像の階調分解能によって表現可能な階調の範囲全体を占めるようにゲインを決定する。なお、ここでのゲインは、入力画像全体の階調値の分布によって決定される値であり、全ての画素に対して一律に適用されるものである。一方、後述する第１変換部１３によって決定されるゲインは、オペレータ単位で局所的に決定される値であり、個々の画素に対して個別に適用されるものである。
【００３３】
図３のグラフ（ａ）に示す例の場合には、画質調整部１１１は、下記式（１）によりゲインを決定し、下記式（２）及び（３）によって入力画像の各画素の階調値にゲインを適用することができる。下記式（２）及び（３）において、ｖｉは変換前の階調値を示し、ｖｏは変換後の階調値を示す。
Ｇａｉｎ＝（２５６／（（Ｅ１−Ｓ１）＋（Ｅ２−Ｓ２）））・・・（１）
Ｉｆ  ｖｉ＜Ｅ１：ｖｏ＝（ｖｉ−Ｓ１）×Ｇａｉｎ・・・（２）
Ｉｆ  ｖｉ＞Ｓ２：ｖｏ＝（ｖｉ−Ｓ１−（Ｓ２−Ｅ１））×Ｇａｉｎ・・・（３）
【００３４】
上記式（２）及び（３）に示す計算処理が入力画像の各画素について実行されることで、図３のグラフ（ｂ）に示すように不要階調エリアが削除されると共に、図３のグラフ（ｃ）に示すように有用階調エリアが入力画像の階調分解能によって表現可能な階調の範囲全体を占めるように変換される。なお、画質調整部１１１による上記処理においては、有用階調エリアと不要階調エリアとを分離する処理（上記例において、ポイントＳ１，Ｅ１，Ｓ２，Ｅ２を決定する処理）についてはソフトウェア処理で実行する一方で、上記式（１）〜（３）に基づく計算処理についてはハードウェア処理により実行してもよい。上記式（２）及び（３）の処理は入力画像の各画素について実行する必要があるため、ハードウェア処理により各画素について並列的に実行することで、処理効率を向上させることができる。画質調整部１１１によって得られた画像（すなわち、入力画像の各画素の階調値が上記式（１）〜（３）によって変換された画像）は、分解能調整部１１２に出力される。
【００３５】
分解能調整部１１２は、入力画像の階調分解能を調整することにより、階調分解能が調整された処理対象画像を出力する。具体的には、後述するオペレータ設定部１２により設定されるオペレータに含まれる画素数と表現し得る階調値の個数とが一致するように階調分解能を調整する。オペレータとは、処理対象画像内の対象画素を含む複数画素からなる領域である。例えば、オペレータ設定部１２により設定されるオペレータが１６×１６の２５６画素で構成される矩形領域である場合、分解能調整部１１２は、入力画像の階調分解能を２５６個の段階値を表現可能な８ビットに調整する。例えば、入力画像の元の階調分解能が１０ビットであった場合、分解能調整部１１２は、入力画像の各画素の階調値に対して、元の１０ビットの階調値のビットパターンを右に２ビットずらすシフト演算を実行することで、入力画像の階調分解能を１０ビットから８ビットに変更することができる。このように階調分解能を調整することにより、後述する階調値変換部１４２による計算処理を単純化することができ、処理効率を向上させることができる。分解能調整部１１２によって出力された処理対象画像は、オペレータ設定部１２及び後処理部１５（混合部１５１）のそれぞれに受け渡される。
【００３６】
次に、オペレータ設定部１２、第１変換部１３、第２変換部１４、及び後処理部１５について説明する。上述の通り、オペレータ設定部１２、第１変換部１３、第２変換部１４、及び後処理部１５の処理は、処理対象画像内の各画素について実行される。具体的には、オペレータ設定部１２は、処理対象画像内の各画素を１画素単位で予め定められた順序で走査することにより、処理対象画像内の画素の中から処理対象となる画素（対象画素）を順次選択する。そして、このようにして順次選択される対象画素毎に、オペレータ設定部１２、第１変換部１３、第２変換部１４、及び後処理部１５による一連の処理が実行されることで、当該対象画素の階調値が変換される。このように階調値が変換された画素（階調値変換画素）は、出力画像を構成する画素となる。このような一連の処理が処理対象画像内の全ての画素について実行されることにより、処理対象画像内の各画素の階調値が変換され、その結果として、鮮明化されて見易くなった画像が出力画像として得られる。
【００３７】
オペレータ設定部１２は、処理対象画像内の対象画素を含む複数画素からなるオペレータを設定する。ここで、対象画素とは、上述の走査処理により処理対象の画素として選択された画素であり、第１変換部１３及び第２変換部１４のそれぞれにおいて階調値を変換する対象となる画素である。オペレータは、典型的には対象画素を中心画素とする矩形領域として設定される。ただし、オペレータは、対象画素と対象画素の近傍に存在する複数の画素を含む領域であれば何でもよく、例えば円形、その他任意の形状であってもよい。本実施形態では一例として、オペレータ設定部１２は、対象画素を中心画素とする１６×１６の２５６画素からなる矩形領域をオペレータとして設定するものとする。なお、例えば処理対象画像の上辺、下辺、左辺、右辺等の境界に接する画素を対象画素としたとき、対象画素を中心画素とするオペレータを設定することはできない。この場合には、オペレータ設定部１２は、階調値を変換する対象から処理対象画像の境界に接する画素を除外してもよい。或いは、オペレータ設定部１２は、これらの画素に適した任意の形状のオペレータを設定してもよい。
【００３８】
第１変換部１３及び第２変換部１４は、互いに異なる処理方式によって、オペレータ設定部１２によって設定されたオペレータ内の各画素の階調値に基づいて対象画素の階調値を変換する手段である。ここで、対象画素の元の階調値と変換後の階調値とが一致する場合もあり得る。従って、ここでいう「階調値の変換」は、対象画素の階調値を元の階調値とは異なる階調値に変更することだけでなく、変換処理の結果として変換後の階調値と元の階調値とが一致する場合も含む。
【００３９】
まず、第１変換部１３について説明する。第１変換部１３は、上述した画質調整部１１１によるゲイン適用処理と同様の考え方に基づく処理をオペレータ単位で実行することにより、対象画素の階調値を変換する。第１変換部１３の変換処理は、オペレータ単位で個別に実行される点において、入力画像の全体に一律で実行される画質調整部１１１によるゲイン適用処理とは相違する。第１変換部１３は、上記変換処理を実行するための構成要素として、パラメータ抽出部１３１及び階調値変換部１３２を有する。
【００４０】
パラメータ抽出部１３１は、オペレータ設定部１２により設定されたオペレータ内の各画素の階調値に基づいて、各画素の階調値の最小値を示す最小階調値ｍｉｎと各画素の階調値の最大値を示す最大階調値ｍａｘとを抽出する。パラメータ抽出部１３１による抽出方法は任意であるが、本実施形態では一例として、パラメータ抽出部１３１は、後述する回路（図５参照）によって最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出する。詳しくは後述するが、パラメータ抽出部１３１は、後述する集計部１４１によって生成されたヒストグラムに基づいて、最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出することができる。また、パラメータ抽出部１３１は、例えばソフトウェア処理によってオペレータ内の各画素の階調値の比較演算（ソート処理）を実行することで、最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出してもよい。
【００４１】
階調値変換部１３２は、パラメータ抽出部１３１により抽出された最小階調値ｍｉｎ及び最大階調値ｍａｘに基づいてゲインＧを決定し、当該ゲインＧを対象画素の階調値Ｖｉに適用することにより対象画素の変換後の階調値（第１の変換後の階調値）Ｖ１を決定する。本実施形態では一例として、階調値変換部１３２は、下記式（４）及び（５）による計算を実行することにより、対象画素の階調値Ｖｉから変換後の階調値Ｖ１を算出する。すなわち、階調値変換部１３２は、下記式（４）に示すように、処理対象画像の階調分解能Ｎｍａｘ（８ビットの場合には２５６）を最大階調値ｍａｘと最小階調値ｍｉｎとの差（ｍａｘ−ｍｉｎ）で割ることによりゲインＧを算出する。そして、階調値変換部１３２は、対象画素の階調値Ｖｉと最小階調値ｍｉｎとの差（Ｖｉ−ｍｉｎ）にゲインＧを乗じることにより、対象画素の変換後の階調値Ｖ２を算出する。これにより、予め定められた所定の計算式（下記式（４）及び（５））を用いて、変換後の階調値Ｖ１を容易に算出することができる。
Ｇ＝Ｎｍａｘ／（ｍａｘ−ｍｉｎ）・・・（４）
Ｖ１＝（Ｖｉ−ｍｉｎ）×Ｇ・・・（５）
【００４２】
ここで、階調値変換部１３２は、上記の階調値の変換の効果レベルを調整するために、上記式（４）及び（５）によってゲインＧ及び変換後の階調値Ｖ１を決定する前に、最小階調値ｍｉｎ及び最大階調値ｍａｘの少なくとも一方に所定の調整値（オフセット）を加算又は減算する調整処理を実行してもよい。ここで、効果レベルとは、上記の階調値の変換による鮮明化の程度を示す指標であり、例えば元の画像（階調値変換前の処理対象画像）の暗さ（或いは明るさ）を引き立てる強さを示す。
【００４３】
例えば、最小階調値ｍｉｎを調整せずに最大階調値ｍａｘに調整値ｄｍａｘ（＞０）を加算した場合（すなわち、上記式（４）及び（５）において「ｍａｘ」を「ｍａｘ＋ｄｍａｘ」に置き換えて階調値Ｖ１を算出した場合）、上記の階調値の変換の効果レベルを暗さが引き立つ方向に調整することができる。これは以下の理由による。すなわち、実際の最大階調値ｍａｘの代わりにｍａｘ＋ｄｍａｘを用いることにより、上記式（４）によって算出されるゲインＧが小さくなる方向に調整される。このため、上記式（５）によって算出される変換後の階調値Ｖ１は、最大階調値ｍａｘに調整値ｄｍａｘを加えない場合よりも小さくなる（暗さが引き立つ）方向に調整される。
【００４４】
一方、最大階調値ｍａｘを調整せずに最小階調値ｍｉｎから調整値ｄｍｉｎ（＞０）を減算した場合（すなわち、上記式（４）及び（５）において「ｍｉｎ」を「ｍｉｎ−ｄｍｉｎ」に置き換えて階調値Ｖ１を算出した場合）、上記の階調値の変換の効果レベルを明るさが引き立つ方向に調整することができる。これは以下の理由による。すなわち、実際の最小階調値ｍｉｎの代わりにｍｉｎ−ｄｍｉｎを用いることにより、上記式（５）における「Ｖｉ−ｍｉｎ」が大きくなる方向に調整される。このため、上記式（５）によって算出される変換後の階調値Ｖ２は、最小階調値ｍｉｎから調整値ｄｍｉｎを減じない場合よりも大きくなる（明るさが引き立つ）方向に調整される。
【００４５】
上記のように調整を行う構成によれば、例えばユーザの好みや画像の特性等に応じた調整値ｄｍｉｎ及び／又はｄｍａｘを最小階調値ｍｉｎ及び／又は最大階調値ｍａｘに適用することにより、鮮明化の程度（例えば暗さ又は明るさが引き立つ度合い）を調整することができる。ここで、調整値ｄｍａｘ又は調整値ｄｍｉｎは、階調値０から階調分解能Ｎｍａｘまでの範囲において最大階調値ｍａｘ又は最小階調値ｍｉｎを移動させる移動幅と捉えることができる。従って、効果レベル（調整値ｄｍａｘ又は調整値ｄｍｉｎによる移動幅の大きさ）は、最大で階調分解能Ｎｍａｘと一致する段階数で調整することができる。例えば階調分解能Ｎｍａｘが８ビット（＝２５６）の場合には、２５６段階で効果レベルを調整することができる。
【００４６】
また、調整値ｄｍａｘ（又はｄｍｉｎ）は、例えば処理対象画像の各画素に共通の値（例えばユーザの好みに応じて予め設定された固定値）であってもよい。ただし、この場合には、オペレータ内の各画素の階調値の分布幅（ｍａｘ−ｍｉｎ）が小さい場合と分布幅が大きい場合とで、前者の場合の方が後者の場合よりも調整の影響が大きくなってしまう。具体的には、前者の場合の方が後者の場合に対して、分布幅に対する調整幅が大きくなるので、調整による影響が大きくなる。従って、調整値を固定値とした場合には、オペレータ内の各画素の階調値の分布によっては適切に調整されない可能性もある。そこで、階調値変換部１３２は、オペレータ内の各画素の階調値の分布に応じて算出される値（例えば最大階調値ｍａｘと最小階調値ｍｉｎとの差に予め定めた比率を乗じた値等）を調整値ｄｍａｘ（又はｄｍｉｎ）としてもよい。このようにすれば、オペレータ内の各画素の階調値の分布に応じて調整値を可変に設定することができ、処理対象画素の各画素（すなわち各オペレータ内の対象画素）に対する調整値ｄｍａｘ（又はｄｍｉｎ）による調整の影響の大きさを一定にすることができる。
【００４７】
階調値変換部１３２は、上述の計算によって対象画素の変換後の階調値Ｖ１を決定し、決定された階調値Ｖ１を後処理部１５に出力する。
【００４８】
次に、第２変換部１４について説明する。第２変換部１４は、オペレータ内の各画素の階調値のヒストグラムを生成し、当該ヒストグラムの一端から対象画素の階調値までの各階調値の画素数を加算又は減算する処理を実行することにより、対象画素の階調値を変換する。第２変換部１４による変換の手法は、いわゆるヒストグラム平坦化に分類される手法である。第２変換部１４は、上記変換処理を実行するための構成要素として、集計部１４１及び階調値変換部１４２を有する。
【００４９】
集計部１４１は、オペレータ設定部１２により設定されたオペレータ内の各画素の階調値を取得し、当該各画素の階調値に基づいて０から自然数Ｎ（階調分解能Ｎｍａｘ−１）までの各階調値の画素数を示すヒストグラムを生成する。例えば、集計部１４１は、オペレータ内の各画素を所定順に１画素単位で走査し、操作対象の画素の階調値の個数を１つ増加するカウント処理を実行する。或いは、集計部１４１は、オペレータ内の各画素の階調値を並列的に取得し、各階調値の個数をカウントしてもよい。これにより、各階調値の画素数を示すヒストグラムが生成される。例えば階調分解能Ｎｍａｘが２５６の場合には、ヒストグラムは、階調値０から階調値２５５までのそれぞれの階調値に、対応する画素数Ｘ０〜Ｘ２５５が関連付けられた情報である。集計部１４１により生成されたヒストグラム及び対象画素の階調値Ｖｉは、階調値変換部１４２に受け渡される。
【００５０】
階調値変換部１４２は、集計部１４１により生成されたヒストグラムにおいて、階調値０から対象画素の階調値Ｖｉまでの各階調値の画素数を加算することにより新たな階調値Ｖ２（第２の変換後の階調値）を算出し、対象画素の階調値Ｖｉを当該新たな階調値Ｖ２に変換する。階調値変換部１４２は、例えばＦＰＧＡ１０６において構成された論理回路により、上述の演算処理を実行する。
【００５１】
階調値変換部１４２は、上述のようにして対象画素の変換後の階調値Ｖ２を決定し、決定された階調値Ｖ２を後処理部１５に出力する。
【００５２】
ここで、パラメータ抽出部１３１は、階調値変換部１４２が画素数の加算又は減算のために階調値０又は階調値Ｎを示すヒストグラムの一端からヒストグラムの他端に向かって各階調値の画素数を参照する処理と並行して、ヒストグラムの一端から他端に向かって各階調値の画素数を参照することにより、最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出してもよい。具体的には、パラメータ抽出部１３１は、階調値変換部１４２がヒストグラムの一端から他端に向かって各階調値の画素数を参照する際に、同じ階調値の画素数を同時に参照する。そして、階調値変換部１４２が画素数の加算のために階調値０から階調値Ｎに向かって各画素数を参照する場合には、パラメータ抽出部１３１は、０以外の画素数が最初に検出された階調値を最小階調値ｍｉｎとして決定し、０以外の画素数が最後に検出された階調値を最大階調値ｍａｘとして決定する。一方、階調値変換部１４２が画素数の減算のために階調値Ｎから階調値０に向かって各画素数を参照する場合には、パラメータ抽出部１３１は、０以外の画素数が最初に検出された階調値を最大階調値ｍａｘとして決定し、０以外の画素数が最後に検出された階調値を最小階調値ｍｉｎとして決定する。
【００５３】
このような構成によれば、パラメータ抽出部１３１による処理と階調値変換部１４２による処理を同時並行して実行することが可能となる。これにより、処理効率の向上が図れるとともに、処理構成（回路構成）の簡単化を図ることができる。具体的には、後述する回路の例（図５及び図６）のように回路構成を簡単化することができる。
【００５４】
後処理部１５は、前処理部１１により変換された対象画素の階調値Ｖ０と、階調値変換部１３２により変換された対象画素の階調値Ｖ１と、階調値変換部１４２により変換された対象画素の階調値Ｖ２とに基づいて、最終的に出力する階調値を決定するための後処理を実行する。後処理部１５は、後処理を実行するための構成要素として、混合部１５１及び混合比調整部１５２を有する。
【００５５】
混合部１５１は、階調値Ｖ０、階調値Ｖ１、及び階調値Ｖ２を予め定められた混合比（Ｒ０：Ｒ１：Ｒ２）で足し合わせることにより算出される階調値Ｖｏを、最終的な対象画素の階調値として出力する。混合部１５１は、例えば下記式（６）の計算処理を実行することにより、階調値Ｖｏを決定することができる。下記式（６）において、Ｒ０，Ｒ１，Ｒ２はそれぞれ０以上１以下の整数値であり、「Ｒ０＋Ｒ１＋Ｒ２＝１」を満たす。ここで、Ｒ０は、階調値Ｖ０（すなわち画質調整部１１１による調整結果）を最終的な階調値Ｖｏに反映させる割合を示す。Ｒ１は、階調値Ｖ１（すなわち第１変換部１３による調整結果）を最終的な階調値Ｖｏに反映させる割合を示す。Ｒ２は、階調値Ｖ２（すなわち第２変換部１４による調整結果）を最終的な階調値Ｖｏに反映させる割合を示す。
Ｖｏ＝Ｖ０×Ｒ０＋Ｖ１×Ｒ１＋Ｖ２×Ｒ２・・・（６）
【００５６】
上記式（６）における混合比（Ｒ０，Ｒ１，Ｒ２）は、ユーザの好みに応じて手動で設定されてもよいし、オペレータ内の階調値の分布等に応じて自動調整されてもよい。本実施形態では一例として、オペレータ内の階調値の分布等に応じて混合比を自動調整するための混合比調整部１５２が備わっている。混合比調整部１５２は、例えば、集計部１４１により生成されたヒストグラムを取得し、当該ヒストグラムに示されるオペレータ内の階調値の分布に基づいて混合比（Ｒ０，Ｒ１，Ｒ２）を適切に設定する。
【００５７】
例えば、オペレータ内の階調値の分布が特定の１つの階調値に偏っている場合、すなわち、特定の１つの階調値の画素数がオペレータ内の画素数（オペレータが１６×１６の矩形領域の場合には２５６）と一致する場合、上述の第２変換部１４による鮮明化を実行すると、鮮明化後の階調値Ｖ２は０又は２５５の極端な値となってしまい、階調値が適切に変換された画像を得ることができない場合がある。そこで、混合比調整部１５２は、オペレータ内の階調値の分布が特定の１つの階調値に偏っている場合には、第２変換部１４による変換結果（階調値Ｖ２）を使用しないようにするために、Ｒ２を０に設定してもよい。
【００５８】
また、オペレータ内の階調値の分布がほぼ平坦の場合、第２変換部１４によって変換された画像に揺らぎ（ノイズ）が発生してしまい、かえって見難い画像になってしまうおそれがある。そこで、混合比調整部１５２は、オペレータ内の階調値の分布が平坦であるか否かを予め定めた基準により判定し、平坦であると判定された場合には、Ｒ２を平坦でないと判定された場合に設定される値よりも低い値に設定してもよい。これにより、第２変換部１４による変換によってノイズが発生するおそれがある状況において、第２変換部１４による変換結果（階調値Ｖ２）の影響を低くすることができ、揺らぎの発生を抑制することができる。
【００５９】
なお、混合部１５１は、必ずしも階調値Ｖ０，Ｖ１，Ｖ２の全てを最終的な階調値Ｖｏに反映させなくともよい。混合部１５１は、例えば階調値Ｖ１と階調値Ｖ２とを所定の混合比で足し合わせることにより、最終的な階調値Ｖｏを出力してもよい。この場合、上記式（６）において、Ｒ０は０に設定され、前処理部１１による調整結果（階調値Ｖ０）は最終的な階調値Ｖｏには一切反映されない。同様に、第２変換部１４による変換結果（階調値Ｖ２）を最終的な階調値Ｖｏに反映させない場合には、Ｒ２を０に設定すればよい。なお、この場合には、画像処理装置１の構成から第２変換部１４を省略することもできる。ただし、第１変換部１３によって得られた階調値Ｖ１（いわゆる局所的な（オペレータ単位での）ゲイン調整によって得られた変換結果）と、第２変換部１４によって得られた階調値Ｖ２（いわゆるヒストグラム平坦化によって得られた変換結果）とを混合することにより、それぞれの変換結果がバランス良く反映された見易い画像を得ることが可能となる。例えば、ヒストグラム平坦化を行っただけの画像（すなわち階調値Ｖ２のみを反映させた画像）は、鮮明化のレベルが強過ぎてノイズが強調されてしまう場合がある。このような場合において、局所的なゲイン調整によって得られた変換結果（階調値Ｖ１）を混合することにより、ノイズの影響が低減された画像を得ることが可能となる。
【００６０】
以下、図４及び図５を用いて、パラメータ抽出部１３１、階調値変換部１３２、階調値変換部１４２、及び混合部１５１による処理を実行する回路の例について説明する。ここでは一例として、処理対象画像の階調分解能Ｎｍａｘは、分解能調整部１１２により８ビット（＝２５６）に調整されているものとする。この場合、処理対象画像の各画素の階調は、階調値０から階調値２５５までのいずれかの値をとる。また、ここでは、説明を簡単にするために、前処理部１１により変換された階調値Ｖ０については使用しない（混合部１５１において混合しない）ものとする。
【００６１】
まず、図４に示す回路の動作概要について説明する。図４に示す回路は、Ｎｍａｘ−１個（ここでは２５５個）の加算モジュールＡ１〜Ａ２５５が多段に構成された回路であり、各加算モジュールＡ１〜Ａ２５５の処理が順次実行されるように構成されている。この回路では、前段の加算モジュールＡｋ（ｋ＝１〜２５４）から後段の加算モジュールＡｋ＋１へと、前段の加算モジュールＡｋでの加算結果ａｋと対象画素の階調値Ｖｉの減算結果ｂｋとが順次伝達される。最終的に加算モジュールＡ２５５から混合部１５１（例えば上記式（６）の計算を実行するための回路）へと、階調値Ｖ２が出力される。
【００６２】
また、前段の加算モジュールＡｋから後段の加算モジュールＡｋ＋１へと、加算モジュールＡｋでの処理時点における最小階調値ｍｉｎｋ及び最大階調値ｍａｘｋ、並びに対象画素の階調値Ｖｉが順次伝達される。最終的に加算モジュールＡ２５５から階調値変換部１３２（上記式（４）及び（５）の計算を実行するための回路）へと、確定した最小階調値ｍｉｎ及び最大階調値ｍａｘ、並びに階調値Ｖｉが出力される。その後、階調値変換部１３２は、加算モジュールＡ２５５から受け取ったｍｉｎ，ｍａｘ，Ｖｉに基づいて上記式（４）及び（５）の計算を実行することにより階調値Ｖ１を算出し、算出された階調値Ｖ１を混合部１５１に出力する。
【００６３】
最後に、混合部１５１が、加算モジュールＡ２５５から受け取った階調値Ｖ２と階調値変換部１３２から受け取った階調値Ｖ１とに基づいて、上記式（６）の計算（ここではＲ０＝０）を実行することにより、最終的な階調値Ｖｏを算出する。
【００６４】
次に、図５を用いて、加算モジュールの処理の詳細について説明する。図５は、図４に示す回路の第１及び第２の加算モジュールＡ１，Ａ２の構成を示す図である。
【００６５】
まず、加算モジュールが階調値変換部１４２として動作する部分について説明する。
【００６６】
第１の加算モジュールＡ１は、レジスタＡ１１〜Ａ１３と、０が格納されたゼロレジスタＡ１４と、減算器Ａ１５と、セレクタＡ１６と、加算器Ａ１７とを備える。レジスタＡ１１及びＡ１２には、集計部１４１から取得された階調値０の画素数Ｘ０及び階調値１の画素数Ｘ１がそれぞれ格納され、レジスタＡ１３には、集計部１４１から取得された対象画素の階調値Ｖｉが格納される。減算器Ａ１５は、レジスタＡ１３に格納された対象画素の階調値Ｖｉを１つ減算する。セレクタＡ１６は、減算器Ａ１５により減算された後の値である減算結果ｂ１（＝Ｖｉ−１）と０とを比較し、減算結果ｂ１が０より大きい場合にはレジスタＡ１２を加算器Ａ１７に接続し、減算結果ｂ１が０以下の場合にはゼロレジスタＡ１４を加算器Ａ１７に接続する。加算器Ａ１７は、レジスタＡ１１に格納された階調値０の画素数Ｘ０と、セレクタＡ１６により接続されたレジスタＡ１２又はゼロレジスタＡ１４に格納された値（画素数Ｘ１又は０）とを加算し、加算結果ａ１を第２の加算モジュールＡ２に受け渡す。
【００６７】
第１の加算モジュールＡ１の演算処理においては、対象画素の階調値Ｖｉが２以上の場合には、減算器Ａ１５による減算結果ｂ１が０より大きくなるため、セレクタＡ１６によりレジスタＡ１２が加算器Ａ１７と接続され、階調値０の画素数Ｘ０と階調値１の画素数Ｘ１とを加算した値（Ｘ０＋Ｘ１）が加算結果ａ１として第２の加算モジュールＡ２に受け渡される。一方、対象画素の階調値Ｖｉが１以下の場合には、減算器Ａ１５による減算結果ｂ１が０以下となるため、セレクタＡ１６によりゼロレジスタＡ１４が加算器Ａ１７と接続され、階調値０の画素数Ｘ０と０とを加算した値（すなわちレジスタＡ１１に格納されたＸ０）がそのまま加算結果ａ１として第２の加算モジュールＡ２に受け渡される。
【００６８】
第２の加算モジュールＡ２は、第１の加算モジュールＡ１と同様に、レジスタＡ２１〜Ａ２３と、０が格納されたゼロレジスタＡ２４と、減算器Ａ２５と、セレクタＡ２６と、加算器Ａ２７とを備える。レジスタＡ２１には、第１の加算モジュールＡ１による加算結果ａ１が格納される。レジスタＡ２２には、遅延回路Ｚでの遅延処理により、第１の加算モジュールＡ１での演算処理が完了するタイミングと同期して、階調値２の画素値Ｘ２が格納される。レジスタＡ２３には、減算器Ａ１５による減算結果ｂ１が格納される。減算器Ａ２５は、レジスタＡ２３に格納された減算結果ｂ１を１つ減算する。セレクタＡ２６は、減算器Ａ２５により減算された後の値である減算結果ｂ２（＝ｂ１−１）と０とを比較し、減算結果ｂ２が０より大きい場合にはレジスタＡ２２を加算器Ａ２７に接続し、減算結果ｂ２が０以下の場合にはゼロレジスタＡ２４を加算器Ａ２７に接続する。加算器Ａ２７は、レジスタＡ２１に格納された加算結果ａ１と、セレクタＡ２６により接続されたレジスタＡ２２又はゼロレジスタＡ２４に格納された値（画素数Ｘ２又は０）とを加算し、加算結果ａ２を第３の加算モジュールＡ３に受け渡す。
【００６９】
第２の加算モジュールＡ２の演算処理においては、対象画素の階調値Ｖｉが３以上の場合には、減算器Ａ２５による減算結果ｂ２が０より大きくなるため、セレクタＡ２６によりレジスタＡ２２が加算器Ａ２７と接続され、レジスタＡ２１に格納された加算結果ａ１（この場合、Ｘ０＋Ｘ１）と階調値２の画素数Ｘ２とを加算した値（Ｘ０＋Ｘ１＋Ｘ２）が第３の加算モジュールＡ３に受け渡される。一方、対象画素の階調値Ｖｉが２以下の場合には、減算器Ａ２５による減算結果ｂ２が０以下となるため、セレクタＡ２６によりゼロレジスタＡ２４が加算器Ａ２７と接続され、レジスタＡ２１に格納された加算結果ａ１と０とを加算した結果（すなわちレジスタＡ２１に格納されたａ１）がそのまま加算結果ａ２として第３の加算モジュールＡ３に受け渡される。
【００７０】
以下、第３から第２５５までの加算モジュールＡ３〜Ａ２５５においても、上述の第１及び第２の加算モジュールＡ１，Ａ２と同様の処理が直列的に実行される。この回路によれば、階調値０から「対象画素の階調値Ｖｉ−１」までの各階調値の画素数が加算された以降の演算処理を実行する加算モジュールにおいて、減算器による減算結果は０以下となり、セレクタによってゼロレジスタが加算器に接続されるため、画素数の加算が停止する。従って、上記回路では、最終的に第２５５の加算モジュールＡ２５５から出力される加算結果（階調値Ｖ２）は、階調値０から「対象画素の階調値Ｖｉ−１」までの各階調値の画素数を加算した結果となる。
【００７１】
なお、各加算モジュールにおけるセレクタの判定処理において、境界条件に０を含めるか否かについては任意に定めることができる。例えば、各加算モジュールにおけるセレクタの判定処理において、減算器による減算結果が０未満である場合にゼロレジスタを加算器に接続し、減算器による減算結果が０以上である場合には対応する階調値が格納されたレジスタを加算器に接続するようにしてもよい。この場合、第２５５の加算モジュールＡ２５５から出力される加算結果（階調値Ｖ２）は、階調値０から「対象画素の階調値Ｖｉ」までの各階調値の画素数を加算した結果となる。このように各加算モジュールにおけるセレクタの判定処理の境界条件をどのようにするかは任意の設定事項であるため、本明細書では、階調値０から「対象画素の階調値Ｖｉ」又は「対象画素の階調値Ｖｉ−１」までの各階調値の画素数のことを総括して、単に「階調値０から対象画素の階調値Ｖｉまでの各階調値に対応する画素数」という。
【００７２】
また、上述の回路は、階調値０から対象画素の階調値Ｖｉまでの各階調値の画素数を順次加算するように構成されたものであるが、これとは逆に、初期値を最大の階調値である２５５として、階調値２５５から対象画素の階調値Ｖｉまでの各階調値の画素数を順次減算するように変形された回路を用いてもよい。すなわち、階調値変換部１４２は、階調値２５５から対象画素の階調値Ｖｉまでの各階調値の画素数を２５５から減算することにより新たな階調値を算出してもよい。このような処理を実行する回路によっても、上述の回路と同様に、階調値０から対象画素の階調値Ｖｉまでの各階調値の画素数を加算した結果を出力することができる。
【００７３】
次に、加算モジュールがパラメータ抽出部１３１として動作する部分について、説明する。なお、本実施形態では一例として、回路構成を簡単にするために階調値０を最小階調値ｍｉｎの候補から除外している。
【００７４】
図５に示すように、パラメータ抽出部１３１として動作するための構成要素として、第１の加算モジュールＡ１は、最小値レジスタＡ１８と最大値レジスタＡ１９とを備える。同様に、第２の加算モジュールＡ２は、最小値レジスタＡ２８と最大値レジスタＡ２９とを備える。以下、これらの回路要素によって最小階調値ｍｉｎ及び最大階調値ｍａｘが求まる仕組みについて説明する。
【００７５】
まず、最小階調値ｍｉｎが求まる仕組みについて説明する。第１の加算モジュールＡ１は、図示しない最小値検出機構により、レジスタＡ１２に格納された階調値１の画素数Ｘ１が０より大きいか否かを判定する。画素数Ｘ１が０より大きいと判定された場合には、加算モジュールＡ１は、当該加算モジュールＡ１の段数を示す値（ここでは「１」）を暫定的な最小階調値を示す暫定最小値ｍｉｎ１として最小値レジスタＡ１８に格納する。一方、画素数Ｘ１が０より大きいと判定されなかった場合（すなわちＸ１＝０の場合）には、加算モジュールＡ１は、「０」を暫定最小値ｍｉｎ１として最小値レジスタＡ１８に格納する。最小値レジスタＡ１８に格納された暫定最小値ｍｉｎ１は、後段の第２の加算モジュールＡ２に受け渡され、最小値レジスタＡ２８に格納される。
【００７６】
第２の加算モジュールＡ２は、図示しない最小値検出機構により、最小値レジスタＡ２８に格納された暫定最小値ｍｉｎ１が０より大きいか否かを判定する。ここで、暫定最小値ｍｉｎ１が０より大きいことは、階調値２よりも小さい階調値の画素が存在することを意味する。よって、暫定最小値ｍｉｎ１が０より大きい場合には、加算モジュールＡ２は、最小値レジスタＡ２８に格納された暫定最小値ｍｉｎ１の値を書き換えない。一方、暫定最小値ｍｉｎ１が「０」であることは、階調値２よりも小さい階調値の画素が存在しないことを意味する。よって、暫定最小値ｍｉｎ１が「０」である場合には、加算モジュールＡ２は、レジスタＡ２２に格納された階調値２の画素数Ｘ２が０より大きいか否かを更に判定する。この判定で画素数Ｘ２が０より大きいと判定された場合には、加算モジュールＡ２は、最小値レジスタＡ２８に格納された暫定最小値ｍｉｎ１を当該加算モジュールＡ２の段数を示す値（ここでは「２」）に書き換える。一方、画素数Ｘ２が０より大きいと判定されなかった場合（すなわちＸ２＝０の場合）には、加算モジュールＡ２は、最小値レジスタＡ２８に格納された暫定最小値ｍｉｎ１の値（０）を書き換えない。上述の処理が実行された後、最小値レジスタＡ２８に格納された暫定最小値ｍｉｎ１は、暫定最小値ｍｉｎ２として後段の第３の加算モジュールＡ３に受け渡される。
【００７７】
第３から第２５５までの加算モジュールＡ３〜Ａ２５５も、上述の第２の加算モジュールＡ２と同様の最小値検出機構及び最小値レジスタを備えており、第２の加算モジュールＡ２と同様の処理（最小値レジスタの書き換え処理）を実行する。以上の仕組みにより、加算モジュールの最小値レジスタには、最初に０より大きい画素数を持つ階調値が検出された時点で当該階調値（すなわち最小階調値ｍｉｎ）が暫定最小値として格納される。そして、当該暫定最小値は、書き換えられることなく、後段の加算モジュールに順次伝達される。その結果、最終的に第２５５の加算モジュールＡ２５５によって、最小階調値ｍｉｎが階調値変換部１３２に出力される。
【００７８】
次に、最大階調値ｍａｘが求まる仕組みについて説明する。第１の加算モジュールＡ１は、図示しない最大値検出機構により、レジスタＡ１２に格納された階調値１の画素数Ｘ１が０より大きいか否かを判定する。画素数Ｘ１が０より大きいと判定された場合には、加算モジュールＡ１は、当該加算モジュールＡ１の段数を示す値（ここでは「１」）を暫定的な最大階調値を示す暫定最大値ｍａｘ１として最大値レジスタＡ１９に格納する。一方、画素数Ｘ１が０より大きいと判定されなかった場合（すなわちＸ１＝０の場合）には、加算モジュールＡ１は、「０」を暫定最大値ｍａｘ１として最大値レジスタＡ１９に格納する。最大値レジスタＡ１９に格納された暫定最大値ｍａｘ１は、後段の第２の加算モジュールＡ２に受け渡され、最大値レジスタＡ２９に格納される。
【００７９】
第２の加算モジュールＡ２は、図示しない最大値検出機構により、レジスタＡ２２に格納された階調値２の画素数Ｘ２が０より大きいか否かを判定する。画素数Ｘ２が０より大きい場合には、加算モジュールＡ２は、最大値レジスタＡ２９に格納された暫定最大値ｍａｘ１を当該加算モジュールＡ２の段数を示す値（ここでは「２」）に書き換える。一方、画素数Ｘ２が０より大きいと判定されなかった場合（すなわちＸ２＝０の場合）には、加算モジュールＡ２は、最大値レジスタＡ２９に格納された暫定最大値ｍａｘ１の値を書き換えない。上述の処理が実行された後、最大値レジスタＡ２９に格納された暫定最大値ｍａｘ１は、暫定最大値ｍａｘ２として後段の第３の加算モジュールＡ３に受け渡される。
【００８０】
第３から第２５５までの加算モジュールＡ３〜Ａ２５５も、上述の第２の加算モジュールＡ２と同様の最大値検出機構及び最大値レジスタを備えており、第２の加算モジュールＡ２と同様の処理（最大値レジスタの書き換え処理）を実行する。以上の仕組みにより、加算モジュールの最大値レジスタには、０より大きい画素数を持つ階調値が検出される度に暫定最大値が当該階調値に書き換えられる。つまり、０より大きい画素数を持つ階調値がそれ以上見つからなくなるまで暫定最大値が順次書き換えられる。その結果、最終的に第２５５の加算モジュールＡ２５５によって、最大階調値ｍａｘが階調値変換部１３２に出力される。
【００８１】
なお、図５に示すように、第２の加算モジュールＡ２は、対象画素の階調値Ｖｉを格納するためのレジスタＡ２０を備える。具体的には、第１の加算モジュールＡ１のレジスタＡ１３に格納された階調値Ｖｉが第２の加算モジュールＡ２に受け渡され、レジスタＡ２０に格納される。第３〜第２５５の加算モジュールＡ３〜Ａ２５５も、第２の加算モジュールＡ２と同様に、階調値Ｖｉを格納するためのレジスタを備え、当該レジスタを介して前段の加算モジュールから後段の加算モジュールへと階調値Ｖｉが受け渡される。その結果、最終的に第２５５の加算モジュールＡ２５５によって、対象画素の階調値Ｖｉが階調値変換部１３２に出力される。
【００８２】
図４及び図５に示す回路では、各加算モジュールにおいてパラメータ抽出部１３１による処理と階調値変換部１４２による処理とが同時並行的に実行される。具体的には、上述の回路は、階調値変換部１４２による処理を実行するための加算モジュールに、最大値検出及び最小値検出するための構成が組み込まれたものとなっている。上述の回路においては、各加算モジュール内の最小値レジスタ及び最大値レジスタは、最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出するパラメータ抽出部１３１として機能する。このように構成されたパラメータ抽出部１３１は、集計部１４１によって生成されたヒストグラム（すなわち、各階調値の画素数Ｘ１〜Ｘ２５５）を利用して、最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出する。この構成によれば、階調値変換部１４２による処理に必要となるヒストグラムを利用して最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出することができるので、全体の処理構成を簡単化することができる。具体的には、図４及び図５に示したように、最小階調値ｍｉｎ及び最大階調値ｍａｘを抽出する処理と階調値変換部１４２による処理とを並行して実行するように回路を構成することができるので、処理の効率化を図ると共に回路構成を単純化することができる。
【００８３】
続いて、図６を用いて、画像処理装置１の動作について説明する。
【００８４】
まず、前処理部１１によって、監視カメラ等により撮影された映像の各フレームが入力画像として取得され、入力画像の特徴に基づいて入力画像の各画素の階調値を変換する前処理が実行される（ステップＳ１）。続いて、前処理部１１によって各画素の階調値が変換された後の処理対象画像の各画素について、ステップＳ２からステップＳ７までの処理が実行される。
【００８５】
具体的には、まず、オペレータ設定部１２により、処理対象画像内の対象画素を含む複数画素からなるオペレータが設定される（ステップＳ２）。続いて、集計部１４１により、オペレータ内の各画素の階調値が取得され、当該各画素の階調値に基づいて０から自然数Ｎまでの各階調値に対応する画素数を示すヒストグラムが生成される（ステップＳ３）。
【００８６】
続いて、例えば図４及び図５に示した回路として実現されるパラメータ抽出部１３１は、最大階調値ｍａｘ及び最小階調値ｍｉｎを抽出する（ステップＳ４）。その後、階調値変換部１３２は、パラメータ抽出部１３１によって抽出された最大階調値ｍａｘ及び最小階調値ｍｉｎ、並びに対象画素の階調値Ｖｉを上述した式（４）及び（５）に入力して計算を実行することにより、階調値Ｖ１を決定する（ステップＳ５）。また、ステップＳ４及びステップＳ５の処理と並行して、階調値変換部１４２は、階調値０から対象画素の階調値Ｖｉまでの各階調値の画素数を加算することにより（又は、階調値２５５から対象画素の階調値Ｖｉまでの各階調値の画素数を２５５から減算することにより）、階調値Ｖ２を決定する（ステップＳ６）。
【００８７】
続いて、後処理部１５が後処理を実行する（ステップＳ７）。具体的には、混合部１５１が、前処理部１１により変換された対象画素の階調値Ｖ０と、階調値変換部１３２により変換された対象画素の階調値Ｖ１と、階調値変換部１４２により変換された対象画素の階調値Ｖ２とを所定の混合比（Ｒ０，Ｒ１，Ｒ２）で足し合わせることにより、最終的な変換結果となる対象画素の階調値Ｖｏを算出する。この後処理（混合処理）により、ユーザの好みやオペレータ内の照度分布等に応じて鮮明化強度が適切に調整された対象画素の階調値Ｖｏが出力される。上記のステップＳ２からＳ７までの処理が処理対象画像内の全ての画素について実行されることで、適切に鮮明化された画像を得ることができる。
【００８８】
以上述べた画像処理装置１では、オペレータ内の各画素の最小階調値ｍｉｎ及び最大階調値ｍａｘに基づいて決定されるゲインＧをオペレータ内の対象画素の階調値Ｖｉに適用する変換処理が実行され、対象画素の変換後の階調値Ｖ１が決定される。このようなオペレータ単位でのゲインの適用を処理対象画像内の各画素を対象画素として実行することにより、オペレータ毎に当該オペレータに含まれる各画素の階調値の分布等に応じて定まる適切な程度の鮮明化を行うことが可能となる。これにより、鮮明化の程度が適切に調整された見易い画像を得ることができる。さらに、このようにして得られた階調値Ｖ１に、上述した階調値Ｖ０，Ｖ２等を所定の混合比で足し合わせることにより、ユーザの好み等に応じて一層見易く改善された画像を得ることが可能となる。
【００８９】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。例えば、階調値変換部１３２は、上記式（４）及び（５）以外の計算式を用いて対象画素の階調値Ｖｉを変換してもよい。
【００９０】
また、上記実施形態では、パラメータ抽出部１３１による処理が階調値変換部１４２による処理と同時並行的に実行される回路例（図４及び図５）について説明したが、パラメータ抽出部１３１による抽出処理は別処理で行われてもよい。図７に、第１変換部１３の処理を実行する回路の他の例を示す。図７に示す回路では、パラメータ抽出部１３１は、２つの入力値の大小関係を判定し、大きいと判定された入力値及び小さいと判定された入力値をそれぞれ予め決められた出力先に出力するように構成された複数の大小選別器から構成されている。
【００９１】
具体的には、第１段目に１２８個（オペレータ内に含まれる画素数の半分）の大小選別器Ｂ１が配置され、その後段（第２段目）に、第１段目の大小選別器Ｂ１と同数の大小選別器が配置される。第２段目の大小選別器は、第１段目の大小選別器Ｂ１によって大きいと判定されたもの同士の大小関係を比較する６４個の大小選別器Ｂ２１と、大小選別器Ｂ１によって小さいと判定されたもの同士の大小関係を比較する６４個の大小選別器Ｂ２１とからなる。
【００９２】
第２段目の大小選別器Ｂ２１，Ｂ２２の後段（第３段目）には、第２段目の大小選別器Ｂ２１，Ｂ２２の総数の半分の数（６４個）の大小選別器が配置される。第３段目の大小選別器は、第２段目の６４個の大小選別器Ｂ２１によって大きいと判定されたもの同士の大小関係を比較する３２個の大小選別器Ｂ３１と、第２段目の６４個の大小選別器Ｂ２２によって小さいと判定されたもの同士の大小関係を比較する３２個の大小選別器Ｂ３２とからなる。第４段目以降も同様に、配置される大小選別器の総数が前段の大小選別器の総数よりも半分の数となるように、前段で大きいと判定されたもの同士の大小関係を比較する大小選別器Ｂ４１，Ｂ５１，Ｂ６１，Ｂ７１，Ｂ８１と前段で小さいと判定されたもの同士の大小関係を比較する大小選別器Ｂ４２，Ｂ５２，Ｂ６２，Ｂ７２，Ｂ８２とが配置される。
【００９３】
以下、図７に示す回路の動作について説明する。まず、第１段目の大小選別器Ｂ２１の各々に、オペレータ内の各階調値と各階調値の画素数Ｘ０〜Ｘ２５５とが関連付けられた２５６個のペア情報のうちから重複しないように選択された２つのペア情報が入力される。ここで、第１段目の大小選別器Ｂ２１への入力は、例えば集計部１４１によって生成されたヒストグラムの情報を蓄積するバッファ回路（不図示）から与えられる。以下、階調値ｋと階調値ｋの画素数Ｘｋのペア情報を［ｋ、Ｘｋ］（ｋ＝０〜２５５）と表す。
【００９４】
例えば、図７の第１段目の最上段の大小選別器Ｂ１は、ペア情報［０、Ｘ０］とペア情報［１、Ｘ１］とを入力として受け付け、入力された各ペア情報の画素数同士（この場合Ｘ０とＸ１）の大小関係を比較する。そして、大小選別器Ｂ１は、大きいと判定された方（ここで一例としてＸ１）に紐付くペア情報［１、Ｘ１］を大きいと判定されたもの同士の大小関係を比較する後段の大小選別器Ｂ２１（６４個の大小選別器Ｂ２１のうちのいずれか）に出力する。一方、大小選別器Ｂ１は、小さいと判定された方（ここでは一例としてＸ０）に紐付くペア情報［０、Ｘ０］を小さいと判定されたもの同士の大小関係を比較する後段の大小選別器Ｂ２２（６４個の大小選別器Ｂ２２のうちのいずれか）に出力する。
【００９５】
以上のように、第１段目の大小選別器Ｂ１の処理により、最大階調値ｍａｘの候補がオペレータ内に含まれる画素数（ここでは一例として２５６個）の半分の１２８個に絞られる。そして、この１２８個の候補同士が第２段目の大小選別器Ｂ２１によって大小比較されることにより、最大階調値ｍａｘの候補がさらに半分の６４個に絞られる。このようにして、前段から後段へと大小比較が進められることにより、最終的に第８段目の大小選別器Ｂ８１が、最大階調値ｍａｘを階調値変換部１３２に出力する。
【００９６】
同様に、第１段目の大小選別器Ｂ１の処理により、最小階調値ｍｉｎの候補がオペレータ内に含まれる画素数の半分の１２８個に絞られる。そして、この１２８個の候補同士が第２段目の大小選別器Ｂ２２によって大小比較されることにより、最小階調値ｍｉｎの候補がさらに半分の６４個に絞られる。このようにして、前段から後段へと大小比較が進められることにより、最終的に第８段目の大小選別器Ｂ８２が、最小階調値ｍｉｎを階調値変換部１３２に出力する。
【００９７】
また、上述のバッファ回路（不図示）は、対象画素の階調値Ｖｉが第８段目の大小選別器Ｂ８１，Ｂ８２と同じタイミングで階調値変換部１３２に出力されるように、遅延回路Ｚを介して階調値Ｖｉを階調値変換部１３２に出力する。最後に、階調値変換部１３２が、大小選別器Ｂ８１から出力された最大階調値ｍａｘと、大小選別器Ｂ８２から出力された最小階調値ｍｉｎと、遅延回路Ｚを介して入力される階調値Ｖｉとを受け付け、上記式（４）及び（５）を用いた計算により階調値Ｖ２を算出する。なお、このようにして算出された階調値Ｖ２は、混合部１５１に出力される。
【符号の説明】
【００９８】
１…画像処理装置、１１…前処理部、１１１…画質調整部、１１２…分解能調整部、１２…オペレータ設定部、１３…第１変換部、１３１…パラメータ抽出部、１３２…階調値変換部、１４…第２変換部、１４１…集計部、１４２…階調値変換部（第２階調値変換部）、１５…後処理部、１５１…混合部、１５２…混合比調整部、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…入力装置、１０５…通信装置、１０６…ＦＰＧＡ、１０７…出力装置。
【要約】
【課題】元画像を適切に鮮明化して見易い画像を生成する。
【解決手段】一側面に係る画像処理装置は、処理対象画像内の対象画素を含む複数画素からなるオペレータを設定する設定部と、オペレータ内の各画素の階調値に基づいて、各画素の階調値のうちの最小値を示す最小階調値と各画素の階調値のうちの最大値を示す最大階調値とを抽出するパラメータ抽出部と、パラメータ抽出部により抽出された最小階調値及び最大階調値に基づいてゲインを決定し、当該ゲインを対象画素の階調値に適用することにより対象画素の変換後の階調値を決定する階調値変換部と、を備える。
【選択図】図２【図１】
0005911633.tif 000002
【図２】
0005911633.tif 000003
【図３】
0005911633.tif 000004
【図４】
0005911633.tif 000005
【図５】
0005911633.tif 000006
【図６】
0005911633.tif 000007
【図７】
0005911633.tif 000008