(57)【特許請求の範囲】
【請求項１】
多階調画像信号の各階調データを保持する回路と、新たに入力された階調データと保持した階調データとが一致するか否かを判定する回路と、この回路からの一致判定信号により、保持した階調データの度数を積算する回路とを備えた回路モジュールを、複数個並列に接続し、
上記多階調画像を、被写体を異なる位置から撮像した１組の画像に対し、画像を複数の小領域に分割してステレオマッチングにより小領域単位のずれ量を求めた距離分布画像とし、
上記小領域内の有効データの度数を求め、この度数と上記小領域単位のずれ量を代表階調とする階調データとを上記回路モジュールに出力する前処理回路を設けたことを特徴とする多階調画像の濃度ヒストグラム算出装置。
【請求項２】
多階調画像信号の各階調データを保持する回路と、新たに入力された階調データと保持した階調データとが一致するか否かを判定する回路と、この回路からの一致判定信号により、保持した階調データの度数を積算する回路とを備えた回路モジュールを、複数個並列に接続し、
さらに、上記複数の回路モジュールに対して階調データを順次保持させ、その際、過去に階調データを保持した全ての回路モジュールからデータ不一致の判定信号が出力されたときにのみ、そのときの入力階調データを次の回路モジュールに保持させる制御回路を備えたことを特徴とする多階調画像の濃度ヒストグラム算出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多階調画像の濃度ヒストグラムをハードウエア回路で高速に算出する多階調画像の濃度ヒストグラム算出装置に関する。
【０００２】
【従来の技術】
従来、多階調画像から濃度ヒストグラムを算出するには、コンピュータによるソフトウエア処理が採用されることが多く、このソフトウエア処理では、多階調画像データを格納した画像メモリから濃度データ（階調データ）を読み込み、読み込んだ濃度データに対応する度数が格納されているメモリに１を加算するという手順を繰り返すのが一般的である。
【０００３】
この場合、広いサンプルエリアの多階調画像信号に対応するためには、階調数×サンプル数分のメモリエリアを予約しておく必要があり、ソフトウエア処理では、これらのメモリエリアに対する処理を逐次行うため膨大な処理時間がかかり、ヒストグラムをリアルタイムに求めることは困難である。
【０００４】
これに対処するに、特開昭６１−１５３７７１号公報には、階調信号の各濃度値に対応する数のゲート回路と、各ゲート回路の出力によって各濃度値の度数をカウントするカウンタとを設けることにより、画像信号の濃度ヒストグラムを高速で求める技術が開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記先行技術では、ヒストグラムを得るには全てのカウンタの値を読み取る必要があり、その中には度数０のデータがランダムに混在し、度数０の無駄なアクセスが多く発生する。例えば、８ビットの２５６階調の画像でサンプル数が１０個の場合であっても、２５６個のカウンタ回路全てを読み出さねばならず、その中には度数０のデータがランダムに数多く存在する。
【０００６】
そのため、ヒストグラムを算出する回路までは高速で動作しても、算出したヒストグラムデータを後段の処理に受け渡す際に時間がかかり、システム全体のスループットが低下する可能性がある。
【０００７】
本発明は上記事情に鑑みてなされたもので、度数０の無駄なアクセス発生による処理速度の低下を解消し、高速で濃度ヒストグラムを算出することのできる多階調画像の濃度ヒストグラム算出装置を提供することを目的としている。
【０００８】
【課題を解決するための手段】
請求項１記載の発明は、多階調画像信号の各階調データを保持する回路と、新たに入力された階調データと保持した階調データとが一致するか否かを判定する回路と、この回路からの一致判定信号により、保持した階調データの度数を積算する回路とを備えた回路モジュールを、複数個並列に接続し、上記多階調画像を、被写体を異なる位置から撮像した１組の画像に対し、画像を複数の小領域に分割してステレオマッチングにより小領域単位のずれ量を求めた距離分布画像とし、上記小領域内の有効データの度数を求め、この度数と上記小領域単位のずれ量を代表階調とする階調データとを上記回路モジュールに出力する前処理回路を設けたことを特徴とする。
【００１１】
請求項２記載の発明は、多階調画像信号の各階調データを保持する回路と、新たに入力された階調データと保持した階調データとが一致するか否かを判定する回路と、この回路からの一致判定信号により、保持した階調データの度数を積算する回路とを備えた回路モジュールを、複数個並列に接続し、さらに、上記複数の回路モジュールに対して階調データを順次保持させ、その際、過去に階調データを保持した全ての回路モジュールからデータ不一致の判定信号が出力されたときにのみ、そのときの入力階調データを次の回路モジュールに保持させる制御回路を備えたことを特徴とする。
【００１２】
すなわち、請求項１記載の発明では、複数の回路モジュールを並列接続し、各回路モジュール内で、それぞれ階調データを保持し、新たに入力された階調データと保持した階調データとが一致するか否かを判定してデータが一致する場合、保持した階調データの度数を積算することで、濃度ヒストグラムを高速に算出する。
【００１３】
そして、多階調画像がステレオマッチングにより小領域単位のずれ量を求めた距離分布画像である場合、回路モジュールに対して前処理回路を設け、この前処理回路により、小領域内の有効データの度数を求め、この度数と上記小領域単位のずれ量を代表階調とする階調データとを回路モジュールに出力する。また、複数の回路モジュールに階調データを保持させる際には、請求項２に記載したように、過去に階調データを保持した全ての回路モジュールからデータ不一致の判定信号が出力されたときにのみ、そのときの入力階調データを次の回路モジュールに保持させる制御回路を設けることが望ましい。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図５は本発明の実施の第１形態に係わり、図１はヒストグラム算出装置の全体構成図、図２は自己加算型階調・度数モジュールの回路ブロック図、図３は基本画像と比較画像との比較による距離データの説明図、図４はヒストグラム算出のための領域設定を示す説明図、図５は各モジュール毎の処理を示すタイムチャートである。
【００１５】
図１において、符号１０は、多階調画像データを処理して濃度ヒストグラムを算出するヒストグラム算出装置であり、階調データと、その度数データとからなるヒストグラムデータが階調・度数メモリ２０に出力される。
【００１６】
上記ヒストグラム算出装置１０への入力データは、本形態においては、１組のＣＣＤカメラ１ａ，１ｂで撮像したステレオ画像対を処理して得られる距離画像であり、この距離画像は、上記ＣＣＤカメラ１ａ，１ｂで撮像した１対のアナログ画像を、それぞれ、Ａ／Ｄコンバータ２ａ，２ｂにより所定の輝度階調（例えば２５６階調のグレースケール）のデジタル画像に変換して画像メモリ３ａ，３ｂにストアし、これらの画像メモリ３ａ，３ｂの基本画像及び比較画像をステレオマッチング処理して生成される。
【００１７】
基本画像及び比較画像のステレオマッチング処理は、距離データ計算回路４によって行われる。この距離データ計算回路４は、上記画像メモリ３ａ，３ｂにストアされている基本画像及び比較画像に対し、微小領域毎に同一の物体が写っている部分を探索し、対応する位置の一致度を評価するためのシティブロック距離を計算するシティブロック距離計算部、シティブロック距離の最小値及び最大値を検出する最小・最大値検出部、この最小・最大値検出部で得られた最小値が基本画像及び比較画像における各小領域の一致を示すものであるか否かをチェックしてズレ量を決定するズレ量決定部等から構成され、ズレ量決定部の出力である距離分布データが距離画像として上記距離データメモリ５にストアされる。
【００１８】
すなわち、画面左上を原点として、画像横方向をｉ座標軸，縦方向をｊ座標軸とし、単位を画素としたとき、図４に示すように、画像を、例えば、４×４画素の小領域に分割し、各画像の小領域毎に、基本画像のｉ,ｊ番目の輝度Ａi,jと比較画像のｉ,ｊ番目の輝度Ｂi,jとの差に基づくシティブロック距離Ｚ（＝Σ｜Ａi,j−Ｂi,j｜：ｉ，ｊ＝０〜３）が最小となる位置すなわち対応位置を求め、この対応位置のズレ量（シティブロック距離が最小値のときのズレ量；図４においては２０Ｈ）を距離分布データとして距離データメモリ５にストアする。
【００１９】
尚、シティブロック距離を計算して距離画像を生成する回路の詳細な構成及び動作については、本出願人によって先に提出された特開平５−１１４０９９号に詳述されている。
【００２０】
一方、上記ヒストグラム算出装置１０は、並列接続された＃１〜＃ｎのｎ個の自己加算型階調・度数モジュール１１、各階調・度数モジュール１１の動作を制御する制御回路１２から構成され、入力画像におけるサンプル数と階調数とのうちの大きい方の数に見合うだけの階調・度数モジュール１１が使用される。
【００２１】
それぞれの階調・度数モジュール１１は、図２に示すように、階調ラッチ１３、比較器による一致検出回路１４、ＯＲ回路１５、度数カウンタ１６から構成されている。上記階調ラッチ１３のＤ入力端子、ＣＫ端子、ＥＮ端子、ＳＥＴ端子には、それぞれ、上記距離データメモリ５からの階調データ、同期クロック、上記制御回路１２からのロード信号（ラッチイネーブル信号）、装置の初期化を行うクリア信号が入力され、上記一致検出回路１４の各入力端子に、上記距離データメモリ５からの階調データと上記階調ラッチ１３のＱ端子からのラッチデータとが入力される。
【００２２】
また、上記度数カウンタ１６のＣＫ端子、ＥＮ端子、ＣＬ端子には、それぞれ、同期クロック、上記ＯＲ回路１５の出力、上記制御回路１２からのクリア信号が入力される。上記ＯＲ回路１５には、上記一致検出回路１４からの一致判定信号が入力されるとともに、上記制御回路１２からのロード信号が反転入力される。そして、上記一致検出回路１４の一致判定信号が上記制御回路１２に入力され、上記階調ラッチ１３のＱ端子から階調データが出力されるとともに上記度数カウンタ１６のＱ端子から度数データが出力され、上記階調・度数メモリ２０にストアされる。
【００２３】
上記ヒストグラム算出装置１０による濃度ヒストグラムの算出は、図４に示すように、距離画像を例えば１２×６画素の領域に分割し、その領域毎に行われる。各領域内の１つ１つのデータは、階調・度数モジュール１１へ与えられ、度数がカウントされる。以下、上記ヒストグラム算出装置１０の動作について説明する。
【００２４】
まず、ヒストグラム算出に際し、初期化が行われる。この初期化では、データをラッチする階調・度数モジュール１１の番号を指定するための制御回路１２内のモジュール番号カウンタが０にされ、また、クリア信号により、全ての階調・度数モジュール１１内の度数カウンタ１６が０にされるとともに階調ラッチ１３が初期値とされる。この階調ラッチ１３の初期値は、例えば、入力階調データの最大値がＦＦＨ（２５６階調）の場合、１００Ｈのデータとなる。
【００２５】
そして、初期化後、最初の階調データが入力されると、制御回路１２内部のモジュール番号カウンタが１とされ、＃１の階調・度数モジュール１１#1（以下、モジュール番号を添え字#1〜#nによって示す）内の階調ラッチ１３#1にロード信号が出力されるとともにＯＲ回路１５#1を介して度数カウンタ１６#1にロード信号が出力される。これにより、階調ラッチ１３#1がイネーブルとなって同期クロックにより最初の階調データが書き込まれてラッチされ、また、度数カウンタ１６#1がイネーブルとなって同期クロックにより度数カウンタ１６#1に１が加算されてカウント値が１とされる。
【００２６】
次に、２番目の階調データが階調・度数モジュール１１#1に入力されると、階調・度数モジュール１１#1では、内部の階調ラッチ１３#1でラッチした最初の階調データと２番目の階調データとを一致検出回路１４#1で比較し、一致判定信号をＯＲ回路１５#1及び制御回路１２に出力する。この一致判定信号は、データが一致しているときに１、不一致のときに０の信号であり、一致検出回路１４#1の出力が１のとき、すなわち、最初の階調データと２番目の階調データとが一致するとき、ＯＲ回路１５#1を介して度数カウンタ１６#1がイネーブルとなり、同期クロックにより１が加算されてカウント値が２となる。
【００２７】
一方、一致検出回路１４#1の出力が０のとき、すなわち、最初の階調データと２番目の階調データとが一致しないときには、ＯＲ回路１５#1を介して度数カウンタ１６#1がディスエイブルの状態のまま、度数カウンタ１６#1のカウント値が１に維持される一方、制御回路１２では内部のモジュール番号カウンタを２とし、＃２の階調・度数モジュール１１#2にロード信号を出力する。これにより、階調・度数モジュール１１#2の階調ラッチ１３#2及び度数カウンタ１６#2がイネーブルとなり、同期クロックにより階調ラッチ１３#2に２番目の階調データが書き込まれるとともに度数カウンタ１６#2が１とされる。
【００２８】
その後、３番目の階調データが＃１，＃２の各階調・度数モジュール１１#1,#2に入力され、以上説明したように、各一致検出回路１４#1,#2において、それぞれがラッチしている階調データと比較される。すなわち、＃１の階調・度数モジュール１１#1では、階調ラッチ１３#1でラッチされた最初の階調データと今回入力された３番目の階調データとが一致検出回路１４#1によって比較され、＃２の階調・度数モジュール１１#2では、階調ラッチ１３#2でラッチされた２番目の階調データと今回入力された３番目の階調データとが一致検出回路１４#2によって比較される。
【００２９】
そして、３番目の階調データが最初の階調データと一致しているときには、＃１の階調・度数モジュール１１#1内部の度数カウンタ１６#1に１が加算され、３番目の階調データが２番目の階調データと一致しているときには、＃１の階調・度数モジュール１１#1内部の度数カウンタ１６#1はカウントアップされず、＃２の階調・度数モジュール１１#2内部の度数カウンタ１６#2に１が加算されてカウントアップされる。
【００３０】
また、３番目の階調データが最初の階調データ及び２番目の階調データのいずれとも一致しないときには、＃１の階調・度数モジュール１１#1内部の度数カウンタ１６#1、及び、＃２の階調・度数モジュール１１#2内部の度数カウンタ１６#2のいずれもカウントアップされず、制御回路１２内部のモジュール番号カウンタが３となって＃３の階調・度数モジュール１１#3にロード信号が出力される。そして、＃３の階調・度数モジュール１１#3内部の階調ラッチ１３#3及び度数カウンタ１６#3がイネーブルとなって階調ラッチ１３#3に３番目の階調データが書き込まれるとともに度数カウンタ１６#3に１が加算されてカウント値が１とされる。
【００３１】
すなわち、図５のタイムチャートに示すように、階調データが入力される毎に、過去に階調データがラッチされている各モジュールで一致判定が行われ、データが一致したモジュールでのみ度数がアップされ、各モジュールからの一致判定信号が全て０、すなわち、過去に階調データがラッチされたどのモジュールでもデータが一致しない場合にのみ、制御回路１２内部のモジュール番号カウンタがカウントアップされて新しいモジュールにロード信号が出力され、新しい階調データが新しいモジュールにラッチされる。このような過程を繰り返し、入力画像の全ての種類の階調データが次々とラッチされ、度数がカウントされてゆく。
【００３２】
このように１２×６の領域の全ての階調データの度数をカウントすると、＃１の階調・度数モジュール１１#1から順に階調データ及び度数を読み出して階調・度数メモリ２０にストアしてゆき、度数が０で階調データが初期値のままのモジュールで処理を終了する。そして、クリア信号による再初期化後、次の１２×６の領域の処理に移る。
【００３３】
すなわち、＃１のモジュールから順に階調データ及び度数を読み出す過程で、度数のあるモジュール間に度数０のモジュールが存在することはなく、度数０のモジュールが出現したときには、ヒストグラムデータの終わりとなる。これにより、度数０の無駄なアクセス発生による処理速度の低下を回避することができ、後段の処理にヒストグラムデータを高速で受け渡してシステム全体のスループットを向上し、画像処理のリアルタイム化を図ることができる。
【００３４】
図６〜図１０は本発明の実施の第２形態に係わり、図６はヒストグラム算出装置の全体構成図、図７は自己加算型階調・度数モジュールの回路ブロック図、図８はビットパターンによる度数計算の説明図、図９はマスクパターンによるデータのマスクを示す説明図、図１０は各モジュール毎の処理を示すタイムチャートである。
【００３５】
本形態は、ステレオ画像処理のように小領域（例えば、４×４画素）単位のずれ量（階調データ）を小領域全体の平均的な値（代表階調データ）として求めて距離データとする場合、すなわち、距離画像のように決まった小領域で必ず同じ階調データが得られる場合、その小領域内のデータを予め処理するための前処理回路を設け、処理速度の向上を図るものである。
【００３６】
すなわち、画像メモリ３ａにストアされている基本画像の４×４画素の小領域毎に、画像メモリ３ｂにストアされている比較画像からシティブロック距離を計算して距離分布データを求めるわけであるが、この処理に並行して、基本画像の４×４画素の小領域における距離分布データ算出の有効データの度数を予め算出しておき、４×４画素の小領域毎の代表階調データ（シティブロック距離が最小値のときのズレ量）と度数とを入力データとして前述の第１形態と略同様なヒストグラム算出処理を行う。
【００３７】
このため、本形態のヒストグラム算出装置１０Ａでは、図６に示すように、並列接続された＃１〜＃ｎのｎ個の自己加算型階調・度数モジュール３１、各階調・度数モジュール３１の動作を制御する制御回路３２に加え、前処理回路として、ビットパターン生成回路３３、マスクパターン生成回路３４、ＡＮＤ回路３５、ビット加算器３６を備えている。尚、上記階調・度数モジュール３１の個数は、前述の第１形態と同様、入力画像におけるサンプル数と階調数とのうち、大きい方の数に見合う個数である。
【００３８】
そして、距離データ計算回路４による４×４画素の小領域の代表階調であるシティブロック距離が最小値のときのズレ量と、画像メモリ３ａの基本画像データに基づいてビットパターン生成回路３３で計算した有効データのビットパターンとが距離データメモリ５にストアされ、この距離データメモリ５からの階調データが階調・度数モジュール３１に入力されるとともに、距離データメモリ５のビットパターンデータと、後述するマスクパターン生成回路３４からのデータとのＡＮＤ回路３５による論理積がビット加算器３６を介して度数データとして階調・度数モジュール３１に入力される。
【００３９】
また、上記階調・度数モジュール３１は、第１形態の階調・度数モジュール１１に対し、図７に示すように、第1形態と同様の階調ラッチ１３、一致検出回路１４、及び、ＯＲ回路１５に対し、度数カウンタ１６に代えて度数ラッチ１７を採用し、さらに、加算器１８を備えた構成となっている。
【００４０】
上記階調ラッチ１３のＤ入力端子、ＣＫ端子、ＥＮ端子、ＳＥＴ端子には、それぞれ、上記距離データメモリ５からの階調データ、同期クロック、上記制御回路３２からのロード信号、装置の初期化を行うクリア信号が入力され、上記一致検出回路１４の各入力端子に、上記距離データメモリ５からの階調データと上記階調ラッチ１３のＱ端子からのラッチデータとが入力される。
【００４１】
また、上記度数ラッチ１７のＤ入力端子には、上記ビット加算器３６からの度数データと上記度数ラッチ１７のＱ端子からのラッチデータとを上記加算器１８によって加算した値が入力され、上記度数ラッチ１７のＣＫ端子、ＥＮ端子、ＣＬ端子には、それぞれ、同期クロック、上記ＯＲ回路１５の出力、上記制御回路３２からのクリア信号が入力される。上記ＯＲ回路１５には、上記一致検出回路１４からの一致判定信号が入力されるとともに、上記制御回路３２からのロード信号が反転入力される。そして、上記一致検出回路１４の一致判定信号が上記制御回路３２に入力され、上記階調ラッチ１３のＱ端子から階調データが出力されるとともに上記度数ラッチ１７のＱ端子から度数データが出力され、上記階調・度数メモリ２０にストアされる。
【００４２】
以上の構成による本形態のヒストグラム算出装置１０Ａでは、前述の第１形態と同様、１２×６画素の領域を１つの評価単位としてヒストグラム算出処理を行うものの、１つの１２×６画素の領域に対し、４×４画素の小領域を一まとめとして扱い、この小領域の代表階調データ（シティブロック距離が最小値のときのズレ量）と前処理で計算した有効データの度数とを階調・度数モジュール３１に入力する処理を、ｊ方向、ｉ方向にずらして６回行う。
【００４３】
４×４画素の小領域に対する前処理の度数計算は、図８に示すように、画像メモリ３ａにストアされている基本画像における４×４画素の小領域の１６個のデータに対し、例えば、隣接する画素間の輝度の差が所定の閾値よりも大きいときに１（有効ビット）、閾値よりも小さいときに０のビットパターンをビットパターン生成回路３３で生成することで行われる。
【００４４】
図８は、基本画像の４×４画素の小領域に対し、１１１０，１１００，１０００，００００のビットパターン（ＥＣ８ＯＨの２バイトデータ）となる例を示し、１つの小領域に対応して、距離データメモリ５の４バイトの領域にシティブロック距離が最小値のときのズレ量とビットパターンデータとが格納される。すなわち、距離データ計算回路４で計算したシティブロック距離が最小値のときのズレ量が先頭の１バイトの領域に格納され、次の２バイトの領域に上記ビットパターン生成回路３３によるビットパターンデータが格納される。最後の１バイトの領域は予備の空の領域である。これにより、距離画像の４×４画素の小領域における１６バイトのデータを４バイト（実質的には３バイト）のデータに圧縮することができる。
【００４５】
この場合、図９に示すように、１２×６画素の領域内で４×４画素の小領域をｊ方向、ｉ方向にずらしながら前処理を行うわけであるが、ｊ方向にずらした場合、４×４画素の小領域の一部が１２×６画素の領域からはみ出してしまい、距離データメモリ５に格納されるデータには、１２×６画素の領域外のデータが含まれることになる。
【００４６】
そのため、１２×６画素の領域外のデータを、マスクパターン生成回路３４で生成したマスクパターンによってマスクする。すなわち、１２×６画素の領域外となってマスクすべき部分は４×４画素の小領域の下半分の４×２の領域であるため、マスクパターン生成回路３４では、図９に示すように、００００，００００，１１１１，１１１１（＝００ＦＦＨ）のマスクパターンを生成する。そして、このマスクパターンとビットパターンデータとのビット毎の論理積をＡＮＤ回路３５で取り、ビット加算器３６によって有効ビット数のバイトデータ（度数データ）として＃１の階調・度数モジュール３１#1に出力することで、１２×６画素の領域外のデータをマスクすることができる。
【００４７】
尚、マスクすべきビットパターンデータは、１２×６画素の領域内で４×４画素の小領域をずらす場合、２，４，６番目の小領域から得られるデータであり、これら以外のデータ（１，３，５番目）に対しては、マスクパターン生成回路３４で生成するビットパターンは、１１１１，１１１１，１１１１，１１１１（＝ＦＦＦＦＨ）のパターンとなり、データのマスクを行わない。
【００４８】
次に、以上の前処理を伴う本形態のヒストグラム算出処理について説明する。まず、クリア信号により、前述の第１形態と同様、制御回路３２内のモジュール番号カウンタが０にされ、全ての階調・度数モジュール３１内の度数ラッチ１７が０にされるとともに、階調ラッチ１３が初期値（入力階調データの最大値がＦＦＨの場合、１００Ｈ）にされる。そして、基本画像の４×４画素の小領域に対し、比較画像を用いて距離データ計算回路４で計算したシティブロック距離が最小値のときのズレ量と、ビットパターン生成回路３３によるビットパターンデータとが距離データメモリ５に格納される。
【００４９】
次いで、制御回路３２内部のモジュール番号カウンタがカウントアップされて１となり、＃１の階調・度数モジュール３１#1内部の階調ラッチ１３#1及び度数ラッチ１７#1にロード信号が出力されて内部の階調ラッチ１３#1及び度数ラッチ１７#1がイネーブルとなる。そして、同期クロックにより、最初の小領域の階調データが階調ラッチ１３#1に書き込まれるとともに、前処理後の度数データが度数ラッチ１７#1に書き込まれる。
【００５０】
尚、前述したように、この最初の小領域に対するビットパターンデータに対しては、データをマスクする必要がないため、マスクパターン生成回路３４で生成するデータはＦＦＦＦＨとなり、ＡＮＤ回路３５、ビット加算器３６を介して階調・度数モジュール３１#1に入力される前処理後の度数データは、距離データメモリ５のビットパターンデータの有効ビット数と同じである。
【００５１】
次に、１２×６画素の領域内で４×４画素の小領域をｊ方向にずらし、この小領域の一部が１２×６画素の領域からはみ出した状態で、再び、ビットパターン生成回路３３による処理でデータのビットパターンを求め、そのビットパターンデータを、距離データ計算回路４で計算したシティブロック距離が最小値のときのズレ量とともに距離データメモリ５に格納する。
【００５２】
そして、距離データメモリ５から、２番目の小領域の階調データを＃１の階調モジュール３１#1に出力するとともに、２番目の小領域のビットパターンデータをＡＮＤ回路３５に出力する。このＡＮＤ回路３５には、マスクパターン生成回路３４で生成した００ＦＦＨのマスクデータが入力されており、２番目の小領域のビットパターンデータとのビット毎の論理積によってビットパターンデータに含まれる１２×６画素の領域外のデータがマスクされ、ビット加算器３６を介して前処理後の有効ビットの度数データとして＃１の階調・度数モジュール３１#1に出力される。
【００５３】
＃１の階調・度数モジュール３１#1では、階調ラッチ１３#1でラッチした最初の小領域の階調データと今回入力された２番目の小領域の階調データとを一致検出回路１４#1で比較し、一致判定信号をＯＲ回路１５#1及び制御回路３２に出力する。
【００５４】
上記一致検出回路１４#1の一致判定出力が１のとき、すなわち、ラッチした最初の小領域の階調データと今回入力された２番目の小領域の階調データとが一致するときには、ＯＲ回路１５#1を介して度数ラッチ１７#1がイネーブルとなり、この度数ラッチ１７#1でラッチしている度数データと今回入力された度数データ（マスク後度数データ）とが加算器１８#1で加算されて度数ラッチ１７#1に書き込まれる。
【００５５】
一方、一致検出回路１４#1の出力が０のとき、すなわち、ラッチしている最初の小領域の階調データと今回入力された２番目の小領域の階調データとが一致しないときには、ＯＲ回路１５#1を介して度数ラッチ１７#1がディスエイブルの状態のままラッチデータが保持される一方、制御回路３２では内部のモジュール番号カウンタを２とし、＃２の階調・度数モジュール３１#2にロード信号を出力する。
【００５６】
これにより、＃２の階調・度数モジュール３１#2内部の階調ラッチ１３#2及び度数ラッチ１７#2がイネーブルとなり、階調ラッチ１３#2に２番目の小領域の階調データが書き込まれるとともに、度数ラッチ１７#1に２番目の小領域の度数データ（マスク後データ）が書き込まれる。
【００５７】
その後、４×４画素の小領域を最初の位置からｉ方向にずらし、ビットパターン生成回路３３による処理でビットパターンデータを求めると、この３番目の小領域におけるビットパターンデータの計算結果を、距離データ計算回路４で計算したシティブロック距離が最小値のときのズレ量とともに距離データメモリ５に格納する。この３番目の小領域におけるビットパターンデータは、マスクする必要がないため、マスクパターン生成回路３４からのデータによってマスクされることなく、ビット加算器３６において度数データに変換された後、階調データとともに＃１，＃２の各階調・度数モジュール３１#1,#2に入力される。
【００５８】
そして、＃１の階調・度数モジュール１１#1において、階調ラッチ１３#1でラッチされている最初の小領域の階調データと今回入力された３番目の小領域の階調データとが一致検出回路１４#1によって比較され、＃２の階調・度数モジュール１１#2において、階調ラッチ１３#2でラッチされている２番目の小領域の階調データと今回入力された３番目の小領域の階調データとが一致検出回路１４#2によって比較される。
【００５９】
その結果、３番目の小領域の階調データが最初の小領域の階調データと一致する場合には、＃１の階調・度数モジュール３１#1の度数ラッチ１７#1でラッチしている最初の小領域の度数データと今回入力された３番目の小領域の度数データとが加算器１８#1で加算されて度数ラッチ１７#1に書き込まれる。また、３番目の小領域の階調データが２番目の小領域の階調データと一致する場合には、＃２の階調・度数モジュール３１#2の度数ラッチ１７#2でラッチしている２番目の小領域の度数データと今回入力された３番目の小領域の度数データとが加算器１８#2で加算されて度数ラッチ１７#2に書き込まれる。
【００６０】
一方、３番目の小領域の階調データが最初の小領域の階調データ及び２番目の小領域の階調データのいずれとも一致しないときには、制御回路３２内部のモジュール番号カウンタが３となって＃３の階調・度数モジュール３１#3にロード信号が出力され、階調・度数モジュール３１#3内部の階調ラッチ１３#3及び度数ラッチ１７#3がイネーブルとなって階調ラッチ１３#3に３番目の小領域の階調データが書き込まれるとともに、度数ラッチ１７#3に３番目の小領域の度数データが書き込まれる。
【００６１】
その後、４番目の小領域、５番目の小領域、６番目の小領域のデータを、同様にして処理し、１つの１２×６の領域に対する処理が終了すると、＃１の階調・度数モジュール１１#1から順に階調及び度数データを読み出して階調・度数メモリ２０にストアしてゆき、度数が０のモジュールで動作を停止してクリア信号による再初期化を行い、次の１２×６の領域の処理に移る。
【００６２】
すなわち、図１０のタイムチャートに示すように、階調データと前処理で計算した度数データとを各モジュールの入力データとして各モジュールでラッチしておき、入力された階調データが過去にラッチした階調データと一致する場合、そのモジュールでラッチしている度数データに新たな度数データを加算して再ラッチすることで度数データを蓄積する。
【００６３】
一方、過去に階調データがラッチされたどのモジュールでもデータが一致しない場合には、制御回路３２内部のモジュール番号カウンタがカウントアップされて新しいモジュールにロード信号が出力され、新しい階調データ及び度数データが新しいモジュールにラッチされる過程を繰り返し、入力画像の全ての種類の階調データ及び前処理後の度数データが次々とラッチされ、度数データが蓄積されてゆくのである。
【００６４】
本形態においては、度数０の無駄なアクセス発生による処理速度の低下を回避することができるばかりでなく、決まった小領域で必ず同じ階調データが得られる距離画像のような多階調画像に対し、前処理回路で小領域内のデータの度数を計数するため、さらに処理速度を向上することができる。
【００６５】
【発明の効果】
以上説明したように本発明によれば、複数の回路モジュールを並列接続し、各回路モジュール内で、それぞれ階調データを保持し、新たに入力された階調データと保持した階調データとが一致するか否かを判定してデータが一致する場合、保持した階調データの度数を積算するため、度数０の無駄なアクセス発生による処理速度の低下を回避して後段の処理にヒストグラムデータを高速で受け渡すことができ、システム全体のスループットを向上して画像処理のリアルタイム化を図ることができる等優れた効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の第１形態に係わり、ヒストグラム算出装置の全体構成図
【図２】同上、自己加算型階調・度数モジュールの回路ブロック図
【図３】同上、基本画像と比較画像との比較による距離データの説明図
【図４】同上、ヒストグラム算出のための領域設定を示す説明図
【図５】同上、各モジュール毎の処理を示すタイムチャート
【図６】本発明の実施の第２形態に係わり、ヒストグラム算出装置の全体構成図
【図７】同上、自己加算型階調・度数モジュールの回路ブロック図
【図８】同上、ビットパターンによる度数計算の説明図
【図９】同上、マスクパターンによるデータのマスクを示す説明図
【図１０】同上、各モジュール毎の処理を示すタイムチャート
【符号の説明】
１０，１０Ａ…ヒストグラム算出装置
１１，３１  …自己加算型階調・度数モジュール（回路モジュール）
【図１】
0003880665.tif 000002
【図２】
0003880665.tif 000003
【図３】
0003880665.tif 000004
【図４】
0003880665.tif 000005
【図５】
0003880665.tif 000006
【図６】
0003880665.tif 000007
【図７】
0003880665.tif 000008
【図８】
0003880665.tif 000009
【図９】
0003880665.tif 000010
【図１０】
0003880665.tif 000011