(57)【要約】【課題】インテグラルイメージを生成する際の遅延時間を縮小する。【解決手段】直立型インテグラルイメージ生成回路４１の演算器５２は、輝度値の入力毎に、今回の入力輝度値Ｒ３と列和ラインバッファ５０のうち今回の入力画素の列に対応するレジスタの記憶値Ｒ２とレジスタ５１の記憶値Ｒ１とを加算して積分値を算出する。回転型インテグラルイメージ生成回路４２の演算器６５は、入力輝度値の入力毎に、レジスタ６４の記憶値Ｋ１と積分値ラインバッファ６０のうち入力画素より１画素分最大列側の列に対応するレジスタの記憶値Ｋ２と輝度値ラインバッファ６２のうち入力画素の列に対応するレジスタの記憶値Ｋ４と今回の入力輝度値Ｋ５とを加算した値から、積分値ラインバッファ６１のうち入力画素の列に対応するレジスタの記憶値Ｋ３を引くことで積分値（＝Ｋ１＋Ｋ２−Ｋ３＋Ｋ４＋Ｋ５）を求める。【選択図】図２
2012164201.tif 000002
【特許請求の範囲】
【請求項１】
行列状に配列されて画像を構成する複数の画素のうち他の装置（１２、３１）から入力される画素毎の輝度値に対応する入力画素と基準位置とをそれぞれ頂点とする矩形領域内の前記画素毎の輝度値の積分値を前記入力画素毎の輝度値に基づいて前記入力画素毎に算出する算出手段（５２）と、
前記複数の画素のうち前記入力画素の列において最小行数の画素から前記入力画素よりも１画素分最小行数側の画素までの前記画素毎の輝度値の総和を前記画素の列毎に記憶する複数のレジスタをそれぞれ備える列和ラインバッファ（５０）と、
前記算出手段により前回算出された積分値を記憶する積分値レジスタ（５１）と、を備え、
前記算出手段は、今回の前記入力画素の輝度値（Ｒ３）と、前記列和ラインバッファのうち前記今回の入力画素の列に対応するレジスタの記憶値（Ｒ２）と、前記積分値レジスタの記憶値（Ｒ１）とをそれぞれ加算して前記今回の入力画素に対応する積分値を算出することを特徴とする積分値演算回路。
【請求項２】
前記列和ラインバッファ（５０）のうち前記今回の入力画素の行に対応するレジスタにおいて当該レジスタに前回記憶された記憶値と今回の前記入力画素の輝度値（Ｒ３）とを加算した値を、前記前回記憶された記憶値に代えて記憶させることにより、前記列和ラインバッファ（５０）の記憶値を更新する第１の更新手段（Ｓ２３０）と、
前記入力画素の列数が最大列数（Ｍ）よりも小さい場合には、前記積分値レジスタ（５１）に対して、当該積分値レジスタに前回記憶した記憶値に代えて、前記今回の積分値を記憶させることにより、前記積分値レジスタの記憶値を更新する第２の更新手段（Ｓ２５０）と、
前記入力画素の列数が前記最大列数（Ｍ）と同一である場合には、前記積分値レジスタ（５１）に対して、当該積分値レジスタに前回記憶された記憶値に代えて、零を記憶させることにより、前記積分値レジスタの記憶値を更新する第３の更新手段（Ｓ２５５）と、を備えることを特徴とする請求項１に記載の積分値演算回路。
【請求項３】
行列状に配列されて画像を構成する複数の画素のうち他の装置（１２、３１）から入力される画素毎の輝度値に対応する入力画素を１つの頂点とする所定領域内の前記画素毎の輝度値の積分値を前記他の装置から入力される輝度値に基づき前記入力画素毎に算出する算出手段（６５）を備え、
前記所定領域は、前記画像のうち、前記入力画素で９０°の角度を形成して前記頂点から最小列数側に伸びて行方向および列方向に対して４５°の角度で交差する２つの線分（７０、７１）よりも最小行数側の領域である積分値演算回路であって、
今回の前記入力画素に対して２画素分最小行数側の画素を前記１つの頂点とする前記所定領域内の前記画素毎の輝度値の積分値（Ｋ３）を列毎に記憶する複数のレジスタを備える第１の積分値ラインバッファ（６１）と、
前記今回の入力画素に対して１画素分最小行数側の画素を頂点とする前記所定領域内の前記画素毎の輝度値の積分値（Ｋ２）を列毎に記憶する複数のレジスタを備える第２の積分値ラインバッファ（６０）と、
前記第２の積分値ラインバッファ（６０）に前回記憶された積分値（Ｋ２）を記憶する第１のレジスタ（６３）と、
前記第１のレジスタに前回記憶した積分値（Ｋ１）を記憶する第２のレジスタ（６４）と、
前記今回の入力画素に対して１画素分最小行数側の画素の輝度値（Ｋ４）を列毎に記憶する複数のレジスタをそれぞれ備える輝度値ラインバッファ（６２）と、を備え、
前記算出手段（６５）は、
前記第２のレジスタ（６４）の記憶値（Ｋ１）と、前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素に対して１画素分最大列数側の列に対応するレジスタの記憶値（Ｋ２）と、前記輝度値ラインバッファ（６２）のうち前記今回の入力画素の列に対応するレジスタの記憶値（Ｋ４）と、前記今回の入力画素の輝度値（Ｋ５）とをそれぞれ加算した加算値から、前記第１の積分値ラインバッファ（６１）のうち前記今回の入力画素の列に対応するレジスタの記憶値（Ｋ３）を引くことにより、前記今回の入力画素を１つの頂点とする前記所定領域内の前記画素毎の輝度値の積分値を算出することを特徴とする積分値演算回路。
【請求項４】
前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素の列に対応するレジスタの記憶値を、前記第１の積分値ラインバッファ（６１）のうち前記今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第１の積分値ラインバッファ（６１）の記憶値を更新する第１の更新手段（Ｓ３４０）と、
前記算出手段（６５）により算出された今回の積分値を、前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第２の積分値ラインバッファ（６０）の記憶値を更新する第２の更新手段（Ｓ３４０）と、
前記第１のレジスタ（６３）の記憶値を、前記第２のレジスタ（６４）に対して、その前記第２のレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第２のレジスタ（６４）の記憶値を更新する第３の更新手段（Ｓ３４０）と、
前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素に対して１画素分最大列数側の列に対応するレジスタの記憶値を、前記第１のレジスタ（６３）に対して、その前記第１のレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第１のレジスタ（６３）の記憶値を更新する第４の更新手段（Ｓ３４０）と、
前記輝度値ラインバッファ（６２）のうち前記今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、前記今回の入力画素の輝度値（Ｋ５）を記憶させることにより、前記輝度値ラインバッファ（６２）の記憶値を更新する第５の更新手段（Ｓ３４０）と、を備えることを特徴とする請求項３に記載の積分値演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、積分値を算出する積分値演算回路に関するものである。
【背景技術】
【０００２】
従来、画像検出手法では、ニューラルネットワーク等の学習的手法を利用した手法が知られている。しかし、このニューラルネットワークを用いた画像検出手法は、一般的に計算量が膨大で計算コストが大きいといった問題があった。このため、Ｖｉｏｌａ＆Ｊｏｎｅｓ法（以下、Ｖ＆Ｊ法という）に代表されるＨａａｒ特徴量を用いた画像検出手法が注目されている（特許文献１および特許文献２参照）。
【０００３】
Ｈａａｒ特徴量は、画像のうち第１矩形領域内の画素毎の輝度値の加算値と第２矩形領域内の画素毎の輝度値の加算値との差分として算出される。このため、ＣＰＵが例えばビデオカメラから取得される撮影画像に応じてインテグラルイメージ（積分画像）を予め生成しておくことで、矩形領域の画素毎の輝度値の加算値、ひいてはＨａａｒ特徴量を短期間で計算することができる。
【０００４】
ここで、インテグラルイメージは、画像を構成するある１つの画素毎に求められた積分値を前記ある１つの画素に対応する位置に配列した積分値の集合体である。当該積分値は、画像のうち基準位置と前記ある１つの画素とをそれぞれ頂点する矩形領域内の画素毎の輝度値の加算値である。
【０００５】
このようなＨａａｒ特徴量を用いて画像検出を実施するＶ＆Ｊ法では、ニューラルネットワークに比べ計算量を削減でき、計算コストを大幅に削減できるといった点で優れている。
【０００６】
また、特許文献３には、カメラから取り込んだ画像情報から人の顔画像等を抽出する画像検出手法について記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２８３００１号公報
【特許文献２】特開２０１０−９７２８９号公報
【特許文献３】特開２００４−１８５６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献１、２に記載では、ＣＰＵがカメラから取得される撮影画像に応じて画素毎に積分値を算出してインテグラルイメージを予め生成しておくことで、矩形領域の画素毎の輝度値の加算値、ひいてはＨａａｒ特徴量を短期間で計算することができる。しかし、ＣＰＵが撮影画像を構成する画素毎の輝度値を全てカメラから取り込んでから画像全体を走査して画素毎の積分値の算出を開始する場合には、画素毎の積分値の算出に際して長い遅延時間が生じる。このため、画像検出に長い時間を要することになる。
【０００９】
本発明は上記点に鑑みて、画素毎の積分値を算出する際に生じる遅延時間を短くするようにした積分値演算回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に記載の発明では、行列状に配列されて画像を構成する複数の画素のうち他の装置（１２、３１）から入力される画素毎の輝度値に対応する入力画素と基準位置とをそれぞれ頂点とする矩形領域内の前記画素毎の輝度値の積分値を前記入力画素毎の輝度値に基づいて前記入力画素毎に算出する算出手段（５２）と、
前記複数の画素のうち前記入力画素の列において最小行数の画素から前記入力画素よりも１画素分最小行数側の画素までの前記画素毎の輝度値の総和を前記画素の列毎に記憶する複数のレジスタをそれぞれ備える列和ラインバッファ（５０）と、
前記算出手段により前回算出された積分値を記憶する積分値レジスタ（５１）と、を備え、
前記算出手段は、今回の前記入力画素の輝度値（Ｒ３）と、前記列和ラインバッファのうち前記今回の入力画素の列に対応するレジスタの記憶値（Ｒ２）と、前記積分値レジスタの記憶値（Ｒ１）とをそれぞれ加算して前記今回の入力画素に対応する積分値を算出することを特徴とする。
【００１１】
請求項１に記載の発明によれば、他の装置から画素毎の輝度値が入力される毎に積分値を算出することができるので、画像の構成する画素毎の輝度値を全て他の装置から取り込んでから画素毎の積分値を算出する場合に比べて、輝度値の算出の際に生じる遅延時間が小さくなる。
【００１２】
請求項２に記載の発明では、前記列和ラインバッファ（５０）のうち前記今回の入力画素の行に対応するレジスタにおいて当該レジスタに前回記憶された記憶値と今回の前記入力画素の輝度値（Ｒ３）とを加算した値を、前記前回記憶された記憶値に代えて記憶させることにより、前記列和ラインバッファ（５０）の記憶値を更新する第１の更新手段（Ｓ２３０）と、
前記入力画素の列数が最大列数（Ｍ）よりも小さい場合には、前記積分値レジスタ（５１）に対して、当該積分値レジスタに前回記憶した記憶値に代えて、前記今回の積分値を記憶させることにより、前記積分値レジスタの記憶値を更新する第２の更新手段（Ｓ２５０）と、
前記入力画素の列数が前記最大列数（Ｍ）と同一である場合には、前記積分値レジスタ（５１）に対して、当該積分値レジスタに前回記憶された記憶値に代えて、零を記憶させることにより、前記積分値レジスタの記憶値を更新する第３の更新手段（Ｓ２５５）と、を備えることを特徴とする。
【００１３】
請求項３に記載の発明では、行列状に配列されて画像を構成する複数の画素のうち他の装置（１２、３１）から入力される画素毎の輝度値に対応する入力画素を１つの頂点とする所定領域内の前記画素毎の輝度値の積分値を前記他の装置から入力される輝度値に基づき前記入力画素毎に算出する算出手段（６５）を備え、
前記所定領域は、前記画像のうち、前記入力画素で９０°の角度を形成して前記頂点から最小列数側に伸びて行方向および列方向に対して４５°の角度で交差する２つの線分（７０、７１）よりも最小行数側の領域である積分値演算回路であって、
今回の前記入力画素に対して２画素分最小行数側の画素を前記１つの頂点とする前記所定領域内の前記画素毎の輝度値の積分値（Ｋ３）を列毎に記憶する複数のレジスタを備える第１の積分値ラインバッファ（６１）と、
前記今回の入力画素に対して１画素分最小行数側の画素を頂点とする前記所定領域内の前記画素毎の輝度値の積分値（Ｋ２）を列毎に記憶する複数のレジスタを備える第２の積分値ラインバッファ（６０）と、
前記第２の積分値ラインバッファ（６０）に前回記憶された積分値（Ｋ２）を記憶する第１のレジスタ（６３）と、
前記第１のレジスタに前回記憶した積分値（Ｋ１）を記憶する第２のレジスタ（６４）と、
前記今回の入力画素に対して１画素分最小行数側の画素の輝度値（Ｋ４）を列毎に記憶する複数のレジスタをそれぞれ備える輝度値ラインバッファ（６２）と、を備え、
前記算出手段（６５）は、
前記第２のレジスタ（６４）の記憶値（Ｋ１）と、前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素に対して１画素分最大列数側の列に対応するレジスタの記憶値（Ｋ２）と、前記輝度値ラインバッファ（６２）のうち前記今回の入力画素の列に対応するレジスタの記憶値（Ｋ４）と、前記今回の入力画素の輝度値（Ｋ５）とをそれぞれ加算した加算値から、前記第１の積分値ラインバッファ（６１）のうち前記今回の入力画素の列に対応するレジスタの記憶値（Ｋ３）を引くことにより、前記今回の入力画素を１つの頂点とする前記所定領域内の前記画素毎の輝度値の積分値を算出することを特徴とする。
【００１４】
請求項３に記載の発明によれば、請求項１に記載の発明と同様、他の装置から画素毎の輝度値が入力される毎に積分値を算出することができるので、画像の構成する画素毎の輝度値を全て他の装置から取り込んでから画素毎の積分値を算出する場合に比べて、輝度値の算出の際に生じる遅延時間が小さくなる。
【００１５】
請求項４に記載の発明では、前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素の列に対応するレジスタの記憶値を、前記第１の積分値ラインバッファ（６１）のうち前記今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第１の積分値ラインバッファ（６１）の記憶値を更新する第１の更新手段（Ｓ３４０）と、
前記算出手段（６５）により算出された今回の積分値を、前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第２の積分値ラインバッファ（６０）の記憶値を更新する第２の更新手段（Ｓ３４０）と、
前記第１のレジスタ（６３）の記憶値を、前記第２のレジスタ（６４）に対して、その前記第２のレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第２のレジスタ（６４）の記憶値を更新する第３の更新手段（Ｓ３４０）と、
前記第２の積分値ラインバッファ（６０）のうち前記今回の入力画素に対して１画素分最大列数側の列に対応するレジスタの記憶値を、前記第１のレジスタ（６３）に対して、その前記第１のレジスタに前回記憶した記憶値に代えて、記憶させることにより、前記第１のレジスタ（６３）の記憶値を更新する第４の更新手段（Ｓ３４０）と、
前記輝度値ラインバッファ（６２）のうち前記今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、前記今回の入力画素の輝度値（Ｋ５）を記憶させることにより、前記輝度値ラインバッファ（６２）の記憶値を更新する第５の更新手段（Ｓ３４０）と、を備えることを特徴とする。
【００１６】
なお、この欄および特許請求の範囲で記載した各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の車両用画像検出装置の構成を示すブロック図である。
【図２】図１のインテグラルイメージ生成部の構成の詳細を示す図である。
【図３】図２の直立型インテグラルイメージ生成回路の積分値の演算を説明するための模式図である。
【図４】図２の回転型インテグラルイメージ生成回路の積分値の演算を説明するための模式図である。
【図５】図１の車両用画像検出装置の処理の順序を示すフローチャートである。
【図６】図２の直立型インテグラルイメージ生成回路によるインテグラルイメージの生成処理を示すフローチャートである。
【図７】図２の回転型インテグラルイメージ生成回路によるインテグラルイメージの生成処理を示すフローチャートである。
【図８】図１の検出器による検出処理の概略を示す模式図である。
【図９】図１の検出器の顔の検出処理に用いられる辞書を示す図である。
【図１０】図１の検出器の検出処理において積分値の算出を説明するための図である。
【図１１】図１の検出器の検出処理において積分値の算出を説明するための図である。
【図１２】上記実施形態においてインテグラルイメージ生成処理を実施する際に生じる遅延時間の縮小を説明するための図である。
【図１３】インテグラルイメージ生成処理を実施する際に生じる遅延時間を説明するための図である。
【図１４】本発明の他の実施形態において検出器の検出処理で用いる判定対象を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の積分画像演算回路が適用された車両用画像検出装置の一実施形態について図１に基づいて説明する。図１は本実施形態の車両用画像検出装置１０の構成を示すブロック図である。
【００１９】
車両用画像検出装置１０は、例えばビデオカメラ３０の撮影画像から歩行者の顔等の検出対象を検出するためのもので、図１に示すように、ビデオ入力部（図中Ｖｉｄｅｏ  Ｉｎと記す）１１、前処理部１２、インテグラルイメージ生成部１３、検出器１４、ビデオ出力部（図中Ｖｉｄｅｏ  Ｏｕｔと記す）１５、ＣＰＵ１６、メモリコントローラ１７、ダイレクトメモリアクセスコントローラ（図中ＤＭＡＣと記す）１８、通信インターフェイス部（図中通信Ｉ／Ｆと記す）１９、およびインターコネクト（図中Ｉｎｔｅｒｃｏｎｎｅｃｔと記す）２０から構成されている。
【００２０】
ビデオ入力部１１は、ビデオカメラ３０から送られる画像データが順次入力されるものである。本実施形態の画像データは、画像を構成する複数の画素のそれぞれに対応するもので、画素毎の輝度を示すデータである。画像は、複数の画素が行列状に配置してなるものである。ビデオカメラ３０は、例えば車両前方の景色を順次撮影してこの撮影に応じた画像データを順次出力するものである。前処理部１２は、ビデオ入力部１１を介してビデオカメラ３０から入力される画像データ、或いはインターコネクト２０およびメモリコントローラ１７を介して外部記憶媒体３１から入力される画像データに対して前処理を施すものである。前処理とは、フィルタ処理、画像の拡大縮小、ピラミッド画像の生成などの処理のことである。
【００２１】
外部記憶媒体３１は、ハードディスク、ＤＶＤ-ＲＡＭ、フラッシュメモリ等からなる記憶媒体であって、ビデオカメラ３０により取得された画像データ、前処理後の画像データ、インテグラルイメージ（積分画像）などの各種データを記憶するものである。前処理後の画像データは、前処理部１２により前処理が施された画像データである。
【００２２】
インテグラルイメージ生成部１３は、後述するように、前処理部１２から入力される前処理後の画像データ、或いはインターコネクト２０を介して外部記憶媒体３１から入力される前処理後の画像データに基づいて、インテグラルイメージ（すなわち、積分画像）を生成する。なお、インテグラルイメージ生成部１３の詳細については後述する。
【００２３】
検出器１４は、インテグラルイメージ生成部１３により生成されたインテグラルイメージ（つまり、積分画像）に基づいて、ビデオカメラ３０で撮影された画像が検出対象（例えば人の顔）を含む画像である否かを判定する。検出器１４の判定の詳細については後述する。ビデオ出力部１５は、検出器１４の判定結果等をモニタ３３に出力する。モニタ３３は、検出器１４の判定結果等を車室内に表示する表示ディスプレイである。
【００２４】
ＣＰＵ１６は、前処理部１２、インテグラルイメージ生成部１３、および検出器１４などを制御する。メモリコントローラ１７は、外部記憶媒体３１から画像データを読み出したり、外部記憶媒体３１に画像データに記憶させたりする。ダイレクトメモリアクセスコントローラ１８は、メモリコントローラ１７を制御する。
【００２５】
通信インターフェイス部１９は、車載ＬＡＮ３２を介して他の電子制御装置（図示省略）との間で通信を行うもので、例えば、検出器１４の判定結果等を他の電子制御装置に出力する。インターコネクト２０は、前処理部１２、インテグラルイメージ生成部１３、検出器１４、ビデオ出力部１５、ＣＰＵ１６、メモリコントローラ１７、ダイレクトメモリアクセスコントローラ１８、および通信インターフェイス部１９のうちいずれか２つの装置の間で画像データ、制御信号などを伝送するバスを構成する。
【００２６】
次に、本実施形態のインテグラルイメージ生成部１３の構成の詳細について図２、図３、図４を参照して説明する。図２はインテグラルイメージ生成部１３の構成の詳細を示す図である。図３、図４において画素の横方向の並びを列とし、画素の縦方向の並びを行とする。
【００２７】
インテグラルイメージ生成部１３は、図２に示すように、入力セレクト部４０、直立型インテグラルイメージ生成回路４１、および回転型インテグラルイメージ生成回路４２から構成されている。
【００２８】
入力セレクト部４０は、インターコネクト２０および前処理部１２のうちいずれか一方とインテグラルイメージ生成回路４１、４２との間を接続する。すなわち、入力セレクト部４０は、前処理部１２からから入力される前処理後の画像データ、およびインターコネクト２０を介して外部記憶媒体３１から入力される前処理後の画像データのうちいずれか一方の前処理後の画像データを選択してこの選択された前処理後の画像データを画素毎の輝度値としてインテグラルイメージ生成回路４１、４２に与える。以下、インテグラルイメージ生成回路４１、４２に与えられる画素毎の輝度値を入力輝度値という。
【００２９】
直立型インテグラルイメージ生成回路４１は、図２に示すように、列和ラインバッファ５０、レジスタ５１、および演算器５２から構成されている。
【００３０】
列和ラインバッファ５０は、画像を構成する（Ｍ＋１）×（Ｎ＋１）の画素（図３参照）の列に対応する（Ｍ＋１）個のレジスタから構成される。ｍ列ｎ行の画素が入力画素の場合、列和ラインバッファ５０のうちｍ列に対応するレジスタには、図３に示すように、ｍ列において零行の画素から（ｎ−１）行の画素までの画素毎の入力輝度値の総和Ｒ２を記憶値として記憶する。入力画素とは、後述するように、前処理部１２（或いはインターコネクト２０）から画像データとして入力される輝度値に対応する画素のことである。入力輝度値とは、入力画素の輝度値である。
【００３１】
レジスタ５１は、積分値レジスタを構成するもので、後述するように、入力画素と同一行で入力画素よりも１画素分最小列（零列）側の画素に対応する積分値を記憶値Ｒ１として記憶する。つまり、レジスタ５１は、演算器５２により前回算出された積分値を記憶することになる。
【００３２】
演算器５２は、算出手段を構成するもので、入力画素の行数をラインカウント値Ｌとして記憶するためのラインカウンタを有し、このラインカウント値Ｌ、列和ラインバッファ５０およびレジスタ５１にそれぞれ記憶される値、および入力輝度値に応じて、入力輝度値毎に積分値を求める。当該積分値とは、画像の基準位置（すなわち、図３中零列・零行の画素）と入力画素とをそれぞれ対角線上に位置する頂点とする矩形領域内の画素毎の輝度値を加算した値のことである。図３においてｍ列・ｎ行の画素が入力画素となっている。積分値は、インテグラルイメージ（積分画像）を生成する際に用いられる。当該インテグラルイメージとは、入力画素毎に求められる積分値を入力画素の位置に対応する位置に配列した積分値の集合体である。
【００３３】
回転型インテグラルイメージ生成回路４２は、後述するインテグラルイメージを生成するための回路である。ここで、インテグラルイメージ生成回路４１、４２で生成されるそれぞれのインテグラルイメージを便宜上区別するために、直立型インテグラルイメージ生成回路４１で生成されるインテグラルイメージを直立型インテグラルイメージとし、回転型インテグラルイメージ生成回路４２で生成されるインテグラルイメージを回転型インテグラルイメージとする。
【００３４】
回転型インテグラルイメージは、入力画素毎に求められる積分値を入力画素の位置に対応する位置に配列した積分値の集合体である。当該積分値は、画像のうち入力画素を頂点とする略三角形領域内の画素毎の輝度値を加算した値である。略三角形領域とは、画像のうち２つの線分に対して零行側（行の最小数側：図４中上側）の所定領域のことである。２つの線分は、頂点（すなわち、入力画素）で９０°の角度を形成し、かつ頂点から零行側（図４中上側）に伸びて行方向および列方向に対して４５°の角度で交差する線分のことである。
【００３５】
図４では、ｍ列・ｎ行の画素を入力画素としたときに、符号７０、７１が２つの線分を示している例を示している。なお、図では、複数の画素を便宜上拡大して示しているため、線分７０、７１が階段状の折れ線で示されているものの、実際の画素は非常に小さいものであるので、線分７０、７１をそれぞれ直線とみなしている。
【００３６】
ここで、画像のうちある１つの画素を頂点とした略三角形領域内の画素毎の輝度値の合計値を、以下、ある１つの画素に対応する積分値という。例えば、ｍ列ｎ行の画素を頂点とした略三角形領域内の画素毎の輝度値の合計値を、ｍ列ｎ行の画素に対応する積分値という。
【００３７】
以下、回転型インテグラルイメージ生成回路４２の具体的な構成について説明する。回転型インテグラルイメージ生成回路４２は、図２に示すように、積分値ラインバッファ６０、６１、輝度値ラインバッファ６２、レジスタ６３、６４、および演算器６５から構成されている。
【００３８】
積分値ラインバッファ６０は、画像のうち入力画素に対して一画素分零行側（一画素分最小行側）の画素に対応する積分値を列毎に記憶する（Ｍ＋１）個のレジスタからなる第２の積分値ラインバッファである。
【００３９】
積分値ラインバッファ６１は、画像のうち入力画素に対して２行分零行側の（Ｍ＋１）個の画素のそれぞれに対応する（Ｍ＋１）個のレジスタからなる第１の積分値ラインバッファである。当該（Ｍ＋１）個のレジスタは、それぞれ対応する画素に対応する積分値をそれぞれ記憶する。
【００４０】
輝度値ラインバッファ６２は、画像のうち入力画素に対して１行分零行側（一画素分最小行側）の画素のそれぞれに対応する（Ｍ＋１）個のレジスタから構成される。当該（Ｍ＋１）個のレジスタは、それぞれ対応する画素に対応する入力輝度値をそれぞれ記憶する。
【００４１】
レジスタ６３は、後述するように、積分値ラインバッファ６０のうち入力画素に対して１画素分最大列側の画素に対応するレジスタに前回記憶された記憶値を記憶する第１のレジスタである。レジスタ６４は、レジスタ６３に前回記憶された記憶値を記憶する第２のレジスタである。
【００４２】
演算器６５は、算出手段を構成するもので、後述するように入力画素の行数をラインカウント値Ｌとしてカウントするためのラインカウンタを有し、このラインカウント値Ｌ、積分値ラインバッファ６０、６１のそれぞれ記憶された積分値、輝度値ラインバッファ６２に記憶された入力輝度値、レジスタ６４に記憶された積分値、および入力輝度値に基づいて、入力輝度値毎に積分値を求める。
【００４３】
次に、本実施形態の車両用画像検出装置の作動について図５、図６、図７を参照して説明する。図５は車両用画像検出装置の処理の順序を示すフローチャートである。
【００４４】
まず、ステップＳ１００において、ビデオカメラ３０から画像データがビデオ入力部１１を介して前処理部１２にラスタスキャン順（図３中実線および鎖線の矢印参照）に順次、入力される。本実施形態の画像データは、画像を構成する複数の画素のそれぞれに対応するもので、画素毎の輝度を示すデータである。
【００４５】
次に、ステップＳ１１０において、前処理部１２がビデオ入力部１１を介してビデオカメラ３０から入力される画像データに対して前処理を施すとともに、この前処理された画像データを順次インテグラルイメージ生成部１３に出力する。
【００４６】
次に、ステップＳ１２０において、インテグラルイメージ生成部１３のインテグラルイメージ生成回路４１、４２は、前処理部１２から入力される前処理後の画像データ（すなわち、入力輝度値）に基づいて積分値を入力画素毎に算出し、この算出毎に入力画素毎の積分値をインターコネクト２０およびメモリコントローラ１７を通して外部記憶媒体３１に出力する。このことにより、インテグラルイメージ生成回路４１、４２により算出される画像毎の積分値の集合体としてのインテグラルイメージ（つまり、積分画像）が外部記憶媒体３１にそれぞれ記憶されることになる。なお、インテグラルイメージ生成回路４１、４２の処理の詳細について後述する。
【００４７】
次に、ステップＳ１３０において、検出器１４が外部記憶媒体３１に記憶されるインテグラルイメージに基づいて、Ｈａａｒ特徴量を用いた検出対象（例えば人の顔）の検出処理を実施する。つまり、検出器１４は、外部記憶媒体３１に記憶されるインテグラルイメージに基づいて、ビデオカメラ３０で撮影された画像が検出対象を含む画像である否かを判定する。その後、ステップＳ１４０において、このような画像が検出対象を含む画像である否かの判定結果をビデオ出力部１５を通してモニタ３３に出力する。
【００４８】
例えば、検出器１４がビデオカメラ３０で撮影された画像が検出対象である人の顔を含む画像であると判定した際、ＣＰＵ１６は、外部記憶媒体３１に対して予め前処理後の複数の画像データを記憶しておき、この前処理後の複数の画像データのうち人の顔の部分を他の部分と区別するための画像処理（例えば、顔の部分を枠で囲む画像処理）を実施する。これに伴い、メモリコントローラ１７は、当該画像処理を実施後の画像データをインターコネクト２０、およびビデオ出力部１５を通してモニタ３３に出力する。このことにより、当該画像処理が施されたビデオカメラ３０の撮影画像がモニタ３３に表示されることになる。
【００４９】
次に、本実施形態のインテグラルイメージ生成部１３のインテグラルイメージ生成回路４１、４２の処理について説明する。以下、回転型インテグラルイメージ生成回路４２に先だって、直立型インテグラルイメージ生成回路４１によるインテグラルイメージの生成処理について図６を参照して説明する。図６は、直立型インテグラルイメージ生成回路４１によるインテグラルイメージの生成処理を示すフローチャートである。直立型インテグラルイメージ生成回路４１の演算部５２は、図６のフローチャートにしたがって、インテグラルイメージの生成処理を実行する。
【００５０】
まず、ステップＳ２００において、列和ラインバッファ５０およびレジスタ５１を初期化する。具体的には、列和ラインバッファ５０を構成する複数のレジスタとレジスタ５１とにそれぞれ初期値として零を記憶させる。
【００５１】
次に、ステップＳ２１０において、前処理後の画像データとしての入力輝度値が入力されたか否かを判定する。入力輝度値が入力されたときには、ステップＳ２１０においてＹＥＳと判定する。次のステップＳ２２０で、レジスタ５１の記憶値Ｒ１（図３参照）と、列和ラインバッファ５０のうち入力画素の列に対応するレジスタの記憶値Ｒ２と、前処理後の画像データとして入力される入力輝度値Ｒ３とをそれぞれ加算して加算値を積分値として求める。
【００５２】
例えば、零行・零列の入力画素の入力輝度値が前処理後の画像データとして入力されたときには、当該入力輝度値Ｒ３と、列和ラインバッファ５０の零列に対応するレジスタの記憶値Ｒ２と、レジスタ５１の記憶値Ｒ１とをそれぞれ加算して加算値（＝Ｒ１＋Ｒ２＋Ｒ３）を積分値として求める。
【００５３】
ここで、列和ラインバッファ５０のうち零列に対応するレジスタと、レジスタ５１とにはそれぞれ零が記憶されている。このため、当該入力輝度値Ｒ３と同一値を積分値として算出するとともに、この算出された積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。
【００５４】
次に、ステップＳ２３０において、列和ラインバッファ５０のうち零列に対応するレジスタに対して、そのレジスタに記憶されている初期値に代えて、今回の入力輝度値を記憶させる。なお、ステップＳ２３０は、請求項２の第１の更正手段を構成する。
【００５５】
次に、ステップＳ２４０において、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に一致するか否かを判定する。
【００５６】
例えば、前処理部１２から入力される入力輝度値の個数をカウントしてこのカウントされた画素カウント値ＫがＭに一致するか否かで判定することにより、今回の入力画素の列数ｘがＭに一致するか否かを判定することになる。画素カウント値ＫがＭに一致した場合に画素カウント値Ｋを零にし、ラインカウント値Ｌをカウントアップする。ラインカウント値Ｌは、上述の如く、入力画素の行数を示す値である。ラインカウント値Ｌは、ステップＳ２４０で画素カウント値ＫがＭに一致したと判定する毎に、演算部５２によって、インクリメントされるものである。
【００５７】
また、画素カウント値ＫがＭ以下である場合でもビデオカメラ３０からライン同期信号が入力された場合は画素カウント値Ｋを零にし、ラインカウント値Ｌをカウントアップする。ライン同期信号は、１フレーム分の画素毎の輝度値が伝送されてきた後で、次の１フレーム分の画素毎の輝度値が伝送される前に挿入される信号であって、フレームの終了（或いは開始）を示す信号である。
【００５８】
今回のステップＳ２４０では、上述の如く、零行・零列の入力画素の入力輝度値が入力されているので、カウント値ＫがＭと一致しない。このため、今回の入力画素の列数ｘがＭ（最大列数）に不一致であるとしてステップＳ２４０でＮＯと判定する。
【００５９】
次のステップＳ２５０において、レジスタ５１に対してそのレジスタ５１に記憶されている初期値に代えて今回の算出した積分値を記憶させる。なお、ステップＳ２５０は、請求項２の第２の更正手段を構成する。
【００６０】
次のステップＳ２６０において、１画像分の積分値（つまり、１フレーム分の積分値）の算出が終了したか否かを判定する。例えば、上記ラインカウント値ＬがＮ＋１に一致するか否かを判定することにより、１画像分の積分値の算出が終了したか否かを判定することになる。
【００６１】
今回のステップＳ２６０では、上記ラインカウント値ＬがＮ＋１に不一致であるとしてＮＯと判定して、ステップＳ２１０に戻る。
【００６２】
次に、１列・零行の入力画素の入力輝度値が入力されると、ステップＳ２１０でＹＥＳと判定する。続いて、ステップＳ２２０において、今回の入力輝度値Ｒ３と、列和ラインバッファ５０のうち１列に対応するレジスタの記憶値Ｒ２と、レジスタ５１の記憶値Ｒ１とをそれぞれ加算して加算値を積分値として求める。
【００６３】
ここで、列和ラインバッファ５０のうち１行に対応するレジスタには、記憶値としての零が記憶されている。レジスタ５１には、前回算出された積分値が記憶されている。このため、今回の入力輝度値とレジスタ５１に記憶されている前回の積分値とを加えて今回の積分値（＝Ｒ１＋Ｒ２＋Ｒ３）を算出してこの今回の積分値を前回の積分値に代えてレジスタ５１に記憶させる。これに加えて、今回の積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。
【００６４】
次のステップＳ２３０において、列和ラインバッファ５０のうち１行に対応するレジスタには、今回の入力輝度値を初期値に代えて記憶させる。
【００６５】
次にステップＳ２４０において、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に不一致であるとしてＮＯと判定する。これに伴い、ステップＳ２５０において、今回のステップＳ２２０で算出した積分値を前回のステップＳ２２０で算出した積分値に代えてレジスタ５１に記憶させる。その後、ステップＳ２６０において、１画像分の積分値の算出が終了していないとしてＮＯと判定する。
【００６６】
このように、ｍ（０≦ｍ＜Ｍ）列・零行の画素の入力輝度値が入力される毎に、今回の入力輝度値Ｒ３と、列和ラインバッファ５０のうちｍ列に対応するレジスタの記憶値Ｒ２（＝初期値）と、レジスタ５１の記憶値Ｒ１（＝前回の積分値）とを加算して今回の積分値（＝R１＋Ｒ２＋Ｒ３）を求めるとともに、今回の積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。
【００６７】
これに加えて、ステップＳ２３０において、列和ラインバッファ５０のうち入力画素の列に対応するレジスタにおいてその前回の記憶値（＝初期値）に代えて、
当該前回の記憶値に今回の入力輝度値を加算した値を記憶させる。これに加えて、ステップＳ２５０において、今回のステップ２２０で算出した積分値を前回のステップ２２０で算出した積分値に代えてレジスタ５１に記憶させる。
【００６８】
その後、Ｍ列・零行の画素の入力輝度値が入力されると、ステップＳ２１０でＹＥＳと判定する。次のステップＳ２２０において、今回の入力輝度値Ｒ３と、列和ラインバッファ５０のうちＭ列に対応するレジスタの記憶値Ｒ２（＝初期値）と、レジスタ５１の記憶値Ｒ１とを加算して今回の積分値（＝Ｒ１＋Ｒ２＋Ｒ３）を求めるとともに、今回の積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。
【００６９】
次に、ステップＳ２３０において、列和ラインバッファ５０のうちＭ列に対応するレジスタにおいてその前回の記憶値（＝初期値）に代えて、前記前回の記憶値に今回の入力輝度値を加算した値を記憶させる。
【００７０】
次に、ステップＳ２４０おいて、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に一致するとしてＹＥＳと判定する。これに伴い、ステップＳ２５５において、レジスタ５１に前回記憶した積分値に代えて零をレジスタ５１に記憶させる。なお、ステップＳ２５５は、請求項２の第３の更正手段を構成する。
【００７１】
その後、ステップＳ２６０において、１画像分の積分値の算出が終了していないとしてＮＯと判定する。次に、零列・１行の画素の入力輝度値が入力されると、ステップＳ２１０でＹＥＳと判定する。次のステップＳ２２０において、今回の入力輝度値Ｒ３と列和ラインバッファ５０のうち零列に対応するレジスタの記憶値Ｒ２とレジスタ５１の記憶値Ｒ１とを加算して今回の積分値（＝Ｒ１＋Ｒ２＋Ｒ３）を求める。
【００７２】
ここで、列和ラインバッファ５０のうち零列に対応するレジスタにおいて、このレジスタに前回記憶した記憶値に代えて、当該レジスタに前回記憶した記憶値と今回の入力輝度値とを足した値を記憶させる。このため、つまり、零列・零行の画素の入力輝度値と零列・１行の画素の入力輝度値との総和を列和ラインバッファ５０のうち零列に対応するレジスタに記憶させることになる。
【００７３】
次のステップＳ２４０において、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に不一致であるとしてＮＯと判定する。これに伴い、ステップＳ２５０において、レジスタ５１に前回記憶した積分値に代えて、今回のステップＳ２２０で算出した積分値をレジスタ５１に記憶させる。その後、ステップＳ２６０において、１画像分の積分値の算出が終了していないとしてＮＯと判定する。
【００７４】
その後、画素毎の入力輝度値がラスタスキャン順に順次入力され、入力輝度値が入力される毎に、ステップＳ２１０でＹＥＳと判定する。ｍ列・ｎ行の画素の入力輝度値が入力された場合には、ステップＳ２２０において、今回の入力輝度値と、列和ラインバッファ５０のうちｍ列に対応するレジスタの記憶値とレジスタ５１の記憶値とを加えて積分値を求める。これに伴い、今回の積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。
【００７５】
ここで、列和ラインバッファ５０のうちｍ列に対応するレジスタには、ｍ列において零列の画素から（ｎ−１）行の画素までの画素毎の入力輝度値の総和が前回の記憶値として記憶されている。そこで、ステップＳ２３０において、列和ラインバッファ５０のうちｍ列に対応するレジスタにおいて、このレジスタの前回の記憶値に今回の入力輝度値を足した値を記憶させる。このことにより、列和ラインバッファ５０のうちｍ列に対応するレジスタの記憶値を更新することになる。
【００７６】
ここで、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に不一致である場合には、次のステップＳ２４０においてＮＯと判定する。これに伴い、ステップＳ２５０において、レジスタ５１に前回記憶した積分値に代えて、今回のステップ２２０で算出した積分値をレジスタ５１に記憶させる。
【００７７】
一方、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に一致する場合には、次のステップＳ２４０においてＹＥＳと判定する。これに伴い、ステップＳ２５５において、レジスタ５１に前回記憶した積分値に代えて、零をレジスタ５１に記憶させる。
【００７８】
このように入力画素の列数ｘがＭ（最大列数）に一致するか否かの判定によって、レジスタ５１を更新する際にレジスタ５１に記憶させる記憶値を変える。次いで、ステップＳ２６０において、１画像分の積分値の算出が終了していないとしてＮＯと判定する。
【００７９】
その後、Ｍ列・Ｎ行の画素の入力輝度値が入力された場合には、ステップＳ２１０でＹＥＳと判定する。次のステップＳ２２０において、今回の入力輝度値Ｒ３と、列和ラインバッファ５０のうちＭ列に対応するレジスタの記憶値Ｒ２とレジスタ５１の記憶値Ｒ１とを加えて今回の積分値（＝Ｒ１＋Ｒ２＋Ｒ３）を求める。これに伴い、今回の積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。
【００８０】
ここで、列和ラインバッファ５０のうちＭ列に対応するレジスタには、Ｍ列において零行の画素から（Ｎ−１）行の画素までの画素毎の輝度値の総和が記憶されている。
【００８１】
つまり、列和ラインバッファ５０のうち入力画素に対応するレジスタには、入力画素の行において「最小行の画素」から「入力画素より一列分最小行側の画素」までの画素毎の輝度値の総和が前回の記憶値として記憶されている。
【００８２】
そこで、ステップＳ２３０では、列和ラインバッファ５０のうちＭ列に対応するレジスタにおいて、その前回の記憶値と今回の入力輝度値とを加算した加算値を記憶させる。
【００８３】
次のステップＳ２４０において、今回の入力輝度値に対応する入力画素の列数ｘがＭ（最大列数）に一致するとして、ＹＥＳと判定する。これに伴い、ステップＳ２５５において、レジスタ５１に前回記憶した積分値に代えて零をレジスタ５１に記憶させる。次のステップＳ２６０において、ラインカウント値Ｌが（Ｎ＋１）に一致して１画像分の積分値の算出が終了したとしてＹＥＳと判定する。
【００８４】
また、ラインカウント値Ｌが（Ｎ＋１）に一致しない場合においてもフレーム同期信号が入力された場合には画素カウント値Ｋ、ラインカウント値Ｌおよび他のレジスタを初期化する。
【００８５】
このように入力輝度値の入力毎に積分値を算出してこの算出毎に積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。このとき、メモリコントローラ１７は、ダイレクトメモリアクセスコントローラ１８により制御されて、入力画素毎の積分値を外部記憶媒体３１のうち入力画素の位置に対応するメモリアドレスに配列する。入力画素の位置とは、画像のうち入力画素が占める位置（つまり、ｍ列・ｎ行）のことである。このことにより、外部記憶媒体３１において、入力画素毎の積分値の集合体が直立型インテグラルイメージとして記憶されることになる。
【００８６】
次に、本実施形態の回転型インテグラルイメージ生成回路４２の処理について図７を参照して説明する。図７は回転型インテグラルイメージ生成回路４２による積分値算出処理を示すフローチャートである。回転型インテグラルイメージ生成回路４２の演算部６５は、図７に示すフローチャートにしたがって、積分値算出処理を実行する。
【００８７】
まず、ステップＳ３００において、積分値ラインバッファ６０、６１、輝度値ラインバッファ６２、およびレジスタ６３、６４を初期化する。具体的には、ラインバッファ６０、６１、６２をそれぞれ構成する複数のレジスタおよびレジスタ６３、６４に初期値としての零をそれぞれ記憶させる。
【００８８】
次のステップＳ３１０において、前処理後の画像データとしての入力輝度値が入力されたか否かを判定する。今回の入力輝度値が入力されたときには、ステップＳ３１０においてＹＥＳと判定する。これに伴い、次のステップＳ３１５、Ｓ３２０、Ｓ３２５、Ｓ３２７、Ｓ３３０において、次の数式１によって積分値Ｓを算出する。
【００８９】
Ｓ＝Ｋ１＋Ｋ２−Ｋ３＋Ｋ４＋Ｋ５・・・・・・（数式１）
ここで、入力画素がｍ列ｎ行の画素（図４参照）であるとして、数式１中の符号Ｋ１〜Ｋ５について説明する。
【００９０】
数式１中の符号Ｋ１はレジスタ６４の記憶値を示すもので、前回レジスタ６３に記憶した記憶値である。つまり、レジスタ６４には、（ｍ−１）列・（ｎ−１）行の画素を頂点とする略三角形領域内の画素毎の輝度値の積分値Ｓが記憶されている。
【００９１】
符号Ｋ２は、（ｍ＋１）列・（ｎ−１）行の画素を頂点とする略三角形領域内の輝度値の積分値Ｓである。つまり、符号Ｋ２は、積分値ラインバッファ６０のうちｍ列ｎ行の入力画素より１画素分最大列数Ｍ側の列に対応するレジスタの記憶値である。
【００９２】
符号Ｋ３は、ｍ列・（ｎ−２）行の画素を頂点とする略三角形領域内の画素毎の輝度値の積分値Ｓである。つまり、符号Ｋ３は、積分値ラインバッファ６１のうちｍ列ｎ行の入力画素の列に対応するレジスタの記憶値である。
【００９３】
符号Ｋ４は輝度値ラインバッファ６２のうちｍ列ｎ行の入力画素の列に対応する画素の入力輝度値を示している。符号Ｋ５は、今回の入力輝度値を示している。
【００９４】
ここで、符号Ｋ１に係る略三角形領域と符号Ｋ２に係る略三角形領域との間では、符号Ｋ３に係る略三角形領域が共通の領域となっている。このため、数式１では、積分値Ｓを算出する際に、Ｋ１とＫ２とＫ４とＫ５とを加算すると、符号Ｋ３の積分値Ｓ分だけ余分になる。このため、（Ｋ１＋Ｋ２＋Ｋ４＋Ｋ５）からＫ３を引いて補正することにより積分値Ｓを算出することになる。
【００９５】
以下、積分値Ｓの算出処理の詳細について説明すると、まず、ステップＳ３１５で、今回の入力輝度値に対応する入力画素の列数ｘが零であるか否かを判定する。
【００９６】
例えば、零列・零行の入力画素の入力輝度値が前処理後の画像データとして入力されたときには、入力画素の列数ｘが零であるとしてステップＳ３１５でＹＥＳと判定する。この場合、符号Ｋ１は、（−１）列・（−１）行の入力画素に対応する積分値になる。このため、符号Ｋ１の積分値Ｓと符号Ｋ３の積分値Ｓとは、積分値Ｓの算出に際して必要がない。
【００９７】
そこで、ステップＳ３２０、Ｓ３３０では、数式１において符号Ｋ１、Ｋ３の項を消すために、Ｋ１をＫ３として使用して数式１によって積分値Ｓを算出する。
つまり、ステップＳ３２０、Ｓ３３０では、Ｋ１＝Ｋ３として、数式１によって積分値Ｓを算出する。このため、（Ｋ２＋Ｋ４＋Ｋ５）を積分値Ｓとして算出することができる。
【００９８】
ここで、ラインバッファ６０、６２の各レジスタには、それぞれ初期値としての零が記憶されている。このため、Ｋ２とＫ４をそれぞれ零とする。
【００９９】
このように積分値Ｓを算出すると、この積分値Ｓをインターコネクト２０を介してメモリコントローラ１７に出力する。
【０１００】
次のステップＳ３４０において、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値をそれぞれ更新する。なお、ステップＳ３４０は、請求項４の第１〜第５の更正手段を構成する。
【０１０１】
具体的には、レジスタ６４に前回記憶した記憶値に代えてレジスタ６３の記憶値をレジスタ６４に記憶させる。
【０１０２】
積分値ラインバッファ６０のうち入力画素より１画素分最大列数側の行に対応するレジスタの記憶値（＝Ｋ２）を、レジスタ６３に前回記憶した記憶値に代えて、レジスタ６３に記憶させる。
【０１０３】
積分値ラインバッファ６１のうち入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、積分値ラインバッファ６０のうち入力画素の列に対応するレジスタの記憶値を記憶させる。
【０１０４】
積分値ラインバッファ６０のうち今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、今回の積分値Ｓを記憶させる。
【０１０５】
輝度値ラインバッファ６２のうち今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、今回の入力輝度値を記憶させる。
【０１０６】
次のステップＳ３５０において、１画像分の積分値の算出が終了したか否かを判定する。例えば、ラインカウント値Ｌが（Ｎ＋１）に一致するか否かを判定することにより、１画像分の積分値の算出が終了したか否かを判定することになる。
ラインカウント値Ｌは、上述の如く、入力画素の行数を示す値である。ラインカウント値Ｌは、後述するように、ステップＳ３２５において、入力画素の列数ｘが最大列数Ｍに一致するとしてＹＥＳと判定する毎にインクリメントされる。
【０１０７】
今回のステップＳ３５０では、ラインカウント値Ｌが（Ｎ＋１）に不一致であるとしてＮＯと判定して、ステップＳ３１０に戻る。
【０１０８】
次に、１列・零行の入力画素の入力輝度値が入力されると、ステップＳ３１０でＹＥＳと判定する。次のステップＳ３１５で、今回の入力画素の列数ｘが零ではないとしてＮＯと判定する。次にステップＳ３２５において、今回の入力画素の列数ｘが最大列数Ｍに一致するか否かを判定する。今回の入力画素の列数ｘが最大列数Ｍに不一致であるとしてＮＯと判定する。この場合、次のステップＳ３３０に進んで、上記数式１によって積分値Ｓを算出する。次にステップＳ３４０に進んで、上述の同様に、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値をそれぞれ更新する。その後、ステップＳ３５０において、１画像分の積分値の算出が終了していないとしてＮＯと判定して、ステップＳ３１０に戻る。
【０１０９】
その後、ｍ（０＜ｍ＜Ｍ）列・零行の入力画素の入力輝度値が入力されると、入力輝度値の入力毎に、ステップＳ３１０でＹＥＳと判定し、次のステップＳ３１５でＮＯと判定してステップＳ３２５でＮＯと判定する。その後、ステップＳ３３０において、数式１にＫ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５のそれぞれを代入して積分値Ｓを算出し、この積分値Ｓをインターコネクト２０を介してメモリコントローラ１７に出力する。次に、ステップＳ３４０に進んで、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値をそれぞれ更新する。その後、ステップＳ３５０においてＮＯと判定して、ステップＳ３１０に戻る。
【０１１０】
次に、Ｍ列・零行の入力画素の入力輝度値が入力されると、ステップＳ３１０でＹＥＳと判定し、次のステップＳ３１５において、今回の入力画素の列数ｘが最小列数（零）に一致するか否かを判定する。このとき、今回の入力画素の列数ｘが最小列数零に不一致であるとしてＮＯと判定して、次のステップＳ３２５において、今回の入力画素の列数ｘが最大列数Ｍに一致するとしてＹＥＳと判定する。これに伴い、ラインカウント値Ｌをインクリメントする。
【０１１１】
この場合、符号Ｋ２は、（Ｍ＋１）列・−１行の入力画素に対応する積分値になる。このため、符号Ｋ２の積分値Ｓと符号Ｋ３の積分値Ｓとは、積分値Ｓの算出に際して必要がなくなる。
【０１１２】
そこで、ステップＳ３２７、Ｓ３３０では、上記数式１において符号Ｋ２、Ｋ３の項を消すために、Ｋ２をＫ３として使用して上記数式１によって積分値Ｓを算出する。つまり、ステップＳ３２７、Ｓ３３０では、Ｋ２＝Ｋ３として、上記数式１によって積分値Ｓを算出する。このため、（Ｋ１＋Ｋ４＋Ｋ５）を積分値Ｓとして算出することになる。この積分値Ｓをインターコネクト２０を介してメモリコントローラ１７に出力する。次のステップＳ３４０において、上述と同様に、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値をそれぞれ更新し、次のステップＳ３５０でＮＯと判定する。
【０１１３】
その後、入力画素の入力輝度値が入力される毎に、ステップＳ３１０でＹＥＳと判定する。入力画素の列数ｘが最小列数（零）に一致するとステップＳ３１５でＹＥＳと判定して、次のステップＳ３２０、Ｓ３３０において、Ｋ１＝Ｋ３として数式１によって積分値Ｓを算出する。
【０１１４】
一方、入力画素の列数ｘが最小列数より大きく、かつ最大列数Ｍより小さい場合には（０＜ｘ＜Ｍ）、ステップＳ３１５、Ｓ３２５でＮＯと判定して、数式１にＫ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５のそれぞれを代入して積分値Ｓを算出する。
【０１１５】
入力画素の列数ｘが最大列数Ｍに一致する場合には、ステップＳ３１５でＮＯと判定し、ステップＳ３２５でＹＥＳと判定してラインカウント値Ｌをインクリメントする。次のステップＳ３２７、Ｓ３３０で、Ｋ２＝Ｋ３として数式１によって積分値Ｓを算出する。
【０１１６】
このように積分値Ｓを算出すると、この積分値Ｓをインターコネクト２０を介してメモリコントローラ１７に出力する。次のステップＳ３４０において、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値をそれぞれ更新し、次のステップＳ３５０でＮＯと判定する。
【０１１７】
次に、Ｍ列・Ｎ行の入力画素の入力輝度値が入力されると、ステップＳ３１５でＮＯと判定し、ステップＳ３２５でＹＥＳと判定し、次のステップＳ３２７、Ｓ３３０では、Ｋ２＝Ｋ３として、数式１によって積分値Ｓを算出し、この積分値Ｓをインターコネクト２０を介してメモリコントローラ１７に出力する。次のステップＳ３４０において、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値をそれぞれ更新した後、ステップＳ３５０において、ラインカウント値Ｌが（Ｎ＋１）に一致して１画像分の積分値の算出が終了したとしてＹＥＳと判定して、積分値算出処理の実行を終了する。
【０１１８】
このように入力輝度値の入力毎に積分値を算出してこの算出毎に積分値をインターコネクト２０を介してメモリコントローラ１７に出力する。このとき、メモリコントローラ１７は、ダイレクトメモリアクセスコントローラ１８により制御されて、入力画素毎の積分値Ｓを外部記憶媒体３１のうち入力画素の位置に対応するメモリアドレスに配列する。このことにより、外部記憶媒体３１において、入力画素毎の積分値の集合体が回転型インテグラルイメージ（すなわち、４５°インテグラルイメージ）として記憶されることになる。このように外部記憶媒体３１において、回転型インテグラルイメージが直立型回転型インテグラルイメージとともに記憶されることになる。
【０１１９】
次に、検出器１４における図５のステップ１３０の検出処理について図８〜図１１を参照して説明する。図８は検出器１４による検出処理の概略を示す模式図である。
【０１２０】
検出器１４は、予め記憶した辞書（図９参照）を用いて、ビデオカメラ３０で撮影された画像が検出対象を含む画像である否かを判定する。辞書は、図９に示すように、複数の矩形領域を組み合わせて人の顔を構成した四角形の画像データである。
【０１２１】
図９は、辞書を拡大表示したものである。図９（ａ）〜（ｆ）は、複数の矩形領域のうち検出器１４の検出処理で用いられる判定対象の具体例を示すものである。判定対象は、２つの矩形領域、或いは３つの矩形領域から構成されて、眉毛、目、鼻、頬などの顔の特徴を表している。
【０１２２】
図９（ａ）、（ｃ）、（ｄ）、（ｆ）は２つの直立型の矩形領域Ａ、Ｂを組み合わせたものである。図９（ｂ）は、２つの回転型の矩形領域Ａ、Ｂを組み合わせたものである。図９（ｅ）は３つの直立型の矩形領域Ａ１、Ｂ、Ａ２を組み合わせたものである。
【０１２３】
ここで、直立型の矩形領域とは、矩形領域を構成する４つの辺がそれぞれ画素の列方向（紙面縦方向）に直交、或いは平行になるように構成されているものである。回転型の矩形領域とは、矩形領域を構成する４つの辺がそれぞれ画素の列方向（或いは行方向）に４５°で交差するように構成されているものである。
【０１２４】
具体的には、検出器１４は、直立型インテグラルイメージのうち辞書（つまり、人の顔）に対応する部分を候補画像８０として抽出するとともに、回転型インテグラルイメージのうち辞書に対応する部分を候補画像８１として抽出する。
【０１２５】
次に、図９（ａ）〜（ｅ）のそれぞれ判定対象について判定処理を判定対象毎に実施する。
【０１２６】
（１）  図９（ａ）、（ｃ）、（ｄ）、（ｆ）に示すように、判定対象が直立型の矩形領域Ａ、Ｂから構成されている場合には、候補画像８０（すなわち、回転型インテグラルイメージの一部）のうち矩形領域Ａ、Ｂに対応する領域の積分値をそれぞれ算出する。
【０１２７】
図１０において候補画像８０と矩形領域Ａとの位置関係を示す。候補画像８０において、基準点８１と矩形領域Ａの頂点８２とを対角線上の頂点（すなわち、互いに対角となる頂点）とする矩形領域８０ａは、矩形領域Ｘ１、Ｘ２、Ｘ３および矩形領域Ａから構成されることになる。そこで、候補画像８０のうち矩形領域Ａに対応する領域の積分値をＳａとし、候補画像８０のうち矩形領域８０ａに対応する領域の積分値をＳ４とし、候補画像８０のうち矩形領域Ｘ１、Ｘ２、Ｘ３に対応する領域の積分値をＳ１、Ｓ２、Ｓ３としたとき、積分値Ｓ４から矩形領域Ｘ１、Ｘ２、Ｘ３の積分値Ｓ１、Ｓ２、Ｓ３とをそれぞれ引いて積分値Ｓａ（＝Ｓ４−Ｓ１−Ｓ２−Ｓ３）を求める。同様に、候補画像８０のうち矩形領域Ｂ（図示省略）に対応する領域の積分値Ｓｂを算出する。
【０１２８】
これに加えて、積分値Ｓａと積分値Ｓｂとの差分としてのＨａａｒ特徴量ｄＳ（＝Ｓａ−Ｓｂ）を求め、このＨａａｒ特徴量ｄＳが所定値以上であるか否かを判定対象毎に判定することにより、判定対象毎の重み付けを決定する。
【０１２９】
Ｈａａｒ特徴量ｄＳが所定値以上であるとしてＹＥＳと判定したときには、第１の値を重み付けとして決定し、差分ｄＳが所定値未満であるとしてＮＯと判定したときには、第２の値を重み付けとして決定する。第１の値および第２の値は、判定対象毎に決められている。
【０１３０】
（２）  図９（ｅ）に示すように、判定対象が直立型の矩形領域Ａ１、Ａ２、Ｂから構成されている場合には、候補画像８０のうち矩形領域Ａ１、Ａ２、Ｂのそれぞれに対応した領域の積分値Ｓａ１、Ｓａ２、Ｓｂを算出する。積分値Ｓａ１は、候補画像８０のうち矩形領域Ａ１に対応した領域の積分値である。積分値Ｓａ２は、候補画像８０のうち矩形領域Ａ２に対応した領域の積分値である。積分値Ｓｂは、候補画像８０のうち矩形領域Ｂに対応した領域の積分値である。
【０１３１】
これに加えて、積分値Ｓａ１と積分値Ｓａ２とを加算した加算値ＫＳ（＝Ｓａ１＋Ｓａ２）を求め、この加算値ＫＳと積分値Ｓｂとの差分としてのＨａａｒ特徴量ｄＳ（＝ＫＳ−Ｓｂ）が所定値以上であるか否かを判定することにより、上記（１）と同様、判定対象毎の重み付けを決定する。
【０１３２】
（３）  図９（ｂ）に示すように、判定対象が回転型の矩形領域Ａ、Ｂから構成されている場合には、候補画像８０のうち矩形領域Ａ、Ｂのそれぞれに対応した領域の積分値Ｓａ、Ｓｂを算出する。
【０１３３】
図１１において候補画像８１と矩形領域Ａとの位置関係を示す。候補画像８１において、頂点８３にて９０度の角度を形成して底辺８４が候補画像８１の零行側（図示上側）の縁部からなる直角二等辺三角形領域８０ｂは、直角二等辺三角形領域Ｘ１、Ｘ２、Ｘ３および矩形領域Ａから構成される。
【０１３４】
直角二等辺三角形領域Ｘ１は、頂点８６にて９０度の角度を形成して底辺が候補画像８１の零行側の縁部からなる領域である。直角二等辺三角形領域Ｘ２は、頂点８４にて９０度の角度を形成して底辺が候補画像８１の零行側の縁部からなる領域である。直角二等辺三角形領域Ｘ３は、頂点８５にて９０度の角度を形成して底辺が候補画像８１の零行側の縁部からなる領域である。矩形領域Ａは、頂点８３、８４、８５、８６を有する領域である。
【０１３５】
候補画像８１のうち直角二等辺三角形領域８０ｂに対応する領域の積分値をＳ４とする。候補画像８１のうち矩形領域Ａに対応する領域の積分値をＳａとする。候補画像８１のうち直角二等辺三角形領域Ｘ１に対応する領域の積分値をＳ１とする。候補画像８１のうち直角二等辺三角形領域Ｘ２に対応する領域の積分値をＳ２とする。候補画像８１のうち直角二等辺三角形領域Ｘ３に対応する領域の積分値をＳ３とする。
【０１３６】
そこで、積分値Ｓ４から積分値Ｓ２、Ｓ３をそれぞれ引いた値（＝Ｓ４−Ｓ２−Ｓ３）に対して積分値Ｓ１を加算した加算値（＝Ｓ４−Ｓ２−Ｓ３＋Ｓ１）としての積分値Ｓａを求めることになる。同様に、候補画像８１のうち矩形領域Ｂ（図示省略）に対応する領域の積分値Ｓｂを算出する。積分値Ｓａと積分値Ｓｂとの差分としてのＨａａｒ特徴量ｄＳ（＝Ｓａ−Ｓｂ）を求め、このＨａａｒ特徴量ｄＳが所定値以上であるか否かを判定対象毎に判定することにより、判定対象毎の重み付けを決定する。
【０１３７】
以上のように、判定対象毎に候補画像８０、８１のうちいずれか一方を用いてＨａａｒ特徴量を算出し、このＨａａｒ特徴量と所定値とを比較判定して、この判定結果に応じて重み付けを判定対象毎に決める。図８（ａ）〜（ｆ）は判定対象毎に重み付けを決めた例を示している。図８（ａ）はＹＥＳ判定により重み付けとしての「０．７」を決める。図８（ｂ）はＮＯ判定により重み付けとしての「０．２」を決める。図８（ｃ）はＹＥＳ判定により重み付けとしての「０．６」を決める。図８（ｄ）はＮＯ判定により重み付けとしての「０．９」を決める。図８（ｅ）はＹＥＳ判定により重み付けとしての「０．５」を決める。図８（ｆ）はＮＯ判定により重み付けとしての「０．８」を決める。
【０１３８】
このように判定対象毎に重み付けを決定し、この決定した判定対象毎の重み付けの総和が閾値Ｔｈより大きいか否かを判定することにより、ビデオカメラ３０で撮影された画像が検出対象としての顔画像を含む画像である否かを判定する。
判定対象毎の重み付けの総和が閾値Ｔｈより大きいときには、ビデオカメラ３０で撮影された画像が検出対象としての顔画像を含む画像であると判定し、判定対象毎の重み付けの総和が閾値Ｔｈ以下であるときには、ビデオカメラ３０で撮影された画像が検出対象としての顔画像を含む画像ではないと判定する。
【０１３９】
以上説明した本実施形態によれば、直立型インテグラルイメージ生成回路４１は、画像を構成する画素の列毎に設けられて複数の画素のうち入力画素の列において零行の画素から「入力画素よりも１画素分零行側の画素」までの画素毎の輝度値の総和を記憶値Ｒ２として列毎に記憶する複数のレジスタを有する列和ラインバッファ５０と、演算器５２により前回算出された積分値Ｒ１を記憶するレジスタ５１とを備え、演算器５２は、輝度値の入力毎に、今回の入力輝度値Ｒ３と列和ラインバッファ５０のうち今回の入力画素の列に対応するレジスタの記憶値Ｒ２とレジスタ５１の記憶値Ｒ１とを加算して積分値を算出する。
【０１４０】
ここで、演算器５２は、列和ラインバッファ５０のうち今回の入力画素の列に対応するレジスタにおいて当該レジスタに前回記憶された記憶値と今回の入力画素の輝度値Ｒ３とを加算した値を、当該レジスタに前回記憶された記憶値に代えて記憶させることにより、列和ラインバッファ５０の記憶値を更新する。演算器５２は、入力画素の列数が最大列数（Ｍ）よりも小さい場合には、レジスタ５１に対して、当該レジスタ５１に前回記憶した記憶値に代えて、今回の積分値を記憶させることにより、レジスタ５１の記憶値を更新する。演算器５２は、入力画素の列数が最大列数（Ｍ）と同一である場合には、レジスタ５１に対して、レジスタ５１に前回記憶された記憶値に代えて、零を記憶させることにより、レジスタ５１の記憶値を更新する。
【０１４１】
このように演算器５２が入力輝度値の入力毎に、列和ラインバッファ５０の記憶値とレジスタ５１の記憶値とをそれぞれ更新する。このため、演算器５２は、今回の入力輝度値Ｒ３と列和ラインバッファ５０のうち今回の入力画素の列に対応するレジスタの記憶値Ｒ２とレジスタ５１の記憶値Ｒ１とを用いて、輝度値の入力毎に、積分値を算出することができる。
【０１４２】
一方、回転型インテグラルイメージ生成回路４２は、画素の列毎に設けられて今回の入力画素に対して２画素分零行側の画素を１つの頂点とする略三角形領域内の画素毎の輝度値の積分値Ｋ３を記憶する積分値ラインバッファ６１と、画素の列毎に設けられて今回の入力画素に対して１画素分零行側の画素を頂点とする略三角形領域内の画素毎の輝度値の積分値Ｋ２を列毎に記憶する複数のレジスタを有する積分値ラインバッファ６０と、積分値ラインバッファ６０に前回記憶した積分値を記憶するレジスタ６３と、レジスタ６３に前回記憶した積分値を記憶するレジスタ６４と、画素の列毎に設けられて今回の入力画素に対して１画素分零行側の画素の輝度値Ｋ４を列毎に記憶する複数のレジスタを有する輝度値ラインバッファ６２とを備える。演算器６５は、入力輝度値の入力毎に、レジスタ６４の記憶値Ｋ１と、積分値ラインバッファ６０のうち入力画素より１画素分最大列側の列に対応するレジスタの記憶値Ｋ２と、輝度値ラインバッファ６２のうち入力画素の列に対応するレジスタの記憶値Ｋ４と、今回の入力輝度値Ｋ５とを加算した加算値（Ｋ１＋Ｋ２＋Ｋ４＋Ｋ５）から、積分値ラインバッファ６１のうち入力画素の列に対応するレジスタの記憶値Ｋ３を引くことにより積分値Ｓを求める。
【０１４３】
ここで、演算器６５は、（１）〜（５）ように、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値を更新する。（１）積分値ラインバッファ６０のうち今回の入力画素の列に対応するレジスタの記憶値を、積分値ラインバッファ６１のうち今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、記憶させる。（２）今回算出した積分値Ｓを、積分値ラインバッファ６０のうち今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、記憶させる。（３）レジスタ６３の記憶値を、レジスタ６４に対して、そのレジスタ６４に前回記憶した記憶値に代えて、記憶させる。（４）積分値ラインバッファ６０のうち今回の入力画素に対して１画素分最大列数側の列に対応するレジスタの記憶値を、レジスタ６３に対して、そのレジスタ６３に前回記憶した記憶値に代えて、記憶させる。（５）輝度値ラインバッファ６２のうち今回の入力画素の列に対応するレジスタに対して、そのレジスタに前回記憶した記憶値に代えて、今回の入力画素の輝度値（Ｋ５）を記憶させる。
【０１４４】
このように演算器６５は、入力輝度値の入力毎に、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値を更新する。このため、演算器６５は、入力輝度値の入力毎に、ラインバッファ６０、６１、６２の記憶値およびレジスタ６３、６４の記憶値を用いて積分値Ｓを算出することができる。
【０１４５】
このようにインテグラルイメージ生成回路４１、４２では、前処理部１２から入力輝度値が入力される毎に積分値を求めることができる。
【０１４６】
ここで、従来、ビデオカメラ３０から一画面分（１フレーム分）の画像データを取り込んで、外部記憶媒体３１に記憶し、この記憶された画像データに対して、前処理、インテグラルイメージ生成、および検出処理を時分割で実施していた（図１２参照）。このため、ビデオカメラから画像データを取り込んでからインテグラルイメージ生成を終えるまでに例えば数十ｍｓｅｃの遅延時間（レイテンシ）が生じることになる。ここで、通常のビデオカメラのフレームレートが３０ｆｐｓ（ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）で、１フレーム単位の表示時間が約３３ｍｓであることを考慮すると、数十ｍｓｅｃの遅延時間が非常に長く無視できる時間ではないと思料する。
【０１４７】
これに対して、本実施形態によれば、直立型インテグラルイメージ生成回路４１では、演算部５２が前処理部１２から入力輝度値が入力される毎に積分値を求めることができる。これに加えて、回転型インテグラルイメージ生成回路４２では、演算部６５が前処理部１２から入力輝度値が入力される毎に積分値をそれぞれ求めることができる。このため、前処理、および積分値の算出を並列的に行うことができる。これに伴い、前処理、およびインテグラルイメージ生成を並列的に実施できる（図１３参照）。このため、上述のように、前処理、およびインテグラルイメージ生成を時分割で実施する場合に比べて、遅延時間（レイテンシ）を縮小してスループットを改善することができる。
【０１４８】
本実施形態の回転型インテグラルイメージ生成回路４２の演算部６５は、画像を構成する全ての画素に亘って画素毎に上記数式１を用いて積分値Ｓを算出する。このため、演算部６５は、簡素な処理で積分値Ｓを算出することができる。
【０１４９】
さらに、本実施形態では、演算器５２、６５が１画像分の複数の積分値の算出の終了後ではなく、検出器１４における判定対象毎の重み付けの算出に必要な積分値の算出が終了次第、検出器１４における判定対象毎の重み付けの算出を開始することにより、演算器５２、６５の積分値の算出と検出器１４の検出処理とを並列的に行うことができる。このため、ビデオカメラ３０から画素毎の画像データを取り込んでから検出器１４の検出処理の終了までに生じる遅延時間を短くすることができる。
【０１５０】
（他の実施形態）
上記実施形態では、人の顔を識別するための辞書（図９参照）のうち検出器１４の検出処理で用いる判定対象として図９（ａ）〜（ｆ）の判定対象を示したが、これに限らず、検出器１４の検出処理において判定対象として図１４（ａ）〜（ｅ）の判定対象を用いてもよい。
【０１５１】
図１４（ａ）の判定対象は３つの直立型の矩形領域Ａ、Ｂ、Ａを列方向（縦方向）に並べたものである。図１４（ｂ）の判定対象は直立型の矩形領域Ａの内側に直立型の矩形領域Ｂを配置したものである。図１４（ｃ）の判定対象は回転型の矩形領域Ａの内側に回転型の矩形領域Ｂを配置したものである。図１４（ｄ）、（ｅ）は３つの直立型の矩形領域を列方向に対して４５°で交差する方向に並べたものである。
【０１５２】
上記実施形態では、ビデオカメラ３０の撮影画像が顔を含む画像であると判定したときには、この判定結果を用いて撮影画像を加工してモニタ３３に表示した例をしましたが、これに代えて、次のようにしてもよい。例えば、ビデオカメラ３０により車両前方を撮影してその撮影画像から人の顔画像を識別しされた場合には、当該車両のブレーキなどの制御を実施して安全を図るようにしてもよい。
【０１５３】
上記実施形態では、演算器５２、６５が他の装置としての前処理部１２からの画像データに基づいて積分値を算出する例を示したが、これに代えて、演算器５２、６５が他の装置としての外部記憶媒体３１からの画像データに基づいて積分値を算出するようにしてもよい。この場合、外部記憶媒体３１に画素毎の画像データを予め記憶しておく必要がある。
【０１５４】
上記実施形態では、本発明に係る積分値演算回路を車両用画像検出装置に適用した例を示したが、これに限らず、車両用画像検出装置以外の装置に本発明に係る積分値演算回路を適用してもよい。
【符号の説明】
【０１５５】
１０    車両用画像検出装置
１１    ビデオ入力部
１２    前処理部
１３    インテグラルイメージ生成部
１４    検出器
１５    ビデオ出力部
１６    ＣＰＵ
１７    メモリコントローラ
１８    ダイレクトメモリアクセスコントローラ
１９    通信インターフェイス部
２０    インターコネクト
３０    ビデオカメラ
３３    モニタ
４０    入力セレクト部
４１    直立型インテグラルイメージ生成回路
４２    回転型インテグラルイメージ生成回路
５０    列和ラインバッファ
５１    レジスタ
５２    演算器
６０    積分値ラインバッファ
６１    積分値ラインバッファ
６２    輝度値ラインバッファ
６３    レジスタ
６４    レジスタ
６５    演算器
【図１】
2012164201.tif 000003
【図２】
2012164201.tif 000004
【図３】
2012164201.tif 000005
【図４】
2012164201.tif 000006
【図５】
2012164201.tif 000007
【図６】
2012164201.tif 000008
【図７】
2012164201.tif 000009
【図８】
2012164201.tif 000010
【図９】
2012164201.tif 000011
【図１０】
2012164201.tif 000012
【図１１】
2012164201.tif 000013
【図１２】
2012164201.tif 000014
【図１３】
2012164201.tif 000015
【図１４】
2012164201.tif 000016