(57)【特許請求の範囲】
【請求項１】
背景画像と入力画像との差分を求め、前記差分のあった領域を囲む矩形領域を動領域として検出する検出手段と、
前記検出手段で検出された前記動領域の情報を基に、前記動領域を縦方向にバンド分割して転送する転送方法と横方向にバンド分割して転送する転送方法との２つの転送方法の各々における画像データの総転送量を計算し、前記総転送量が少ない方の転送方法を選択する選択手段と、
前記選択手段で選択された転送方法で、前記入力画像が記憶されている第一の記憶手段から第二の記憶手段へ前記動領域のデータを分割して転送する転送手段と、
を有する、画像処理装置。
【請求項２】
前記選択手段は、前記検出手段で検出された前記動領域の情報として、前記動領域の幅及び高さを基に、前記２つの転送方法のうち、前記動領域の画像データを分割して転送する際の画像データの総転送量が少ない方の転送方法を選択する、請求項１記載の画像処理装置。
【請求項３】
前記第二の記憶手段に記憶されたデータが示す領域と、マッチング領域と、の照合処理を実行する照合手段を更に有し、
前記選択手段は、前記検出手段で検出された前記動領域の情報と、前記マッチング領域の情報と、を基に、前記２つの転送方法のうち、前記動領域の画像データを分割して転送する際の画像データの総転送量が少ない方の転送方法を選択する、請求項１又は２記載の画像処理装置。
【請求項４】
前記選択手段は、前記検出手段で検出された前記動領域の情報として、前記動領域の幅及び高さと、前記マッチング領域の情報として、前記マッチング領域の幅及び高さと、を基に、前記２つの転送方法のうち、前記動領域の画像データを分割して転送する際の画像データの総転送量が少ない方の転送方法を選択する、請求項３記載の画像処理装置。
【請求項５】
画像処理装置が実行する画像処理方法であって、
背景画像と入力画像との差分を求め、前記差分のあった領域を囲む矩形領域を動領域として検出する検出ステップと、
前記検出ステップで検出された前記動領域の情報を基に、前記動領域を縦方向にバンド分割して転送する転送方法と横方向にバンド分割して転送する転送方法との２つの転送方法の各々における画像データの総転送量を計算し、前記総転送量が少ない方の転送方法を選択する選択ステップと、
前記選択ステップで選択された転送方法で、前記入力画像が記憶されている第一の記憶手段から第二の記憶手段へ前記動領域のデータを分割して転送する転送ステップと、
を含む、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、セキュリティのために監視カメラの設置が急速に普及している。また、そのようなカメラを使って、不審な人物や物体の侵入を自動的に検知する装置が提案されている。
例えば、特許文献１では、取り込んだ監視領域内で捉えた対象の面積、移動方向、移動速度の特徴データを抽出する。その方法としては処理画像と背景との差分を求め、それを２値化した画像においてラベリング処理し、その面積と重心を求めて対象を捉えるようにしている。また、予め記憶しておいた侵入者の特徴データと比較し、両者が合致した場合にその対象を侵入者として検知し警報を発するようにしている。
一方、人物の画像パターンを予め機械学習によって学習しておき画像に映る物体が人物かどうかを認識する技術が知られている。
例えば、非特許文献１では、ニューラル・ネットワークにより画像中の顔パターンを検出している。以下、その方法について簡単に説明する。まず、顔の検出を対象とする画像データをメモリに読み込み、読み込んだ画像中から顔と照合する所定の領域を切り出す。そして、切り出した領域の画素値を入力としてニューラル・ネットワークによる演算で一つの出力を得る。このとき、ニューラル・ネットワークの重み、閾値は膨大な顔画像パターンと非顔画像パターンとにより予め学習されており、例えば、ニューラル・ネットワークの出力が０以上なら顔、それ以外は非顔であると判別する。非特許文献１は顔で説明されているが、対象が人体となっても人体画像パターンで予め学習しておくことにより、原理的には同様の処理で人体かどうかを認識することができる。
【０００３】
これら画像内の変化領域を背景差分によって検出する技術と画像に映る物体が人体かどうか判定する技術とを併用することにより高精度な人体の検知が可能となる。より具体的には背景差分で検知した変化領域を画像中から切り出してメモリに保持し、切り出した領域から所定の部分領域に対して繰り返し人体パターンの認識処理を行う。
しかし、変化領域が大きいと小さなメモリで構成するシステムで処理する場合には変化領域の画像を一度に保持できない問題が生じる。通常、この問題の解決方法としては画像を分割して処理する方法が知られている。例えば特許文献２では、１枚のデジタル画像データを複数のバンド領域に分割して、各バンド領域を逐次的にバンドメモリに割り当て空間フィルタ処理等の局所（近傍）画像処理を行っている。バンドメモリは空間フィルタ領域に依存する所定画素数分の容量を持ち、ラスタースキャン等の所定の走査順序で転送される画像データがリング式にデータ更新される。
変化領域の画像を複数のバンド領域に分割したより具体的な例を図４、図５に示す。図４は、入力画像内で検出された変化領域の画像３００を縦方向のバンド領域に分割し２つのバンド領域３１１、３２１に対して認識処理を行う一例を示す図である。図４（ａ）は、バンド領域３１１に注目し、図４（ｂ）は、バンド領域３２１に注目している。認識処理はこれらバンド領域３１１、３２１の所定の部分領域（以下、マッチング領域と呼ぶ）と認識対象との照合処理をする。マッチング領域は、例えば３１２、３１３で示されるような領域で、矢印３１４に示すように移動させる。より具体的に説明すると、バンド領域３１１内の３１２の位置から開始し、横方向に１画素ずつ右端の３１３の位置まで移動させる。そして、右端に到達した後は左端に戻って１画素下方向に移動し、再び左端から右端に移動させる。マッチング領域の移動はバンド領域３１１の右下の端まで繰り返され、それぞれの領域で認識処理が行われる。次にバンド領域３１１のデータ転送について説明する。矢印３１４のようなマッチング領域の移動は矢印３１６に示すラスター走査の順序でデータ転送することで実現できる。例えばマッチング領域３１７を処理する時点では斜線部３１５の画像データをメモリ上に保持しマッチング領域３１７を１画素右方向の位置に移動させるには、３１９の位置の画像データを捨て、３１８の位置の画像データを読み込むことになる。
【０００４】
図５は、画像３００を横方向のバンド領域に分割し２つのバンド領域４１１、４２１に対して認識処理を行う一例を示す図である。図５（ａ）は、バンド領域４１１に注目し、図５（ｂ）は、バンド領域４２１に注目している。バンド領域４１１のマッチング領域は４１２、４１３で示されるような領域で、矢印４１４に示すように移動させる。より具体的に説明すると、バンド領域４１１内の４１２の位置から開始し、縦方向に１画素ずつ下端の４１３の位置まで移動させる。そして、下端に到達した後は上端に戻って１画素右方向に移動し、再び上端から下端に移動させる。マッチング領域の移動はバンド領域４１１の右下の端まで繰り返され、それぞれの領域で認識処理が行われる。上記のようなマッチング領域の移動を行うためのデータ転送方法は図４の場合と同様であり矢印４１６に示す縦方向の走査で実現することができる。そして、一時的に斜線部４１５の画像データを保持できるメモリがあればマッチング領域４１７の認識処理が可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−２８４５０１号公報
【特許文献２】特開２００６−１３９６０６号公報
【非特許文献】
【０００６】
【非特許文献１】Ｒｏｗｌｅｙ  ｅｔ  ａｌ，  "Ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ−ｂａｓｅｄ  ｆａｃｅ  ｄｅｔｅｃｔｉｏｎ"，  ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＰＡＴＴＥＲＮ  ＡＮＡＬＹＳＩＳ  ＡＮＤ  ＭＡＣＨＩＮＥ  ＩＮＴＥＬＬＩＧＥＮＣＥ，  ＶＯＬ．２０  ，  ＮＯ．１，  ＪＡＮＵＡＲＹ  １９９８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、各バンド領域間で隙間無く認識処理を行うためには、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うようにしなければならない。図４（ｃ）に示すように縦方向のバンド分割であればバンド領域３１１と３２１とで３３１に示す領域が重複する。また、図５（ｃ）に示すように横方向のバンド分割であればバンド領域４１１と４２１とで４３１に示す領域が重複する。以下、上記重複する領域を重複領域と呼ぶ。
縦方向にバンド分割した場合、重複領域３３１は（マッチング領域の幅）×（バンド領域の高さ）のサイズが必要となる。また、横方向にバンド分割した場合、重複領域４３１は（マッチング領域の高さ）×（バンド領域の幅）のサイズが必要となる。画像３００を外部メモリからバンド分割して内部メモリに転送する際のデータ転送量は画像３００のデータ転送に加えて重複領域３３１，４３１の転送オーバーヘッドが必要となる。
画像の形状が固定されている場合、その形状に応じて予め転送オーバーヘッドの小さい転送方法で実装しておけばよい。しかし、背景差分によって検出される変化領域の形状はフレームごとに変わるため、転送オーバーヘッドの小さい転送方法を一意に決められない問題があった。例えば横長な変化領域が検出された場合、変化領域を横方向にバンド分割すると縦方向にバンド分割するよりも転送オーバーヘッドが小さくなることがある。また逆に、縦長な変化領域が検出された場合、転送オーバーヘッドは縦方向にバンド分割するほうが横方向にバンド分割するよりも小さくなることがある。
【０００８】
本発明はこのような問題点に鑑みなされたもので、画像データを分割してデータ転送する際に生じる転送オーバーヘッドを最小限に抑えることを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明の画像処理装置は、背景画像と入力画像との差分を求め、前記差分のあった領域を囲む矩形領域を動領域として検出する検出手段と、前記検出手段で検出された前記動領域の情報を基に、前記動領域を縦方向にバンド分割して転送する転送方法と横方向にバンド分割して転送する転送方法との２つの転送方法の各々における画像データの総転送量を計算し、前記総転送量が少ない方の転送方法を選択する選択手段と、前記選択手段で選択された転送方法で、前記入力画像が記憶されている第一の記憶手段から第二の記憶手段へ前記動領域のデータを分割して転送する転送手段と、を有する。
【発明の効果】
【００１０】
本発明によれば、画像データを分割してデータ転送する際に生じる転送オーバーヘッドを最小限に抑えることができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の構成の一例を示す図である。
【図２】認識処理の一例を示すフローチャートである。
【図３】転送量計算のパラメータを説明するための図である。
【図４】入力画像を縦方向にバンド分割する方法を説明するための図である。
【図５】入力画像を横方向にバンド分割する方法を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
【００１３】
＜実施形態１＞
図１は、画像処理装置の構成の一例を示す図である。
ＣＰＵ１０１は、バス１０５を介して接続される各部を制御する。情報入力部１０２は、処理対象となる入力画像データを画像処理装置内に取り込む。情報入力部１０２は、例えばＣＣＤ等の画像センサによって構成されてもよいし、ネットワーク等所定の通信経路を持って外部装置から処理したいデータを受信するＩ／Ｆ装置であってもよい。外部メモリ１０４は、ＲＡＭ或いはＨＤＤ等のストレージ装置で構成されており、バス１０５に接続される。外部メモリ１０４は、ＣＰＵ１０１が動作するためのプログラムの記憶領域、各種処理を行う上での作業領域として用いられる。また、外部メモリ１０４は、必要に応じて入力画像情報（画像データ）を保持するための領域としても用いられる。外部メモリ１０４は、第一の記憶手段の一例である。
動領域検出処理部１１０は、バス１０５に接続され外部メモリ１０４にアクセスすることが可能でＣＰＵ１０１の指示によって動作する。ＤＭＡコントローラ（ＤＭＡＣ）１０３は、ＣＰＵ１０１が設定して動作指令することにより、情報入力部１０２、外部メモリ１０４、後述の認識処理部１２０間のデータ転送を、自立的に連続して行うことが可能である。ＤＭＡコントローラ１０３は、指令された転送動作が完了すると、割り込み信号をＣＰＵ１０１に通知する。
認識処理部１２０は、バス１０５に接続するためのバスＩ／Ｆ１２１、画像情報保持部１２２、管理部１２３、照合部１２４により構成される。認識処理部１２０は、ＤＭＡＣ１０３によって外部メモリ１０４から転送されてくる画像データを処理し、検出結果を外部メモリ１０４に書き出す。画像情報保持部１２２は、認識対象と照合する所定のマッチング領域を保持するための専用メモリである。画像情報保持部１２２は、は、第二の記憶手段の一例である。照合部１２４は、画像情報保持部１２２に保持されているマッチング領域に対して認識対象との照合処理を繰り返し、マッチング領域の画像が認識対象であるか否かを判断する。管理部１２３は、画像情報保持部１２２に保持される画像データの書き込みと照合部１２４の処理の開始及び終了とを管理する。
【００１４】
次に動作について説明する。
図２は、認識処理の一例を示すフローチャートである。
本実施形態では、画像処理装置に入力される画像情報は、時系列に並ぶ複数画像データ（動画像）である。
Ｓ５０１は画像情報入力を行うステップである。情報入力部１０２は、認識処理を実施する画像データを入力し所定のメモリに格納する。
Ｓ５０２は動領域検出処理を行うステップである。動領域検出処理部１１０は、入力される動画像を分析し、背景画像から現フレームの画像が変化している領域（以下、動領域と呼ぶ）を検出する。検出された動領域の情報は、外部メモリ１０４等に保持され次のステップにおいて参照される。
Ｓ５０３は全ての領域の照合処理が完了したかどうか判断するステップである。動領域検出処理部１１０は、全ての領域の照合処理が完了している場合はＳ５０６に処理を移行する。また、Ｓ５０２で動領域が検出されていない場合、動領域検出処理部１１０は、照合処理が不要なため完了と判断する。未完の場合、動領域検出処理部１１０は、次のＳ５０４のステップに処理を移行する。
Ｓ５０４はＳ５０２で検出された動領域の転送方法を選択するステップである。Ｓ５０４では例えばＣＰＵ１０１が、複数の転送方法の中から動領域の形状を使用して転送オーバーヘッドを計算し、転送オーバーヘッドが最も小さい転送方法を選択する。Ｓ５０４の詳細な処理は後述する。
Ｓ５０５はＳ５０４で選択された転送方法に従って画像データを読み出して照合処理を行うステップである。Ｓ５０５の詳細な処理は後述する。
Ｓ５０５の照合処理が終了するとＳ５０３に移行し、例えば動領域検出処理部１１０は、全ての領域の照合処理が完了したかどうかを判断する。
Ｓ５０６は全ての画像の認識処理が完了したかどうか判断するステップである。全画像の認識処理が終了していない場合、未完となり認識処理部１２０は、Ｓ５０１のステップに処理を移行する。全画像の認識処理が終了した場合、完了となり、認識処理部１２０は、図２に示す処理を終了する。
【００１５】
次に、Ｓ５０１からＳ５０２までの処理の詳細を説明する。
Ｓ５０１では情報入力部１０２は、画像データを入力し、バス１０５を介して外部メモリ１０４に格納する。画像データの格納が終了すると情報入力部１０２から割り込み信号をＣＰＵ１０１に通知する。ＣＰＵ１０１は通知を受けると動領域検出処理部１１０に対して外部メモリ１０４への画像データの格納先の情報を設定し、動領域検出処理を開始させる指令を出す。
次にＳ５０２では動領域検出処理部１１０が背景画像と入力画像との差分を求め、更に差分のあった領域を囲む矩形を求めて動領域として検出する。動領域検出処理部１１０は、検出した動領域の位置情報を入力画像と対応付けて外部メモリ１０４の所定のアドレスに格納する。動領域の位置情報は画像左上を原点とした座標で矩形領域の角４点を表したものである。また動領域の数は１枚の画像から複数個検出されることもある。当然見つからない場合もあるがその場合は位置情報の出力は無い。動領域検出処理部１１０は、指令された処理が完了すると割り込み信号をＣＰＵ１０１に通知する。
【００１６】
次に、Ｓ５０３からＳ５０６までの動作の詳細を説明する。
Ｓ５０３ではＣＰＵ１０１が動領域検出処理部１１０から処理完了の割り込み信号を受けた後、外部メモリ１０４に格納された動領域の位置情報から認識処理をする必要があるかどうか判断する。動領域の位置情報が無い場合、ＣＰＵ１０１は、Ｓ５０６に処理を移行する。Ｓ５０６では例えば認識処理部１２０又は認識処理部１２０から通知を受けたＣＰＵ１０１が全ての処理を終了するか次の入力画像を処理するか判断する。次の入力画像を処理する場合、例えばＣＰＵ１０１は、Ｓ５０１に処理を移行する。つまり、次の入力画像を情報入力部１０２から入力する処理に移行させる。
一方、動領域の位置情報がある場合、ＣＰＵ１０１は、記録されているそれぞれの動領域に対して照合処理を行うＳ５０４、Ｓ５０５に処理を移行する。
Ｓ５０４ではＣＰＵ１０１が動領域の画像を縦方向にバンド分割して転送する場合と横方向にバンド分割して転送する場合とで画像データの総転送量を計算し、総転送量の少ないバンド分割方法を選択する。そして、ＣＰＵ１０１は、動領域の位置情報を基に外部メモリ１０４に格納されている画像データから動領域の画像データを切り出して選択されたバンド分割方法で認識処理部１２０に転送するようにＤＭＡＣ１０３を設定し転送を開始する指令を出す。
【００１７】
Ｓ５０４で転送方法を選択するためのより具体的な画像データの総転送量の計算式について説明する。ここで使用する縦方向、横方向にバンド分割する方法は背景技術で説明した通りである。
まず図３（Ａ）を用いて動領域を縦方向にバンド分割したときの画像データの総転送量の計算方法を示す。
２０１は、動領域検出処理部１１０によって検出された動領域であって、動領域の幅をＷｖ、高さをＨｖとした画像データである。２０２の点線で囲んだ領域は、縦方向にバンド分割したときのバンド領域で、バンド幅をＷｂ、バンド高さをＨｂとした領域である。２０３の網掛けで示される領域は重複領域で、その重複領域の幅をＷｏ、高さをＨｏとする。縦方向にバンド分割したとき、バンド高さＨｂは動領域の高さＨｖ、重複領域の高さＨｏと同じ値になる。２０５は、認識処理をかけるマッチング領域であって、マッチング領域の幅をＷｓ、高さをＨｓとする。２０４は、画像情報保持部１２２の専用メモリに格納される画像データの領域であって、格納する画像データ領域の幅をＷｍ、高さをＨｍとする。また、画像情報保持部１２２の専用メモリのサイズをＳｍとする。Ｓｍは通常、ハードウェアを作った後では固定されてしまうため固定値として扱える。
【００１８】
次に以上の情報を使って、動領域２０１を外部メモリ１０４から認識処理部１２０に縦方向にバンド分割して転送した場合の総転送量を計算する方法を示す。
まず、専用メモリに格納する領域の幅Ｗｍと高さＨｍを計算する。専用メモリに格納する領域の高さＨｍはマッチング領域の高さ分だけあればよいため
Ｈｍ  ＝  Ｈｓ                                              （１）
となる。そしてメモリサイズＳｍは固定であるため専用メモリに格納できる領域の幅Ｗｍは
Ｗｍ  ＝  Ｓｍ／Ｈｍ                                        （２）
但し、Ｗｍは正の整数。
となる。
次に、重複領域の幅Ｗｏを計算する。重複領域の幅Ｗｏはマッチング領域の幅Ｗｓによって決まり
Ｗｏ  ＝  Ｗｓ―１                                          （３）
となる。
ＷｍとＷｏが決まれば動領域２０１から分割されるバンド分割数Ｎが決まる。そのバンド分割数Ｎは
Ｎ  ＝  （Ｗｖ−（Ｗｓ−１））／（Ｗｍ−Ｗｏ）              （４）
但し、除算は小数点以下切り上げ
で表される。また動領域内の重複領域の総サイズＳｏは式（４）で得られたバンド分割数Ｎを使って
Ｓｏ  ＝  （Ｎ−１）×Ｈｖ×Ｗｏ                            （５）
となる。
そして総転送量Ｓｖは式（５）で求められた動領域内の重複領域の総サイズＳｏと動領域のサイズを加算したサイズであるため、
Ｓｖ  ＝  Ｓｏ＋Ｗｖ×Ｈｖ                                  （６）
となる。以上の式（１）から（６）までを使って縦方向にバンド分割して動領域を転送した際の総転送量を計算することができる。
ここで認識対象が１つに決まっているものとすると、認識対象でマッチング領域の形状が決まるのでＷｓとＨｓは固定値となり、式（１）から（６）までの中で変数は動領域の幅Ｗｖと高さＨｖの２つだけとなる。ＣＰＵ１０１はこれらＷｖ、Ｈｖの情報をＣＰＵ１０１で読み込んだ動領域の位置情報から得て総転送量を計算することができる。
【００１９】
次に図３（Ｂ）を用いてに動領域を横方向にバンド分割をしたときの総転送量の計算方法を示す。
２０１は、動領域で（Ａ）で説明したものと同じである。２１２の点線で囲んだ領域は、横方向にバンド分割したときのバンドの領域で、バンド幅をＷｂ、バンド高さをＨｂとした領域である。２１３の網点で示される領域は、重複領域で、その重複領域の幅をＷｏ、高さをＨｏとする。横方向にバンド分割したとき、バンド幅Ｗｂは動領域の幅Ｗｖ、重複領域の幅Ｗｏと同じ値になる。２１５は、認識処理をかけるマッチング領域であって、マッチング領域の幅をＷｓ、高さをＨｓとする。２１４は、画像情報保持部１２２の専用メモリに格納される画像データの領域であって、格納する画像データ領域の幅をＷｍ、高さをＨｍとする。また、画像情報保持部１２２の専用メモリのサイズを縦方向のバンド分割の説明と同様にＳｍとし、固定値として扱う。
【００２０】
次に以上の情報を使って、動領域２０１を外部メモリ１０４から認識処理部１２０に横方向にバンド分割して転送した場合の総転送量を計算する方法を示す。
まず、専用メモリに格納する領域であるＷｍとＨｍを計算する。専用メモリに格納する領域の幅Ｗｍはマッチング領域の幅分だけあればよいため
Ｗｍ  ＝  Ｗｓ                                              （７）
となる。そしてメモリサイズＳｍは固定であるため専用メモリに格納できる領域の高さＨｍは
Ｈｍ  ＝  Ｓｍ／Ｗｍ                                        （８）
但し、Ｈｍは正の整数。
となる。
次に、重複領域の高さＨｏを計算する。重複領域の幅Ｈｏはマッチング領域の高さＨｓによって決まり
Ｈｏ  ＝  Ｈｓ−１                                          （９）
となる。
ＨｍとＨｏが決まれば動領域２０１から分割されるバンド分割数Ｎが決まる。そのバンド分割数Ｎは
Ｎ  ＝  （Ｈｖ−（Ｈｓ−１））／（Ｈｍ−Ｈｏ）              （１０）
但し、除算は小数点以下切り上げ
で表される。また動領域内の重複領域の総サイズＳｏは式（１０）で得られたバンド分割数Ｎを使って
Ｓｏ  ＝  （Ｎ−１）×Ｗｖ×Ｈｏ                          （１１）
となる。
そして総転送量Ｓｈは式（１１）で求められた動領域内の重複領域の総サイズＳｏと動領域のサイズとを加算したサイズであるため、
Ｓｖ  ＝  Ｓｏ＋Ｗｖ×Ｈｖ                                （１２）
となる。以上の式（７）から（１２）までを使って横方向にバンド分割して動領域を転送した際の総転送量を計算することができる。これらの式では動領域の幅Ｗｖと高さＨｖとが変数である。
ここで認識対象が１つに決まっているものとすると、認識対象でマッチング領域の形状が決まるのでＷｓとＨｓとは固定値となり、式（７）から（１２）までの中で変数は動領域の幅Ｗｖと高さＨｖとの２つだけとなる。ＣＰＵ１０１はこれらＷｖ、Ｈｖの情報をＣＰＵ１０１で読み込んだ動領域の位置情報から得て総転送量を計算することができる。
【００２１】
次に動領域を縦方向にバンド分割したときと横方向に分割したときの総転送量のより具体的な例を示す。
まずこの例の前提として１画素は１バイトのグレイスケールの画像であるとする。また、実装されている画像情報保持部１２２のメモリサイズＳｍは５，０００バイト、認識対象のマッチング領域の形状はＷｓ＝５０  ｐｉｘｅｌ、Ｈｓ＝８０  ｐｉｘｅｌとする。
そして動領域検出処理で得られた動領域の形状がＷｖ＝６００  ｐｉｘｅｌ、Ｈｖ＝２００  ｐｉｘｅｌであったとすると、その動領域の総転送量は縦方向にバンド分割した場合で５３１，６００バイト、横方向にバンド分割した場合で３５７，０００バイトとなる。動領域が６００×２００のように横長の形状だと横方向にバンド分割した方が総転送量は少ないことがわかる。一方、動領域の形状が縦長でＷｖ＝２００  ｐｉｘｅｌ、Ｈｖ＝６００ｐｉｘｅｌであったとすると、総転送量は縦方向にバンド分割した場合で４４３，４００バイト、横方向にバンド分割した場合で４９９，２００バイトとなる。動領域が２００×６００のように縦長の形状だと縦方向にバンド分割した方が総転送量は少ないことがわかる。
【００２２】
次にＳ５０５の認識処理部１２０の動作について説明する。
ＣＰＵ１０１は、転送方法を決めてからＤＭＡＣ１０３を設定し外部メモリ１０４から画像情報保持部１２２への画像データの転送を開始するがＤＭＡＣ１０３による画像データ転送の開始前に転送方法の情報をバスＩ／Ｆ１２１を経由して管理部１２３に設定する。ＤＭＡＣ１０３による画像データの転送が開始されると、画像データは外部メモリ１０４からバス１０５、バスＩ／Ｆ１２１を経由して管理部１２３に入力される。
管理部１２３はバンド分割の方向に応じた画像データの転送に対応しており、それぞれの転送方法における格納先のアドレスを計算して画像情報保持部１２２に画像データを書き込んでいく。そして、画像データがマッチング領域分たまったら管理部１２３は画像データの転送を止めて照合部１２４に対して処理を開始するように指示を出す。管理部１２３は、指示を出した後、照合部１２４の終了を待つ。照合部１２４は、画像情報保持部１２２にあるマッチング領域の画像データを使って認識対象を検出する処理を行う。検出結果は照合部１２４からバスＩ／Ｆ１２１、バス１０５を経由して外部メモリ１０４の所定のアドレスに書き込まれる。そして照合部１２４は、処理が終了したら管理部１２３に通知する。管理部１２３は、終了通知を受けると画像情報保持部１２２に次のマッチング領域の画像データをためるために止めていた画像データ転送を再開する。この動作を１つの動領域の転送が終わるまで繰り返し、終了するとＤＭＡＣ１０３からＣＰＵ１０１へバス１０５を介して通知される。
【００２３】
以上のように、動領域の形状によって縦方向のバンド分割をするか横方向のバンド分割をするか変えることで重複領域のサイズを抑えことができる。
また、本実施形態では画像データの総転送量を計算する際に、計算式中の動領域の幅Ｗｖと高さＨｖとのみを変数として扱った。これは可変にできるパラメータを限定するものではなくマッチング領域の幅Ｗｓと高さＨｓとも変数として扱って総転送量を求めてもよい。
また、本実施形態では入力画像となる動領域の形状から総転送量を計算し、バンド分割の方法を選択したが、予め動領域の幅と高さとから総転送量を全て計算してテーブル化しておいて、テーブルを参照し、最も総転送量が少ないバンド分割の方法を選択してもよい。
【００２４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２５】
以上、上述した各実施形態によれば、画像データを分割してデータ転送する際に生じる転送オーバーヘッドを最小限に抑えることができる。
【００２６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、画像データから所定の特徴の一例として動領域を検出し、転送する例を用いて説明を行った。しかしながら、これは上述した実施形態を限定するものではない。例えば、動画像から所定の特徴の一例として一定時間以上動きが無い領域を検出し、転送する場合等も上述した実施形態と同様の処理で同様の効果を得ることができる。
【符号の説明】
【００２７】
１０１  ＣＰＵ、１１０  動領域検出処理部、１２０  認識処理部
【図１】
0005455547.tif 000002
【図２】
0005455547.tif 000003
【図３】
0005455547.tif 000004
【図４】
0005455547.tif 000005
【図５】
0005455547.tif 000006