JP5045652B2 - 相関処理装置及びその相関処理装置で読みとり可能な媒体 - Google Patents

相関処理装置及びその相関処理装置で読みとり可能な媒体 Download PDF

Info

Publication number
JP5045652B2
JP5045652B2 JP2008298694A JP2008298694A JP5045652B2 JP 5045652 B2 JP5045652 B2 JP 5045652B2 JP 2008298694 A JP2008298694 A JP 2008298694A JP 2008298694 A JP2008298694 A JP 2008298694A JP 5045652 B2 JP5045652 B2 JP 5045652B2
Authority
JP
Japan
Prior art keywords
image
rectangular pattern
arithmetic
control circuit
searched
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
Application number
JP2008298694A
Other languages
English (en)
Other versions
JP2010123083A (ja
Inventor
毅 ▲葛▼
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 JP2008298694A priority Critical patent/JP5045652B2/ja
Priority to US12/616,894 priority patent/US8503793B2/en
Publication of JP2010123083A publication Critical patent/JP2010123083A/ja
Application granted granted Critical
Publication of JP5045652B2 publication Critical patent/JP5045652B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors

Description

本発明は画像同士の相関関係を求める相関処理装置及びその相関処理装置で読みとり可能な媒体に関する。
画像同士の相関関係を求める処理を行うにあたって、相関処理装置は対応する画像ピクセルの正規化相関値又はSAD(Sum of the Absolute Differences)値を計算し、その値から相関関係を求めている。
ここで、正規化相関値又はSAD値を計算するには、複数の画像について、計算を行う必要があり、その計算にともなう計算量が非常に多くなる。
そこで、正規化相関値又はSAD値の計算を高速に行うため、複数のウインドウについて同時に正規化相関値を計算する並列処理が取り入れられている(特許文献1参照。)。
さらに、テクスチャと一つのウインドウに対して、正規化相関値の計算をする際に、テクスチャ及びウインドウを分割して、その分割領域についての正規化相関値計算を並列して行うという並列処理も提案されている(特許文献2参照。)。
特開平10−134183号公報 特開2008−84034号公報
本発明の目的は、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、1つのウインドウ内のピクセルを並列処理の対象とする方法における効率的な並列処理が可能な構成を有する画像処理装置を提供することである。
上記の課題を解決するため、探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、探索する画像の第1画像ピクセルの第1画像ピクセル値と、部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、探索する画像を矩形パタンによって分割したときの分割数が最小となるような矩形パタンを選択する矩形パタン選択回路と、N個の演算回路の内、M個の前記演算回路を活性化するとともに、M個の演算回路によって演算が行われるM個の第1画像ピクセル値及びM個の前記第2ピクセル値を特定する制御回路と、M個分の演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置を提供する。
本発明によれば、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する画像処理装置を提供することができる。
以下、本発明の実施例1、実施例2、実施例3、実施例4、実施例5、及び、実施例6について説明する
正規化相関値又はSAD値を計算する場合に、計算量が多くなる理由は以下である。まず、探索対象画像内において、探索したい画像(テクスチャと呼ぶ)と相関関係が高い探索対象画像内の部分矩形(ウインドウと呼ぶ)を見つける場合、ウインドウ位置をずらしながら、複数のウインドウについて、テクスチャとウインドウとの間で正規化相関値又はSAD値を計算する必要がある。さらに、ひとつのテクスチャ又はウインドウは複数の画像ピクセルから構成されており、正規化相関値又はSAD値の計算を行うときに、複数のウインドウ及びテクスチャに関する複数の画像ピクセルを処理する必要があり、膨大なデータに対する計算が必要となるからである。そこで、正規化相関値又はSAD値の計算には、高速化のため、並列処理が取り入れられている。 並列処理する場合の並列化する対象として、上記のようにウインドウを並列処理の対象にする方法のほかに、1つのウインドウ内のピクセルを並列処理の対象とする方法も考えられる。前者は処理する複数のウインドウ位置が一定の規則的な法則に基づいている場合はメモリアクセスの効率上有効であるが、複数のウインドウ位置が無秩序な場合は並列にアクセスするメモリアドレスに規則性がなく並列処理が困難となると考えられる。後者はこのようなウインドウ位置が無秩序な場合においてもメモリアクセスの規則性をある程度保持することができ、並列処理を維持できると考えられる。
図1は、実施例に関わる正規化相関処理装置10の構成を説明する図である。図1には、正規化相関処理装置10を含むシステム全体が図示されており、正規化相関処理装置10、CPU50、メインメモリ60、及び、バス70が示されている。
CPU50はシステム内の正規化相関処理装置10又はメインメモリ60の制御を行う制御装置である。
メインメモリ60はシステム内のデータを一時格納しておく記憶装置である。従って、メインメモリ60はCPU50と正規化相関処理装置10との間で扱われるデータを一時格納しておき、CPU50又は正規化相関処理装置10の要求をうけて、データの入出力を行う。
バス70は、正規化相関処理装置10、メインメモリ60、CPU50間を接続するデータバス(データ信号を伝送のための信号線の束)及び制御命令を伝達するバス(命令信号を伝送するための信号線の束)から構成されている。
正規化相関処理装置10は、内部バス15、設定レジスタ群20、制御部30、及び、演算処理装置40(データパス)から構成されている。
内部バス15は、バス70からの入力データ、又は、バス70への出力データの伝送を行うデータバス及び制御部30に対する制御命令を伝達するバスである。
設定レジスタ群20は、CPU50からバス70、内部バス15を介して送られてきた、ウインドウ位置情報(iX、iY)又はテクスチャサイズ情報(th、tw)を格納するレジスタを含むレジスタ群である。なお、設定レジスタ群20は、その他の設定値、例えば、演算処理に必要な初期値を格納するレジスタを含んでいてもよい。なお、ウインドウとは、入力画像(探索対象画像)内の部分矩形をいい、行列状に配置された複数の画像ピクセルから構成されている(以下、ウインドウを構成する画像ピクセルをウインドウ画像ピクセルという)。テクスチャとは、探索したい画像であって矩形のものをいい、行列状に配置された複数の画像ピクセルから構成されている(以下、テクスチャを構成する画像ピクセルをテクスチャ画像ピクセルという)。そして、画像ピクセルとは、色調を示すRGB値と色の透明度に対応する色を表示する画素をいう。ただし、この実施例では、簡単のために、白黒階調をあらわす一次元の値に対応して、白黒を表示する画素をいう。また、画像ピクセル値は一般的には、色調を示すRGB値、及び、不透明度を表す値をいうが、ここでは、簡単のために白黒階調を表す一次元の値であるとする。
そして、ウインドウ位置情報(iX、iY)とは、ウインドウ内の左上端画像ピクセルが入力画像(探索対象画像)内の画像ピクセルの内、iX行、iY列の画像ピクセルと一致していることを示す情報である。
また、テクスチャサイズ情報(th、tw)は、テクスチャ画像が、th行、tw列から構成されていることを示す情報である。
図2は、制御部30、演算処理装置40(データパス)について説明する図である。
制御部30は矩形パタン選択回路31、演算処理制御回路32(データパス制御回路)、及び、それらの制御回路33から構成されている。
演算処理装置40(データパス)はテクスチャメモリ41、入力画像メモリ42、N画素並列処理演算器43、それらの制御回路44から構成されている。
矩形パタン選択回路31は、複数の矩形パタン情報を有している。ここで、矩形パタンとは、行列状に配置された複数の構成要素の配列パタンをいう。そして、矩形パタン情報とは、その矩形パタンが何行、何列なのかを表す情報である。例えば、2行、4列目の矩形パタンであれば(2, 4)と表す。そして、このような矩形パタン情報を複数(M個)持つとして、各矩形パタンの集合として次のように表す。{(ph[0],pw[0]),(ph[1],pw[1]),(ph[2],pw[2]),(ph[3],pw[3]), ... , (ph[j], pw[j]), ... ,(ph[M-1],pw[M-1])}。ここに、(ph[j], pw[j])は矩形パタン情報であり、添え字のjは複数(M個)の矩形パタンにつけられた番号を示し、0<=j<Mである。その結果、上記の矩形パタンは、ph[j]行pw[j]列(ph[j]、pw[j]は正の整数)であって、ph[j]×pw[j]個の構成要素から構成されていることがわかる。なお、図3で説明するように、ph[j]×pw[j]は、N画素並列処理演算器43が有する乗算器の数Nより小さい又は等しい、正の整数である。例えば、Nが9である場合に、ph[j]が4、pw[j]が2である。また、Nが9である場合に、ph[j]が3、pw[j]が2であってもよい。
そこで、矩形パタン選択回路31は、テクスチャサイズ情報(th,tw)が与えられると、保有する矩形パタンの内、テクスチャをその矩形パタンで覆い尽くすのに必要な繰り返し数が最小となる、矩形パタンを選択する。すなわち、矩形パタン選択回路は、テクスチャを矩形パタンによって切れ目なく分割したときに、分割数が最小となるような矩形パタンを選択する回路である。そして、矩形パタン選択回路31は、演算処理制御回路(データパス制御回路)32へ、選択した矩形パタンの矩形パタン情報を出力する。矩形パタン選択回路31の選択動作の詳細については、図4を用いて、後に説明する。
演算処理制御回路(データパス制御回路)32は、演算処理装置40で行う演算処理を制御する回路である。演算処理制御回路(データパス制御回路)32はさらに、1ウインドウ処理制御回路34を有する。そこで、まず、演算処理制御回路(データパス制御回路)32は、選択された矩形パタンの矩形パタン情報に基づいて、1ウインドウ処理制御回路34を動作させ、一つのウインドウ内において、演算処理を行うように、演算処理装置40の制御を行う。次いで、CPU50よりウインドウ位置情報(ix、iy)を受け取り、それらの情報に基づいて、次のウインドウについて演算処理を行うように、演算処理装置40の制御を行う。演算処理制御回路(データパス制御回路)32の制御動作の詳細については、図6を用いて、後に説明する。
制御回路33は、矩形パタン選択回路31及び演算処理制御回路(データパス制御回路)32の動作開始時期や情報データの受け渡しを制御する回路である。
テクスチャメモリ41は、バス70、内部バス15を介して、CPU50から伝送されてくるテクスチャ画像ピクセル値を記憶する回路である。
入力画像メモリ42は、バス70、内部バス15を介して、CPU50から伝送されてくる入力画像(探索対象画像)に関する画像ピクセル値を記憶する回路である。
N画素並列処理演算器43は、複数の乗算器、加算器、及び、積算レジスタとから構成されている演算器である。ただし、複数の乗算器、加算器、積算レジスタを一組とした場合に、それらが、複数組あってもよい。なお、N画素並列処理演算器43の詳細については、図3を用いて説明する。
制御回路44は演算処理制御回路(データパス制御回路)32からの制御を受け、テクスチャメモリ41、入力画像メモリ42に対するデータの入出力、及び、N画素並列処理演算器43から出力される出力データの内部バス15への出力を制御する回路である。
図3は、N画素並列処理演算器43について詳細を説明する図である。図3において、テクスチャメモリ41内に記憶されているテクスチャ、入力画像メモリ42内に記憶されている入力画像(探索対象画像)、ウインドウの位置、及び、N画素並列処理演算器43を構成する回路が示されている。
N画素並列処理装置43は、正規化相関値をもとめる場合は、Σy演算部43a、Σy*y演算部43b、ΣX*Y演算部43cを有する。なお、N画素並列処理装置43は、SAD値をもとめる場合は、Σ|x-y|演算部43dを有する。
Σy演算部43aは、ウインドウに関連づけた矩形パタン内のウインドウ画素ピクセル値(y)を矩形パタン内のすべての画素ピクセルについて足し合わせる(Σy)という計算をする演算部であり、矩形パタン内の画素ピクセルの数ph×pwに対応し、ph×pw以上のN個のレジスタと、加算器と、加算結果を記憶するレジスタとを備える。すなわち、Σy演算部43aのレジスタの構成は、選択した矩形パタンに応じて、組み換えが可能(コンフィギュアラブル)である。
Σy*y演算部43bは、ウインドウに関連づけた矩形パタン内のウインドウ画素ピクセル値(y)を矩形パタン内のすべての画素ピクセルについて、2乗して足し合わせる(Σy*y)いう計算をする演算部であり、矩形パタン内の画素ピクセルの数ph×pwに対応し、ph×pw以上のN個の2乗演算器と、加算器と、加算結果を記憶するレジスタとを備える。すなわち、Σy*y演算部43bの2乗演算器の構成は、選択した矩形パタンに応じて、組み換えが可能(コンフィギュアラブル)である。
ΣX*Y演算部43cは、テクスチャに関連づけた矩形パタン内のテクスチャ画素ピクセル値(x)と、ウインドウに関連づけた矩形パタン内のウインドウ画素ピクセル値(y)を掛け合わせた結果(x*y)を、矩形パタン内のすべての画素ピクセルについて足し合わせる(ΣX*Y)という計算をする演算部であり、矩形パタン内の画素ピクセルの数ph×pwに対応し、ph×pw以上のN個の乗算器と、加算器と、加算結果を記憶するレジスタとを備える。すなわち、ΣX*Y演算部43cの乗算器の構成は、選択した矩形パタンに応じて、組み換えが可能(コンフィギュアラブル)である。
Σ|x-y|演算部43dは、テクスチャに関連づけた矩形パタン内のテクスチャ画素ピクセル値(x)から、ウインドウに関連づけた矩形パタン内のウインドウ画素ピクセル値(y)引いた結果の絶対値(|x-y|)を、矩形パタン内のすべての画素ピクセルについて足し合わせる(Σ|x-y|)という計算をする演算部であり、矩形パタン内の画素ピクセルの数ph×pwに対応し、ph×pw以上のN個の引き算器と、加算器と、加算結果を記憶するレジスタとを備える。すなわち、Σ|x-y|演算部43dの引き算器の構成は、選択した矩形パタンに応じて、組み換えが可能(コンフィギュアラブル)である。
図3において、テクスチャは例えば、6行7列の画素ピクセルから構成されている。また、ウインドウも、6行7列の画素ピクセルから構成されている。そして、矩形パタン選択回路31が選択した矩形パタンは2行4列である。そして、ウインドウ又はテクスチャは、6個の矩形パタンによって覆い尽くされる。
その場合には、ΣX*Y演算部43cは、例えば、9個の乗算器431乃至439と、9個の乗算器431乃至439と接続する加算器440と、レジスタ1441とを備える。そして、図3において実線により示すように、矩形パタンが2行4列であることにあわせて、8個の乗算器431乃至438が活性化している。図3において点線で示すように、乗算器439は活性化していない。すなわち、矩形パタンに応じて、加算器440と乗算器431乃至439との接続構成を組み換えていることになる。
Σy演算部43a、Σy*y演算部43b、Σ|x-y|演算部43dは、上記のΣX*Y演算部43cにおける乗算器を、レジスタ、2乗演算器、引き算器に置き換えたものである。
図4は、矩形パタン選択回路31の選択動作の詳細を説明する図である。図4には、矩形パタン選択回路31の選択動作を表す、フローチャートが示されている。
ここで、矩形パタン選択回路31は、N画素並列処理装置43の構成を考慮し、取り得る矩形パタン情報のすべて{(ph[0],pw[0]),(ph[1],pw[1]),(ph[2],pw[2]),(ph[3],pw[3]), ... , (ph[j], pw[j]), ... ,(ph[M-1],pw[M-1])}を備えている。
オペレーション(op1)において、矩形パタン選択回路31は、テクスチャサイズ情報(th,tw)を受けとる。
次いで、オペレーション(op2)において、矩形パタン選択回路31が保有するすべての矩形パタン、すなわち、番号0の矩形パタンから番号(M−1)の矩形パタンまでの、すべての矩形パタンについて、以下のことを行う。まず、テクスチャの高さthを矩形パタンの高さphで割り算をし、小数点以下を繰り上げた整数を得る演算ceil(th/ph)を行う。次いで、テクスチャの幅twを矩形パタンの幅pwで割り算をし、小数点以下を繰り上げた整数を得る演算ceil(tw/pw)を行う。次いで、ceil(th/ph)とceil(tw/pw)を掛け合わせた結果、pNumを得る。pNumは、与えられたテクスチャを、選択した矩形パタンで覆い尽くすのに必要な、最小の繰り返し回数となる。すなわち、pNumは、テクスチャを矩形パタンによって分割したときに分割数が最小となる数である。
ここで、矩形パタンと、テクスチャ又はウインドウの形状との関係によっては、矩形パタンでテクスチャ又はウインドウを覆う場合、矩形パタンがテクスチャ又はウインドウからはみ出る場合がありえる。しかし、割り算をし、小数点以下を繰り上げた整数を得ているため、はみでる領域は最小に押さえられる。
図3に示す場合に、PNumを計算すると、まず、ceil(tw/pw)=6/2=3である。次いで、ceil(th/ph)=2である。th/ph=7/4=1.75なので、繰り上げて2となるからである。そこで、図3に示すように、矩形パタンでテクスチャを覆いつくすのに必要な繰り返し回数、ceil(tw/pw)×ceil(th/ph)=6を得ることができる。
次いで、オペレーション(op3)において、番号i(0<=i<M)の矩形パタンに対するpNumの内、最小のpNumを有する矩形パタンを選択する。
次いで、オペレーション(op4)において、選択した矩形パタンに関する情報を演算処理(データパス)制御回路32に出力する。
図5は、矩形パタン選択回路31の選択動作の例を示す表である。この例において、CPU150から入力されるテクスチャサイズ(th,tw)は、10×4、10×5、10×6、64×64である。矩形パタン選択回路31が保有する矩形パタン(ph,pw)は、番号0の矩形パタン1×9、番号1の矩形パタン2×4、番号3の矩形パタン3×3、番号4の矩形パタン4×2、番号4の矩形パタン9×1である。
そこで、テクスチャサイズにおいて、各矩形パタンに対するpNum=ceil(tw/pw)×ceil(th/ph)を計算すると、以下のようになる。
テクスチャサイズ(10,4)については、各矩形パタンに対して、pNumは10、5、8、6、8となる。そこで、矩形パタン選択回路31は第1の矩形パタン2×4を選択する。
テクスチャサイズ(10,5)については、各矩形パタンに対して、pNumは10、10、8、9、10となる。そこで、矩形パタン選択回路31は第2の矩形パタン3×3を選択する。
テクスチャサイズ(10,6)については、各矩形パタンに対して、pNumは10、10、8、6、8となる。そこで、矩形パタン選択回路31は第3の矩形パタン4×2を選択する。
テクスチャサイズ(64,64)については、各矩形パタンに対して、pNumは512、512、484、512、512となる。そこで、矩形パタン選択回路31は第2の矩形パタン3×3を選択する。
図6は、演算処理制御回路(データパス制御回路)32の制御動作の詳細を説明する図である。図6には、演算処理制御回路(データパス制御回路)32の制御動作を表す、フローチャート、矩形パタン選択回路31、演算処理制御回路32、制御回路33、テクスチャメモリ41、入力画像メモリ42、N画素並列処理演算器43、制御回路44が示されている。
そこで、演算処理制御回路(データパス制御回路)32による、図3にしめしたN画素並列処理装置43への制御は次のように行われる。演算処理制御回路(データパス制御回路)32は1ウインドウ処理制御回路34を有する。
オペレーション(op11)において、演算処理制御回路(データパス制御回路)32は矩形パタン選択回路31より、選択した矩形パタン情報(ph,pw)を取得し、CPU50より、ウインドウ位置情報(ix,iy)及びテクスチャ情報(th,tw)を取得する。
オペレーション(op12)において、演算処理制御回路(データパス制御回路)32は、1ウインドウ処理制御回路34を通じて、演算計算で使用する変数の初期化を行う。例えば、繰り返し計算の回数を示す変数a、bをゼロとして、積算レジスタresultにゼロを設定する。また、演算処理制御回路(データパス制御回路)32は、制御回路44を介して、選択した矩形パタンの画素ピクセル数に応じて、Σy演算部43a、Σy*y演算部43b、ΣX*Y演算部43c、Σ|x-y|演算部43d内の乗算器、レジスタ、2乗演算器、引き算器の活性化数を制御する。すなわち、N画素並列処理装置43内の計算器(乗算器、レジスタ、2乗演算器、引き算器)の構成は、選択した矩形パタンに応じて、組み換えが可能(コンフィギュアラブル)である。
ここで、ΣX*Y演算部43cを例にとると、ΣX*Y演算部43cは、加算機440と、加算器439に並列に接続する乗算器431、432、433、434、435、436、437、438、439と、加算器440からの出力を受けるレジスタ441を備える。また、ceil(th/ph)は3であり、ceil(tw/pw)は2である。
従って、制御回路44は、演算処理制御回路(データパス制御回路)32からの制御によって、レジスタ441をゼロに設定する。また、制御部44は、乗算器431乃至438を活性化し、矩形パタンの画素ピクセルの内の該当箇所にわりあてる。
オペレーション(op13)において、演算処理制御回路(データパス制御回路)32は変数aの値が、ceil(th/ph)未満か否かを判断する。変数aがceil(th/ph)以上である場合には、オペレーションop20に進む。一方、変数aの値が、ceil(th/ph)未満である時には、オペレーションop14に進む。
オペレーション(op14)において、演算処理制御回路(データパス制御回路)32は変数bの値が、ceil(tw/pw)未満か否かを判断する。変数bがceil(tw/pw)以上である場合には、オペレーションop19に進む。一方、変数bの値が、ceil(tw/pw)未満である時には、オペレーションop15に進む。
オペレーション(op15)において、演算処理制御回路(データパス制御回路)32は、制御回路44を介して、テクスチャ内において、(b*pw[j], a*ph[j])を左上座標とする矩形パタン、すなわち、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御する。ただし、矩形パタンがテクスチャからはみ出している部分に相当するA1乃至A8については0を入力するように制御する。
オペレーション(op16)において、演算処理制御回路(データパス制御回路)32は、制御回路44を介して、入力画像内において、(b*pw[j]+ix, a*ph[j]+iy)を左上座標とする矩形パタン、すなわち、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御する。
オペレーション(op17)において、演算処理制御回路(データパス制御回路)32は、制御回路44を介して、A1乃至A8、B1乃至B8を、ΣX*Y演算部43cの乗算器431乃至438に入力するように制御する。次いで、制御回路44は乗算器431乃至438が並列にテクスチャ画素ピクセル値A1乃至A8と、ウインドウ画素ピクセル値B1乃至B8を掛け合わせるようにする。次いで、制御回路44は乗算器431乃至438から加算器440に乗算器431乃至438の結果が入力されると、加算器440はレジスタ441に記憶されている値に、乗算器431乃至438からの入力値を加算して、レジスタ441にその加算結果を出力するようにする。その結果、8個の乗算器431乃至438によって得た値のすべてが積算されて、レジスタ441に蓄積される。演算処理制御回路(データパス制御回路)32は、制御回路44を介して、レジスタ441の結果をresultへ格納するようにする。
オペレーション(op18)において、演算処理制御回路(データパス制御回路)32は、変数bに1を加算する。その後、オペレーションop14を行う。すなわち、演算処理制御回路(データパス制御回路)32は、制御回路44を介して、2の位置にある矩形パタンについて、ΣX*Y演算部43cに同様な操作をさせるようにする。
オペレーション(op19)において、演算処理制御回路(データパス制御回路)32は、変数aに1を加算する。その後、オペレーションop13を行う。すなわち、演算処理制御回路(データパス制御回路)32は、制御回路44を介して、3、4、5、6の位置にある矩形パタンについて、ΣX*Y演算部43cに同様な操作をさせるようにする。
その結果、オペレーション(op20)において、最初のウインドウについて、Σx*yについての計算結果がresultへ格納される。その結果、相関要素値Σx*yの計算が終了する。
なお、正規化相関値の計算を行うには、各ウインドウについて、相関要素値Σx*yの他に、Σy*y、Σyという相関要素値が必要であり、各ウインドウについてそれらは、Σy演算部43a、Σy*y演算部43bにより計算される。
次いで、N画素並列処理装置43は、演算処理制御回路(データパス制御回路)32からの制御を、制御回路43を介して受け、異なった位置にあるウインドウについて同様のことを行う。その結果、入力画像における、すべてのウインドウについて、同様な計算が終了する。
そこで、CPU50は、各ウインドウについて、上記で求められた相関要素値、Σx*y、Σy*y、Σyを次式にあてはめ、相関値rを求める。

={n×Σx*y−Σy×Σx}/{n×Σy*y−(Σy)}/{n×Σx*x−(Σx)

なお、nはテクスチャを構成するテクスチャ画像ピクセルの数である。Σxはテクスチャ画素ピクセル値の合計と定義される相関要素値である。Σx*xはテクスチャ画素ピクセル値の2乗の合計と定義される相関要素値である。テクスチャは予め決められた画像であるので、相関要素値Σx及び相関要素値Σx*xは、ともに、予め計算することができる。
上記の結果、CPU50は、入力画像(検索対象画像)において、相関値rに基づきウインドウとテクスチャとの一致を判断することができる。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例1の正規化相関処理装置10は、
前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)と、
(ph、pwは正の整数であるとすると、ph行pw列からなる)M=ph×pw個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択する矩形パタン選択回路(矩形パタン選択回路31)と、
前記N個の演算回路の内、前記M個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御し、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御する制御回路(演算処理制御回路32)と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
上記の正規化相関処理装置10によれば、テクスチャサイズの設定に変更があっても、テクスチャ及びウインドウを最小数で分割できる最適な矩形パタンを選択することができる。また、その矩形パタンの構成要素の数と同数の演算回路を活性化することにより、演算回路の構成を矩形パタンに対応するように組み換え、矩形パタン内の複数の構成要素について並列計算が行える。そして、活性化された演算回路から得られた演算結果を積算することにより、相関値を導き出すための相関要素値を求めることができる。
各ウインドウにおいて、矩形パタンを設定して、矩形パタン内の構成要素に関して、並列処理を行うため、ウインドウ単位に並列処理する場合のように、予め並列処理するウインドウの位置を定めておく必要がない。従って、ウインドウ位置の設定を自由に行うことができる。
そうすると、上記の正規化相関処理装置10は、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する。
なお、上記の正規化相関処理装置10において、演算回路は、レジスタ、乗算器、引き算器のいずれでもよい。正規化相関処理装置10は、いずれの相関要素値を計算することにも対応することができる。
また、正規化相関処理装置10は、テクスチャのサイズに関するテクスチャサイズ情報及びウインドウの位置に関するウインドウ位置情報を保持するレジスタ群を有する。そして、矩形パタン選択回路(選択パタン選択回路31)は、テクスチャサイズ情報に基づいて、最適な矩形パタンを選択する。また、制御回路(演算処理制御回路32)は、ウインドウ位置情報に基づいて、入力画像中のウインドウ位置を特定する機能をさらに有する。
さらに、正規化相関処理装置10は、テクスチャを記憶するメモリ(テクスチャメモリ41)及び入力画像を記憶するメモリ(入力画像メモリ42)を含むことが望ましい。
レジスタ群、テクスチャメモリ41、入力画像メモリ42が、CPU50から独立して存在することにより、初期値の設定、画像ピクセル値の演算回路への入力速度が増加する効果がある。また、入力画像中のウインドウ位置を特定する機能がCPU50から独立して、制御回路(演算処理制御回路32)に置かれていることにより、CPU50の制御能力に余裕ができ、CPU50の判断速度が増加する効果がある。
上記において、テクスチャ及びウインドウを最小数で分割できることを、最適な矩形パタンの選択条件とした。しかし、矩形パタンの形状により、矩形パタンの構成要素に対応して、テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値、又は、ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値を、テクスチャメモリ41又は入力画像メモリ42から読み出すスピードが異なる場合がある。そこで、最適な矩形パタンの選択条件に、画像ピクセル値の読み出しスピードを考慮することもできる。その例を実施例2に示す。
実施例2の正規化相関処理装置は、実施例1における矩形パタン選択回路31を、矩形パタン選択回路312に置き換えた、正規化相関処理装置である。
図7は、矩形パタン選択回路312の選択動作の詳細を説明する図である。図7には、矩形パタン選択回路312、制御回路33、演算処理制御回路32、及び、矩形パタン選択回路312の選択動作を表すフローチャート、が示されている。制御回路33、及び、演算処理制御回路32については、実施例1の制御回路33、及び、演算処理制御回路32と同様なものであるため説明を省略する。
矩形パタン選択回路312は、矩形パタンの構成要素に対応して、テクスチャ画素ピクセル値及びウインドウ画素ピクセル値をテクスチャメモリ41又は入力画像メモリ42から読み出すスピードを考慮して、矩形パタンにつける重み(W[i])を、備えている。また、矩形パタン選択回路312は、N画素並列処理装置43の構成を考慮し、取り得る矩形パタン情報のすべて((i番目の矩形パタン情報)={(ph[0],pw[0]),(ph[0],pw[1]),(ph[0],pw[2]),(ph[0],pw[3]),….,(ph[i],pw[i])})を備えている。演算処理制御回路32及び制御回路33は、実施例1における同符号を付した回路と同様な回路であるため、説明を省略する。
オペレーション(op31)において、矩形パタン選択回路312は、テクスチャサイズ情報(th,tw)を受けとる。
次いで、オペレーション(op32)において、矩形パタン選択回路312が保有するすべての矩形パタン、すなわち、番号0の矩形パタンから番号(M−1)の矩形パタンまでの、すべての矩形パタンについて、図4のフローチャートのオペレーションop2と同様な処理を行う。すなわち、演算ceil(th[i]/ph[i])、演算ceil(tw[i]/pw[i])を行う。次いで、ceil(th[i]/ph[i])とceil(tw[i]/pw[i])を掛け合わせた結果、すべての矩形パタン、すなわち、番号iの矩形パタンについてpNum[i]を得る。なお、iは0以上M−1以下の正の整数である。
次いで、オペレーション(op33)において、pNum[i]に、W[i]を掛けて、pTime[i]を得る。W[i]は、読み出しスピードが早い程小さい、正の数である。例えば、W[i]は0より大きく1以下の数である。なお、一般的なメモリをテクスチャメモリ41又は入力画像メモリ42に使用すると、メモリの配列において、行方向(コラム方向)へ読み出し位置を移動する場合の読み出しスピードは早く、列方向(ロー方向)へ読み出し位置を移動する場合の読み出しスピードは遅いと考えられている。従って、矩形パタンの構成要素に対応する画素ピクセル値をメモリから読み出すのに、行方向への読み出しが使用される割合が大きい矩形パタンに対応する、重み(W[i])程小さい値となると考えられる。なお、読み出しスピードが早いとは、メモリにアクセスをかけてから、矩形パタンに関わる画素ピクセル値を得るまでの時間が短いことをいう。
次いで、オペレーション(op34)において、番号i(0<=i<M)の矩形パタンに対するpTime[i]の内、最小のpTimeを有する矩形パタンを選択する。
次いで、オペレーション(op35)において、選択した矩形パタンに関する情報を演算処理(データパス)制御回路32に出力する。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例2の正規化相関処理装置は、
前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)と、
前記テクスチャ画像ピクセル値を記憶するテクスチャメモリと、
前記ウインドウ画像ピクセル値を記憶する入力画像メモリと、
(ph、pwは正の整数であるとすると、ph行pw列からなる)M=pw×ph個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときの分割数と、前記テクスチャメモリから前記テクスチャ画像ピクセル値を読み出すスピード又は前記入力画像メモリから前記ウインドウ画像ピクセル値を読み出すスピードに応じた重みと、を乗算した値が最小となるような矩形パタンを選択する矩形パタン選択回路(矩形パタン選択回路312)と、
前記N個の演算回路の内、前記M個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御し、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御する制御回路(演算処理制御回路32)と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
従って、実施例1の正規化相関処理装置と同様に、実施例2の正規化相関処理装置は、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する。
さらに、実施例2の正規化相関処理装置においては、矩形パタンの選択に、テクスチャの矩形パタンによる分割数が最小となるという条件だけでなく、前記テクスチャメモリから前記テクスチャ画像ピクセル値を読み出すスピード又は前記入力画像メモリから前記ウインドウ画像ピクセル値を読み出すスピードも考慮することにより、実施例1の正規化相関処理装置より、効率的な並列処理が可能な構成となっている。
実施例1及び実施例2では、矩形パタン選択回路において、すべての矩形パタンについて、テクスチャを矩形パタンに分割する分割数を計算によって求めている。しかし、その計算には時間がかかる。そこで、テクスチャサイズの上限がきまっているときには、テクスチャに対して最適な矩形パタンを予め計算により求めて、表にまとめておくことができる。そして、テクスチャ情報が矩形パタン選択回路に入力された場合、表を利用して、矩形パタンを選択することもできる。そのような例を実施例3に示す。
実施例3の正規化相関処理装置は、実施例1における矩形パタン選択回路31を、矩形パタン選択回路313に置き換えた、正規化相関処理装置である。
図8は、矩形パタン選択回路313の選択動作の詳細を説明する図である。図8には、矩形パタン選択回路313、制御回路33、演算処理制御回路32、及び、矩形パタン選択回路313の選択動作を表すフローチャート、が示されている。制御回路33、及び、演算処理制御回路32については、実施例1の制御回路33、及び、演算処理制御回路32と同様なものであるため説明を省略する。
矩形パタン選択回路313は、N画素並列処理装置43の構成を考慮し、取り得る矩形パタン情報のすべて((i番目の矩形パタン情報)={(ph[0],pw[0]),(ph[0],pw[1]),(ph[0],pw[2]),(ph[0],pw[3]),(ph[m-1],pw[k-1])})を備えている。また矩形パタン選択回路313は、最小テクスチャサイズから最大テクスチャサイズまでの取り得るテクスチャサイズのいずれについても、上記の矩形パタン中、最適な矩形パタンを対応づけた選択表を、保有している。ここで、「最適な」とは、実施例1における説明のように、テクスチャを矩形パタンで分割したときに最小の分割数となるという意味でもよいし、実施例2における説明のように、分割数に、読み出しスピードに関わる重みを掛け合わせたものが最小になるという意味でもよい。さらに、「考慮すべきもの」があった場合、それに応じた係数を考えた場合に、「最適な」とは、分割数と、重みと、上記係数を掛けたものが最小となるという意味であってもよい。ここで、「考慮すべきもの」の例として、矩形パタンによって、テクスチャを分割したときの空白の数が考えられる。
オペレーション(op41)において、矩形パタン選択回路313は、テクスチャサイズ情報(th,tw)を受けとる。
次いで、オペレーション(op42)において、上記の選択表によって、最適な矩形パタンを選択する。
次いで、オペレーション(op43)において、選択した矩形パタンに関する情報を演算処理(データパス)制御回路32に出力する。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例3の正規化相関処理装置は、
テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)と、
テクスチャのサイズと、テクスチャのサイズに応じて選択すべき、(ph、pwは正の整数であるとすると、ph行pw列からなる)M=pw×ph個(MはNより小さい正の整数)の構成要素を有する矩形パタンが記載されている選択表を有し、前記テクスチャのサイズに対応する矩形パタンを選択する矩形パタン選択回路(矩形パタン選択回路313)と、
前記N個の演算回路の内、前記M個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御し、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御する制御回路(演算処理制御回路32)と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
従って、実施例1の正規化相関処理装置と同様に、実施例3の正規化相関処理装置は、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する。
さらに、実施例3の正規化相関処理装置は、矩形パタンの選択する時間が短縮され、実施例1の正規化相関処理装置より、処理時間が短縮された並列処理を可能とする構成を有している。
実施例1、2、3では、ウインドウの位置設定を、ウインドウ位置を変更する場合に、その都度、CPU50からの情報にもとづいて行っていた。しかし、演算処理制御回路が複数のウインドウ位置情報を受けるとる構成であってもよい。その場合、正規化相関処理装置は複数のウインドウについての並列処理を、これまでの矩形パタンの構成要素に関する並列処理に加えて行う構成をとることができる。そのような例を実施例4に示す。
実施例4の正規化相関処理装置70、71、及び、72は、いずれも、CPU50から複数個(L個)のウインドウ位置情報を受け取り動作する装置である。
図9A、9B、及び、9Cは、実施例4の正規化相関処理装置70、71、及び、72を説明するための図である。
図9Aは、実施例4の正規化相関処理装置70を説明するための図である。図9Aには、正規化相関処理装置70、矩形パタン選択回路31、演算処理制御回路321、制御回路33、及び、演算処理装置40が示されている。矩形パタン選択回路31、制御回路33、演算処理装置40については、実施例1で説明した矩形パタン選択回路31、制御回路33、演算処理装置40と同様な回路であるため、説明を省く。
演算処理制御回路321は、矩形パタン選択回路31から矩形パタン情報を受け、CPU50からL個のウインドウ位置情報{(ix[0], iy[0]), … ,(ix[L-1], iy[L-1])}を受けとる。1ウインドウ処理制御回路34は、L個のウインドウ位置情報の内の一つを受け取る。その場合、すぐに使用されないウインドウ位置情報は演算処理制御回路321に蓄積され、順次、1ウインドウ処理制御回路34により使用される。1ウインドウ処理制御回路34は実施例1で説明した1ウインドウ処理制御回路34と同様なものである。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例4の正規化相関処理装置70は、
前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)からなる、並列演算器と、
(pw、phは正の整数であるとすると、ph行pw列からなる)M=pw×ph個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択する矩形パタン選択回路(矩形パタン選択回路31)と、
複数のウインドウ位置情報を受け、各前記ウインドウ位置情報に対応してN個の演算回路の内、前記M個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御し、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御する制御回路(演算処理制御回路321)と、
前記並列演算器それぞれにおいて、前記M個分の前記演算回路によって得られた演算結果を、積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
そうすると、さらに、実施例4の正規化相関処理装置70は、複数のウインドウ位置情報を受けて行う並列処理を、これまでの矩形パタンの構成要素に関する並列処理に加えて行うことができる。
図9Bは、実施例4の正規化相関処理装置71を説明するための図である。図9Bには、正規化相関処理装置71、矩形パタン選択回路31、演算処理制御回路322、制御回路33、及び、演算処理装置401が示されている。矩形パタン選択回路31、制御回路33については、実施例1で説明した矩形パタン選択回路31、制御回路33と同様な回路であるため、説明を省く。
演算処理制御回路322は、実施例1における演算処理制御回路32に加えて、1ウインドウ処理制御回路34を複数備える。本実施例では、演算処理制御回路321は、2つの1ウインドウ処理制御回路34を備える。1ウインドウ処理制御回路34は、実施例1におけるものと同様なものであるため、説明を省略する。演算処理制御回路321は、矩形パタン選択回路31から矩形パタン情報を受け、CPU50からL個のウインドウ位置情報{(ix[0], iy[0]), … ,(ix[L-1], iy[L-1])}を受けとる。2つある1ウインドウ処理制御回路34の各々は、L個のウインドウ位置情報の内、同じウインドウ位置情報を順次受け取る。すなわち、2つある1ウインドウ処理制御回路34は同一ウインドウに対して動作するが、対応する領域は異なる。
演算処理装置401は、実施例1における演算処理制御回路40に加えて、N画素並列処理演算器43を複数備える。2つのN画素並列処理演算器43のそれぞれは、2つの1ウインドウ処理制御回路34のそれぞれに対応し、並列動作をする。
そして、実施例1の演算処理装置40においては、矩形パタンに合わせて、まず、テクスチャメモリ41及び入力画像メモリ42からテクスチャ画像ピクセル値及びウインドウ画像ピクセル値を、テクスチャ及びウインドウ内の1の領域から6の領域にむけて直列に読み出していた。しかし、実施例4の演算処理装置401においては、テクスチャ及びウインドウ内の1及び2並列して、テクスチャ画像ピクセル値A1乃至A8、A11乃至A18、及び、ウインドウ画像ピクセル値B1乃至B8、B11乃至B18の読み出しを行い、以下、順次、3、4の領域に対する並列読み出し、及び、5、6の領域に対する並列読み出しを行う。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例4の正規化相関処理装置は、
前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)からなる、複数の並列演算器と、
(pw、phは正の整数であるとすると、ph行pw列からなる)M=pw×ph個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択する矩形パタン選択回路(矩形パタン選択回路31)と、
複数のウインドウ位置情報を受け、各前記ウインドウ位置情報に対応して、前記並列演算器それぞれにおいて、前記N個の演算回路の内、前記M個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8、A11乃至A18とするように制御し、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8、B11乃至B18とするように制御する制御回路(演算処理制御回路321)と、
前記並列演算器それぞれにおいて、前記M個分の前記演算回路によって得られた演算結果を、積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
そうすると、さらに、実施例4の正規化相関処理装置は、複数のウインドウ位置情報を受けるとともに、複数の矩形パタンについての並列処理を、これまでの矩形パタンの構成要素に関する並列処理に加えて行うことができる。
図9Cは、実施例4の正規化相関処理装置72を説明するための図である。図9Cには、正規化相関処理装置72、矩形パタン選択回路31、演算処理制御回路322、制御回路33、及び、演算処理装置402が示されている。矩形パタン選択回路31、制御回路33については、実施例1で説明した矩形パタン選択回路31、制御回路33と同様な回路であるため、説明を省く。
演算処理制御回路323は、実施例1における演算処理制御回路32に加えて、1ウインドウ処理制御回路34を複数備える。本実施例では、演算処理制御回路323は、2つの1ウインドウ処理制御回路34を備える。1ウインドウ処理制御回路34は、実施例1におけるものと同様なものであるため、説明を省略する。演算処理制御回路323は、矩形パタン選択回路31から矩形パタン情報を受け、CPU50からL個のウインドウ位置情報{(ix[0], iy[0]), … ,(ix[L-1], iy[L-1])}を受けとる。2つある1ウインドウ処理制御回路34の各々は、2つのウインドウ位置情報の内、対応するものを受け取る。なお、ウインドウ位置情報の数Lは、1ウインドウ処理制御回路34の数以上の数であってもよい。その場合、すぐに使用されないウインドウ位置情報は演算処理制御回路323に蓄積され、順次、1ウインドウ処理制御回路34によって使用される。すなわち、2つの1ウインドウ処理制御回路34は、ことなるウインドウに対して動作する。なお、各1ウインドウ処理制御回路34は、同領域に対し動作する。
演算処理装置402は、実施例1における演算処理制御回路40に加えて、N画素並列処理演算器43を複数備える。2つのN画素並列処理演算器43のそれぞれは、2つの1ウインドウ処理制御回路34のそれぞれに対応し、並列動作をする。
そして、実施例1の演算処理装置40においては、矩形パタンに合わせて、まず、テクスチャメモリ41及び入力画像メモリ42からテクスチャ画像ピクセル値及びウインドウ画像ピクセル値A1乃至A8を、テクスチャ及び一つのウインドウ内の1の領域から6の領域にむけて直列に読み出していた。しかし、実施例4の演算処理装置402においては、テクスチャ、及び、並列するウインドウA、ウインドウB内の1に対して、テクスチャ画像ピクセル値A1乃至A8、及びウインドウ画像ピクセル値B1乃至B8、B11乃至B18の読み出しを行う。以下、順次、2から6の領域において、ウインドウAに対する読み出し処理とウインドウBに対する読み出し処理を並列して行う。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例4の正規化相関処理装置72は、
前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)からなる、複数の並列演算器と、
(pw、phは正の整数であるとすると、ph行pw列からなる)M=pw×ph個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択する矩形パタン選択回路(矩形パタン選択回路31)と、
複数のウインドウ位置情報を受け、各前記ウインドウ位置情報に対応して、前記並列演算器それぞれにおいて、前記N個の演算回路の内、前記M個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御し、ウインドウAにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御し、ウインドウBにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B11乃至B18とするように制御する制御回路(演算処理制御回路321)と、
前記並列演算器それぞれにおいて、前記M個分の前記演算回路によって得られた演算結果を、積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
そうすると、さらに、実施例4の正規化相関処理装置は、複数のウインドウ位置情報を受けて、複数のウインドウについての並列処理を、これまでの矩形パタンの構成要素に関する並列処理に加えて行うことができる。
従って、実施例1の正規化相関処理装置と同様に、実施例4の正規化相関処理装置は、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する。
さらに、実施例4の正規化相関処理装置は、複数のウインドウ位置情報を受けて並列処理も行うことができ、より、効率的な並列処理が可能な構成を有する。
ところで、実施例1乃至4の正規化相関処理装置においては、矩形パタン選択回路が、矩形パタンを選択し、矩形パタン情報を演算処理制御回路に出力していた。しかし、直接CPU50等、矩形パタン選択回路によらず、矩形パタン情報を演算処理制御回路に出力してもよい。その例を実施例5に示す。
実施例5の正規化相関処理装置80は、実施例1の正規化相関処理装置に選択モード切替回路が追加されたものである。
図10は、実施例5の正規化処理装置80を説明するための図である。図10には、実施例5の正規化処理装置80、矩形パタン選択回路31、演算処理制御回路32、制御回路33、選択モード切替回路35、及び、演算処理装置40が示されている。矩形パタン選択回路31、演算処理制御回路32、制御回路33、及び、演算処理装置40については、実施例1で説明した矩形パタン選択回路31、演算処理制御回路32、制御回路33、及び、演算処理装置40と同様な回路であるため、説明を省く。
選択モード切替回路35は、制御回路33からの信号によって、矩形パタン選択回路31からの矩形パタン情報又は直接指定する矩形パタン情報のどちらかを選択して、演算処理制御回路32へ出力する回路である。
直接指定する矩形パタン情報とは、CPU50又は正規化相関処理装置80の外部から与えられた矩形パタン情報をいう。
なお、制御回路33は、CPU50からの制御を受けて、選択モード切替回路35への信号を出力する。
以上より、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求める実施例5の正規化相関処理装置80は、
前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算するN個(Nは正の整数)の演算回路(乗算器431乃至乗算器439)と、
(ph、pwは正の整数であるとすると、ph行pw列からなる)M=ph×pw個(MはNより小さい正の整数)の構成要素を有する第1の矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときに分割数が最小となるような第1の矩形パタンを選択し、選択した前記第1の矩形パタンの情報を出力する矩形パタン選択回路(矩形パタン選択回路31)と、
T個(TはNより小さい正の整数)の構成要素を有する第2の矩形パタンの情報、及び、前記第1の矩形パタンの情報を受け、前記第1の矩形パタンの情報又は前記第2の矩形パタンの情報の内、どちらかを一方の情報を出力する選択モード切替回路と、
前記選択モード切替回路から、前記第1の矩形パタンの情報又は前記第2の矩形パタンの情報の内、どちらか一方の前記情報に基づいて、前記N個の演算回路の内、前記M個分又は前記T個分の前記演算回路を活性化し、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御し、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御する制御回路(演算処理制御回路32)と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器(加算機440、レジスタ441)と、を備える正規化相関処理装置である。
従って、実施例1の正規化相関処理装置と同様に、実施例5の正規化相関処理装置は、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する。
さらに、実施例5の正規化相関処理装置は、外部から指定した矩形パタンについての並列処理も行うことができる構成を有する。
ところで、実施例1の正規化相関処理装置においては、設定レジスタ群20、制御部630、演算処理装置40という専用の回路を、CPU50の他に設けていた。しかし、CPUにプログラムを読み込むことにより、CPU内に、設定レジスタ群20、制御部630、演算処理装置40と同等な機能を有する手段を設けることも可能である。その例を実施例6に示す。
図11は、実施例6の正規化相関処理装置90を説明するための図である。図11には、メインメモリ60、正規化相関処理装置90、バス99が示されている。
正規化相関処理装置90は、CPU上に、プログラムを読込むことにより、形成された設定レジスタ群91、矩形パタン選択部92、演算処理制御部93、テクスチャ用メモリ部94、入力画像用メモリ部95、N画素並列処理演算部96、プログラム格納部97、及び、入出力部98から構成されている。
ここで、CPUは、一般的に、入出力回路、算術演算回路、記憶回路、論理処理回路、クロック発生回路を含むものである。そして、CPUは、記憶部に読み込まれたプログラムに従って、命令列を順次読込、論理処理を行うことで、プログラムの目的に合わせて機能する部分を構築し、データの移動や加工を行う。正規化相関処理装置90におけて、相関処理に関する計算を行う機能部分は、形成された設定レジスタ群91、矩形パタン選択部92、演算処理制御部93、テクスチャ用メモリ部94、入力画像用メモリ部95、及び、N画素並列処理演算部96である。
設定レジスタ群91は、実施例1の設定レジスタ群20と同様な機能を有する。矩形パタン選択部92は、実施例1の矩形パタン選択回路31と同様な機能を有する。演算処理制御部93は、実施例1の演算処理制御回路32と同様な機能を有する。テクスチャ用メモリ部94は、実施例1のテクスチャメモリ41と同様な機能を有する。入力画像用メモリ部95は、実施例1の入力画像用メモリ42と同様な機能を有する。N画素並列処理演算部96は、実施例1のN画素並列処理演算部43と同様な機能を有する。メインメモリ60は、実施例1のメインメモリ60と同様なメモリである。
プログラム格納部97は、入力画像とテクスチャ間の相関値を計算するように、正規化相関装置90を制御するプログラムを格納する記憶領域である。
入出力部98は、正規化相関処理装置90とバス99との間のデータの入出力を行う部分である。
バス99は、メインメモリ60と正規化相関処理装置90間のデータ信号、命令信号を伝達する伝送線の束である。
以上より、プログラム格納部97に読み込まれたプログラムは正規化相関処理装置90に、テクスチャ(探索したい画像)と入力画像(探索対象画像)内のウインドウ(部分的な矩形状の画像)との相関値を求めさせる命令コードを含むものであって、その命令コードは、
N個(Nは正の整数)の演算回路(N画素並列処理演算部96内の乗算器)に、前記テクスチャを構成する画像ピクセルのテクスチャ画像ピクセル値と、前記ウインドウを構成する画像ピクセルのウインドウ画像ピクセル値とを演算させる命令コードと、
矩形パタン選択回路(矩形パタン選択部92)に、(ph、pwは正の整数であるとすると、ph行pw列からなる)M=ph×pw個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記テクスチャを前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択させる命令コードと、
制御回路(演算処理制御部93)に、前記N個の演算回路の内、前記M個分の前記演算回路を活性化させ、テクスチャにおける1の位置にある矩形パタン内のテクスチャ画素ピクセル値をテスクチャメモリ41から読み出し、A1乃至A8とするように制御させ、ウインドウにおける1の位置にある矩形パタン内のウインドウ画素ピクセル値を入力画像メモリ42から読み出し、B1乃至B8とするように制御させる命令コードと、
積算器(N画素並列処理演算部内の加算機、及び、レジスタ)に、前記M個分の前記演算回路によって得られた演算結果を積算させる命令コードと、を備える。
そうすると、上記のプログラムによる、正規化相関処理装置90に対する制御によれば、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、正規化相関処理装置90に、テクスチャとウインドウの相関関係を求める計算を効率よく行わせることができる。
以下に本発明の特徴を付記する。
(付記1)
探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記探索する画像を前記矩形パタンによって分割したときの分割数が最小となるような矩形パタンを選択する矩形パタン選択回路と、
前記N個の演算回路の内、前記M個の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
(付記2)
前記探索する画像のサイズ情報を保持するレジスタをさらに備え、
前記矩形パタン選択回路は、前記サイズ情報を用いて、前記探索する画像を前記矩形パタンによって分割したときの分割数を求めることを特徴とする付記1記載の相関処理装置。
(付記3)
前記部分画像の位置情報を保持するレジスタをさらに備え、
前記制御回路は、前記位置情報に基づいて、前記M個の前記第2ピクセル値を特定することを特徴とする付記1記載の相関処理装置。
(付記4)
前記探索する画像に対する前記第1画像ピクセル値を記憶する第1メモリと、
前記探索対象画像を構成する第3画像ピクセル値を記憶する第2メモリと、をさらに備え、
前記制御回路は、前記位置情報に基づいて、前記第3画像ピクセル値の内から、前記M個の前記第2ピクセル値を特定することを特徴する付記3記載の相関処理装置。
(付記5)
前記演算回路は、レジスタ、乗算器、又は、引き算器のいずれかであることを特徴とする付記1乃至付記4の内の一つに記載された相関処理装置。
(付記6)
探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
前記探索する画像の第1画像ピクセルの第1画像ピクセル値を記憶する第1メモリと、
前記探索対象画像の第2画像ピクセルの第2画像ピクセル値を記憶する第2メモリと、
前記第1画像ピクセル値と、前記探索対象画像内の前記部分画像を構成する前記第2画像ピクセルの前記第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記探索する画像を前記矩形パタンによって分割したときの分割数と、前記第1メモリから前記第1画像ピクセル値を読み出す速さ又は前記第2メモリから前記第2画像ピクセル値を読み出す速さに応じた重みと、を乗算した値が最小となるような矩形パタンを選択する矩形パタン選択回路と、
前記N個の演算回路の内、前記M個の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
(付記7)
前記探索したい画像のサイズを表すサイズ情報を保持するレジスタをさらに備え、
前記矩形パタン選択回路は、前記サイズ情報を用いて、前記探索したい画像を前記矩形パタンによって分割したときの分割数を求めることを特徴とする付記6記載の相関処理装置。
(付記8)
前記部分画像の位置を表す位置情報を保持するレジスタをさらに備え、
前記制御回路は、前記位置情報に基づいて、前記M個の前記第2ピクセル値を特定することを特徴とする付記6記載の相関処理装置。
(付記9)
探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
前記探索する画像のサイズと、前記探索する画像のサイズに応じて選択すべき、K行L列からなるM個(K、Lは正の整数であり、MはNより小さい正の整数)の構成要素を有する矩形パタンとが記載されている選択表を有し、前記選択表に応じて前記矩形パタンを選択する矩形パタン選択回路と、
前記N個の演算回路の内、前記M個の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
前記M個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
(付記10)
探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算する機能を有するN個(Nは正の整数)の演算回路からなる、並列演算器と、
M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記探索したい画像を前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択する矩形パタン選択回路と、
複数のウインドウ位置情報を受け、各前記ウインドウ位置情報に対応して、前記並列演算器において、前記N個の演算回路の内、前記M個分の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
前記並列演算器において、前記M個分の前記演算回路によって得られた演算結果を、積算する積算器と、を備える相関処理装置。
(付記11)
探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
M個(MはNより小さい正の整数)の構成要素を有する第1の矩形パタンであって、前記探索する画像を前記第1の矩形パタンによって分割したときに分割数が最小となるような第1の矩形パタンを選択し、選択した前記第1の矩形パタンの情報を出力する矩形パタン選択回路と、
T個(TはNより小さい正の整数)の構成要素を有する第2の矩形パタンの情報、及び、前記第1の矩形パタンの情報を受け、前記第1の矩形パタンの情報又は前記第2の矩形パタンの情報の内、どちらかを一方の情報を出力する選択モード切替回路と、
前記選択モード切替回路から、前記第1の矩形パタンの情報又は前記第2の矩形パタンの情報の内、どちらかを一方の前記情報に基づいて、前記N個の演算回路の内、前記M個又は前記T個の前記演算回路を活性化する制御回路と、
前記M個分の前記演算回路又は前記T個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
(付記12)
相関処理装置に探索する画像と探索対象画像内の部分画像との相関値を求めさせるためのプログラムを格納し、相関処理装置で読みとり可能な媒体は、
前記相関処理装置の矩形パタン選択回路に、M個の構成要素を有する矩形パタンであって、前記探索する画像を前記矩形パタンによって分割したときに分割数が最小となるような前記矩形パタンを選択させる命令コードと、
前記相関処理装置の制御回路に、前記相関処理装置内にあって、前記探索する画像を構成する第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算させる、N個(NはMより大きい正の整数)の演算回路の内、前記M個分の前記演算回路を活性化させる命令コードと、
前記相関処理装置の前記M個の演算回路に、演算を行わせる命令コードと、
前記相関処理装置の積算器に、前記M個分の前記演算回路によって得られた演算結果を積算させる命令コードと、を備える相関処理装置で読みとり可能な媒体。
本発明によれば、テクスチャサイズの設定又はウインドウの位置に自由度が求められた場合において、テクスチャとウインドウの相関関係を求める計算に対して、効率的な並列処理が可能な構成を有する画像処理装置を提供することができる。
図1は、実施例に関わる正規化相関処理装置10の構成を説明する図である。 図2は、制御部30、演算処理装置40(データパス)について説明する図である。 図3は、N画素並列処理演算器43について詳細を説明する図である。 図4は、矩形パタン選択回路31の選択動作の詳細を説明する図である。 図5は、矩形パタン選択回路31の選択動作の例を示す表である。 図6は、演算処理制御回路(データパス制御回路)32の制御動作の詳細を説明する図である。 図7は、矩形パタン選択回路312の選択動作の詳細を説明する図である。 図8は、矩形パタン選択回路313の選択動作の詳細を説明する図である。 図9Aは、実施例4の正規化相関処理装置70を説明するための図である。 図9Bは、実施例4の正規化相関処理装置71を説明するための図である。 図9Cは、実施例4の正規化相関処理装置72を説明するための図である。 図10は、実施例5の正規化処理装置80を説明するための図である。 図11は、実施例6の正規化相関処理装置90を説明するための図である。
符号の説明
10 正規化相関処理装置
15 内部バス
20 設定レジスタ群
30 制御部
31 矩形パタン選択回路
32 演算処理制御回路
33 制御回路
34 1ウインドウ処理制御回路
40 演算処理装置
41 テクスチャメモリ
42 入力画像メモリ
43 N画素並列処理演算器
44 制御回路
50 CPU
60 メインメモリ
70 バス
431、432、433、434。435、436、437、438、439 乗算器
440 加算器
441 レジスタ

