"入力データの局所領域の特徴量を算出して所定のパターンを識別するパターン識別装置であって、データ入力手段と、前記入力データから累積情報を生成する生成手段と、前記累積情報を次元毎に保持する複数の記憶手段と、前記累積情報を前記複数の記憶手段に所定の規則に従って書き込む手段と、前記複数の記憶手段から前記累積情報を並列に読み出す並列読み出し手段と、前記読み出された累積情報を用いて局所領域の特徴量を算出する特徴量算出手段と、複数の特徴量を用いて所定のパターンを識別する識別手段とを備え、次元毎に割り当てられた記憶手段の数と累積情報の読み出しとの関係が互いに素の関係であることを特徴とするパターン識別装置。前記局所領域の特徴量を算出するパラメータは、前記並列読み出し手段にて前記累積情報を並列に読み出せるように学習されたパラメータであることを特徴とする請求項1に記載のパターン識別装置。前記書き込み手段は、前記累積情報の位置に応じて前記複数の記憶手段への割り当て方法を変化させることを特徴とする請求項1に記載のパターン識別装置。前記入力データは2次元のデータであり、累積情報は2次元配列から作られたものであって、前記書き込み手段はP1×P2個の前記記憶手段に前記累積情報を割り当てることを特徴する請求項1乃至3の何れか1項に記載のパターン識別装置。前記P1を素数、前記P2を1とすることを特徴する請求項4に記載のパターン識別装置。前記P2に対応する次元の位置に応じて、前記P1に対応する次元の位相を変化させることで前記累積情報の前記複数の記憶手段への割り当てを変化させることを特徴する請求項5に記載のパターン識別装置。前記入力データは1次元のデータであり、前記累積情報は1次元配列から作られたものであって、前記書き込み手段はP1個の前記記憶手段に前記累積情報を割り当てることを特徴する請求項1に記載のパターン識別装置。前記入力データは3次元のデータであり、前記累積情報は3次元配列から作られたものであって、前記書き込み手段はP1×P2×P3個の前記記憶手段に前記累積情報を割り当てることを特徴する請求項1に記載のパターン識別装置。入力データの局所領域の特徴量を算出して所定のパターンを識別するパターン識別方法であって、前記入力データから累積情報を生成する生成工程と、前記累積情報を次元毎に複数の記憶手段に保持する記憶工程と、前記累積情報を前記複数の記憶手段に所定の規則に従って書き込む工程と、前記複数の記憶手段から前記累積情報を並列に読み出す並列読み出し工程と、前記読み出された累積情報を用いて局所領域の特徴量を算出する特徴量算出工程と、複数の特徴量を用いて所定のパターンを識別する識別工程とを備え、次元毎に割り当てられた記憶手段の数と累積情報の読み出しとの関係が互いに素の関係であることを特徴とするパターン識別方法。請求項9に記載のパターン識別方法の各工程をコンピュータに実行させるためのプログラム。非特許文献3には、認識精度向上のため特徴量算出で参照する領域を図13のような形状で読み出すことが提案されている。図13に示す参照領域は、幅及び高さが同じブロック1550~1558をタイル状に並べたものであり、各ブロック内の画素の総和から特徴量が算出される。これは積分画像を使って各ブロックの頂点1501~1516の16点を読み出して総和を算出すればよい。しかし、従来のような局所領域の4頂点の読み出しに比べ4倍ものメモリ読み出しが必要となる。また、高速化のために局所領域の形状に制約を設けると認識精度に影響を与える場合がある。認識精度向上のためにはできるだけ制約を少なくすることも必要である。本発明は前述の問題点に鑑み、積分画像のメモリアクセスのボトルネックを解消し、少ない制約で高速化できるようにすることを目的としている。本発明のパターン識別装置は、入力データの局所領域の特徴量を算出して所定のパターンを識別するパターン識別装置であって、データ入力手段と、前記入力データから累積情報を生成する生成手段と、前記累積情報を次元毎に保持する複数の記憶手段と、前記累積情報を前記複数の記憶手段に所定の規則に従って書き込む手段と、前記複数の記憶手段から前記累積情報を並列に読み出す並列読み出し手段と、前記読み出された累積情報を用いて局所領域の特徴量を算出する特徴量算出手段と、複数の特徴量を用いて所定のパターンを識別する識別手段とを備え、次元毎に割り当てられた記憶手段の数と累積情報の読み出しとの関係が互いに素の関係であることを特徴とする。本発明によれば、次元毎に割り当てられた記憶手段の数と累積情報の読み出しの関係を互いに素の関係することで積分画像のメモリアクセスのボトルネックを解消し、少ない制約で高速化できる。第1の実施形態以下、本発明を実施するための第1の実施形態について、図面を用いて説明する。なお、本実施形態においては、SummedareatableあるいはIntegralImageのような、2次元配列の情報を累積画像情報または積分画像と呼ぶ。また、二次元配列の画像情報RGB画像やGrayscale画像のような画像情報だけでなく一次微分フィルタをかけた画像など、加工された画像情報も含むを入力画像情報と呼ぶ。本実施形態ではパターン識別装置の構成、累積画像情報のメモリへの割り当て方法及び並列読み出しについて説明し、さらに学習について説明する。図1は、本実施形態のパターン識別装置の構成例を示すブロック図である。図1において、101はCPUであって、バス105を介して接続される各部を制御する。102は入力画像情報を入力するデータ入力部であって、処理対象となる入力画像情報を装置内に取り込む。データ入力部102は、例えばCCDなどの画像センサによって構成されてもよいし、ネットワーク等所定の通信経路を持って外部装置から処理したいデータを受信するI/F装置であってもよい。104はバス105に接続される外部メモリであって、ROMやRAMあるいはHDD等のストレージ装置で構成されている。外部メモリ104は、CPU101が動作するためのプログラムコードを記憶したり、各種処理を行う上での作業領域として用いられたりする。また、必要に応じて入力画像情報やパターン識別に使用する各種情報を保持するための領域としても用いられる。103はDMAコントローラ以下、DMACであって、CPU101が設定して動作指令することにより、データ入力部102、外部メモリ104、パターン識別部107に所定サイズのデータ転送を、自立的に連続に行うことが可能である。DMAC103は指令された転送動作が完了すると、バス105を介して割り込み信号をCPU101に通知する。107はパターン識別部であって、DMAC103からバス105を介して送られてくる入力画像情報をパターン識別処理する。パターン識別処理では、入力画像情報に所定の検出パターン例えば顔や人体の立像などが検出されるか否かを判定し、検出位置、検出形状、尤度などの検出情報を出力する。検出情報はバス105を介して外部メモリ104に書き込まれる。パターン識別部107は、バスインタフェースバスI/F111、累積画像情報生成部112、割り当て書き込み処理部113、メモリアクセス制御部114、及びメモリM00~MP2-1P1-1を有する。さらに、識別処理制御部119、辞書記憶部120、特徴量算出部121、判定処理部122、及び処理ウィンドウ管理部123を有する。本実施形態のメモリM00~MP2-1P1-1にはシングルポート型のメモリが使用され、図14のメモリ群1601に示すように二次元状に割り合てられたP1×P2個のメモリとして使用される。P1は横方向に割り当てられたメモリの数でP2は縦方向に割り当てられたメモリの数を表す。また、P1、P2はそれぞれ1または素数である。本実施形態の説明上ではP1=5、P2=5とする。図14の1602は、アドレス、データ等の一般的なシングルポート型のメモリインタフェースである。メモリインタフェースはP1×P2個それぞれのメモリに備えられている。メモリの入出力制御はメモリアクセス制御部114にてこれらメモリインタフェースを介して制御される。次に、図1のパターン識別装置の詳細と全体の処理の流れを、図2のフローチャートを使って説明する。本実施形態のパターン識別装置は、ユーザの操作や不図示の外部装置からの処理開始トリガによって、まずデータ入力処理ステップS201を実行する。ステップS201では最初にCPU101の指示によってデータ入力部102より入力画像情報を受信し、バス105を介して外部メモリ104に蓄積する。そして外部メモリ104に蓄積された入力画像情報をDMAC103によってパターン識別部107に転送する。パターン識別部107は、バス105を介して転送されてくる入力画像情報をバスインタフェース111で受け、累積画像情報生成部112に転送する。本実施形態では、入力画像情報は画像左上の画素から画素単位でラスタ順に入力されるものとする。次に、ステップS202では、累積画像情報生成処理を行う。累積画像情報生成部112は、ラスタ順で送られる入力画像情報を累積処理し、累積画像情報を生成する。累積画像情報は入力画像情報の画像左上の画素を原点として画素値を累積し、累積結果を順次、割り当て書き込み処理部113に転送する。累積処理の詳細については従来技術の通りであり、説明は省略する。次に、ステップS203では累積画像情報の割り当て書き込み処理を行う。割り当て書き込み処理部113は、まずメモリに対して書き込みを行ってよいか処理ウィンドウ管理部123に問い合わせる。処理ウィンドウ管理部123は割り当て書き込み処理部113からのメモリの書き込みと識別処理制御部119からの読み出しの排他制御を管理している。ここで処理ウィンドウとは、パターン識別処理が処理を行う単位である。図9は処理ウィンドウを説明する図である。900は入力画像情報であり、901は1つの処理ウィンドウである。処理ウィンドウ901の画像領域がパターン識別処理を行う1単位である。そして、処理ウィンドウ901に対してパターン識別処理を行い、この処理ウィンドウ901に所定の検出パターンが存在するかどうかを判定する。処理ウィンドウは入力画像情報900の左上の処理ウィンドウ901から順に右方向に移動し、それぞれの位置でパターン識別処理をする。右端に達したら左端にもどって下方向に移動する。以上の移動を繰り返し右下位置まで順に移動させる。割り当て書き込み処理部113は、処理ウィンドウ管理部123から所定個数の書き込み許可を受ける。そして、割り当て書き込み処理部113は累積画像情報の画素単位で書き込み先のメモリM00~MP2-1P1-1とアドレスを決定し、メモリアクセス制御部114に書き込みを指示する。メモリとアドレスの決定方法の詳細は累積情報のメモリへの割り当て方法として後述する。そして、メモリアクセス制御部114は、指示されたメモリとアドレスに従ってメモリM00~MP2-1P1-1に累積画像情報を格納する。割り当て書き込み処理部113は、所定個数の書き込みが終了すると処理ウィンドウ管理部123に書き込み終了を通知する。次に、ステップS204でパターン識別処理を行う。パターン識別処理は従来技術で説明したような複数の弱判別器で判定を行う。弱判別器を使った処理方法はいくつかあるが、ここではある処理ウィンドウにおいて局所領域の総和を算出し、その算出結果を用いて弱判別器で判定する処理を複数回繰り返す。以下、パターン識別処理の詳細を図3のフローチャートにて示す。パターン識別処理では、まずステップS301で処理ウィンドウを要求する。識別処理制御部119は、処理ウィンドウ管理部123に対して処理対象となる処理ウィンドウを要求する。処理ウィンドウ分のデータがメモリM00~MP2-1P1-1に準備できたら次のステップS302に移る。次に、ステップS302では辞書データの読み込み処理を行う。識別処理制御部119は辞書記憶部120に格納されている辞書データをもとに識別処理を開始する。辞書データは予め学習によって得られたパラメータ群である。辞書データには累積画像情報から特徴量を算出する局所領域の位置や形状、判定処理の係数や閾値などのパラメータが格納されている。次に、ステップS303では特徴量パラメータの送信処理を行う。識別処理制御部119は、辞書データのパラメータから図13に示す参照領域の16点分のメモリ番号とアドレスを算出し、メモリアクセス制御部114に累積画像情報の読み出しを指示する。また、特徴量算出部121、判定処理部122で使用するパラメータ係数、閾値なども辞書データから取り出して特徴量算出部121、判定処理部122に設定する。次に、ステップS304では累積画像情報の読み出し処理を行う。メモリアクセス制御部114は指示されたメモリ番号とアドレスに対応するメモリからデータを読み出して、特徴量算出部121に送る。メモリアクセス制御部114は読み出しにおいてメモリ番号が排他関係にあれば並列読み出しを行う機能を備える。なお、並列読み出しの詳細は後述する。次に、ステップS305では特徴量を算出する処理を行う。特徴量算出部121は読み出した16点の値から各ブロックの総和値を算出し、ステップS303で設定されたパラメータを使用して特徴量を算出する。そして、特徴量の算出結果は判定処理部122に送られる。次に、ステップS306では結果判定の処理を行う。判定処理部122は特徴量の算出結果とステップS303で設定されたパラメータとを使用して判定を行う。設定されるパラメータは例えば閾値であって特徴量の算出結果がその閾値よりも高ければTrue、閾値よりも低ければFalseという判定がなされる。True判定の場合、判定結果は識別処理制御部119に送られ、ステップS307に移る。一方、False判定の場合、所定の検出パターンではないという判定が確定以下、False確定し、ステップS308に移る。次に、ステップS307では全局所領域の識別が終了したか否かをチェックする。識別処理制御部119は次に処理する局所領域が残っていればステップS302に戻る。そしてステップS302からステップS306の処理を全局所領域数分繰り返す。全局所領域にてTrue判定が得られたら、所定の検出パターンであることが確定以下、True確定し、ステップS308に移る。次に、ステップS308では処理ウィンドウの終了通知を行う。識別処理制御部119は処理ウィンドウ管理部123に対して処理が終了したことを通知する。通知を受けた処理ウィンドウ管理部123は次の処理ウィンドウを準備する処理を開始する。True確定となった処理ウィンドウの情報は識別処理制御部119によってバスインタフェース111を介して外部メモリ104に書き出される。一方、False確定となった処理ウィンドウの情報は書き出さない。次に、ステップS309では全処理ウィンドウの識別終了が完了したかどうか確認する。全処理ウィンドウの処理が終了していない場合はFalseに移り次の処理ウィンドウの処理を行う。一方、全処理ウィンドウの処理が終了した場合はTrueに移る。以上のパターン識別処理が入力画像情報の全処理ウィンドウに渡って処理が繰り返され、終了した後、図2のステップS205に移る。次に、ステップS205では後処理を行う。識別処理制御部119は全処理ウィンドウのパターン識別処理が終了したことをCPU101に対して通知する。以上がパターン識別処理の全体の処理の流れである。次に、累積画像情報のメモリへの割り当て方法と並列読み出し、そして学習について説明する。まず、累積画像情報を本実施形態における所定の規則に従ってメモリへ割り当てる方法について説明する。ここで、本実施形態における所定の規則とは隣接する画素を異なるメモリに割り当てる方法である。図4は、累積画像情報400を示す図である。ここでは累積画像情報400の左上を原点とし、水平方向をx、垂直方向をyとして各画素の座標をx,yで表す。なお、原点座標は0,0とする。また、累積画像情報400の1つの箱が1画素を示す。図4の410から413は各メモリの配列を2次元的に表現したもので、それらの右隣に、物理的な格納イメージを示す。各メモリと2次元表現の画素データ中とに記載された数値は対応する累積画像情報400の座標を示している。次に、本実施形態における上記所定の規則について一般化したものを説明する。累積画像情報400の座標x,yの画素値をCx,yで表す。メモリは図14に示す構成でメモリM00~MP2-1P1-1が割り当てられる。P1はx方向のメモリ数でP2はy方向のメモリ数である。そして、P1,P2は1または素数である。また、各メモリはMp2p1で表す。p1、p2は0を起点とするメモリ番号でp1は水平方向のメモリ番号値、p2は垂直方向のメモリ番号値を示す。そして、Cx,yの格納先は以下の式3のように表す。Mp2p1[address]=Cx,y3また、座標x,yの画素値を格納するメモリ番号p1、p2は以下の式4及び式5で表される。p1=xP14p2=yP25ここで、は剰余moduloarithmeticを表す。そして、メモリMp2p1上の座標x,yは、以下の式6及び式7で表される。x=x/P16y=y/P27なお、x,yは小数点以下切り捨てまた、メモリMp2p1に格納する画像の幅をm_widthとして定義すると、幅m_widthは割り当てる前の累積画像情報の幅widthとP1の値とから以下の式8で表すことができる。m_width=width/P18ここで、m_widthは切り上げ格納先のメモリMp2p1のaddressは以下の式9で表される。address=m_widthyx9以上が累積画像情報を所定の規則に従ってメモリへ割り当てるために一般化した式である。次に、具体的に本実施形態で説明したメモリM00~MP2-1P1-1に割り当てる場合について図4を用いて説明する。図4では、x方向の割り当て数を5P1=5、y方向の割り当て数を5P2=5とした例を示している。また、メモリMp2p1に格納する画像の幅については、累積画像情報400の画像の幅width=20、P1=5より幅m_width=4となる。以上を踏まえて各座標の累積画像情報400を割り当てる。例えば、C5,6の格納先は式4、5より、p1=0、p2=1、式6、7より、x=1、y=1、式9より、address=5となる。この結果、式3はM10[5]=C5,6で表され、C5,6の値はメモリM10のaddress=5に格納することになる。以上が本実施形態における累積画像情報のメモリへの割り当て方法である。本実施形態では累積画像情報をラスタ順に入力することを説明したが、本実施形態では、式3から式9で示される関係で素数個のメモリに割り当てて格納することが重要であって、累積画像情報の入力順序の違いに制約されるものではない。次に、割り当てて格納した累積画像情報から図13に示す16点の値を並列に読み出す方法について説明する。並列読み出しを行うためには、読み出すメモリを排他関係にしなければならない。ここで重要となるのが次元毎の読み出し点の間隔以下、ストライドと呼ぶと各次元に割り当てられたメモリ個数とを互いに素の関係にすることである。本実施形態では各次元のメモリの個数を素数個にし、ストライドとの関係を互いに素にしているがその理由について図15を用いて説明する。ここでは説明のため1次元配列の方向x軸にだけ注目する。まず、データを5個のメモリに割り当て、あるストライドで5個のデータを読み込むケースを考える。図15の表1701~1707には、ストライドを1から7に変化させた時の読み出し先メモリが示されている。各表で示されるメモリには同じデータが同じアドレスに格納されている。黒塗りされた部分が読み出し先のデータである。また、1行目の1から5がメモリ番号であり、2行目以降の数値がx座標値である。例えばx=6のデータはメモリ番号2のアドレス=1に格納される。次に、ストライド=4の表1704を代表に説明する。最初の読み出しデータはメモリ番号1のアドレス=0x=0とすると、次の読み出しデータはx4=4で、メモリ番号5のアドレス=0である。そして次の読み出しデータはx8=8でメモリ番号4のアドレス=1となる。これを繰り返した結果分かることはストライド=4で5点連続して読み出した場合、読み出し先のメモリがすべて異なるということである。これは先頭座標をどこにずらしても他の読み出し座標も同様にずれることから読み出し先のメモリはすべて異なる。これはメモリ数とストライドとが互いに素の関係にあると得られる性質である。図15の例では、互いに素の関係にないストライド=5を除くストライドでも同様に読み出し先のメモリがすべて異なることが確認できる。これはストライドが8以上の場合でも成り立つ但し、ストライドが5の倍数を除く。以上のように読み出し先のメモリをすべて異ならせることがメモリ数とストライドとを互いに素の関係とした理由である。この性質は2次元配列に拡張した場合も同様の効果が得られる。以下、具体例について説明する。図5は、x軸、y軸の各次元に素数個のメモリ5個に割り当てた例を示す図であり、これに対して図13に示すような3×3ブロックの読み出しを行う。図5aには、ブロックの幅=2、高さ=2での3×3ブロック501~509それぞれの総和を求める例を示す。読み出す点は16点網掛けの画素で左上の座標2,1を起点に16点の読み出しを行う。この読み出しでは縦横共にストライドは2で各次元方向のメモリ数5に対して互いに素の関係にある。図5bは、累積画像情報と各画素の割り当て先のメモリとの関係を示す図である。座標0,0の画素はメモリM00に割り当てられていることを示している。図5bには、読み出す16点の座標それぞれに割り当てられたメモリMp2p1が記載されている。図5bでは16点の読み出しすべてが異なるメモリを指していることがわかる。これは他のストライドでも同様でx方向、y方向それぞれ5の倍数以外のストライドであれば起点がどの位置であっても16点の読み出しをすべて異ならせることができる。次に、並列読み出しするためのブロック読み出し条件を式で表す。x方向のブロック数をB1、y方向のブロック数をB2とし、B1×B2ブロックとする。そして各ブロックの形状は幅b_width及び高さb_heightと定義すると、条件式はそれぞれ以下の式10及び式11で表される。b_width≠P1n10b_height≠P2m11P1、P2は素数。n、mは1以上の整数次に学習について説明する。これまで並列読み出しの条件について説明したが、ここではこの条件を満たすための学習方法について説明する。学習はパターン識別処理において画像中に含まれるものが検出パターンかどうか識別するための基準を決定する手法として広く使用されている。本実施形態では学習によって決定されたパラメータを辞書データと呼んでいる。学習は所定の検出パターンを含むことがわかっている複数のサンプル画像と所定の検出パターンを含まないことがわかっている複数のサンプル画像との各々から所定のパラメータを導出し、記録しておくものである。この所定のパラメータの中には局所領域本実施形態ではブロックを指すの位置、大きさの導出が含まれている。学習方法の一例では、局所領域のパラメータは学習によって各サンプル画像内のあらゆる局所領域が評価され、決定されている。本実施形態ではこの学習の局所領域の評価において、上記並列読み出しの条件を加えて決定するようにしている。具体的には各サンプル画像内で従来評価していた局所領域群から幅と高さが式10、11に合致するものだけを取り出す。そして、学習は取り出された局所領域群を使って評価及び決定を行う。以上のように学習の一例を説明したが、本実施形態では式10、11が成り立つように学習に組み込むことが重要であって、学習自体の方法によって制約されるものではない。以上のような方法で学習された辞書データの局所領域の幅、高さは全て条件式10、11に合致するものとなる。この結果、メモリアクセス制御部114より常に並列読み出しができるようになる。以上、累積画像情報を図14のメモリ構成に画素単位で割り当て、読み出しの偏るケースを学習で制約することで図13に示す画素を並列に読み出すことができるようになる。また、読み出しの偏るケースはブロックの形状幅、高さ制約で各次元に割り当てられたメモリ数の倍数を除くだけにできる。第2の実施形態第1の実施形態では累積画像情報をx方向、y方向それぞれに素数個のメモリに割り当てる方法を示した。本実施形態では使用するメモリの個数を抑えるために累積画像情報のx方向は素数個のメモリにインタリーブし、かつy方向の位置に応じて位相を変化させて図13の16点を読み出す方法を説明する。本実施形態では位相を変化させる方法が図13の16点読み出しだけでなく基本となる矩形領域の4点読み出しに対しても有効であることを示す。また、本実施形態では第1の実施形態と説明が重なる部分があるため差分のみ説明する。本実施形態のパターン識別装置の構成は、第1の実施形態と同様である。異なるのはメモリ構成のパラメータと割り当て書き込み処理部113の処理である。本実施形態のメモリ構成のパラメータはP1=5、P2=1とし、割り当て書き込み処理部113はy方向に応じて位相を変える処理を行う。次に、図6を用いて位相を変えたメモリの割り当てとその効果を説明する。図6a~図6cは第1の実施形態の方法で割り当てた例であり、図6d~図6fはy方向の位置に応じて位相を変えたメモリの割り当ての例である。図6aは、第1の実施形態の方法で累積画像情報400をP1=5、P2=1でメモリに割り当てた例を示している。画素601はM00に割り当てられ、画素602のM04まで順に割り当てられる。そして次の画素603はM00に割り当てられ、これらの割り当てが右端まで繰り返される。そして、次の行の先頭画素604は1行目同様にM00に割り当てられる。図6dは、累積画像情報400をP1=5、P2=1でy方向の位置に応じて位相を変えてメモリに割り当てた例を示している。1行目は図6aと同じであるが2行目の先頭画素605はメモリM02に割り当てられており、図6aと違いy方向に1行進む毎に割り当て先のメモリが1ずつずれていることがわかる。本実施形態における位相の変化とはこのずれのことである。次に、割り当て先のメモリM0p1p2=0及びaddressの式については、位相の変化量はSで表すと、座標x,yの画素値を格納するメモリ番号p1は以下の式12で表される。p1=y×SxP112ここで、は剰余moduloarithmeticを表す。次に、累積画像情報の幅をwidthとすると、addressは以下の式13で表される。address=width/P1yx/P113図6a及び図6dの2パターンで16点読み出しと4点読み出しとを考える。まずは16点読み出しを図6b及び図6eに示す。16点読み出しは、図6b及び図6eに示す例では、各行の4点が並列読み出しできることから4回に分けて16点を読み出すことが可能である。これは第1の実施形態で説明したように各行でメモリ数とストライドが互いに素の関係にあることから実現できることである。次に、4点読み出しを図6c及び図6fに示す。4点読み出しは、図6cの例と図6fの例とで状況が大きく変わる。図6cでは、矩形領域610の4頂点はx方向で並列読み出しできるが、y方向では同じメモリに当たるので常に2回に分けたアクセスが必要になることがわかる。これはどのような位置、形状の矩形領域でも同様である。一方、図6fでは、位相を変えたことで矩形領域611の4頂点を並列読み出しできることがわかる。但し、対角が一致する条件が存在するため全てのケースで並列読み出しできるわけではない。次に、並列読み出しするための条件を式で示す。矩形領域の幅をra_width、高さra_height、メモリ数P1、位相の変化量S0<S<P1、図6dの例はS=1とする。P1の倍数と矩形領域の対角の点が一致するケースを除くために、以下の式14~式17が定義される。ra_width≠P1n14ra_height≠P1m15ここで、P1は素数。n、mは1以上の整数S×ra_heightra_widthP1≠016S×ra_height-ra_widthP1≠017ここで、は剰余moduloarithmeticを表す。そして、これらの式14~式17の4つの条件を満たすra_width、ra_heightの組み合わせを学習で使うことで並列読み出しが可能になる。次に、学習に使える形状ra_width、ra_heightの組み合わせの数とra_width、ra_height、及びP1の関係と、学習に使える形状とSとの関係について具体例で説明する。ra_width、ra_heightの値域を1以上5以下とすると組み合わせは25通りとなる。P1=5、S=1の場合、式14~式17を満たす形状は7通りで全体の25通りに対して28となる。他の構成としてメモリを増やしたP1=7、S=1の場合、式14~式17を満たす形状は16通りで全体の25通りに対して64となり制約が緩和されていることがわかる。これはra_width、ra_heightの値域に合わせて最適なP1を決めれば形状制約を緩和できることがわかる。次に、学習に使える形状とSの関係を説明する。学習に使える形状はSの値によって変化する。P1=5、S=1の場合、1×1ra_width×ra_heightの矩形領域の4点は並列に読み出せないがS=2では並列に読み出せる。一方、P1=5、S=2の場合、3×4の矩形領域の4点は並列に読み出せないがS=1では並列に読み出せる。学習に使いたい形状があればそれを考慮して最適なSを決めることも可能であることがわかる。以上のように本実施形態では、メモリの個数を抑えるためにx方向のみ素数個のメモリにインタリーブし、かつy方向の位置に応じて位相を変化させる方法を示した。そしてこの方法が図13の16点読み出しと矩形領域の4点読み出しとにおいて効率の高い読み出しができることがわかる。第3の実施形態第1及び第2の実施形態では、累積画像情報と呼ぶ2次元配列の情報での例を説明したが、本実施形態では1次元の情報に適用する方法を説明する。本実施形態では1次元配列のデータを入力とし、その入力データを1次元入力情報と呼ぶ。また、1次元入力情報を累積した情報を1次元累積情報と呼ぶ。本実施形態での1次元配列の累積情報を図10に示す。図10では左端のデータを開始点として、x方向にデータの値を累積させたものを1次元累積情報1200としている。データ中の括弧内の数値はx方向の座標を示す。本実施形態のパターン識別装置の構成は第1の実施形態と同様であるが、メモリ数が5個であるところが異なる。また、処理内容に第1の実施形態と一部差があり、その差分はメモリへの割り当て方法、並列読み出しの条件である。ここではその差分について説明する。まず、1次元累積情報のメモリへの割り当て方法について説明する。1次元累積情報の座標xの値をCxで表す。そして、x方向の割り当て数をP1とする。P1は素数であり、割り当てるメモリ数はP1個とし、メモリはMp1で表す。p1はメモリ番号で、p1はx方向のメモリ番号値を示す。そして、Cxの格納先は以下の式18で表される。Mp1[address]=Cx18また、座標xの画素値を格納するメモリ番号p1は以下の式19で表される。p1=xP119ここで、は剰余を表す。そして、格納先のメモリMp1へのaddressは以下の式20で表される。address=x/P120なお、除算は小数点以下切り捨て以上が1次元累積情報を所定の規則に従ってメモリへ割り当てるための式である。本実施形態では、図10のようにP1=5で、M01220からM41224に格納する。以上を踏まえて各座標の1次元累積情報1200を割り当てる。例えば、C3の格納先のメモリ番号は式19より、メモリM1となる。そして、格納先のアドレスは式20より、address=1となる。この結果、式18はM1[1]=C3で表され、C3の値はメモリM1のaddress=1に格納することになる。これらの計算によって1次元累積情報1200は図10のM01220からM41224に格納される。次に、一定間隔の4点の並列読み出しについて説明する。1次元累積情報の第1の実施形態で説明した局所領域に相当するものは直線の区分1210以下、1次元累積情報では局所区分localpiecewiseと呼ぶとなる。ここでは3つの連続する局所区分1210、1211、1212の総和を求める例で説明する。まずは1つの局所区分1210の総和の計算方法について説明する。局所区分1210の両端2点の座標をx0、x1としそれぞれA、Bとすると、A、Bは以下の式21で表される。A:x0-1B:x121そして、A、Bの位置の累積情報値を読み出して、一次元入力情報の局所区分1210内の要素の総和値S1dは以下の式22により計算される。S1d=B-A22以上のことから3つの連続する局所区分1210、1211、1212の総和を求めるにはデータ1201から1204の4点を読み出す必要がある。ここではこれらデータの間隔は3でメモリの割り当て数は5となり互いに素の関係であることがわかる。このため第1の実施形態でも説明した通り、連続する4点の読み出し先のメモリは異なる。図10では斜線部のデータが連続する4点がメモリM0、M1、M3、M4に分かれていることが分かる。次に、並列読み出しが行える条件式を示す。メモリへの割り当て数をP1、局所区分の長さをla_lengthと定義すると、本実施形態の割り当て規則に応じて導出される条件式は以下の式13で表される。la_length≠P1n23ここで、nは1以上の整数但し、並列読み出しできる一定間隔の連続読み出し回数は2以上P1以下となる。そして、この条件式23を満たすla_length、連続読み出し回数になるように学習することで並列読み出しが可能となる。第4の実施形態本実施形態では、3次元の情報に適用した例について説明する。本実施形態では、3次元配列のデータを入力とし、その入力データを3次元入力情報と呼ぶ。3次元入力情報とは例えば動画情報であって、2次元画像に時間軸の1次元が加わり3次元入力情報となる。また、3次元入力情報を累積した情報を3次元累積情報と呼ぶ。本実施形態での3次元配列の累積情報を図11に示す。図11では3次元入力情報1300の原点Oを開始点として、x方向、y方向、t方向に値を累積させたものを3次元累積情報1310としている。例えば点1302の座標x,y,tの3次元累積情報1310での値は原点Oと点1302を対角とする直方体1301に含まれるデータの合計値となる。本実施形態では直方体を動画情報で考え、x方向を幅、y方向を高さ、t方向を時間で定義する。ここでt方向は時間軸で定義したが、もし立体空間であればz方向として奥行きと定義してもよい。本実施形態のパターン識別装置の構成は第1の実施形態と同様であるが、メモリ数が125個であるところが異なる。これは各次元に5個ずつのメモリ割り当てるためで、5×5×5の計125個となる。また、処理内容に第1の実施形態との差分があり、差分はメモリへの割り当て方法、並列読み出しの条件である。ここではその差分について説明する。まず、3次元累積情報のメモリへの割り当て方法について説明する。3次元累積情報の座標x,y,tの値をCx,y,tで表す。そして、x方向の割り当て数をP1、y方向の割り当て数をP2、t方向の割り当て数をP3とする。P1、P2、P3は素数であり、割り当てるメモリの総数はP1、P2、P3個とし、メモリはMp3p2p1で表す。p1、p2、p3はメモリ番号で、p1はx方向のメモリ番号、p2はy方向のメモリ番号、p3はt方向のメモリ番号を示す。そして、Cx,y,tの格納先は以下の式22で表される。Mp3p2p1[address]=Cx,y,t22また、座標x,y,tの画素値を格納するメモリ番号p1、p2、p3はそれぞれ以下の式23~式25で表される。p1=xP123p2=yP224p3=tP325ここでは剰余を表す。そして、3次元累積情報の幅width、高さheightとすると、格納先のメモリMp3p2p1へのaddressは以下の式26で表される。address=width/P1height/P2t/P3width/P1y/P2x/P126なお、除算は小数点以下切り捨て以上が3次元累積情報を所定の規則に従ってメモリへ割り当てるための式である。本実施形態ではP1=5、P2=5、P3=5で、各座標の3次元累積情報1310をメモリM000からメモリM555に格納される。次に、図11の1321に示される3×3×3の立体空間の読み出しについて説明する。3×3×3に並べられる各立体空間の形状は同じである。3次元累積情報における第1の実施形態で説明した局所領域に相当するものは直方体の空間1312以下、3次元累積情報では局所空間localspaceと呼ぶとなる。ここでは3×3×3の計27個の局所空間それぞれの総和を求める例で説明する。まず、1つの局所空間1312の総和の計算方法について説明する。局所空間1312の対角を示す2点の座標をx0,y0,t0、x1,y1,t1とすると、A~Hはそれぞれ、以下の式27で表される。A:x0-1,y0-1,t0-1B:x1,y0-1,t0-1C:x0-1,y1,t0-1D:x1,y1,t0-1E:x0-1,y0-1,t1F:x1,y0-1,t1G:x0-1,y1,t1H:x1,y1,t127そして、式27に示す位置の累積情報値であるとすると、3次元入力情報の局所空間1312内要素の総和値S3dは、以下の式28により計算することができる。S3d=H-D-FB-G-C-EA28以上のことから3×3×3の計27個の局所空間それぞれの総和を求めるには局所空間1321の4×4×4の計64点を読み出す必要がある。本実施形態ではこれらデータの各次元方向の間隔とメモリ割り当て数を互いに素の関係にする。互いに素の関係にあると第1の実施形態でも説明した通り、連続する等間隔の点は読み出し先のメモリが異なるので並列読み出しが可能となる。次に並列読み出しが行える条件を示す。各次元のメモリへの割り当て数をP1、P2、P3、1つの局所空間の幅x方向をla_width、高さy方向をla_height、時間t方向をla_timeと定義する。本実施形態の割り当て規則に応じて導出される条件式は、以下の式29~式31となる。la_width≠P1l29la_height≠P2n30la_time≠P3m31ここで、l、n、mは1以上の整数但し、並列読み出しできる一定間隔の連続読み出し回数はx方向で2以上P1以下、y方向で2以上P2以下、t方向で2以上P3以下となる。以上の式29~式31を全て満たすことにより、読み出すメモリを排他関係にすることができ、局所空間1321の64点の値を並列に読み出すことができるようになる。また、式29~式31の少なくとも1つを満たすことができれば局所空間の64点の値を部分的に並列に読み出すこともできる。以上のように、メモリへの割り当て規則、並列読み出しの条件を定義し学習時にその条件を加えることで、総メモリサイズを増やさずに、局所空間の頂点位置の累積情報を複数のメモリから常に並列に読み出すことができるようになる。その他の実施形態以上の実施形態では1次元から3次元について説明した。さらに、3次元を超える多次元入力情報に対する累積情報であっても、同様に超直方体で考えれば、本発明を適用可能であるのは明らかである。また、第2の実施形態で説明した2次元の累積画像情報をy方向の位置に応じて位相を変えて割り当てる方法はその他の次元においても適用可能である。以上の実施形態では、累積情報を素数個のメモリに割り当て、矩形領域の形状制約を学習にて実施する方法を説明した。本発明は累積情報を読み出す間隔とメモリ数を互いに素の関係にすることが重要であって第1~第4の実施形態の例に限るものではない。ここで、メモリ数が素数以外の場合について説明する。1次元の累積情報を例にすると累積情報を割り当てるメモリ数が4の場合、互いに素の関係となる局所区間の長さは1、3、5、7、9、である。つまり局所区間の長さとメモリ数とを互いに素の関係にすることで並列読み出しを実現できることは明らかである。また、2次元、3次元、多次元でも同様に適用可能であることも明らかである。以上の実施形態では素数個のメモリを使った例を示したが、例えば装置内に素数個ではない6個のメモリが備わっており、その内の素数の5個のメモリを使うという装置であっても構わない。また、以上の実施形態ではパターン識別処理に弱判別器を使った例で説明したが本発明はこれに限らない。実際、パターン識別処理には様々なものが提案されており、実装も多岐にわたっている。しかし、これらパターン識別処理において累積情報を使用し特徴量を算出するものはいずれも本発明が適用できることは明らかである。以上の実施形態では所定の規則で割り当てる方法として元の累積情報において上下左右に隣接するデータを異なるメモリに割り当てる方法を説明したが本発明はこれに限らない。例えば近傍の累積情報を局所的にまとめて異なるメモリに割り当てても構わない。図12にその例を示す。1401は割り当て前の積分画像である。積分画像1401に振ってあるA,B,C,Dは割り当て先のメモリの種類を示す。AはM001420、BはM101421、CはM011422、DはM111423に割り当てる。そして、積分画像1401から局所領域1402の総和を求めるために1410、1411、1412、1413の画素を読み出す。このとき読み出し先のメモリはM00からM11にすべて分かれていることがわかる。以上のように近傍の累積情報をメモリに割り当てても本発明の効果が得られることは明らかである。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"