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