op1、op2、op3、op4 オペレーション
op11、op12、op13、op14、op15、op16、op17、op18、op19、op20 オペレーション
op31、op32、op33、op34、op35 オペレーション
op41、op42、op43 オペレーション

Claims (10)

  1. 探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
    前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
    M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記探索する画像を前記矩形パタンによって分割したときの分割数が最小となるような矩形パタンを選択する矩形パタン選択回路と、
    前記N個の演算回路の内、前記M個の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
    前記M個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
  2. 前記探索する画像のサイズ情報を保持するレジスタをさらに備え、
    前記矩形パタン選択回路は、前記サイズ情報を用いて、前記探索する画像を前記矩形パタンによって分割したときの分割数を求めることを特徴とする請求項1記載の相関処理装置。
  3. 前記部分画像の位置情報を保持するレジスタをさらに備え、
    前記制御回路は、前記位置情報に基づいて、前記M個の前記第2ピクセル値を特定することを特徴とする請求項1記載の相関処理装置。
  4. 前記探索した画像に対する前記第1画像ピクセル値を記憶する第1メモリと、
    前記探索対象画像を構成する第3画像ピクセル値を記憶する第2メモリと、をさらに備え、
    前記制御回路は、前記位置情報に基づいて、前記第3画像ピクセル値の内から、前記M個の前記第2ピクセル値を特定することを特徴する請求項3記載の相関処理装置。
  5. 前記演算回路は、レジスタ、乗算器、又は、引き算器のいずれかであることを特徴とする請求項1乃至請求項4の内の一つに記載された相関処理装置。
  6. 探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
    前記探索する画像の第1画像ピクセルの第1画像ピクセル値を記憶する第1メモリと、
    前記探索対象画像の第2画像ピクセルの第2画像ピクセル値を記憶する第2メモリと、
    前記第1画像ピクセル値と、前記探索対象画像内の前記部分画像を構成する前記第2画像ピクセルの前記第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
    M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記探索する画像を前記矩形パタンによって分割したときの分割数と、前記第1メモリから前記第1画像ピクセル値を読み出す速さ又は前記第2メモリから前記第2画像ピクセル値を読み出す速さに応じた重みと、を乗算した値が最小となるような矩形パタンを選択する矩形パタン選択回路と、
    前記N個の演算回路の内、前記M個の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
    前記M個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
  7. 探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
    前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
    前記探索する画像のサイズと、前記探索する画像のサイズに応じて選択すべき、K行L列からなるM個(K、Lは正の整数であり、MはNより小さい正の整数)の構成要素を有する矩形パタンとが記載されている選択表を有し、前記選択表に応じて前記矩形パタンを選択する矩形パタン選択回路と、
    前記N個の演算回路の内、前記M個の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
    前記M個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
  8. 探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
    前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算する機能を有するN個(Nは正の整数)の演算回路からなる、並列演算器と、
    M個(MはNより小さい正の整数)の構成要素を有する矩形パタンであって、前記探索したい画像を前記矩形パタンによって分割したときに分割数が最小となるような矩形パタンを選択する矩形パタン選択回路と、
    複数のウインドウ位置情報を受け、各前記ウインドウ位置情報に対応して、前記並列演算器において、前記N個の演算回路の内、前記M個分の前記演算回路を活性化するとともに、前記M個の前記演算回路によって演算が行われる前記M個の前記第1画像ピクセル値及び前記M個の前記第2ピクセル値を特定する制御回路と、
    前記並列演算器において、前記M個分の前記演算回路によって得られた演算結果を、積算する積算器と、を備える相関処理装置。
  9. 探索する画像と探索対象画像内の部分画像との相関値を求める相関処理装置であって、
    前記探索する画像の第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算するN個(Nは正の整数)の演算回路と、
    M個(MはNより小さい正の整数)の構成要素を有する第1の矩形パタンであって、前記探索する画像を前記第1の矩形パタンによって分割したときに分割数が最小となるような第1の矩形パタンを選択し、選択した前記第1の矩形パタンの情報を出力する矩形パタン選択回路と、
    T個(TはNより小さい正の整数)の構成要素を有する第2の矩形パタンの情報、及び、前記第1の矩形パタンの情報を受け、前記第1の矩形パタンの情報又は前記第2の矩形パタンの情報の内、どちらかを一方の情報を出力する選択モード切替回路と、
    前記選択モード切替回路から、前記第1の矩形パタンの情報又は前記第2の矩形パタンの情報の内、どちらかを一方の前記情報に基づいて、前記N個の演算回路の内、前記M個又は前記T個の前記演算回路を活性化する制御回路と、
    前記M個分の前記演算回路又は前記T個分の前記演算回路によって得られた演算結果を積算する積算器と、を備える相関処理装置。
  10. 相関処理装置に探索する画像と探索対象画像内の部分画像との相関値を求めさせるためのプログラムを格納し、相関処理装置で読みとり可能な媒体は、
    前記相関処理装置の矩形パタン選択回路に、M個の構成要素を有する矩形パタンであって、前記探索する画像を前記矩形パタンによって分割したときに分割数が最小となるような前記矩形パタンを選択させる命令コードと、
    前記相関処理装置の制御回路に、前記相関処理装置内にあって、前記探索する画像を構成する第1画像ピクセルの第1画像ピクセル値と、前記部分画像の第2画像ピクセルの第2画像ピクセル値とを演算させる、N個(NはMより大きい正の整数)の演算回路の内、前記M個分の前記演算回路を活性化させる命令コードと、
    前記相関処理装置の前記M個の演算回路に、演算を行わせる命令コードと、
    前記相関処理装置の積算器に、前記M個分の前記演算回路によって得られた演算結果を積算させる命令コードと、を備える相関処理装置で読みとり可能な媒体。




