(57)【要約】【課題】画像認識処理の処理スピードの向上を図ることができる画像処置装置を提供する。【解決手段】画像データをフレーム単位で格納するフレームバッファ３０と、入力画像の画像データを画像データ格納手段に格納する前に、入力画像の画像データを前処理する前処理部２０と、前処理部２０で前処理されフレームバッファ３０に格納された画像データを処理する後処理部４０とを備え、前処理部２０は、入力画像の同一フレームに対して互いに異なる複数種類の前処理を行い、複数種類の前処理済み画像の画像データをフレームバッファ３０に出力して格納させる。【選択図】図１
2013120517.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対する認識処理を行う画像処理装置であって、
画像データをフレーム単位で格納する画像データ格納手段と、
入力画像の画像データを前記画像データ格納手段に格納する前に、前記入力画像の画像データを前処理する画像前処理手段と、
前記画像前処理手段で前処理され前記画像データ格納手段に格納された画像データを処理する画像後処理手段と、を備え、
前記画像前処理手段は、入力画像の同一フレームに対して互いに異なる複数種類の前処理を行い、複数種類の前処理済み画像の画像データを前記画像データ格納手段に出力して格納させることを特徴する画像処理装置。
【請求項２】
請求項１の画像処理装置において、
前記画像前処理手段から出力される前記複数種類の前処理済み画像のピクセル数が同じであることを特徴とする画像処理装置。
【請求項３】
請求項１又は２の画像処理装置において、
前記画像前処理手段は、前記入力画像の画像データが入力されるときのクロックと同一クロックに基づいて、前記複数種類の前処理と前処理済み画像の出力とを行うことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれかの画像処理装置において、
前記複数種類の前処理済み画像の画像データは一つの画像データ格納手段に格納されることを特徴とする画像処理装置。
【請求項５】
請求項４の画像処理装置において、
前記複数種類の前処理済み画像の画像データは、ラインバッファにいったん蓄積され、前記画像データ格納手段におけるデータ記憶領域の開始アドレスをライン毎に変えながら、ラインインターリーブで書き込まれることを特徴とする画像処理装置。
【請求項６】
請求項４の画像処理装置において、
前記複数種類の前処理済み画像の画像データは、前記画像データ格納手段におけるデータ記憶領域の開始アドレスを変えながら、フレームインターリーブで書き込まれることを特徴とする画像処理装置。
【請求項７】
請求項１乃至６のいずれかの画像処理装置において、
前記複数種類の前処理のうち少なくとも一つは空間フィルタ処理を含むことを特徴とする画像処理装置。
【請求項８】
請求項１乃至６のいずれかの画像処理装置において、
前記複数種類の前処理はすべて一つ以上の空間フィルタ処理を通過した結果を前記処理済み画像として出力することを特徴とする画像処理装置。
【請求項９】
請求項７又は８の画像処理装置において、
前記空間フィルタ処理は、エッジ抽出フィルタ処理、平滑化フィルタ処理及びεフィルタ処理の少なくとも一つであることを特徴とする画像処理装置。
【請求項１０】
請求項９の画像処理装置において、
前記複数種類の前処理済み画像の画像データとして、エッジ画像の画像データと二値化エッジ画像の画像データとを前記画像データ格納手段に格納することを特徴とする画像処理装置。
【請求項１１】
請求項９の画像処理装置において、
前記複数種類の前処理済み画像の画像データとして、エッジ画像の画像データと二値化エッジ画像の画像データとエッジ抽出前の画像データとを前記画像データ格納手段に格納することを特徴とする画像処理装置。
【請求項１２】
請求項１乃至１１のいずれかの画像処理装置において、
前記複数種類の前処理のうち少なくとも一つはトーンカーブ補正処理を含むことを特徴とする画像処理装置。
【請求項１３】
請求項１乃至１２のいずれかの画像処理装置において、
前記画像前処理手段は、ヒストグラム算出手段を有することを特徴とする画像処理装置。
【請求項１４】
請求項１３の画像処理装置において、
前記複数種類の前処理のうち少なくとも一つがトーンカーブ補正処理を含む場合、前記ヒストグラム算出手段の結果に基づいて前記トーンカーブ補正の係数を変化させることを特徴とする画像処理装置。
【請求項１５】
請求項１乃至１４のいずれかの画像処理装置において、
前記複数種類の前処理済み画像の画像データそれぞれについて前記画像データ格納手段への書き込みのオン／オフを切り換え可能に構成したことを特徴とする画像処理装置。
【請求項１６】
請求項１乃至１５のいずれかの画像処理装置において、
前記複数種類の前処理の少なくとも一つは、色空間補正を含むことを特徴とする画像処理装置。
【請求項１７】
請求項１乃至１６のいずれかの画像処理装置において、
中央演算処理装置とハフ変換を行うハフ変換モジュールとを備え、
前記中央演算処理装置が、前記画像データ格納手段から読み出した画像データを二値化し、投票するｘ，ｙの座標を前記ハフ変換モジュールに渡し、
前記ハフ変換モジュールが、ハフ空間に投票して最大値をサーチし、そのサーチの結果を前記中央演算処理装置に渡すことを特徴とする画像処理装置。
【請求項１８】
請求項１乃至１６のいずれかの画像処理装置において、
中央演算処理装置とハフ変換を行うハフ変換モジュールとを備え、
前記中央演算処理装置が、前記ハフ変換モジュールに対してハフ変換したい座標範囲を指定し、
前記ハフ変換モジュールが、前記画像データ格納手段から後処理対象の画像データを読み出して二値化し、ハフ空間に投票して最大値をサーチし、そのサーチの結果を前記中央演算処理装置に渡すことを特徴とする画像処理装置。
【請求項１９】
請求項１乃至１６のいずれかの画像処理装置において、
前記画像前処理手段で二値化を行った後の画像データを前記画像データ格納手段に格納しておき、
中央演算処理装置とハフ変換を行うハフ変換モジュールとを備え、
前記中央演算処理装置が、前記ハフ変換モジュールに対してハフ変換したい座標範囲を指定し、
前記ハフ変換モジュールが、後処理対象の画像データとして前記画像データ格納手段から前記二値化を行った後の画像データを読み出し、ハフ空間に投票して最大値をサーチし、そのサーチの結果を前記中央演算処理装置に渡すことを特徴とする画像処理装置。
【請求項２０】
請求項１７乃至１９のいずれかの画像処理装置において、
前記入力画像に対して白線を検知する認識処理を行う場合、エッジ画像を用いたハフ変換の結果と前記前処理済み画像の画像データとに基づいて白線かどうかを判別することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に対する認識処理を行う画像処理装置に関するものである。
【背景技術】
【０００２】
従来、路端、濡れやマンホールなどの路面情報、前方車両情報などの車走行補助用の情報を得たり、ＦＡ（Factory Automation）の用途などでの対象物の座標情報を得たりする装置として、カメラで撮像した画像に対して認識処理を行って情報を得る画像処理装置が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の画像処理装置では、高速にかつ低消費電力に処理を行う必要があるが、認識アルゴリズムは一般的に莫大な計算リソースを必要とするものが多い。特に多数の画像データを扱うため、必要とする計算リソースが莫大になる傾向がある。そのため、認識処理に用いるＣＰＵの性能が不足するとともに、画像を格納するフレームバッファのメモリの帯域が足りなくなり、処理スピードが低下するという問題がある。
【０００４】
特許文献１には、デジタルカメラにおける連写の処理スピードを上げる目的で、カメラからの画像データに対して画像処理を行った後、画像処理済みの画像データをバッファメモリに蓄積する画像処理装置が開示されている。この画像処理装置は、一つの入力画像について１種類の処理画像を準備すればよいデジタルカメラの連写スピードを上げるためには有効である。しかし、特許文献１の画像処理装置では、画像認識処理のように一つの入力画像について互いに種類が異なる複数の処理画像を同時に必要とする画像処理には使用することができないため、画像情報の認識処理の処理スピードを向上させることができず、上記問題を解決することができない。
【０００５】
本発明は以上の問題点に鑑みなされたものであり、その目的は、画像認識処理の処理スピードの向上を図ることができる画像処置装置を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、入力画像に対する認識処理を行う画像処理装置であって、画像データをフレーム単位で格納する画像データ格納手段と、入力画像の画像データを前記画像データ格納手段に格納する前に、前記入力画像の画像データを前処理する画像前処理手段と、前記画像前処理手段で前処理され前記画像データ格納手段に格納された画像データを処理する画像後処理手段と、を備え、前記画像前処理手段は、入力画像の同一フレームに対して互いに異なる複数種類の前処理を行い、複数種類の前処理済み画像の画像データを前記画像データ格納手段に出力して格納させることを特徴するものである。
【発明の効果】
【０００７】
本発明によれば、画像前処理手段により、画像データ格納手段に格納する前の入力画像の同一フレームに対して互いに異なる複数種類の前処理を行い、複数種類の前処理済み画像の画像データを画像データ格納手段に出力して格納させることにより、認識処理に必要となる複数種類の画像を準備することができる。しかも、その画像前処理手段の前処理により、画像データ格納手段に対する書き込み及び読み出し時における周波数帯域を、入力画像そのものの画像データを画像データ格納手段に格納する場合よりも減らすように、前記複数種類の画像を生成することができる。したがって、画像データ格納手段に対する書き込み及び読み出し時に必要な周波数帯域を抑制することができ、その抑制できた分の周波数帯域を後段の認識処理に割り当てることができるようになるので、高速な認識処理を実現できる。よって、画像認識処理の処理スピードの向上を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る画像処理装置の全体構成の一例を示すブロック図。
【図２】前処理部の一構成例を示すブロック図。
【図３】前処理部の空間フィルタにおけるεフィルタの処理の一例を示す説明図。
【図４】後処理部の一構成例を示すブロック図。
【図５】ハフ変換のアルゴリズム概要の一例を示す説明図。
【図６】ハフ変換の処理の流れの一例を示すフローチャート。
【図７】実施例１に係るハフ変換の処理を実現する構成の一例を示すブロック図。
【図８】実施例２に係るハフ変換の処理を実現する構成の一例を示すブロック図。
【図９】実施例３に係るハフ変換の処理を行う場合の前処理部の構成例を示すブロック図。
【図１０】実施例３に係るハフ変換の処理を実現する構成の一例を示すブロック図。
【図１１】実施例３に係るハフ変換の処理を行う場合の前処理部の他の構成例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。
まず、本発明の一実施形態に係る画像処理装置の全体構成について説明する。
図１は、本実施形態に係る画像処理装置の全体構成の一例を示すブロック図である。画像処理装置１０は、カメラ９０で撮影した画像に対して各種認識処理を行い、その認識処理の結果を出力する装置である。ここで、画像の認識処理としては、例えば、人物を含む画像における顔検知、車両を含む画像における車両検知、路面画像における白線検知、車両走行中の前方風景画像における障害物検知や標識認識など、多彩な画像認識処理が挙げられる。
【００１０】
本実施形態の画像処理装置１０は、画像前処理手段としての前処理部（preprocessing部分）２０と、画像データ格納手段としてのフレームバッファ３０と、画像後処理手段としての後処理部（coprocessing部分）４０と、認識処理の結果を出力する結果出力部５０と、各部を制御するプログラムを実行可能な中央演算処理装置（以下「ＣＰＵ」という。）６０と、を備える。
【００１１】
上記構成の画像処理装置１０において、カメラ９０から入力された認識処理対象の画像である入力画像の画像データ（カメラ画像データ）は前処理部２０を通り、同一のフレームより生成される互いに異なる２種類以上の処理画像（図示の例では、２種類の処理Ａ画像及び処理Ｂ画像）それぞれの画像データが出力される。前処理部２０から出力された複数種類の処理画像（処理Ａ画像、処理Ｂ画像）の画像データはそれぞれフレームバッファ３０へ同時に書き込まれる。ここで、図示の処理Ａ画像は例えば補正されたカメラ画像であり、処理Ｂ画像は例えばエッジ画像である。
【００１２】
上記フレームバッファ３０に書き込まれた２つの処理画像の画像データに対して、ＣＰＵ６０又は後処理部４０により後述の各種処理が行われる。その各種処理の最終結果である認識処理の結果は、フレームバッファ３０にいったん書き込まれた後に結果出力部５０に渡されるか、又は結果出力部５０に直接渡される。結果出力部５０は、それらの認識処理の結果を後段が受け取りやすい形式に変換して出力する。
【００１３】
ＣＰＵ６０は、例えば汎用のプログラム言語で開発された所定のプログラムを図示しない記憶装置から読み込んで実行し、前処理部２０、後処理部４０及び結果出力部５０それぞれに設けられているレジスタを制御したり駆動したりすることにより、画像の認識処理を行うことができる。なお、ＣＰＵ６０自体が直接フレームバッファ３０の画像データを読み込み、認識処理などの画像処理を行ってもよい。また、ＣＰＵ６０は、複数種類の前処理済み画像の画像データそれぞれについて前処理部２０からフレームバッファ３０への書き込みのオン／オフを切り換えるように制御してもよい。この場合、後処理部４０で必要な前処理済み画像についてのみフレームバッファ３０へ書き込むようにすることができ、フレームバッファ３０への画像データ書き込みや画像データの格納に用いるフレームバッファ３０の容量の効率化を図ることができる。
【００１４】
本実施形態の画像処理装置は、半導体集積回路装置などのハードウェア（例えば、画像処理プロセッサ）で画像処理を行う画像処理ハード部として、フレームバッファ３０へ格納前に画像データを前処理する前処理部２０と、フレームバッファ３０に格納されている画像データを処理する後処理部との、２種類の画像処理ハード部を用意することで、以下に示す３種類の処理方式（１）〜（３）から、画像データの処理ごとに適切な方式を選択することができる。
【００１５】
処理方式（１）：この処理方式では、画像処理ハード部により、フレームバッファの画像データを読み込んで処理し、その処理後の画像データをフレームバッファに書き戻す。処理方式（１）は、処理が必要なときのみメモリの帯域を使うという利点を有し、一方、フレームバッファ３０へのリード＆ライトが必要なため、メモリの帯域を次の処理方式（２）の２倍必要とするという欠点を有する。
【００１６】
処理方式（２）：この処理方式では、カメラからの画像をあらかじめ必要な処理をしてメモリに格納する。処理方式（２）は、処理のために必要なメモリの帯域が書き込み時だけに使用されるので、メモリの帯域が処理方式（１）の半分で済むという利点を有し、一方、処理が必要ない場合もメモリの容量及び帯域を消費する（食う）という欠点を有する。
【００１７】
処理方式（３）：この処理方式は、ＣＰＵでメモリ上の画像を直接処理するものであり、いわゆるソフトウェアによる画像処理を行う処理方式である。処理方式（３）は、実装が容易であるという利点を有するが、処理速度が遅いという欠点を有する。
【００１８】
上記処理方式（１）は、例えば一般的な画像処理プロセッサを用いた構成で実現できるが、この処理方式（１）では認識処理に毎回必要となるエッジ画像などが１回フレームバッファから読み出し−＞処理−＞結果をフレームバッファへ書き込みという２回フレームバッファへのアクセスが必要となってしまう。一方、上記処理方式（２）では、カメラ−＞処理−＞フレームバッファというように１回のフレームバッファへのアクセスで例えばエッジ画像を処理してフレームバッファへ格納することができるようになる。
【００１９】
本実施形態の画像処理装置では、上記利点や欠点などの特徴をそれぞれ有する３種類の処理方法（１）〜（３）を適切に組み合わせることで、高速に認識処理を実行することができる。
【００２０】
次に、前処理部２０の構成例及びその処理内容について説明する。
図２は、前処理部２０の一構成例を示すブロック図である。本構成例において、前処理部２０は、入力側の空間フィルタ２１０と、トーンカーブ補正部２２０と、ヒストグラム算出部２３０と、出力側の空間フィルタ２４０とを備えている。
【００２１】
前処理部２０ではカメラ９０から入力された入力画像の画像データ（例えば１０ビットの画像データ）に対して、まず空間フィルタ処理を行う。この空間フィルタ処理を行う入力側の空間フィルタ２１０は回路規模の面からフィルタタップ長が３×３程度の大きさであるのが好ましい。また、空間フィルタ２１０は、ＣＰＵ６０から図示しないレジスタを介して（例えばレジスタを指定して）自由に係数を変更できるように制御可能な自由係数フィルタであってもよい。また、空間フィルタ２１０では一般的にノイズ除去が行われるため、通常の空間フィルタを改良し、入力画像からゆらぎによる変動成分を除去可能なεフィルタとしてもよい。
【００２２】
図３は、εフィルタとしての処理の一例を示す説明図である。本例は、画素数が９個（＝３×３）、εの値が５の場合の例である。図３において、フィルタ処理前の３×３画素配列２１１の中央の画素を注目画素（画素値＝５）とした場合、その注目画素の周囲に位置する８個の画素のうち、注目画素との信号差（画素値の差）がε以上の画素について、その画素値を注目画素の画素値（＝５）に置換し、置換後の画素配列１１２を得る。更に、置換後の画素配列１１２に対して平均フィルタを適用して最終的な画素配列１１３を得る。平均フィルタは、例えば、上記置換後の画素配列１１２の全画素の画素値の平均値が６．６７（＝（５＋７＋５＋８＋５＋９＋７＋６＋８）／９）であるので、中央の注目画素の画素値を５から７に変更するように処理する。
【００２３】
空間フィルタ２１０からの出力結果（例えば１０ビットの画像データ）は、トーンカーブ補正部２２０に入る。トーンカーブ補正部２２０では、ＣＰＵ６０から入力値に対する出力値がテーブルで指定されており、任意のトーンカーブに変更することが可能である。トーンカーブ補正部２２０は、例えば入力１０２４アドレス×出力８ビットメモリで構成される。
【００２４】
また、空間フィルタ２１０からの出力結果の画像データ（例えば１０ビットの画像データ）はヒストグラム算出部２３０にも入り、その出力結果の画像データのフレームにおけるヒストグラムが算出される。ＣＰＵ６０は、ヒストグラム算出部２３０で算出されたヒストグラムに基づいて、次フレームのトーンカーブ補正で用いる係数が格納されたテーブルを更新し、ヒストグラム平滑化などの処理を行う。また、トーンカーブ補正部２２０では入力画像のビット数に対して出力画像のビット数を小さくし、適切なトーンカーブを用いることで、出力画像を任意のビット長に圧縮することができる。図示の例では、１０ビットの入力画像が８ビットの出力画像に圧縮されている。
【００２５】
トーンカーブ補正部２２０から出力された画像は、処理Ａ画像として出力され、その後さらに出力側の空間フィルタ２４０を通った画像は処理Ｂ画像として出力される。なお、出力側の空間フィルタ２４０も、上記入力側の空間フィルタ２１０と同様に、回路規模の面からフィルタタップ長が３×３程度の大きさであるのが好ましい。また、空間フィルタ２４０も、ＣＰＵ６０から自由に係数を変更できるように制御可能な自由係数フィルタであってもよい。特に、図示の例では、空間フィルタ２４０は、認識処理でよく使われるエッジ画像を生成するため、エッジ抽出用の係数が用いられる。
【００２６】
図２の前処理部２０において、一般的には、２つの出力画像（処理Ａ画像、処理Ｂ画像）の大きさは同じピクセル数の結果を出力する。また、前処理部２０の回路の駆動周波数は、カメラ９０から入力される入力画像のピクセルクロックと同期させることで、最小限のクロック周波数で処理を行うことができるため、低消費電力化につながる。
【００２７】
なお、フレームバッファ３０を介して接続されるＣＰＵ６０や後処理部４０はフレームバッファ３０で非同期化されるため、前処理部２０に同期した駆動周波数を用いる必要はない。したがって、前処理部２０での処理に用いられるクロック周波数は、より高速に処理を行うため高い周波数に設定するほうがよい。
【００２８】
上記構成の前処理部から出力される複数種類の出力画像（図示の例では、補正されたカメラ画像である処理Ａ画像とエッジ画像である処理Ｂ画像）の画像データが格納されるフレームバッファ３０としては、フレームバッファのメモリ自体を２つ準備するのが性能的には最も良いが、コストが上がるため一つのフレームバッファへ格納アドレスを変えて格納するのが良い。そのアドレスを変化させた二つの出力画像のフレームバッファへの格納方法としては、画像データの高速書き込みが可能な２つの方法が考えられる。その一つは、フレームバッファ３０におけるデータ記憶領域のスタートアドレスをフレーム毎に変えながら画像データを書き込む方法（フレームインタ−リーブ）である。他の一つは、画像データをラインバッファにいったん蓄積し、フレームバッファ３０におけるデータ記憶領域のスタートアドレスをライン毎に変えながら画像データ書き込む方法（ラインインターリーブ）である。
【００２９】
また、本実施形態の画像処理装置にカラーのカメラが接続される場合には、前処理部２０での前処理は、色の補正を行うための色空間補正を含んでもよい。
【００３０】
次に、後処理部４０の構成例及びその処理内容について説明する。
図４は、後処理部４０の一構成例を示すブロック図である。本構成例において、後処理部４０は、データ転送モジュール４１０と、画像処理ハード部（画像処理モジュール）４２０とを備えている。また、図示の例では、画像処理ハード部４２０は、ＣＰＵ用作業メモリ４２１のほか、各種画像処理（ハードウェア処理）のライブラリを有している。ＣＰＵ用作業メモリ４２１は、が図データを一部キャッシュしてＣＰＵ６０からアクセスできるように使用されたり、画像の縦方向へアクセスするような処理（飛び飛びのアドレスへアクセスするような処理）をＣＰＵ６０で行う場合に使用されたりする。また、画像処理（ハードウェア処理）のライブラリとしては、例えば、図示の例のように、二値化４２２ａ、クラスタリング４２２ｂ、ラベリング２２２ｃ、インテグラルイメージ生成４２２ｄ、平均算出４２２ｅ、膨張・収縮４２２ｆ、ハフ変換４２２ｇ、重心算出４２２ｈ、Ｎ×Ｎフィルタリング４２２ｉ、ヒストグラム演算４２２ｊなどを挙げることができる。
【００３１】
上記構成の後処理部４０は、ＣＰＵ６０からの命令により、フレームバッファ３０に格納されている画層データをデータ転送モジュール４１０により読み出し、画像処理ハード部４２０における各種の処理を掛け、その処理の結果をフレームバッファ３０へ書き戻すという動作を行う。
【００３２】
また、上記画像処理ハード部（専用処理ハードウェア）４２０の各種画像処理（ハードウェア処理）のライブラリを用いるのではなく、ＣＰＵ６０から直接フレームバッファ３０へとアクセスして処理を行う場合、特に飛び飛びのアドレスへアクセスする場合には、フレームバッファ３０として用いられるメモリ（例えばＤＲＡＭ）ではランダムアクセスのレイテンシが大きい。そのため、ＣＰＵ６０に多大なウエイトが入り、処理が遅くなってしまうおそれがある。そこで、一定容量のＣＰＵ用作業メモリ（例えばＳＲＡＭ）４２１を設けておき、いったんバーストアクセスでフレームバッファ３０から、ある領域のデータをＣＰＵ用作業メモリ４２１にコピーし、ＣＰＵ６０はＣＰＵ用作業メモリ４２１にアクセスして処理を行い、終わったら結果をＣＰＵ用作業メモリ４２１からフレームバッファ３０へ書き戻すように処理してもよい。
【００３３】
次に、上記構成の画像処理装置１０において、白線を抽出する認識処理を行う場合の処理内容の一例について説明する。この例の処理は、車両が走行中のレーン位置情報を取得するための白線領域を画像から抽出するものである。出力としては、認識した白線の始点と終点の座標を出力する。
【００３４】
まず、カメラ９０から入力された入力画像であるカメラ画像の画像データは、前処理部２０の入力側の空間フィルタ（３×３の自由係数フィルタ）２１０において、εフィルタがかけられ、ノイズが除去されたのち、トーンカーブ補正部２２０により、白線と路面とのコントラストが強調されるようにヒストグラムの変換が行われ、フレームバッファ３０へ格納される補正後画像（処理Ａ画像）が生成される。そののち、入力側の空間フィルタ（３×３の自由係数フィルタ）２４０フィルタによりＳｏｂｅｌフィルタなどのエッジ抽出処理が行われ、そのエッジ抽出処理後のエッジ画像が処理Ｂ画像として出力される。これら２種類の補正後画像（処理Ａ画像）及びエッジ画像（処理Ｂ画像）の画像データが同時にフレームバッファ３０へ格納される。
【００３５】
ＣＰＵ６０は、上記２種類の補正後画像（処理Ａ画像）及びエッジ画像（処理Ｂ画像）それぞれの画像データがフレームバッファ３０へ格納されたのち、後処理部４０に命令を出し、前処理部２０でフレームバッファ３０に格納されたエッジ画像を読み出し、二値化し、フレームバッファ３０へ再格納する。そののち、再度、ＣＰＵ６０は後処理部４０に命令を出し、上記生成されたエッジ画像をさらにハフ変換を行い、複数の白線領域候補を抽出する。
【００３６】
ただし、ここで得られた最もそれらしい白線候補領域（エッジ画像に基づいて最も白線領域であると判断された白線候補領域）が、実際には白線以外のエッジを抽出している可能性がある。そのため、その後、ＣＰＵ６０は、前処理部２０でフレームバッファ３０に格納したもう１種類の補正後画像（処理Ａ画像）を参照し、抽出した白線領域の輝度値を確認し、その領域が一定以上の値であれば白線が抽出できたと判断する。そうでない場合には、ハフ変換で得られた次の白線領域候補を同様に試す。
【００３７】
このように、前処理部２０で補正後画像（処理Ａ画像）及びエッジ画像（処理Ｂ画像）の２枚の画像を生成し、認識処理で用いることで、複数の特徴から求めたい認識オブジェクトを抽出することができ、認識結果の精度を高めることが可能となる。また、このような画像処理を採用することにより、次に示すように高速な認識処理が可能となる。
【００３８】
従来技術の画像処理装置では、カメラから入力されたカメラ画像がエッジ抽出以外の前処理を通り、その前処理画像が、１回フレームバッファへと書き込まれる（書き込み１）。その後、フレームバッファへと書き込まれた前処理画像を読み込み（読み込み１）、エッジ抽出処理と二値化処理とが行われ、その結果がフレームバッファの別アドレスへと書き込まれる（書き込み２）。その後、白線領域抽出処理はフレームバッファ上の前処理画像とエッジ画像の２枚の画像より前述の処理が行われる。つまり、この場合、白線領域抽出処理を除くと、フレームバッファへのアクセス回数は書き込み２回及び読み込み１回が必要となる。
【００３９】
これに対し、本実施形態の画像処理装置１０では、カメラ９０から入力されたカメラ画像は前処理部２０でトーンカーブ補正などの前処理とエッジ抽出処理とが行われ、補正後画像（処理Ａ画像）及びエッジ画像（処理Ｂ画像）の２枚の処理画像がフレームバッファ３０へ格納される（書き込み１、２）。その後、白線領域抽出処理はフレームバッファ３０上の補正後画像とエッジ画像の２枚の画像より前述の処理が行われる。つまり、この場合、白線領域抽出処理を除くと、フレームバッファ３０へのアクセス回数は書き込み２回のみで済み、従来技術の画像処理装置よりもフレームバッファの帯域を圧迫せず、高速な処理が可能となる。
【００４０】
なお、組み込み機器などハードウェアのリソースが限られている場合には、フレームバッファ３０とＣＰＵ６０のプログラム領域は同じメモリ構成となっていることが多く、フレームバッファ３０へのアクセスによりＣＰＵ６０のウエイト（待ち動作）が発生し、ＣＰＵ６０の能力が十分に生かせない場合が多い。
【００４１】
特に、本実施形態で例示した白線領域抽出処理に代表される、上記補正後画像及びエッジ画像のような複数の前処理画像を同時に参照し、加えて前述のハフ変換というＣＰＵ６０による処理が適している認識処理を行う場合には、大きな処理スピードの向上を図ることが可能である。
なお、本実施形態の画像処理装置により処理スピードが向上する効果がある認識処理としては他にも、人、前方車両、路端情報、路面乾湿、マンホールなどの路面物、車線（白線やボッツドッツ）、影、標識、前方車両のヘッドライト・テールライトの認識などがある。
【００４２】
次に、後処理部４０中のハフ変換４２２ｇを行うハフ変換部の内部構成及びその処理について説明する。ハフ変換は画像中の直線を検出する方法のうちのひとつであり、道路の白線の検知などに用いられている。実際の実装時には、最小限のハードウェアでできるだけ高速に処理が行えるよう、ハフ変換のプログラムコードのうち最も繰り返し回数が多いループの内部をハードウェアで処理できるようにすることが望ましい。
【００４３】
図５は、ハフ変換のアルゴリズム概要（プログラムコードの概要）の一例を示す説明図である。また、図６は、ハフ変換の処理の流れの一例を示すフローチャートである。
ハフ変換の処理では、まず、二値化の閾値（スレッショルド）の指定とハフ空間のｒｈｏ軸サイズ及びｔｈｅｔａ軸サイズそれぞれの指定を行った後、ハフ空間（ｒ，Θ空間）の初期化を行う（図６のＳ１０１）。次に、実空間のｘ，ｙ座標の値からｒｈｏの値を計算し、その計算値が上記閾値以上であった場合はハフ空間のｒｈｏ，ｔｈｅｔａ軸に投票（インクリメント）する（図６のＳ１０２，Ｓ１０３）。このｒｈｏの値の計算及び投票を、ｔｈｅｔａ（Θ）の所定範囲及び実空間のｘ，ｙ座標の所定範囲について繰り返す（図６のＳ１０２〜Ｓ１０７）。そして、最後に、ハフ空間における最大値を探索し、その最大値をハフ変換の結果として出力する（Ｓ１０８）。
【００４４】
以上のハフ変換の処理のうち、ハフ空間への投票部分（図５の符号Ｌで示したコード部分、図６のＳ１０２〜Ｓ１０７の部分）が最もループ回数が多い。そのため、このハフ空間への投票部分を、ソフトウェアによる処理よりも高速に処理可能な半導体集積回路装置などのハードウェアで構成することが好ましい。そのため、本実施形態のように前処理部２０であらかじめトーンカーブ補正などの前処理を行った補正後画像（処理Ａ画像）とともに、更にエッジ抽出処理した結果であるエッジ画像（処理Ｂ画像）をフレームバッファ３０へ格納しておく方が、フレームバッファ３０の周波数帯域を節約できる。また、さらに、エッジ画像を二値化し、二値化画像としてフレームバッファ３０へ格納しておく方が、フレームバッファ３０の周波数帯域を更に節約できる。なお、前処理部２０は、前述のようにエッジ画像とともに、そのエッジ画像をハフ変換した結果を白線領域抽出のために用いることにより、白線領域の検出精度の向上を図ることができる。
【００４５】
次に、上記ハフ変換のより具体的な複数の実施例について説明する。
〔ハフ変換の実施例１〕
本実施例１は、ＣＰＵ６０で二値化をして、投票するｘ，ｙ座標の値をハードウェアに渡し、ハードウェアで投票と最大値の探索とを行い、その探索の結果（最大値）をＣＰＵ６０に返す処理方法である。この処理方法は、実装が簡単であるという利点を有する。
【００４６】
図７は、本実施例１に係るハフ変換の処理を実現する構成の一例を示すブロック図である。なお、図７において、後処理部４０のハフ変換モジュール４３０は一点鎖線で囲った範囲である。このハフ変換モジュール４３０は、制御部４３１と、ＦＩＦＯ４３２と、ｒ，Θ空間メモリ制御部４３３と、Θカウンタ４３４と、ｓｉｎ，ｃｏｓテーブル４３５と、ｒｈｏ計算機（乗算器）４３６と、投票制御部４３７と、ｒ，Θ空間メモリ４３８とを備えている。
【００４７】
本実施例１のハフ変換の処理方法において、ＣＰＵ６０はフレームバッファ３０よりエッジ画像の画像データを読み出し、二値化し、二値化の結果が真（１）だった場合には、後処理部のハフ変換モジュール４３０のＦＩＦＯ４３２へ、そのｘ，ｙ座標の値を出力して格納する。制御部４３１は、ＦＩＦＯ４３２に情報（ｘ，ｙ座標の値）が格納されている場合には、ＦＩＦＯ４３２の読み出し側（図右側）のデータリード信号をイネーブルし、格納されているｘ，ｙ座標の値をｒｈｏ計算機（乗算器）４３６へと送る。また、制御部４３１は、同時にΘカウンタ４３４へリセット信号を送り、Θカウンタ４３４の値をリセットする。リセットされたΘカウンタ４３４は毎クロックごとにカウントアップされたデータをｓｉｎ，ｃｏｓテーブル４３５に送り、そのΘの値に応じたｓｉｎ，ｃｏｓの値（ｓｉｎ，ｃｏｓ係数データ）をｒｈｏ計算機４３６に送る。ｒｈｏ計算機４３６では次の（１）式を用いてｒｈｏの値の計算が行われ、そのｒｈｏの計算値が投票制御部４３７へと送られる。
【００４８】
rho=x*cos(2*pi*theta/THETA_MAX)+y*sin(2*pi*theta/THETA_MAX);      （１）
【００４９】
投票制御部４３７では、ｒｈｏ計算機４３６から受け取ったｒ，Θの値よりｒ，Θ空間メモリ４３８の該当座標をインクリメントすることによりハフ空間へ投票する。ｒ，Θ空間メモリ制御部４３３は、制御部４３１より一画面分の投票前に初期化指令を受け取り、ｒ，Θ空間メモリ４３８の全アドレスを初期化する。また、ｒ，Θ空間メモリ制御部４３３は、一画面分の投票がすべて終わったのちは、最大値探索開始指示を受けとり、ｒ，Θ空間メモリ４３８内の最大値を探索し、その探索の結果（最大値）をＣＰＵ６０へ返す。返されたｒ，Θの結果が白線の認識結果である。
【００５０】
本実施例１におけるハフ変換の計算時間は例えば次のように見積もることができる。毎クロックで１回投票したとすると、ハフ変換モジュール４３０を１００ＭＨｚで駆動し、もし投票回数を３１０（画面ｙ方向）×４０ピクセルの頻度０．１として４回（横方向エッジピクセル数），ｔｈｅｔａ空間が１８０分割とすると、投票時の計算時間は次の（２）式のようになる。
【００５１】
１／（１００ＭＨｚ／（３１０×４×１８０））×１０００＝２．２［ｍｓ］    （２）
【００５２】
また、ｒ，Θ空間の分割数（ＲＨＯ，ＴＨＥＴＡ）を、ＲＨＯ＝４００及びＴＨＥＴＡ＝１８０にした場合は、最大値探索時の計算時間及び初期化時の計算時間はそれぞれ、次の（３）式及び（４）式のようになる。
【００５３】
最大値探索時の計算時間：
１／（１００［ＭＨｚ］／（１８０×４００））×１０００＝０．７２［ｍｓ］    （３）
初期化時の計算時間：
１／（１００［ＭＨｚ］／（１８０×４００））×１０００＝０．７２［ｍｓ］    （４）
【００５４】
以上の３つの計算時間（投票＋最大値探索＋初期化）の合計は、３．６［ｍｓ］になる。カメラに映る白線が左右にあった場合、上記３つの計算時間の合計（３．６［ｍｓ］）の２倍の計算時間（７．２［ｍｓ］）で白線認識処理が実行できることになる。
【００５５】
上記実施例１ではＣＰＵ６０でフレームバッファ３０からの読み込みと二値化とを行っているため、ＣＰＵ６０での処理速度が遅い場合にはそれが律速となり、上記白線認識処理の速度を実現できない場合がある。その場合は、次の実施例２の方法が有効である。
【００５６】
〔ハフ変換の実施例２〕
本実施例２は、ＣＰＵ６０よりｙ座標と、ｘ座標の範囲をハードウェアに指定し、ハードウェアでフレームバッファ３０より画像データを読み出して二値化し、ハードウェアで投票と最大値の探索とを行い、その探索の結果（最大値）をＣＰＵ６０に返す処理方法である。この処理方法は、ハードウェアでほとんどの処理を行うので、ＣＰＵ６０の速度に依存しないという利点を有する。
【００５７】
図８は、本実施例２に係るハフ変換の処理を実現する構成の一例を示すブロック図である。本実施例２において、上記実施例１と異なるのは、画像データの二値化もハードウェアで行うようにメモリ読み出し部４４０と二値化部４４１とを備えた点である。画像データの二値化もハードウェアで行うことにより、ＣＰＵ６０で行う処理をより減らすことができ、低速のＣＰＵを用いた場合にも短時間でハフ変換が実現できる。
【００５８】
本実施例２のハフ変換の処理方法において、ＣＰＵ６０は、ハフ変換したい範囲のｙ座標と、ｘ座標の範囲をメモリ読み出し部４４０へと指定する。メモリ読み出し部４４０は、指定されたｙ座標における、指定されたｘ座標の範囲の画像データをフレームバッファ３０より読み出し、二値化部４４１へと送る。二値化部４４１では、メモリ読み出し部４４０から送られてきた画像データより二値化を行い、その二値化の結果が真（１）だった場合には、ＦＩＦＯ４３２へ、そのｘ，ｙ座標の値を出力して格納する。後の流れは実施例１と同様である。
【００５９】
ただし、本実施例２ではＣＰＵ６０でフレームバッファ３０からの読み込みを二値化前の形式で行っており、フレームバッファ３０へのアクセス時の帯域が不足していた場合、フレームバッファ３０からの読み込み速度が律速となり、前記計算した速度を実現できない場合がある。その場合は、次の実施例３の方法が有効である。
【００６０】
〔ハフ変換の実施例３〕
本実施例３は、前処理部２０で二値化を行った後の画像データをフレームバッファ３０へ格納しておき、ＣＰＵ６０よりｙ座標と、ｘ座標の範囲をハードウェアに指定し、ハードウェアでフレームバッファ３０より二値化済みの画像データを読み出し、ハードウェアで投票と最大値の探索とを行い、その探索の結果（最大値）をＣＰＵ６０に返す処理方法である。この処理方法は、フレームバッファ３０の読み込みが少なくて済むので、上記実施例１及び実施例２よりも高速に処理することができる。
【００６１】
図９は、本実施例３に係るハフ変換の処理を行う場合の前処理部２０の構成例を示すブロック図である。本実施例３の前処理部２０は、前述の図２の前処理部２０とは異なり、出力側に二値化部２５０が挿入され、フレームバッファ３０へは二値化されたエッジ画像の画像データが、処理Ｂ画像として格納されるようになっている。
【００６２】
図１０は、本実施例３に係るハフ変換の処理を実現する構成の一例を示すブロック図である。本実施例３において、上記実施例２と異なるのは、フレームバッファ３０に二値化済みのエッジ画像（処理Ｂ画像）の画像データが格納されている点である。そのため、フレームバッファ３０からの画像データの転送量が実施例２よりも少なくなる。また、二値化部２５０は実施例２とは異なりハフ変換モジュール４３０に設ける必要がない。したがって、フレームバッファ３０の周波数帯域が十分ではない場合にも短時間でハフ変換が実現できる。例えば、実施例２での二値化されていないエッジ画像の各ピクセルが８ビットであった場合、二値化後では各ピクセルは１ビットでよく、データ転送量は１／８で済むことになる。加えて、前処理部２０におけるエッジ画像も二値化されているため、前処理部２０からフレームバッファ３０への格納のために必要となるデータ転送量も１／８で済む。
【００６３】
なお、ハフ変換以外の処理で二値化されていないエッジ画像を利用する場合には、図１１に示すように、前処理部２０において、前述の補正後画像（処理Ａ画像）及びエッジ画像（処理Ｂ画像）に二値化済みのエッジ画像を加えた３種類の処理画像をフレームバッファ３０へ格納するようにしてもよい。また、上記実施形態において、前処理部２０からフレームバッファ３０へ格納される処理画像の数は２種類や３種類に限定されるものではなく、４種類以上であってもよい。
【００６４】
また、上記実施形態では、カメラで撮影したカメラ画像に対して認識処理する場合について説明したが、本発明は、カメラ画像以外の画像に対して認識処理する場合にもの同様に適用することができる。
【００６５】
以上に説明したものは一例であり、本発明は、次の態様毎に特有の効果を奏する。
（態様Ａ）
入力画像に対して認識処理する画像処理装置１０であって、画像データをフレーム単位で格納するフレームバッファ３０などの画像データ格納手段と、入力画像の画像データを画像データ格納手段に格納する前に、入力画像の画像データを前処理する前処理部２０などの画像前処理手段と、画像前処理手段で前処理され画像データ格納手段に格納された画像データを処理する後処理部４０などの画像後処理手段と、を備え、前記画像前処理手段は、入力画像の同一フレームに対して互いに異なる複数種類の前処理を行い、複数種類の前処理済み画像の画像データを画像データ格納手段に出力して格納させる。
これによれば、上記実施形態について説明したように、画像前処理手段により、画像データ格納手段に格納する前の入力画像の同一フレームに対して互いに異なる複数種類の前処理を行い、複数種類の前処理済み画像の画像データを画像データ格納手段に出力して格納させることにより、認識処理に必要となる複数種類の画像を準備することができる。しかも、その画像前処理手段の前処理により、画像データ格納手段に対する書き込み及び読み出し時における周波数帯域を、入力画像そのものの画像データを画像データ格納手段に格納する場合よりも減らすように、前記複数種類の画像を生成することができる。したがって、画像データ格納手段に対する書き込み及び読み出し時に必要な周波数帯域を抑制することができ、その抑制できた分の周波数帯域を後段の認識処理に割り当てることができるようになるので、高速な認識処理を実現できる。よって、画像認識処理の処理スピードの向上を図ることができる。
（態様Ｂ）
上記態様Ａにおいて、前記画像前処理手段から出力される複数種類の前処理済み画像のピクセル数（画素数）が同じである。これによれば、上記実施形態について説明したように、画像の入力と前処理済み画像の出力とを同期させて処理することができる。
（態様Ｃ）
上記態様Ａ又は態様Ｂにおいて、前記画像前処理手段は、入力画像の画像データが入力されるときのクロックと同一クロックに基づいて、前記複数種類の前処理と前処理済み画像の出力とを行う。これによれば、上記実施形態について説明したように、画像の入力と前処理済み画像の出力とにそれぞれクロックを用意する必要がなく、最小限のクロック周波数で処理を行うことができるため、低消費電力化につながる。
（態様Ｄ）
上記態様Ａ乃至態様Ｃのいずれかにおいて、前記複数種類の前処理済み画像の画像データは一つの画像データ格納手段に格納される。これによれば、上記実施形態について説明したように、低コスト化を図ることができる。
（態様Ｅ）
上記態様Ｄにおいて、前記複数種類の前処理済み画像の画像データは、ラインバッファにいったん蓄積され、画像データ格納手段におけるデータ記憶領域の開始アドレスをライン毎に変えながら、ラインインターリーブで書き込まれる。これによれば、上記実施形態について説明したように、画像データ格納手段にへの画像データの高速書き込みが可能になる。
（態様Ｆ）
上記態様Ｄにおいて、前記複数種類の前処理済み画像の画像データは、前記画像データ格納手段におけるデータ記憶領域の開始アドレスをフレーム毎に変えながら、フレームインターリーブで書き込まれる。これによれば、上記実施形態について説明したように、画像データ格納手段にへの画像データの高速書き込みが可能になる。
（態様Ｇ）
上記態様Ａ乃至態様Ｆのいずれかにおいて、前記複数種類の前処理のうち少なくとも一つは空間フィルタ処理を含む。これによれば、上記実施形態について説明したように、入力画像からノイズを除去した画像データを格納できる。
（態様Ｈ）
上記態様Ａ乃至態様Ｆのいずれかにおいて、前記複数種類の前処理はすべて一つ以上の空間フィルタ処理を通過した結果を前記処理済み画像として出力する。これによれば、上記実施形態について説明したように、入力画像からノイズを除去した画像データを格納できる。
（態様Ｉ）
上記態様Ｇ又は態様Ｈにおいて、前記空間フィルタ処理は、エッジ抽出フィルタ処理、平滑化フィルタ処理及びεフィルタ処理の少なくとも一つである。これによれば、上記実施形態について説明したように、画像後処理手段においてエッジ抽出や平滑化の処理が不要になったり、入力画像からゆらぎによる変動成分を除去できるようになったりする。
（態様Ｊ）
上記態様Ｉにおいて、前記複数種類の前処理済み画像の画像データとして、エッジ画像の画像データと二値化エッジ画像の画像データとを画像データ格納手段に格納する。これによれば、上記実施形態について説明したように、各画素の１ビットの二値化エッジ画像の画像データについては、二値化が必要な認識処理の場合において画像後処理手段に二値化処理部を設ける必要がなく、また、入力画像の画素のビット数をそのままにして画像データを書き込む場合に比して、画像データ格納手段における画像データの格納時及び読み出し時のデータ転送量を低く抑えることができる。また、二値化処理されていないエッジ画像の画像データについても画像後処理手段で利用できるようになる。
（態様Ｋ）
上記態様Ｉにおいて、前記複数種類の前処理済み画像の画像データとして、エッジ画像の画像データと二値化エッジ画像の画像データとエッジ抽出前の画像データとを前記画像データ格納手段に格納する。これによれば、上記実施形態について説明したように、上記態様Ｊについて説明した効果が得られるとともに、入力画像に対してエッジ抽出前の画像データについても画像後処理手段で利用できるようになる。
（態様Ｌ）
上記態様Ａ乃至態様Ｋのいずれかにおいて、前記複数種類の前処理のうち少なくとも一つはトーンカーブ補正処理を含む。これによれば、上記実施形態について説明したように、出力画像を任意のビット長に圧縮したり、入力画像に対してコントラストの強調などの階調補正を行ったりすることができる。
（態様Ｍ）
上記態様Ａ乃至態様Ｌのいずれかにおいて、前記画像前処理手段は、ヒストグラム算出手段を有する。これによれば、上記実施形態について説明したように、ヒストグラム算出手段で算出されたヒストグラムに基づいて画像のヒストグラム平滑化などの処理を行うことができる。
（態様Ｎ）
上記態様Ｍにおいて、前記複数種類の前処理のうち少なくとも一つがトーンカーブ補正処理を含む場合、前記ヒストグラム算出手段の結果に基づいて前記トーンカーブ補正の係数を変化させる。これによれば、上記実施形態について説明したように、より適切なトーンカーブ補正が可能になる。
（態様Ｏ）
上記態様Ａ乃至態様Ｎのいずれかにおいて、前記複数種類の前処理済み画像の画像データそれぞれについて画像データ格納手段への書き込みのオン／オフを切り換え可能に構成している。これによれば、上記実施形態について説明したように、画像後処理手段で必要な前処理済み画像についてのみ画像データ格納手段へ書き込むようにすることができ、画像データ格納手段への画像データ書き込みや画像データ格納手段における画像データの格納に用いられる容量の効率化を図ることができる。
（態様Ｐ）
上記態様Ａ乃至態様Ｏのいずれかにおいて、前記複数種類の前処理の少なくとも一つは、色空間補正を含む。これによれば、上記実施形態について説明したように、入力画像がカラー画像であった場合に色の補正を行うことができる。
（態様Ｑ）
上記態様Ａ乃至態様Ｐのいずれかにおいて、ＣＰＵ６０などの中央演算処理装置とハフ変換を行うハフ変換モジュール４３０とを備え、中央演算処理装置が、フレームバッファ３０などの画像データ格納手段から読み出した画像データを二値化し、投票するｘ，ｙの座標をハフ変換モジュール４３０に渡し、ハフ変換モジュール４３０が、ハフ空間に投票して最大値をサーチし、そのサーチの結果を中央演算処理装置に渡す。これによれば、上記実施形態の実施例１について説明したように、エッジ画像とともに、そのエッジ画像をハフ変換した結果を白線領域抽出のために用いることにより、白線領域の検出精度の向上を図ることができる。しかも、ハフ変換モジュールの実装が簡単である。
（態様Ｒ）
上記態様Ａ乃至態様Ｐのいずれかにおいて、ＣＰＵ６０などの中央演算処理装置とハフ変換を行うハフ変換モジュール４３０とを備え、中央演算処理装置が、ハフ変換モジュール４３０に対してハフ変換したい座標範囲を指定し、ハフ変換モジュール４３０が、フレームバッファ３０などの画像データ格納手段から後処理対象の画像データを読み出して二値化し、ハフ空間に投票して最大値をサーチし、そのサーチの結果を中央演算処理装置に渡す。これによれば、上記実施形態の実施例２について説明したように、エッジ画像とともに、そのエッジ画像をハフ変換した結果を白線領域抽出のために用いることにより、白線領域の検出精度の向上を図ることができる。しかも、中央演算処理装置でのソフトウェア処理ではなくハードウェアでほとんどの処理を行うことができるので、中央演算処理装置の速度に依存しないでハフ変換を行うことができる。
（態様Ｓ）
上記態様Ａ乃至態様Ｐのいずれかにおいて、前処理部２０などの画像前処理手段で二値化を行った後の画像データをフレームバッファ３０などの画像データ格納手段に格納しておき、ＣＰＵ６０などの中央演算処理装置とハフ変換を行うハフ変換モジュール４３０とを備え、中央演算処理装置が、ハフ変換モジュール４３０に対してハフ変換したい座標範囲を指定し、ハフ変換モジュール４３０が、後処理対象の画像データとして画像データ格納手段から前記二値化を行った後の画像データを読み出し、ハフ空間に投票して最大値をサーチし、そのサーチの結果を中央演算処理装置に渡す。これによれば、上記実施形態の実施例３について説明したように、エッジ画像とともに、そのエッジ画像をハフ変換した結果を白線領域抽出のために用いることにより、白線領域の検出精度の向上を図ることができる。しかも、画像データ格納手段からの読み込みが少なくて済むので、更に高速にハフ変換の処理を行うことができる。
（態様Ｔ）
上記態様Ｑ乃至態様Ｓのいずれかにおいて、前記入力画像に対して白線を検知する認識処理を行う場合、エッジ画像を用いたハフ変換の結果と前記前処理済み画像の画像データとに基づいて白線かどうかを判別する。これによれば、上記実施形態について説明したように、白線を検知精度を高めることができる。
【符号の説明】
【００６６】
１０  画像処理装置
２０  前処理部
３０  フレームバッファ
４０  後処理部
５０  結果出力部
６０  ＣＰＵ
２１０空間フィルタ
２２０  トーンカーブ補正部
２３０  ヒストグラム算出部
２４０  空間フィルタ
２５０  二値化部
４１０  データ転送モジュール
４２０  画像処理ハード部（画像処理モジュール）
４３０  ハフ変換モジュール
４３１  制御部
４３２  ＦＩＦＯ
４３３  ｒ，Θ空間メモリ制御部
４３４  Θカウンタ
４３５  ｓｉｎ，ｃｏｓテーブル
４３６  ｒｈｏ計算機（乗算器）
４３７  投票制御部
４３８  ｒ，Θ空間メモリ
４４０  メモリ読み出し部
４４１  二値化部
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２００１−１８６４５５号公報
【図１】
2013120517.tif 000003
【図２】
2013120517.tif 000004
【図３】
2013120517.tif 000005
【図４】
2013120517.tif 000006
【図５】
2013120517.tif 000007
【図６】
2013120517.tif 000008
【図７】
2013120517.tif 000009
【図８】
2013120517.tif 000010
【図９】
2013120517.tif 000011
【図１０】
2013120517.tif 000012
【図１１】
2013120517.tif 000013