(57)【要約】【課題】プロセッシングエレメント間の通信でのデータ衝突を回避し、かつプロセッシングエレメントを特定の方向に偏ることなく増加させることが可能な拡張性の高いデータ処理装置を提供する。【解決手段】ｎ次元のネットワーク２０を構成するｎ次元の方向に配置されたプロセッシングエレメントＰＥ１１〜ＰＥＭＮを含み、全てのプロセッシングエレメントは、データ転送クロックに同期してデータを入出力し、データを入出力する方向であるシフト方向に隣接する第１の隣接プロセッシングエレメントと反対側に隣接する第２の隣接プロセッシングエレメントのうち、第１の隣接プロセッシングエレメントから第１のデータを受け取るとともに、第２の隣接プロセッシングエレメントに第２のデータを出力し、隣接するプロセッシングエレメントの間のデータ転送レートが、シフト方向によらず等しい。【選択図】図１
2014016957.tif 000002
【特許請求の範囲】
【請求項１】
ｎ次元（ｎは自然数）のネットワークを構成する前記ｎ次元の方向に配置されたプロセッシングエレメントを含み、
全ての前記プロセッシングエレメントは、
データ転送クロックに同期してデータを入出力し、
データを入出力する方向であるシフト方向に隣接する第１の隣接プロセッシングエレメントと、前記第１の隣接プロセッシングエレメントの反対側に隣接する第２の隣接プロセッシングエレメントのうち、前記第１の隣接プロセッシングエレメントから第１のデータを受け取るとともに、前記第２の隣接プロセッシングエレメントに第２のデータを出力し、
隣接する前記プロセッシングエレメントの間のデータ転送レートが、前記シフト方向によらず等しい、データ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記プロセッシングエレメントは、
２次元のネットワークを構成するように配置され、
前記シフト方向は、前記２次元のうちの１つの方向である第１の方向、又は前記第１の方向と異なる第２の方向である、データ処理装置。
【請求項３】
請求項１乃至２のいずれか１項に記載のデータ処理装置において、
前記プロセッシングエレメントが順に受け取る前記第１のデータのそれぞれを最初に保持していた前記プロセッシングエレメントを結ぶと、前記ｎ次元のネットワーク上に一筆書きの経路が描かれるように、前記シフト方向を選択する、データ処理装置。
【請求項４】
請求項１乃至３のいずれか１項に記載のデータ処理装置において、
全ての前記プロセッシングエレメントに対して、同じ命令を実行させる制御部を含む、データ処理装置。
【請求項５】
請求項１乃至４のいずれか１項に記載のデータ処理装置において、
前記プロセッシングエレメントは、
ブロックに分割された画像データを受け取り、移動物体の抽出と追跡をする演算を行う、データ処理装置。
【請求項６】
請求項５に記載のデータ処理装置において、
前記プロセッシングエレメントは、
受け取った前記ブロックが背景である場合に所定の値にする第１パラメーターを含み、
前記第１の隣接プロセッシングエレメントから前記第１パラメーターを受け取り、
前記第１パラメーターを利用した論理演算結果から孤立点を判定する、データ処理装置。
【請求項７】
請求項５乃至６のいずれか１項に記載のデータ処理装置において、
前記プロセッシングエレメントは、
前記移動物体のＩＤを保持する第２パラメーターを含み、
前記第１の隣接プロセッシングエレメントから前記第２パラメーターを受け取り、
受け取った前記ブロックが前記移動物体である場合に、前記第２パラメーターの値を以前に受け取った前記移動物体である前記ブロックの前記第２パラメーターと同じ値に置き換える、データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特にアレイ型の複数のプロセッシングエレメント（ＰＥ：Processing Element、演算処理回路）を備えたデータ処理装置に関する。
【背景技術】
【０００２】
演算の高速化を目的として並列演算処理が行われることがある。例えば、動画像解析における移動物体トラッキングは、一般にハードウェア化して並列に演算することが好ましい。移動物体トラッキングの１つとして画像ブロック間の１対１対応を求める排他的ブロックマッチングが提案されている。排他的ブロックマッチングは、フレーム間の大きな動きが追跡できると同時にオブジェクト（すなわち、移動物体）内部の各部の動きも解析できる。しかし、ブロック間対応を求めるためには多大な計算時間を要するため、前記のように並列演算処理を行うことが好ましい。
【０００３】
ここで、ｎ次元（ｎは自然数）アレイ型の並列演算処理を想定すると、周辺ブロックとの類似度計算をするために多くの配線資源や転送時間が必要となる。従来手法として、高速バスとクロスバースイッチを用いる構成やシストリックアレイといった構成が提案されている。しかし、このような構成を採っても、プロセッシングエレメント間の通信やメモリアクセスの競合によって処理速度が制限される問題があった。
【０００４】
特許文献１の発明は、ｎ次元トーラス型分散処理システムであって、ｎ次元のうちの１方向に隣接するプロセッシングエレメントに、各プロセッシングエレメントは自己が持つデータを順次転送させて、同方向のプロセッシングエレメントの全てにそのデータを所持させる。そして、この転送を、ｎ次元の全ての方向で実行する。このとき、隣接するプロセッシングエレメント（例えば、２次元であれば原則として上下左右のプロセッシングエレメント）とだけ配線すればよいため、遠くのプロセッシングエレメントと通信することによる配線混雑および配線遅延は生じない。また、各プロセッシングエレメントは自己が持つデータを１方向に順次転送させるので、データの衝突による待ち時間の発生をなくすことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１１５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の発明は、１つの方向への転送を終えてから別の方向への転送を行う必要がある。そのため、例えば周辺ブロックのデータだけを用いる類似度計算においては、無駄な転送が発生することになる。つまり、特許文献１の発明は、例外なく全てのプロセッシングエレメントに同じデータを保持させるためのデータ転送に特化したものである。そのため、１つプロセッシングエレメントが、周囲の限られた範囲のデータ（局所的なデータ）だけを演算に用いる場合にも、遠く離れたプロセッシングエレメントからの不必要なデータまでも受け取ることになり無駄な転送が発生する。このとき、不必要なデータを保持するための記憶容量も必要になり、回路規模も増大してしまう可能性がある。
【０００７】
また、特許文献１の発明では、１つの方向の転送速度と別の方向の転送速度が異なる必要がある。つまり、方向によってデータ転送レートが異なる必要があり、拡張性の面で大きな問題を生じる。例えば半導体集積回路等で２次元平面上に回路を構成する場合に、上
下方向と左右方向とでは回路や配線の構成が異なるため、例えば上下方向だけ配線が混雑するといった問題を生じる。
【０００８】
そのため、プロセッシングエレメントの数を増やす際には、特定の方向に偏って増加させる必要があり、結果として特定の方向だけに配線遅延が生じ、回路形状が配置しにくい形状（例えば、一辺だけが異常に長い長方形）となる。そのため、プロセッシングエレメントの数を増やすことが困難になり、拡張性の面で問題がある。
【０００９】
本発明はこのような問題点に鑑みてなされたものである。本発明のいくつかの態様によれば、プロセッシングエレメント間の通信でのデータ衝突を回避し、かつプロセッシングエレメントを特定の方向に偏ることなく増加させることが可能な拡張性の高いデータ処理装置を提供する。
【課題を解決するための手段】
【００１０】
（１）本発明は、ｎ次元（ｎは自然数）のネットワークを構成する前記ｎ次元の方向に配置されたプロセッシングエレメントを含み、全ての前記プロセッシングエレメントは、データ転送クロックに同期してデータを入出力し、データを入出力する方向であるシフト方向に隣接する第１の隣接プロセッシングエレメントと、前記第１の隣接プロセッシングエレメントの反対側に隣接する第２の隣接プロセッシングエレメントのうち、前記第１の隣接プロセッシングエレメントから第１のデータを受け取るとともに、前記第２の隣接プロセッシングエレメントに第２のデータを出力し、隣接する前記プロセッシングエレメントの間のデータ転送レートが、前記シフト方向によらず等しい。
【００１１】
（２）このデータ処理装置において、前記プロセッシングエレメントは、２次元のネットワークを構成するように配置され、前記シフト方向は、前記２次元のうちの１つの方向である第１の方向、又は前記第１の方向と異なる第２の方向であってもよい。
【００１２】
（３）このデータ処理装置において、前記プロセッシングエレメントが順に受け取る前記第１のデータのそれぞれを最初に保持していた前記プロセッシングエレメントを結ぶと、前記ｎ次元のネットワーク上に一筆書きの経路が描かれるように、前記シフト方向を選択してもよい。
【００１３】
これらの発明に係るデータ処理装置は、ｎ次元のネットワークを構成するｎ次元の方向に配置されたプロセッシングエレメントを含む。ここで、ｎは自然数であり、例えば２次元のネットワークが構成されている。これらの発明に係るデータ処理装置は、トーラス型ネットワークを構成していてもよい。このとき、ある方向の両端に位置するプロセッシングエレメント同士も隣接するプロセッシングエレメントと扱うことが可能である。プロセッシングエレメントは広く演算処理回路を意味し、加算器やシフト回路から成る演算処理モジュールであってもよいし、論理演算回路、乗算器や大きなメモリーを含むプロセッサーであってもよい。データ処理装置は、同じ構成のプロセッシングエレメントを複数配置して並列演算処理を行う。
【００１４】
ここで、データ処理装置を用いた並列演算処理において、プロセッシングエレメントは、一般的に、その周囲のプロセッシングエレメントの演算結果を受け取って演算を行う。このとき、遠方のプロセッシングエレメントとの直接の通信が発生すると、例えばデータの同時要求等によりデータの衝突が生じる。また、データ処理装置が半導体集積回路として実現されている場合に、配線の数が増大して配線の混雑および配線遅延の問題を生じる。
【００１５】
これらの発明に係るデータ処理装置では、全てのプロセッシングエレメントは、データ
転送クロックに同期してデータを入出力する。このとき、データを入出力する方向であるシフト方向で、自己に隣接する第１の隣接プロセッシングエレメントと、第１の隣接プロセッシングエレメントの反対側に隣接する第２の隣接プロセッシングエレメントとの間だけ通信を行う。具体的には、全てのプロセッシングエレメントは、第１の隣接プロセッシングエレメントから第１のデータを受け取るとともに、第２の隣接プロセッシングエレメントに第２のデータを出力する。
【００１６】
つまり、これらの発明に係るデータ処理装置では、全てのプロセッシングエレメントが、データ転送クロックに同期して、同じシフト方向に隣接するプロセッシングエレメントとの間でだけ、特定の向きに通信を行うので、データの衝突が生じることはなく、配線の数や配線遅延の増大を回避することができる。
【００１７】
ここで、データ転送クロックは全てのプロセッシングエレメントに共通のクロックであって、例えばシステムクロックが使用されてもよい。また、例えば２次元のトーラス型ネットワークが構成されている場合、シフト方向は上下方向、左右方向であってもよい。なお、配線可能であれば、シフト方向として斜め方向を用いてもよい。そして、シフト方向は時間の経過とともに、直前のシフト方向と関係なく変化してもよい。この点で、特定の方向のシフト動作が完了してから、他の方向のシフト動作を開始する特許文献１の発明とは大きく異なる。
【００１８】
このとき、例えば自己の左隣のプロセッシングエレメントである第１の隣接プロセッシングエレメントから、入力データである第１のデータを受け取るとともに、自己の右隣のプロセッシングエレメントである第２の隣接プロセッシングエレメントに、出力データである第２のデータを出力してもよい。なお、逆向きに自己の右隣のプロセッシングエレメントが第１の隣接プロセッシングエレメントであってもよい。また、シフト方向が上下方向であって、１つ上又は１つ下のプロセッシングエレメントが第１の隣接プロセッシングエレメントであってもよい。そして、転送の向きも、直前の向きと関係なく変化してもよい。
【００１９】
これらの発明に係るデータ処理装置では、隣接するプロセッシングエレメントの間のデータ転送レートがシフト方向によらず等しい。このため、特定の方向だけ配線の混雑が生じることもなく、特定の方向に偏ることなくプロセッシングエレメントの数を増加させることが可能である。なお、データ転送レートが等しいとは、具体例としてはシフト方向によらずに同じデータ転送クロックが使用されて、データを転送するバス幅がシフト方向によらずに同じ構成であることをいう。
【００２０】
このように、これらの発明に係るデータ処理装置は、プロセッシングエレメント間の通信でのデータ衝突を回避し、かつプロセッシングエレメントを特定の方向に偏ることなく増加させることが可能な拡張性の高いデータ処理装置を実現する。
【００２１】
ここで、データ処理装置において、プロセッシングエレメントが２次元のネットワークを構成するように配置されている場合、上下方向、左右方向がそれぞれ本発明の第１の方向、第２の方向に対応してもよい。
【００２２】
このとき、平面上にネットワークが構成されるデータ処理装置を実現でき、例えば半導体集積回路として実現することが容易になる。また、シフト方向は２次元のうちのいずれか１つの方向であるため、原則として１つのプロセッシングエレメントの上下左右に隣接するプロセッシングエレメントと配線されるだけで済み、配線混雑や配線遅延の問題が生じない。
【００２３】
また、このデータ処理装置において、プロセッシングエレメントが順に受け取る第１のデータのそれぞれを最初に保持していたプロセッシングエレメントを結ぶと、ｎ次元のネットワーク上に一筆書きの経路が描かれるように、シフト方向を選択してもよい。
【００２４】
シフト方向は、データ転送クロックに同期して、毎回変更することが可能である。そのため、１つのプロセッシングエレメントが順に受け取る第１のデータのそれぞれが最初（すなわち、プロセッシングエレメントによるデータの入出力の開始前）に保持されていた他のプロセッシングエレメントを結ぶと、任意の経路を描くことができる。ここで、その経路が一筆書きで描ける経路となるようにすれば、すなわち同じ２つのプロセッシングエレメントの間を２度通ることがなければ、転送時間をできるだけ少なくすることが可能になるため、転送効率を最大限に高めることが可能になる。
【００２５】
なお、次元の数ｎとプロセッシングエレメントの数によっては、一筆書きが不可能である場合も生じる。その場合には、プロセッシングエレメントが受け取る第１のデータが最初に保持されていたプロセッシングエレメントを結ぶ経路が、最短になるように調整すればよい。具体的には、同じ２つのプロセッシングエレメントの間を２度通る回数が１回だけになるように経路を選択するとよい。
【００２６】
（４）このデータ処理装置において、全ての前記プロセッシングエレメントに対して、同じ命令を実行させる制御部を含んでもよい。
【００２７】
本発明に係るデータ処理装置は、全てのプロセッシングエレメントに対して、同じ命令を実行させる制御部を含む。そのため、全てのプロセッシングエレメントは、命令に従って例えばシフト方向を完全に揃えてデータを転送できる。このとき、データ処理装置は、ＳＩＭＤ（Single Instruction Stream Multi Data Stream）型の制御方式を用いており、同時に同一の命令が実行されるため、例えば画像の局所性を利用した画像処理のような演算を効率よく実行できる。
【００２８】
（５）このデータ処理装置において、前記プロセッシングエレメントは、ブロックに分割された画像データを受け取り、移動物体の抽出と追跡をする演算を行ってもよい。
【００２９】
（６）このデータ処理装置において、前記プロセッシングエレメントは、受け取った前記ブロックが背景である場合に所定の値にする第１パラメーターを含み、前記第１の隣接プロセッシングエレメントから前記第１パラメーターを受け取り、前記第１パラメーターを利用した論理演算結果から孤立点を判定してもよい。
【００３０】
（７）このデータ処理装置において、前記プロセッシングエレメントは、前記移動物体のＩＤを保持する第２パラメーターを含み、前記第１の隣接プロセッシングエレメントから前記第２パラメーターを受け取り、受け取った前記ブロックが前記移動物体である場合に、前記第２パラメーターの値を以前に受け取った前記移動物体である前記ブロックの前記第２パラメーターと同じ値に置き換えてもよい。
【００３１】
これらの発明に係るデータ処理装置では、プロセッシングエレメントは、ブロックに分割された画像データを受け取り、移動物体の抽出と追跡をする演算を行う。前記の通り、これらの発明に係るデータ処理装置は、プロセッシングエレメントが周囲のプロセッシングエレメントの演算結果を受け取って演算する場合でも、データの衝突を回避できる。移動物体の抽出と追跡をする演算も、周囲のプロセッシングエレメントの演算結果を受け取って演算するので、これらの発明に係るデータ処理装置の構成が適している。例えば、移動物体の追跡におけるブロック間類似度の計算を高速に実行することができる。
【００３２】
ここで、プロセッシングエレメントは、受け取ったブロックが背景である場合に所定の値にする第１パラメーターを含み、第１の隣接プロセッシングエレメントから第１パラメーターを受け取り、第１パラメーターを利用した論理演算結果から孤立点を判定してもよい。
【００３３】
背景に囲まれた孤立点を抽出することは、移動物体の抽出と追跡の処理効率を高めることに役立つ。このとき、プロセッシングエレメントは、データの衝突なく周囲のプロセッシングエレメントの演算結果を受け取ることができるが、受け取った周囲のブロックが背景であるかを判断可能な第１パラメーターも受け取ることで、孤立点を容易に判断することができる。
【００３４】
また、プロセッシングエレメントは、移動物体のＩＤを保持する第２パラメーターを含み、第１の隣接プロセッシングエレメントから第２パラメーターを受け取り、受け取ったブロックが移動物体である場合に、第２パラメーターの値を以前に受け取った移動物体であるブロックの第２パラメーターと同じ値に置き換えてもよい。
【００３５】
周囲のブロックも含めていくつかのブロックに分割されている移動物体については、ブロック毎に設定されているＩＤを共通化することで移動物体の追跡が容易になる。このとき、プロセッシングエレメントは、データの衝突なく周囲のプロセッシングエレメントの演算結果を受け取ることができるが、第２パラメーターとして移動物体のＩＤも受け取ることで、効率的に同じ移動物体のＩＤを共通化することが可能になる。
【図面の簡単な説明】
【００３６】
【図１】本実施形態のデータ処理装置を含むシステムのブロック図。
【図２】本実施形態の２次元ネットワークを説明する図。
【図３】本実施形態の２次元ネットワークのデータ転送を説明する図。
【図４】本実施形態における第１のデータの最初の状態を例示する図。
【図５】本実施形態における第１のデータの経路を説明する図。
【図６】比較例の直接伝送の配線を説明する図。
【図７】比較例の直接伝送と本実施形態の同期シフト伝送を比較する図。
【図８】排他的ブロックマッチングの処理のフローを例示する図。
【図９】類似度計算について説明する図。
【図１０】孤立点を説明するための図。
【図１１】孤立点を背景とする処理を説明するための図。
【図１２】共通化の前の移動物体のＩＤを例示する図。
【図１３】移動物体のＩＤの共通化を説明するための図。
【図１４】変形例の３次元ネットワークを説明する図。
【図１５】変形例の３次元ネットワークにおける転送の最適化を説明する図。
【発明を実施するための形態】
【００３７】
１．データ処理装置の構成
図１は、本実施形態のデータ処理装置１０を含むシステム１のブロック図である。図１に示すように、本実施形態のデータ処理装置１０は、カメラモジュール５０からの画像データを受け取り、画像をブロック化してブロック間の対応を求めて、移動物体トラッキングを行う。移動物体トラッキングは、背景と区別して移動物体を抽出し、その移動を解析するもので、例えば交通監視やセキュリティ目的で使用される。
【００３８】
本実施形態のデータ処理装置１０は、ヒストグラム生成部４０と、プロセッシングエレメントＰＥ１１〜ＰＥＭＮと制御部３０を含む。プロセッシングエレメントＰＥ１１〜ＰＥＭＮは、移動物体トラッキングのための並列演算処理を行う演算処理回路であってネッ
トワーク２０を構成している。ネットワーク２０は、任意の自然数ＭおよびＮを用いて、プロセッシングエレメントを左右方向にＭ個、上下方向にＮ個配置して構成されている。つまり、ネットワーク２０のサイズに制限はなく、例えば左右方向に７個、上下方向に６個のプロセッシングエレメントをアレイ状に配置して構成されていてもよい。
【００３９】
システム１において、データ処理装置１０は、カメラモジュール５０からの画像データをヒストグラム生成部４０で受け取ることができる。また、システム１においては、システム１の全体を制御するホストＣＰＵ６０、例えば画像データを記憶する記憶部７０がシステムバスを介して接続されている。そして、データ処理装置１０もシステムバスに接続されている。例えば、制御部３０はホストＣＰＵ６０からシステムバスを介して指示を受けとってもよい。また、配線の図示は省略しているが、データ処理装置１０は、ヒストグラムや移動物体トラッキングを実行した後のデータを、システムバスを介して記憶部７０へと書き込んでもよい。
【００４０】
本実施形態のデータ処理装置１０のヒストグラム生成部４０は、カメラモジュール５０からの画像データをブロック化してブロック単位のヒストグラムを生成する。移動物体トラッキングでは、画像データをブロック化して扱うことで、フレーム間の大きな動きが追跡できると同時に移動物体内部の各部の動きも解析できる。そして、ブロック単位のヒストグラムを用いて、画像ブロック間の１対１対応を求める排他的ブロックマッチングを実行することで、移動物体が例えば回転・拡大・縮小した場合であっても、画像ブロック間の対応を精度良く求めることが可能になる。なお、ヒストグラム生成部４０はデータ処理装置１０の外部にあってもよい。このとき、データ処理装置１０は外部のヒストグラム生成部４０からブロック単位のヒストグラムを受け取る。
【００４１】
本実施形態のデータ処理装置１０のプロセッシングエレメントＰＥ１１〜ＰＥＭＮは画像ブロックに対応するように２次元に配置されている。そして、本実施形態のネットワーク２０は、２次元のトーラス型ネットワークであり、左右方向および上下方向の両端に位置するプロセッシングエレメント同士も隣接するプロセッシングエレメントと扱うことが可能である。このとき、ネットワーク２０の端部の例外処理を行う必要がないため、後述する同期シフト転送に適した構成となっている。
【００４２】
なお、以下においては説明の都合上、データ処理装置１０は１フレーム分の画像ブロックのそれぞれに対応するプロセッシングエレメントＰＥ１１〜ＰＥＭＮを含むものとする。しかし、１フレーム分の画像ブロックを領域毎にグループ化して時分割して処理することも可能である。また、本実施形態ではネットワーク２０はトーラス型であるが、本発明のネットワークは開平面であってもよい。このとき、伝送中にネットワーク２０の領域外に出たデータにフラグをたてて、その後の並列演算処理で使用されないようにしてもよい。また、並列演算処理で使用するが無効なデータを捨ててもよい。例えば、図１のようにプロセッシングエレメントＰＥ１１〜ＰＥＭＮを含むが、開平面であるネットワークがあるとする。このとき、後述するように１つのプロセッシングエレメントが自己を中心に（２ｒ＋１）行×（２ｒ＋１）列の範囲のデータを用いて演算処理をするならば、ネットワーク２０の周辺ｒ列およびｒ行のデータを捨ててもよい。このようなデータの取捨選択は、画像を領域毎にグループ化して時分割で処理（ページ処理）する際に有効である。なお、ｒは自然数であって、２ｒ＋１≦ｍｉｎ（Ｍ，Ｎ）を満たすものとする。
【００４３】
プロセッシングエレメントＰＥ１１〜ＰＥＭＮのそれぞれは、ヒストグラム生成部４０から対応する画像ブロックのデータ１４０（例えばヒストグラム）を受け取り、制御部３０からの命令１３０に従って移動物体トラッキングに必要な演算を並列に行う。このとき、本実施形態のデータ処理装置１０では、プロセッシングエレメントＰＥ１１〜ＰＥＭＮのそれぞれが、データ転送クロックに同期して、シフト方向に隣接するプロセッシングエ
レメントとの間でデータを入出力する「同期シフト転送」を行う。ここで、データ転送クロックは、システム１を構成するモジュールの全てに供給されているシステムクロック（不図示）であるとする。
【００４４】
図１を参照して、１つのプロセッシングエレメントＰＥｉｊについて同期シフト転送でのデータの入出力を説明する。なお、ｉおよびｊは自然数であって、１≦ｉ≦Ｍ、１≦ｊ≦Ｎが成り立つ。
【００４５】
プロセッシングエレメントＰＥｉｊは、シフト方向を上下方向（「紙面に対して」の方向を意味し、以下表記を省略する）、その向きを下向きとする命令１３０を制御部３０から受け取ったとする。このとき、データ（第１のデータに対応）を受け取る第１の隣接プロセッシングエレメントをプロセッシングエレメントＰＥｉｊ−１（不図示）とし、自己のデータ（第２のデータに対応）を出力する第２の隣接プロセッシングエレメントをプロセッシングエレメントＰＥｉｊ＋１（不図示）とする。つまり、配線１２３経由でプロセッシングエレメントＰＥｉｊ−１からデータを受け取り、配線１２４経由で自己のデータをプロセッシングエレメントＰＥｉｊ＋１に出力する。なお、シフト方向の向きが上方向の場合には、第１の隣接プロセッシングエレメントと第２の隣接プロセッシングエレメントの対応、および配線１２３と配線１２４の対応は逆になる。
【００４６】
また、プロセッシングエレメントＰＥｉｊが、制御部３０からシフト方向を左右方向、その向きを右向きとする命令１３０を受け取った場合には、第１の隣接プロセッシングエレメントをプロセッシングエレメントＰＥｉ−１ｊ（不図示）とし、第２の隣接プロセッシングエレメントをプロセッシングエレメントＰＥｉ＋１ｊ（不図示）とする。つまり、配線１２１経由で第１のデータを受け取り、配線１２２経由で第２のデータを出力する。なお、シフト方向の向きが左方向の場合には、第１の隣接プロセッシングエレメントと第２の隣接プロセッシングエレメントの対応、および配線１２１と配線１２２の対応は逆になる。
【００４７】
データ処理装置１０はＳＩＭＤ型の制御方式を用いており、制御部３０は、プロセッシングエレメントＰＥ１１〜ＰＥＭＮに対して同時に同一の命令１３０を与える。そのため、全てのプロセッシングエレメントが、命令１３０に従ってデータの入出力をデータ転送クロックに同期して行う。
【００４８】
このため、データ処理装置１０は例えば隣接ブロックのデータも用いるような画像の局所性を利用した演算を効率よく実行できる。以下では、より具体的に５×５（前記のＭ＝５、Ｎ＝５の場合）のプロセッシングエレメントＰＥ１１〜ＰＥ５５で構成されるネットワーク２０を例として、データの同期シフト転送について図２〜図５を参照して説明する。
【００４９】
２．同期シフト転送
２．１．データの転送動作について
図２は、プロセッシングエレメントＰＥ１１〜ＰＥ５５で構成されるネットワーク２０の最初の状態を示す図である。ここで、最初の状態とは、カメラモジュール５０からの画像データを受け取った直後であって、同期シフト転送が行われる前の状態を指す。なお、命令１３０とデータ１４０についての図示は省略している。
【００５０】
プロセッシングエレメントＰＥ１１〜ＰＥ５５のそれぞれは、データを保持する例えばレジスターのような記憶回路Ｍ１１〜Ｍ５５と、記憶回路Ｍ１１〜Ｍ５５と通信して演算処理を行う演算回路Ｐを含む。プロセッシングエレメントＰＥ１１〜ＰＥ５５は、図２のように２次元トーラス型であるネットワーク２０を構成する。例えば、プロセッシングエ
レメントＰＥ５１は、左右方向にプロセッシングエレメントＰＥ１１とも隣接し、上下方向にプロセッシングエレメントＰＥ５５とも隣接している。
【００５１】
図２のように、プロセッシングエレメントＰＥ１１〜ＰＥ５５は、それぞれの記憶回路Ｍ１１〜Ｍ５５に、それぞれデータｄ１１〜ｄ５５を最初に保持している。ここで、データｄ１１〜ｄ５５は、それぞれの画像ブロックのヒストグラム（図１のデータ１４０参照）に基づく演算回路Ｐの演算結果であるとする。そして、プロセッシングエレメントＰＥ１１〜ＰＥ５５は、制御部３０から次のデータ転送クロックに同期して、シフト方向を左右方向、その向きを左向きとする命令１３０を受け取っているとする。
【００５２】
図３は、最初の状態に続く１回目の同期シフト転送がされた状態を表す図である。このとき、データは図３に示す矢印の方向に、データ転送クロックに同期してシフト転送されている。そのため、例えばプロセッシングエレメントＰＥ５１は、第１の隣接プロセッシングエレメントＰＥ１１から第１のデータｄ１１を受け取り、第２の隣接プロセッシングエレメントＰＥ４１に自己が有していた第２のデータｄ５１を出力している。
【００５３】
図２と図３とを比較すると明らかなように、全てのデータｄ１１〜ｄ５５は、左側のプロセッシングエレメントＰＥ１１〜ＰＥ５５へとシフトしている。このとき、全てのデータｄ１１〜ｄ５５は、データ転送クロックに同期して、同じ方向の隣接するプロセッシングエレメントに移動する。そのため、全てのデータｄ１１〜ｄ５５が移動するにもかかわらず、データの衝突が生じることはない。
【００５４】
また、図３ではシフト方向を左右方向として例示したが、シフト方向が上下方向であっても同じくデータの衝突が生じることはない。そして、ネットワーク２０において隣接する上下左右のプロセッシングエレメントＰＥ１１〜ＰＥ５５との間のバス幅は全て同じである。そのため、データ処理装置１０は、シフト方向によらずデータ転送レートが等しい。データ転送クロックの各サイクルで、シフト方向（向きを含む）を自由に設定することができる。また、プロセッシングエレメントの数の増減も容易にできるので拡張性の高いデータ処理装置１０を実現する。
【００５５】
ここで、データ転送クロックの各サイクルで、データ転送の向きを自由に設定できることは、例えば画像の局所性を利用した画像処理に適している。このような画像処理では、１つプロセッシングエレメントは、周囲の限られた範囲のプロセッシングエレメントとだけデータ転送を行えばよい。本実施形態のデータ処理装置１０は、例えば隣接する（ここでは斜め方向も含む）８つの画像ブロックのデータを用いる演算処理において、効率的な演算を行うことができる。より一般的には、本実施形態のデータ処理装置１０は、各プロセッシングエレメントが、自己を中心とした（２ｒ＋１）×（２ｒ＋１）の範囲でデータ転送を行う効率的な演算が可能である。なお、ｒは自然数で、図１のネットワーク２０のＭ、Ｎを用いて２ｒ＋１≦ｍｉｎ（Ｍ，Ｎ）を満たすものとする。ｒ＝１の場合、自己を中心とする３×３のデータ転送範囲で、周囲の８つのプロセッシングエレメントとデータ転送を行う。
【００５６】
図４は、シフト方向および向きを（１）〜（８）の順に設定した場合に、プロセッシングエレメントＰＥ３３が受け取る第１のデータの最初の状態を示す図である。なお、図４は、プロセッシングエレメントＰＥ３３のデータ転送範囲（ｒ＝１）であるネットワーク２０の一部を表している。この例では、データ転送クロックに同期して、データを転送する向きが（１）左、（２）下、（３）右、（４）右、（５）上、（６）上、（７）左、（８）左、の順に変化する。そして、プロセッシングエレメントＰＥ３３は、第１のデータとしてデータｄ４３、データｄ４２、データｄ３２、データｄ２２、データｄ２３、データｄ２４、データｄ３４、データｄ４４の順に受け取る。つまり、図４のようにデータを
転送する向きを表すベクトルを順につないだ経路上にあるデータを、順次受け取ることができる。
【００５７】
このとき、データを転送する向きを表すベクトルを順につないだ経路上にあるデータに重複がなければ、同じデータを２回受け取ることがないので最も効率が良いと言える。すなわち、前記の経路をネットワーク２０上において一筆書きで書けるならば、データの転送の効率を最大限に高めていると言える。
【００５８】
逆の見方をすると、データ処理装置１０は、ある１つのプロセッシングエレメントが順に受け取る第１のデータのそれぞれを最初に保持していた前記プロセッシングエレメントを結んだ場合に、ネットワーク２０上に一筆書きの経路が描かれるようシフト方向を選択することで、データの転送の効率を最大限に高めることができる。
【００５９】
図５は、図４と同じようにデータを転送する向きを設定した場合に、データｄ４３、データｄ４２、データｄ３２、データｄ２４、データｄ４４が移動する軌跡を具体的に示したものである。図５の（１）〜（８）の数字は、図４と同じ転送のタイミングを表し、（ｋ）はｋ回目の同期シフト伝送に対応する（ｋ＝１、２、３、…、８）。
【００６０】
まず、データｄ４３については、１回目の同期シフト伝送でプロセッシングエレメントＰＥ３３に入力される。データｄ４２については、プロセッシングエレメントＰＥ３２を経由して、２回目の同期シフト伝送でプロセッシングエレメントＰＥ３３に入力される。データｄ３２については、プロセッシングエレメントＰＥ２２、ＰＥ２３を経由して、３回目の同期シフト伝送でプロセッシングエレメントＰＥ３３に入力される。また、データｄ２４については、プロセッシングエレメントＰＥ１４、ＰＥ１５、ＰＥ２５、ＰＥ３５、ＰＥ３４を経由して、６回目の同期シフト伝送でプロセッシングエレメントＰＥ３３に入力される。そして、データｄ４４については、プロセッシングエレメントＰＥ３４、ＰＥ３５、ＰＥ４５、ＰＥ５５、ＰＥ５４、ＰＥ５３、ＰＥ４３を経由して、８回目の同期シフト伝送でプロセッシングエレメントＰＥ３３に入力される。
【００６１】
このように、データｄ４２、データｄ３２、データｄ２４、データｄ４４は、他のプロセッシングエレメントを経由してプロセッシングエレメントＰＥ３３に入力されるが、経由するプロセッシングエレメントにとっても、これらのデータは隣接する８つの画像ブロックのデータに該当する。そのため、経由するプロセッシングエレメントでも演算が行われる。すなわち、この例において演算に使用されない無駄な転送は一度もなく、隣接する８つの画像ブロックのデータを用いる演算処理において、効率的な演算を行うことができる。
【００６２】
２．２．性能について
ここで、本実施形態のデータ処理装置１０が採る同期シフト転送について、直接伝送と対比しながら説明する。図６は、比較例の直接伝送の配線を説明する図である。この比較例でも、本実施形態のデータ処理装置１０と同じようにプロセッシングエレメントＰＥ１１〜ＰＥ５５が配置されているものとする。
【００６３】
比較例が採る直接伝送では、各プロセッシングエレメントＰＥ１１〜ＰＥ５５は相互に接続される必要がある。例えば、５×５のデータ転送範囲（ｒ＝２）では、プロセッシングエレメントＰＥ３３について図６のような配線が必要になる。図６では、見やすさのためにプロセッシングエレメントＰＥ３３だけについて他のプロセッシングエレメントとの配線（図６における太線）を示しているが、実際には他のプロセッシングエレメントについても同じように配線されている。
【００６４】
図６からもわかるように、比較例では、プロセッシングエレメントの数が増加すると配線混雑の問題が生じやすく、また、遠方のプロセッシングエレメントとの配線では遅延の問題も生じやすい。一方、本実施形態のデータ処理装置１０は、隣接するプロセッシングエレメント間だけで配線されるので、配線混雑の問題および配線遅延の問題も生じない。
【００６５】
図７は、直接伝送と同期シフト伝送の性能を比較する図である。例えば「バスの本数／プロセッシングエレメント」はプロセッシングエレメント当たりのバスの本数を示す。図６に示す比較例（直接伝送の例）では、ｒ＝２であるので、（２×２＋１）２−１＝２４本のバスが必要になる。一方、図２に示す本実施形態のデータ処理装置１０では上下左右の４本のバスだけでよい。
【００６６】
バスの総数は前記のバスの本数にプロセッシングエレメントの総数Ｎを乗じたものとなり、配線の総数はさらにバス幅ｂを乗じたものとなる。プロセッシングエレメントで構成するアレイ状のネットワークが大きい場合に、すなわち演算処理の並列度が高い場合には特に、同期シフト伝送の方が直接伝送に比べて配線混雑が生じにくいことがわかる。
【００６７】
そして、隣接するプロセッシングエレメント間の距離をＬとして、プロセッシングエレメント当たりの配線長も図７のように計算できる。プロセッシングエレメントで構成するアレイ状のネットワーク２０が大きい場合に、直接伝送では配線長が長くなり遅延の問題も生じやすいが、同期シフト伝送は影響を受けないことがわかる。
【００６８】
ここで、本実施形態のデータ処理装置１０のネットワーク２０において、プロセッシングエレメント間のバス幅ｂは例えば２ビット程度に抑えることができる。本実施形態のデータ処理装置１０では、配線遅延の問題はなく、隣接するプロセッシングエレメント間で高速にデータを転送することが可能である。そのため、データを例えば２ビット程度に分割して複数回転送しても、その転送時間がプロセッシングエレメントにおける演算時間を超えることがないからである。
【００６９】
ここで、１回のデータ転送にかかる時間をＳとすると、同期シフト伝送は転送時間が最大でＳ×｛（２ｒ＋１）２−１｝だけかかってしまう。例えば、図４の例は、３×３のアレイ状のネットワーク２０の全てのプロセッシングエレメントのデータを転送することに対応する。このとき、ｒ＝１とできるので最大で８Ｓの時間がかかる。
【００７０】
一方、全てのプロセッシングエレメント間がバスで直結されている直接伝送では、どのプロセッシングエレメントのデータであっても１Ｓで受け取ることが可能である。すると、転送時間については直接伝送の方が有利であると言える。
【００７１】
しかし、一般にデータ処理装置においては、データの転送時間と演算にかかる時間（以下、演算時間という）の一方がボトルネックとなり処理時間が定まる。そのため、例えデータの転送時間が早くても演算時間が遅い場合には、処理時間は演算時間によって定まる。
【００７２】
そこで、１つのデータについての演算時間をＴとすると、直接伝送であってもＴ×（２ｒ＋１）２だけの処理時間がかかる。一方、同期シフト伝送では、１回のデータ転送にかかる時間Ｓと演算時間Ｔの遅い方で処理時間が定まるので、処理時間はｍａｘ（Ｓ，Ｔ）×（２ｒ＋１）２で表すことができる。
【００７３】
ここで、図５を参照して説明したように、データ処理装置１０では適切なシフト方向を選択することで演算に使用されない無駄な転送が一度も生じないようにすることができる。このとき、前記の式でｍａｘ（Ｓ，Ｔ）＝Ｔであると考えられるので、処理時間はＴ×
（２ｒ＋１）２となる。
【００７４】
以上のように、プロセッシングエレメントの演算時間から定まる条件を満たすことで、データの転送時間がボトルネックとなることはない。このとき、配線遅延を生じない容量無限大の通信路がプロセッシングエレメント間に存在する理想的な直接接続にも劣らない、高速な処理時間を実現することが可能である。
【００７５】
３．移動物体トラッキングにおける並列演算処理
本実施形態のデータ処理装置１０は、移動物体トラッキングにおけるいくつかの画像処理についても処理時間を短縮し、優れた処理能力を発揮する。図８は、データ処理装置１０が行う、排他的ブロックマッチングと呼ばれる処理のフローチャートである。データ処理装置１０は、カメラモジュール５０からの画像データに基づいてヒストグラム生成部４０で画像ブロック単位のヒストグラムを生成する（Ｓ１０）。
【００７６】
そして、画像ブロック単位のヒストグラムを受け取ったプロセッシングエレメントは、画像ブロック間の特徴量の類似度を計算する（Ｓ２０）。このときの類似度計算は、図９に示すように、時間的に以前のフレーム（(t-1)-th frame）の周囲の画像ブロックの特徴量と比較する計算である。なお、図９の１つのフレーム（t-th frame、(t-1)-th frame、又はBackground）における４２個の丸の１つ１つがプロセッシングエレメントに対応する。そして、紙面上下方向で同一位置にある丸は、同一のプロセッシングエレメントに対応する。
【００７７】
類似度計算の結果に基づいて、画像ブロック間の対応を決定する（Ｓ３０）。このとき、画像ブロック間の対応は、現在のフレーム（図９のt-th frame）の画像ブロックと時間的に以前のフレーム（(t-1)-th frame）の画像ブロックの類似度の１次割当問題として解くことができる。このとき、図９のように移動物体ではない背景（Background）との対応を考慮することもできるので、画像ブロック間の対応を正確に求めることができる。
【００７８】
そして、得られた画像ブロック間の対応に基づいて、孤立点除去を行って背景を更新し、移動物体にＩＤを付与する演算を行う（Ｓ４０）。このとき、孤立点の判断は、周囲の画像ブロックが背景か否かに基づいて行う。また、移動物体にＩＤを付与する場合にも、周囲の画像ブロックと連続する移動物体には同じＩＤを付与する必要がある。
【００７９】
以上のように、データ処理装置１０が行う、排他的ブロックマッチングと呼ばれる処理では、いくつかの演算を行う。そのうち、類似度計算（Ｓ２０参照）と孤立点除去および移動物体へのＩＤの付与（Ｓ４０参照）は、画像の局所性、すなわち周囲の画像ブロックのデータを利用する演算である。そのため、本実施形態のデータ処理装置１０は、これらの演算を効率よく実行でき、処理時間を早めることができる。
【００８０】
まず、類似度計算としては、例えば比較するブロックの特徴量の差分絶対値和を求めてもよい。このとき、図４を参照して説明したように、周囲の画像ブロックの特徴量を含むデータを８回の転送で効率よく受け取ることができ、しかも、全ての転送において必要な演算が実行されるため処理時間を早めることができる。
【００８１】
次に、孤立点除去について説明する。図１０は孤立点を説明するための図であり、プロセッシングエレメントＰＥ２２〜ＰＥ４４は図４と同じようにネットワーク２０の一部である。図１０では、図４の記憶回路Ｍ２２〜Ｍ４４の表示を省略し、代わりに第１パラメーターＸ２２〜Ｘ４４を表示している。第１パラメーターＸ２２〜Ｘ４４についても、記憶回路Ｍ２２〜Ｍ４４のデータと共に転送される。
【００８２】
第１パラメーターＸ２２〜Ｘ４４は、それぞれ、画像ブロックが背景である場合に０に設定される。孤立点とは、図１０のように周囲の画像ブロックの全てが背景であるような、背景ではない画像ブロックである。しかし、孤立点は実際には背景であるのに、何らかの原因で背景ではないと判断された画像ブロックであると考えられる。
【００８３】
そこで、データ処理装置１０は、第１パラメーターＸ２２〜Ｘ４４を８回の転送で効率よく受け取り、孤立点であることを確認すると（図１０参照）、図１１のようにプロセッシングエレメントＰＥ３３の第１パラメーターＸ３３を０に変更する孤立点除去を行う。
【００８４】
この場合にも、周囲の画像ブロックの第１パラメーターを効率よく受け取り、しかも、全ての転送において孤立点か否かを判定する演算が実行されるため処理時間を早めることができる。このとき、例えば第１パラメーターＸ３３を除く第１パラメーターＸ２２〜Ｘ４４の論理和が０であることによって孤立点を判断してもよい。
【００８５】
次に移動物体のＩＤ付与について説明する。図１２は、移動物体のＩＤ付与について説明するための図である。図１２では、図５の記憶回路Ｍ１１〜Ｍ５５の表示を省略し、代わりに第２パラメーターＹ１１〜Ｙ５５を表示している。第２パラメーターＹ１１〜Ｙ５５は、移動物体のＩＤを保持する。図１２の第２パラメーターＹ１１〜Ｙ５５は、正確なＩＤの付与の処理、すなわちＩＤの共通化の処理の前の状態であり、画像ブロック毎に異なる初期値が与えられている。第２パラメーターＹ１１〜Ｙ５５についても、記憶回路Ｍ１１〜Ｍ５５のデータと共に転送される。
【００８６】
ここで、図１２においては、太線で囲まれている部分が移動物体であって、それ以外のブロックは第１パラメーターによって背景であることが分かっているとする。このとき、データ処理装置１０は、周囲の画像ブロックの第２パラメーターを効率よく受け取り、自己の画像ブロックと連続性を有する背景以外の画像ブロックの第２パラメーターを揃える。図１３は、データ処理装置１０がＩＤの共通化の処理を実行した後の状態を表し、この例では連続性を有する背景でないブロックの最小の初期値を、共通のＩＤとしている。この処理により、以降のフレームにおいて、移動物体の抽出とその移動の解析を正確に行うことができる。
【００８７】
以上のように、本実施形態のデータ処理装置１０では、同期シフト転送によって、プロセッシングエレメント間の通信でのデータ衝突を回避できる。また、シフト方向によらずデータ転送レートが等しいため、プロセッシングエレメントを特定の方向に偏ることなく増加させることが可能な拡張性の高いデータ処理装置を提供する。このとき、適切なシフト方向を選択することで演算に使用されない無駄な転送が一度も生じないようにすることができ、画像の局所性を利用した画像処理のような演算を効率よく実行できる。
【００８８】
４．変形例
本実施形態のデータ処理装置１０の説明では、ネットワーク２０は２次元のトーラス型ネットワークであったが、特に２次元に限る必要はなく３次元以上のネットワークを用いてもよい。
【００８９】
図１４はネットワーク２０を３次元とした場合を例示する図である。ここで、丸はプロセッシングエレメントを表す。なお、見やすさのために交互に色を付しているが、プロセッシングエレメントの構成は全て同一であり、バスの幅なども方向によらず同じである。
【００９０】
２次元のトーラス型ネットワークの場合（図４参照）と同様に、図１４のネットワークにおいても、周囲のプロセッシングエレメントからのデータを効率良く受け取ることが可能である。ここで、図１４の太線でしめした矢印は図４と同じようにシフト方向を示すベ
クトルを接続したものであり、詳細な説明を省略する。また、プロセッシングエレメントＰＥＣは図４のプロセッシングエレメントＰＥ３３に対応する。
【００９１】
しかし、図１４の例のようにネットワークに含まれるプロセッシングエレメントの数によっては、一筆書きで描く経路に全てのプロセッシングエレメントを含むことができず、データを受け取れないプロセッシングエレメントＰＥｉが生じることがある。
【００９２】
このような場合には、図１５のように、往復する冗長な経路Ｒ０およびＲ１を加えて、同じ２つのプロセッシングエレメントの間を１往復だけするようにシフト方向を選択するとよい。その他の事項については、前記の実施形態と同じであり説明を省略する。
【００９３】
５．その他
前記の実施形態では、データ処理装置１０は移動物体トラッキングのための画像処理を実施するが、本発明は、移動物体トラッキング以外の画像処理や画像処理以外の演算処理も効果的に行うことができる。
【００９４】
例えば、図１のデータ処理装置１０は、カメラモジュール５０からの画像データをヒストグラム生成部４０が受け取る。しかし、ヒストグラム生成部４０は一例であり、一般に入力データをプロセッシングエレメントＰＥ１１〜ＰＥＭＮが扱える形式に変換するデータ変換部を含んでいてもよい。
【００９５】
例えば、データ処理装置１０は、ヒストグラム生成部４０ではなく、画像データを単にブロック化してプロセッシングエレメントＰＥ１１〜ＰＥＭＮに与えるデータ変換部を含むとする。このとき、制御部３０はネットワーク２０を用いて画像のフィルタリングを実行してもよい。フィルターの種類は特定のものに限られないが、例えば、画像の局所性を利用する演算を含むガウシアンフィルター等を実行して効率的なノイズ除去をすることができる。
【００９６】
また、データ処理装置１０は画像処理に限らず、一般的な数値データを受け取ってもよい。例えば、ｎ次元の数値データをデータ変換部が受け取り、ｎ次元ネットワークを構成するプロセッシングエレメントが並列演算を行うことで、効率的に微分方程式を解くことも可能である。
【００９７】
ここで、前記の実施形態および変形例のデータ処理装置１０は、半導体集積回路として実現されてもよい。例えば、図１のプロセッシングエレメントＰＥ１１〜ＰＥＭＮは規則的に配置されて２次元のネットワーク２０を構成する。この規則性から回路面積を増大させることなく半導体集積回路として実現できる。また、前記の通り配線の混雑や配線遅延の増加を生じず、１つの制御部３０でＳＩＭＤ型の制御方式を実現できるため、半導体集積回路に向いている。
【００９８】
また、データ転送レートがシフト方向によらず等しいので、プロセッシングエレメントＰＥ１１〜ＰＥＭＮを増減することも容易である。例えば、ＦＰＧＡ（Field-Programmable Gate Array）等を用いて、用途に応じて規模を変更できる柔軟なデータ処理装置１０ないしそれを用いたシステム１を構成することができる。
【００９９】
なお、図１の例では、データ処理装置１０だけでなく、ホストＣＰＵ６０や記憶部７０も含めて半導体集積回路としてもよい。また、図１のデータ処理装置１０の一部（例えば、制御部３０およびヒストグラム生成部４０の少なくとも一方を除いた構成）を半導体集積回路としてもよい。
【０１００】
さらに、図１の例ではプロセッシングエレメントＰＥ１１〜ＰＥＭＮの間の配線方向は上下左右であるが斜め方向に配線してもよい。このとき、転送時間について改善を図ることが可能である。
【０１０１】
これらの例示に限らず、本発明は、実施形態で説明した構成と実質的に同一の構成（例えば、機能、方法および結果が同一の構成、あるいは目的および効果が同一の構成）を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１０２】
１  システム、１０  データ処理装置、２０  ネットワーク、３０  制御部、４０  ヒストグラム生成部、５０  カメラモジュール、６０  ホストＣＰＵ、７０  記憶部、１２１〜１２４  配線、１３０  命令、１４０  データ、Ｍ１１〜Ｍ５５  記憶回路、ＰＥ１１〜ＰＥ５５，ＰＥｉｊ，ＰＥＭＮ  プロセッシングエレメント、Ｘ２２〜Ｘ４４  第１パラメーター、Ｙ１１〜Ｙ５５  第２パラメーター、ｄ１１〜ｄ５５  データ
【図１】
2014016957.tif 000003
【図２】
2014016957.tif 000004
【図３】
2014016957.tif 000005
【図４】
2014016957.tif 000006
【図５】
2014016957.tif 000007
【図６】
2014016957.tif 000008
【図７】
2014016957.tif 000009
【図８】
2014016957.tif 000010
【図１２】
2014016957.tif 000011
【図９】
2014016957.tif 000012
【図１０】
2014016957.tif 000013
【図１１】
2014016957.tif 000014
【図１３】
2014016957.tif 000015
【図１４】
2014016957.tif 000016
【図１５】
2014016957.tif 000017