JP2008298694A 2008-11-21 2008-11-21 相関処理装置及びその相関処理装置で読みとり可能な媒体 Expired - Fee Related JP5045652B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008298694A JP5045652B2 (ja) 2008-11-21 2008-11-21 相関処理装置及びその相関処理装置で読みとり可能な媒体
US12/616,894 US8503793B2 (en) 2008-11-21 2009-11-12 Correlation processing apparatus and medium readable by correlation processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008298694A JP5045652B2 (ja) 2008-11-21 2008-11-21 相関処理装置及びその相関処理装置で読みとり可能な媒体

Publications (2)

Publication Number Publication Date
JP2010123083A JP2010123083A (ja) 2010-06-03
JP5045652B2 true JP5045652B2 (ja) 2012-10-10

Family

ID=42196335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008298694A Expired - Fee Related JP5045652B2 (ja) 2008-11-21 2008-11-21 相関処理装置及びその相関処理装置で読みとり可能な媒体

Country Status (2)

Country Link
US (1) US8503793B2 (ja)
JP (1) JP5045652B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749238B2 (en) 2015-12-14 2020-08-18 TE Connectivity Germany GmbH TE Dielectric waveguide comprising a dielectric core surrounded by a dielectric cladding having a plurality of ribs that support the core within a conductive shield

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004324B (zh) * 2010-10-19 2011-10-05 深圳超多维光电子有限公司 光栅、立体显示装置以及立体显示方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0435660B1 (en) * 1989-12-29 1997-06-04 Canon Kabushiki Kaisha Method of evaluating objects based upon image processing, and inspection apparatus using said method
JP3803150B2 (ja) 1996-10-29 2006-08-02 株式会社日立製作所 画像処理装置
US6757430B2 (en) * 1999-12-28 2004-06-29 Intel Corporation Image processing architecture
JP4929474B2 (ja) 2006-09-27 2012-05-09 富士通株式会社 画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749238B2 (en) 2015-12-14 2020-08-18 TE Connectivity Germany GmbH TE Dielectric waveguide comprising a dielectric core surrounded by a dielectric cladding having a plurality of ribs that support the core within a conductive shield

