JP3826517B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP3826517B2 JP3826517B2 JP29419797A JP29419797A JP3826517B2 JP 3826517 B2 JP3826517 B2 JP 3826517B2 JP 29419797 A JP29419797 A JP 29419797A JP 29419797 A JP29419797 A JP 29419797A JP 3826517 B2 JP3826517 B2 JP 3826517B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- search
- calculation
- pixel data
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Manipulator (AREA)
- Image Processing (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
この発明は、例えばロボットシステムに適用して好適な画像処理装置に関する。詳しくは、第2の制御手段は、第1の制御手段で作成された制御リストに基づき、外部メモリより参照画像データおよび検索画像データを内部メモリに転送し、それらの画像データを使用して演算手段に画像認識のための演算を行わせ、さらにその演算結果を外部メモリに転送するように制御することによって、第1の制御手段の負担軽減を図るようにした画像処理装置に係るものである。
【0002】
【従来の技術】
従来の積和演算装置等は、高度に並列化されており、演算の処理自体は非常に高速に行えるものが多い。また、画像の圧縮伸長等に処理を特定し、画像の転送や積和演算後の処理をハードウェア化することによりシステム全体を高速化する例もある。
【0003】
【発明が解決しようとする課題】
しかしながら、積和演算装置等を例えばロボットシステムにおける画像認識処理等の汎用な処理の一部として使用する場合、積和演算装置への大量のデータ転送や積和演算の後処理等のために、システムの制御手段としてのCPU(central processing unit)の負担が増大し、システム全体のスループットを上げることが困難となる。また、従来の積和演算装置等は、積算器、加算器自体を多く持って高度に並列化することで、回路面積が大きくなるという不都合もあった。
【0004】
そこで、この発明では、例えばシステムの制御手段としてのCPUの負担を軽減し得る画像処理装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
この発明に係る画像処理装置は、第1の制御手段と、第2の制御手段と、外部メモリと、内部メモリと、第1のレジスタと、第2のレジスタと、参照画像データおよび検索画像データを使用して画像認識のための演算を行う演算手段とを備え、第2の制御手段は、第1の制御手段で作成された制御リストに基づき、外部メモリより参照画像データおよび検索画像データを内部メモリに転送し、内部メモリから参照画像データの参照画素データをm個(mは正の整数)ずつ読み出して第1のレジスタにm又は2m個の参照画素データを保持すると共に、内部メモリから検索画像データの検索画素データをm個ずつ読み出して第2のレジスタにm個の検索画素データを保持し、1回目の段階で、当該m個の検索画素データに係る当該m個の参照画素データを並列的に積算し、2回目の段階で、次の当該m個の検索画素データに係る当該2m個の参照画素データを並列的に積算し、3回目以降の各段階でも同様に、次の当該m個の検索画素データに係る当該2m個の参照画素データを並列的に積算するように演算手段に画像認識のための演算を行わせ、さらに演算手段の演算結果を外部メモリに転送するように制御するものである。
【0006】
この発明において、画像認識の演算を行う際、第1の制御手段、例えばシステムの制御手段としてのCPUより第2の制御手段にその演算の開始が指示される。これに対して、第2の制御手段は、第1の制御手段で作成された制御リストを例えば外部メモリより取得し、この制御リストに基づいてデータの転送制御をする。
【0007】
すなわち、まず外部メモリより内部メモリに参照画像データおよび検索画像データを転送する。参照画像データおよび検索画像データは、例えばビデオカメラより出力される画像データより生成されたものである。次に、内部メモリから参照画像データの参照画素データをm個(mは正の整数)ずつ読み出して第1のレジスタにm又は2m個の参照画素データを保持し、また内部メモリから検索画像データの検索画素データをm個ずつ読み出して第2のレジスタにm個の検索画素データを保持する。そして、1回目の段階で、当該m個の検索画素データに係る当該m個の参照画素データを並列的に積算し、2回目の段階で、次の当該m個の検索画素データに係る当該2m個の参照画素データを並列的に積算し、3回目以降の各段階でも同様に、次の当該m個の検索画素データに係る当該2m個の参照画素データを並列的に積算するように演算手段に画像認識のための演算を行わせる。この場合、画像認識のための複数の積和演算を並列的に行うことができ、処理の高速化が図られる。そして、画像認識のための演算結果を外部メモリに転送する。
【0008】
このように、画像認識の演算を行う際、第1の制御手段、例えばシステムの制御手段としてのCPUは第2の制御手段にその演算の開始を指示するだけで済む。これにより、CPUの負担が軽減されることとなり、システム全体のスループットを上げることが可能となる。また、外部メモリより内部メモリに参照画像データおよび検索画像データを転送して処理するものであり、処理前の画像データは外部メモリに残っているため、同一の画像データに対して演算を繰り返し行うことが可能となる。
【0009】
【発明の実施の形態】
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としてのロボットシステム10の構成を示している。このロボットシステム10は、システム全体を制御する制御手段としてのCPU11と、例えばCCD(charge coupled device)固体撮像素子を有してなるビデオカメラ12と、このビデオカメラ12より出力される画像データなどを記憶する外部メモリとしてのDRAM(dynamic random access memory)13と、CPU11の動作プログラム等が記憶されたフラッシュROM(read only memory)14と、CPU11の周辺回路、音声認識や音声合成のためのDSP(digital signal processor)、画像処理回路、シリアルバスのホストコントローラ等を1つにまとめたLSI(large scale integrated circuit)15とを有している。
【0010】
CPU11、ビデオカメラ12、DRAM13およびフラッシュROM14は、LSI15に接続されている。なお、フラッシュROM14に記憶されているCPU11の動作プログラムは、外部PC(personal computer)16等の開発環境によって作成および変更が可能とされている。この場合、開発環境としてのPC16は、LSI15に接続される。
【0011】
また、ロボットシステム10は、アクチュエータ17a、ポテンショメータ17b、スピーカ17c、マイクロホン17d等のCPC(configurable physical component)ディバイスを有している。このCPCディバイス17は、ロボットの手足や耳、口等を構成するものであり、分岐部18を介してLSI15に接続されている。この場合、CPU11によって、ポテンショメータ17bの出力やマイクロホン17dの出力が監視され、アクチュエータ17aの動きやスピーカ17cからの音声出力が制御される。
【0012】
図2は、LSI15の構成を示している。このLSI15は、DRAM13のコントローラとしてのDRAMインタフェース21と、CPU11と接続するためのホストインタフェース22と、フラッシュROM14のコントローラとしてのROMインタフェース23と、外部バス24と内部バス25のアービトレーションを行うためのバスアービッタ26とを有している。インタフェース21〜23は、それぞれ外部バス24に接続されている。
【0013】
また、LSI15は、例えば開発環境としてのPC16が接続されるシリアルポート27と、パラレルポート28と、バッテリーの残量の管理や後述するタイマと連係してある時間にパワーオンとする等の制御を行うためのバッテリーマネージャ29とを有している。これらシリアルポート27、パラレルポート28およびバッテリーマネージャ29は、それぞれペリフェラルインタフェース30を介して内部バス25に接続されている。
【0014】
また、LSI15は、リアルタイムの時間情報を得るためのタイマ31と、音声認識や音声合成を行うためのDSP32と、画像データ等のDMA(direct memory access)転送を制御するDMAコントローラ33と、ビデオカメラ12より出力される画像データに対して間引き処理等をして種々の解像度の画像データを作成するFBK(filter bank)34とを有している。これらタイマ31、DSP32、DMAコントローラ33およびFBK34は、それぞれ内部バス25に接続されている。FBK34で作成された種々の解像度の画像データは、DMAコントローラ33によりDRAM13に転送される。CPU11は、DMAの制御リストの終了割り込み等によって、1フィールド画像が処理されたことを知ることができる。
【0015】
また、LSI15は、CPCディバイス17との通信を司るホストのコントローラとして機能するUSB(universal serial bus)ホストコントローラ35と、ロボットシステムをCPCディバイスとみなして外部PC等の開発環境19に接続するためのUSBインタフェース36とを有している。このUSBインタフェース36に接続される外部PC等の開発環境19によって、フラッシュROM14に記憶されているCPU11の動作プログラムの作成および変更が可能とされる。これらUSBホストコントローラ35およびUSBインタフェース36は、それぞれ内部バス25に接続されている。
【0016】
また、LSI15は、外部メモリ13より転送される参照画像データおよび検索画像データを使用して画像認識のための演算を行う演算手段としてのIPE(inner Product Engine)37を有している。このIPE37は内部バス25に接続されている。この場合、DMAコントローラ33によりDRAM13より参照画像データおよび検索画像データが転送されてくると共に、このIPE37の演算結果はDMAコントローラ33によりDRAM13に転送される。
【0017】
ここで、DRAM13に記憶されている画像データのうちどの部分を参照画像データおよび検索画像データとしてIPE37に転送し、また演算結果をIPE37よりDRAM13のどこに転送するかは予めDMAの制御リストとしてCPU11によって作成されており、DRAM13に記憶されている。したがって、DMAC33は、DRAM13よりこの制御リストを取得し、その制御リストに基づいて転送制御を行うようにされている。
【0018】
なお、後述するように、IPE37のFPU(floating point processing unit)では、画像認識のための演算として正規化相関演算や画像間の自乗誤差演算等の演算が行われる。そして、これらの演算は複数の処理手順によって行われるが、その処理手順を示す複数のインストラクションからなるインストラクションセットはDRAM13に記憶されており、このインストラクションセットも、上述した制御リストに基づき、DMAコントローラ33によりDRAM13よりIPE37に転送される。
【0019】
図3は、IPE37の具体構成を示している。このIPE37は、IPE37の動作を制御するためのIPEコントローラ41と、DRAM13より転送されてくる参照画像データTMDを記憶しておくテンプレートRAM42と、DRAM13より転送されてくる検索画像データSRDを記憶しておくサーチRAM43と、さらにDRAM13より転送されてくるインストラクションセットISTを記憶しておくインストラクションRAM44とを有している。これらRAM42〜44は、それぞれ内部メモリを構成している。
【0020】
参照画像データTMDはtx×ty画素(最大32×32画素)のブロックの画像データであり、一方検索画像データSRDはsx×sy画素(最大64×64画素)のブロックの画像データである。後述する積和演算器では、図4に示すように、参照画像データTMDと、検索画像データSRDから同じサイズで順次切り出されたブロックの画像データsrdとの間で積和の演算が行われる。
【0021】
また、IPE37は、参照画像データTMDと、検索画像データSRDから同じサイズで順次切り出されたブロックの画像データsrdとの間で積和の演算を行うための積和演算器45と、積和の演算結果を使用して画像認識の演算としての正規化相関演算や画像間の自乗誤差演算等を行うFPU46と、このFPU46より出力される演算結果を蓄えておくFIFOメモリ47とを有している。
【0022】
ここで、積和演算器45では、参照画像データTMDおよび画像データsrdの中の画素データ(ai,bi)の総和、自乗和、積和が演算される。つまり、Σai,Σai 2,Σaibi,Σbi,Σbi 2が演算される。図5は、積和演算器45の構成例を示しており、演算処理の高速化のために4ブロックの画像データsrdに係る演算が並列的に行われるようになっている。
【0023】
積和演算器45は、テンプレートRAM42より順次読み出される参照画像データTMDの8画素の画素データを保持するレジスタ51と、サーチRAM43より読み出される4ブロックBK1〜BK4の画像データsrdに跨る4画素の画素データを保持するレジスタ52と、参照画像データTMDおよび4ブロックBK1〜BK4の画像データsrdの中の画素データの積算aibiを行う積算部53と、参照画像データTMDの中の画素データの積算aiaiを行う積算部54と、4ブロックBK1〜BK4の画像データsrdの中の画素データの積算bibiを行う積算部55とを有している。
【0024】
この場合、積算部53では16画素分(最初と最後は10画素分)の積算処理が並列的に行われ、積算部54,55ではそれぞれ4画素分の積算処理が並列的に行われる。上述せずも、テンプレートRAM42より、「A0,A1,A2,A3」、「A4,A5,A6,A7」、「A8,A9,A10,A11」、・・・のように参照画像データTMDの画素データが4画素ずつ読み出されてレジスタ51に供給される。そして、レジスタ51は、「A0,A1,A2,A3」、「A0,A1,A2,A3,A4,A5,A6,A7」、「A4,A5,A6,A7,A8,A9,A10,A11」、・・・のように画素データを順次保持した状態となる。
【0025】
これに対応して、サーチRAM43より、「B0,B1,B2,B3」、「B4,B5,B6,B7」、「B8,B9,B10,B11」、・・・のように画素データが4画素ずつ読み出されてレジスタ52に供給される。そして、レジスタ52は、「B0,B1,B2,B3」、「B4,B5,B6,B7」、「B8,B9,B10,B11」、・・・のように画素データを順次保持した状態となる。
【0026】
図6は、テンプレートRAM42より1回目に読み出される参照画像データTMDの4画素の画素データ「A0,A1,A2,A3」と、サーチRAM43より1回目に読み出される4ブロックBK1〜BK4の画像データsrdに跨る4画素の画素データ「B0,B1,B2,B3」とを示している。1回目の段階で、レジスタ51には画素データ「A0,A1,A2,A3」が保持され、レジスタ52には画素データ「B0,B1,B2,B3」が保持される。そして、積算部53では、ブロックBK1に係る4画素分の積算「a0b0,a1b1,a2b2,a3b3」として「A0B0,A1B1,A2B2,A3B3」が、ブロックBK2に係る3画素分の積算「a0b0,a1b1,a2b2」として「A0B1,A1B2,A2B3」が、ブロックBK3に係る2画素分の積算「a0b0,a1b1」として「A0B2,A1B3」が、ブロックBK4に係る1画素分の積算「a0b0」として「A0B3」が並列的に演算される(図7参照)。
【0027】
また、1回目の段階で、積算部54では、参照画像データに係る4画素分の積算「a0a0,a1a1,a2a2,a3a3」として、「A0A0,A1A1,A2A2,A3A3」が並列的に演算される。また、1回目の段階で、積算部55では、4画素分の積算「B0B0,B1B1,B2B2,B3B3」が行われる。つまり、ブロックBK1に係る4画素分の積算「b0b0,b1b1,b2b2,b3b3」として「B0B0,B1B1,B2B2,B3B3」が、ブロックBK2に係る3画素分の積算「b0b0,b1b1,b2b2」として「B1B1,B2B2,B3B3」が、ブロックBK3に係る2画素分の積算「b0b0,b1b1」として「B2B2,B3B3」が、ブロックBK4に係る1画素分の積算「b0b0」として「B3B3」が演算されることとなる。
【0028】
また、2回目の段階で、レジスタ51には画素データ「A0,A1,A2,A3,A4,A5,A6,A7」が保持され、レジスタ52には画素データ「B4,B5,B6,B7」が保持される。そして、2回目の段階で、積算部53では、ブロックBK1に係る4画素分の積算「a4b4,a5b5,a6b6,a7b7」として「A4B4,A5B5,A6B6,A7B7」が、ブロックBK2に係る4画素分の積算「a3b3,a4b4,a5b5,a6b6」として「A3B4,A4B5,A5B6,A6B7」が、ブロックBK3に係る4画素分の積算「a2b2,a3b3,a4b4,a5b5」として「A2B4,A3B5,A4B6,A5B7」が、ブロックBK4に係る4画素分の積算「a1b1,a2b2,a3b3,a4b4」として「A1B4,A2B5,A3B6,A4B7」が並列的に演算される(図7参照)。
【0029】
また、2回目の段階で、積算部54では、参照画像データに係る4画素分の積算「a4a4,a5a5,a6a6,a7a7」として、「A4A4,A5A5,A6A6,A7A7」が並列的に演算される。また、2回目の段階で、積算部55では、4画素分の積算「B4B4,B5B5,B6B6,B7B7」が行われる。つまり、ブロックBK1に係る4画素分の積算「b4b4,b5b5,b6b6,b7b7」として、ブロックBK2に係る4画素分の積算「b3b3,b4b4,b5b5,b6b6」として、ブロックBK3に係る4画素分の積算「b2b2,b3b3,b4b4,b5b5」として、さらにはブロックBK4に係る、4画素分の積算「b1b1,b2b2,b3b3,b4b4」として、「B4B4,B5B5,B6B6,B7B7」が演算されることとなる。
【0030】
積算部53〜55では、3回目以降の各段階でも同様の演算が行われる。これにより、参照画像データTMDと、4ブロックBK1〜BK4の画像データsrdの処理で必要とする積算が行われる。つまり、積算部53では4ブロックBK1〜BK4のそれぞれに係るn画素分の積算「a0b0〜anbn」が行われ、積算部54では参照画像データTMDに係るn画素分の積算「a0a0〜anan」が行われ、積算部55では4ブロックBK1〜BK4のそれぞれに係るn画素分の積算「b0b0〜bnbn」が行われる。
【0031】
図5に戻って、積和演算器45は、積算部53より出力される4ブロックBK1〜BK4のそれぞれに係るn画素分の積算「a0b0〜anbn」の結果をそれぞれ加算して4ブロックBK1〜BK4のそれぞれに係る積和Σaibiを並列的に得る加算部56と、その4ブロックBK1〜BK4の積和Σaibiをそれぞれ保持する4個のレジスタ57-1〜57-4と、積算部54より出力される参照画像データTMDに係るn画素分の積算「a0a0〜anan」の結果を加算して自乗和Σai 2を得る加算部56と、その自乗和Σai 2を保持するレジスタ59とを有している。
【0032】
また、積和演算器45は、積算部55より出力される4ブロックBK1〜BK4のそれぞれに係るn画素分の積算「b0b0〜bnbn」の結果をそれぞれ加算して4ブロックBK1〜BK4のそれぞれに係る自乗和Σbi 2を並列的に得る加算部60と、その4ブロックBK1〜BK4の自乗和Σbi 2をそれぞれ保持する4個のレジスタ61-1〜61-4とを有している。
【0033】
また、積和演算器45は、参照画像データTMDのn画素分の画素データを加算して総和Σaiを得る加算部62と、その総和Σaiを保持するレジスタ63と、4ブロックBK1〜BK4のそれぞれに係るn画素分の画素データを加算して4ブロックBK1〜BK4のそれぞれに係る総和Σbiを並列的に得る加算部64と、その4ブロックBK1〜BK4の総和Σbiをそれぞれ保持する4個のレジスタ65-1〜65-4とを有している。
【0034】
なお、上述したように積和演算器45では検索画像データSRDから切り出される4ブロックの画像データsrdに対して並列的に演算が行われるものであるが、ある4ブロックの画像データsrdに対する処理が終了すると次の4ブロックの画像データsrdに対して同様の処理が行われ、最終的に検索画像データSRDから切り出される全てのブロックの画像データsrdに対する処理が行われる。
【0035】
FPU46では、上述した積和演算器45の演算結果を使用して、(1)式に示す正規化相関演算や、(2)式に示す画像間の自乗誤差演算等が行われる。図8は、FPU46の構成例を示している。このFPU46は、積和演算器45より演算結果として出力される各ブロックに係るΣai,Σai 2,Σaibi,Σbi,Σbi 2を整数データから浮動小数点データに変換するための整数/浮動小数点変換器71と、複数のデータを保持するためのm個のレジスタ(浮動小数点レジスタ)73-1〜73-mと、変換器71の出力データ、後述する演算器76の出力データを選択的に取り出してレジスタ73-1〜73-mのうち任意のレジスタに供給するセレクタ72とを有している。
【0036】
【数1】
【0037】
また、FPU46は、加減乗除等の各種の演算を選択的に行う演算器76と、この演算器76で演算を行うためのデータを保持する2個のレジスタ(入力レジスタ)75-1,75-2と、レジスタ73-1〜73-mに保持されているデータを選択的に取り出してレジスタ75-1,75-2に供給するセレクタ74とを有している。なお、レジスタ75-2には、演算終了時に最終的な演算結果が保持される。
【0038】
正規化相関演算等の手順が複雑であり、複数の演算器を多段で持つことは面積上の制約があるため、FPU46では演算の手順がプログラマブルになっている。すなわち、FPU46では、DRAM13より転送されてインストラクションRAM44に記憶されているインストラクションセットISTを構成する複数のインストラクションを最初から順に実行する。これにより、セレクタ72,74におけるデータの取り出しや演算器76における演算種類が順に制御され、最終的にレジスタ75-2に正規化相関演算等の演算結果が保持された状態となる。そして、この演算結果は、例えば浮動小数点データを整数データに変換する浮動小数点/整数変換器77を介してFIFOメモリ47に供給される。
【0039】
次に、IPE37における正規化相関演算等の画像認識のための演算の手順について説明する。まず、CPU11よりIPE37(IPEコントローラ41)に演算の開始が指示される。この指示に対応して、図9に示すように、IPE41よりDMAコントローラ33にデータ転送の要求RQ1が供給される。これに対応してDMAコントローラ33は、矩形領域メモリ−メモリ転送機能を用いて参照画像データTMD、検索画像データSRDおよびインストラクションセットISTの転送を順次実行する。
【0040】
この場合、DRAM13に記憶されている画像データのうちどの部分を参照画像データTMDおよび検索画像データSRDとしてIPE37に転送するかはDMAの制御リストとしてDRAM13に記憶されており、DMAコントローラ33はその制御リストに基づいて転送制御をする。例えば、図9に示すように、DRAM13に記憶されたフィールドAの画像データの一部が参照画像データTMDとしてDMAC33内のバッファ33mを介してIPE37のテンプレートRAM42に転送され、DRAM13に記憶されたフィールドAに続くフィールドBの画像データの一部が検索画像データSRDとしてバッファ33mを介してIPE37のサーチRAM43に転送される。
【0041】
次に、IPE37の積和演算器45でサーチRAM43に転送された検索画像データSRDから切り出される各ブロックに係るΣai,Σai 2,Σaibi,Σbi,Σbi 2が順次演算され、さらにFPU46でその演算結果を用いてインストラクションRAM44に転送されたインストラクションセットに基づいて正規化相関演算等が行われる。そして、FPU46の演算結果はFIFOメモリ47に供給されて順次蓄えられる。
【0042】
次に、FIFOメモリ47に蓄えられるFPU46の演算結果の個数が所定のしきい値を越える毎に、IPE37のコントローラ41よりDMAコントローラ33にデータ転送の要求RQ2が供給される。これに対応してDMAコントローラ33は、図10に示すようにFIFOメモリ47よりバッファ33mを介してDRAM13に演算結果を転送する。この場合、演算結果をDRAM13のどこに転送するかは予めDMAの制御リストとしてDRAM13に記憶されており、DMAコントローラ33はその制御リストに基づいて転送制御をする。検索画像データSRDから切り出される全てのブロックに係るFPU46の演算結果がDRAM13に転送されることで、IPE37による画像認識のための演算処理が終了する。
【0043】
以上説明したように本実施の形態においては、正規化相関演算等の画像認識のための演算処理を行う際、ロボットシステム10の全体を制御する制御手段としてのCPU11は、IPE37のコントローラ41に演算の開始を指示するだけでよくなる。したがって、CPU11の負担が軽減されることとなり、システム全体のスループットを上げることができる。
【0044】
また、外部メモリとしてのDRAM13より内部メモリとしてのテンプレートRAM42およびサーチRAM43に参照画像データTMDおよび検索画像データSRDを転送して演算処理が行われるものであるため、処理前の画像データはDRAM13に残っているため、同一の画像データに対して演算を繰り返し行うことができる。
【0045】
また、IPE37の積和演算器45では、サーチRAM43に記憶されている検索画像データSRDより切り出される4ブロックの画像データsrdに係る演算が並列的に行われるものであり、演算処理の高速化を図ることができる。さらに、FPU46では演算の手順がプログラマブルになっており、複数の演算器を多段で持たなくても済む利益がある。そして、積和演算器45では、各回毎にRAM42,43より読み出すことができるデータ量に対して効率よく積算器、加算器を用いて演算を行うものであるため、回路面積がむやみに大きくなることを抑制できる。
【0046】
なお、上述実施の形態は、この発明をロボットシステムに適用したものであるが、この発明は画像認識のための演算処理が必要なその他のシステムにも同様に適用できることは勿論である。
【0047】
【発明の効果】
この発明によれば、第2の制御手段は、第1の制御手段で作成された制御リストに基づき、外部メモリより参照画像データおよび検索画像データを内部メモリに転送し、さらに内部メモリから参照画像データの画素データをm個(mは正の整数)ずつ読み出して第1のレジスタに2m個の画素データを保持し、また内部メモリから検索画像データの画素データをm個ずつ読み出して第2のレジスタにm個の画素データを保持し、それらのレジスタに保持されている画素データを使用して演算手段に画像認識のための演算を行わせ、さらにその演算結果を外部メモリに転送するように制御するものである。
したがって、第1の制御手段の負担軽減を図ることができる。例えば、ロボットシステムに適用した場合においては、システム全体を制御する第1の制御手段(CPU)の負担軽減を図ることができ、システム全体のスループットを上げることができる。また、画像認識のための複数の積和演算を並列的に行うことができ、処理の高速化を図ることができる。
【図面の簡単な説明】
【図1】実施の形態としてのロボットシステムの構成を示すブロック図である。
【図2】ロボットシステムを構成するLSIの構成を示すブロック図である。
【図3】LSIを構成するIPEの構成を示すブロック図である。
【図4】積和演算のための検索画像データからの画像データの切り出しを説明するための図である。
【図5】IPEの積和演算器の構成を示すブロック図である。
【図6】テンプレートRAM、サーチRAMからの画素データの読み出し動作を説明するための図である。
【図7】16並列の積算処理の説明のための図である。
【図8】IPEのFPUの構成を示すブロック図である。
【図9】参照画像データや検索画像データ等の入力データの転送動作を説明するための図である。
【図10】演算結果としての出力データの転送動作を説明するための図である。
【符号の説明】
10・・・ロボットシステム、11・・・CPU、12・・・ビデオカメラ、13・・・DRAM、15・・・LSI、17・・・CPCディバイス、17a・・・アクチュエータ、17b・・・ポテンショメータ、24・・・外部バス、25・・・内部バス、26・・・バスアービッタ、27・・・シリアルポート、28・・・パラレルポート、32・・・DSP、33・・・DMAコントローラ、34・・・FBK、35・・・USBホストコントローラ、36・・・USBインタフェース、 37・・・IPE、41・・・IPEコントローラ、42・・・テンプレートRAM、43・・・サーチRAM、44・・・インストラクションRAM、45・・・積和演算器、46・・・FPU、47・・・FIFOメモリ
Claims (5)
- 第1の制御手段と、第2の制御手段と、外部メモリと、内部メモリと、第1のレジスタと、第2のレジスタと、参照画像データおよび検索画像データを使用して画像認識のための演算を行う演算手段とを備え、
上記第2の制御手段は、上記第1の制御手段で作成された制御リストに基づき、
上記外部メモリより上記参照画像データおよび上記検索画像データを上記内部メモリに転送し、
上記内部メモリから上記参照画像データの参照画素データをm個(mは正の整数)ずつ読み出して上記第1のレジスタにm又は2m個の参照画素データを保持すると共に、上記内部メモリから上記検索画像データの検索画素データをm個ずつ読み出して上記第2のレジスタにm個の検索画素データを保持し、
1回目の段階で、当該m個の検索画素データに係る当該m個の参照画素データを並列的に積算し、
2回目の段階で、次の当該m個の検索画素データに係る当該2m個の参照画素データを並列的に積算し、
3回目以降の各段階でも同様に、次の当該m個の検索画素データに係る当該2m個の参照画素データを並列的に積算するように上記演算手段に画像認識のための演算を行わせ、
さらに上記演算手段の演算結果を上記外部メモリに転送するように制御する
ことを特徴とする画像処理装置。 - ビデオカメラをさらに備え、上記参照画像データおよび検索画像データは上記ビデオカメラより出力される画像データより生成されて上記外部メモリに格納されること
を特徴とする請求項1に記載の画像処理装置。 - 上記制御リストは上記外部メモリに格納されており、上記第2の制御手段は上記外部メモリより上記制御リストを取得すること
を特徴とする請求項1に記載の画像処理装置。 - 上記演算手段は、上記画像認識のための複数の積和演算を並列的に行うこと
を特徴とする請求項1に記載の画像処理装置。 - 上記外部メモリには上記演算手段の演算工程を示す複数のインストラクションからなるインストラクションセットが格納されており、
上記第2の制御手段は、さらに上記外部メモリより上記インストラクションセットを上記内部メモリに取り込むように制御し、
上記演算手段は上記内部メモリに取り込まれたインストラクションセットに基づいて演算を行うこと
を特徴とする請求項1に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29419797A JP3826517B2 (ja) | 1997-10-27 | 1997-10-27 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29419797A JP3826517B2 (ja) | 1997-10-27 | 1997-10-27 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11134484A JPH11134484A (ja) | 1999-05-21 |
JP3826517B2 true JP3826517B2 (ja) | 2006-09-27 |
Family
ID=17804580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29419797A Expired - Fee Related JP3826517B2 (ja) | 1997-10-27 | 1997-10-27 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3826517B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818894B (zh) | 2001-01-31 | 2013-07-31 | 株式会社日立制作所 | 数据处理系统和数据处理器 |
JP5371565B2 (ja) * | 2009-06-15 | 2013-12-18 | キヤノン株式会社 | データ処理装置、データ処理方法及びプログラム |
-
1997
- 1997-10-27 JP JP29419797A patent/JP3826517B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11134484A (ja) | 1999-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304923B (zh) | 卷积运算处理方法及相关产品 | |
CN112214726B (zh) | 运算加速器 | |
CN110147251B (zh) | 用于计算神经网络模型的系统、芯片及计算方法 | |
CN107729989B (zh) | 一种用于执行人工神经网络正向运算的装置及方法 | |
JP4235987B2 (ja) | ビデオフレームレンダリングエンジン | |
KR102148110B1 (ko) | 계산 장치 및 방법 | |
US6288723B1 (en) | Method and apparatus for converting data format to a graphics card | |
TW200405981A (en) | Re-configurable streaming vector processor | |
CN111767986A (zh) | 一种基于神经网络的运算方法及装置 | |
WO2022016926A1 (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
CN111814957B (zh) | 神经网络运算方法及相关设备 | |
WO2022163861A1 (ja) | ニューラルネットワーク生成装置、ニューラルネットワーク演算装置、エッジデバイス、ニューラルネットワーク制御方法およびソフトウェア生成プログラム | |
JP3826517B2 (ja) | 画像処理装置 | |
Kikuchi et al. | A single-chip 16-bit 25-ns real-time video/image signal processor | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
Gholizadehazari et al. | An FPGA implementation of a RISC-V based SoC system for image processing applications | |
CN110555522A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Managuli et al. | Mapping of two-dimensional convolution on very long instruction word media processors for real-time performance | |
Sulzbachner et al. | An optimized silicon retina stereo matching algorithm using time-space correlation | |
Makryniotis et al. | Implementation of a motion estimation hardware accelerator on Zynq SoC | |
JP2014160516A (ja) | 画像処理装置及び画像処理方法 | |
CN114600128A (zh) | 神经网络处理器中的三维卷积 | |
Macieira et al. | The design of an image converting and thresholding hardware accelerator | |
WO2022241701A1 (zh) | 一种图像处理方法及装置 | |
Rybarczyk et al. | The concept of a microcontroller with neural-matrix coprocessor for control systems that exploits reconfigurable FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051205 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060508 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060508 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060524 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060626 |
|
LAPS | Cancellation because of no payment of annual fees |