JP5499203B2 - Block matching circuit and data update method - Google Patents

Block matching circuit and data update method Download PDF

Info

Publication number
JP5499203B2
JP5499203B2 JP2013109787A JP2013109787A JP5499203B2 JP 5499203 B2 JP5499203 B2 JP 5499203B2 JP 2013109787 A JP2013109787 A JP 2013109787A JP 2013109787 A JP2013109787 A JP 2013109787A JP 5499203 B2 JP5499203 B2 JP 5499203B2
Authority
JP
Japan
Prior art keywords
data
value
image data
comparison
pixel
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
JP2013109787A
Other languages
Japanese (ja)
Other versions
JP2013157042A (en
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.)
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 JP2013109787A priority Critical patent/JP5499203B2/en
Publication of JP2013157042A publication Critical patent/JP2013157042A/en
Application granted granted Critical
Publication of JP5499203B2 publication Critical patent/JP5499203B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Description

この発明は画像処理に関し、特に画像同士の類似性を判断するためのブロックマッチングに関する。   The present invention relates to image processing, and more particularly to block matching for determining similarity between images.

例えば動画のあるフレームと他のフレームとの間での類似性を判断することにより、フレームの各々において現れる対象物の動きを示す、動きベクトルが算出される。具体的には、当該対象物を含む画像領域をあるフレームから切り出し、当該画像領域が他のフレームのどの領域と類似するかを判断する。このような画像同士の類似性を判断するために、ブロックマッチングが採用される(例えば下記特許文献参照)。   For example, by determining the similarity between a certain frame of the moving image and another frame, a motion vector indicating the motion of the object appearing in each frame is calculated. Specifically, an image region including the object is cut out from a certain frame, and it is determined which region of the other frame the image region is similar to. In order to determine the similarity between such images, block matching is employed (see, for example, the following patent document).

ブロックマッチングにおいては、あるフレームから切り出されたターゲット領域と、他のフレームの特定の領域たる領域(全領域でもよい:以下「走査領域」と称す)内を走査して得られる領域(以下「比較領域」と称す)との類似性を、ターゲット領域及び比較領域の全体として判断する。具体的には例えば、ターゲット領域の一画素と、比較領域において当該一画素に対応する一画素もしくは複数の画素とを比較する。そしてこれら画素同士の比較結果を比較領域の全体に渡って累積して、ターゲット領域と比較領域との類似性が判断される。画素同士の比較結果としては両者の相違を示す値(以下「画素差値」と称す)、例えばそれぞれの画素が示す値(例えば輝度)の差の絶対値(以下「画素差絶対値」と称す)が採用される。上記類似性は当該画素差値の総和として計算される。   In block matching, a target region cut out from a frame and a region obtained by scanning the region (a whole region may be referred to as a “scan region” hereinafter) as a specific region of another frame (hereinafter referred to as “comparison”). Similarity to the “region” is determined for the target region and the comparison region as a whole. Specifically, for example, one pixel in the target area is compared with one pixel or a plurality of pixels corresponding to the one pixel in the comparison area. Then, the comparison results between these pixels are accumulated over the entire comparison area, and the similarity between the target area and the comparison area is determined. As a comparison result between pixels, a value indicating a difference between the two pixels (hereinafter referred to as “pixel difference value”), for example, an absolute value of a difference (for example, luminance) indicated by each pixel (hereinafter referred to as “pixel difference absolute value”). ) Is adopted. The similarity is calculated as the sum of the pixel difference values.

上記類似性は比較領域毎に求められるので、走査領域内でターゲット領域と最も類似性が高い比較領域が求められる。よってターゲット領域がフレーム内で占める位置と、比較領域がフレーム内で占める位置とに基づいて、動きベクトルが算出される。   Since the similarity is obtained for each comparison area, a comparison area having the highest similarity with the target area in the scanning area is obtained. Therefore, a motion vector is calculated based on the position occupied by the target area in the frame and the position occupied by the comparison area in the frame.

特開2006−33145号公報JP 2006-33145 A

走査領域のうちでターゲット領域と類似した比較領域を特定するためには、画素差値を求める処理を、ターゲット領域と比較領域の演算数と走査によって得られる比較領域の総数との積で求められる回数で実行しなければならない。   In order to specify a comparison area similar to the target area in the scanning area, a process for obtaining a pixel difference value is obtained by multiplying the number of operations in the target area and the comparison area by the total number of comparison areas obtained by scanning. Must be executed in number of times.

ここでは簡単のため、ターゲット領域と比較領域とは同じサイズを有しているとする。そしてターゲット領域においてある相対的な位置を占める一画素と、比較領域において当該相対的な位置を占める一画素との間で画素差値が求められるとする。   Here, for simplicity, it is assumed that the target area and the comparison area have the same size. It is assumed that a pixel difference value is obtained between one pixel occupying a certain relative position in the target region and one pixel occupying the relative position in the comparison region.

ターゲット領域がM行N列で配列された画素群として表され、走査領域がJ行K列で配列された画素群として表される場合(J,K,M,Nは、J>M、K>Nを満足する正整数)、一つの走査領域において走査して得られる比較領域の数は、(J−M+1)・(K−N+1)となる。   When the target area is represented as a pixel group arranged in M rows and N columns and the scanning area is represented as a pixel group arranged in J rows and K columns (J, K, M, and N are J> M, K > A positive integer satisfying> N), the number of comparison areas obtained by scanning in one scanning area is (J−M + 1) · (K−N + 1).

予めこれらの個数の比較領域の分だけ、画素のデータを蓄積しておき、ターゲット領域の画素のデータとの間で一斉に、対応する画素同士で画素差値を求めるとその処理は迅速に行える。しかしそのためにはターゲット領域の画素の総数たるM・N個の画素データを記憶し、(J−M+1)・(K−N+1)・M・N個の比較領域の画素データを記憶しなければならない。かかる技術は多大な記憶領域を必要とする欠点がある。   If the pixel data is accumulated in advance for the number of comparison regions, and the pixel difference value is calculated for the corresponding pixels simultaneously with the pixel data of the target region, the processing can be performed quickly. . However, for that purpose, M · N pixel data, which is the total number of pixels in the target area, must be stored, and (J−M + 1) · (K−N + 1) · M · N pixel data in the comparison area must be stored. . Such a technique has a drawback of requiring a large storage area.

かかる欠点を解消する一つの手法として、ターゲット領域の一画素と、複数の比較領域のそれぞれにおいて当該一画素と対応する画素とを用い、複数の比較領域に対して一斉に画素差値を求める技術が考えられる。   As a technique for solving such a drawback, a technique for obtaining a pixel difference value for a plurality of comparison areas at once using one pixel of a target area and a pixel corresponding to the one pixel in each of a plurality of comparison areas. Can be considered.

この場合、なるほど、ターゲット領域について記憶すべき画素データは1つであるため、先に示した技術と比較すると、記憶すべき画素データの個数は1/(M・N)にまで低減できる。しかしながら、ブロックマッチングでは上述のように、画像の類似性は絶対値の総和として計算される。よってあるターゲット画像との類似性を得るためには当然、先に示した技術に対してM・N倍の処理時間が必要となる。しかもターゲット領域について画素データをM・N回取り込まなければならない。更に、画素データの取り込みにおいて通常はオーバーヘッドが発生するので、この技術では処理時間が増大することがわかる。   In this case, since the number of pixel data to be stored for the target region is one, the number of pixel data to be stored can be reduced to 1 / (M · N) as compared with the technique described above. However, in block matching, as described above, image similarity is calculated as the sum of absolute values. Therefore, in order to obtain the similarity with a certain target image, naturally, the processing time of M · N times is required for the technique described above. In addition, pixel data must be captured M · N times for the target area. Furthermore, since overhead usually occurs in capturing pixel data, it can be seen that this technique increases processing time.

本発明は上記の課題を解決することを目的としており、記憶すべきデータの個数を減らして記憶領域を低減しつつも、データの取り込み回数を減少させて処理時間を短縮する技術を提供する。   An object of the present invention is to solve the above-described problems, and provides a technique for reducing the processing time by reducing the number of data fetches while reducing the storage area by reducing the number of data to be stored.

この発明にかかるブロックマッチング回路の第1の態様は、ブロックマッチングの比較対象となる画像領域である走査領域が含むJ行K列の画素の各々に対応した画素データである走査画像データを記憶する第1記憶領域と、前記ブロックマッチングの比較基準となる画像領域であるターゲット領域が含むM行N列(J,K,M,NはJ>M,N<Kを満足する正整数)の画素の各々に対応した画素データであるターゲット画像データを記憶する第2記憶領域と、前記走査領域内を走査して得られる複数の比較領域の各々が含むM行N列の画素に対応した画素データである比較画像データと、前記ターゲット画像データの間で、相互に対応する画素同士の相違を示す値たる画素差値を求めるM・N個の演算回路と、前記第1記憶領域から、前記比較画像データを前記比較領域毎に選択して、前記演算回路に出力するM・N個の選択回路と、前記画素差値の累計たる累計値を、前記比較領域毎に求める累計回路と、前記比較領域毎の前記累計値を比較し、前記累計値を最小とする前記比較領域を特定するマッチング判定部とを備える。   According to a first aspect of the block matching circuit of the present invention, scan image data that is pixel data corresponding to each pixel of J rows and K columns included in a scan region that is an image region to be compared for block matching is stored. Pixels in M rows and N columns (J, K, M, N are positive integers satisfying J> M, N <K) included in the first storage area and the target area which is an image area serving as a comparison reference for the block matching Pixel data corresponding to pixels in M rows and N columns included in each of a second storage area that stores target image data that is pixel data corresponding to each of the plurality of comparison areas obtained by scanning the scan area Between the comparison image data and the target image data, M · N arithmetic circuits for obtaining a pixel difference value indicating a difference between mutually corresponding pixels, and the first storage area M / N selection circuits for selecting comparison image data for each comparison region and outputting to the arithmetic circuit; a summation circuit for obtaining a cumulative value of the pixel difference values for each comparison region; A matching determination unit that compares the accumulated values for each comparison area and identifies the comparison area that minimizes the accumulated value;

前記マッチング判定部は、前記累計値を順次に入力し、記憶の対象となる値たる記憶値を記憶し、入力された前記累計値が前記記憶値未満であったときに入力された前記累計値を用いて前記記憶値を更新する最小値記憶回路と、(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採る第1のデータを記憶する最小値位置記憶回路と、前記第1のデータを更新する更新回路とを有する。   The matching determination unit sequentially inputs the cumulative value, stores a stored value that is a value to be stored, and the cumulative value that is input when the input cumulative value is less than the stored value A minimum value storage circuit for updating the stored value using the data, a minimum value position storage circuit for storing first data taking binary values in each of (J−M + 1) · (K−N + 1) digits, and the first And an update circuit for updating one data.

前記更新回路は、(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が順次に第1の値を採る第2のデータを前記累計値と同期して入力し、入力された前記累計値が前記記憶値未満であったときに前記第2のデータを用いて前記第1のデータを更新する。   The update circuit takes binary values in each of (J−M + 1) and (K−N + 1) digits, and synchronizes the second data in which one digit takes the first value sequentially with the cumulative value. And the first data is updated using the second data when the input cumulative value is less than the stored value.

この発明にかかるブロックマッチング回路の第2の態様は、その第1の態様であって、前記更新回路は、入力された前記累計値が前記記憶値と等しいときに、前記第2のデータと、直前に記憶されていた前記第1のデータとの間での桁毎の論理和を用いて前記第1のデータを更新する。   A second aspect of the block matching circuit according to the present invention is the first aspect, wherein the update circuit has the second data when the input cumulative value is equal to the stored value; The first data is updated by using a logical OR for each digit with the first data stored immediately before.

この発明にかかるブロックマッチング回路の第3の態様は、その第1乃至第2の態様のいずれかであって、前記ターゲット画像データにおける画素データは、前記ターゲット領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる。   A third aspect of the block matching circuit according to the present invention is any one of the first and second aspects, wherein the pixel data in the target image data is a group of pixels belonging to the same row in the target area. It is handled as cluster data that is corresponding pixel data.

この発明にかかるブロックマッチング回路の第4の態様は、その第3の態様であって、前記ターゲット領域における列毎に前記クラスタデータをスワップする、複数のセレクタを更に備える。   A fourth aspect of the block matching circuit according to the present invention is the third aspect, and further includes a plurality of selectors for swapping the cluster data for each column in the target area.

この発明にかかるブロックマッチング回路の第5の態様は、その第1乃至第4の態様のいずれかであって、前記走査画像データにおける画素データは、前記走査領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる。   A fifth aspect of the block matching circuit according to the present invention is any one of the first to fourth aspects, wherein the pixel data in the scanned image data is a group of pixels belonging to the same row in the scanned region. It is handled as cluster data that is corresponding pixel data.

この発明にかかるブロックマッチング回路の第6の態様は、その第5の態様であって、前記走査領域における列毎に前記クラスタデータをスワップする、複数のセレクタを更に備える。   A sixth aspect of the block matching circuit according to the present invention is the fifth aspect, and further includes a plurality of selectors for swapping the cluster data for each column in the scanning region.

この発明にかかるブロックマッチング回路の第7の態様は、その第1乃至第6の態様であって、フラグを格納するレジスタを更に備える。前記走査領域内において第1行から第J行へと向かう行方向に走査し、かつ前記行方向に対して優先的に、第1列から第K列へと向かう列方向に走査して複数の前記比較領域が得られる。前記列方向の走査が行われているときに前記フラグがセットされ、当該走査が前記第K列に至ったときに前記フラグがリセットされる。前記フラグがセットされているときには前記走査画像データの更新が拒否される。   A seventh aspect of the block matching circuit according to the present invention is the first to sixth aspects, further comprising a register for storing a flag. Within the scanning region, scanning is performed in a row direction from the first row to the Jth row, and scanning in a column direction from the first column to the Kth column is performed with priority to the row direction. The comparison region is obtained. The flag is set when scanning in the column direction is performed, and the flag is reset when the scanning reaches the Kth column. When the flag is set, the update of the scanned image data is rejected.

この発明にかかるデータ更新方法は、そのブロックマッチング回路の第1乃至第6の態様のいずれかにかかるブロックマッチング回路において、前記走査領域内において行方向に走査し、かつ前記行方向に対して優先的に列方向に走査して複数の前記比較領域が得られ、前記走査領域の第(s+1)行第K列に位置する画素に対応する前記走査画像データ(sは0乃至(J−M)の整数)が前記比較画像データの画素データとして、前記ターゲット領域の第1行第N列の画素に対応する前記ターゲット画像データとの間で前記画素差値が求められた後に、前記走査領域の第(s+1)行かつ第1列乃至第K列に位置する画素に対応する前記走査画像データを更新する。   According to the data update method of the present invention, in the block matching circuit according to any one of the first to sixth aspects of the block matching circuit, scanning is performed in the row direction within the scanning region, and priority is given to the row direction. The plurality of comparison areas are obtained by scanning in the column direction, and the scanned image data (s is 0 to (J−M)) corresponding to the pixel located in the (s + 1) th row and the Kth column of the scanning area. Is obtained as the pixel data of the comparison image data, and the pixel difference value between the target image data corresponding to the pixels in the first row and the Nth column of the target region is calculated. The scanned image data corresponding to the pixels located in the (s + 1) th row and in the first to Kth columns is updated.

この発明にかかるブロックマッチング回路の第1〜第2の態様によれば、走査画像データとしてJ・K個と、ターゲット画像データとしてM・N個の画素データを記憶すれば足りる。よって、複数の比較領域の全てについての比較画像データとして(J−M+1)・(K−N+1)・M・N個と、ターゲット画像データとしてM・N個の画素データを記憶する場合よりも、記憶すべき画素データの個数が低減される。またターゲット画像データとして1個と、複数の比較領域の全てについてターゲット画像データに対応した(J−M+1)・(K−N+1)個の画素データを記憶する場合と比較して、画素データの取り込みの回数が1/(M・N)に低減され、処理速度が速い。そして累計値の最小値を与える比較領域の位置が、第1のデータによって示される。   According to the first and second aspects of the block matching circuit according to the present invention, it is sufficient to store J · K pixel data as the scanned image data and M · N pixel data as the target image data. Accordingly, (J−M + 1) · (K−N + 1) · M · N pieces of comparison image data for all of the plurality of comparison regions and M · N pieces of pixel data as target image data are stored. The number of pixel data to be stored is reduced. Compared with the case of storing one piece of target image data and (J−M + 1) · (K−N + 1) pieces of pixel data corresponding to the target image data for all of the plurality of comparison regions, the pixel data is captured. Is reduced to 1 / (M · N), and the processing speed is high. The position of the comparison area that gives the minimum cumulative value is indicated by the first data.

この発明にかかるブロックマッチング回路の第3の態様によれば、第2記憶領域のデータ更新が高速化する。   According to the third aspect of the block matching circuit of the present invention, data update in the second storage area is accelerated.

この発明にかかるブロックマッチング回路の第4の態様によれば、ターゲット画像データがリトルエンディアンを採用するかビッグエンディアンを採用するかによらずに、クラスタデータを扱うことが容易となる。   According to the fourth aspect of the block matching circuit of the present invention, it becomes easy to handle cluster data regardless of whether the target image data adopts little endian or big endian.

この発明にかかるブロックマッチング回路の第5の態様によれば、第1記憶領域のデータ更新が高速化する。   According to the fifth aspect of the block matching circuit of the present invention, data update in the first storage area is accelerated.

この発明にかかるブロックマッチング回路の第6の態様によれば、走査画像データがリトルエンディアンを採用するかビッグエンディアンを採用するかによらずに、クラスタデータを扱うことが容易となる。   According to the sixth aspect of the block matching circuit of the present invention, it becomes easy to handle cluster data regardless of whether scanned image data employs little endian or big endian.

この発明にかかるブロックマッチング回路の第7の態様によれば、走査画像データの更新がブロックマッチングの妨げにならない。   According to the seventh aspect of the block matching circuit of the present invention, the update of the scanned image data does not hinder block matching.

この発明にかかるデータ更新方法によれば、ブロックマッチングを妨げずに走査画像データが更新される。   According to the data update method of the present invention, the scanned image data is updated without disturbing block matching.

この発明にかかる実施の形態において採用される走査領域CAが有するJ行K列に配置された画素を模式的に示す図である。It is a figure which shows typically the pixel arrange | positioned at J row K column which scanning area CA employ | adopted in embodiment concerning this invention has. この発明にかかる実施の形態において採用されるターゲット領域TAが有するM行N列に配置された画素を模式的に示す図である。It is a figure which shows typically the pixel arrange | positioned at M row N column which the target area | region TA employ | adopted in embodiment concerning this invention has. この発明にかかる実施の形態において、走査領域CAと比較領域CMとの関係を模式的に示す図である。In an embodiment concerning this invention, it is a figure showing typically relation between scanning field CA and comparison field CM. 選択回路Smnと演算回路Qmnとを示すブロック図である。It is a block diagram which shows the selection circuit Smn and the arithmetic circuit Qmn. 画素差値Δmnstを比較領域毎に、比較領域CMの全体に渡って累積する構成を示すブロック図である。FIG. 6 is a block diagram showing a configuration in which pixel difference values Δmnst are accumulated over the entire comparison area CM for each comparison area. 本実施の形態にかかるブロックマッチングが実行される構成の概略を示すブロック図である。It is a block diagram which shows the outline of the structure by which the block matching concerning this Embodiment is performed. マッチング判定を行うフローチャートである。It is a flowchart which performs matching determination. 演算回路Qmnの他の構成を例示するブロック図である。It is a block diagram which illustrates other composition of operation circuit Qmn. コアリング回路19の第1の特性を示すグラフである。3 is a graph showing a first characteristic of a coring circuit 19; コアリング回路19の第2の特性を示すグラフである。6 is a graph showing a second characteristic of the coring circuit 19; 演算回路Qmnの他の構成を例示するブロック図である。It is a block diagram which illustrates other composition of operation circuit Qmn. 演算回路Qmnの他の構成を例示するブロック図である。It is a block diagram which illustrates other composition of operation circuit Qmn. ターゲット画像データGmnの平均値を求める構成を示すブロック図である。It is a block diagram which shows the structure which calculates | requires the average value of target image data Gmn. 走査画像データC(m+s)(n+t)の平均値を求める構成を示すブロック図である。It is a block diagram which shows the structure which calculates | requires the average value of scanning image data C (m + s) (n + t). マッチング判定回路MCの構成を例示する回路図である。It is a circuit diagram which illustrates the composition of matching judgment circuit MC. 信号RST,CAL、データLOC、累計値Dst、及び動作クロックCLKを示すタイミングチャートである。4 is a timing chart showing signals RST, CAL, data LOC, a cumulative value Dst, and an operation clock CLK. 位置情報PSFの例を示す図である。It is a figure which shows the example of position information PSF. 第2記憶領域RTAの構成を例示するブロック図である。It is a block diagram which illustrates the composition of the 2nd storage area RTA.

図1はこの発明にかかる実施の形態において採用される走査領域CAが有するJ行K列に配置された画素を模式的に示す図である。走査領域CAはブロックマッチングの比較対象となる画像領域である。   FIG. 1 is a diagram schematically showing pixels arranged in J rows and K columns included in a scanning area CA employed in the embodiment according to the present invention. The scanning area CA is an image area to be compared for block matching.

走査領域CAの各画素には、それぞれに対応する画素データである走査画像データの記号が付記されている。例えば第j行第k列に位置する画素(jは1乃至Jの整数、kは1乃至Kの整数)には、走査画像データCjkが対応する。   Each pixel in the scanning area CA is marked with a symbol of scanned image data, which is pixel data corresponding to the pixel. For example, the scanned image data Cjk corresponds to a pixel (j is an integer from 1 to J, k is an integer from 1 to K) located in the j-th row and the k-th column.

ここでは指数j,kがそれぞれ採り得る最大値J,Kとして、いずれも値“8”を採用している。従って、走査領域CAには走査画像データC11〜C88が対応している。   Here, the value “8” is adopted as the maximum values J and K that can be taken by the indices j and k, respectively. Accordingly, the scanned image data C11 to C88 correspond to the scanning area CA.

図2はこの発明にかかる実施の形態において採用されるターゲット領域TAが有するM行N列に配置された画素を模式的に示す図である。ターゲット領域TAはブロックマッチングの比較基準となる画像領域である。   FIG. 2 is a diagram schematically showing pixels arranged in M rows and N columns included in the target area TA employed in the embodiment according to the present invention. The target area TA is an image area serving as a comparison reference for block matching.

ターゲット領域TAの各画素には、それぞれに対応する画素データであるターゲット画像データの記号が付記されている。例えば第m行第n列に位置する画素(mは1乃至Mの整数、nは1乃至Nの整数)には、ターゲット画像データGmnが対応する。   Each pixel in the target area TA is marked with a symbol of target image data which is pixel data corresponding to the pixel. For example, the target image data Gmn corresponds to a pixel (m is an integer from 1 to M and n is an integer from 1 to N) located in the m-th row and the n-th column.

ここでは指数m,nがそれぞれ採り得る最大値M,Nとして、いずれも値“4”を採用している。従って、ターゲット領域TAにはターゲット画像データG11〜G44が対応している。   Here, as the maximum values M and N that can be taken by the indices m and n, the value “4” is adopted. Accordingly, target image data G11 to G44 correspond to the target area TA.

図3はこの発明にかかる実施の形態において、走査領域CAと比較領域CMとの関係を模式的に示す図である。比較領域CMの各々はM行N列に配置された画素を有し、これらの画素にそれぞれ対応する画素データを比較画像データと呼ぶことにする。   FIG. 3 is a diagram schematically showing the relationship between the scanning area CA and the comparison area CM in the embodiment according to the present invention. Each of the comparison areas CM has pixels arranged in M rows and N columns, and pixel data corresponding to these pixels is referred to as comparison image data.

図1乃至3では走査画像データCjk、ターゲット画像データGmnが行列状に配置されて示されたように見える。しかしこれは便宜的な図示であって、行列状に配置された画素を図示した図面において、それぞれの画素に対応したデータを付記したものである。つまり実際に走査画像データCjk、ターゲット画像データGmnが行列状に配置されるものではない。   In FIGS. 1 to 3, the scanned image data Cjk and the target image data Gmn appear to be arranged in a matrix. However, this is for the sake of convenience, and in the drawing showing the pixels arranged in a matrix, data corresponding to each pixel is added. That is, the scanned image data Cjk and the target image data Gmn are not actually arranged in a matrix.

通常、比較領域CMは走査領域CA内を第1行から第J行へと向かう行方向に走査し、かつ行方向に対して優先的に第1列から第K列へと向かう列方向に走査して得られ、その走査は画素一つ分毎に行われる。もちろん、複数の画素毎にいわゆる「間引き」を行って、当該走査を行うこともできるが、走査領域CA当たりの比較領域CMの数が多くなって処理量が多くなるのは、走査を画素一つ分毎に行う場合である。よって本実施の形態でもそのような場合を想定し、かかる厳しい状況においても本発明のメリットがあることを説明する。   Normally, the comparison area CM scans the scanning area CA in the row direction from the first row to the Jth row, and scans in the column direction from the first column to the Kth column preferentially in the row direction. The scanning is performed for each pixel. Of course, it is possible to perform so-called “thinning” for each of a plurality of pixels, but the number of comparison areas CM per scanning area CA increases and the processing amount increases. This is the case of every minute. Therefore, the present embodiment assumes such a case, and explains that there is a merit of the present invention even in such a severe situation.

比較領域CMの位置は、比較領域CMの内で最も行番号が小さくかつ最も列番号が小さい位置における画素(以下「比較領域内先頭画素」とも称す)と、走査領域CAの第1行第1列における画素(以下「走査領域内先頭画素」とも称す)との位置関係によって設定することができる。   The position of the comparison area CM is the pixel at the position where the row number is the smallest and the column number is the smallest in the comparison area CM (hereinafter also referred to as “first pixel in the comparison area”), the first row, the first in the scanning area CA It can be set according to the positional relationship with the pixel in the column (hereinafter also referred to as “first pixel in the scanning region”).

ここで比較領域CMの位置は、比較領域内先頭画素が走査領域内先頭画素に対してのずれが、行方向において行数s、列方向において列数tである場合、位置(s,t)として表すことができる。但しsは0乃至(J−M)の整数であり、tは0乃至(K−N)の整数である。s=t=0の場合は比較領域内先頭画素が走査領域内先頭画素に対してずれていない場合を示す。   Here, the position of the comparison area CM is the position (s, t) when the deviation of the first pixel in the comparison area from the first pixel in the scanning area is the number of rows s in the row direction and the number of columns t in the column direction. Can be expressed as However, s is an integer of 0 to (J−M), and t is an integer of 0 to (K−N). When s = t = 0, the first pixel in the comparison area is not shifted from the first pixel in the scanning area.

位置(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が対応する。   In the comparison area CM at the position (s, t), the target image data Gmn and the comparison image data C (m + s) (n + t) correspond. Taking the case shown in FIG. 3 as an example, the comparison area CM is at position (2, 3). Therefore, the comparison image data C34 corresponds to the first pixel in the comparison area that corresponds to the target image data G11. Considering that M + s = 6 and N + t = 7, the comparison area CM in the position (2, 3) has a matrix-like comparison image data C34 to C37, in which the comparison image data C34 and C67 form a diagonal line. C44 to C47, C54 to C57, and C64 to C67 correspond.

本実施の形態では、全ての比較領域CMについて比較画像データを蓄積しておくことは行わない。そのかわり、走査領域CAが有するJ行K列の画素に対応したJ・K個の走査画像データCjkを蓄積し、走査によって位置(s,t)が、従って比較領域CMが更新される毎に、走査画像データCjkからM・N個の比較画像データC(m+s)(n+t)を選択するのである。   In the present embodiment, comparison image data is not accumulated for all comparison areas CM. Instead, J · K pieces of scanned image data Cjk corresponding to J rows and K columns of pixels in the scanning area CA are accumulated, and every time the position (s, t) and thus the comparison area CM are updated by scanning. Then, MN comparison image data C (m + s) (n + t) are selected from the scanned image data Cjk.

図4は、選択回路Smnと演算回路Qmnとを示すブロック図であり、これらはいずれもターゲット領域TAにおいて第m行第n列に配置された画素に対応する。従って実際の回路としては、行番号mについて1乃至Mまで、列番号nについて1乃至Nまで、選択回路Smnと演算回路Qmnが設けられることになり、それぞれM・N個設けられる。   FIG. 4 is a block diagram showing the selection circuit Smn and the arithmetic circuit Qmn, both of which correspond to the pixels arranged in the mth row and the nth column in the target area TA. Therefore, as an actual circuit, the selection circuit Smn and the arithmetic circuit Qmn are provided from 1 to M for the row number m and from 1 to N for the column number n, and M · N are provided respectively.

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の走査領域CAに対する位置に応じて、ターゲット画像データGmnと共に演算されるべき比較画像データC(m+s)(n+t)が出力される。例えば走査情報PSVは(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が第1の値を採るパラレルデータである。 The j m is an integer of m to (m + J-M), a k n is an integer of n to (n + K-N), selected (J-M + 1) · (K-N + 1) pieces of scanned image data Cj m k n Input to the circuit Smn. The comparison of the scanned image data Cj m k n image data C (m + s) (n + t) is selected and output. The selection by the selection circuit Smn is controlled by scanning information PSV that designates the number of rows s and the number of columns t indicating the position of the comparison region CM. That is, the comparison image data C (m + s) (n + t) to be calculated together with the target image data Gmn is output according to the position of the comparison area CM with respect to the scanning area CA. For example, the scanning information PSV is parallel data in which two values are taken in each of (J−M + 1) · (K−N + 1) digits, and one digit is exclusively taken in the first value.

演算回路Qmnにはターゲット画像データGmnが入力する。演算回路Qmnでは、乗算器(或いは反転器)11がターゲット画像データGmnに値“−1”を乗算する(あるいは正負を反転する)。そして乗算器11の出力と比較画像データC(m+s)(n+t)とが加算器12において加算される。そして絶対値回路13によって加算器12が出力する加算結果の絶対値が求められる。この絶対値を、ターゲット領域TAと比較領域CAとで相互に対応する画素同士の相違を示す値たる画素差値Δmnstとして採用することができる。   The target image data Gmn is input to the arithmetic circuit Qmn. In the arithmetic circuit Qmn, the multiplier (or inverter) 11 multiplies the target image data Gmn by the value “−1” (or inverts the sign). The adder 12 adds the output of the multiplier 11 and the comparison image data C (m + s) (n + t). The absolute value circuit 13 obtains the absolute value of the addition result output from the adder 12. This absolute value can be adopted as a pixel difference value Δmnst that is a value indicating a difference between mutually corresponding pixels in the target area TA and the comparison area CA.

このように絶対値回路13が機能するので、乗算器11及び加算器12は、比較画像データC(m+s)(n+t)とターゲット画像データGmnとの差を求める、減算回路として把握することができる。   Since the absolute value circuit 13 functions in this way, the multiplier 11 and the adder 12 are grasped as a subtraction circuit for obtaining a difference between the comparison image data C (m + s) (n + t) and the target image data Gmn. can do.

今、具体例の一つとして、ターゲット領域TAにおいて第3行第4列に配置された画素(これにはターゲット画素データG34が対応する)に対応する、選択回路S34及び演算回路Q34について考える。   As a specific example, consider a selection circuit S34 and an arithmetic circuit Q34 corresponding to pixels arranged in the third row and the fourth column in the target area TA (the target pixel data G34 corresponds to this).

選択回路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が対応することと合致している。   25 (= 5 × 5) pieces of scanned image data C34 to C38, C44 to C48, C54 to C58, C64 to C68, and C74 to C78 are input to the selection circuit S34. When the comparison area CM is at the position (2, 3) (corresponding to the comparison area CM shown in FIG. 3), m + s = 3 + 2 = 5 and n + t = 4 + 3 = 7, and the scanning image data C57 is output from the selection circuit S34. Are output as comparison image data. This coincides with the fact that the scanned image data C57 corresponds to the pixels arranged in the third row and the fourth column in the comparison area CM shown in FIG.

演算回路Q34にはターゲット画素データG34が入力する。比較領域CMが位置(2,3)にあるとき、走査画像データC34〜C38,C44〜C48,C54〜C58,C64〜C68,C74〜C78から選択された比較画像データC57が演算回路Q34に入力する。そして演算回路Q34は画素差値Δ3423が出力される。   The target pixel data G34 is input to the arithmetic circuit Q34. When the comparison area CM is at the position (2, 3), the comparison image data C57 selected from the scanned image data C34 to C38, C44 to C48, C54 to C58, C64 to C68, and C74 to C78 is input to the arithmetic circuit Q34. To do. The arithmetic circuit Q34 outputs a pixel difference value Δ3423.

図5は画素差値Δmnstを比較領域毎に、比較領域CMの全体に渡って累積する構成を示すブロック図である。累計回路SUMはある位置(s,t)にある比較領域CMの全体に渡って求められたM・N個の画素差値Δmnstが入力され、これらを累加して累計値Dstを出力する。当該累加は単なる加算であってもよいし、行番号m、列番号nに依存した重み付けを伴って加算してもよい。   FIG. 5 is a block diagram showing a configuration in which the pixel difference value Δmnst is accumulated over the entire comparison area CM for each comparison area. The accumulation circuit SUM receives M · N pixel difference values Δmnst obtained over the entire comparison area CM at a certain position (s, t), and accumulates these to output a cumulative value Dst. The accumulation may be simple addition or may be added with weighting depending on the row number m and the column number n.

累計値Dstは、走査情報PSVに基づいて、位置(s,t)毎に異なるレジスタRstへと格納される。例えば比較領域CMが位置(2,3)にあるとき、累計値D23がレジスタR23へと格納される。   The accumulated value Dst is stored in a different register Rst for each position (s, t) based on the scanning information PSV. For example, when the comparison area CM is at the position (2, 3), the cumulative value D23 is stored in the register R23.

比較領域CMは走査領域CA内を走査して得られるので、累計値Dstも位置(s,t)毎にシリアルに出力される。走査情報PSVに基づいて、(J−M+1)・(K−N+1)個のレジスタR00〜R(J-M)(K-N)の内から一つのレジスタRstのみが活性化し、これに対応する累計値Dstを格納する。   Since the comparison area CM is obtained by scanning the scanning area CA, the cumulative value Dst is also serially output for each position (s, t). Based on the scanning information PSV, only one register Rst out of (J−M + 1) · (K−N + 1) registers R00 to R (JM) (KN) is activated, and a cumulative value Dst corresponding to this is obtained. Store.

図6は本実施の形態にかかるブロックマッチングが実行される構成の概略を示すブロック図である。フレーム毎に画像データPICがフレームバッファFBに入力し、中央演算処理部CPUの制御により、第1記憶領域RCAには走査画像データCjkが、第2記憶領域RTAにはターゲット画像データGmnが、それぞれ記憶される。   FIG. 6 is a block diagram showing an outline of a configuration in which block matching according to the present embodiment is executed. Image data PIC is input to the frame buffer FB for each frame, and under the control of the central processing unit CPU, scanned image data Cjk is stored in the first storage area RCA, and target image data Gmn is stored in the second storage area RTA. Remembered.

複数の比較領域CMの全てについての比較画像データとして(J−M+1)・(K−N+1)・M・N個と、ターゲット画像データとしてM・N個の画素データを記憶する場合と比較して、上述の技術では走査画像データとしてJ・K個と、ターゲット画像データとしてM・N個の画素データを記憶すれば足りる。つまり記憶すべき画素データの個数が低減される。   Compared to the case where (J−M + 1) · (K−N + 1) · M · N pieces of comparison image data for all of the plurality of comparison areas CM and M · N pieces of pixel data as target image data are stored. In the above-described technique, it is sufficient to store J · K pixel data as scanned image data and M · N pixel data as target image data. That is, the number of pixel data to be stored is reduced.

このように記憶すべき画素データの個数が低減されている場合には、第1記憶領域RCAや第2記憶領域RTAへのデータアクセスは、DMA(ダイレクトメモリアクセス)を採用せず、中央演算処理部CPUが直接にデータアクセスを行うことが処理速度の迅速の観点から望ましい。   When the number of pixel data to be stored is reduced in this way, data access to the first storage area RCA and the second storage area RTA does not employ DMA (direct memory access), and central processing It is desirable from the viewpoint of rapid processing speed that the unit CPUs directly perform data access.

ターゲット画像データとして1個と、複数の比較領域の全てについてターゲット画像データに対応した(J−M+1)・(K−N+1)個の画素データを記憶する場合と比較して、画素データの取り込みの回数が1/(M・N)に低減され、処理速度が短縮される。   Compared with the case of storing one piece of target image data and (J−M + 1) · (K−N + 1) pieces of pixel data corresponding to the target image data for all of the plurality of comparison regions, the pixel data is captured. The number of times is reduced to 1 / (M · N), and the processing speed is shortened.

ハードウェアで構成されるマッチング回路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)が出力される。   The matching circuit HW configured by hardware is provided with the M · N selectors Smn and the arithmetic circuit Qmn described above, which are collectively illustrated as a selector group SY and an arithmetic circuit group QY, respectively. Scanned image data Cjmkn is input from the first storage area RCA, and target image data Gmn is input from the second storage area RTA for all m and n, respectively. Scanned image data Cjmkn and target image data Gmn are input to selector group SY and arithmetic circuit group QY, respectively. The central processing unit CPU generates scanning information PSV and inputs it to the selector group SY. The position (s, t) is designated by the scanning information PSV, and M · N comparison image data C (m + s) (n + t) are output from the selector group SY to the arithmetic circuit group QY.

上述した累計回路SUMもマッチング回路HWに設けられ、走査情報PSVによって指定された位置(s,t)毎に、累計値DstをレジスタRstに振り分けて格納する。(J−M+1)・(K−N+1)個のレジスタRstは、図6においてレジスタ群RYとして纏めて描かれている。但し図示を簡単にするため、図6での表記にはH=J−M、V=K−Nを導入した。   The above-described cumulative circuit SUM is also provided in the matching circuit HW, and the cumulative value Dst is distributed and stored in the register Rst for each position (s, t) designated by the scanning information PSV. The (J−M + 1) · (K−N + 1) registers Rst are collectively drawn as a register group RY in FIG. However, in order to simplify the illustration, H = J-M and V = K-N are introduced in the notation in FIG.

マッチング回路HWには、更にマッチング判定部MCが設けられている。マッチング判定部MCにはレジスタ群RYから(J−M+1)・(K−N+1)個の累計値Dstが入力し、それらの最小値を得る位置(s,t)を示す位置情報PSFを中央演算処理部CPUへと出力する。そして位置情報PSFが示す位置(s,t)にある比較領域CMが、ターゲット領域TAと最も類似すると判断される。   The matching circuit HW is further provided with a matching determination unit MC. The matching judgment unit MC receives (J−M + 1) · (K−N + 1) accumulated values Dst from the register group RY, and performs central processing on position information PSF indicating the position (s, t) from which the minimum value is obtained. Output to the processing unit CPU. Then, it is determined that the comparison area CM at the position (s, t) indicated by the position information PSF is most similar to the target area TA.

図7は位置(s,t)を更新してマッチング判定を行うフローチャートである。ステップZ1〜Z8は中央演算処理部CPUが、ステップZ9,Z10はマッチング回路HWが、それぞれ実行する。   FIG. 7 is a flowchart for performing matching determination by updating the position (s, t). Steps Z1 to Z8 are executed by the central processing unit CPU, and steps Z9 and Z10 are executed by the matching circuit HW.

走査領域CAが一つ決まった後、ステップZ1において行数s及び列数tを値“−1”に初期化する。その後、ステップZ2において行数sを増加させ、ステップZ2が実行された後にステップZ3において列数tを増加させる。上述のように、本実施の形態では「間引き」をせずに走査領域内を走査するので、行数sや列数tの増分値は“1”とする。   After one scanning area CA is determined, the number of rows s and the number of columns t are initialized to a value “−1” in step Z1. Thereafter, the number of rows s is increased in step Z2, and after step Z2 is executed, the number of columns t is increased in step Z3. As described above, in this embodiment, since the scanning area is scanned without performing “thinning”, the increment value of the number of rows s and the number of columns t is set to “1”.

ステップZ1の実行後に初めてステップZ2が実行された場合には、ステップZ2によって行数sは値“0”を採る。即ち、比較領域内先頭画素の行番号と走査領域内先頭画素の行番号とが一致する。またステップZ2の実行後に初めてステップZ3が実行された場合には、ステップZ3によって列数tは値“0”を採る。即ち、比較領域内先頭画素の列番号と走査領域内先頭画素の列番号とが一致する。   When step Z2 is executed for the first time after execution of step Z1, the number of rows s takes the value “0” in step Z2. That is, the row number of the first pixel in the comparison area matches the row number of the first pixel in the scanning area. When step Z3 is executed for the first time after execution of step Z2, the number of columns t takes the value “0” in step Z3. That is, the column number of the first pixel in the comparison area matches the column number of the first pixel in the scanning area.

ステップZ3の実行後、ステップZ4において、ステップZ2,Z3で得られた行数s、列数tを指定する走査情報PSVを設定する。   After execution of step Z3, in step Z4, scan information PSV for specifying the number of rows s and the number of columns t obtained in steps Z2 and Z3 is set.

ステップZ4の実行後、ステップZ10において、走査情報PSVが指定する位置(s,t)において累計値Dstを求め、レジスタRstに格納する。ステップZ10の動作の詳細は、セレクタSm、演算回路Qmn、累計回路SUMの動作として説明済みである。   After execution of step Z4, in step Z10, the cumulative value Dst is obtained at the position (s, t) specified by the scanning information PSV and stored in the register Rst. The details of the operation of step Z10 have been described as the operations of the selector Sm, the arithmetic circuit Qmn, and the cumulative circuit SUM.

その後、ステップZ5において、列数tが値(K−N)に達したか否かを判断する。上述のように列数tの最大値は(K−N)であるので、ステップZ5の判断が肯定的であれば、ステップZ6において列数tを値“−1”に初期化する。またステップZ5の判断が否定的であれば再びステップZ3を実行し、列数tを増加させる。このようなステップZ5,Z6,Z3の処理がステップZ2が一回実行された後に繰り返されるので、比較領域CMは、走査領域CA内において行方向に対して優先的に列方向に走査して得られるのである。   Thereafter, in step Z5, it is determined whether or not the number of columns t has reached the value (K−N). As described above, since the maximum value of the column number t is (K−N), if the determination in step Z5 is affirmative, the column number t is initialized to the value “−1” in step Z6. If the determination in step Z5 is negative, step Z3 is executed again to increase the number of columns t. Since the processes in steps Z5, Z6, and Z3 are repeated after step Z2 is executed once, the comparison area CM is obtained by scanning in the column direction with priority over the row direction in the scanning area CA. It is done.

その後、後述するステップZ7を実行して(ステップZ7は省略してもよい)、ステップZ8において行数sが値(J−M)に達したか否かを判断する。上述のように行数sの最大値は(J−M)であるので、ステップZ8の判断が否定的であれば再びステップZ2を実行し、行数sを増加させる。肯定的であれば、ステップZ9において位置情報PSFを設定し、ステップZ1を再び実行する。このようなステップZ2〜Z8の処理が、走査領域CAが一旦設定される毎に繰り返されるので、走査領域CA内において列方向に劣後的に行方向に走査して、比較領域CMが得られるのである。   Thereafter, step Z7 described later is executed (step Z7 may be omitted), and it is determined in step Z8 whether or not the number of rows s has reached a value (JM). As described above, since the maximum value of the number of rows s is (J−M), if the determination in step Z8 is negative, step Z2 is executed again to increase the number of rows s. If affirmative, position information PSF is set in step Z9, and step Z1 is executed again. Since the processes in steps Z2 to Z8 are repeated every time the scanning area CA is set, the comparison area CM is obtained by scanning in the row direction subordinately in the column direction in the scanning area CA. is there.

ステップZ7は走査画像データの更新を行う処理である。ステップZ6が実行されたときには、走査領域CAの第(s+1)行第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を更新しても、ブロックマッチングの妨げにはならない。   Step Z7 is a process for updating the scanned image data. When step Z6 is executed, K pieces of scanned image data C (s + 1) 1 in the (s + 1) th row corresponding to the pixels located in the (s + 1) th row in the first to Kth columns of the scanning area CA. C (S + 1) K is provided for the comparison region CM, and pixel difference values Δmn (s + 1) 1 to Δmn (s + 1) K for these are obtained. Therefore, even if the scanned image data C (s + 1) 1 to C (S + 1) K are updated in step Z7, block matching is not hindered.

逆にステップZ3〜Z5の間で走査画像データCjkを更新することはブロックマッチングを妨げてしまう。よって上述のようにステップZ7はステップZ5の後に設けることが望ましい。   Conversely, updating the scanned image data Cjk between steps Z3 to Z5 prevents block matching. Therefore, as described above, step Z7 is desirably provided after step Z5.

走査画像データCjkの更新は、より具体的には、データ更新の拒否を示すフラグFLGを用いる。比較領域CMを求めるには走査領域CA内を行方向に走査するので、走査領域CAに対する比較領域CMの行方向のずれを示す行数sが更新される度に、フラグFLGをセットする(データ更新が拒否される)。そしてステップZ5において列数tがK−Nに至ったと判断された後、フラグFLGがリセットされる(データ更新の拒否が解除される)。   More specifically, the scan image data Cjk is updated using a flag FLG indicating that data update is rejected. Since the scanning area CA is scanned in the row direction in order to obtain the comparison area CM, the flag FLG is set each time the number of lines s indicating the shift in the row direction of the comparison area CM with respect to the scanning area CA is updated (data Update is rejected). Then, after it is determined in step Z5 that the number of columns t has reached K−N, the flag FLG is reset (data update rejection is cancelled).

図6においてフラグFLGが格納されるレジスタRFが示されている。フラグFLGのセット/リセットは中央演算部CPUによって行われ、またその値が中央演算部CPUによって参照される。   FIG. 6 shows a register RF in which a flag FLG is stored. The flag FLG is set / reset by the central processing unit CPU, and the value is referred to by the central processing unit CPU.

図8は演算回路Qmnの他の構成を例示するブロック図である。図4に示された構成に対し、絶対値回路13の後段にコアリング回路19を追加した構成を有している。コアリング回路19には正のしきい値CRTHと、絶対値回路13の出力が与えられる。しきい値CRTHはコアリング回路19に記憶されていてもよい。   FIG. 8 is a block diagram illustrating another configuration of the arithmetic circuit Qmn. In contrast to the configuration shown in FIG. 4, a coring circuit 19 is added after the absolute value circuit 13. The coring circuit 19 is given a positive threshold value CRTH and the output of the absolute value circuit 13. The threshold value CRTH may be stored in the coring circuit 19.

コアリング回路19は、絶対値回路13の出力がしきい値CRTH以下の場合には零を、絶対値回路13の出力がしきい値CRTHよりも大きい場合には絶対値回路13の出力から非負の値を差し引いた値を、それぞれ画素差値Δmnstとして出力する。   The coring circuit 19 is zero when the output of the absolute value circuit 13 is less than or equal to the threshold value CRTH, and non-negative from the output of the absolute value circuit 13 when the output of the absolute value circuit 13 is greater than the threshold value CRTH. A value obtained by subtracting the value of is output as a pixel difference value Δmnst.

このように絶対値回路13の出力に対してしきい値CRTHでコアリングした値を画素差値Δmnstとして採用することは、ノイズに強い類似性判断ができるという利点をもたらす。   In this way, adopting the value obtained by coring the output of the absolute value circuit 13 with the threshold value CRTH as the pixel difference value Δmnst brings about an advantage that similarity determination strong against noise can be made.

図9及び図10はそれぞれコアリング回路19の第1及び第2の特性を示すグラフであり、いずれも絶対値回路13の出力ABSの値を横軸に採用し、画素差値Δmnstの値を縦軸に採用している。   FIGS. 9 and 10 are graphs showing the first and second characteristics of the coring circuit 19, respectively. In each case, the value of the output ABS of the absolute value circuit 13 is adopted on the horizontal axis, and the value of the pixel difference value Δmnst is calculated. The vertical axis is adopted.

図9に示された特性に従えば、出力ABSがしきい値CRTHよりも大きい場合には出力ABSから零を差し引いた値を、即ち出力ABSそのままを画素差値Δmnstとして出力する。図10に示された特性に従えば、出力ABSがしきい値CRTHよりも大きい場合には出力ABSからしきい値CRTHを差し引いた値を画素差値Δmnstとして出力する。   According to the characteristics shown in FIG. 9, when the output ABS is larger than the threshold value CRTH, a value obtained by subtracting zero from the output ABS, that is, the output ABS as it is is output as the pixel difference value Δmnst. According to the characteristics shown in FIG. 10, when the output ABS is larger than the threshold value CRTH, a value obtained by subtracting the threshold value CRTH from the output ABS is output as the pixel difference value Δmnst.

コアリング回路19の特性をどのように選定するかは、ブロックマッチングを採用するより上位の処理、例えば動きベクトルの検出をどのように行うかに依存して決定する。   How to select the characteristics of the coring circuit 19 is determined depending on how to perform higher-order processing that employs block matching, for example, motion vector detection.

図11は演算回路Qmnの他の構成を例示するブロック図である。図4に示された構成に対し、乗算器11の前段にターゲット画像データGmnの値からオフセットOFD0を差し引く減算回路を設けた構成を有している。当該減算回路はオフセットOFD0に値“−1”を乗算する(あるいは正負を反転する)乗算器(或いは反転器)14と、乗算器14の出力をターゲット画像データGmnに加算する加算器10とを含む。   FIG. 11 is a block diagram illustrating another configuration of the arithmetic circuit Qmn. 4 has a configuration in which a subtracting circuit for subtracting the offset OFD0 from the value of the target image data Gmn is provided in the preceding stage of the multiplier 11. The subtracting circuit includes a multiplier (or an inverter) 14 that multiplies the offset OFD0 by a value “−1” (or inverts the sign), and an adder 10 that adds the output of the multiplier 14 to the target image data Gmn. Including.

図11に例示された構成では、更に、オフセットOFD0を採用するか否かを選択可能とするセレクタ15も演算回路Qmnが有している。セレクタ15には乗算器14の出力と値“0”とが入力され、オフセットの採否を設定する信号OFDによっていずれを加算器10に出力するかが制御される。   In the configuration illustrated in FIG. 11, the arithmetic circuit Qmn further includes a selector 15 that can select whether or not to employ the offset OFD0. The output of the multiplier 14 and the value “0” are input to the selector 15, and which is output to the adder 10 is controlled by a signal OFD that sets whether or not to adopt an offset.

このような減算回路を設けることにより、ターゲット領域に対してオフセットを施してから比較領域との類似性を判断することができる。またセレクタ15を設けることにより、オフセットの採否を選択することができる。オフセットOFD0としてターゲット画像データGmnの値によらない一定値を採用すれば、ターゲット領域についていわゆるDCオフセットを採用することができる。   By providing such a subtraction circuit, it is possible to determine the similarity with the comparison area after offsetting the target area. Further, by providing the selector 15, it is possible to select whether or not the offset is adopted. If a constant value that does not depend on the value of the target image data Gmn is employed as the offset OFD0, a so-called DC offset can be employed for the target region.

図12は演算回路Qmnの他の構成を例示するブロック図である。図11に示された構成に対し、加算器12の前段に比較画像データC(m+s)(n+t)の値からオフセットOFS2を差し引く減算回路を追加した構成を有している。当該減算回路はオフセットOFS2に値“−1”を乗算する(あるいは正負を反転する)乗算器(或いは反転器)17と、乗算器17の出力を比較画像データC(m+s)(n+t)に加算する加算器16とを含む。   FIG. 12 is a block diagram illustrating another configuration of the arithmetic circuit Qmn. 11 has a configuration in which a subtracting circuit for subtracting the offset OFS2 from the value of the comparison image data C (m + s) (n + t) is added to the preceding stage of the adder 12. The subtracting circuit multiplies the offset OFS2 by the value “−1” (or inverts the sign), and outputs the comparison image data C (m + s) (n +) from the output of the multiplier 17. and adder 16 for addition to t).

図12に例示された構成では、更に、オフセットOFS2を採用するか否かを選択可能とするセレクタ18も演算回路Qmnが有している。セレクタ18には乗算器17の出力と値“0”とが入力され、オフセットの採否を設定する信号OFAによっていずれを加算器16に出力するかが制御される。   In the configuration illustrated in FIG. 12, the arithmetic circuit Qmn further includes a selector 18 that can select whether or not the offset OFS2 is adopted. The output of the multiplier 17 and the value “0” are input to the selector 18, and which is output to the adder 16 is controlled by a signal OFA that sets whether or not to adopt an offset.

このような減算回路を設けることにより、比較領域に対してオフセットを施してからターゲット領域との類似性を判断することができる。またセレクタ18を設けることにより、オフセットの採否を選択することができる。オフセットOFS2として比較画像データC(m+s)(n+t)の値によらない一定値を採用すれば、比較領域についてDCオフセットを採用することができる。   By providing such a subtraction circuit, it is possible to determine the similarity to the target area after offsetting the comparison area. Further, by providing the selector 18, it is possible to select whether or not the offset is adopted. If a constant value that does not depend on the value of the comparison image data C (m + s) (n + t) is adopted as the offset OFS2, a DC offset can be adopted for the comparison region.

なお、図12ではターゲット領域についてはオフセットOFS1を採用し、セレクタ15もセレクタ18と共に信号OFAによってその機能が制御されている場合が例示されている。但し、図12の構成においてターゲット領域のオフセットに関しては、図11に示された構成を採用してもよい。この場合には信号OFD,OFAによって、ターゲット領域のオフセットの採否と、比較領域のオフセットの採否とを、独立して選択することができる。   FIG. 12 illustrates an example in which the offset OFS1 is adopted for the target area, and the function of the selector 15 is controlled by the signal OFA together with the selector 18. However, the configuration shown in FIG. 11 may be adopted for the offset of the target region in the configuration of FIG. In this case, whether or not the offset of the target area is adopted and whether or not the offset of the comparison area is adopted can be independently selected by the signals OFD and OFA.

図12に示された構成において、オフセットOFS1,OFS2として、それぞれターゲット画像データGmnの平均値、比較画像データC(m+s)(n+t)の平均値を採用してもよい。この場合、それぞれターゲット領域、比較領域についていわゆるACオフセットを採用することができる。   In the configuration shown in FIG. 12, the average value of the target image data Gmn and the average value of the comparison image data C (m + s) (n + t) may be employed as the offsets OFS1 and OFS2, respectively. In this case, a so-called AC offset can be adopted for each of the target area and the comparison area.

また、セレクタ15,18に入力する値“0”の代わりに、それぞれ他の固定値を採用してもよい。この場合には、信号OFAによって、DCオフセットとACオフセットを切り換えて採用されることとなる。   Further, instead of the value “0” input to the selectors 15 and 18, other fixed values may be employed. In this case, the DC offset and the AC offset are switched and adopted by the signal OFA.

図13及び図14は、それぞれターゲット画像データGmnの平均値、比較画像データC(m+s)(n+t)の平均値を求める構成を示すブロック図である。図13、図14で図示された構成は演算回路Qmnに含まれてもよいし、演算回路Qmnの外部に設けられてもよい。   FIGS. 13 and 14 are block diagrams showing a configuration for obtaining the average value of the target image data Gmn and the average value of the comparison image data C (m + s) (n + t), respectively. The configurations illustrated in FIGS. 13 and 14 may be included in the arithmetic circuit Qmn or may be provided outside the arithmetic circuit Qmn.

図13では、累計回路21がM・N個のターゲット画像データGmnの総和を出力し、除算回路22が当該総和をM・Nで除している構成が例示されている。これによりM・N個のターゲット画像データGmnの平均値がオフセットOFS1として求められる。   FIG. 13 illustrates a configuration in which the accumulation circuit 21 outputs the sum of M · N target image data Gmn, and the division circuit 22 divides the sum by M · N. As a result, an average value of the M · N target image data Gmn is obtained as the offset 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として求められる。   In FIG. 14, the summation circuit 31 outputs the sum of M · N comparison image data C (m + s) (n + t) for a certain number of rows s and number of columns t, and the division circuit 32 outputs the sum. A configuration divided by M · N is illustrated. Accordingly, M × N comparison image data C (m +) corresponding to the pixels in the (J−s + 1) th to (J−s + M) th rows and the (K−t + 1) th to (K−t + N) th columns. s) The average value of (n + t) is obtained as the offset OFS2.

図15はマッチング判定回路MC(図6参照)の構成を例示する回路図である。マッチング判定回路MCは信号CAL,RST、データLOCの他、累計値Dstを順次に入力する。信号CALはマッチング判定を許可する。信号RSTはマッチング判定のための初期値を設定する。信号RSTが一旦活性化してから信号CALの活性化が開始し、あるターゲット領域についての全ての累計値Dstが入力する間は信号CALが活性化しつづける。   FIG. 15 is a circuit diagram illustrating the configuration of the matching determination circuit MC (see FIG. 6). The matching determination circuit MC sequentially receives the accumulated value Dst in addition to the signals CAL and RST and the data LOC. Signal CAL permits matching determination. The signal RST sets an initial value for matching determination. Once the signal RST is activated, the activation of the signal CAL starts, and the signal CAL continues to be activated while all the accumulated values Dst for a certain target region are input.

データLOCは(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が順次に第1の値を採るデータである。データLOCを、例えば走査情報PSVを加工して得ることは容易である。以下、図示の簡単のため、(J−M+1)・(K−N+1)を値Wで表記する。   The data LOC is data in which each of (J−M + 1) · (K−N + 1) digits takes binary values, and one digit takes the first value sequentially. It is easy to obtain the data LOC by processing the scanning information PSV, for example. Hereinafter, for simplicity of illustration, (J−M + 1) · (K−N + 1) is represented by a value 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に入力する。   FIG. 16 is a timing chart showing signals RST, CAL, data LOC, cumulative value Dst, and operation clock CLK. In synchronization with the operation clock CLK, the signal RST is activated for one cycle of the operation clock CLK. After the activation of the signal RST is completed, the signal CAL is activated for the W period of the operation clock CLK in synchronization with the operation clock CLK. The data LOC [W: 1] is exclusively activated from the first digit to the Wth digit sequentially in a period in which the signal CAL is activated in synchronization with the operation clock CLK. The accumulated value Dst is represented as D1, D2, D3,..., DW, and these change sequentially in synchronization with the operation clock CLK. For example, the cumulative value Dst is sequentially read from the register group RY, and the cumulative value Dst is input to the matching determination unit MC.

マッチング判定回路MCは、値MINVALを記憶し、入力された累計値Dstが記憶値未満であったときに入力された累計値Dstを用いて記憶値MINVALを更新する最小値記憶回路を有している。具体的な最小値記憶回路として、下記の構成が例示されている。   The matching determination circuit MC has a minimum value storage circuit that stores the value MINVAL and updates the stored value MINVAL using the input cumulative value Dst when the input cumulative value Dst is less than the stored value. Yes. The following configuration is exemplified as a specific minimum value storage circuit.

DフリップフロップD1には値MINVALが記憶される。DフリップフロップD1は、信号CALが活性化している期間において動作クロックCLKに同期して、そのQ出力として値MINVALを出力する。   The value MINVAL is stored in the D flip-flop D1. The D flip-flop D1 outputs the value MINVAL as its Q output in synchronization with the operation clock CLK during the period in which the signal CAL is activated.

値MINVALと、順次に入力された累計値Dstとが、比較器CMP及びセレクタL1に入力する。   The value MINVAL and the cumulative value Dst input sequentially are input to the comparator CMP and the selector L1.

比較器CMPにおいて、値MINVALと累計値Dstが比較される。比較器CMPは、累計値Dstが値MINVALよりも小さいときに活性化する第1出力(図15では第1出力を出力する出力端に“A>B”と付記している)と、累計値Dstが値MINVALと等しいときに活性化する第2出力(図15では第2出力を出力する出力端に“A=B”と付記している)とを出力する。   In the comparator CMP, the value MINVAL and the accumulated value Dst are compared. The comparator CMP is activated when the accumulated value Dst is smaller than the value MINVAL (in FIG. 15, “A> B” is added to the output terminal for outputting the first output) and the accumulated value. A second output that is activated when Dst is equal to the value MINVAL (in FIG. 15, “A = B” is added to the output terminal that outputs the second output) is output.

セレクタL1は、第1出力が活性化していれば累計値DstをDフリップフロップD1の入力端に与え、そうでなければ値MINVALをDフリップフロップD1の入力端に与える。   The selector L1 gives the cumulative value Dst to the input terminal of the D flip-flop D1 if the first output is activated, and otherwise gives the value MINVAL to the input terminal of the D flip-flop D1.

以上の処理により、値MINVALは、より小さな累計値Dstによって更新される。よって、あるターゲット領域についての全ての累計値Dstが(すなわちW個の累計値Dstが)入力されれば、その中の最小値が値MINVALとしてDフリップフロップD1のQ出力から得られることになる。かかる動作を得るためには、信号RSTの活性化によって累計値Dstとして想定される以上の数値を値MINVALの初期値としてDフリップフロップD1に記憶させることが望ましい。   Through the above processing, the value MINVAL is updated with a smaller cumulative value Dst. Therefore, if all the cumulative values Dst for a certain target area (that is, W cumulative values Dst) are input, the minimum value among them is obtained as the value MINVAL from the Q output of the D flip-flop D1. . In order to obtain such an operation, it is desirable to store in the D flip-flop D1 an initial value of the value MINVAL that is greater than that assumed as the cumulative value Dst by activating the signal RST.

DフリップフロップD2にはW桁のそれぞれにおいて二値を採るデータが記憶されており、信号CALが活性化している期間において動作クロックCLKに同期して、そのQ出力として自身が記憶するデータを出力する。   The D flip-flop D2 stores binary data in each of the W digits, and outputs data stored by itself as its Q output in synchronization with the operation clock CLK during the period in which the signal CAL is activated. To do.

後述する処理により、DフリップフロップD2のQ出力として得られる当該データが、位置情報PSFとして得られる。つまりDフリップフロップD2は、値MINVALが累計値Dstについての最小値を採るときに、当該最小値を与える位置を記憶する最小値位置記憶回路として機能する。   Through the processing described later, the data obtained as the Q output of the D flip-flop D2 is obtained as the position information PSF. That is, the D flip-flop D2 functions as a minimum value position storage circuit that stores a position that gives the minimum value when the value MINVAL takes the minimum value of the cumulative value Dst.

ゲートG1は比較器CMPの第1出力と第2出力の活性化についての論理和を出力する。すなわちゲートG1の出力は、累計値Dstが値MINVAL以下のときに活性化する。   The gate G1 outputs a logical sum regarding activation of the first output and the second output of the comparator CMP. That is, the output of the gate G1 is activated when the cumulative value Dst is equal to or less than the value MINVAL.

ゲートG2は、いずれもW桁のデータであるデータLOCとDフリップフロップD2のQ出力とについて、各桁毎に活性化の論理和を出力する。よってゲートG2の出力もW桁のデータである。   The gate G2 outputs a logical OR of activation for each digit of the data LOC, which is W digit data, and the Q output of the D flip-flop D2. Therefore, the output of the gate G2 is also W-digit data.

セレクタL2は、比較器CMPの第2出力に基づいて、ゲートG2の出力とデータLOCとを選択的に出力する。具体的には当該第2出力が活性化しているとき(累計値Dstが値MINVALと等しいとき)にはゲートG2の出力を、そうでないときにはデータLOCを、それぞれ出力する。   The selector L2 selectively outputs the output of the gate G2 and the data LOC based on the second output of the comparator CMP. Specifically, the output of the gate G2 is output when the second output is activated (when the cumulative value Dst is equal to the value MINVAL), and the data LOC is output otherwise.

セレクタL3は、ゲートG1の出力に基づいて、セレクタL2の出力とDフリップフロップD2のQ出力とを選択的に出力する。具体的には比較器CMPの第1出力及び第2出力のいずれかが活性化しているとき(累計値Dstが値MINVAL以下のとき)にはセレクタL2の出力を、そうでないときにはDフリップフロップD2のQ出力を、それぞれ出力する。   The selector L3 selectively outputs the output of the selector L2 and the Q output of the D flip-flop D2 based on the output of the gate G1. Specifically, when one of the first output and the second output of the comparator CMP is activated (when the cumulative value Dst is less than or equal to the value MINVAL), the output of the selector L2 is used. Otherwise, the D flip-flop D2 is used. Q outputs are respectively output.

信号RSTの活性化により、DフリップフロップD2にはその記憶する値の初期値として、W桁の全てが非活性化したデータが採用される。   As a result of the activation of the signal RST, the D flip-flop D2 employs data in which all W digits are deactivated as the initial value of the stored value.

累計値Dstによって、値MINVALが更新されるとき、ゲートG1の出力は活性化するが、比較器CMPの第2出力は活性化しない。よってセレクタL2,L3はデータLOCをDフリップフロップD2のD入力として与える。これにより、DフリップフロップD2に記憶されるデータが更新され、その内で活性化する桁は、データLOCにおいて、値MINVALが更新される原因となった(つまり値MINVALの更新に採用される)累計値Dstの入力と同期して活性化している桁となる。   When the value MINVAL is updated by the accumulated value Dst, the output of the gate G1 is activated, but the second output of the comparator CMP is not activated. Therefore, the selectors L2 and L3 give the data LOC as the D input of the D flip-flop D2. As a result, the data stored in the D flip-flop D2 is updated, and the digit activated in the data causes the value MINVAL to be updated in the data LOC (that is, adopted for updating the value MINVAL). The digit is activated in synchronization with the input of the cumulative value Dst.

累計値Dstによって値MINVALが更新されない場合は二通り想定される。第1の場合は、累計値Dstが記憶済みの値MINVALと等しい場合である。このときの累計値Dstも、信号RSTが活性化した後に入力された累計値Dstの最小値足り得る。よって当該累計値Dstの入力と同期したデータLOCにおいて活性化している桁も、DフリップフロップD2が記憶するデータにおいて活性化させることが望ましい。   Two cases are assumed when the value MINVAL is not updated by the cumulative value Dst. In the first case, the cumulative value Dst is equal to the stored value MINVAL. The accumulated value Dst at this time can also be a minimum value of the accumulated value Dst input after the signal RST is activated. Therefore, it is desirable to activate the digit activated in the data LOC synchronized with the input of the cumulative value Dst in the data stored in the D flip-flop D2.

このときはゲートG1の出力と比較器CMPの第2出力との両方が活性化するので、セレクタL2,L3はゲートG2の出力をDフリップフロップD2に与える。上述のようにゲートG2はデータLOCとDフリップフロップD2のQ出力とについて、各桁毎に活性化の論理和をとるので、それまでに最小値を与えた累計値Dstに対応する桁と、第1の場合を招来した累計値Dstに対応する桁とのいずれもがDフリップフロップD2において記憶される。   At this time, since both the output of the gate G1 and the second output of the comparator CMP are activated, the selectors L2 and L3 give the output of the gate G2 to the D flip-flop D2. As described above, since the gate G2 takes the logical OR of the data LOC and the Q output of the D flip-flop D2 for each digit, the digit corresponding to the cumulative value Dst that has given the minimum value so far, Both of the digits corresponding to the accumulated value Dst that invited the first case are stored in the D flip-flop D2.

他方、累計値Dstによって値MINVALが更新されない場合の内、第2の場合は、累計値Dstが記憶済みの値MINVALよりも大きい場合である。この場合にはDフリップフロップD2が記憶するW桁のデータを更新すべきではない。この場合、ゲートG1の出力が活性化しないので、セレクタL2の出力によらず、セレクタL3はDフリップフロップD2のQ出力をそのD入力として与え、DフリップフロップD2が記憶するデータは維持される。   On the other hand, among the cases where the value MINVAL is not updated by the accumulated value Dst, the second case is when the accumulated value Dst is larger than the stored value MINVAL. In this case, the W-digit data stored in the D flip-flop D2 should not be updated. In this case, since the output of the gate G1 is not activated, the selector L3 gives the Q output of the D flip-flop D2 as its D input regardless of the output of the selector L2, and the data stored in the D flip-flop D2 is maintained. .

累計値Dstがマッチング判定回路MCに入力する順序は、レジスタ群RYからの累計値Dstの読み出し順序に依拠する。レジスタ群RYからの累計値Dstの読み出し順序は通常は既知であるので、DフリップフロップD2に記憶されるデータにおいて活性化している桁は、現状での累計値Dstの最小値を与える位置(s,t)と対応づけられる。従って、DフリップフロップD2は、値MINVALが累計値Dstについての最小値を採るときに、当該最小値を与える位置を記憶する機能を果たすことになる。   The order in which the cumulative value Dst is input to the matching determination circuit MC depends on the reading order of the cumulative value Dst from the register group RY. Since the order of reading the cumulative value Dst from the register group RY is normally known, the digit activated in the data stored in the D flip-flop D2 is a position (s that gives the minimum value of the current cumulative value Dst (s , T). Accordingly, when the value MINVAL takes the minimum value for the cumulative value Dst, the D flip-flop D2 performs a function of storing a position that gives the minimum value.

図17は、あるターゲット領域についての全ての累計値Dstが(すなわちW個の累計値Dstが)入力された後の、DフリップフロップD2のQ出力の例であり、位置情報PSFとして把握される。ここでは第3桁目が活性化しているため、信号RSTが活性化してから3番目に入力した累計値Dstを与える位置(s,t)にある比較領域CAが、最もターゲット領域TAと類似していることが示されていることになる。   FIG. 17 shows an example of the Q output of the D flip-flop D2 after all the accumulated values Dst for a certain target area (that is, W accumulated values Dst) are inputted, and are grasped as position information PSF. . Here, since the third digit is activated, the comparison area CA at the position (s, t) that gives the third input cumulative value Dst after activation of the signal RST is most similar to the target area TA. It will be shown that.

ターゲット画像データGmnは、対応する画素毎に区切られたデータとして取り扱ってもよいし、ターゲット領域において同一行に属する画像の纏りに対応する画素データであるクラスタデータとして取り扱われてもよい。このようなデータの取り扱いは、第2記憶領域RTAのデータ更新が高速化する観点で望ましい。   The target image data Gmn may be handled as data divided for each corresponding pixel, or may be handled as cluster data that is pixel data corresponding to a group of images belonging to the same row in the target region. Such data handling is desirable from the viewpoint of speeding up the data update of the second storage area RTA.

図18は、第2記憶領域RTAの構成を例示するブロック図である。中央演算処理部CPUはアドレス信号ADR、書き込み許可信号WE、読み出しデータRDを出力する。デコーダDECは、これらを受け、択一的に活性化する4ビットのエネーブル信号を出力する。また中央演算処理部CPUはクラスタデータたる32ビットの信号G[31:0]を出力する。ここではターゲット領域TAとして一行に4列の画素が配列されている場合を想定しており、一つの画素に対応する画素データを8ビットと想定している。よってクラスタデータのビット数は32ビットとなる。   FIG. 18 is a block diagram illustrating the configuration of the second storage area RTA. The central processing unit CPU outputs an address signal ADR, a write permission signal WE, and read data RD. The decoder DEC receives these signals and outputs a 4-bit enable signal that is alternatively activated. The central processing unit CPU outputs a 32-bit signal G [31: 0] as cluster data. Here, it is assumed that four columns of pixels are arranged in one row as the target area TA, and pixel data corresponding to one pixel is assumed to be 8 bits. Therefore, the number of bits of the cluster data is 32 bits.

第2記憶領域RTAはターゲット領域TAの列数の応じたセレクタL11,L12,L13,L14と、ターゲット領域TAの画素数と同じDフリップフロップを有している。   The second storage area RTA has selectors L11, L12, L13, L14 corresponding to the number of columns of the target area TA, and a D flip-flop having the same number of pixels as the target area TA.

クラスタデータG[31:0]は8ビットずつに分岐してセレクタL11,L12,L13,L14に入力する。具体的には、クラスタデータG[31:24]がセレクタL11の第1入力端(図中、“1”と付記された側の入力端:他のセレクタL12,L13,L14についても同様)及びセレクタL14の第2入力端に(図中、“0”と付記された側の入力端:他のセレクタL12,L13,L11についても同様)与えられる。クラスタデータ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として出力する。   Cluster data G [31: 0] is branched into 8 bits and input to selectors L11, L12, L13, and L14. Specifically, the cluster data G [31:24] is the first input terminal of the selector L11 (the input terminal on the side labeled “1” in the figure: the same applies to the other selectors L12, L13, L14) and It is given to the second input terminal of the selector L14 (the input terminal on the side labeled “0” in the figure: the same applies to the other selectors L12, L13, and L11). Cluster data G [23:16] is applied to the first input terminal of selector L12 and the second input terminal of selector L13, and cluster data G [15: 8] is supplied to the first input terminal of selector L13 and the second input terminal of selector L12. The cluster data G [7: 0] is supplied to the input terminal, and is supplied to the first input terminal of the selector L14 and the second input terminal of the selector L11. The selectors L11, L12, L13, and L14 output any one of the cluster data input to the first input terminals and the cluster data input to the second input terminals as target image data Gm1, Gm2, Gm3, and Gm4. .

セレクタL11の出力は、図中で横方向に最も上側で配列されているDフリップフロップの全てのD入力端に与えられる。セレクタL12の出力は、図中で横方向に上から二番目で配列されているDフリップフロップの全てのD入力端に与えられる。セレクタL13の出力は、図中で横方向に上から三番目で配列されているDフリップフロップの全てのD入力端に与えられる。セレクタL14の出力は、図中で横方向に最も下側で配列されているDフリップフロップの全てのD入力端に与えられる。   The output of the selector L11 is given to all D input terminals of the D flip-flops arranged on the uppermost side in the horizontal direction in the drawing. The output of the selector L12 is given to all D input terminals of the D flip-flops arranged second from the top in the horizontal direction in the figure. The output of the selector L13 is given to all D input terminals of the D flip-flops arranged in the third horizontal direction in the figure. The output of the selector L14 is given to all the D input terminals of the D flip-flops arranged on the lowermost side in the horizontal direction in the drawing.

4ビットのエネーブル信号はそれぞれ、図中で縦方向に4列に配列されているDフリップフロップに対応している。上述のように、4ビットのエネーブル信号は択一的に活性化するので、縦方向に配列されているDフリップフロップ同士が同期して活性化/非活性化することになる。   Each 4-bit enable signal corresponds to D flip-flops arranged in four columns in the vertical direction in the figure. As described above, since the 4-bit enable signal is activated alternatively, the D flip-flops arranged in the vertical direction are activated / deactivated in synchronization with each other.

よって、図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を記憶する。   Therefore, the D flip-flops arranged in the vertical direction in FIG. 18 store pixel data for pixels arranged in the same row of the target area TA. For example, the D flip-flops arranged in the vertical direction on the leftmost side in the drawing store target image data G11, G12, G13, and G14 as pixel data for the pixels arranged in the first row of the target area TA. The D flip-flops arranged in the vertical direction on the right side thereof store target image data G21, G22, G23, and G24 as pixel data for the pixels arranged in the second row of the target area TA. Further, the D flip-flops arranged in the vertical direction on the right side thereof store target image data G31, G32, G33, and G34 as pixel data for the pixels arranged in the third row of the target area TA. The D flip-flops arranged in the vertical direction on the rightmost side in the drawing store target image data G41, G42, G43, and G44 as pixel data for the pixels arranged in the fourth row of the target area TA.

さて、クラスタデータ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に制御させている場合が例示されている。   Now, as the bit arrangement of the cluster data G [31: 0], big endian may be adopted, or little endian may be adopted. Therefore, by controlling the selective outputs of the selectors L11, L12, L13, and L14, the cluster data G [31:24], G [23:16], and G [15 are obtained as the target image data Gm1, Gm2, Gm3, and Gm4. : 8], G [7: 0], or cluster data G [7: 0], G [15: 8], G [23:16], G [31:24] can be used. . That is, it becomes easy to handle cluster data regardless of whether little endian or big endian is adopted. FIG. 18 illustrates a case where such a function selection of the selector is controlled by the signal BYTESWAP stored in the register RB.

上述のようなデータのスワップはターゲット画像データのみならず、走査画像データにおいて行ってもよい。具体的には、走査画像データにおける画素データは、走査領域において同一行に属する画像の纏りに対応する画素データであるクラスタデータとして取り扱われてもよい。このようなデータの取り扱いは、第1記憶領域RCAのデータ更新が高速化する観点で望ましい。   The data swap as described above may be performed not only on the target image data but also on the scanned image data. Specifically, the pixel data in the scanned image data may be handled as cluster data that is pixel data corresponding to a group of images belonging to the same row in the scanned region. Such data handling is desirable from the viewpoint of speeding up the data update of the first storage area RCA.

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] クラスタデータ
CA scanning area Cjk, C11 to C88 scanned image data RCA first storage area TA target area Gmn, G11 to G44 target image data C (m + s) (n + t), C34 to C67 Comparative image data Δmnst Pixel difference value Qmn , Q11 to QMN arithmetic circuits L1, L2, L3, L11 to L14, Smn, S11 to SMN selector Dst cumulative value SUM cumulative circuit MC matching determination unit 11, 14 multiplier (or inverter)
10,12 Adder 13 Absolute value circuit OFS0, OFS1, OFS2 Offset CRTH threshold 19 Coring circuit MINVAL Value stored in D flip-flop D1 D1, D2 Flip-flop G1, G2 Gate LOC [0] to LOC [W] Data G [31: 0] Cluster data

Claims (8)

ブロックマッチングの比較対象となる画像領域である走査領域が含むJ行K列の画素の各々に対応した画素データである走査画像データを記憶する第1記憶領域と、
前記ブロックマッチングの比較基準となる画像領域であるターゲット領域が含むM行N列(J,K,M,NはJ>M,N<Kを満足する正整数)の画素の各々に対応した画素データであるターゲット画像データを記憶する第2記憶領域と、
前記走査領域内を走査して得られる複数の比較領域の各々が含むM行N列の画素に対応した画素データである比較画像データと、前記ターゲット画像データの間で、相互に対応する画素同士の相違を示す値たる画素差値を求めるM・N個の演算回路と、
前記第1記憶領域から、前記比較画像データを前記比較領域毎に選択して、前記演算回路に出力するM・N個の選択回路と、
前記画素差値の累計たる累計値を、前記比較領域毎に求める累計回路と、
前記比較領域毎の前記累計値を比較し、前記累計値を最小とする前記比較領域を特定するマッチング判定部と
を備え、
前記マッチング判定部は、
前記累計値を順次に入力し、
記憶の対象となる値たる記憶値を記憶し、入力された前記累計値が前記記憶値未満であったときに入力された前記累計値を用いて前記記憶値を更新する最小値記憶回路と、
(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採る第1のデータを記憶する最小値位置記憶回路と、
前記第1のデータを更新する更新回路と
を有し、
前記更新回路は、
(J−M+1)・(K−N+1)桁のそれぞれにおいて二値を採り、排他的に一桁が順次に第1の値を採る第2のデータを前記累計値と同期して入力し、
入力された前記累計値が前記記憶値未満であったときに前記第2のデータを用いて前記第1のデータを更新する、ブロックマッチング回路。
A first storage area that stores scan image data that is pixel data corresponding to each pixel in the J rows and K columns included in the scan area that is an image area to be compared with the block matching;
Pixels corresponding to pixels of M rows and N columns (J, K, M, N are positive integers satisfying J> M, N <K) included in the target region, which is an image region serving as a reference for block matching. A second storage area for storing target image data as data;
Pixels corresponding to each other between the comparison image data, which is pixel data corresponding to pixels in M rows and N columns included in each of the plurality of comparison regions obtained by scanning the scanning region, and the target image data M · N arithmetic circuits for obtaining a pixel difference value as a value indicating a difference between
MN selection circuits for selecting the comparison image data for each comparison area from the first storage area and outputting the selected comparison data to the arithmetic circuit;
A cumulative circuit for obtaining a cumulative value of the pixel difference values for each comparison region;
A matching determination unit that compares the cumulative value for each comparison region and identifies the comparison region that minimizes the cumulative value;
The matching determination unit
Enter the cumulative value sequentially,
A minimum value storage circuit that stores a stored value that is a value to be stored, and updates the stored value using the cumulative value that is input when the input cumulative value is less than the stored value;
A minimum value position storage circuit for storing first data taking binary values in each of (J−M + 1) · (K−N + 1) digits;
An update circuit for updating the first data,
The update circuit includes:
(J−M + 1) · (K−N + 1) takes binary values in each digit, and inputs second data in which one digit takes the first value sequentially in synchronization with the cumulative value,
A block matching circuit that updates the first data using the second data when the inputted cumulative value is less than the stored value.
前記更新回路は、
入力された前記累計値が前記記憶値と等しいときに、前記第2のデータと、直前に記憶されていた前記第1のデータとの間での桁毎の論理和を用いて前記第1のデータを更新する、請求項1記載のブロックマッチング回路。
The update circuit includes:
When the input cumulative value is equal to the stored value, the first data is calculated using a logical sum for each digit between the second data and the first data stored immediately before. The block matching circuit according to claim 1, wherein data is updated.
前記ターゲット画像データにおける画素データは、前記ターゲット領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる、請求項1乃至請求項2のいずれか一つに記載のブロックマッチング回路。   3. The block matching according to claim 1, wherein pixel data in the target image data is handled as cluster data that is pixel data corresponding to a group of pixels belonging to the same row in the target area. 4. circuit. 前記ターゲット領域における列毎に前記クラスタデータをスワップする、複数のセレクタ
を更に備える、請求項3に記載のブロックマッチング回路。
The block matching circuit according to claim 3, further comprising a plurality of selectors for swapping the cluster data for each column in the target area.
前記走査画像データにおける画素データは、前記走査領域において同一行に属する画素の纏まりに対応する画素データであるクラスタデータとして取り扱われる、請求項1乃至請求項4のいずれか一つに記載のブロックマッチング回路。   5. The block matching according to claim 1, wherein pixel data in the scanned image data is handled as cluster data that is pixel data corresponding to a group of pixels belonging to the same row in the scanning region. 6. circuit. 前記走査領域における列毎に前記クラスタデータをスワップする、複数のセレクタ
を更に備える、請求項5に記載のブロックマッチング回路。
The block matching circuit according to claim 5, further comprising a plurality of selectors for swapping the cluster data for each column in the scanning region.
フラグを格納するレジスタ
を更に備え、
前記走査領域内において第1行から第J行へと向かう行方向に走査し、かつ前記行方向に対して優先的に、第1列から第K列へと向かう列方向に走査して複数の前記比較領域が得られ、
前記列方向の走査が行われているときに前記フラグがセットされ、当該走査が前記第K列に至ったときに前記フラグがリセットされ、
前記フラグがセットされているときには前記走査画像データの更新が拒否される、請求項1乃至請求項6のいずれか一つに記載のブロックマッチング回路。
A register for storing a flag;
Within the scanning region, scanning is performed in a row direction from the first row to the Jth row, and scanning in a column direction from the first column to the Kth column is performed with priority to the row direction. The comparison region is obtained,
The flag is set when scanning in the column direction is performed, and the flag is reset when the scanning reaches the Kth column,
The block matching circuit according to claim 1, wherein updating of the scanned image data is rejected when the flag is set.
請求項1乃至請求項6のいずれか一つに記載のブロックマッチング回路において、
前記走査領域内において第1行から第J行へと向かう行方向に走査し、かつ前記行方向に対して優先的に、第1列から第K列へと向かう列方向に走査して複数の前記比較領域が得られ、
前記走査領域の第(s+1)行第K列に位置する画素に対応する前記走査画像データ(sは0乃至(J−M)の整数)が前記比較画像データの画素データとして、前記ターゲット領域の第1行第N列の画素に対応する前記ターゲット画像データとの間で前記画素差値が求められた後に、前記走査領域の第(s+1)行かつ第1列乃至第K列に位置する画素に対応する前記走査画像データを更新する、データ更新方法。
In the block matching circuit according to any one of claims 1 to 6,
Within the scanning region, scanning is performed in a row direction from the first row to the Jth row, and scanning in a column direction from the first column to the Kth column is performed with priority to the row direction. The comparison region is obtained,
The scanned image data (s is an integer from 0 to (J−M)) corresponding to the pixel located in the (s + 1) th row and the Kth column of the scanned region is used as pixel data of the comparative image data. Pixels located in the (s + 1) -th row and in the first to K-th columns of the scanning region after the pixel difference value is obtained from the target image data corresponding to the pixels in the first row and the N-th column A data update method for updating the scanned image data corresponding to the above.
JP2013109787A 2013-05-24 2013-05-24 Block matching circuit and data update method Expired - Fee Related JP5499203B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013109787A JP5499203B2 (en) 2013-05-24 2013-05-24 Block matching circuit and data update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013109787A JP5499203B2 (en) 2013-05-24 2013-05-24 Block matching circuit and data update method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007236644A Division JP5322416B2 (en) 2007-09-12 2007-09-12 Block matching circuit and data update method

Publications (2)

Publication Number Publication Date
JP2013157042A JP2013157042A (en) 2013-08-15
JP5499203B2 true JP5499203B2 (en) 2014-05-21

Family

ID=49052077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013109787A Expired - Fee Related JP5499203B2 (en) 2013-05-24 2013-05-24 Block matching circuit and data update method

Country Status (1)

Country Link
JP (1) JP5499203B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6627323B2 (en) * 2015-08-18 2020-01-08 富士通株式会社 Information processing apparatus, information processing system, information processing method, and information processing program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0754549B2 (en) * 1984-09-19 1995-06-07 株式会社日立製作所 How to create a standard pattern for pattern matching
JPH07284105A (en) * 1994-04-13 1995-10-27 Matsushita Electric Ind Co Ltd Motion vector detector
JPH11346369A (en) * 1998-06-01 1999-12-14 Nec Corp Motion vector detection circuit

Also Published As

Publication number Publication date
JP2013157042A (en) 2013-08-15

Similar Documents

Publication Publication Date Title
US10943166B2 (en) Pooling operation device and method for convolutional neural network
JP5322416B2 (en) Block matching circuit and data update method
US10347220B1 (en) Data compression and decompression method for DeMura table
JP5522893B2 (en) Image processing apparatus, image processing method, and program
US11669942B2 (en) Image de-warping system
EP3217289A2 (en) System and method for preventing cache contention
US9076408B2 (en) Frame data shrinking method used in over-driving technology
JP5499203B2 (en) Block matching circuit and data update method
US8135229B1 (en) Image processing method and device
CN108875733B (en) Infrared small target rapid extraction system
US20110255780A1 (en) Method for performing color interpolation on a down-sampled bayer image, and associated device
JP4621944B2 (en) Image filter device, method and computer program
US9741086B2 (en) Image processing apparatus, image processing method, and storage medium storing program
US7453761B2 (en) Method and system for low cost line buffer system design
JP2005020733A (en) Error diffusion method for halftone processing
US10853919B2 (en) Image processing apparatus, image processing method, and program
JP2016095667A (en) Image processing device and electronics apparatus
US20190206019A1 (en) Graphics processing device and graphics processing method
US9330438B1 (en) High performance warp correction in two-dimensional images
JP6467940B2 (en) Image processing apparatus, image processing method, and program
JP4170173B2 (en) Block matching arithmetic unit
US9064204B1 (en) Flexible image processing apparatus and method
JP5462198B2 (en) Conversion device and conversion method
US20180268524A1 (en) Image processing apparatus and method of controlling the same
JP6708127B2 (en) Image processing apparatus, image processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R150 Certificate of patent or registration of utility model

Ref document number: 5499203

Country of ref document: JP

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