Also Published As

Publication number Publication date
US20100128989A1 (en) 2010-05-27
US8503793B2 (en) 2013-08-06
JP2010123083A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
JP7329533B2 (ja) 演算を加速するための方法および加速器装置
CN112840356B (zh) 运算加速器、处理方法及相关设备
CN111667051B (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN108205701B (zh) 一种执行卷积计算的系统及方法
CN109919311B (zh) 生成指令序列的方法、执行神经网络运算的方法和装置
KR20200143686A (ko) 연산을 가속하기 위한 가속기 및 시스템
KR20200098684A (ko) 행렬 곱셈기
JP2020518042A (ja) 処理装置と処理方法
EP3093757B1 (en) Multi-dimensional sliding window operation for a vector processor
CN109697184A (zh) Slam运算装置和方法
US11164032B2 (en) Method of performing data processing operation
US20220253683A1 (en) Implementing Fully-Connected Neural-Network Layers in Hardware
CN114461978A (zh) 数据处理方法、装置、电子设备及可读存储介质
JP6532334B2 (ja) 並列演算装置、画像処理装置及び並列演算方法
JP5045652B2 (ja) 相関処理装置及びその相関処理装置で読みとり可能な媒体
JP6955598B2 (ja) 複数の畳み込みウィンドウ内の画像データの並行抽出方法、装置、機器及びコンピュータ可読記憶媒体
CN110414672B (zh) 卷积运算方法、装置及系统
CN110533177B (zh) 一种数据读写装置、方法、设备、介质及卷积加速器
CN113393368B (zh) 基于神经网络模型的图像处理方法、介质和电子设备
JP6906622B2 (ja) 演算回路および演算方法
CN113469333B (zh) 执行神经网络模型的人工智能处理器、方法及相关产品
JP2023073824A (ja) 演算装置、情報処理方法、及びプログラム
GB2602493A (en) Implementing fully-connected neural-network layers in hardware
CN117422608A (zh) 图像引导滤波方法及系统
GB2602494A (en) Implementing fully-connected neural-network layers in hardware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120614

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

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

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees