"画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段と、前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段とを有することを特徴とする画像処理装置。前記記憶手段は、前記ブロックに含まれる座標i,jの輝度値i,jと、座標i,j-1の垂直積分値i,j-1と、座標i-1,jの水平積分値i-1,jと、座標i-1,j-1の面積積分値i-1,j-1とを格納し、前記制御手段は、前記ブロックに含まれる座標i,j-1の面積積分値i,j-1を面積積分値i-1,j-1垂直積分値i,j-1により算出し、座標i-1,jの面積積分値i-1,jを面積積分値i-1,j-1水平積分値i-1,jにより算出し、座標i,jの面積積分値i,jを、面積積分値i-1,j-1垂直積分値i,j-1水平積分値i-1,j輝度値i,jにより算出することを特徴とする請求項1記載の画像処理装置。前記記憶手段は、前記ブロックがn×nの大きさのとき、n-1×n-1の輝度値と、n-1の垂直積分値と、n-1の水平積分値と、1個の面積積分値とを格納していることを特徴とする請求項1記載の画像処理装置。n次元の画像に対して最大2の2乗の方向に面積積分の積分方向を持つことを特徴とする請求項1乃至3何れか一項記載の画像処理装置。前記記憶手段は、n次元の画像に対して、n次元積分値から0次元積分値輝度値までの値で表現することを特徴とする請求項1乃至4何れか一項記載の画像処理装置。コンピュータによって実行される積分画像作成方法であって、画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、複数の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段から読み出した、1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により、前記ブロックに含まれる全ての座標の面積積分値を算出することを特徴とする積分画像作成方法。コンピュータを、画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、複数の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段と、前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段ととして機能させるためのプログラム。しかしながら、積分画像をRAMランダムアクセスメモリなどの記憶装置に格納する場合は、積分値が非常に大きくなるため、積分画像を格納する為に必要な記憶容量が膨大になるという問題があった。本発明は、上記の点に鑑みなされたもので、積分画像の格納に必要な記憶容量を削減できる画像処理装置、積分画像作成方法及びプログラムを提供することを目的とする。上記した課題を解決するために、請求項1に記載の画像処理装置は、画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段と、前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段とを有することを特徴とする。なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。本発明によれば、積分画像の格納に必要な記憶容量を削減できる画像処理装置、積分画像作成方法及びプログラムを提供可能である。以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態における画像処理装置は、積分画像を作成する機器や装置、回路などであればよい。本実施の形態における画像処理装置は、例えばコンピュータ、複合機やコピー機、デジタルカメラ等の撮像装置、画像処理を行う回路である。本実施の形態における画像処理装置は複数の画素を1つのブロックとして扱い、ブロック単位で積分する積分画像作成方法において、従来と比較して積分画像の格納に必要な記憶容量を削減し、回路規模を削減する。面積積分面積積分積分画像とは各画素ブロックの輝度値の和を累積的に算出して作成されるものである。図1は積分画像の一例の説明図である。図1aは入力画像の一例を示している。図1aの入力画像はVGA縦480ピクセル、横640ピクセルで輝度が8ビットであるとする。座標i,jの輝度値はYi,jとする。座標i,jの面積積分値はAi,jとする。なお、iは640以下の自然数とする。jは480以下の自然数とする。面積積分値Ai,jは以下の式1のように定義される。Ai,j=∫∫Yi,j=ΣΣYi,j...図1cは積分画像の一例を示している。図1cの積分画像の積分方向は左上から右下である。すなわちA1,1はY1,1と等しい。また、A640、480は全ての座標i,jの輝度値Yi,jの合計と等しい。図1bはRAMに格納された入力画像の一例を表している。図1dはRAMに格納された積分画像の一例を表している。例えば図1bのように入力画像を格納したあと、図1dのように計算する為には、図1dの記憶容量のRAMが1つあればよい。言い換えると、入力画像の確保と積分画像の計算とは物理的に同じRAMで兼用できる。輝度値Yの最大値は2558ビットである。したがって、面積積分値Aの最大値は78336000=255×640×480である。面積積分値AをRAMに格納する為には、27ビット=132651000必要である。したがって、面積積分値Aを格納する為に必要なRAMの記憶容量は、1012.5KB=640×480×27ビットとなる。なお、本実施の形態においては、特に断りのない限り、8ビット=1バイト、1024バイト=1KBキロバイトで計算する。図2は積分画像を利用した輝度の総和の計算の一例の説明図である。図2aは積分画像内の任意の長方形に囲まれた輝度値Yの総和Sが任意の長方形の4座標の面積積分値Aから計算できることを表している。なお、図2aでは積分画像内の任意の長方形の4座標をP0、P1、M0及びM1で表している。図2bは積分画像内の任意の長方形の4座標P0、P1、M0及びM1の面積積分値Aが示す輝度値Yの総和を視覚的に表している。図2aに示した積分画像内の任意の長方形に囲まれた輝度値Yの総和Sは以下の式2により計算できる。S=AP0AP1-AM0-AM1...任意の長方形に囲まれた画素の数は4座標P0、P1、M0及びM1の座標から求めることができる。したがって、積分画像内の任意の長方形に囲まれた輝度値Yの総和Sを任意の長方形に囲まれた画素の数で割ることにより、任意の長方形に囲まれた画素の輝度の平均値を求めることができる。本実施の形態における画像処理装置は、積分画像内の任意の長方形に囲まれた輝度値Yの総和Sを、上記のようにRAMへの4回以下のアクセスで求めることができるという特性を失うことなく、積分画像の格納に必要なRAMの記憶容量を以下のように削減するものである。ハードウェア構成図画像処理装置10は例えば図3に示すようなPCパーソナルコンピュータにより実現される。図3はPCの一例のハードウェア構成図である。PCはバス19で相互に接続された入力装置11、出力装置12、記録媒体読取装置13、補助記憶装置14、主記憶装置15、演算処理装置16及びインタフェース装置17を有する構成である。入力装置11はキーボードやマウス等である。入力装置11は各種信号を入力するために用いられる。出力装置12はディスプレイ装置等である。出力装置12は各種ウインドウやデータ等を表示するために用いられる。インタフェース装置17は、モデム、LANカード等である。インタフェース装置17はLANやインターネット等のネットワークに接続するために用いられる。画像処理装置10を実現するプログラムは、例えば記録媒体18の配布やネットワーク等からのダウンロードなどによって提供される。積分画像作成方法を実現するプログラムは画像処理装置10を実現するプログラムの少なくとも一部である。記録媒体18はCD-ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。プログラムを記録した記録媒体18が記録媒体読取装置13にセットされると、プログラムは記録媒体18から記録媒体読取装置13を介して補助記憶装置14にインストールされる。ネットワーク等からダウンロードされたプログラムはインタフェース装置17を介して補助記憶装置14にインストールされる。補助記憶装置14はプログラム、必要なファイル、データ等を格納する。主記憶装置15はプログラムの起動時に補助記憶装置14からプログラムを読み出して格納する。演算処理装置16は主記憶装置15に格納されたプログラムに従って各種機能を実現する。また、画像処理装置10は、例えば図17に示すようなハードウェアにより実現してもよい。図17は画像処理装置の他の例のハードウェア構成図である。図17はカメラ等の撮像装置21から送られる映像データをRAM23に格納し、顔検知回路26に面積積分値を出力する例を表している。なお、図17の例では輝度格納回路22、積分回路24及び積分値計算回路25が画像処理装置10に相当する。撮像装置21はYUV422やYUV420の映像データ色情報は不要を輝度格納回路22に送信する。なお、映像データがRGBの場合はYUV422等に変換された後で送信される。輝度格納回路22はRAM23に輝度値Yを格納する。この際、ブロック内の輝度値Yは全て同じアドレスに格納される。RAM23への輝度値Yの格納が終わると、輝度格納回路22は検知結果が出力されるまで新しい映像データを取り込まない。積分回路24はRAM23に格納された輝度値Yを輝度値Y、水平積分値H、垂直積分値V、面積積分値Aの組み合わせに書き換える。積分値計算回路25は図4cに示す計算式の処理を実行する。積分値計算回路25は顔検知回路26から面積積分値を要求された座標が含まれるブロック内の輝度値Y、水平積分値H、垂直積分値V、面積積分値Aをまとめて読み、要求された座標の面積積分値Aを顔検出回路26に出力する。アーキテクチャ画像処理装置10は、縦2ピクセル及び横2ピクセルの四角形を1つのブロックとして入力画像を320×240のブロックに分ける。画像処理装置10はブロック単位で後述のような積分画像のデータをRAMに格納する。図4は本実施の形態におけるブロック単位の積分画像の一例の説明図である。図4aは本実施の形態におけるブロック単位の積分画像のデータの一例を示す。ブロック単位の積分画像のデータは、面積積分値Ai-1,j-1と、垂直積分値Vi,j-1と、水平積分値Hi-1,jと、輝度値Yi,jとを含む構成である。座標i,jの水平積分値はHi,jとする。座標i,jの垂直積分値はVi,jとする。なお、i及びjは2の倍数である。垂直積分値Vは垂直方向に輝度値Yを累積的に足し合わせたものである。具体的に垂直積分値Vi,jは輝度値Yi,1~Yi,jを累積的に足し合わせたものである。水平積分値Hは水平方向に輝度値Yを累積的に足し合わせたものである。具体的に水平積分値Hi,jは輝度値Y1,j~Yi,jを累積的に足し合わせたものである。図4bはブロック単位でRAMの各アドレスに格納された積分画像のデータの一例である。RAMの各アドレスに格納された各ブロックの積分画像のデータには本来の面積積分値Aが1つしか含まれていない。しかし、図4cに回路で示す計算式により、RAMの1つのアドレスからブロック単位の積分画像のデータを読み出すことで、画像処理装置10は4つの面積積分値Aを読み出すことができる。図4cは以下の式3~5を示している。Ai,j-1=Ai-1,j-1Vi,j-1...Ai-1,j=Ai-1,j-1Hi-1,j...Ai,j=Ai-1,j-1Vi,j-1Hi-1,jYi,j...図5はブロック単位の積分画像のデータから4つの面積積分値を読み出す処理の一例のイメージ図である。図5aはブロック単位の積分画像のデータに1つ含まれる面積積分値Ai-1,j-1が輝度値Yの和を累積的に算出する画素の範囲を斜線で示したものである。また、図5bはブロック単位の積分画像のデータに1つ含まれる垂直積分値Vi,j-1が垂直方向に輝度値Yの和を累積的に算出する画素の範囲を斜線で示したものである。また、図5cはブロック単位の積分画像のデータに1つ含まれる水平積分値Hi-1,jが水平方向に輝度値Yの和を累積的に算出する画素の範囲を斜線で示したものである。式3は図5aの斜線部分に示した輝度値Yの和と、図5bの斜線部分に示した輝度値Yの和とを加算することにより、面積積分値Ai,j-1を求めるものである。式4は図5aの斜線部分に示した輝度値Yの和と、図5cの斜線部分に示した輝度値Yの和とを加算することにより、面積積分値Ai-1,jを求めるものである。また、式5は図5aの斜線部分に示した輝度値Yの和と、図5bの斜線部分に示した輝度値Yの和と、図5cの斜線部分に示した輝度値Yの和と、ブロック単位の積分画像のデータに1つ含まれる輝度値Yi,jとを加算することにより、面積積分値Ai,jを求めるものである。以上のように、画像処理装置10はブロック毎に4つの面積積分値Aを一度に読み出すことができる。画像処理装置10は、どの座標の面積積分値AもRAMへの1回のアクセスで求めることができる。ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は次のように見積もることができる。水平積分値Hの最大値は、163200=255×640である。水平積分値HをRAMに格納する為には、18ビット必要である。垂直積分値Vの最大値は、122400=255×480である。垂直積分値VをRAMに格納する為には、17ビット必要である。よって、1ブロックの積分画像のデータをRAMに格納する為には70ビット輝度値Yが8ビット、水平積分値Hが18ビット、垂直積分値Vが17ビット、面積積分値Aが27ビット必要である。したがって、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は656.25KB=320×240×70ビットとなる。このように、画像処理装置10は、図1dに示した面積積分値Aを格納する為に必要なRAMの記憶容量1012.5KBよりも、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量を削減できている。上記では、縦2ピクセル及び横2ピクセルの四角形を1つのブロックとして説明しているが、1つのブロックに含まれるピクセル数を整数倍で増やすこともできる。画像処理装置10は、縦4ピクセル及び横4ピクセルの四角形を1つのブロックとして入力画像を160×120=19200のブロックに分けることもできる。図6は本実施の形態におけるブロック単位の積分画像の他の例の説明図である。画像処理装置10は、ブロック単位で図6aに示すような積分画像のデータを、RAMに格納する。図6aは本実施の形態におけるブロック単位の積分データとブロック単位でRAMの各アドレスに格納された積分画像のデータの一例である。図6aに示すブロック単位の積分画像のデータは、1つの面積積分値A、3つの水平積分値V、3つの垂直積分値H、9つの輝度値Yを含み、RAMの1つのアドレスに格納される。RAMの各アドレスに格納された各ブロックの積分画像のデータには本来の面積積分値Aが1つしか含まれていない。しかし、図6bに示す計算式により、RAMの1つのアドレスからブロック単位の積分画像のデータを読み出すことで、画像処理装置10は16の面積積分値Aを読み出すことができる。ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は次のように見積もることができる。縦2ピクセル及び横2ピクセルの四角形を1つのブロックとした説明と同様、縦4ピクセル及び横4ピクセルの四角形を1つのブロックとした場合も水平積分値HをRAMに格納する為には、18ビット必要である。垂直積分値VをRAMに格納する為には、17ビット必要である。輝度値YをRAMに格納する為には8ビット必要である。面積積分値AをRAMに格納する為には27ビット必要である。したがって、1つの面積積分値A、3つの水平積分値V、3つの垂直積分値H、9つの輝度値Yを含むブロック単位の積分画像のデータをRAMに格納する為には、面積積分値Aが27ビット、3つの水平積分値Vが18×3ビット、3つの垂直積分値Hが17×3ビット、9つの輝度値Yが8×9ビットの204ビット必要である。また、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は478.125KB=160×120×204ビットとなる。このように、画像処理装置10は、図1dに示した面積積分値Aを格納する為に必要なRAMの記憶容量1012.5KBよりも、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量を削減できている。なお、1つのブロックに含まれるピクセル数を増やせば増やすほど、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は削減できるが、図4cに示すようなブロック単位の積分画像のデータから複数の面積積分値Aを読み出すための計算式を実現する制御回路が大きくなる。また、FABファウンドリによっては巨大なビット幅のRAMが存在しないということもある。この場合はRAMの枚数が増え、遅延が起きてしまう等の問題がある。限界まで全体の回路規模を削減しようとすると、FABによってどこまでブロックサイズを大きくするかは異なるが、一定以上ブロックサイズを大きくしても、RAMの記憶容量の削減への影響が、ほとんどなくなる。そこで、以下の説明では縦4ピクセル及び横4ピクセルの四角形を1つのブロックとして扱う。画像処理装置10は、図7に示すように、入力画像を4分割して入力画像の中央から角4方向に面積積分を行ってもよい。図7は本実施の形態におけるブロック単位の四方向積分画像の一例の説明図である。なお、図7では等分割しているが、厳密に等分割である必要はない。図7では分割して出来た4つの領域をそれぞれ第一領域から第四領域まで名前を付けている。図8は、四方向積分画像のデータから面積積分値を読み出す処理の一例のイメージ図である。四方向積分画像内の任意の長方形は、a1つの領域内、b2つの領域内、c1つの境界に接する場合、d全ての領域を含む、e2つの境界に接する場合、の何れかである。図8では、aからeの場合における、それぞれの長方形内の輝度の総和をSa、Sb、Sc、Sd、Seとする。境界に接していないa、b、dの場合における、それぞれの長方形内の輝度の総和Sa、Sb及びSdは4点の面積積分値Aが分かれば計算可能である。例えばaの場合における長方形内の輝度の総和Saは、その長方形の4座標における面積積分値AをそれぞれM0a、M1a、P0a、P1aとすると、P0aP1a-M0a-M1aにより算出できる。1つの境界に接しているcの場合における、長方形内の輝度の総和Scは2点の面積積分値Aが分かれば計算可能である。例えばcの場合における長方形内の輝度の総和Scは、その長方形の2座標における面積積分値AをそれぞれM0c、P0cとすると、P0c-M0cにより算出できる。2つの境界に接しているeの場合における、長方形内の輝度の総和Seは、1点の面積積分値Aが分かれば求まる。例えばeの場合における長方形内の輝度の総和Seは、その長方形の1座標における面積積分値AをP0eとすると、P0eである。よって、四方向積分画像内の任意の長方形内の輝度の総和Sは上記のようにRAMへの4回以下のアクセスで求めることができるという特性を失わない。図9は第一領域から第四領域のブロック単位の積分画像の一例の説明図である。画像処理装置10は、ブロック単位で図9a-1から図9a-4に示すような第一領域から第四領域の積分画像のデータを、RAMに格納する。図9bは本実施の形態におけるブロック単位の積分データとブロック単位でRAMの各アドレスに格納された積分画像のデータの他の例である。図9a-1から図9a―4に示すように、第一領域から第四領域の各領域によりブロック内のどこの座標の面積積分を行うかは異なるが、1つの面積積分値A、3つの水平積分値V、3つの垂直積分値H、9つの輝度値Yを含む点で同じである。しかし、4分割したため、第一領域から第四領域の各領域の角面積積分値Aが最大となる点で足し合わせる輝度値Yの数が減り、面積積分値Aの最大値をRAMに格納する為に必要となるビットは、2ビット減って25ビットとなる。また、水平積分値HをRAMに格納する為に必要となるビットは、1ビット減って17ビットとなる。垂直積分値VをRAMに格納する為に必要となるビットは、1ビット減って16ビット必要である。よって、1ブロックの積分画像のデータをRAMに格納する為には、面積積分値Aが25ビット、水平積分値Vが17×3ビット、垂直積分値Hが16×3ビット、9つの輝度値Yが8×9ビットの196ビット必要である。また、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は459.375KB=160×120×196ビットとなる。なお、用途によっては、制御を簡単にするため、入力画像を例えば左右に2分割してもよい。入力画像を2分割する場合、積分方向は第一領域及び第二領域が無くなって、第三領域及び第四領域の形となる。1ブロックの積分画像のデータをRAMに格納する為には、面積積分値Aが26ビット、水平積分値Vが17×3ビット、垂直積分値Hが17×3ビット、9つの輝度値Yが8×9ビットの200ビット必要である。画像処理装置10は、顔検知のアルゴリズムに合わせて、面積積分を部分的に行うこともできる。ここでは、入力画像を左右2方向に2分割する例を説明する。顔検知時におけるスキャンは例えば特開2010-28370号公報に記載されているように行うことができる。顔検知時におけるスキャンは簡単に説明すると以下の通りである。図10は顔検知時におけるスキャンの仕方を表した一例の説明図である。図10aは大きさの異なる走査窓の一例を表している。走査窓は顔の大きさに応じて用意する。図10bは各走査窓でスキャンを行う様子を表している。図10bに示すように、全ての走査窓は入力画像上を全てスキャンできるように左上から右下まで動かされる。そして、顔検知のアルゴリズムでは、走査窓内の輝度値Yを部分的に読み、予め用意されたフィルタとマッチングを行うことにより、顔か非顔かを判定する。なお、顔検知のアルゴリズムでは、一画面中の全ての面積積分値を一度に求める必要はない。顔検知のアルゴリズムでは、図11に示すフローチャートのように、部分的に面積積分値を更新していくことが可能である。図11は顔検知のアルゴリズムの一例のフローチャートである。画像処理装置10はステップS1において、輝度値Yをブロック毎にRAMに格納する。画像処理装置10はステップS2において、一番大きな走査窓と同じライン数である120ラインブロックのライン数の整数倍だけ面積積分を行う。ステップS3において、画像処理装置10は全ての走査窓で120ラインのスキャンを行う。ステップS4において、画像処理装置10は次のブロックのライン数である4ラインの面積積分を行う。ステップS5において、画像処理装置10は4ラインの最後まで全ての走査窓でスキャンを行う。ステップS6において、画像処理装置10は入力画像全体のスキャンが終了したか否かを判定する。画像処理装置10は入力画像全体のスキャンが終了していなければステップS4に戻り、ステップS4~S6の処理を繰り返す。画像処理装置10は入力画像全体のスキャンが終了していれば、図11のフローチャートの処理を終了する。図11のフローチャートでは、走査窓の大きさが120×120ピクセルのとき、走査窓の1回の移動幅が4ライン以上という条件は付くが、一般には走査窓の大きさの1割程度の移動幅となるため問題がない。図12は顔検知時のRAMの動きを表した一例の説明図である。図12に示すように画像処理装置10は2枚のRAMを用いて輝度値Yの格納、120ラインの面積積分、4ラインの面積積分の更新を行う。図12aは2枚のRAMを用いて輝度値Yの格納を行う様子を表している。1つ目のRAMRAM-Aはブロック縦4ピクセル及び横4ピクセル単位で8ビットの輝度値Yを格納する。RAM-Aは160×120=19200のブロックの輝度値Yを格納する。また、図12bは2枚のRAMを用いて120ラインの面積積分を行う様子を表している。入力画像を2分割した場合、上記したように1ブロックの積分画像のデータをRAMに格納する為には、200ビット必要である。そこで、画像処理装置10は1つ目のRAMRAM-Aと2つ目のRAMRAM-Bとを共通化した160×30×200ビットにブロック単位で面積積分値Aを格納する。なお、RAM-Aには160×90=14400のブロックの輝度値Yが格納されたままとなる。また、図12cは2枚のRAMを用いて4ラインの面積積分の更新を行う様子を表している。画像処理装置10は次のブロックの4ラインの面積積分を行う。更新を行う4ライン分の面積積分値Aはブロックの輝度値Yが格納されたままのRAM-Aの記憶領域に上書きされると共に、RAM-Bのアドレス0からアドレス3に121ラインから124ラインの面積積分値Aに上書きされる。図10において4方向に4分割しない理由は、垂直積分方向が第一及び第二領域と第三及び第四領域とで異なると、入力画像の中央から上に向かって始め、再度、入力画像の中央から重複してやり直さなければならないからである。RAMの容量は、342.1875KB=160×120×128ビット160×30×72ビットとなり、従来の積分画像作成方法で必要であった1012.5KBと比較して、約3分の1の記憶容量で積分画像を作成できる。ここでは補足の説明を行う。最初に面積積分するライン数は初期ライン数と呼ぶ。更新して面積積分するライン数は更新ライン数と呼ぶ。更新ライン数は、初期ライン数が十分に大きければ必要なRAMの記憶容量は増える大きくしても構わない。例えば初期ライン数が224ライン、更新ライン数が64ラインのとき、走査窓の大きさが160×160ピクセルまでなら、移動幅がいくらでも対応できる。図11に示すフローチャートのように、部分的に面積積分値を更新していく場合は一括して面積積分する場合に比べて更新回数が多いほど僅かに遅延するため、少ない更新で済む方がよい。図13は初期ライン数224ライン、更新ライン数64ラインのときの四方向積分画像の一例の説明図である。図13では、第一領域及び第二領域を上側224ラインとし、第三領域及び第四領域を下側256ラインとすることで、積分方向を4方向に分割している。第一領域及び第二領域のライン数をkとすると、面積積分値を格納する為のビット数がどの領域でも増えないようにする為には、k≦2^8かつ480-k≦2^8であればよいことが分かる。なお、x^yはxのy乗を表している。つまり224≦k≦256で初期ライン数がk以上であれば、積分方向は4方向に分割してもよい。図14は走査窓で224ラインのスキャンを行う処理の一例の説明図である。例えば図14aは224ラインの面積積分を行い、160×160ピクセルの大きさの走査窓で左上から右下にスキャンを行う様子を表している。図14bは走査窓の大きさが160×160ピクセルのため、以後、上の64ラインが走査窓に含まれることが無い不要領域であることを表している。図14cは不要領域の64ラインを破棄して、次の64ラインの面積積分を行い更新領域とすることを表している。図14dは不要領域が破棄され、更新領域が追加された新しい224ラインにおいて、160×160ピクセルの大きさの走査窓で左上から右下にスキャンを行う様子を表している。なお、スキャンは更新領域である下位64ラインを一部に含む位置と大きさの走査窓で行われる。顔検知のアルゴリズムによって検知した顔を顔認証用に登録する場合など、顔検知後に座標内の顔を輝度として取り出したいことがある。本実施の形態では全ての座標の面積積分値から上記のように全座標の輝度値を求めることができる。これは、本実施の形態が非可逆圧縮を利用することなくRAMの記憶容量の削減を行っていることによる。既存の非可逆圧縮技術を本実施の形態に適用することは応用として可能である。医療用の画像診断では、例えば立体人体を輪切りにして細かくスキャンすることがある。この場合、特徴量は垂直方向にも出るため、体積積分を行う。モーション認識においては連続する画像を時間軸方向に積分することもある。この場合は時間積分を行う。図15は三次元積分画像の一例の説明図である。三次元積分の場合、直方体内の輝度の総和Iは図15bに示すように8点の三次元積分値P0~P3、M0~M3から以下の式6を利用して求められる。なお、図15aは積分方向を表している。I=P0P1P2P3-M0-M1-M2-M3...6三次元積分画像は例えば図16に示すブロック単位に分けることができる。図16は本実施の形態におけるブロック単位の三次元積分画像の一例の説明図である。ブロック単位の三次元積分画像のデータは、図16bに示すように、三次元積分値と、3つの二次元積分値と、3つの一次元積分値と、輝度値yとを含む構成である。なお、体積積分したものを更に時間積分した場合は、図16aに示すように四次元積分となる。ここでは、r及びnを整数とし、rを0以上n以下として説明する。0次元積分値は輝度値yとする。本実施の形態では、n次元積分画像の2^nピクセルを1ブロックにして扱い、輝度値yを格納してから軸ごとに積分して、最終的にnCr個のr次元積分値で表現することで、必要なRAMの記憶容量を削減している。1ブロックのピクセル数は増やしても構わない。本実施の形態の画像処理装置10は顔検知回路、顔認識回路に利用できる。また、本実施の形態の画像処理装置10は指紋認証などの画像のパターンマッチングを行う回路、又は、三次元医療画像診断、モーション認証などの画像から特徴を抽出する回路への応用も可能である。本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば本発明は輝度値に限るものではなく、RGB値や輝度値の二乗なども含む。なお、特許請求の範囲に記載した記憶手段は補助記憶装置14又は主記憶装置15に相当する。制御手段は図4cに示した計算式の処理を行う例えば演算処理装置16に相当する。"