JP2009070055A - ブロックマッチング回路及びデータ更新方法 - Google Patents

ブロックマッチング回路及びデータ更新方法 Download PDF

Info

Publication number
JP2009070055A
JP2009070055A JP2007236644A JP2007236644A JP2009070055A JP 2009070055 A JP2009070055 A JP 2009070055A JP 2007236644 A JP2007236644 A JP 2007236644A JP 2007236644 A JP2007236644 A JP 2007236644A JP 2009070055 A JP2009070055 A JP 2009070055A
Authority
JP
Japan
Prior art keywords
value
image data
data
pixel
circuit
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
JP2007236644A
Other languages
English (en)
Other versions
JP2009070055A5 (ja
JP5322416B2 (ja
Inventor
Hajime Sasaki
元 佐々木
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.)
MegaChips Corp
Original Assignee
MegaChips Corp
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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2007236644A priority Critical patent/JP5322416B2/ja
Priority to US12/205,153 priority patent/US8077363B2/en
Publication of JP2009070055A publication Critical patent/JP2009070055A/ja
Publication of JP2009070055A5 publication Critical patent/JP2009070055A5/ja
Application granted granted Critical
Publication of JP5322416B2 publication Critical patent/JP5322416B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】記憶すべきデータの個数を減らして記憶領域を低減しつつも、データの取り込み回数を減少させて処理時間を短縮する。
【解決手段】第1記憶領域RCAには走査画像データCjkが、第2記憶領域RTAにはターゲット画像データGmnが、それぞれ記憶される。複数の比較領域CMの全てについての比較画像データとして(J-M+1)・(K-N+1)・M・N個と、ターゲット画像データとしてM・N個の画素データを記憶する場合と比較して、上述の技術では走査画像データとしてJ・K個と、ターゲット画像データとしてM・N個の画素データを記憶すれば足りる。つまり記憶すべき画素データの個数が低減される。ターゲット画像データとして1個と、複数の比較領域の全てについてターゲット画像データに対応した(J-M+1)・(K-N+1)個の画素データを記憶する場合と比較して、画素データの取り込みの回数が1/(M・N)に低減され、処理速度が短縮される。
【選択図】図6

Description

この発明は画像処理に関し、特に画像同士の類似性を判断するためのブロックマッチングに関する。
例えば動画のあるフレームと他のフレームとの間での類似性を判断することにより、フレームの各々において現れる対象物の動きを示す、動きベクトルが算出される。具体的には、当該対象物を含む画像領域をあるフレームから切り出し、当該画像領域が他のフレームのどの領域との類似性を判断する。このような画像同士の類似性を判断するために、ブロックマッチングが採用される(例えば下記特許文献参照)。
ブロックマッチングにおいては、あるフレームから切り出されたターゲット領域と、他のフレームの特定の領域たる領域(全領域でもよい:以下「走査領域」と称す)内を走査して得られる領域(以下「比較領域」と称す)との類似性を、ターゲット領域及び比較領域の全体として判断する。具体的には例えば、ターゲット領域の一画素と、比較領域において当該一画素に対応する一画素もしくは複数の画素とを比較する。そしてこれら画素同士の比較結果を比較領域の全体に渡って累積して、ターゲット領域と比較領域との類似性が判断される。画素同士の比較結果としては両者の相違を示す値(以下「画素差値」と称す)、例えばそれぞれの画素が示す値(例えば輝度)の差の絶対値(以下「画素差絶対値」と称す)が採用される。上記類似性は当該画素差値の総和として計算される。
上記類似性は比較領域毎に求められるので、走査領域内でターゲット領域と最も類似性が高い比較領域が求められる。よってターゲット領域がフレーム内で占める位置と、比較領域がフレーム内で占める位置とに基づいて、動きベクトルが算出される。
特開2006−33145号公報
走査領域のうちでターゲット領域と類似した比較領域を特定するためには、画素差値を求める処理を、ターゲット領域と比較領域の演算数と走査によって得られる比較領域の総数との積で求められる回数で実行しなければならない。
ここでは簡単のため、ターゲット領域と比較領域とは同じサイズを有しているとする。そしてターゲット領域においてある相対的な位置を占める一画素と、比較領域において当該相対的な位置を占める一画素との間で画素差値が求められるとする。
ターゲット領域がM行N列で配列された画素群として表され、走査領域がJ行K列で配列された画素群として表される場合(J,K,M,Nは、J>M、K>Nを満足する正整数)、一つの走査領域において走査して得られる比較領域の数は、(J−M+1)・(K−N+1)となる。
予めこれらの個数の比較領域の分だけ、画素のデータを蓄積しておき、ターゲット領域の画素のデータの間で一斉に、対応する画素同士で画素差値を求めるとその処理は迅速に行える。しかしそのためにはターゲット領域の画素の総数たるM・N個の画素データを記憶し、(J−M+1)・(K−N+1)・M・N個の比較領域の画素データを記憶しなければならない。かかる技術は多大な記憶領域を必要とする欠点がある。
かかる欠点を解消する一つの手法として、ターゲット領域の一画素と、複数の比較領域のそれぞれにおいて当該一画素と対応する画素とを用い、複数の比較領域に対して一斉に画素差値を求める技術が考えられる。
この場合、なるほど、ターゲット領域について記憶すべき画素データは1つであるため、先に示した技術と比較すると、記憶すべき画素データの個数は1/(M・N)にまで低減できる。しかしながら、ブロックマッチングでは上述のように、画像の類似性は絶対値の総和として計算される。よってあるターゲット画像との類似性を得るためには当然、先に示した技術に対してM・N倍の処理時間が必要となる。しかもターゲット領域について画素データをM・N回取り込まなければならない。更に、画素データの取り込みにおいて通常はオーバーヘッドが発生するので、この技術では処理時間が増大することがわかる。
本発明は上記の課題を解決することを目的としており、記憶すべきデータの個数を減らして記憶領域を低減しつつも、データの取り込み回数を減少させて処理時間を短縮する技術を提供する。
この発明にかかるブロックマッチング回路の第1の態様は、ブロックマッチングの比較対象となる画像領域である走査領域が含むJ行K列の画素の各々に対応した画素データである走査画像データを記憶する第1記憶領域と、前記ブロックマッチングの比較基準となる画像領域であるターゲット領域が含むM行N列(J,K,M,NはJ>M,N>Kを満足する正整数)の画素の各々に対応した画素データであるターゲット画像データを記憶する第2記憶領域と、前記走査領域内を走査して得られる複数の比較領域の各々が含むM行N列の画素に対応した画素データである比較画像データと、前記ターゲット画像データの間で、相互に対応する画素同士の相違を示す値たる画素差値を求めるM・N個の演算回路と、前記第1記憶領域から、前記比較画像データを前記比較領域毎に選択して、前記演算部に出力するM・N個の選択回路と、前記画素差値の累計たる累計値を、前記比較領域毎に求める累計回路と、前記比較領域毎の前記累計値を比較し、前記累計値を最小とする前記比較領域を特定するマッチング判定部とを備える。
この発明にかかるブロックマッチング回路の第2の態様は、その第1の態様であって、前記ターゲット領域の第m行第n列に位置する画素(mは1乃至Mの整数、nは1乃至Nの整数)に対応する前記選択回路は、前記走査領域の第m行乃至第(m+J−M)行かつ第n列乃至第(n+K−N)列に位置する画素に対応する(J−M+1)・(K−N+1)個の前記走査画像データを入力し、前記比較領域が前記走査領域に対してs行t列ずれた位置にあるときに(sは0乃至(J−M)の整数、tは0乃至(K−N)の整数)、第(m+s)行第(n+t)列の画素に対応する前記走査画像データを出力する。
この発明にかかるブロックマッチング回路の第3の態様は、その第2の態様であって、前記ターゲット領域の第m行第n列に位置する画素に対応する前記演算回路は、前記ターゲット領域の第m行第n列に位置する画素に対応する前記ターゲット画像データの値と、前記走査領域の第(m+s)行第(n+t)列の画素に対応する前記走査画像データの値との差を求める減算回路と、前記減算回路の結果の絶対値を求める絶対値回路を有する。
この発明にかかるブロックマッチング回路の第4の態様は、その第2の態様であって、前記ターゲット領域の第m行第n列に位置する画素データに対応する前記演算回路は、前記ターゲット領域の第m行第n列に位置する画素に対応する前記ターゲット画像データの値からオフセットを差し引く第1減算回路と、前記減算回路の出力と、前記走査領域の第(m+s)行第(n+t)列の画素に対応する前記走査画像データの値との差を求める第2減算回路と、前記第2減算回路の結果の絶対値を求める絶対値回路を有する。
この発明にかかるブロックマッチング回路の第5の態様は、その第4の態様であって、前記オフセットは前記ターゲット画像データの値によらない一定値が採用される。
この発明にかかるブロックマッチング回路の第6の態様は、その第4の態様であって、前記オフセットは前記ターゲット画像データの平均値が採用される。
この発明にかかるブロックマッチング回路の第7の態様は、その第2の態様であって、前記ターゲット領域の第m行第n列に位置する画素データに対応する前記演算回路は、前記走査領域の第(m+s)行第(n+t)列の画素に対応する前記走査画像データの値からオフセットを差し引く第1減算回路と、前記ターゲット領域の第m行第n列に位置する画素に対応する前記ターゲット画像データの値と、前記第1減算回路の出力との差を求める第2減算回路と、前記第2減算回路の結果の絶対値を求める絶対値回路を有する。
この発明にかかるブロックマッチング回路の第8の態様は、その第7の態様であって、前記オフセットは前記走査画像データの値によらない一定値が採用される。
この発明にかかるブロックマッチング回路の第9の態様は、その第7の態様であって、前記オフセットは、前記走査領域の第(J−s+1)行乃至第(J−s+M)行かつ第(K−t+1)列乃至第(K−t+N)列の画素に対応するM・N個の画素データの平均値が採用される。
この発明にかかるブロックマッチング回路の第10の態様は、その第3乃至9の態様のいずれかであって、前記ターゲット領域の第m行第n列に位置する画素に対応する前記演算回路は、前記絶対値回路の出力が正のしきい値以下の場合には零を、前記絶対値回路の出力が前記しきい値よりも大きい場合には前記絶対値回路の出力から非負の値を差し引いた値を出力するコアリング回路を有する。
この発明にかかるブロックマッチング回路の第11の態様は、その第1乃至10の態様のいずれかであって、前記マッチング判定部は、前記累計値を順次に入力し、記憶の対象となる値たる記憶値を記憶し、入力された前記累計値が前記記憶値未満であったときに入力された前記累計値を用いて前記記憶値を更新する最小値記憶回路と、(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採る第1のデータを記憶する最小値位置記憶回路と、前記第1のデータを更新する更新回路とを有する。前記更新回路は、(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が順次に第1の値を採る第2のデータを前記累計値と同期して入力し、入力された前記累計値が前記記憶値未満であったときに前記第2のデータを用いて前記第1のデータを更新する。
この発明にかかるブロックマッチング回路の第12の態様は、その第11の態様であって、前記更新回路は、入力された前記累計値が前記記憶値と等しいときに、前記第2のデータと、直前に記憶されていた前記第1のデータとの間での桁毎の論理和を用いて前記第1のデータを更新する。
この発明にかかるブロックマッチング回路の第13の態様は、その第1乃至第12の態様のいずれかであって、前記ターゲット画像データにおける画素データは、前記ターゲット領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる。
この発明にかかるブロックマッチング回路の第14の態様は、その第13の態様であって、前記ターゲット画像データにおける列毎に前記クラスタデータをスワップする、複数のセレクタを更に備える。
この発明にかかるブロックマッチング回路の第15の態様は、その第1乃至第14の態様のいずれかであって、前記走査画像データにおける画素データは、前記走査領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる。
この発明にかかるブロックマッチング回路の第16の態様は、その第15の態様であって、前記走査画像データにおける列毎に前記クラスタデータをスワップする、複数のセレクタを更に備える。
この発明にかかるブロックマッチング回路の第17の態様は、その第1乃至第16の態様であって、フラグを格納するレジスタを更に備える。前記走査領域内において第1行から第J行へと向かう行方向に走査し、かつ前記行方向に対して優先的に、第1列から第K列へと向かう列方向に走査して複数の前記比較領域が得られる。前記列方向の走査が行われているときに前記フラグがセットされ、当該走査が前記第K列に至ったときに前記フラグがリセットされる。前記フラグがセットされているときには前記走査画像データの更新が拒否される。
この発明にかかるデータ更新方法は、そのブロックマッチング回路の第1乃至第16の態様のいずれかにかかるブロックマッチング回路において、前記走査領域内において行方向に走査し、かつ前記行方向に対して優先的に列方向に走査して複数の前記比較領域が得られ、前記走査領域の第(s+1)行第K列に位置する画素に対応する前記走査画像データ(sは0乃至(J−M)の整数)が前記比較画像データの画素データとして、前記ターゲット領域の第1行第N列の画素に対応する前記ターゲット画像データとの間で前記画素差値が求められた後に、前記走査領域の第(s+1)行かつ第1列乃至第K列に位置する画素に対応する前記走査画像データを更新する。
この発明にかかるブロックマッチング回路の第1の態様によれば、走査画像データとしてJ・K個と、ターゲット画像データとしてM・N個の画素データを記憶すれば足りる。よって、複数の比較領域の全てについての比較画像データとして(J−M+1)・(K−N+1)・M・N個と、ターゲット画像データとしてM・N個の画素データを記憶する場合よりも、記憶すべき画素データの個数が低減される。またターゲット画像データとして1個と、複数の比較領域の全てについてターゲット画像データに対応した(J−M+1)・(K−N+1)個の画素データを記憶する場合と比較して、画素データの取り込みの回数が1/(M・N)に低減され、処理速度が速い。
この発明にかかるブロックマッチング回路の第2の態様によれば、比較領域の走査領域に対する位置に応じて、ターゲット画像データと共に演算されるべき比較画像データが出力される。
この発明にかかるブロックマッチング回路の第3〜9の態様によれば、絶対値回路の出力に基づいた値、例えば絶対値回路の出力自体を画素差値として採用することができる。
この発明にかかるブロックマッチング回路の第4〜6の態様によれば、ターゲット領域に対してオフセットを施してから比較領域との類似性を判断することができる。
この発明にかかるブロックマッチング回路の第5の態様によれば、ターゲット領域についていわゆるDCオフセットを採用することができる。
この発明にかかるブロックマッチング回路の第6の態様によれば、ターゲット領域についていわゆるACオフセットを採用することができる。
この発明にかかるブロックマッチング回路の第7〜9の態様によれば、比較領域に対してオフセットを施してからターゲット領域との類似性を判断することができる。
この発明にかかるブロックマッチング回路の第8の態様によれば、比較領域についていわゆるDCオフセットを採用することができる。
この発明にかかるブロックマッチング回路の第9の態様によれば、比較領域についていわゆるACオフセットを採用することができる。
この発明にかかるブロックマッチング回路の第10の態様によれば、絶対値回路の出力に対してしきい値でコアリングした値を画素差値として採用することができるので、ノイズに強い類似性判断ができる。
この発明にかかるブロックマッチング回路の第11,12の態様によれば、累計値の最小値を与える比較領域の位置が、第1のデータによって示される。
この発明にかかるブロックマッチング回路の第13の態様によれば、第2記憶領域のデータ更新が高速化する。
この発明にかかるブロックマッチング回路の第14の態様によれば、ターゲット画像データがリトルエンディアンを採用するかビッグエンディアンを採用するかによらずに、クラスタデータを扱うことが容易となる。
この発明にかかるブロックマッチング回路の第15の態様によれば、第1記憶領域のデータ更新が高速化する。
この発明にかかるブロックマッチング回路の第16の態様によれば、走査画像データがリトルエンディアンを採用するかビッグエンディアンを採用するかによらずに、クラスタデータを扱うことが容易となる。
この発明にかかるブロックマッチング回路の第17の態様によれば、走査画像データの更新がブロックマッチングの妨げにならない。
この発明にかかるデータ更新方法によれば、ブロックマッチングを妨げずに走査画像データが更新される。
図1はこの発明にかかる実施の形態において採用される走査領域CAが有するJ行K列に配置された画素を模式的に示す図である。走査領域CAはブロックマッチングの比較対象となる画像領域である。
走査領域CAの各画素には、それぞれに対応する画素データである走査画像データの記号が付記されている。例えば第j行第k列に位置する画素(jは1乃至Jの整数、kは1乃至Kの整数)には、走査画像データCjkが対応する。
ここでは指数j,kがそれぞれ採り得る最大値J,Kとして、いずれも値“8”を採用している。従って、走査領域CAには走査画像データC11〜C88が対応している。
図2はこの発明にかかる実施の形態において採用されるターゲット領域TAが有するM行N列に配置された画素を模式的に示す図である。ターゲット領域TAはブロックマッチングの比較基準となる画像領域である。
ターゲット領域TAの各画素には、それぞれに対応する画素データであるターゲット画像データの記号が付記されている。例えば第m行第n列に位置する画素(mは1乃至Mの整数、nは1乃至Nの整数)には、ターゲット画像データGmnが対応する。
ここでは指数m,nがそれぞれ採り得る最大値M,Nとして、いずれも値“4”を採用している。従って、ターゲット領域TAにはターゲット画像データG11〜G44が対応している。
図3はこの発明にかかる実施の形態において、走査領域CAと比較領域CMとの関係を模式的に示す図である。比較領域CMの各々はM行N列に配置された画素を有し、これらの画素にそれぞれ対応する画素データを比較画像データと呼ぶことにする。
図1乃至3では走査画像データCjk、ターゲット画像データGmnが行列状に配置されて示されたように見える。しかしこれは便宜的な図示であって、行列状に配置された画素を図示した図面において、それぞれの画素に対応したデータを付記したものである。つまり実際に走査画像データCjk、ターゲット画像データGmnが行列状に配置されるものではない。
通常、比較領域CMは走査領域CA内を第1行から第J行へと向かう行方向に走査し、かつ行方向に対して優先的に第1列から第K列へと向かう列方向に走査して得られ、その走査は画素一つ分毎に行われる。もちろん、複数の画素毎にいわゆる「間引き」を行って、当該走査を行うこともできるが、走査領域CA当たりの比較領域CMの数が多くなって処理量が多くなるのは、走査を画素一つ分毎に行う場合である。よって本実施の形態でもそのような場合を想定し、かかる厳しい状況においても本発明のメリットがあることを説明する。
比較領域CMの位置は、比較領域CMの内で最も行番号が小さくかつ最も列番号が小さい位置における画素(以下「比較領域内先頭画素」とも称す)と、走査領域CAの第1行第2列における画素(以下「走査領域内先頭画素」とも称す)との位置関係によって設定することができる。
ここで比較領域CMの位置は、比較領域内先頭画素が走査領域内先頭画素に対してのずれが、行方向において行数s、列方向において列数tである場合、位置(s,t)として表すことができる。但しsは0乃至(J−M)の整数であり、tは0乃至(K−N)の整数である。s=t=0の場合は比較領域内先頭画素が走査領域内先頭画素に対してずれていない場合を示す。
位置(s,t)にある比較領域CMにおいて、ターゲット画像データGmnと比較画像データC(m+s)(n+t)とが対応する。図3に示された場合を例にとると、比較領域CMは位置(2,3)にある。よってターゲット画像データG11と対応することになる比較領域内先頭画素には、比較画像データC34が対応する。位置(2,3)にある比較領域CMには、M+s=6、N+t=7であることを考慮して、比較画像データC34,C67が対角をなす行列状の比較画像データC34〜C37,C44〜C47,C54〜C57,C64〜C67が対応する。
本実施の形態では、全ての比較領域CMについて比較画像データを蓄積しておくことは行わない。そのかわり、走査領域CAが有するJ行K列の画素に対応したJ・K個の走査画像データCjkを蓄積し、走査によって位置(s,t)が、従って比較領域CMが更新される毎に、走査画像データCjkからM・N個の比較画像データC(m+s)(n+t)を選択するのである。
図4は、選択回路Smnと演算回路Qmnとを示すブロック図であり、これらはいずれもターゲット領域TAにおいて第m行第n列に配置された画素に対応する。従って実際の回路としては、行番号mについて1乃至Mまで、列番号nについて1乃至Nまで、選択回路Smnと演算回路Qmnが設けられることになり、それぞれM・N個設けられる。
mをm乃至(m+J−M)の整数とし、knをn乃至(n+K−N)の整数とし、(J−M+1)・(K−N+1)個の走査画像データCjmnが選択回路Smnに入力される。そして、走査画像データCjmnから比較画像データC(m+s)(n+t)が選択されて出力される。選択回路Smnによる上記選択は、比較領域CMの位置を示す行数s、列数tを指定する走査情報PSVによって制御される。つまり比較領域CMの走査領域TAに対する位置に応じて、ターゲット画像データGmnと共に演算されるべき比較画像データC(m+s)(n+t)が出力される。例えば走査情報PSVは(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が第1の値を採るパラレルデータである。
演算回路Qmnにはターゲット画像データGmnが入力する。演算回路Qmnでは、乗算器(或いは反転器)11がターゲット画像データGmnに値“−1”を乗算する(あるいは正負を反転する)。そして乗算器11の出力と走査画像データC(m+s)(n+t)とが加算器12において加算される。そして絶対値回路13によって加算器12が出力する加算結果の絶対値が求められる。この絶対値を、ターゲット領域と比較領域とで相互に対応する画素同士の相違を示す値たる画素差値Δmnstとして採用することができる。
このように絶対値回路13が機能するので、乗算器11及び加算器12は、比較画像データC(m+s)(n+t)とターゲット画像データGmnとの差を求める、減算回路として把握することができる。
今、具体例の一つとして、ターゲット領域TAにおいて第3行第4列に配置された画素(これにはターゲット画素データG34が対応する)に対応する、選択回路S34及び演算回路Q34について考える。
選択回路S34には25(=5×5)個の走査画像データC34〜C38,C44〜C48,C54〜C58,C64〜C68,C74〜C78が入力する。そして比較領域CMが位置(2,3)にあるとき(図3で示された比較領域CMに相当)、m+s=3+2=5、n+t=4+3=7であり、選択回路S34から走査画像データC57が比較画像データとして出力される。これは図3で示された比較領域CMにおいて、三行目かつ四列目に配置された画素には走査画像データC57が対応することと合致している。
演算回路Q34にはターゲット画素データG34が入力する。比較領域CMが位置(2,3)にあるとき、走査画像データC34〜C38,C44〜C48,C54〜C58,C64〜C68,C74〜C78から選択された比較画像データC57が演算回路Q34に入力する。そして演算回路Q34は画素差値Δ3423が出力される。
図5は画素差値Δmnstを比較領域毎に、比較領域CMの全体に渡って累積する構成を示すブロック図である。累計回路SUMはある位置(s,t)にある比較領域CMの全体に渡って求められたM・N個の画素差値Δmnstが入力され、これらを累加して累計値Dstを出力する。当該累加は単なる加算であってもよいし、行番号m、列番号nに依存した重み付けを伴って加算してもよい。
累計値Dstは、走査情報PSVに基づいて、位置(s,t)毎に異なるレジスタRstへと格納される。例えば比較領域CMが位置(2,3)にあるとき、累計値D23がレジスタR23へと格納される。
比較領域CMは走査領域CA内を走査して得られるので、累計値Dstも位置(s,t)毎にシリアルに出力される。走査情報PSVに基づいて、(J−M+1)・(K−N+1)個のレジスタR00〜R(J-M)(K-N)の内から一つのレジスタRstのみが活性化し、これに対応する累計値Dstを格納する。
図6は本実施の形態にかかるブロックマッチングが実行される構成の概略を示すブロック図である。フレーム毎に画像データPICがフレームバッファFBに入力し、中央演算処理部CPUの制御により、第1記憶領域RCAには走査画像データCjkが、第2記憶領域RTAにはターゲット画像データGmnが、それぞれ記憶される。
複数の比較領域CMの全てについての比較画像データとして(J−M+1)・(K−N+1)・M・N個と、ターゲット画像データとしてM・N個の画素データを記憶する場合と比較して、上述の技術では走査画像データとしてJ・K個と、ターゲット画像データとしてM・N個の画素データを記憶すれば足りる。つまり記憶すべき画素データの個数が低減される。
このように記憶すべき画素データの個数が低減されている場合には、第1記憶領域RCAや第2記憶領域RTAへのデータアクセスは、DMA(ダイレクトメモリアクセス)を採用せず、中央演算処理部CPUが直接にデータアクセスを行うことが処理速度の迅速の観点から望ましい。
ターゲット画像データとして1個と、複数の比較領域の全てについてターゲット画像データに対応した(J−M+1)・(K−N+1)個の画素データを記憶する場合と比較して、画素データの取り込みの回数が1/(M・N)に低減され、処理速度が短縮される。
ハードウェアで構成されるマッチング回路HWには、上述したM・N個のセレクタSmn及び演算回路Qmnが設けられ、それぞれセレクタ群SY及び演算回路群QYとして纏めて描かれている。第1記憶領域RCAからは走査画像データCjmknが、第2記憶領域RTAからはターゲット画像データGmnが、それぞれ全てのm,nについて入力する。走査画像データCjmkn及びターゲット画像データGmnは、それぞれセレクタ群SY及び演算回路群QYに入力する。中央演算処理部CPUは、走査情報PSVを生成し、セレクタ群SYに入力する。走査情報PSVによって位置(s,t)が指定され、セレクタ群SYから演算回路群QYへとM・N個の比較画像データC(m+s)(n+t)が出力される。
上述した累計回路SUMもマッチング回路HWに設けられ、走査情報PSVによって指定された位置(s,t)毎に、累計値DstをレジスタRstに振り分けて格納する。(J−M+1)・(K−N+1)個のレジスタRstは、図6においてレジスタ群RYとして纏めて描かれている。但し図示を簡単にするため、図6での表記にはH=J−M、V=K−Nを導入した。
マッチング回路HWには、更にマッチング判定部MCが設けられている。マッチング判定部MCにはレジスタ群RYから(J−M+1)・(K−N+1)個の累計値Dstが入力し、それらの最小値を得る位置(s,t)を示す位置情報PSFを中央演算処理部CPUへと出力する。そして位置情報PSFが示す位置(s,t)にある比較領域CMが、ターゲット領域TAと最も類似すると判断される。
図7は位置(s,t)を更新してマッチング判定を行うフローチャートである。ステップZ1〜Z8は中央演算処理部CPUが、ステップZ9,Z10はマッチング回路HWが、それぞれ実行する。
走査領域CAが一つ決まった後、ステップZ1において行数s及び列数tを値“−1”に初期化する。その後、ステップZ2において行数sを増加させ、ステップZ2が実行された後にステップZ3において列数tを増加させる。上述のように、本実施の形態では「間引き」をせずに走査領域内を走査するので、行数sや列数tの増分値は“1”とする。
ステップZ1の実行後に初めてステップZ2が実行された場合には、ステップZ2によって行数sは値“0”を採る。即ち、比較領域内先頭画素の行番号と走査領域内先頭画素の行番号とが一致する。またステップZ2の実行後に初めてステップZ3が実行された場合には、ステップZ3によって列数tは値“0”を採る。即ち、比較領域内先頭画素の列番号と走査領域内先頭画素の列番号とが一致する。
ステップZ3の実行後、ステップZ4において、ステップZ2,Z3で得られた行数s、列数tを指定する走査情報PSVを設定する。
ステップZ4の実行後、ステップZ10において、走査情報PSVが指定する位置(s,t)において累計値Dstを求め、レジスタRstに格納する。ステップZ10の動作の詳細は、セレクタSm、演算回路Qmn、累計回路SUMの動作として説明済みである。
その後、ステップZ5において、列数tが値(K−N)に達したか否かを判断する。上述のように列数tの最大値は(K−N)であるので、ステップZ5の判断が肯定的であれば、ステップZ6において列数tを値“−1”に初期化する。またステップZ5の判断が否定的であれば再びステップZ3を実行し、列数tを増加させる。このようなステップZ5,Z6,Z3の処理がステップZ2が一回実行された後に繰り返されるので、比較領域CMは、走査領域CA内において行方向に対して優先的に列方向に走査して得られるのである。
その後、後述するステップZ7を実行して(ステップZ7は省略してもよい)、ステップZ8において行数sが値(J−M)に達したか否かを判断する。上述のように行数sの最大値は(J−M)であるので、ステップZ8の判断が否定的であれば再びステップZ2を実行し、行数sを増加させる。肯定的であれば、ステップZ9において位置情報PSFを設定し、ステップZ1を再び実行する。このようなステップZ2〜Z8の処理が、走査領域CAが一旦設定される毎に繰り返されるので、走査領域CA内において列方向に劣後的に行方向に走査して、比較領域CMが得られるのである。
ステップZ7は走査画像データの更新を行う処理である。ステップZ6が実行されたときには、走査領域CAの第(s+1)行第K列に位置する画素に対応する第(s+1)行のK個の走査画像データC(s+1)1〜C(S+1)Kが比較領域CMに供されており、これらについての画素差値Δmn(s+1)1〜Δmn(s+1)Kが求められている。従ってステップZ7において走査画像データC(s+1)1〜C(S+1)Kを更新しても、ブロックマッチングの妨げにはならない。
逆にステップZ3〜Z5の間で走査画像データCjkを更新することはブロックマッチングを妨げてしまう。よって上述のようにステップZ7はステップZ5の後に設けることが望ましい。
走査画像データCjkの更新は、より具体的には、データ更新の拒否を示すフラグFLGを用いる。比較領域TAを求めるには走査領域CA内を行方向に走査するので、走査領域CAに対する比較領域TAの行方向のずれを示す行数sが更新される度に、フラグFLGをセットする(データ更新が拒否される)。そしてステップZ5において列数tがK−Nに至ったと判断された後、フラグFLGがリセットされる(データ更新の拒否が解除される)。
図6においてフラグFLGが格納されるレジスタRFが示されている。フラグFLGのセット/リセットは中央演算部CPUによって行われ、またその値が中央演算部CPUによって参照される。
図8は演算回路Qmnの他の構成を例示するブロック図である。図4に示された構成に対し、絶対値回路13の後段にコアリング回路19を追加した構成を有している。コアリング回路19には正のしきい値CRTHと、絶対値回路13の出力が与えられる。しきい値CRTHはコアリング回路19に記憶されていてもよい。
コアリング回路19は、絶対値回路13の出力がしきい値CRTH以下の場合には零を、絶対値回路13の出力がしきい値CRTHよりも大きい場合には絶対値回路13の出力から非負の値を差し引いた値を、それぞれ画素差値Δmnstとして出力する。
このように絶対値回路13の出力に対してしきい値CRTHでコアリングした値を画素差値Δmnstとして採用することは、ノイズに強い類似性判断ができるという利点をもたらす。
図9及び図10はそれぞれコアリング回路19の第1及び第2の特性を示すグラフであり、いずれも絶対値回路13の出力ABSの値を横軸に採用し、画素差値Δmnstの値を縦軸に採用している。
図9に示された特性に従えば、出力ABSがしきい値CRTHよりも大きい場合には出力ABSから零を差し引いた値を、即ち出力ABSそのままを画素差値Δmnstとして出力する。図10に示された特性に従えば、出力ABSがしきい値CRTHよりも大きい場合には出力ABSからしきい値CRTHを差し引いた値を画素差値Δmnstとして出力する。
コアリング回路19の特性をどのように選定するかは、ブロックマッチングを採用するより上位の処理、例えば動きベクトルの検出をどのように行うかに依存して決定する。
図11は演算回路Qmnの他の構成を例示するブロック図である。図4に示された構成に対し、乗算器11の前段にターゲット画像データGmnの値からオフセットOFS0を差し引く減算回路を設けた構成を有している。当該減算回路はオフセットOFS0に値“−1”を乗算する(あるいは正負を反転する)乗算器(或いは反転器)14と、乗算器14の出力をターゲット画像データGmnに加算する加算器10とを含む。
図11に例示された構成では、更に、オフセットOFS0を採用するか否かを選択可能とするセレクタ15も演算回路Qmnが有している。セレクタ15には乗算器14の出力と値“0”とが入力され、オフセットの採否を設定する信号OFDによっていずれを加算器10に出力するかが制御される。
このような減算回路を設けることにより、ターゲット領域に対してオフセットを施してから比較領域との類似性を判断することができる。またセレクタ15を設けることにより、オフセットの採否を選択することができる。オフセットOFS0としてターゲット画像データGmnの値によらない一定値を採用すれば、ターゲット領域についていわゆるDCオフセットを採用することができる。
図12は演算回路Qmnの他の構成を例示するブロック図である。図11に示された構成に対し、加算器12の前段に走査画像データC(m+s)(n+t)の値からオフセットOFS2を差し引く減算回路を追加した構成を有している。当該減算回路はオフセットOFS2に値“−1”を乗算する(あるいは正負を反転する)乗算器(或いは反転器)17と、乗算器17の出力を走査画像データC(m+s)(n+t)に加算する加算器16とを含む。
図12に例示された構成では、更に、オフセットOFS2を採用するか否かを選択可能とするセレクタ18も演算回路Qmnが有している。セレクタ18には乗算器17の出力と値“0”とが入力され、オフセットの採否を設定する信号OFAによっていずれを加算器10に出力するかが制御される。
このような減算回路を設けることにより、比較領域に対してオフセットを施してからターゲット領域との類似性を判断することができる。またセレクタ18を設けることにより、オフセットの採否を選択することができる。オフセットOFS2として走査画像データC(m+s)(n+t)の値によらない一定値を採用すれば、比較領域についてDCオフセットを採用することができる。
なお、図12ではターゲット領域についてはオフセットOFS1を採用し、セレクタ15もセレクタ18と共に信号OFAによってその機能が制御されている場合が例示されている。但し、図12の構成においてターゲット領域のオフセットに関しては、図11に示された構成を採用してもよい。この場合には信号OFD,OFAによって、ターゲット領域のオフセットの採否と、比較領域のオフセットの採否とを、独立して選択することができる。
図12に示された構成において、オフセットOFS1,OFS2として、それぞれターゲット画像データGmnの平均値、走査画像データC(m+s)(n+t)の平均値を採用してもよい。この場合、それぞれターゲット領域、比較領域についていわゆるACオフセットを採用することができる。
また、セレクタ15,18に入力する値“0”の代わりに、それぞれ他の固定値を採用してもよい。この場合には、信号OFAによって、DCオフセットとACオフセットを切り換えて採用されることとなる。
図13及び図14は、それぞれターゲット画像データGmnの平均値、走査画像データC(m+s)(n+t)の平均値を求める構成を示すブロック図である。図13、図14で図示された構成は演算回路Qmnに含まれてもよいし、演算回路Qmnの外部に設けられてもよい。
図13では、累計回路21がM・N個のターゲット画像データGmnの総和を出力し、除算回路22が当該総和をM・Nで除している構成が例示されている。これによりM・N個のターゲット画像データGmnの平均値がオフセットOFS1として求められる。
図14では、累計回路31がある行数s、列数tについてのM・N個の走査画像データC(m+s)(n+t)の総和を出力し、除算回路32が当該総和をM・Nで除している構成が例示されている。これにより第(J−s+1)行乃至第(J−s+M)行かつ第(K−t+1)列乃至第(K−t+N)列の画素に対応するM・N個の走査画像データC(m+s)(n+t)の平均値がオフセットOFS2として求められる。
図15はマッチング判定回路MC(図6参照)の構成を例示する回路図である。マッチング判定回路MCは信号CAL,RST、データLOCの他、累計値Dstを順次に入力する。信号CALはマッチング判定を許可する。信号RSTはマッチング判定のための初期値を設定する。信号RSTが一旦活性化してから信号CALの活性化が開始し、ある比較領域についての全ての累計値Dstが入力する間は信号CALが活性化しつづける。
データLOCは(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が順次に第1の値を採るデータである。データLOCを、例えば走査情報PSVを加工して得ることは容易である。以下、図示の簡単のため、(J−M+1)・(K−N+1)を値Wで表記する。
図16は信号RST,CAL、データLOC、累計値Dst、及び動作クロックCLKを示すタイミングチャートである。動作クロックCLKに同期して信号RSTが動作クロックCLKの一周期分活性化する。信号RSTの活性化が終了した後、信号CALが動作クロックCLKに同期して動作クロックCLKのW周期分活性化する。データLOC[W:1]は動作クロックCLKに同期して、信号CALが活性化している期間において第1桁から順次第W桁へと排他的に活性化する。累計値Dstの値はD1,D2,D3,…,DWとして表しており、これらが動作クロックCLKに同期して順次に変遷する。例えばレジスタ群RYから累計値Dstを順次に読み出して、累計値Dstをマッチング判定部MCに入力する。
マッチング判定回路MCは、値MINVALを記憶し、入力された累計値Dstが記憶値未満であったときに入力された累計値Dstを用いて記憶値MINVALを更新する最小値記憶回路を有している。具体的な最小値記憶回路として、下記の構成が例示されている。
DフリップフロップD1には値MINVALが記憶される。DフリップフロップD1は、信号CALが活性化している期間において動作クロックCLKに同期して、そのQ出力として値MINVALを出力する。
値MINVALと、順次に入力された累計値Dstとが、比較器CMP及びセレクタL1に入力する。
比較器CMPにおいて、値MINVALと累計値Dstが比較される。比較器CMPは、累計値Dstが値MINVALよりも小さいときに活性化する第1出力(図15では第1出力を出力する出力端に“A>B”と付記している)と、累計値Dstが値MINVALと等しいときに活性化する第2出力(図15では第1出力を出力する出力端に“A=B”と付記している)とを出力する。
セレクタL1は、第1出力が活性化していれば累計値DstをDフリップフロップD1の入力端に与え、そうでなければ値MINVALをDフリップフロップD1の入力端に与える。
以上の処理により、値MINVALは、より小さな累計値Dstによって更新される。よって、ある比較領域についての全ての累計値Dstが(すなわちW個の累計値Dstが)入力されれば、その中の最小値が値MINVALとしてDフリップフロップD1のQ出力から得られることになる。かかる動作を得るためには、信号RSTの活性化によって累計値Dstとして想定される以上の数値を値MINVALの初期値としてDフリップフロップD1に記憶させることが望ましい。
DフリップフロップD2にはW桁のそれぞれにおいて二値を採るデータが記憶されており、信号CALが活性化している期間において動作クロックCLKに同期して、そのQ出力として自身が記憶するデータを出力する。
後述する処理により、DフリップフロップD2のQ出力として得られる当該データが、位置情報PSFとして得られる。つまりDフリップフロップD2は、値MINVALが累計値Dstについての最小値を採るときに、当該最小値を与える位置を記憶する最小値位置記憶回路として機能する。
ゲートG1は比較器CMPの第1出力と第2出力の活性化についての論理和を出力する。すなわちゲートG1の出力は、累計値Dstが値MINVAL以下のときに活性化する。
ゲートG2は、いずれもW桁のデータであるデータLOCとDフリップフロップD2のQ出力とについて、各桁毎に活性化の論理和を出力する。よってゲートG2の出力もW桁のデータである。
セレクタL2は、比較器CMPの第2出力に基づいて、ゲートG2の出力とデータLOCとを選択的に出力する。具体的には当該第2出力が活性化しているとき(累計値Dstが値MINVALと等しいとき)にはゲートG2の出力を、そうでないときにはデータLOCを、それぞれ出力する。
セレクタL3は、ゲートG1の出力に基づいて、セレクタL2の出力とDフリップフロップD2のQ出力とを選択的に出力する。具体的には比較器CMPの第1出力及び第2出力のいずれかが活性化しているとき(累計値Dstが値MINVAL以下のとき)にはセレクタL2の出力を、そうでないときにはDフリップフロップD2のQ出力を、それぞれ出力する。
信号RSTの活性化により、DフリップフロップD2にはその記憶する値の初期値として、W桁の全てが非活性化したデータが採用される。
累計値Dstによって、値MINVALが更新されるとき、ゲートG1の出力は活性化するが、比較器CMPの第2出力は活性化しない。よってセレクタL2,L3はデータLOCをDフリップフロップD2のD入力として与える。これにより、DフリップフロップD2に記憶されるデータが更新され、その内で活性化する桁は、データLOCにおいて、値MINVALが更新される原因となった(つまり値MINVALの更新に採用される)累計値Dstの入力と同期して活性化している桁となる。
累計値Dstによって値MINVALが更新されない場合は二通り想定される。第1の場合は、累計値Dstが記憶済みの値MINVALと等しい場合である。このときの累計値Dstも、信号RSTが活性化した後に入力された累計値Dstの最小値足り得る。よって当該累計値Dstの入力と同期したデータLOCにおいて活性化している桁も、DフリップフロップD2が記憶するデータにおいて活性化させることが望ましい。
このときはゲートG1の出力と比較器CMPの第2出力との両方が活性化するので、セレクタL2,L3はゲートG2の出力をDフリップフロップD2に与える。上述のようにゲートG2はデータLOCとDフリップフロップD2のQ出力とについて、各桁毎に活性化の論理和をとるので、それまでに最小値を与えた累計値Dstに対応する桁と、第1の場合を招来した累計値Dstに対応する桁とのいずれもがDフリップフロップD2において記憶される。
他方、累計値Dstによって値MINVALが更新されない場合の内、第2の場合は、累計値Dstが記憶済みの値MINVALよりも大きい場合である。この場合にはDフリップフロップD2が記憶するW桁のデータを更新すべきではない。この場合、ゲートG1の出力が活性化しないので、セレクタL2の出力によらず、セレクタL3はDフリップフロップD2のQ出力をそのD入力として与え、DフリップフロップD2が記憶するデータは維持される。
累計値Dstがマッチング判定回路MCに入力する順序は、レジスタ群RYからの累計値Dstの読み出し順序に依拠する。レジスタ群RYからの累計値Dstの読み出し順序は通常は既知であるので、DフリップフロップD2に記憶されるデータにおいて活性化している桁は、現状での累計値Dstの最小値を与える位置(s,t)と対応づけられる。従って、DフリップフロップD2は、値MINVALが累計値Dstについての最小値を採るときに、当該最小値を与える位置を記憶する機能を果たすことになる。
図17は、ある比較領域についての全ての累計値Dstが(すなわちW個の累計値Dstが)入力された後の、DフリップフロップD2のQ出力の例であり、位置情報PSFとして把握される。ここでは第3桁目が活性化しているため、信号RSTが活性化してから3番目に入力した累計値Dstを与える位置(s,t)にある比較領域CAが、最もターゲット領域TAと類似していることが示されていることになる。
ターゲット画像データGmnは、対応する画素毎に区切られたデータとして取り扱ってもよいし、ターゲット領域において同一行に属する画像の纏りに対応する画素データであるクラスタデータとして取り扱われてもよい。このようなデータの取り扱いは、第2記憶領域RTAのデータ更新が高速化する観点で望ましい。
図18は、第2記憶領域RTAの構成を例示するブロック図である。中央演算処理部CPUはアドレス信号ADR、書き込み許可信号WE、読み出しデータRDを出力する。デコーダDECは、これらを受け、択一的に活性化する4ビットのエネーブル信号を出力する。また中央演算処理部CPUはクラスタデータたる32ビットの信号G[31:0]を出力する。ここではターゲット領域TAとして一行に4列の画素が配列されている場合を想定しており、一つの画素に対応する画素データを8ビットと想定している。よってクラスタデータのビット数は32ビットとなる。
第2記憶領域RTAはターゲット領域TAの列数の応じたセレクタL11,L12,L13,L14と、ターゲット領域TAの画素数と同じDフリップフロップを有している。
クラスタデータG[31:0]は8ビットずつに分岐してセレクタL11,L12,L13,L14に入力する。具体的には、クラスタデータG[31:24]がセレクタL11の第1入力端(図中、“0”と付記された側の入力端:他のセレクタL12,L13,L14についても同様)及びセレクタL14の第2入力端に(図中、“1”と付記された側の入力端:他のセレクタL12,L13,L14についても同様)与えられる。クラスタデータG[23:16]がセレクタL12の第1入力端及びセレクタL13の第2入力端に与えられ、クラスタデータG[15:8]がセレクタL13の第1入力端及びセレクタL12の第2入力端に与えられ、クラスタデータG[7:0]がセレクタL14の第1入力端及びセレクタL11の第2入力端に与えられる。セレクタL11,L12,L13,L14はそれぞれの第1入力端に入力されたクラスタデータ及び第2入力端に入力されたクラスタデータのいずれか一方をターゲット画像データGm1,Gm2,Gm3,Gm4として出力する。
セレクタL11の出力は、図中で横方向に最も上側で配列されているDフリップフロップの全てのD入力端に与えられる。セレクタL12の出力は、図中で横方向に上から二番目で配列されているDフリップフロップの全てのD入力端に与えられる。セレクタL13の出力は、図中で横方向に上から三番目で配列されているDフリップフロップの全てのD入力端に与えられる。セレクタL14の出力は、図中で横方向に最も下側で配列されているDフリップフロップの全てのD入力端に与えられる。
4ビットのエネーブル信号はそれぞれ、図中で縦方向に4列に配列されているDフリップフロップに対応している。上述のように、4ビットのエネーブル信号は択一的に活性化するので、縦方向に配列されているDフリップフロップ同士が同期して活性化/非活性化することになる。
よって、図18において図中で縦方向に配列されているDフリップフロップはターゲット領域TAの同一行に配置された画素についての画素データを記憶することになる。例えば図中で最も左側で縦方向に配列されたDフリップフロップは、ターゲット領域TAの第1行に配列された画素についての画素データたるターゲット画像データG11,G12,G13,G14を記憶する。その右隣において縦方向に配列されたDフリップフロップは、ターゲット領域TAの第2行に配列された画素についての画素データたるターゲット画像データG21,G22,G23,G24を記憶する。更にその右隣において縦方向に配列されたDフリップフロップは、ターゲット領域TAの第3行に配列された画素についての画素データたるターゲット画像データG31,G32,G33,G34を記憶する。そして図中で最も右側で縦方向に配列されたDフリップフロップは、ターゲット領域TAの第4行に配列された画素についての画素データたるターゲット画像データG41,G42,G43,G44を記憶する。
さて、クラスタデータG[31:0]のビット配列として、ビッグエンディアンが採用されている場合もあれば、リトルエンディアンが採用される場合もある。よってセレクタL11,L12,L13,L14の選択的出力を制御することにより、ターゲット画像データGm1,Gm2,Gm3,Gm4として、クラスタデータG[31:24],G[23:16],G[15:8],G[7:0]を採用するか、クラスタデータG[7:0],G[15:8],G[23:16],G[31:24]を採用することができる。つまりリトルエンディアンを採用するかビッグエンディアンを採用するかによらずに、クラスタデータを扱うことが容易となる。図18では、このようなセレクタの機能選択を、レジスタRBに格納された信号BYTESWAPに制御させている場合が例示されている。
上述のようなデータのスワップはターゲット画像データのみならず、走査画像データにおいて行ってもよい。具体的には、走査画像データにおける画素データは、走査領域において同一行に属する画像の纏りに対応する画素データであるクラスタデータとして取り扱われてもよい。このようなデータの取り扱いは、第1記憶領域CTAのデータ更新が高速化する観点で望ましい。
この発明にかかる実施の形態において採用される走査領域CAが有するJ行K列に配置された画素を模式的に示す図である。 この発明にかかる実施の形態において採用されるターゲット領域TAが有するM行N列に配置された画素を模式的に示す図である。 この発明にかかる実施の形態において、走査領域CAと比較領域CMとの関係を模式的に示す図である。 選択回路Smnと演算回路Qmnとを示すブロック図である。 画素差値Δmnstを比較領域毎に、比較領域CMの全体に渡って累積する構成を示すブロック図である。 本実施の形態にかかるブロックマッチングが実行される構成の概略を示すブロック図である。 マッチング判定を行うフローチャートである。 演算回路Qmnの他の構成を例示するブロック図である。 コアリング回路19の第1の特性を示すグラフである。 コアリング回路19の第2の特性を示すグラフである。 演算回路Qmnの他の構成を例示するブロック図である。 演算回路Qmnの他の構成を例示するブロック図である。 ターゲット画像データGmnの平均値を示すブロック図である。 走査画像データC(m+s)(n+t)の平均値を求める構成を示すブロック図である。 マッチング判定回路MCの構成を例示する回路図である。 信号RST,CAL、データLOC、累計値Dst、及び動作クロックCLKを示すタイミングチャートである。 位置情報PSFの例を示す図である。 第2記憶領域RTAの構成を例示するブロック図である。
符号の説明
CA 走査領域
Cjk,C11〜C88 走査画像データ
RCA 第1記憶領域
TA ターゲット領域
Gmn,G11〜G44 ターゲット画像データ
C(m+s)(n+t),C34〜C67 比較画像データ
Δmnst 画素差値
Qmn,Q11〜QMN 演算回路
L1,L2,L3,L11〜L14,Smn,S11〜SMN セレクタ
Dst 累計値
SUM 累計回路
MC マッチング判定部
11,14 乗算器(あるいは反転器)
10,12 加算器
13 絶対値回路
OFS0,OFS1,OFS2 オフセット
CRTH しきい値
19 コアリング回路
MINVAL DフリップフロップD1が記憶する値
D1,D2 フリップフロップ
G1,G2 ゲート
LOC[0]〜LOC[W] データ
G[31:0] クラスタデータ

Claims (18)

  1. ブロックマッチングの比較対象となる画像領域である走査領域が含むJ行K列の画素の各々に対応した画素データである走査画像データを記憶する第1記憶領域と、
    前記ブロックマッチングの比較基準となる画像領域であるターゲット領域が含むM行N列(J,K,M,NはJ>M,N>Kを満足する正整数)の画素の各々に対応した画素データであるターゲット画像データを記憶する第2記憶領域と、
    前記走査領域内を走査して得られる複数の比較領域の各々が含むM行N列の画素に対応した画素データである比較画像データと、前記ターゲット画像データの間で、相互に対応する画素同士の相違を示す値たる画素差値を求めるM・N個の演算回路と、
    前記第1記憶領域から、前記比較画像データを前記比較領域毎に選択して、前記演算部に出力するM・N個の選択回路と、
    前記画素差値の累計たる累計値を、前記比較領域毎に求める累計回路と、
    前記比較領域毎の前記累計値を比較し、前記累計値を最小とする前記比較領域を特定するマッチング判定部と
    を備えるブロックマッチング回路。
  2. 前記ターゲット領域の第m行第n列に位置する画素(mは1乃至Mの整数、nは1乃至Nの整数)に対応する前記選択回路は、
    前記走査領域の第m行乃至第(m+J−M)行かつ第n列乃至第(n+K−N)列に位置する画素に対応する(J−M+1)・(K−N+1)個の前記走査画像データを入力し、
    前記比較領域が前記走査領域に対してs行t列ずれた位置にあるときに(sは0乃至(J−M)の整数、tは0乃至(K−N)の整数)、第(m+s)行第(n+t)列の画素に対応する前記走査画像データを出力する、請求項1記載のブロックマッチング回路。
  3. 前記ターゲット領域の第m行第n列に位置する画素に対応する前記演算回路は、
    前記ターゲット領域の第m行第n列に位置する画素に対応する前記ターゲット画像データの値と、前記走査領域の第(m+s)行第(n+t)列の画素に対応する前記走査画像データの値との差を求める減算回路と、
    前記減算回路の結果の絶対値を求める絶対値回路
    を有する、請求項2記載のブロックマッチング回路。
  4. 前記ターゲット領域の第m行第n列に位置する画素データに対応する前記演算回路は、
    前記ターゲット領域の第m行第n列に位置する画素に対応する前記ターゲット画像データの値からオフセットを差し引く第1減算回路と、
    前記減算回路の出力と、前記走査領域の第(m+s)行第(n+t)列の画素に対応する前記走査画像データの値との差を求める第2減算回路と、
    前記第2減算回路の結果の絶対値を求める絶対値回路
    を有する、請求項2記載のブロックマッチング回路。
  5. 前記オフセットは前記ターゲット画像データの値によらない一定値が採用される、請求項4記載のブロックマッチング回路。
  6. 前記オフセットは前記ターゲット画像データの平均値が採用される、請求項4記載のブロックマッチング回路。
  7. 前記ターゲット領域の第m行第n列に位置する画素データに対応する前記演算回路は、
    前記走査領域の第(m+s)行第(n+t)列の画素に対応する前記走査画像データの値からオフセットを差し引く第1減算回路と、
    前記ターゲット領域の第m行第n列に位置する画素に対応する前記ターゲット画像データの値と、前記第1減算回路の出力との差を求める第2減算回路と、
    前記第2減算回路の結果の絶対値を求める絶対値回路
    を有する、請求項2記載のブロックマッチング回路。
  8. 前記オフセットは前記走査画像データの値によらない一定値が採用される、請求項7記載のブロックマッチング回路。
  9. 前記オフセットは、前記走査領域の第(J−s+1)行乃至第(J−s+M)行かつ第(K−t+1)列乃至第(K−t+N)列の画素に対応するM・N個の画素データの平均値が採用される、請求項7記載のブロックマッチング回路。
  10. 前記ターゲット領域の第m行第n列に位置する画素に対応する前記演算回路は、
    前記絶対値回路の出力が正のしきい値以下の場合には零を、前記絶対値回路の出力が前記しきい値よりも大きい場合には前記絶対値回路の出力から非負の値を差し引いた値を出力するコアリング回路
    を有する、請求項3乃至請求項9のいずれか一つに記載のブロックマッチング回路。
  11. 前記マッチング判定部は、
    前記累計値を順次に入力し、
    記憶の対象となる値たる記憶値を記憶し、入力された前記累計値が前記記憶値未満であったときに入力された前記累計値を用いて前記記憶値を更新する最小値記憶回路と、
    (J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採る第1のデータを記憶する最小値位置記憶回路と、
    前記第1のデータを更新する更新回路と
    を有し、
    前記更新回路は、
    (J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が順次に第1の値を採る第2のデータを前記累計値と同期して入力し、
    入力された前記累計値が前記記憶値未満であったときに前記第2のデータを用いて前記第1のデータを更新する、請求項1乃至10のいずれか一つに記載のブロックマッチング回路。
  12. 前記更新回路は、
    入力された前記累計値が前記記憶値と等しいときに、前記第2のデータと、直前に記憶されていた前記第1のデータとの間での桁毎の論理和を用いて前記第1のデータを更新する、請求項11記載のブロックマッチング回路。
  13. 前記ターゲット画像データにおける画素データは、前記ターゲット領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる、請求項1乃至請求項12のいずれか一つに記載のブロックマッチング回路。
  14. 前記ターゲット画像データにおける列毎に前記クラスタデータをスワップする、複数のセレクタ
    を更に備える、請求項13に記載のブロックマッチング回路。
  15. 前記走査画像データにおける画素データは、前記走査領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる、請求項1乃至請求項14のいずれか一つに記載のブロックマッチング回路。
  16. 前記走査画像データにおける列毎に前記クラスタデータをスワップする、複数のセレクタ
    を更に備える、請求項15に記載のブロックマッチング回路。
  17. フラグを格納するレジスタ
    を更に備え、
    前記走査領域内において第1行から第J行へと向かう行方向に走査し、かつ前記行方向に対して優先的に、第1列から第K列へと向かう列方向に走査して複数の前記比較領域が得られ、
    前記列方向の走査が行われているときに前記フラグがセットされ、当該走査が前記第K列に至ったときに前記フラグがリセットされ、
    前記フラグがセットされているときには前記走査画像データの更新が拒否される、請求項1乃至請求項16のいずれか一つに記載のブロックマッチング回路。
  18. 請求項1乃至請求項16のいずれか一つに記載のブロックマッチング回路において、
    前記走査領域内において第1行から第J行へと向かう行方向に走査し、かつ前記行方向に対して優先的に、第1列から第K列へと向かう列方向に走査して複数の前記比較領域が得られ、
    前記走査領域の第(s+1)行第K列に位置する画素に対応する前記走査画像データ(sは0乃至(J−M)の整数)が前記比較画像データの画素データとして、前記ターゲット領域の第1行第N列の画素に対応する前記ターゲット画像データとの間で前記画素差値が求められた後に、前記走査領域の第(s+1)行かつ第1列乃至第K列に位置する画素に対応する前記走査画像データを更新する、データ更新方法。
JP2007236644A 2007-09-12 2007-09-12 ブロックマッチング回路及びデータ更新方法 Expired - Fee Related JP5322416B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007236644A JP5322416B2 (ja) 2007-09-12 2007-09-12 ブロックマッチング回路及びデータ更新方法
US12/205,153 US8077363B2 (en) 2007-09-12 2008-09-05 Block matching circuit and data update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007236644A JP5322416B2 (ja) 2007-09-12 2007-09-12 ブロックマッチング回路及びデータ更新方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013109787A Division JP5499203B2 (ja) 2013-05-24 2013-05-24 ブロックマッチング回路及びデータ更新方法

Publications (3)

Publication Number Publication Date
JP2009070055A true JP2009070055A (ja) 2009-04-02
JP2009070055A5 JP2009070055A5 (ja) 2010-10-14
JP5322416B2 JP5322416B2 (ja) 2013-10-23

Family

ID=40431534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007236644A Expired - Fee Related JP5322416B2 (ja) 2007-09-12 2007-09-12 ブロックマッチング回路及びデータ更新方法

Country Status (2)

Country Link
US (1) US8077363B2 (ja)
JP (1) JP5322416B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087125B2 (en) * 2009-08-10 2015-07-21 Pixel Forensics, Inc. Robust video retrieval utilizing video data
US8295611B2 (en) * 2009-08-10 2012-10-23 Pixel Forensics, Inc. Robust video retrieval utilizing audio and video data
JP5834253B2 (ja) * 2013-03-27 2015-12-16 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP6093221B2 (ja) * 2013-03-29 2017-03-08 株式会社メガチップス 画像処理回路及び画像検出装置
JP6203963B2 (ja) * 2014-08-01 2017-09-27 株式会社日立製作所 経路解決システム及び経路解決方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0410883A (ja) * 1990-04-27 1992-01-16 Matsushita Electric Ind Co Ltd 動きベクトル検出装置
JPH07284105A (ja) * 1994-04-13 1995-10-27 Matsushita Electric Ind Co Ltd 動きベクトル検出装置
JPH10155109A (ja) * 1996-11-22 1998-06-09 Canon Inc 撮像方法及び装置並びに記憶媒体
JP2001060269A (ja) * 1999-06-15 2001-03-06 Hitachi Denshi Ltd 物体追跡方法及び物体追跡装置
JP2001523027A (ja) * 1997-11-07 2001-11-20 ワシントン・ユニバーシティ 目印および体積イメージによる高速畳込み式の大変形イメージ・マッチング方法
JP2006031392A (ja) * 2004-07-15 2006-02-02 Nippon Telegr & Teleph Corp <Ntt> テンプレート照合装置および方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509083A (en) * 1994-06-15 1996-04-16 Nooral S. Abtahi Method and apparatus for confirming the identity of an individual presenting an identification card
US6384859B1 (en) * 1995-03-29 2002-05-07 Sanyo Electric Co., Ltd. Methods for creating an image for a three-dimensional display, for calculating depth information and for image processing using the depth information
JP4169462B2 (ja) * 1999-08-26 2008-10-22 株式会社リコー 画像処理方法及び装置、デジタルカメラ、画像処理システム、並びに、画像処理プログラムを記録した記録媒体
KR100964621B1 (ko) * 2002-07-30 2010-06-21 소니 주식회사 기억 장치, 신호 처리 장치, 및 화상 신호 처리 장치, 및그들의 방법
US7532804B2 (en) * 2003-06-23 2009-05-12 Seiko Epson Corporation Method and apparatus for video copy detection
KR100579542B1 (ko) * 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
US7327865B2 (en) * 2004-06-30 2008-02-05 Accuray, Inc. Fiducial-less tracking with non-rigid image registration
JP4446820B2 (ja) 2004-07-13 2010-04-07 株式会社メガチップス 画像処理装置
US7486827B2 (en) * 2005-01-21 2009-02-03 Seiko Epson Corporation Efficient and robust algorithm for video sequence matching
DE102006036154A1 (de) * 2005-08-01 2007-03-01 Kyowa Metal Works Co., Ltd., Yokohama Mehrstufiges Automatikgetriebe für ein Motorfahrzeug
JP2007215114A (ja) * 2006-02-13 2007-08-23 Sony Corp 撮像画像の歪み補正方法、撮像画像の歪み補正装置および撮像装置
JP4655957B2 (ja) * 2006-02-20 2011-03-23 ソニー株式会社 撮像画像の歪み補正方法、撮像画像の歪み補正装置、撮像方法および撮像装置
JP4760973B2 (ja) * 2008-12-16 2011-08-31 カシオ計算機株式会社 撮像装置及び画像処理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0410883A (ja) * 1990-04-27 1992-01-16 Matsushita Electric Ind Co Ltd 動きベクトル検出装置
JPH07284105A (ja) * 1994-04-13 1995-10-27 Matsushita Electric Ind Co Ltd 動きベクトル検出装置
JPH10155109A (ja) * 1996-11-22 1998-06-09 Canon Inc 撮像方法及び装置並びに記憶媒体
JP2001523027A (ja) * 1997-11-07 2001-11-20 ワシントン・ユニバーシティ 目印および体積イメージによる高速畳込み式の大変形イメージ・マッチング方法
JP2001060269A (ja) * 1999-06-15 2001-03-06 Hitachi Denshi Ltd 物体追跡方法及び物体追跡装置
JP2006031392A (ja) * 2004-07-15 2006-02-02 Nippon Telegr & Teleph Corp <Ntt> テンプレート照合装置および方法

Also Published As

Publication number Publication date
US8077363B2 (en) 2011-12-13
US20090067015A1 (en) 2009-03-12
JP5322416B2 (ja) 2013-10-23

Similar Documents

Publication Publication Date Title
US10943166B2 (en) Pooling operation device and method for convolutional neural network
JP5322416B2 (ja) ブロックマッチング回路及びデータ更新方法
US20080192827A1 (en) Video Processing With Region-Based Multiple-Pass Motion Estimation And Update Of Temporal Motion Vector Candidates
US20110264723A1 (en) System and method for successive matrix transposes
JP5522893B2 (ja) 画像処理装置、画像処理方法及びプログラム
KR101017688B1 (ko) 반도체 장치, 화상 데이터 처리 장치 및 그 방법
US11669942B2 (en) Image de-warping system
EP3217289A2 (en) System and method for preventing cache contention
US9460489B2 (en) Image processing apparatus and image processing method for performing pixel alignment
US8135229B1 (en) Image processing method and device
JP5499203B2 (ja) ブロックマッチング回路及びデータ更新方法
US8705626B2 (en) Motion estimation method
JP4621944B2 (ja) 画像フィルタ装置、方法およびコンピュータプログラム
WO2011001364A1 (en) Parallel three-dimensional recursive search (3drs) meandering algorithm
US7453761B2 (en) Method and system for low cost line buffer system design
JPH11313328A (ja) 画像処理装置
JP2016095667A (ja) 画像処理装置および電子機器
US20190156463A1 (en) Image processing apparatus, image processing method, and program
US20060115150A1 (en) Calculation method of a cumulative histogram
JP4343484B2 (ja) イメージデータ処理装置及び撮像システム
US9064204B1 (en) Flexible image processing apparatus and method
JP3130265U (ja) Csa累算器で画像品質を向上させる画像処理装置
US7606996B2 (en) Array type operation device
US10672107B2 (en) Image processing apparatus and method of controlling the same
JP4759628B2 (ja) イメージデータ処理装置、撮像システム、イメージデータ処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130524

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130716

R150 Certificate of patent or registration of utility model

Ref document number: 5322416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees