JP2008084034A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2008084034A
JP2008084034A JP2006263627A JP2006263627A JP2008084034A JP 2008084034 A JP2008084034 A JP 2008084034A JP 2006263627 A JP2006263627 A JP 2006263627A JP 2006263627 A JP2006263627 A JP 2006263627A JP 2008084034 A JP2008084034 A JP 2008084034A
Authority
JP
Japan
Prior art keywords
image
data
memory
calculation
systolic array
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.)
Granted
Application number
JP2006263627A
Other languages
English (en)
Other versions
JP4929474B2 (ja
Inventor
Manabu Nakao
学 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006263627A priority Critical patent/JP4929474B2/ja
Publication of JP2008084034A publication Critical patent/JP2008084034A/ja
Application granted granted Critical
Publication of JP4929474B2 publication Critical patent/JP4929474B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

【目的】本発明は、画像の相関演算を行う画像処理装置に関し、画像の相関演算、空間フィルタを高速に処理したり、および小さな画像演算を複数同時ないしは結合して高速に実行したりする装置を構築することを目的としている。
【構成】メモリから複数画素のデータを1サイクルで転送する共有画像入力バスと、共有画像入力バス上に転送された複数画素のデータのうち、指定された水平および垂直開始地点から指定された垂直および水平サイズ分のデータを選択する手段と、記選択されたデータを格納する入力バッファと、入力バッファからデータを取り込んで演算を行うシストリックアレイと、シフトリックアレイで演算された結果について、同期化する同期化メモリと、同期化された複数の演算結果同士の演算またはピーク抽出をパイプライン処理する手段とを備える。
【選択図】 図1

Description

本発明は、画像の相関演算を行う画像処理装置に関するものである。
移動ロボットは、絶えず変化する周辺環境に対応するために、カメラから入力された画像をリアルタイムで処理して周辺環境を把握する必要がある。その画像演算量は膨大であり、多用される相関演算、空間フィルタ、特徴抽出の演算を高速に処理することが求められている。
従来、撮影した画像について、追跡する物体に関する固定の参照画像データをもとに相関値を求め、そのピーク位置を検出して当該物体の追跡を行う技術がある。当該技術において、探索画像データとm画素×n画素の参照画像データとの相関演算を、参照画像の探索画像に対する位置を動かしなら複数回行って相関値を出力してその累積を求めることで、等価的にam画素×bn画素の参照画像に対する参照画像データと探索画像データとの相関値を高速に出力することが行われている(特許文献1)。
また、上述した前者で相関演算などを高速に処理するためにPE(プロセッサエレメント)を2次元アレイ状に並べたシストリックアレイでパイプライン状に並列演算を行うLSIによって高速処理を行う技術について、図14および図15を用いて簡単に説明する。
図14の(a)が従来技術の画像処理装置の全体構成である。ビデオ入出力回路ではビデオ入力とビデオ出力の制御、メモリ制御回路は外部メモリとの制御を扱い、ビデオ入力画像を外部メモリに取り込む。外部からコマンドを与えると動作制御回路からの要求により、外部メモリから画像データが並列演算回路に転送する。並列演算回路は図14の(b)の並列演算回路のようにPEを2次元アレイ状に並べた構成となっており、画像データを左下のPEn1に入力して、PEn1→PEn2→PEn3へと,パイプライン状にデータを流していくことによって演算を行う回路であり、下記式で表現される画像のSAD相関演算の演算結果を出力する。
Figure 2008084034
この構成では複数のPEで並列演算を行っており、相関演算の処理を高速に行うことができる。
特開平10−040392号公報
ロボットの自律移動などリアルタイムで周辺環境の把握を行う場合には、前者でも性能が不十分であり、更に、後者の従来技術でも性能が十分であるとはいえず、更なる性能向上が要求される。
近年の半導体プロセスの微細化により多くの回路をLSIに実装することができるようになり、性能を向上させるためにより多くのPEを実装して処理することが考えられる。
しかし、上述した従来技術のアレイ構成で要素数を単純に例えば8x8から16x16にして4倍にしても、16x16の大きな参照領域に対する相関演算を実行させる場合、演算性能の向上は単純に4倍とはならない。
例えば、8x8のアレイ構成で図14の(c)の参照画像8x8、図14の(d)の探索範囲16x16の相関演算を実行した場合のタイミングチャートを図14の(e)に示す。この演算では、図14の(e)に示すように、参照画像のロードに64サイクル、探索画像のロードに529サイクル、演算結果の出力に10サイクルを要しており、合計603サイクルの処理時間となる。参照画像のサイズを16x16として演算する場合には、この演算を4回実施することになるので2412サイクルの処理時間になる。
それに対し、16x16のアレイ構成で、図15の(a)の参照画像16x16、探索範囲16x16の相関演算を実行した場合のタイミングチャートを図15の(c)に示す。この演算では、図15の(c)に示すように、参照画像のロードに256サイクル、探索画像のロードに961サイクル、演算結果の出力に10サイクルを要しており、合計1227サイクルの処理時間となる。4倍の数のPEを使用しても性能向上は2倍程度と、それほど増加しない。
この理由は、シストリックアレイはデータを入力ポートから1画素ずつデータをロードして処理するため、画像データロード時間が演算処理時間を決定している。そのため、PEの数を増やした分の性能向上とはなっておらずそれぞれのPEの動作率を向上させる必要があるという問題点があった。
また、画像認識では小さい画像サイズの演算が複数利用されることが多く、例えば特徴抽出では7x7の2つの空間フィルタを使用して輝度勾配画像を生成し、その共分散行列を求める処理をしばしば行う。このような小さいサイズの画像演算を複数同時実行し、演算結果をカスケード結合することができる方式が求められている。
本発明は、これらの問題を解決するため、画像の相関演算、空間フィルタを高速に処理することが可能であり、更に、小さな画像演算を複数同時ないしは結合して高速に実行するハードウエアを構築するようにしている。
請求項1は、画像メモリから複数画素のデータを1サイクルで転送可能な共有画像入力バス、各シストリックアレイへの入力データのうち、指定された水平/垂直開始地点から指定された水平/垂直サイズのデータを選択する手段、各シストリックアレイの演算結果を同期化するための手段、同期化されたシストリックアレイの演算結果同士の演算またはピーク抽出をパイプライン処理する手段を設けたものである。共有画像入力バス上で複数画素分のデータ送信を行って個々のシストリックアレイが必要なデータを入力バッファに取り込むことで、データ待ち時間を短縮し、さらに個々のシストリックアレイが入力バッファにからそれぞれのタイミングでデータを読み出して処理した結果に対して同期化する手段を設けることで、異なるタイミングで出てくる演算結果同士のタイミングを合わせて演算することが可能となる。
請求項2は、各シストリックアレイへの画像入力データとして、共有画像入力バスからのデータとシストリックアレイの演算結果のデータから各シストリックアレイへの入力データを選択する手段と、各シストリックアレイの演算結果後に除算器を設けるものである。シストリックアレイと除算器を使った空間フィルタの演算結果を後段にシストリックアレイの入力として使用することが可能となる。
請求項3は、複数のシストリックアレイを用いて、大きな参照領域との相関演算を行うため、請求項4は空間フィルタをカスケード接続して演算するため、請求項5は正規化相関演算をおこなうため、請求項6は特徴抽出処理を行うためのものである。
従来のシストリックアレイが個々にデータをとってくる場合、個々のデータ転送バスにメモリを用意し、各々のメモリに同じデータを書き込む必要があり、必要なメモリの容量並びに消費電力が大きくなってしまう。
本発明では、個々のシストリックアレイが必要とする画像領域がオーバラップしていることを考慮して、共有画像入力バス上に複数画素分のデータ送信を行って個々のシストリックアレイが必要なデータを入力バッファに取り込むことで、単一のメモリを使って必要なメモリ容量を抑えながらもデータ待ち時間を短縮による処理時間の短縮を図ることを可能にしている。
更に、個々のシストリックアレイが入力バッファからそれぞれのタイミングでデータを読み出して処理した結果に対して同期化する手段(同期化メモリ)を設けることで、異なるタイミングで出てくる演算結果同士のタイミングを合わせて演算することを可能にし、かつパイプライン処理で評価値の演算並びにピーク抽出を行うことを可能にしている。
例えば64個のPEで構成されたシストリックアレイ1個で16x16サイズの相関演算を行う場合と比較して、本発明の構成で64個のPEで構成されたシストリックアレイ4個で16x16サイズの相関演算を行う場合は3.4倍の性能向上となる。
また、請求項2の発明では、シストリックアレイの演算結果を他のシストリックアレイの入力することでカスケード結合して処理する手段を設けており、複数の演算が必要な処理を1回のデータ入力で処理することが可能となる。
本発明は、個々のシストリックアレイが必要とする画像領域がオーバラップしていることを考慮して、共有画像入力バス上に複数画素分のデータ送信を行って個々のシストリックアレイが必要なデータを入力バッファに取り込むことで、単一のメモリを使って必要なメモリ容量を抑えながらもデータ待ち時間を短縮による処理時間の短縮を実現したり、個々のシストリックアレイが入力バッファからそれぞれのタイミングでデータを読み出して処理した結果に対して同期化する手段(同期化メモリ)を設け、異なるタイミングで出てくる演算結果同士のタイミングを合わせて演算することを実現、更に、パイプライン処理で評価値の演算並びにピーク抽出を行うことを実現したりした。
図1は、本発明のシステム構成図を示す。
図1において、画像メモリ制御回路1は、画像メモリ2に画像(例えばロボットに装着したカメラで撮影した画像)を格納したり、画像について複数画素を1サイクルで共有画像入力バス3に出力したり(図2参照)などするものである。
画像メモリ2は、カメラで撮影した画像などを一時的に保持するものである。
共有画像入力バス3は、画像メモリ2から複数画素を1サイクルで送出し、入力バッファ41に所定画像をそれぞれ取り込ませるためのバスである(図2参照)。図2で説明する実施例では、共有画像入力バス3は例えば4画素のデータを1サイクルで転送できるように構成されている(図2参照)。
並列演算回路4は、共有画像入力バス3から指定された水平/垂直開始地点から指定された水平/垂直サイズのデータを選択する図示外の制御回路を設けたり、共有画像入力バス3を介して取り込んだ画像を並列演算(相関演算など)を行わせたりなどするものであって、ここでは、図示の、入力バッファ41、シストリックアレイ42、除算器43などから構成されるものである。
入力バッファ41は、画像メモリ2から1サイクルで送出された複数画素を共有画像入力バス3を介し、自己宛の画像を選択して取り込んで一時的に保持するものである(図2参照)。
シストリックアレイ42は、PE(プロセッサエレメント)を多数配置した並列演算回路(例えば既述した図15の(b)参照)であって、高速演算する回路である。
除算器43は、シストリックアレイ42で演算した結果を、除算するものである。
セレクタ5は、共有画像入力バス3上の画像(データ)あるいは除算器43でシストリックアレイ42で演算した結果を除算した画像(データ)のうちの、指定されたデータを選択して入力バッファ41に格納するものである。
同期化メモリ6は、シストリックアレイ42で演算した結果(あるいは更に、除算器43で除算した結果)について、他のシストリックアレイ42で演算した結果と演算を行うための同期化を行うためのメモリである。
パイプライン演算回路7は、同期化メモリ6でそれぞれシストリックアレイ42の演算結果(あるいは更に除算した結果)を同期化した後のデータについて、パイプラインで高速演算、ここでは、同期化されたシストリックアレイ42の演算結果同士の加算並びにピーク抽出をパイプライン処理などするものである。
演算結果メモリ8は、パイプライン演算回路7で演算した結果を格納するメモリである。
図2は、本発明の説明図(図1)を示す。これは、各シストリックアレイ42の動作を示す。4つの図示のシストリックアレイA,B、C,D(図1のシストリックアレイA,B,C,Dに対応する)42は16x16の参照画像を4分割した8x8の部分参照画像領域を割り当てる(図2の(a)参照)。共有画像入力バス3に流れてくる16x16の画像領域からそれぞれが担当する8x8の部分参照画像領域をまず取り込む(図2の(a)のA,B,C,Dの8x8のいずれかの該当するものをそれぞれを1つ入力バッファ41に取り込む)。そして探索画像をロードする際にはそれぞれの部分領域の演算に必要な探索画像領域(図2の(b)の(b−1)のA,(b−2)のB,(b−3)のC,(b−4)のDのいずれか1つの領域のデータを入力バッファ41にそれぞれ取り込み、それぞれで相関演算を各シストリックアレイ42でそれぞれ実行する。各シストリックアレイ42からの出力データのタイミングは異なるので、同期化メモリ6でそれぞれ同期化後、全データをパイプライン演算回路7で加算して演算結果の出力を演算結果メモリ8に行う。
本実施例では図2の(c)のロード/演算フローに示すように、参照画像のロードに64サイクル、探索画像のロードに248サイクルそれぞれの時間を要す。最もタイミングの遅いシストリックアレイDの演算結果の出力は参照画像ロード後から595サイクル後となり、全演算結果の出力はその14サイクル後となる。演算開始から全結果の演算出力までは709サイクルとなり、性能向上は約3.4倍となる。これは、従来の図15、図16の構成の場合には8×8から16×16に画素数を4倍に増やしても、約2倍ほどしか性能向上ができないのに比し、本実施例の図1、図2の構成によれば、8×8から16×16に画素数を4倍に増やした場合に4倍に近い約3.4倍という大幅な性能向上を達成できた。
図2の(a)は参照画像16×16をA,B,C,Dの4つの8×8画素に分割した様子を示す。ロード時間は、図示のように、
・34(アレイD参照画像ロード待ち時間)+64(アレイD参照画像ロード時間)+66(アレイD探索画像ロード待ち時間)+529(アレイD探索画像ロード時間)+14(シストリックアレイ42の演算処理遅延)=709サイクル
となる(各数字は、図2の(c)のロード/演算フローの対応する項目とその数字参照)。
ここで、529は、図2の(b)のA、B、C、Dの領域のサイズ23×23の乗算結果である。
図2の(b)は、シストリックアレイ42の例を示す。図2の(b−1)はシストリックアレイAの探索画像の例、図2の(b−2)はシストリックアレイBの探索画像の例、図2の(b−3)はシストリックアレイCの探索画像の例、図2の(b−4)はシストリックアレイDの探索画像の例をそれぞれ示す。ここでは、A,B,C,Dの各探索領域は、23×23画素である。
図2の(c)は、図2の(a)の参照画像A,B,C,D,および図2の(b)の探索画像A,B,C,Dをそれぞれ画像メモリ2から共有画像入力バス3を介して各入力バッファ41にロードするときのフロー(波形)を示す。ここで、シストリックアレイCの波形図(フロー)は図2の(c)では省略した(他のB,Dと同じである)。
図3は、本発明のシステム構成図(その2)を示す。図3は、空間フィルタを多重に処理あるいは画像同士の差分画像を生成する場合のシステム構成例を示す。詳述すれば、各シストリックアレイ42への画像入力データとして、共有画像入力バス3からのデータと、シストリックアレイ42の演算結果のデータとから各シストリックアレイ42への入力データを選択するセレクタ5と、各シストリックアレイ42の演算結果の後に除算器43がついている。シストリックアレイ42から出力された演算結果は除算器43にて除算を行って空間フィルタの出力を演算し、その出力を同期化メモリ6およびに次段のシストリックアレイ42に送信する。次段のシストリックアレイ42は同様に空間フィルタの演算を行い、更に次段のシストリックアレイ42へと演算結果を送信する。このようにカスケード接続することによって空間フィルタを多重に処理することが可能である。
また、各シストリックアレイ42から出力される演算結果を同期化メモリ6で同期化して差分をとることにより、空間フィルタをかけた結果の画像同士の差分画像の生成を行うことができる。
図3の(a)はシステム構成を示し、図3の(b)は既述した図2の(c)に対応するロード/演算フローを表す。シストリックアレイ42を図3の(a)に示すようにカスケード接続した場合には、図3の(b)に示す、参照画像のロード、探索画像のロード、シストリックアレイA,B(C,Dは省略)へのロードが図示のようなサイクルとなる。
図4は、本発明のシステム構成図(その3)を示す。これは、参照画像のロード時に
Figure 2008084034
をまず計算する。そして、参照画像ロード時に3つのシストリックアレイ42では
Figure 2008084034
をそれぞれ計算して、パイプライン演算回路7で
Figure 2008084034
を計算することによって画像の正規化相関演算を実行する。
これらの様子を図4の(a)のシステム構成上の並列演算回路4にそれぞれ記載する。また、図4の(b)に、その演算結果を記載する(数式9)と同じ。
図5は、本発明の参照画像の設定フローチャートを示す。これは、例えば図1で画像メモリ2から参照画像を各入力バッファ41に設定(ロード)するときの詳細フローチャートである。
図5において、S1は、画像メモリ制御回路1に転送開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、例えば図1(あるいは図2から図4も同様、以下同じ)の画像メモリ制御回路1に、図示外のホストから参照画像(図2の(a)参照)の転送開始座標として、水平および垂直の座標と、そのサイズとして水平および垂直の座標を指定する。この際、図1の共有画像入力バス3は、ここでは、1サイクルで4画素のデータを転送できるものとする。
S2は、並列演算回路A−Dそれぞれに取り込み開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、図1の並列演算回路A.B,C,Dの入力バッファ41に、共有画像入力バス3から取り込む参照画像の開始座標として、水平および垂直と、そのサイズとして水平および垂直を指定する。
S3は、画像メモリ2から参照画像データを共有画像入力バス3にここでは、1サイクルに4画素づつ送り出す。
S4は、取り込み開始座標からサイズ分の範囲にあるデータだけを入力バッファ42に取り込む。これは、S3で共有画像入力バス3に送出された参照画像データから、各並列演算回路A,B,C,DがS2で指定された参照画像データのみをそれぞれ取り込んで入力バッファ41に格納する。これにより、A,B,C,Dの各入力バッファ41には、例えば図1の(a)のA,B,C,Dの部分の参照画像のみが取り込まれて格納されることとなる。
以上によって、画像メモリ2から参照画像データを1サイクルで4画素を順次共有画像入力バス3に送信し、各並列演算回路A,B,C,Dでは自己に指定された参照画像のみを取り込んで入力バッファ41に格納し、図1の(a)のA,B,C,Dの参照画像(8x8)がそれぞれ入力バッファ41に設定されることとなる。
図6は、本発明の探索画像の設定フローチャートを示す。これは、例えば図1で画像メモリ2から探索画像を各入力バッファ41に設定(ロード)するときの詳細フローチャートである。
図6において、S11は、画像メモリ制御回路1に転送開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、例えば図1(あるいは図2から図4も同様、以下同じ)の画像メモリ制御回路1に、図示外のホストから探索画像(図2の(b)参照)の転送開始座標として、水平および垂直の座標と、そのサイズとして水平および垂直の座標を指定する。この際、図1の共有画像入力バス3は、ここでは、1サイクルで4画素のデータを転送できるものとする。
S12は、並列演算回路A−Dそれぞれに取り込み開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、図1の並列演算回路A.B,C,Dの入力バッファ41に、共有画像入力バス3から取り込む探索画像の開始座標として、水平および垂直と、そのサイズとして水平および垂直を指定する。
S13は、画像メモリ2から探索画像データを共有画像入力バス3にここでは、1サイクルに4画素づつ送り出す。
S14は、取り込み開始座標からサイズ分の範囲にあるデータだけを入力バッファ42に取り込む。これは、S13で共有画像入力バス3に送出された探索画像データから、各並列演算回路A,B,C,DがS12で指定された探索画像データのみをそれぞれ取り込んで入力バッファ41に格納する。これにより、A,B,C,Dの各入力バッファ41には、例えば図1の(b)のA,B,C,Dの部分の探索画像のみが取り込まれて格納されることとなる。
以上によって、画像メモリ2から探索画像データを1サイクルで4画素を順次共有画像入力バス3に送信し、各並列演算回路A,B,C,Dでは自己に指定された探索画像のみを取り込んで入力バッファ41に格納し、図1の(b)のA,B,C,Dの探索画像(23x23)がそれぞれ入力バッファ41に設定されることとなる。
図7は、本発明の探索画像の転送説明図(31×31画素の場合)を示す。これは、既述した図7のフローチャートで探索画像を共有画像入力バス3に転送する場合の様子を示す。
図7において、垂直座標=V、V+1、・・・は、画像メモリから探索画像を転送する垂直座標であって、ここでは、31画素分である。横方向は、探索画像の水平方向の画素数であって、ここでは、31画素分である。
以上のように表現される探索画像(図2の(b−1)、(b−2),(b−3)、(b−4)中のA,B,C,Dの探索画像(23×23画素))について、図7の垂直座標=vで水平方向へサイクル1,2,3,4,5,6,7,8、更に、垂直座標=v+1のサイクル9,10・・・・と、1サイクルに4画素づつ画像メモリ2から共有画像入力バス3に順次送出することが可能となる。そして、共有画像入力バス3に送出された図7に示す探索画像は、図1の並列演算回路A,B,C,Dで自己宛の画像のみを選択的に取り込んで入力バッファ41にそれぞれ格納することにより、既述した図2の(c)に示す、シストリックアレイAの探索画像ロード、B探索画像ロード、C探索画像ロード、D探索画像ロードというようにそれぞれ入力バッファ41に格納されることとなる。尚、ここでは、画像メモリからは31×31の領域を送信し、並列演算回路はそれぞれ23×23の領域を取り込むようにしている。
図8は、本発明の説明図を示す。これは、図1のシステム構成を用い、相関関数(画像サイズ16x16,探索範囲16x16を実施する場合の相関関数)を計算する様子を模式的に表す。図中で、
・Sは探索画像
・Rは参照画像
・並列演算回路A,B,C,Dは図1の並列演算回路A,B,C,D
をそれぞれ表す。
ここで、既述した探索画像、参照画像をそれぞれ画像メモリ2から各並列演算回路A,B,C,Dの入力バッファ41にそれぞれ格納した後(図1、図2、図5から図7参照)、シストリックアレイA,B,C,Dで、図8の(a)の式で表す相関演算をそれぞれ実行し、図8の(b)の結果を算出する。
図9は、本発明の説明図を示す。これは、図1のシステム構成を用い、フィルタ演算(フィルタサイズ16x16,処理範囲16x16を実施する場合のフィルタ演算)を実行する様子を模式的に表す。図中で、
・Kはフィルタ
・Iは処理対象となる画像
・並列演算回路A,B,C,Dは図1の並列演算回路A,B,C,D
をそれぞれ表す。
ここで、既述したフィルタ(16×16画素)、処理範囲(16×16画素)をそれぞれ画像メモリ2から各並列演算回路A,B,C,Dの入力バッファ41にそれぞれ格納した後(図1、図2、図5から図7参照)、シストリックアレイA,B,C,Dで、図9の(a)の式で表すフィルタ演算をそれぞれ実行し、図9の(b)の結果を算出する。
図10は、本発明のフィルタ係数/除算の設定フローチャートを示す。これは、既述した図9のフィルタ演算を行う際に、フィルタ係数を入力バッファ21に設定および除数C1、C2、C3、C4を除算器43に設定するときのフローチャートを示す。
図10において、S21は、画像メモリ制御回路1に転送開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、例えば図1の画像メモリ制御回路1に、図示外のホストからフィルタ係数の転送開始座標として、水平および垂直の座標と、そのサイズとして水平および垂直の座標を指定する。この際、図1の共有画像入力バス3は、1サイクルで4画素のデータを転送できるものとする。
S22は、並列演算回路A−Dそれぞれに取り込み開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、図1の並列演算回路A.B,C,Dの入力バッファ41に、共有画像入力バス3から取り込むフィルタ係数の開始座標として、水平および垂直と、そのサイズとして水平および垂直を指定する。
S23は、画像メモリ2からフィルタ係数K1、K2、K3、K4を共有画像入力バス3にここでは、1サイクルに4画素づつ送り出す。
S24は、取り込み開始座標からサイズ分の範囲にあるデータだけを入力バッファ42に取り込む。これは、S23で共有画像入力バス3に送出されたフィルタ係数Kから、各並列演算回路A,B,C,DがS22で指定されたフィルタ係数のみをそれぞれ取り込んで入力バッファ41に格納する。これにより、A,B,C,Dの各入力バッファ41にはそれぞれのフィルタ係数のみが取り込まれて格納されることとなる。
S25は、並列演算回路4に除数Cを設定する。これは、図示外のホストが各並列演算回路4の除算回路43にそれぞれ該当除数C1、C2、C3、C4を設定する。
以上によって、画像メモリ2からフィルタ係数を1サイクルで4画素を順次共有画像入力バス3に送信し、各並列演算回路A,B,C,Dでは自己に指定されたフィルタ係数のみを取り込んで入力バッファ41に格納、および除数C1、C2、C3、C4を除算器43にそれぞれ格納し、フィルタ演算処理の準備が完了したこととなる。
図11は、本発明の説明図を示す。これは、図3のシステム構成のもとで、フィルタ演算カスケードの様子を模式的に示す。
(1)入力画像IO(アイゼロ)について、フィルタAのフィルタ演算処理を図1の並列演算回路Aで行い、その結果(除算器43の出力)である画像I1を生成する(演算は、下段の式で表される演算を行う)。
(2) (1)で生成した画像I1を更に、フィルタBのフィルタ演算処理を図1の並列演算回路Bで行い、その結果(除算器43の出力)である画像12を生成する(演算は、下段の式で表される演算を行う)。
(3) 画像I1と画像I2との減算を行い、画像I3を生成する。
以上によって、フィルタ演算をカスケード(フィルタA,更に、フィルタBというようにフィルタ演算をカスケード)することが、図3のシステム構成(図3では4重のフィルタ演算が可)により可能となる。
図12は、本発明の正規化相関参照画像の設定フローチャートを示す。
図12において、S31は、画像メモリ制御回路1に転送開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、例えば図1の画像メモリ制御回路1に、図示外のホストから参照画像(図2の(b)参照)の転送開始座標として、水平および垂直の座標と、そのサイズとして水平および垂直の座標を指定する。この際、図1の共有画像入力バス3は、1サイクルで4画素のデータを転送できるものとする。
S32は、並列演算回路Cに取り込み開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、図1の並列演算回路Cの入力バッファ41に、共有画像入力バス3から取り込む参照画像の開始座標として、水平および垂直と、そのサイズとして水平および垂直を指定する。
S33は、画像メモリ2から参照画像データを共有画像入力バス3にここでは、1サイクルに4画素づつ送り出す。
S34は、取り込み開始座標からサイズ分の範囲にあるデータだけを入力バッファ42に取り込む。これは、S33で共有画像入力バス3に送出された参照画像データから、並列演算回路CがS32で指定された参照画像データのみをそれぞれ取り込んで入力バッファ41に格納する。
S35は、図示の演算を行い、正規化相関参照画像を生成する。
以上によって、画像メモリ2から参照画像データを1サイクルで4画素を順次共有画像入力バス3に送信し、並列演算回路Cでは自己に指定された参照画像のみを取り込んで入力バッファ41に格納し、S35の演算を実行することが可能となる。
図13は、本発明の正規化相関演算の探索画像の設定フローチャートを示す。
図13において、S41は、画像メモリ制御回路1に転送開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、例えば図4の画像メモリ制御回路1に、図示外のホストから探索画像(図2の(b)参照)の転送開始座標として、水平および垂直の座標と、そのサイズとして水平および垂直の座標を指定する。この際、図4の共有画像入力バス3は、1サイクルで4画素のデータを転送できるものとする。
S42は、並列演算回路A−Cそれぞれに取り込み開始座標(水平/垂直)とサイズ(水平/垂直)を指定する。これは、図4の並列演算回路A.B,Cの入力バッファ41に、共有画像入力バス3から取り込む探索画像の開始座標として、水平および垂直と、そのサイズとして水平および垂直を指定する。
尚、正規化相関演算では並列演算回路A,B,Cの入力バッファに指定される開始座標、サイズは同一の値が指定される。
S43は、画像メモリ2から探索画像データを共有画像入力バス3にここでは、1サイクルに4画素づつ送り出す。
S44は、取り込み開始座標からサイズ分の範囲にあるデータだけを入力バッファ42に取り込む。これは、S43で共有画像入力バス3に送出された探索画像データから、各並列演算回路A,B,CがS42で指定された探索画像データのみをそれぞれ取り込んで入力バッファ41に格納する。
S45は、図示の演算を並列演算回路4でそれぞれ行う。
S46は、図示の式の演算を行い、絶対値の最大値をとる座標を求める。
以上によって、画像メモリ2から探索画像データを1サイクルで4画素を順次共有画像入力バス3に送信し、各並列演算回路A,B,Cでは自己に指定された探索画像のみを取り込んで入力バッファ41に格納し、S45の演算を実行した後、S46の演算を行ってその結果の絶対値の最大値をとる座標を求めることが可能となる。
本発明は、個々のシストリックアレイが必要とする画像領域がオーバラップしていることを考慮して、共有画像入力バス上に複数画素分のデータ送信を行って個々のシストリックアレイが必要なデータを入力バッファに取り込むことで、単一のメモリを使って必要なメモリ容量を抑えながらもデータ待ち時間を短縮による処理時間の短縮を図ったり、個々のシストリックアレイが入力バッファからそれぞれのタイミングでデータを読み出して処理した結果に対して同期化する手段(同期化メモリ)を設け、異なるタイミングで出てくる演算結果同士のタイミングを合わせて演算したり、更に、パイプライン処理で評価値の演算並びにピーク抽出を行ったりする画像処理装置に関するものである。
本発明のシステム構成図である。 本発明の説明図(図1)である。 本発明のシステム構成図(その2)である。 本発明のシステム構成図(その3)である。 本発明の参照画像の設定フローチャートである。 本発明の探索画像の設定フローチャートである。 本発明の探索画像の転送説明図(31×31の場合)である。 本発明の説明図である。 本発明の説明図である。 本発明のフィルタ係数/除数の設定フローチャートである。 本発明の説明図である。 本発明の正規化相関探索画像の設定フローチャートである。 本発明の正規化相関演算の探索画像の設定フローチャートである。 従来技術の説明図(その1)である。 従来技術の説明図(その2)である。
符号の説明
1:画像メモリ制御回路
2:画像メモリ
3:共有画像入力バス
4:並列演算回路
41:入力バッファ
42:シストリックアレイ
43:除算器
5:セレクタ
6:同期化メモリ
7:パイプライン演算回路
8:演算結果メモリ

Claims (5)

  1. 画像の相関演算を行う画像処理装置において、
    メモリから複数画素のデータを1サイクルで転送する共有画像入力バスと、
    前記共有画像入力バス上に転送された複数画素のデータのうち、指定された水平および垂直開始地点から指定された垂直および水平サイズ分のデータを選択する手段と、
    前記選択されたデータを格納する入力バッファと、
    前記入力バッファからデータを取り込んで演算を行うシストリックアレイと、
    前記シフトリックアレイで演算された結果について、同期化する同期化メモリと、
    前記同期化された複数の演算結果同士の演算またはピーク抽出をパイプライン処理する手段と
    を備えたことを特徴とする画像処理装置。
  2. 請求項1において、前記シフトリックアレイの演算結果を除算する除算器と、
    前記共有画像入力バスからのデータ、あるいは前段の前記除算器で除算したデータのうちから予め指定されたデータを前記入力バッファに取り込んでシストリックアレイへ入力する選択手段と
    を設けたことを特徴とする画像処理装置。
  3. 請求項1において、各シストリックアレイに参照画像領域を分割した部分領域をロードし、探索領域との相関演算を部分領域毎に演算し、異なるタイミングで出力される個々の演算結果を前記同期化メモリで同期化後、演算結果同士を加算およびピーク検出をパイプライン処理することを特徴とする画像処理装置。
  4. 請求項1あるいは請求項2において、前記シストリックアレイをカスケード接続して各々のシストリックアレイで空間フィルタ演算を行い、個々の空間フィルタの演算出力結果を前記同期メモリで同期化した後、演算結果同士を減算することを特徴とする画像処理装置。
  5. 請求項1において、参照画像ロード時に、
    Figure 2008084034
    探索画像ロード時に
    Figure 2008084034
    の3つをそれぞれ3つの前記シフトリックアレイでそれぞれ計算し、下式をパイプライン演算処理して正規化相関演算を処理することを特徴とする画像処理装置。
    Figure 2008084034
JP2006263627A 2006-09-27 2006-09-27 画像処理装置 Expired - Fee Related JP4929474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006263627A JP4929474B2 (ja) 2006-09-27 2006-09-27 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006263627A JP4929474B2 (ja) 2006-09-27 2006-09-27 画像処理装置

Publications (2)

Publication Number Publication Date
JP2008084034A true JP2008084034A (ja) 2008-04-10
JP4929474B2 JP4929474B2 (ja) 2012-05-09

Family

ID=39354847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006263627A Expired - Fee Related JP4929474B2 (ja) 2006-09-27 2006-09-27 画像処理装置

Country Status (1)

Country Link
JP (1) JP4929474B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012073490A1 (ja) * 2010-11-30 2012-06-07 パナソニック株式会社 オブジェクト検出装置、画像分割装置、集積回路
US8503793B2 (en) 2008-11-21 2013-08-06 Fujitsu Limited Correlation processing apparatus and medium readable by correlation processing apparatus

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63247858A (ja) * 1987-04-03 1988-10-14 Hitachi Ltd デ−タ転送方法及び装置
JPS649574A (en) * 1987-07-02 1989-01-12 Fujitsu Ltd Video rate picture processor
JPH06325162A (ja) * 1993-05-11 1994-11-25 Nikon Corp 画像処理装置
JPH0728526A (ja) * 1993-07-09 1995-01-31 Nippon Steel Corp 高速視覚フィードバック装置
JPH08171536A (ja) * 1994-12-16 1996-07-02 Com Syst:Kk データ処理装置
JPH09298651A (ja) * 1996-05-08 1997-11-18 Fuji Xerox Co Ltd 画像処理装置
JPH1040392A (ja) * 1996-07-23 1998-02-13 Fujitsu Ltd 局所領域画像追跡装置
JPH1155571A (ja) * 1997-08-07 1999-02-26 Mitsubishi Electric Corp 画像処理装置および画像処理方法
JP2001243479A (ja) * 2000-02-28 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> 画像処理方法および装置、ならびに画像処理プログラムを記録した記録媒体
JP2004199532A (ja) * 2002-12-20 2004-07-15 Hitachi High-Technologies Corp 画像処理装置及び画像処理システム
JP2005084698A (ja) * 2003-09-04 2005-03-31 Sony Corp 画像処理装置および方法、記録媒体、プログラム、並びに電子回路
JP2005266910A (ja) * 2004-03-16 2005-09-29 Hitachi High-Technologies Corp 画像データ転送方法、画像処理装置およびウェハ外観検査装置
JP2005301858A (ja) * 2004-04-15 2005-10-27 Hitachi High-Technologies Corp 画像処理装置および電子ビーム装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63247858A (ja) * 1987-04-03 1988-10-14 Hitachi Ltd デ−タ転送方法及び装置
JPS649574A (en) * 1987-07-02 1989-01-12 Fujitsu Ltd Video rate picture processor
JPH06325162A (ja) * 1993-05-11 1994-11-25 Nikon Corp 画像処理装置
JPH0728526A (ja) * 1993-07-09 1995-01-31 Nippon Steel Corp 高速視覚フィードバック装置
JPH08171536A (ja) * 1994-12-16 1996-07-02 Com Syst:Kk データ処理装置
JPH09298651A (ja) * 1996-05-08 1997-11-18 Fuji Xerox Co Ltd 画像処理装置
JPH1040392A (ja) * 1996-07-23 1998-02-13 Fujitsu Ltd 局所領域画像追跡装置
JPH1155571A (ja) * 1997-08-07 1999-02-26 Mitsubishi Electric Corp 画像処理装置および画像処理方法
JP2001243479A (ja) * 2000-02-28 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> 画像処理方法および装置、ならびに画像処理プログラムを記録した記録媒体
JP2004199532A (ja) * 2002-12-20 2004-07-15 Hitachi High-Technologies Corp 画像処理装置及び画像処理システム
JP2005084698A (ja) * 2003-09-04 2005-03-31 Sony Corp 画像処理装置および方法、記録媒体、プログラム、並びに電子回路
JP2005266910A (ja) * 2004-03-16 2005-09-29 Hitachi High-Technologies Corp 画像データ転送方法、画像処理装置およびウェハ外観検査装置
JP2005301858A (ja) * 2004-04-15 2005-10-27 Hitachi High-Technologies Corp 画像処理装置および電子ビーム装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503793B2 (en) 2008-11-21 2013-08-06 Fujitsu Limited Correlation processing apparatus and medium readable by correlation processing apparatus
WO2012073490A1 (ja) * 2010-11-30 2012-06-07 パナソニック株式会社 オブジェクト検出装置、画像分割装置、集積回路
CN102741877A (zh) * 2010-11-30 2012-10-17 松下电器产业株式会社 目标检测装置、图像分割装置、集成电路
US8699753B2 (en) 2010-11-30 2014-04-15 Panasonic Corporation Object detecting device, image dividing device, integrated circuit, method of detecting object, object detecting program, and recording medium
CN102741877B (zh) * 2010-11-30 2016-03-30 松下电器产业株式会社 目标检测装置、图像分割装置、集成电路

Also Published As

Publication number Publication date
JP4929474B2 (ja) 2012-05-09

Similar Documents

Publication Publication Date Title
CN103460242B (zh) 信息处理装置、信息处理方法、以及位置信息的数据结构
US9095977B2 (en) Object gripping apparatus, control method for object gripping apparatus, and storage medium
JP5819956B2 (ja) 実時間でビデオフレームを前処理するハードウェア
CN109726168B (zh) Slam运算装置和方法
EP1927949A1 (en) Array of processing elements with local registers
JP6494294B2 (ja) 画像処理装置、及び撮像システム
CN106797451A (zh) 具有模型验证和管理的视觉对象跟踪系统
EP2472468A1 (en) Image processing device and image processing method
JP2006186917A (ja) 画像処理装置及び画像処理方法
JP2002328881A (ja) 画像処理装置および画像処理方法並びに携帯用映像機器
KR102586173B1 (ko) 프로세서 및 그 제어 방법
JP4929474B2 (ja) 画像処理装置
Chai et al. Improving KLT in embedded systems by processing oversampling video sequence in real-time
US9892090B2 (en) Image processing apparatus and method for vector data
US20070052822A1 (en) Smear Correction In A Digital Camera
JP4547321B2 (ja) 動きベクトル検出装置及び撮像装置
KR20200110165A (ko) 뉴럴 네트워크의 레이어들의 처리에서 제로 값(zero value)의 연산을 처리하는 방법 및 장치
KR101091054B1 (ko) 동화상 부호화에 있어서의 움직임 탐색 장치
JP6600335B2 (ja) 映像処理装置、映像処理方法および映像処理プログラム
EP1927950A1 (en) Array of processing elements with local registers
JP7278737B2 (ja) 撮像装置及びその制御方法、並びにプログラム
WO2016157246A1 (en) Data transfer apparatus and microcomputer
WO2016185556A1 (ja) 合成画像生成装置及び合成画像生成方法及び合成画像生成プログラム
JP2589781B2 (ja) 画像処理プロセッサ
JP2018093346A (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

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: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120123

R150 Certificate of patent or registration of utility model

Ref document number: 4929474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees