JPH04207790A - Motion vector detector - Google Patents

Motion vector detector

Info

Publication number
JPH04207790A
JPH04207790A JP2338494A JP33849490A JPH04207790A JP H04207790 A JPH04207790 A JP H04207790A JP 2338494 A JP2338494 A JP 2338494A JP 33849490 A JP33849490 A JP 33849490A JP H04207790 A JPH04207790 A JP H04207790A
Authority
JP
Japan
Prior art keywords
block
motion vector
pixels
circuit
matching
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.)
Pending
Application number
JP2338494A
Other languages
Japanese (ja)
Inventor
Seiichiro Iwase
岩瀬 清一郎
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2338494A priority Critical patent/JPH04207790A/en
Publication of JPH04207790A publication Critical patent/JPH04207790A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To detect a motion vector based on easy judgement and by a simple operation by detecting a vector with the minimum degree of matching detected by block matching, arranging peripheral vectors sequentially, performing a correlative arithmetic operation with a reference wave, and generating output in accordance with correlation. CONSTITUTION:Only vector quantity (x,y) with the minimum degree of matching is obtained after performing the block matching. Thereby, the correlation detection of the peripheral vectors is performed. For example, at a remainder comparator 31, a position of deviation with the minimum remainder per block is detected, and it is outputted as the motion vector of a plate, and is supplied to a delay circuit group 32. An orthogonal transform circuit 33 for Fourier transformation, etc., and a peak detection circuit 34 are provided, and a decision signal when a peak exists at a spatial frequency(sf)=1, 2, and 3 of axis of abscissa is taken out to the output 38 of an OR gate 35. The decision signal is supplied to a sub blocking circuit, and also, the motion vector is outputted to the output of an AND gate 36.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、動きベクトル検出装置、特に、ブロックマ
ツチングの結果から、動きベクトルを判定するための装
置に関する。また、この発明は、検出された動きベクト
ルを使用して、動き補償を行う装置に関するものである
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a motion vector detection device, and particularly to a device for determining a motion vector from the result of block matching. The present invention also relates to a device that performs motion compensation using detected motion vectors.

〔発明の概要〕[Summary of the invention]

この発明は、時間的に1フレーム異なる画像信号の間で
、対応する位置のマツチ度を検出するブロックマツチン
グにより、動きベクトルを検出する動きベクトル検出装
置において、 ブロックマツチングで検出されたマツチ度の最小のベク
トルを検出し、 検出された最小のベクトルの空間的に周辺のベクトルを
順に並べ、参照波との相関演算を行い、相関に応じた出
力を発生し、 相関演算の出力から、最小のベクトルを動きベクトルと
して検出し、及び又は動体輪郭部がブロック内に存在す
ることを判定するようにしたことを特徴とする動きベク
トル検出装置である。この発明は、従来に比して、より
簡単な判断と、より単純な操作により、動きベクトルを
検出することができる。特に、この発明は、動き物体の
輪祁部でも、動き補償を行うことができ、このブロック
がぼけないようにすることができる。
The present invention provides a motion vector detection device that detects a motion vector by block matching that detects the degree of matching at corresponding positions between image signals that differ by one frame in time. Detects the minimum vector of A motion vector detection device is characterized in that it detects a vector as a motion vector and/or determines that a moving object contour exists within a block. The present invention can detect motion vectors with easier judgment and simpler operations than in the past. In particular, according to the present invention, motion compensation can be performed even at the edge of a moving object, and this block can be prevented from becoming blurred.

〔従来の技術および解決しようとする課題]動きベクト
ルの検出について、最初に説明する。
[Prior Art and Problems to be Solved] First, motion vector detection will be explained.

ここでは、1枚の画像(フレームとする。ここでは、イ
ンターレースは考えないとする)を第26図のように水
平H画素、垂直■ラインであるとする。そして、その画
面をP画素×Qラインのブロックに細分化するものとす
る。第27図は1つのブロックを示している。この場合
はP=5、Q=5の例である。Cと示したのはこのブロ
ックの中心画素位置である。
Here, it is assumed that one image (referred to as a frame; interlacing is not considered here) has H pixels horizontally and ■ lines vertically, as shown in FIG. Then, assume that the screen is subdivided into blocks of P pixels×Q lines. FIG. 27 shows one block. In this case, P=5 and Q=5. C indicates the center pixel position of this block.

第28図ではCを中心画素とするブロックとC′を中心
とするブロックの位置関係を示しており、前者を現フレ
ームの注目しているあるブロックとする時、その画像と
一致するブロックが前フレームにおいてC′を中心とす
るブロックの位置にあるものとしている。第28図Aは
、水平方向に±1画素、垂直方向に+1ラインの動きベ
クトルの場合である。第28図Bは、水平方向に±3画
素、垂直方向に+3ラインの動きベクトルの場合である
。第28図Cは、水平方向に±2画素、垂直方向に一1
ラインの動きベクトルの場合である。−般に、動きベク
トルは現フレームの各ブロックごとに求められる。
Figure 28 shows the positional relationship between a block whose center pixel is C and a block whose center is C'. When the former is a block of interest in the current frame, the block that matches that image is the It is assumed that the block is located at the center of C' in the frame. FIG. 28A shows the case of a motion vector of ±1 pixel in the horizontal direction and +1 line in the vertical direction. FIG. 28B shows the case of a motion vector of ±3 pixels in the horizontal direction and +3 lines in the vertical direction. Figure 28C shows ±2 pixels in the horizontal direction and 11 pixels in the vertical direction.
This is the case for line motion vectors. - Generally, a motion vector is determined for each block of the current frame.

動きベクトルを検出する範囲を水平に±8画素、垂直に
±Tラインの範囲とする時、現フレームのあるブロック
は、その中心Cに対して、水平に±S、垂直に±Tずれ
た所にC′がある種々の前フレームのブロックと比較さ
れねばならない。第29図は現フレームのあるブロック
の中心Cの位置をRとする時に、比較すべき前フレーム
の(2S+1)X (2T+l)個のブロックとの比較
が必要なことを示している。即ち、この第29図のます
目の位置にC′がある前フレームのブロックの全てが比
較対象である。第29図はS=4、T=3とした例であ
る。
When the motion vector detection range is ±8 pixels horizontally and ±T lines vertically, a block in the current frame is shifted horizontally by ±S and vertically by ±T from its center C. must be compared with blocks of various previous frames with C'. FIG. 29 shows that when the position of the center C of a block in the current frame is R, it is necessary to compare it with (2S+1)×(2T+l) blocks of the previous frame to be compared. That is, all blocks of the previous frame having C' in the square position in FIG. 29 are to be compared. FIG. 29 shows an example in which S=4 and T=3.

以下P=5、Q=5、S=4、T=3の例で説明するこ
とにする。
An example of P=5, Q=5, S=4, and T=3 will be explained below.

見方を変えると、現フレームの注目するあるブロックを
第30図の内側の中央部の5画素×5ラインの位置と考
える時、前フレームの同じ位置を中心にした水平±3画
素、垂直±Tラインを含む第30図の外側の(P+23
)画素X (Q+2T)ラインの太線の内部に置きうる
全ての5画素×5ラインの領域が比較される対象となる
Looking at it from a different perspective, if we consider a certain block of interest in the current frame to be the 5 pixels x 5 line position in the inner center of Figure 30, then horizontally ±3 pixels and vertically ±T centering on the same position in the previous frame. Outside of Figure 30 including the line (P+23
) Pixel

動きベクトル検出は、しばしば実現上の簡単化のため、
間引いて考えることがある。即ち、上述の例では水平±
3画素、垂直±Tラインの範囲で全て位置関係について
比較するとしているが、この比較のうちいくつかの組合
せの比較を省略することがある。しかし、以下の説明で
は説明の簡単化のため、全ての組合せを比較するものと
して話を進める。
Motion vector detection is often
Sometimes I think about thinning things out. That is, in the above example, horizontal ±
Although it is assumed that all positional relationships are compared within the range of 3 pixels and vertical ±T lines, some combinations of comparisons may be omitted. However, in the following explanation, for the sake of simplicity, all combinations will be compared.

第31図は動きベクトル検出の構成概念図である。入力
端子101から供給されるデータaが現フレーム画像デ
ータであり、データbがフレームメモリ102により1
フレーム遅延された1フレーム前の画像データである。
FIG. 31 is a conceptual diagram of the configuration of motion vector detection. Data a supplied from the input terminal 101 is the current frame image data, and data b is 1
This is the image data of the previous frame that has been delayed by a frame.

前フレームのデータbが遅延部103により第28図の
ようないろいろな位置関係のデータとなり、その各々が
データaと比較される。ブロック比較部104は、各ず
れ位置ごとの画像の一致の度合い(マツチ度)を出力し
、判定部105がマツチ度を比較して最も妥当なずれの
量、即ち、動きベクトルを出力端子106に出力する。
The data b of the previous frame is converted into data with various positional relationships as shown in FIG. 28 by the delay unit 103, and each of the data is compared with the data a. The block comparing unit 104 outputs the degree of matching (degree of matching) of images for each shift position, and the determining unit 105 compares the matching degrees and outputs the most appropriate amount of shift, that is, a motion vector, to the output terminal 106. Output.

この第31図に示す動きベクトル検出のハードウェアは
フレームメモリ102のほか、遅延部103とブロック
比較部104に大容量のメモリが必要とされ、また、比
較が間引かれないとブロック比較部104の演算部も大
規模となり、更に、判定部105も、その方法によって
は大規模になる。従って、動きベクトル検出が利用され
るシステムの中でそのハードウェア量はかなりの比率を
占めるという問題がある。
The motion vector detection hardware shown in FIG. 31 requires a large capacity memory in addition to the frame memory 102, the delay unit 103 and the block comparison unit 104, and if the comparison is not thinned out, the block comparison unit 104 The arithmetic unit 105 also becomes large-scale, and the determination unit 105 also becomes large-scale depending on the method used. Therefore, there is a problem in that a system in which motion vector detection is used requires a considerable amount of hardware.

動きベクトルの検出をソフトウェアで行うことも提案さ
れている(特開昭61−105178号公報参照)。し
かしながら、ソフトウェアの処理速度の制約から、比較
および判定の方法として、かなり簡略化されたものを使
用せざるをえず、検出された動きベクトルの精度が低い
問題が生じる。
It has also been proposed to detect motion vectors using software (see Japanese Patent Laid-Open No. 105178/1983). However, due to constraints on software processing speed, a considerably simplified comparison and determination method must be used, resulting in the problem of low accuracy of detected motion vectors.

この発明は、第31図のうち判定部105を除く遅延部
103およびブロック比較部104の部分、特に、遅延
部103についてハードウェア量を少なくすることに関
する。
The present invention relates to reducing the amount of hardware for the delay section 103 and block comparison section 104 excluding the determination section 105 in FIG. 31, particularly for the delay section 103.

第32図、第33図が第1の従来例である。第32図は
、第31図のフレームメモリ102と遅延部1030部
分に相当する。
FIGS. 32 and 33 show the first conventional example. FIG. 32 corresponds to the frame memory 102 and delay unit 1030 portions in FIG. 31.

第32図でFがフレームメモリ102で1フレーム入力
データを遅延させる。Hが1水平走査(ライン)分の遅
延回路である。また、文字が付されていない四角が1画
素分の遅延回路、即ち、レジスタである。更に、(H−
9)と書いであるのは1ライン分の画素数より9画素分
少ない遅延回路で、その他の9画素分のレジスタと合わ
せて1ライン分の遅延になる。
In FIG. 32, F delays one frame of input data in the frame memory 102. H is a delay circuit for one horizontal scan (line). Moreover, a square without a letter is a delay circuit for one pixel, that is, a register. Furthermore, (H-
9) is a delay circuit that has 9 pixels less than the number of pixels for one line, and together with the registers for the other 9 pixels, it becomes a delay for one line.

現フレームの入力データaが破線で囲んだ遅延回路10
7により、3ライン分および5画素、遅延されて、ブロ
ックの中心の位置Rとなり、出力端子108に取り出さ
れる。
The input data a of the current frame is the delay circuit 10 surrounded by a broken line.
7, the signal is delayed by 3 lines and 5 pixels, reaches the center position R of the block, and is output to the output terminal 108.

データbは、データaと1フレームの差があるので、デ
ータaおよびbは、全く同じ画素位!のデータである。
Data b has a difference of one frame from data a, so data a and b are exactly the same pixel order! This is the data.

そして、第32図のように、9段のレジスタと(H−9
)遅延回路とが直列接続されているので、データbから
3ラインと5画素分遅延したC(0,0)のタップが、
Rとちょうど1フレームの時間差となる。
Then, as shown in Fig. 32, nine stages of registers and (H-9
) delay circuit is connected in series, so the tap of C(0,0) delayed by 3 lines and 5 pixels from data b is
There is a time difference of exactly one frame from R.

第32図の入力端子101には、通常の画像信号と同様
に、水平走査したデータ列が来るとする。
Assume that a horizontally scanned data string comes to the input terminal 101 in FIG. 32, similar to a normal image signal.

するとあるタイミングで止めた時、(C(i。Then, when I stopped at a certain timing, (C(i.

j))(i=−3n+S、j=−Tn十T)には、丁度
、現フレームのRの画素に対して前フレームのその位置
の周辺の第29図の画素が得られるようになっている。
j)) (i=-3n+S, j=-Tn+T), the pixels in Figure 29 around that position in the previous frame are just obtained for the R pixel in the current frame. There is.

例えばC(1,0)にはC(0゜0)(R)に対して水
平に1画素分古いもので、第29図がデイスプレィ画面
とすればRの左隣りの画素のデータが得られる。
For example, C(1,0) is older by one pixel horizontally than C(0°0)(R), and if Figure 29 is a display screen, the data of the pixel to the left of R can be obtained. .

動きベクトルを得るには、この第32図の各タップを使
って次のような処理をする。即ち、(C(i、j))(
i=−3n+S、j= −Tn十T)の各タップには、
第29図の各ずれた位置ごとのデータが得られるので、
ブロック比較部104により、それぞれのタップとRを
比較し、マツチ度(画像の一致の度合い)を演算し、各
(i。
To obtain a motion vector, the following processing is performed using each tap in FIG. That is, (C(i,j))(
For each tap of i=-3n+S, j=-Tn+T),
Since data for each shifted position in Figure 29 can be obtained,
The block comparison unit 104 compares each tap with R, calculates the degree of match (degree of matching of images), and calculates each (i.

j)ごとにその結果を得る。そして、その結果を判定部
105で判定して妥当な動きベクトル(i。
Obtain the result for each j). Then, the determination unit 105 determines the result and determines a valid motion vector (i).

j)を選び出す。場合によっては、j、jは整数ではな
く、実数として決めることもある。
Select j). In some cases, j and j may be determined as real numbers rather than integers.

そこで次は各(i、j)ごとのマツチ度の求め方だが、
それは第33図の構成でなされる。この第33図の回路
は各C(t、j)ごとに必要である。即ち、ブロック比
較を間引かないので、第33図の回路は(2S+1)X
 (2T+2)個必要である。
So, next is how to find the degree of match for each (i, j).
This is done with the configuration shown in FIG. This circuit of FIG. 33 is required for each C(t,j). In other words, since block comparison is not thinned out, the circuit in FIG. 33 is (2S+1)X
(2T+2) pieces are required.

第33図では各C(i、j)について、第28図のよう
なブロック比較をしたいのであって、Rからは第30図
の内側中央部のブロックの各画素を得、またあるC(i
、j)のタップからは前フレームの水平に1画素、垂直
にjラインずれたブロックの各画素を得、両ブロック内
の対応する位置ごとに減算回路109により差をとり、
絶対値化回路110により絶対値をとり、それを1ブロ
ンクを構成する全画素数、即ち、PXQ、加算回路11
1およびメモリ112により累算し、この累算出力を(
i、j)についてのマツチ度としている。
In FIG. 33, for each C(i, j), we want to perform a block comparison as shown in FIG.
, j), each pixel of the block shifted by one pixel horizontally and j lines vertically in the previous frame is obtained, and the difference is calculated by the subtraction circuit 109 for each corresponding position in both blocks.
The absolute value conversion circuit 110 takes the absolute value and converts it into the total number of pixels constituting one bronc, that is, PXQ, and the addition circuit 11
1 and memory 112, and this cumulative output is expressed as (
i, j).

なお、ここでは差の絶対値(ABS)をとる例を示した
が、差の自乗などを使うこともある。
Note that although an example is shown in which the absolute value of the difference (ABS) is taken, the square of the difference, etc. may also be used.

ここまでの説明はまだ不充分なところがある。The explanation so far is still incomplete.

それは第32図の入力は水平走査されていて、R及び各
C(i、j)のタップには時間的にシフトするだけで基
本的に同じ水平走査されたデータが出力されるので、第
28図のようなブロックごとの比較ができないことであ
る。しかし、それは第33図のアキュムレータにメモリ
112を持っていることで解決される。
This is because the input in Fig. 32 is horizontally scanned, and basically the same horizontally scanned data is output to the taps of R and each C (i, j) with only a temporal shift. The problem is that it is not possible to compare each block as shown in the figure. However, this problem is solved by having the memory 112 in the accumulator of FIG.

もし、第33図のRとC(i、j)の再入力に第28図
の各組合せのようなブロックの対応する各画素が順に得
られればよいが、水平走査されているのでそのRとC(
i、j)の入力にはブロックの最初のラインの各画素が
あられれたあと、次のラインに移らずに隣りのブロック
の比較のためのデータになってしまい、第26図の上で
水平に並ぶH/P個のブロック分進んだ後、やっと元の
ブロック比較の2番目のラインの各画素の比較に入れる
ことになるのである。よって、マツチ度を得るための累
算は、1ラインごとに計夏途中で保留し、隣のブロック
比較のための累算に変えていけば良い。このために、累
算用のメモリとして872個以上のワードの記憶ができ
るメモリ112が設けられている。
If R and C(i, j) in FIG. 33 are re-inputted, each corresponding pixel of the block like each combination in FIG. 28 can be obtained in order, but since horizontal scanning is performed, C(
After each pixel of the first line of the block is input to the input of i, j), the data is used for comparison of the adjacent block without moving to the next line, and the horizontal After proceeding by H/P blocks lined up in , it is finally possible to compare each pixel in the second line of the original block comparison. Therefore, the accumulation for obtaining the degree of matching can be suspended midway through the calculation for each line, and can be changed to the accumulation for comparing adjacent blocks. For this purpose, a memory 112 capable of storing 872 or more words is provided as an accumulation memory.

第34図は、このメモリ112を説明するもので、n 
= H/ Pとして考えており、bk (k=0〜n−
1)は演算途中の格納用の各アドレスの内容である。
FIG. 34 explains this memory 112.
= H/P, and bk (k=0~n-
1) is the content of each address for storage during the calculation.

また、第33図で、113がアドレス発注回路で、この
アドレス発生回路113は、1ブロツクを構成する水平
画素数に相当するPサイクルごとにアドレスをインクリ
メントし、1水平走査終了後アドレスを“0”にもどす
動作を行い、第34図のようなメモリアドレス割当ての
回路を制御できる。
Further, in FIG. 33, 113 is an address ordering circuit, and this address generation circuit 113 increments the address every P cycles corresponding to the number of horizontal pixels constituting one block, and sets the address to "0" after completing one horizontal scan. ”, and the memory address allocation circuit as shown in FIG. 34 can be controlled.

また、画面に水平方向に並ぶH/P個のブロック数ごと
にブロックマツチングのための累算がリセットされる必
要がある。このリセットは、メモIJ 112のb0〜
b 、1−1を全て0“にしてもよいし、或いは各ブロ
ック比較の最初の画素の累算の時にメモリに“0”をあ
らかじめ記憶したアドレスZを選ぶように、アドレス発
生回路113を構成しても良い。
Furthermore, the accumulation for block matching needs to be reset for each H/P number of blocks lined up horizontally on the screen. This reset is from b0 to memo IJ 112.
b, 1-1 may all be set to 0'', or the address generation circuit 113 may be configured to select an address Z in which 0 is stored in advance in the memory when accumulating the first pixel in each block comparison. You may do so.

第32図で只の位置のデータを得るために(3H+5)
の遅延を与えているが、これはフレーム遅延(F)にお
いてこれを(F=−3H−5)の遅延回路とすることに
より省略することが可能である。
In order to obtain the data of the position in Figure 32 (3H+5)
However, this can be omitted by replacing the frame delay (F) with a delay circuit of (F=-3H-5).

第34図のように、累算のためのメモリ112として、
n = H/ Pのワード数を用意しているが、これは
第26図の各ブロックごとに動きベクトルを求めようと
しているからである。若し、1フレームにつき1つの動
きベクトルを得るというような時は1ワードでよいし、
その方針によって必要なワード数が異なる。
As shown in FIG. 34, as a memory 112 for accumulation,
The number of words n = H/P is prepared because a motion vector is to be determined for each block in FIG. If you want to obtain one motion vector per frame, one word is sufficient.
The number of words required varies depending on the policy.

第32図、第33図による回路は実現可能で制御も比較
的簡単だが、大規模なハードウェアとなることが問題で
ある。
Although the circuits shown in FIGS. 32 and 33 are feasible and relatively easy to control, the problem is that they require large-scale hardware.

ハードウェアのうちフレームメモリ102と、ブロック
比較のための第33図の演算回路(109,110,1
11)は、原理的に不可欠なものである。(H−9)の
多数の遅延回路と各累算用のH/Pワードづつのメモリ
112は、実現上の問題、即ち、構造上必要になっただ
けで本質的に必要なものではないので別の構成法でこれ
を省(ことが望ましい。
Among the hardware, the frame memory 102 and the arithmetic circuit (109, 110, 1
11) is essential in principle. (H-9) The large number of delay circuits and the memory 112 for each H/P word for each accumulation are a problem in implementation, that is, they are only necessary for the structure and are not essentially necessary. It is desirable to eliminate this by using a different configuration method.

これらの遅延回路及びメモリは入力データが水平走査し
ているごとに起因して必要となっている。
These delay circuits and memories are required each time the input data is horizontally scanned.

即ち、通常の第35図へのように、水平走査をしている
入力に対して第28図のようなブロックの比較をするた
めには、メモリが必要となるからである。
That is, a memory is required in order to compare blocks as shown in FIG. 28 with input that is horizontally scanned as in the normal case of FIG. 35.

よって、それを避けるためにはブロックに合わせた走査
方法、即ち、第35図Bのように、ブロック単位の水平
走査をしたデータ列を入力に使えば良い。
Therefore, in order to avoid this, it is sufficient to use a scanning method adapted to each block, that is, to input a data string that is horizontally scanned block by block, as shown in FIG. 35B.

そこで考えられる第2の従来例は、入力データ列aとし
ては、第35図Bのようにブロックごとに走査したデー
タを用いる一方、lフレーム遅延したデータ列すとして
は、データaの側が通過中のブロックを第30図の中央
部のものとする時の外側の広い領域について、この領域
内で走査するようなデータ列をつくりブロック比較をす
る方法である。
Therefore, a second conventional example that can be considered is to use data scanned block by block as shown in FIG. This is a method of creating a data string that scans within a wide area outside the block shown in the center of FIG. 30 and comparing the blocks.

この場合、両データ列はデータ数が異なるので次のよう
な工夫が必要である。即ち、データ列aは1つのブロッ
ク比較単位が(PXQ)画素分であるのに対し、データ
列すの側は((2S+p)X (2T+Q))画素分な
のでその比の分だけクロックを上げ、第36図のタイム
チャートで動作させることである。即ち、第35図Bの
ように走査する時は、データ列aが第36図Aのような
タイミングとなるはずであるが、このデータ列aのレイ
トを上げて、第36図Bのようなタイミングとする。こ
のクロックの周波数の比は、(2S+P)  ・ (2
T+Q)  十P−Qである。その結果、データが存在
しないタイムストロットが生ずるようになる。一方、デ
ータ列す側は、第36図Cのようになる。
In this case, since both data strings have different numbers of data, the following measures are required. In other words, one block comparison unit for data string a is (PXQ) pixels, while for data string A, it is ((2S+p)X (2T+Q)) pixels, so the clock is increased by that ratio. The operation is performed according to the time chart shown in FIG. 36. That is, when scanning as shown in FIG. 35B, the data string a should have a timing as shown in FIG. 36A, but by increasing the rate of this data string a, the timing as shown in FIG. Timing. The frequency ratio of this clock is (2S+P) ・ (2
T+Q) 10P-Q. As a result, there will be time slots where no data exists. On the other hand, the data string side is as shown in FIG. 36C.

第37図において、走査変換回路115は、入力データ
列aを第36図Bのように変換する回路であり、走査変
換回路116は、フレームメモリ102′からのデータ
列すを第36図Cのように変換する回路である。この走
査変換がされたデータ列b′は、第37図のように、第
32図と同様の(2S+1)X (2T+1)段のシフ
トレジスタからなる遅延部に供給され、第33図の構成
でブロック比較がなされる。この第2の従来例は、第1
の従来例(第32図)の(H−9)の遅延回路が不要と
なり、第33図のアキュムレータのメモリが1ワードづ
つで良いことになる。
In FIG. 37, a scan conversion circuit 115 is a circuit that converts an input data string a as shown in FIG. 36B, and a scan conversion circuit 116 converts an input data string a as shown in FIG. 36C. This is a circuit that converts As shown in FIG. 37, this scan-converted data string b' is supplied to a delay section consisting of a (2S+1)×(2T+1) stage shift register similar to that in FIG. 32, and is configured as shown in FIG. A block comparison is made. This second conventional example
The delay circuit (H-9) in the conventional example (FIG. 32) becomes unnecessary, and the memory of the accumulator in FIG. 33 only needs to be one word at a time.

但し、第36図Cから判るように、データ列b′のは水
平に(P+23)画素あり、2S画素分の余分があり、
また、垂直には、同様に2Tライン余分があるので、そ
の余分な画素の所で累算動作を止める制御が必要である
However, as can be seen from FIG. 36C, data row b' has (P+23) pixels horizontally, with an extra 2S pixels.
Further, in the vertical direction, there are similarly 2T extra lines, so control is required to stop the accumulation operation at the extra pixels.

第37図で、102′が付されたP−32はフレーム遅
延より32画素分少ない遅延という意味で、RとC(0
,0)のタイミングを1フレーム差にするためのもので
ある。
In Figure 37, P-32 with 102' means a delay that is 32 pixels less than the frame delay, and R and C (0
, 0) to have a one frame difference in timing.

テレビジョン走査から(PXQ)のブロック単位の走査
変換は、第35図Aのような走査からブロック単位の第
35図Bの走査に変換するもので、このためにはブロッ
クの垂直長さ分のラインメモリが最低必要でハードウェ
ア的にあまり小さ(ない。しかし、動きベクトル検出が
必要とされる帯域圧縮などの用途で、種々の目的で第3
5図Bの走査が必要とされるので、第36図Aのような
PXQの走査変換は必ずしも負担ではない。しかしなが
ら、第36図Bのように、a′のようなデータ列にする
とか、第36図Cのように、(P+23)・ (Q+2
7)の走査変換は、他の処理に使われず、このためだけ
のものであり負担である。
The block-by-block scan conversion from television scan (PXQ) is to convert the scan as shown in Figure 35A to the block-by-block scan as shown in Figure 35B. It requires a minimum of line memory and is not very small in terms of hardware (although it is not very small in terms of hardware).
Scan conversion of PXQ as in FIG. 36A is not necessarily burdensome since the scan of FIG. 5B is required. However, as shown in FIG. 36B, if the data string is a', or as shown in FIG. 36C, (P+23)/(Q+2
The scan conversion in 7) is not used for other processing and is only for this purpose and is a burden.

なお、この(P+23)  ・ (Q+27)の走査変
換は正確には、水平に23画素、垂直に2Tラインだけ
オーバーラツプさせながら第35図Bの如く走査するも
のである。
To be precise, this (P+23)/(Q+27) scan conversion is performed by scanning as shown in FIG. 35B while overlapping 23 pixels horizontally and 2T lines vertically.

上述の第2の従来例は(P+23)x (Q+2T)段
のシフトレジスタが(H−9)の遅延回路群に比べてハ
ードウェアとして簡単なので、第1の従来例と比較する
と、遅延部が簡単になり、またアキュムレータのメモリ
も単なるレジスタで良く、かなりの効果があるる。反面
、PXQ走査変換及び(P+23)  ・ (Q+2T
)走査変換が必要で、そのためには第32図の(H−9
)遅延回路群より多いメモリが必要となるし、また走査
変換後には、データレートが (P+23)x (Q+27) 十PxQ倍データレー
トが上昇し、更に、累算の制御が必要になるというよう
な問題がある。
In the second conventional example mentioned above, the (P+23) x (Q+2T) stage shift register is simpler in terms of hardware than the (H-9) delay circuit group, so compared to the first conventional example, the delay section is It is simple, and the accumulator memory can be just a register, which has a considerable effect. On the other hand, PXQ scan conversion and (P+23) ・ (Q+2T
) scan conversion is required, and for that purpose (H-9
) It requires more memory than the delay circuit group, and after scan conversion, the data rate increases by a factor of (P+23) There is a problem.

また、検出された動きベクトルにより、いろいろな画像
処理で動きベクトル補償がなされる。
Furthermore, motion vector compensation is performed using the detected motion vector in various image processes.

これは1枚フレーム或いはフィールドの上だけではでき
ない処理の場合に、画面に写っている動画像の動きを考
慮しないとフレーム間或いはフィ−ルド間の処理ができ
ないからである。具体的には画像の帯域圧縮の際にしば
しば必要とされるが、ほかにY/C分離とかノンインタ
ーレース化といった時にも必要となる。
This is because in the case of processing that cannot be performed only on one frame or field, processing between frames or fields cannot be performed unless the movement of the moving image on the screen is taken into account. Specifically, it is often needed for image band compression, but it is also needed for Y/C separation and non-interlacing.

動きベクトル補償は、まず2つのフレーム(或いはフィ
ールド)を比較して動きベクトル即ち両者の画像のずれ
を得て、その分だけどちらかのフレーム(フィールド)
をずらして両者を重ね合わさるようにすることである。
Motion vector compensation first compares two frames (or fields) to obtain the motion vector, that is, the deviation between the two images, and then adjusts either frame (field) by that amount.
The idea is to shift the two so that they overlap.

本来、動画というのは動体が単に平行移動するのみなら
ず回転や拡大縮小も伴っているのであるが、現状の画像
処理技術では動きベクトルという形で平行移動骨のみを
検出しこれを考慮しようとしているのである。動きベク
トル検出の方法としては、上述のように、一般に画面を
小さな四角のブロックに分けてそのブロック単位に動き
ベクトルを得るのが一般的である。動きベクトルを検出
し、動き補償をするような時に問題となるのは(1)ブ
ロックマツチングの結果として、マツチの度合いの関数
が、多数の極小値を持つ時の判断の仕(2)ブロックに
1つのベクトルしか得ないから、複数の動きがある場合
は論外としても、単純な動きでも動体の輪郭部になるブ
ロックとか小さな孤立動体を含むブロックも救えない。
Originally, in a video, a moving object not only simply moves in parallel, but also rotates and scales, but current image processing technology detects only the bones in translation in the form of motion vectors and attempts to take this into account. There is. As described above, the general method for detecting motion vectors is to divide the screen into small square blocks and obtain motion vectors for each block. The problems that arise when detecting motion vectors and performing motion compensation are (1) how to judge when the function of the degree of matching has many minimum values as a result of block matching; and (2) how to judge the block. Since only one vector is obtained for each movement, it is out of the question if there are multiple movements, but even simple movements cannot save blocks that form the outline of a moving object or blocks that contain small isolated moving objects.

例えば第39図のように自動車が右方向へ動いている時
、この画面では、 (1)C−c、C−dのブロックではブロックマツチン
グで自動車の動きをとらえることができる。
For example, when a car is moving to the right as shown in Figure 39, on this screen: (1) In blocks C-c and C-d, the movement of the car can be captured by block matching.

(2)B−b、 B−c、 B−d、 B−e、 C−
b、 C−e、D−b、D−cSD−d、D−eのブロ
ックは動体の輪郭に相当し、ブロック内に2つの動きベ
クトルがあるので、動きベクトルの決定が面倒である。
(2) B-b, B-c, B-d, B-e, C-
The blocks b, C-e, D-b, D-cSD-d, and D-e correspond to the outline of a moving object, and since there are two motion vectors in each block, it is troublesome to determine the motion vector.

(3)上記(1) 、 (2)以外のブロックは静止で
あり、これは動きベクトルをとらえることができる。
(3) Blocks other than those in (1) and (2) above are stationary and can capture motion vectors.

従来では、第31図の判定部105において、第41図
のような手順で動きベクトルを検出し、この動きベクト
ルで動き補償をしている。この判定部105は、第38
図のように、ブロック比較後の各ずれの位置ごとの残差
が供給される残差比較回路120と、比較およびノイズ
除去回路121とからなる。比較およびノイズ除去回路
121には、残差比較回路120から残差が最小の極小
値の位置とその量、残差が2番目に少ない極小値の位置
とその量、残差が3番目に少ない極小値の位置とその量
が供給される。そして、比較およびノイズ除去回路12
1では、ノイズと思われるものの除去と、残差の大小比
較とがなされる。その結果、動き補償の可否を示す判定
信号と、ANDゲート123を介された動きベクトルと
が出力される。
Conventionally, the determination unit 105 in FIG. 31 detects a motion vector using the procedure shown in FIG. 41, and performs motion compensation using this motion vector. This determination unit 105
As shown in the figure, it consists of a residual comparison circuit 120 to which a residual error for each position of each shift after block comparison is supplied, and a comparison and noise removal circuit 121. The comparison and noise removal circuit 121 receives from the residual comparison circuit 120 the position and amount of the minimum value with the smallest residual, the position and amount of the minimum value with the second smallest residual, and the third smallest residual. The location of the local minimum value and its amount are provided. Comparison and noise removal circuit 12
In step 1, what seems to be noise is removed and the residuals are compared in size. As a result, a determination signal indicating whether or not motion compensation is possible and a motion vector passed through the AND gate 123 are output.

この従来の判定部は、第41図のように、ブロックマツ
チングがなされ(ステップ124)、マツチ度の極小の
検出がなされる(ステップ125)。この極小点のベク
トルがマツチ度順にソーティングされ(ステップ126
)、有意な(その′ベクトルの動き物体が存在すると判
定される)極小点が決定される(ステップ127)。こ
の極小点のピーク数が検査され(ステップ128)、ビ
一り数が1個の時には、動き補償がされ(ステップ12
9)、その他の場合では、動き補償がされない。
As shown in FIG. 41, this conventional determining section performs block matching (step 124) and detects the minimum degree of matching (step 125). The vectors of these minimum points are sorted in order of degree of matching (step 126).
), a significant minimum point (it is determined that a moving object with that vector exists) is determined (step 127). The peak number of this minimum point is checked (step 128), and if the number of peaks is one, motion compensation is performed (step 12).
9), in other cases, motion compensation is not performed.

このような判定の手順において、極小の検出、極小点ベ
クトルのマツチ度順のソーティング、有意な極小点の決
定の方法としてはいろいろなアルゴリズムが考えられ、
概して複雑な操作である。
In such a determination procedure, various algorithms can be used to detect local minima, sort local minimum point vectors in order of degree of matching, and determine significant local minimum points.
It is generally a complex operation.

つまり、画一的、単純繰り返しの操作ではなく、判断が
多(、判断により次の操作がきまるというような操作で
ある。
In other words, it is not a uniform, simple, repeated operation, but an operation that requires a lot of judgment (the next operation is determined by the judgment).

ブロックマツチングにおいて動きベクトルを探す範囲を
水平(X軸)に±S画素、垂直に十T画素とする時にそ
れぞれの動きベクトル量(X。
When the range in which motion vectors are searched for in block matching is ±S pixels horizontally (X axis) and 10T pixels vertically, the amount of motion vectors (X) for each motion vector.

y)(x=±s、y=±T)ごとに画像ブロックのフレ
ーム差(フィールド差)が積算され、第40図のように
、等高線表示されるような3次元的なデータが得られる
。この3次元的なデータの中の極小値がマツチ度の極小
である。
y) (x=±s, y=±T), the frame differences (field differences) of the image blocks are accumulated, and three-dimensional data as shown in contour lines is obtained as shown in FIG. The minimum value in this three-dimensional data is the minimum value of the degree of matching.

例えば第40図Aは、カメラのパニングの時の背景とか
動体内部の場合などであるベクトルの所に橿小値が存在
する。第40図Bは、動体輪郭部の場合などで2つの極
小が(2つのベクトルが)存在している。
For example, in FIG. 40A, a small value exists at a vector that is in the background during camera panning or inside a moving object. In FIG. 40B, two minimums (two vectors) exist, such as in the case of a moving body contour.

なお、動体輪郭部とは、例えば第39図のD−bで第4
2図のようなブロックを言う。
Note that the moving body contour section is, for example, the fourth section D-b in FIG. 39.
This refers to a block like the one shown in Figure 2.

従来の動きベクトルの判定部および動き補償の欠点は、 (1)動きベクトル検出手順、即ちブロックマツチング
の結果のマツチ度の分布から有意な極小点を決定する手
順が複雑である。
Disadvantages of the conventional motion vector determination unit and motion compensation are as follows: (1) The motion vector detection procedure, that is, the procedure for determining a significant minimum point from the distribution of the degree of matching as a result of block matching is complicated.

(2)ブロックに1つのベクトルしか得られないので、
動体の輪郭部が補償できず、従って輪郭のぼけた動画像
になりやすい。
(2) Since only one vector can be obtained for a block,
The outline of a moving object cannot be compensated for, and therefore a moving image is likely to have a blurred outline.

ことである。That's true.

この発明は、かかる欠点を除去することを目的とするも
のである。
This invention aims to eliminate such drawbacks.

更に、動き補償を用いたフレーム間符号化が知られてい
る。フレーム間符号化は画像信号を伝送するための帯域
圧縮で用いられており、動き補償とフレーム間差分を組
合せた符号化方式は、簡単には第43図のような構成で
実現される。第43図の動作原理等は、例えば下記の文
献を参照されたい。
Furthermore, interframe coding using motion compensation is known. Interframe encoding is used for band compression for transmitting image signals, and an encoding system that combines motion compensation and interframe difference is simply realized with a configuration as shown in FIG. 43. For the operating principle of FIG. 43, etc., please refer to the following literature, for example.

(rTV画像の多次元信号処理」吹抜著、日刊工業新聞
、P266〜P280、例えばこの中のP274の図7
゜第43図でDCTと示す132は、離散的コサイン変
換回路、IDC,Tで示す133は、その逆変換回路、
135は、フレーム遅延をつくるフレームメモリである
。入力データが動きベクトル検出回路136に供給され
ると共に、減算回路131に供給され、フレームメモリ
135からの前フレームの局部復号出力と減算される。
(Multi-dimensional signal processing of rTV images, written by Fukinuki, Nikkan Kogyo Shimbun, pages 266-280, for example, Figure 7 on page 274 of this page)
゜ In Fig. 43, 132 denoted as DCT is a discrete cosine transform circuit, 133 denoted as IDC, T is its inverse transform circuit,
135 is a frame memory that creates a frame delay. The input data is supplied to the motion vector detection circuit 136 and also to the subtraction circuit 131, where it is subtracted from the local decoded output of the previous frame from the frame memory 135.

局部復号が逆変換回路133および加算回路134で形
成される。離散的コサイン変換回路132から発生する
符号化データが符号割当て回路137により、ハフマン
符号などの符号化によってデータ量が縮小される。
Local decoding is formed by an inverse transform circuit 133 and an adder circuit 134. The encoded data generated from the discrete cosine transform circuit 132 is encoded by a code assignment circuit 137 using a Huffman code or the like to reduce the amount of data.

このような中でフレームメモリ (FM)の動き補償は
、第43図中央のループの外に動きベクトル検出回路1
36を持ち、その出力である動きベクトルにより実現さ
れる。前述のように、動きベクトル検出回路136は、
帯域圧縮装置(第43図)で必要なフレームメモリ13
5とは別にフレームメモリを必要する問題がある。
In such a situation, frame memory (FM) motion compensation is performed by using the motion vector detection circuit 1 outside the loop in the center of Fig. 43.
36, and is realized by the motion vector that is the output. As mentioned above, the motion vector detection circuit 136
Frame memory 13 required by the band compression device (Figure 43)
In addition to 5, there is a problem in that a frame memory is required.

従って、このように、動きベクトルの検出と帯域圧縮と
のそれぞれでフレームメモリを必要とすること見、問題
である。
Therefore, it is a problem that a frame memory is required for each of motion vector detection and band compression.

この発明は、この両者を兼用して、一つのフレームメモ
リで構成できる帯域圧縮装置を提供しようとするもので
ある。
The present invention aims to provide a band compression device that combines both of these functions and can be configured with a single frame memory.

〔課題を解決するための手段] この発明は、画像データを通常の水平走査から、P画素
×Qラインのブロック内の走査に変換された第1のデー
タ系列を発生する走査変換手段と、1フレームの時間差
を生じさせ、第2のデータ系列を発生するフレームメモ
リとを有し、第1および第2のデータ系列の一方に対し
てシフトレジスタを接続し、シフトレジスタのあるタッ
プを基準として、タップからさかのぼる(PXQ)画素
を構成する画像ブロックと、水平にi、垂直に1画素ず
れたブロックを設定し、そのブロックの各画素からブロ
ックがずれない時に、基準のタップまでの遅延差となる
遅延分だけ遅れたタップを選択し、フレームメモリの他
端と比較して、マツチ度を検査するようにしたことを特
徴とする動きベクトル検出装置である。
[Means for Solving the Problems] The present invention provides a scan conversion means for generating a first data series in which image data is converted from normal horizontal scanning to scanning within a block of P pixels x Q lines; a frame memory that generates a frame time difference and generates a second data series, a shift register is connected to one of the first and second data series, and a certain tap of the shift register is used as a reference; Set an image block that constitutes the (PXQ) pixels back from the tap and a block that is shifted horizontally by i and vertically by 1 pixel, and when the block does not shift from each pixel of that block, it becomes the delay difference to the reference tap. This motion vector detection device is characterized in that a tap delayed by the amount of delay is selected and compared with the other end of the frame memory to check the degree of match.

〔作用〕[Effect]

ブロックマツチングに必要な遅延を発生させるためのメ
モリ容量を大幅に低減できる。
The memory capacity required to generate the delay required for block matching can be significantly reduced.

〔実施例〕〔Example〕

以下、この発明の実施例について、図面を参照して説明
する。以下の説明は、ブロックマツチングのための好適
な実施例、動きベクトルの検出時の判定部の好適な実施
例、フレーム補償を組み合わせたフレーム間符号化、即
ち、帯域圧縮装置の好適な実施例について、順に述べら
れている。
Embodiments of the present invention will be described below with reference to the drawings. The following description describes a preferred embodiment for block matching, a preferred embodiment of a determining unit when detecting a motion vector, and a preferred embodiment of an interframe coding combined with frame compensation, that is, a preferred embodiment of a band compression device. are described in order.

まずブロックマツチングに関するこの発明の一実施例に
ついて説明する。この実施例では入力データはPXQ走
査変換がすでになされていると考える。即ち、第35図
Bおよび第35図Aのデータ列で入力されるとする。前
にも述べたように、1回のPXQ走査変換は負担ではな
いことに注意されたい。
First, an embodiment of the present invention relating to block matching will be described. In this embodiment, it is assumed that the input data has already been subjected to PXQ scan conversion. That is, it is assumed that the data strings shown in FIG. 35B and FIG. 35A are input. Note that, as mentioned earlier, one PXQ scan conversion is not burdensome.

第1図の回路を使うとRに対してその前フレームのその
Rの出力画素の周辺がちょうど画面の上下左右を逆にし
た形で各タップに得られることになる。
If the circuit shown in FIG. 1 is used, the periphery of the output pixel of R in the previous frame will be obtained for each tap in a form where the screen is turned upside down, left and right.

ここでフレームメモリ102は、3つの出力を待ち、出
力eは1フレームより5Hと50画画素層い遅延(F−
5)(−50)、出力fが1フレームより50画素分少
ない遅延(F−50)、出力gが1フレームより5H多
く50画画素層い遅延(F+5H−50)である。
Here, the frame memory 102 waits for three outputs, and the output e is delayed by 5H and 50 pixel layers from one frame (F-
5) (-50), the output f is delayed by 50 pixels less than one frame (F-50), and the output g is delayed by 5H more than one frame by 50 pixels (F+5H-50).

また各e、f、gにつながるシフトレジスタはブロック
内の走査の如く接続され、その各々がタップを有してい
る。なお、50画素とはPXQの2倍のことである。そ
して第1図でdと示すfから50画素分シフトレジスタ
で遅延された所のタップがRと丁度、1フレームの時間
差となるタップである。
Further, the shift registers connected to each of e, f, and g are connected in a scanning manner within a block, and each of them has a tap. Note that 50 pixels is twice as many as PXQ. A tap delayed by 50 pixels from f, indicated as d in FIG. 1, is a tap with a time difference of exactly one frame from R.

なおe′、f′、g′に対して、各々それまでと同様の
回路が続くと考えてよいが、後述のようにその必要がな
い。またfやgはe′やf′に対して遅延回路をつけて
も得ることができるが、ここではフレームメモリから得
られるものとしている。
Note that it may be considered that the same circuits as before are continued for e', f', and g', but as will be described later, this is not necessary. Although f and g can be obtained by adding a delay circuit to e' and f', here it is assumed that they are obtained from a frame memory.

まずRに現フレームのあるブロックの先頭データが現れ
たタイミングを考えると、その時そこから後の25画素
はそのブロックの各画素であり、その時、同時にdには
画面上そのブロックと同じ位置の前フレームのブロック
の先頭データが現れており、そこから後の25画素はそ
れぞれR側と画面上位置が対応するデータが順次得られ
る。
First, considering the timing at which the first data of a block in the current frame appears in R, the next 25 pixels are each pixel in that block, and at the same time, in d, the previous data at the same position as that block on the screen appears. The first data of the block of the frame appears, and for the next 25 pixels, data whose positions on the screen correspond to the R side are sequentially obtained.

よってこの25画素の期間を第33図の構成中のメモリ
112を単なるレジスタにした回路でブロック比較する
と、C(0,0)のタップの場合と同じマツチ度が得ら
れる。
Therefore, if this 25 pixel period is compared in blocks using the circuit shown in FIG. 33 in which the memory 112 is simply a register, the same degree of matching as in the case of the C(0,0) tap will be obtained.

第1図の各タップをその配列の通りに略記するのが第2
図である。ここで2本線による区切りはニブロック分(
PXQ=25画素)のシフトレジスタ段の区切りである
。第2図以後も常に第1図のように接続されていること
を念頭において考える。第2図のような図では画面と比
べると、画素の並びが上下と左右で逆になっている。
The second step is to abbreviate each tap in Figure 1 according to its arrangement.
It is a diagram. Here, the separation by two lines is for niblocks (
PXQ=25 pixels) is a shift register stage separation. Even after FIG. 2, keep in mind that the connections are always as shown in FIG. 1. In a diagram like FIG. 2, compared to the screen, the arrangement of pixels is reversed vertically and horizontally.

さて、次に水平方向に一2画素ずれた場合、即ち、C(
−2,0)とRのブロック比較を考える。
Now, if there is a shift of 12 pixels in the horizontal direction, that is, C(
-2,0) and R.

この場合でもR側は現フレームのあるブロックの先頭デ
ータがRに現れたタイミングから考える。
Even in this case, the R side is considered from the timing when the first data of a certain block of the current frame appears on R.

そのブロックに相当する前フレームの25画素はその時
、第2図の点線の領域のレジスタにある。
The 25 pixels of the previous frame corresponding to that block are then in the register in the dotted line area of FIG.

さて、水平方向に一2画素ずれたブロックは、同じその
時に実線の領域のレジスタにある。この領域は2本線を
またいでおり、シフトレジスタはこの2本線の間では水
平にはつながっていないので、この2本線の右側と左側
で分けて考える必要がある。
Now, the block shifted by 12 pixels in the horizontal direction is in the register in the solid line area at the same time. This area straddles two lines, and since the shift register is not connected horizontally between these two lines, it is necessary to consider the right side and left side of these two lines separately.

まず、右側ではC(−2,0)のタップとして第1図の
dから水平に一2画素ずれたe′でよい。
First, on the right side, e', which is horizontally shifted by 12 pixels from d in FIG. 1, may be used as the tap for C(-2,0).

しかし、e′のタップではブロックの先頭画素から続く
3画素はよいが、その次の2画素は領域外となり、その
後の3画素は有効でまた、その後の2画素は外のものと
いうことになる。
However, when tapping e', the three pixels following the first pixel of the block are good, but the next two pixels are outside the area, and the next three pixels are valid, and the next two pixels are outside the area. .

次に左側の部分についてだが、この部分の図上−香石下
の画素について考えると、ブロックの先頭データがe′
にいる時から3サイクル後にe′のタップにあられれる
べきものなので、これは実はC#のタップになってしま
う。即ち、この左側の部分についてはC#をタップとす
れば良いことがわかる。そしてe′のタップで実線の領
域から出てしまうタイミングでは、C″を選ぶようにC
′とC“を選択すればよいことがわかる。
Next, regarding the part on the left, if we consider the pixel on the top of the diagram and the bottom part of the figure, we can see that the first data of the block is e'
This is actually a C# tap because it should appear on the tap of e' three cycles after it is in the current state. In other words, it can be seen that C# can be used as a tap for this left part. Then, at the timing when tapping e' leaves the solid line area, select C''.
' and C'' can be selected.

結局、水平に−i画素(0〈i≦S)ずれたブロックマ
ツチングは、シフトレジスタでdよりiタップ手前のタ
ップと、dよりPXQ−iタップ手前の2つのタップを
使いそれをP−iサイクルとiサイクルごとに選択する
ことにより、比較回路に必要なデータを供給することが
できる。
In the end, block matching with a horizontal shift of -i pixels (0<i≦S) uses two taps in the shift register, one tap i taps before d and one PXQ-i taps before d. By selecting every i cycle and every i cycle, necessary data can be supplied to the comparator circuit.

同様に垂直に例えば−2画素ずれたケースを考えると、
−点鎖線の領域を前フレームの比較用ブロックとして考
えねばならないから、今度は上下に別のシフトレジスタ
列をまたがってしまう。しかし、この場合も同様に考え
てC″′とC″“を選択するようにすればよいことが直
ぐにわかる。
Similarly, if we consider a case where there is a vertical shift of, for example, -2 pixels,
- Since the area indicated by the dotted chain line must be considered as a comparison block of the previous frame, it will now straddle another shift register column above and below. However, it is immediately clear that in this case, C'''' and C'''' should be selected based on the same considerations.

即ち、垂直に−j画素(0〈j≦T)ずれたブロックマ
ツチングは、シフトレジスタでdよりj×Qタップとd
より(HXQ−(Q−j)XP)タップ手前のタップ(
言い換えると後者はfからdまでと同じ遅延分だけeか
ら遅延した所d′より(Q−j)XPタップ後のタップ
)を前半のj×Pサイクルと後半の(Q−j)XPサイ
クルで切換えればよい。
In other words, block matching vertically shifted by -j pixels (0<j≦T) is performed using j×Q taps and d
Tap before (HXQ-(Q-j)XP) tap (
In other words, the latter is delayed from e by the same delay as from f to d, from d' (tap after (Q-j)XP tap) in the first half j × P cycle and the second half (Q-j) All you have to do is switch.

問題は一般的な水平に一1画素、垂直に−J画素ずれた
ケースだが、例えば水平に一3画素、垂直に一2画素ず
れる場合を考える。この場合は、第3図の実線の領域を
意味し、これとR側の点線の領域がブロック比較されね
ばならない。
The problem is the general case of a shift of 11 pixels horizontally and -J pixels vertically, but let's consider, for example, a case where there is a shift of 13 pixels horizontally and 12 pixels vertically. In this case, this means the area indicated by the solid line in FIG. 3, and this must be block-compared with the area indicated by the dotted line on the R side.

第3図の実線領域は今度は縦と横の2本の2本線をまた
ぎ、4分割されている。即ち、第1図のシフトレジスタ
上でシフトレジスタのつながりで考えるとあちこちに分
割されている。第4図のタイムチャートはその様子を示
している。
The solid line area in FIG. 3 now straddles two vertical and horizontal lines and is divided into four parts. That is, if we consider the shift registers in the shift register shown in FIG. 1, they are divided into various parts. The time chart in FIG. 4 shows this situation.

第4図Aがクロックである。第4図BのRは、第3図の
点線の領域の現フレームのデータがあられれるタイミン
グを“H”として示している。これはPXQ=25サイ
クル続く。これにあわせて第3図の実線の領域のデータ
が第4図CおよびDのdとd′に示している。
FIG. 4A is a clock. R in FIG. 4B indicates the timing at which the data of the current frame in the dotted line area in FIG. 3 is collected as "H". This lasts PXQ=25 cycles. In conjunction with this, the data in the solid line area in FIG. 3 is shown in d and d' in FIG. 4, C and D.

第4図で使われる00〜44の番号は、Rにブロックの
最初の画素があられれる時、即ち、第4図の最初のサイ
クルにおいて第3図上で比較されるブロックの各画素が
どこにあるかを示すものである。このOO〜44の25
画素が第4図工のyのように並ばないと、第33図のよ
うな演算器でRと比較ができない。
The numbers 00 to 44 used in Figure 4 indicate where each pixel of the block compared on Figure 3 is located when the first pixel of the block is placed in R, i.e. in the first cycle of Figure 4. It shows that. This OO~25 of 44
If the pixels are not lined up like y in Figure 4, it will not be possible to compare them with R using an arithmetic unit as shown in Figure 33.

第3図の実線の領域は2本線で右下、左下、右上、左上
の4つの部分に分かれる。右下の部分には0O101,
10,11,20,21の各画素があるが、これはC′
のタップから見るとRのデータ列とタイミングが合う。
The solid line area in FIG. 3 is divided into four parts by two lines: lower right, lower left, upper right, and upper left. 0O101 in the lower right part,
There are pixels 10, 11, 20, and 21, which are C'
When viewed from the tap, the timing matches the data string of R.

左下の部分には02.03.04.12.13.14.
22.23.24がある。これは先の水平ずれのみの時
の例と同様の考え方でC″のタップでRとタイミングが
合う。
In the lower left part is 02.03.04.12.13.14.
There is 22.23.24. This idea is similar to the previous example when there is only a horizontal shift, and the tap of C'' matches the timing of R.

右上の部分は30.31.40.41があり、これは先
の垂直すれと同様の考え方でC″′のタップでRとタイ
ミングが合う。
The upper right part has 30, 31, 40, 41, and this is the same idea as the previous vertical slip, and the timing matches R with the tap of C''''.

左上の部分は32.33.34.42.43.44があ
り、例えば32は画面上00の位置から水平に一2画素
、垂直に一3画素ずれていて、若し、ブロックが点線の
領域のように1つのシフトレジスタの列からはみ出さな
ければ、00の位置から17段手前の遅延量の所にある
ので、現実のシフトレジスタの接続方向へ32の所から
17段遅れたC“″のタップが代わりになることがわか
る。
The upper left part has 32, 33, 34, 42, 43, 44. For example, 32 is shifted by 12 pixels horizontally and 13 pixels vertically from the position 00 on the screen, and if the block is the dotted line area If it does not protrude from one shift register column like this, it is at a delay amount of 17 stages before the 00 position, so C "" which is 17 stages behind from the 32 position in the actual shift register connection direction. You can see that tapping can be used instead.

これらのことは第4図のタイムチャートで見るとよくわ
かる。d及びd′に対してC′、C“、C″′、C″′
は単に時間ずれの関係であるから、シフトレジスタの段
数間隔に応じて第4図F。
These things can be clearly seen by looking at the time chart in Figure 4. C', C", C"', C"' for d and d'
Since this is simply a time lag relationship, the difference in FIG. 4F depends on the number of stages of the shift register.

G、HのC′、C#、C″′、C#”が得られる。yの
データ列は第4図工の下に示したタイミングでC′〜C
#“を選択すればよい。
C′, C#, C″′, and C#″ of G and H are obtained. The data string of y is C' to C at the timing shown below in Figure 4.
#” should be selected.

−膜化すると水平に−i画素(0〈i≦S)、垂直に−
j画素(0〈j≦T)ずれたブロックとの比較は (1)dより(j X P + i )段、手前のC′
で示すタップと (2)dより((PXQ+jxP)−(P−i))投手
前のC“で示すタップ (3) d ’より(jXF’  (P−i))最後の
Crt′で示すタップ (4) d ’よりPXQ−((Q−j)XP十(P−
j))投手前のC″″で示すタップ なる4つのタップを使いその出力を適当に選択してR出
力と比較すれば良い。またその選択手順は (1)ブロックの先頭から(Q−j)XPサイクルの範
囲では、(P−i)サイクルをC′次のiサイクルをC
″という選択を繰返す。
-When formed into a film, -i pixels horizontally (0<i≦S), vertically-
Comparison with a block shifted by j pixels (0<j≦T) is (1) C' which is (j X P + i) steps earlier than d.
(2) From d ((PXQ+jxP)-(P-i)) Tap shown by C" in front of the pitcher (3) From d'(jXF' (P-i)) Finally tap shown by Crt' (4) From d', PXQ-((Q-j)XP0(P-
j)) Using the four taps indicated by C'''' in front of the pitcher, you can select their output appropriately and compare it with the R output. The selection procedure is (1) In the range of (Q-j) XP cycles from the beginning of the block, (P-i) cycle is C' and the next i cycle is C
Repeat the selection.

(2)残りのjXPサイクルでは、(P−i)サイクル
をC″′、次のiサイクルをC#“という選択を繰返す
(2) In the remaining jXP cycles, repeat the selection of (P-i) cycle as C''' and the next i cycle as C#''.

以上のことを要約して下記に示す。The above is summarized below.

水平に−i画素、垂直に−j画素ずれた前フレームのブ
ロックとのブロック比較に(0≦i≦S)、(0≦j≦
T)必要なデータ列は第5図のC’(−i、−j)、C
″ (−i、−j)、C’″ (−i、−j)、C“(
−i、−j)の最大4つのタップを切換えて得られるの
である。
For block comparison with the block of the previous frame shifted by -i pixels horizontally and -j pixels vertically, (0≦i≦S), (0≦j≦
T) The required data strings are C' (-i, -j) and C in Figure 5.
'' (-i, -j), C''' (-i, -j), C'' (
-i, -j) by switching a maximum of four taps.

また、第5図ではこれまでのdの位置がC″(0,0)
である。また、これまでの実施例の説明は全て水平垂直
に負のずれの場合のみであったが、正の場合も基本的に
同し考え方で考えることができる。第5図では水平と垂
直に両方とも正にずれる場合について必要なタップが記
入されている。水平が正で垂直が負というような組合せ
に必要なタップは他の目的に必要なタップと重なるので
記入を省略している。
Also, in Figure 5, the previous position of d is C″(0,0)
It is. Further, although all the embodiments described so far have been explained only in the case of negative horizontal and vertical deviations, the case of positive deviations can also be considered basically in the same way. In FIG. 5, the necessary taps are shown for the case where there is a positive shift both horizontally and vertically. Taps required for combinations such as horizontal positive and vertical negative are omitted because they overlap with taps required for other purposes.

第5図ではe入力から3ブロック分、f入力から4ブロ
ック分、g入力から3ブロック分のシフトレジスタが必
要である。しかし、これは工夫してシフトレジスタを減
らすことが可能である。
In FIG. 5, shift registers for three blocks from the e input, four blocks from the f input, and three blocks from the g input are required. However, this can be devised to reduce the number of shift registers.

例えば第5図では正のずれの場合にも負のずれの時と同
じ場所即ちC″ (0,0)の位置を基準としているが
この基準を第5図のd#の位置に移して考えてみると正
のずれの場合に必要なタップは第6図のように負のずれ
の時に必要なタップとかなり兼ねることができるように
なる。
For example, in Fig. 5, even in the case of a positive deviation, the same place as in the case of a negative deviation, that is, the position C'' (0, 0), is used as the reference, but this reference is moved to the position d# in Fig. 5. As shown in FIG. 6, the taps required in the case of a positive deviation can also serve as taps required in the case of a negative deviation.

正のずれの場合にタップのとり出しを第6図にすると、
第5図と合わせて考えて少なくともgから導かれるシフ
トレジスタは不要となるので、−見よさそうだが、実は
基準をdの位置からd″の位置に変えるということはR
側について負のずれの場合と正のずれの場合で変えねば
ならず、正のずれの場合はdとd′の遅延差分だけRか
ら手前の遅延量のタップをつくらねばならず、これは先
のg についてのシフトレジスタが不要になる分に比べ
てあまり得ではない。
If the tap is taken out in the case of positive deviation as shown in Figure 6,
Considering this in conjunction with Fig. 5, at least a shift register derived from g is unnecessary, so - It may look nice, but actually changing the reference from the position of d to the position of d'' means R
The side must be changed depending on whether there is a negative shift or a positive shift, and in the case of a positive shift, a tap with a delay amount of this side must be created from R by the delay difference between d and d'. This is not much of an advantage compared to the fact that a shift register for g is no longer required.

例えば第6図では水平、垂直共に正のずれの場合にも水
平、垂直共に負のずれの時と同じ場所、即ち、C″ (
0,0)の位置を基準にしているが、この基準を第7図
のd″の位置に移して考えると水平垂直共に正のずれの
場合に必要なタップは、第7図のように水平垂直共に負
のずれの時に必要なタップと全部兼ねてしまうことがで
きる。
For example, in Fig. 6, even when there is a positive deviation both horizontally and vertically, the same place as when there is a negative deviation both horizontally and vertically, that is, C'' (
0, 0), but if we move this reference to the position d'' in Figure 7, the taps required in the case of positive displacement both horizontally and vertically are as shown in Figure 7. It can serve as all the taps needed when there is a negative vertical deviation.

この第7図のd″の位置はdの位置から最大ずれの1=
s=4、j=T=3だけずれた位置で、ここを基準にと
ると全てのタップ選択の手順は水平、垂直共に負のずれ
の場合と同じ組合せが使えるのである。
The position of d'' in Fig. 7 is the maximum deviation from the position of d, which is 1=
If the position is shifted by s=4, j=T=3, and this is taken as a reference, the same combinations as in the case of negative shift both horizontally and vertically can be used for all tap selection procedures.

同様なことは水平に正、垂直に負或いは水平に負、垂直
に正のずれの場合でも言える。水平垂直共に正のずれの
場合にタップのとり出しを第7図にすると、第5図と合
わせて考えてgから導かれるシフトレジスタは不要とな
り、またfからのシフトレジスタも2ブロック分で良い
。但し、水平垂直共に正のずれの場合には、基準がdか
らd#の位置に変わるので、R側について水平垂直共に
負のずれの場合とdとd′の遅延差の分だけRより手前
の遅延量のタップをつくり、これを使わねばならない。
The same thing can be said in the case of horizontally positive and vertically negative deviations, or horizontally negative and vertically positive deviations. If the tap extraction is shown in Figure 7 in the case of a positive shift both horizontally and vertically, the shift register derived from g becomes unnecessary when considered in conjunction with Figure 5, and the shift register from f only needs to be for two blocks. . However, if there is a positive shift both horizontally and vertically, the reference changes from d to d#, so if there is a negative shift both horizontally and vertically on the R side, the position will be moved closer to R by the delay difference between d and d'. You must create a tap with a delay amount of and use it.

しかし、そのための遅延回路はわずかである。However, the number of delay circuits required for this purpose is small.

なお、eからのシフトレジスタのうち最初の1ブロック
分についてつながる姿のがないから、これは節約するこ
とが可能である。
Note that since there is no connection for the first block of shift registers from e, this can be saved.

以上まとめると本実施例は第8図のように、フレームメ
モリ13.14および遅延部と第9図のようなブロック
比較部となる。
To summarize the above, this embodiment consists of frame memories 13 and 14 and a delay section as shown in FIG. 8, and a block comparison section as shown in FIG. 9.

結局、第8図のように、Rは、水平と垂直のずれの正負
でR+土、R−+、R+−1R−−1の4つに分けて考
えられる。
As a result, as shown in FIG. 8, R can be divided into four types, R+ soil, R-+, R+-1R--1, depending on the positive and negative of the horizontal and vertical deviations.

そして、それらのそれぞれの基準となる点は第8図のd
++、d−十、d十−1d−−なので、そめ間の遅延差
を補償する。即ち、R+十とR−十及びR十−とR−一
はちょうど5(=4画素)、R+十とR−一はTP+S
 (−3X5+4=19画素)となる。第1図の出力e
、f、gにつながるシフトレジスタに相当するものはe
′とf′につながるシフトレジスタとなる。
The reference point for each of them is d in Figure 8.
++, d-1, and d1-1d--, so the delay difference between the two is compensated. That is, R+1 and R-1 and R0- and R-1 are exactly 5 (=4 pixels), and R+1 and R-1 are TP+S.
(-3X5+4=19 pixels). Output e in Figure 1
, f, and g correspond to the shift register connected to e.
' and f' become a shift register.

e′では、第7図のように最初の1ブロック分について
はつながるタップがないので、これを省略しその分フレ
ームメモリに遅延を課している。
In e', as shown in FIG. 7, there is no connected tap for the first block, so this is omitted and a delay is imposed on the frame memory accordingly.

また、次のブロックについても最初の2ラインの10画
素分はやはり使われていない。これはちょうどf′につ
ながるシフトレジスタ列についても最初のブロックの最
初の2ライン分の10画素分が使われないので、まとめ
てフレームメモリに遅延を移している。また、gに相当
するものは必要ないので、第8図にはない。第8図で点
線で示す四角はこのように不要なシフトレジスタ部分で
節約したことを示している。
Also, in the next block, the first two lines of 10 pixels are still not used. This is because the 10 pixels of the first two lines of the first block are not used for the shift register column connected to f', so the delay is transferred to the frame memory all at once. Also, since there is no need for something corresponding to g, it is not shown in FIG. The squares indicated by dotted lines in FIG. 8 indicate the savings made in unnecessary shift register parts.

e′とf′の間の遅延差は本来9942分でQ×H画素
分であるが、e′からのシフトレジスタのうち最初のブ
ロックを省略しているのでQXH−PXQ=5 H−2
5画素分の遅延になっている。
The delay difference between e' and f' is originally 9942 minutes, which is Q x H pixels, but since the first block of the shift register from e' is omitted, QXH - PXQ = 5 H - 2
There is a delay of 5 pixels.

フレームメモリはR−−とd−一が1フレーム(F)差
になるようにされていなければならずF−2(PQ)+
 (TP+S)−(QH−PQ)+10=F−5H+4
となる。
The frame memory must be set so that there is a difference of one frame (F) between R-- and d-1, and F-2 (PQ) +
(TP+S)-(QH-PQ)+10=F-5H+4
becomes.

ブロック比較は、第9図のような回路を使う。Block comparison uses a circuit like the one shown in FIG.

即ち、Rからセレクタ1で選択されたデータを減算する
減算回路9と、絶対値化回路10と、加算回路11と、
レジスタ12とからなる累算器の構成が使用される。
That is, a subtraction circuit 9 that subtracts the data selected by the selector 1 from R, an absolute value conversion circuit 10, an addition circuit 11,
An accumulator configuration consisting of register 12 is used.

このRには、ずれの量を水平方向1画素、垂直方向1画
素とする時に iが正でjが正の時は、R+十を iが負でjが正の時は、R−十を iが正でjが負の時は、R十−を iが負でjが負の時は、R−一を それぞれ使用する。
For this R, when the amount of deviation is 1 pixel in the horizontal direction and 1 pixel in the vertical direction, when i is positive and j is positive, R + ten, and when i is negative and j is positive, R - ten When i is positive and j is negative, R-1 is used, and when i is negative and j is negative, R-1 is used.

そしてC’  (i、j)、C″ (i、j)、C’”
  (i、j)、C″″ (i、j)の最大4つのタッ
プをセレクタ1に導き、これを第4図の説明に示した方
法で選択し、フレーム間の差をとり絶対値をとり、(或
いは自乗など)そして1ブロック分アキュムレートする
and C' (i, j), C'' (i, j), C'''
(i, j), C'''' (i, j) are guided to selector 1, selected using the method shown in the explanation of Figure 4, and the difference between frames is taken and the absolute value is taken. , (or square, etc.) and accumulate for one block.

以上の実施例の説明はS≦P、T≦Qのケースであって
、この条件以外の場合はもっと複雑になるが、同様な考
え方を拡張するだけで実現できる。
The above embodiments have been described for the case where S≦P and T≦Q, and cases other than these conditions are more complicated, but can be realized by simply extending the same idea.

第9図のようなブロック比較演算回路は、ずれの量(i
、j)ごとに必要であるが、先に示したようにこれは間
引くことがある。また、データレートとこの演算器の演
算速度の間で例えばn倍演算が速くできるとすれば1つ
の演算回路でn個の(i、j)用の演算を時分割多重が
可能であり、そのようにすれば演算器数は1 / nと
なる。
The block comparison calculation circuit as shown in FIG.
, j), but as shown above, this may be thinned out. Furthermore, if, for example, n-times arithmetic operations can be made faster between the data rate and the arithmetic speed of this arithmetic unit, then n arithmetic operations for (i, j) can be time-division multiplexed with one arithmetic circuit. If this is done, the number of arithmetic units will be 1/n.

ここでの説明はインターレースしない画像についての話
であったがインターレースする場合でも適用できる。た
だしインターレースされたフィールド間の動きベクトル
を求める時は先の(i、j)のずれのうちjは全て0.
5画素オフセットを持つことになる。
The explanation here was about non-interlaced images, but it can also be applied to interlaced images. However, when calculating the motion vector between interlaced fields, all j of the deviations (i, j) are 0.
It will have a 5 pixel offset.

次に、上述の実施例により得られたブロックマツチング
の結果に基づいて、動きベクトルを検出する時の判断の
手順を簡単化できる実施例について、説明する。
Next, an embodiment will be described in which the determination procedure when detecting a motion vector can be simplified based on the result of block matching obtained by the above-described embodiment.

本実施例の手順は第10図のようなものである。The procedure of this embodiment is as shown in FIG.

従来の第41図と異なり、マツチ度の分布、即ち、いろ
いろな極小を調べたりしない。
Unlike the conventional Fig. 41, the distribution of the degree of matching, that is, various minimums are not investigated.

ブロックマツチングのステップ21の後で、マツチ度最
小のベクトル量(x、y)をのみまず得る。(ステップ
22) そして、周辺ベクトルの相関検出がなされる(ステップ
23)。これは、注目ブロックの周辺の8つのブロック
のマツチ度最小ベクトル(xi。
After block matching step 21, only the vector quantities (x, y) with the minimum degree of matching are first obtained. (Step 22) Correlation between surrounding vectors is then detected (Step 23). This is the minimum matching vector (xi) of the eight blocks surrounding the block of interest.

yi)(iはブロックにつけた番号)について、例えば
フーリエを変換を行う。Xが左右、yが上下方向とする
。即ち、今、例えば第39図のD−bのブロックに注目
しているとすると、そのまわりの8つのブロックに第1
1図のように順に周囲を巡るように番号をつけ(どちら
まわりでも、どこのブロックから始めてもよい)その番
号をiとする。するとこの第11図のケースだと、例え
ば第12図のような波形が得られる。第12図で横軸は
空間的な位置(SP)で、具体的には番号iである。縦
軸は動きベクトルのX成分或いはX成分である。第12
図Aが動きベクトルのX成分、第12図Bが動きベクト
ルのX成分である。第39図で車が右へ動いていると(
右へ動く時がXが正で、上へ動く時yが正であるとする
と)、第12図のような波形になる。
yi) (i is the number assigned to the block), for example, performs Fourier transform. Let X be the left and right direction, and y be the up and down direction. That is, for example, if we are looking at block D-b in Figure 39, the eight blocks around it have the first
As shown in Figure 1, number the blocks in order as you go around them (you can start from any block in either direction) and let that number be i. Then, in the case of this FIG. 11, a waveform as shown in FIG. 12, for example, is obtained. In FIG. 12, the horizontal axis is the spatial position (SP), specifically the number i. The vertical axis is the X component of the motion vector. 12th
Figure A shows the X component of the motion vector, and Figure 12B shows the X component of the motion vector. In Figure 39, if the car is moving to the right (
Assuming that X is positive when moving to the right and y is positive when moving upward), the waveform will be as shown in Figure 12.

第11図の場合、i=1とi=3においてはそれぞれc
−bとD−cのブロックであるが、これは輪郭部で動き
ベクトルは背景のものと車のもののどちらになるかわか
らないが例えば第12図のようになったとする。すると
フーリエ変換により第12図の波形は周波数分析され、
変換後は第13図Aのような結果が得られるはずである
。第13図Aはフーリエ変換後のパワースペクトラムで
ある。第13図Aは波が基本波として1波存在している
ので、第13図Aでは横軸の空間周波数(sf)の1の
所にピークが出ている。
In the case of Fig. 11, for i=1 and i=3, c
The blocks -b and Dc are contour parts, and it is unclear whether the motion vectors are from the background or the car, but let us assume that they are as shown in FIG. 12, for example. Then, the waveform in Figure 12 is frequency analyzed by Fourier transform,
After conversion, a result like that shown in FIG. 13A should be obtained. FIG. 13A is a power spectrum after Fourier transformation. In FIG. 13A, there is one wave as the fundamental wave, so in FIG. 13A, the peak appears at the spatial frequency (sf) of 1 on the horizontal axis.

第13図Bは例えば背景だけの部分とか大きな動体内部
で注目ブロックのまわりのブロックの最小マツチ度ベク
トルが、全て同じベクトルに近い時の場合で、5f=o
、即ち直流成分にピークがでる。
Figure 13B shows a case where the minimum matching degree vectors of the blocks around the block of interest are all close to the same vector in a large moving object, such as a background part, for example, where 5f=o
, that is, a peak appears in the DC component.

フーリエ変換のあとは第13図AおよびBのようなデー
タについであるレベル以上の周波数成分を探し、それが
空間周波数がいくつのところかで分類する(ステップ2
4)。
After Fourier transformation, we search for frequency components above a certain level in the data shown in Figure 13 A and B, and classify them according to their spatial frequencies (step 2).
4).

第13図Bのように直流成分にピークのある時は、動き
ベクトルは注目ブロックの周辺でほぼ一定なので注目ブ
ロックも周辺と同じであろうと考えられ、動きベクトル
は注目ブロックのマツチ度最小ベクトルでよいと思われ
る(ステップ25)。
When there is a peak in the DC component as shown in Figure 13B, the motion vector is almost constant around the block of interest, so it is thought that the block of interest is also the same as the surroundings, and the motion vector is the minimum matching vector of the block of interest. It seems good (step 25).

なお、この注目ブロックが孤立動体の場合は、周辺と異
なるベクトルとなっているかも知れない。
Note that if this block of interest is an isolated moving object, the vector may be different from the surroundings.

しかし、孤立動体を救うのは容易ではないので、マツチ
度最小ベクトルがその動体によるものかその周辺と同じ
かはマツチ度の大小で決めるしかないので特に問題はな
いと考える。
However, it is not easy to save an isolated moving object, so whether the minimum matching vector is due to the moving object or the same as its surroundings can only be determined by the matching degree, so I don't think there is any particular problem.

第13図Aのように、5f=1にピークが出ている時は
、注目ブロックの周辺のブロックの動きベクトルは1周
で1波の変化がある訳で、これは注目ブロックが動体輪
郭部に存在することを意味する。この場合は2つの動き
ベクトルがこのブロック内に存在するはずで、よって、
この時のみ適応的にブロックを更に例えば4分割したサ
ブブロックをつ(す、そのサブブロックについて動きベ
クトル検出を行う(ステップ26および27)。
As shown in Figure 13A, when the peak appears at 5f=1, the motion vectors of the blocks surrounding the block of interest change by one wave in one round, which means that the block of interest is located at the contour of a moving object. means that it exists in In this case, there should be two motion vectors within this block, so
Only at this time, the block is adaptively further divided into sub-blocks, for example, into four, and motion vector detection is performed for the sub-blocks (steps 26 and 27).

ただし、この時は再びブロックマツチングをする必要は
ない。なぜなら候補となるベクトルは周辺のブロックに
存在する2種のベクトルのグループの付近であることは
明らかで、かなり限定した範囲でのブロックマツチング
となり、操作が簡略化される。
However, at this time, there is no need to perform block matching again. This is because it is clear that the candidate vector is near a group of two types of vectors existing in the surrounding blocks, and block matching is performed within a fairly limited range, simplifying the operation.

ステップ25および27の後で、動き補償がなされる(
ステップ28)。しかし、フーリエ変換出力が第13図
のようにならない時は従来同様、動きベクトル検出不能
であり、動き補償は断念される。
After steps 25 and 27 motion compensation is done (
Step 28). However, when the Fourier transform output does not become as shown in FIG. 13, it is impossible to detect a motion vector and motion compensation is abandoned, as in the conventional case.

第14図は、適応ブロック化を説明するもので、第14
図Aのような動き物体である車が走っている場合で、ス
テップ24の判定で、5f=1〜3にピークが検出され
た時に、第14図Bに示すように、そのブロックの周辺
で局部的にサブブロック化を行う。第14図Cに示すよ
うに、この細かいサブブロックの単位で動きベクトルの
検出を再帰的に行う。
FIG. 14 explains adaptive blocking.
In the case where a moving object such as a car is running as shown in Figure A, when a peak is detected at 5f = 1 to 3 in the judgment at step 24, as shown in Figure 14B, the peak is detected in the vicinity of that block. Perform subblocking locally. As shown in FIG. 14C, motion vector detection is performed recursively in units of this fine subblock.

上述のこの発明の判定部の一例が第15図に示されてい
る。残差比較回路31では、■ブロック当りの残差が最
小のずれの位置が検出され、これが仮の動きベクトルと
して出力される。この仮の動きベクトルが遅延回路群3
2に供給される。これは、Pで示す仮の動きベクトルの
一つを記憶するレジスタと、Qで示す画素の水平方向に
並ぶブロック3だけ少ない数の仮の動きベクトルを記憶
するシフトレジスタとからなる。そして、フーリエ変換
等の直交変換回路33と、その出力が供給されるピーク
検出回路34とが設けられ、ORゲート35の出力端子
3日には、5f=1.2.3にピークがある時の判定信
号が取り出され、この判定信号がサブブロック化回路に
供給され、また、ANDゲート36の出力には、動きベ
クトルが出力される。
An example of the determination section of the present invention described above is shown in FIG. The residual comparison circuit 31 detects (1) the position of the deviation with the minimum residual per block, and outputs this as a temporary motion vector. This temporary motion vector is
2. This consists of a register that stores one of the temporary motion vectors denoted by P, and a shift register that stores temporary motion vectors that are smaller in number by three blocks of pixels arranged in the horizontal direction and denoted by Q. An orthogonal transform circuit 33 such as Fourier transform and a peak detection circuit 34 to which the output thereof is supplied are provided, and when there is a peak at 5f=1.2.3 at the output terminal 3 of the OR gate 35, A determination signal is extracted, and this determination signal is supplied to the sub-blocking circuit, and a motion vector is output to the output of the AND gate 36.

上記説明でフーリエ変換で説明した部分は、フーリエ変
換に限らすアダマール変換やハートレー変換なども使え
る。要するにいろいろな波数の参照波との相関演算をし
て、どの波数と最も相関が強いかが出せればよい。
For the parts explained using Fourier transform in the above explanation, you can also use Hadamard transform, Hartley transform, etc., which are not limited to Fourier transform. In short, it is sufficient to calculate the correlation with reference waves of various wave numbers and find out which wave number has the strongest correlation.

フーリエ変換の場合について補足すると、−見乗算等が
多く演算が大変そうだが、この変換は必ず8次の変換で
あり、FFTの手法により8次の場合は、はとんど加算
のみでよく乗算はごくわずかであることが周知である。
To add more information about the case of Fourier transform, it may seem difficult to calculate because there are many -multiplications, etc., but this transformation is always an 8th-order transformation, and using the FFT method, in the case of 8th-order, multiplication is often done by only addition. It is well known that there are very few.

よって問題ない。アダマール変換などは係数が1か0で
ありもっと演算が簡単である。
Therefore, there is no problem. Hadamard transform etc. have coefficients of 1 or 0 and are easier to calculate.

第10図の手順は、従来の処理に比べ単純操作ばかりで
あり、複雑な判断は必要ない。
The procedure shown in FIG. 10 involves simple operations compared to conventional processing, and does not require complicated judgments.

最後に、動きヘクトル補償とフレーム差分符号化方式と
を組み合わせたこの発明の更なる実施例について、以下
に説明する。第16図がその実施例である。
Finally, further embodiments of the invention combining motion hector compensation and frame differential coding will be described below. FIG. 16 shows an example of this.

第16図で、41が最初の実施例について述べたような
ブロックマツチングのための遅延部であり、42が減算
回路群であり、PIで示す43が電力積分回路群で、二
乗のための乗算回路とその乗算出力を累算する構成とさ
れている。この電力積分回路群43の出力が判定部44
に供給される。
In FIG. 16, 41 is a delay unit for block matching as described in the first embodiment, 42 is a subtraction circuit group, and 43, indicated by PI, is a power integration circuit group, which is used for squaring. It has a configuration in which a multiplication circuit and its multiplication output are accumulated. The output of this power integration circuit group 43 is determined by the determination unit 44.
supplied to

減算回路群42および電力積分回路群43は、上述のブ
ロック比較のために、(i、j)(i=−8〜+S、j
=−T〜十T)毎に、計(2S千1)(2T+1)個設
けられている。判定部44は、差の電力が最低とされた
ずれの量のフレーム差を選ぶものであり、出力端子45
には、検出された動きベクトルが得られる。
For the above-mentioned block comparison, the subtraction circuit group 42 and the power integration circuit group 43 calculate (i, j) (i=-8 to +S, j
= -T to 10T), a total of (2S, 1,001) (2T+1) are provided. The determination unit 44 selects the frame difference with the amount of shift that has the lowest difference power, and outputs the frame difference to the output terminal 45.
The detected motion vector is obtained.

減算回路群42に接続されたセレクタ46が設けられて
いる。このセレクタ46の出力がDCTの変換回路47
に供給される。変換回路47の出力dが符号割当て回路
51を介して符号化出力として取り出され、また、逆変
換回路48を介して加算回路49に供給される。加算回
路49の出力信号Cがフレームメモリ50に供給され、
フレームメモリ50の出力すが遅延図41および加算回
路49に供給されている。
A selector 46 connected to the subtraction circuit group 42 is provided. The output of this selector 46 is a DCT conversion circuit 47
supplied to The output d of the conversion circuit 47 is taken out as an encoded output via the code assignment circuit 51, and is also supplied to the addition circuit 49 via the inverse conversion circuit 48. The output signal C of the adder circuit 49 is supplied to the frame memory 50,
The output of the frame memory 50 is supplied to a delay diagram 41 and an adder circuit 49.

従来の構成と異なる点は、符号化回路のループ内に動き
ベクトル検出の構成を移動させた点である。
The difference from the conventional configuration is that the motion vector detection configuration is moved within the loop of the encoding circuit.

なお、動きベクトル検出点を減らす方法を利用する場合
、および第16図のように(2S+1)(2T+1”)
個演算回路を用意しても動きベクトルを画素格子の整数
単位でなく、実数として得るというような場合には、セ
レクタ46の所は単なるセレクタだけでなく、セレクタ
46に対して若干の可変遅延回路を接続して、この可変
遅延回路の遅延量を検出点の存在しない分、制御しても
良い。また、セレクタ46に対して遅延回路を接続し、
この遅延回路に補間演算回路例えば線形補間回路を接続
し、所望のずれた点のフレーム差を得るようにしても良
い。また、両者を組合せることも可能である。
In addition, when using the method of reducing the number of motion vector detection points, and as shown in Fig. 16, (2S+1) (2T+1")
Even if multiple calculation circuits are prepared, if the motion vector is to be obtained as a real number instead of an integer unit of a pixel grid, the selector 46 is not only a simple selector, but also a variable delay circuit for the selector 46. may be connected to control the delay amount of this variable delay circuit by the amount of the detection point. Further, a delay circuit is connected to the selector 46,
An interpolation calculation circuit, such as a linear interpolation circuit, may be connected to this delay circuit to obtain a frame difference at a desired shifted point. It is also possible to combine both.

上述のように、この発明の適用された帯域圧縮装置は、
フレームメモリが1つでよく、小型である。また、フレ
ームメモリのアドレス制?1ll(遅延量制御)が不要
である。従来に比べてふえるのはセレクタだけでたいし
たハードウェア増ではない。
As mentioned above, the band compression device to which the present invention is applied,
Only one frame memory is required and the device is small. Also, what about the frame memory address system? 1ll (delay amount control) is not required. The only increase in hardware compared to the past is the selector, which is not a huge increase.

なお、第16図のループ内にはDCT変換回路と逆変換
回路しか挿入しなかったが、ここにいろいろな処理を入
れることがあるが、それは、この発明と独立であるので
、ここでは触れないが、どのようなものも可である。ま
た、ブロック比較(マツチ度を求める)回路はパワー(
自乗)を使っているが、それは絶対値でも他の非線型演
算でも可能である。更に、従来から知られる動きベクト
ル検出点を減らす方法は、この発明でも同様に適用でき
る。
Although only the DCT conversion circuit and the inverse conversion circuit were inserted in the loop of Fig. 16, various processing may be inserted here, but since it is independent from this invention, it will not be discussed here. However, anything is possible. In addition, the block comparison circuit (determining the degree of match) has power (
(squared), but it can also be an absolute value or other nonlinear operation. Furthermore, the conventionally known method of reducing the number of motion vector detection points can be similarly applied to the present invention.

動き補償を組み合わせたフレーム差分符号化方式の帯域
圧縮装置の他の実施例について説明する。この実施例は
、第17図のようなもので基本的には、上述の第16図
の実施例の変換回路47を動きベクトル検出の部分の中
へ入れた構成となっている(変換回路群61)。従って
、第17図の詳細は、第16図とほぼ同様であり、ここ
では異なる点のみ補足的に説明する。
Another embodiment of a band compression device using a frame differential encoding method that combines motion compensation will be described. This embodiment is as shown in FIG. 17, and basically has a configuration in which the conversion circuit 47 of the embodiment shown in FIG. 61). Therefore, the details of FIG. 17 are almost the same as those of FIG. 16, and only the different points will be supplementarily explained here.

第17図で、IIと示すデータ量検出回路は、第16図
の電力積分回路PIと同じようなものでもよいのだが、
より良い帯域圧縮をするためDCT後の帯域圧縮された
データ量を検出するものである必要がある。例えば絶対
値の積分とか零ではないデータの数とか2進数表現の各
ビットの“1”の数などである。このデータ量検出回路
群62の出力が判定部44に供給される。
The data amount detection circuit shown as II in FIG. 17 may be similar to the power integration circuit PI in FIG.
In order to perform better band compression, it is necessary to detect the amount of band-compressed data after DCT. Examples include the integral of absolute values, the number of non-zero data, and the number of "1"s in each bit of binary representation. The output of this data amount detection circuit group 62 is supplied to the determination section 44.

また、ここでDCTと示した変換回路は、最低限DCT
を含むが、それと組み合わせて使われるジグザク変換等
の帯域圧縮テクニックを含んでよい。勿論その場合には
逆変換回路で、その逆の手順を実施することが必要であ
る。
In addition, the conversion circuit shown here as DCT is at least DCT
, but may include band compression techniques such as zigzag transforms used in conjunction with it. Of course, in that case, it is necessary to perform the reverse procedure using an inverse conversion circuit.

第17図は第16図より、より帯域圧縮に適した動きベ
クトル補償ができる。
FIG. 17 allows motion vector compensation more suitable for band compression than in FIG. 16.

第17図はまた、DCTが線型演算即ち内積演算(マト
リックス演算)であることから、フレーム差をとった後
でもその前でも同じ結果となるので、第18回のように
考えてもよいことは明白である。第18図は第17図の
変換回路群61の位置を更に前へ移したものである。
Figure 17 also shows that since DCT is a linear operation, that is, an inner product operation (matrix operation), the same result is obtained whether after or before taking the frame difference, so it is okay to think like the 18th example. It's obvious. FIG. 18 shows the conversion circuit group 61 in FIG. 17 moved further forward.

第17図、第18図のように、変換回路群61を動きベ
クトル検出回路内に移した時は、DCTの演算量が増え
ることが問題点である。しかし以下のように考えること
ができる。
When the conversion circuit group 61 is moved into the motion vector detection circuit as shown in FIGS. 17 and 18, the problem is that the amount of DCT calculation increases. However, it can be considered as follows.

まず前提として画像のブロック化は、既に説明したもの
と重複するが、第19図のように水平P画素×垂直Q画
素とする。ここでは、P=5、Q=5の例を示す。また
、動きベクトルは、水平に±S画素、垂直に±T画素ず
れた範囲で考えるとする。以下、S=4.T=3とする
First, as a premise, the image is divided into blocks of horizontal P pixels×vertical Q pixels, as shown in FIG. 19, which overlaps with what has already been explained. Here, an example where P=5 and Q=5 is shown. It is also assumed that the motion vector is within a range of ±S pixels horizontally and ±T pixels vertically. Hereinafter, S=4. Let T=3.

従って、現フレームにおけるあるPXQ画素のブロック
を第20図の内側の太線とする時の第20図の外側の太
線が、前フレームの画素のうちブロック比較に使われる
範囲である。第20図では、中央を座標0.O(x=o
、y−0)として画素毎に座標を記しである。ただし、
省略して一部の画素にしか記していない。
Therefore, when a certain PXQ pixel block in the current frame is shown as the inner thick line in FIG. 20, the outer thick line in FIG. 20 is the range of pixels in the previous frame that is used for block comparison. In Fig. 20, the center is at the coordinate 0. O(x=o
, y-0) for each pixel. however,
It is omitted and only some pixels are written.

(1)(垂直) 例えば、まず、1フレームで水平には左から右へ4画素
、垂直には上から下へ3画素ずれた場合に相当するブロ
ック比較は、現フレームのあるブロックを第20図の内
側の太線とするなら、前フレームにおいては第21図の
αの太線の位置のP画素×Q画素のブロックを比較対象
とすることになる。即ち、第22図Aのような座標のブ
ロックを使う。
(1) (Vertical) For example, first, a block comparison corresponding to a case where one frame is shifted horizontally by 4 pixels from left to right and vertically by 3 pixels from top to bottom is to compare a certain block in the current frame to the 20th If the thick line inside the figure is used, the block of P pixels×Q pixels at the position of the thick line α in FIG. 21 will be compared in the previous frame. That is, blocks with coordinates as shown in FIG. 22A are used.

次に、1フレームで水平には左から右へ4画素、垂直に
は上から下へ2画素ずれた場合に相当するブロック比較
は、今度は第21図のβの太線の位置のブロックを比較
対象とする。これは即ち、第22図Bのような座標のブ
ロックを使う。
Next, to compare blocks corresponding to a shift of 4 pixels horizontally from left to right and 2 pixels vertically from top to bottom in one frame, compare the blocks at the bold line β in Figure 21. set to target. That is, a block of coordinates as shown in FIG. 22B is used.

以下、水平のずれは同じで垂直方向のずれのみ異なるブ
ロック比較は以下同様である。
Hereinafter, blocks that have the same horizontal shift but differ only in vertical shift will be compared in the same way.

ここでαのDCTとβのDCTの比較をすると、次のよ
うなことがわかる。DCTは2次元で行われるが、まず
はじめに水平方向に変換を行い、その後垂直にするもの
とすれば、αの水平方向の変換が演算される第22図へ
の5ラインの各画素のグループは、βの水平方向の変換
画演算される。
If we compare the DCT of α and the DCT of β, we will find the following. DCT is performed in two dimensions, but if we first transform horizontally and then vertically, each group of pixels in 5 lines in Figure 22, where the horizontal transformation of α is calculated, is , β are calculated in the horizontal direction.

第22図Bの5ラインの各画素のグループは、68で示
すように、実はそのうちの4ラインがオーバーラツプし
ていて、αについて計算されていればβでは演算不要で
あることがわかる。
As shown by 68 in each group of pixels of 5 lines in FIG. 22B, 4 of the lines actually overlap, and it can be seen that if calculation has been performed for α, no calculation is necessary for β.

結局、水平のずれは同じで垂直のずれのみ異なるブロッ
ク比較については、水平方向の変換の際にかなり演算を
省略できる。
After all, when comparing blocks that have the same horizontal shift but differ only in vertical shift, a considerable number of calculations can be omitted during horizontal conversion.

(2)(水平) 次に今度は、水平には左から右へ3画素、垂直には上か
ら下へ3画素ずれた場合に相当するブロック比較は、現
フレームのあるブロックを第20図内側の太線とするな
ら前フレームについては第21図のαを右に1つずらし
たブロックを比較対象とすることになり、即ち第22図
Cのような座標のブロックを使う。第22図Cのデータ
ブロックは、第22図Aのデータブロックと比較すると
、第22図Aの左端のデータが第22図Cになくて、一
方、第22図Cの右端のデータが第22図Aにない。
(2) (Horizontal) Next, the block comparison corresponding to the case where the block is shifted horizontally by 3 pixels from left to right and vertically by 3 pixels from top to bottom is to compare a block in the current frame to the inside of Figure 20. If the bold line is used, then for the previous frame, a block shifted by one position to the right from α in FIG. 21 will be compared, that is, a block with coordinates as shown in FIG. 22 C will be used. When comparing the data block of FIG. 22C with the data block of FIG. 22A, the leftmost data in FIG. 22A is not in FIG. Not in Figure A.

2次元DCTをまず水平方向を先に変換するとすると、
フーリエ変換について例えば(産報出版“’FFTの使
い型”安居院猛他著P132〜133の“重なりデータ
に対する高速解法″)のような方法が知られているから
、第22図Aのようなαのブロックのデータについて変
換演算されていれば、69で示すように、それを右に1
画素ずらしたブロックの変換演算は新規に演算しなくて
も、簡単な演算で求まる。この参考資料はフーリエ変換
の話だが、コサイン変換でも同様である。
If we transform the two-dimensional DCT in the horizontal direction first,
Regarding the Fourier transform, for example, a method such as ("Fast solution method for overlapping data" in Sanpo Publishing "'FFT usage type" by Takeshi Yasuoin et al., pages 132-133) is known, so α as shown in Figure 22A is used. If a conversion operation has been performed on the data in the block, move it to the right by 1, as shown at 69.
Conversion calculations for blocks with shifted pixels can be determined by simple calculations without the need for new calculations. This reference material talks about Fourier transform, but the same applies to cosine transform.

上記説明は2次元DCTの最初の水平の1次元DCT変
換についてのみの話であったが、同様の考え方で、2次
元に拡張し、大幅な演算量削減がはかれる。第16図に
対する第17図は大幅な演算ハードウェア増になるが、
第17図を第18図にすると、大幅に演算量が減らされ
、それは第16図よりは多いがDCT等を動きベクトル
制御に含めたことによるメリットを生かせるようになる
Although the above explanation was only about the initial horizontal one-dimensional DCT transformation of the two-dimensional DCT, the same idea can be extended to two dimensions to significantly reduce the amount of calculation. Although Figure 17 requires a significant increase in calculation hardware compared to Figure 16,
When FIG. 17 is changed to FIG. 18, the amount of calculation is significantly reduced, and although it is more than that in FIG. 16, it is possible to take advantage of the advantages of including DCT and the like in motion vector control.

ここで演算量の比較を行う。Here, we will compare the amount of calculation.

第16図において、PIは自乗積分であれば、その構成
は、第23図の回路となる。即ち、第23図において、
71で示す減算回路の出力が乗算器72で自乗され、自
乗出力が加算回路73およびメモリ74で累算される。
In FIG. 16, if PI is a square integral, its configuration becomes the circuit shown in FIG. 23. That is, in FIG.
The output of the subtraction circuit 71 is squared by a multiplier 72, and the squared output is accumulated by an addition circuit 73 and a memory 74.

また、絶対値積分なら第24図である。即ち、第24図
において、71で示す減算回路の出力が乗算器72で自
乗され、自乗出力が符号反転回路75およびセレクタ7
6に供給される。セレクタ76の出力が累算される。
Moreover, in the case of absolute value integration, it is shown in FIG. That is, in FIG. 24, the output of the subtraction circuit indicated by 71 is squared by the multiplier 72, and the squared output is sent to the sign inverting circuit 75 and the selector 7.
6. The output of selector 76 is accumulated.

現フレームのPXQ画素の1ブロツクについて積分はP
XQ回演算累積し、それが(2S+1)x(2T+1)
個必要である。トータルでP−Q・(2S+1)X (
2T+1)回の演算で、1m素当たりでは(2S+1)
(2T+1)回ということになる。
The integral for one block of PXQ pixels in the current frame is P
Accumulate XQ operations, which is (2S+1) x (2T+1)
pcs are required. Total P-Q・(2S+1)X (
2T+1) operations, per 1m element (2S+1)
This means (2T+1) times.

DCTは、積和演算回路で演算でき、現フレームのPX
Q画素の1ブロツクについて、PXQXpZQ回演算す
る必要であり、1画素当たりP回である。
DCT can be calculated using a product-sum calculation circuit, and the PX of the current frame
For one block of Q pixels, it is necessary to perform the calculation PXQXpZQ times, which is P times per pixel.

第18図において 今DCTと示す部分は本当にDCTのみである。In Figure 18 The part now indicated as DCT is really only DCT.

またデータ量検出回路IIも、電力積分回路PIと同じ
とする。その時、IIの演算量は第16図のPIと同じ
である。DCTの前後でデータ数は変わらないからであ
る。
Further, it is assumed that the data amount detection circuit II is also the same as the power integration circuit PI. At that time, the calculation amount of II is the same as that of PI in FIG. 16. This is because the number of data does not change before and after DCT.

DCT演算については、単純に考えると、第18図には
DCTが(2S+1)(2T+1)+1個あるので、そ
の分筆16図より多くて、1画素当たり((2S+1)
(2T+1)+1) xP回の演算となって膨大である
。しかし、先に述べた理由により、これを全て演算する
必要はなくて、少なくともa側とb側に1つずつのDC
T演算回路は必要で、第16図より必ず2倍以上は必要
だが、非現実的な大きさにはならない。
Regarding the DCT operation, if you think about it simply, there are (2S+1)(2T+1)+1 DCTs in Figure 18, so there are more DCTs than in Figure 16, and each pixel has ((2S+1)
(2T+1)+1) xP calculations, which is huge. However, for the reason mentioned above, it is not necessary to calculate all of this, but at least one DC on the a side and one on the b side.
A T calculation circuit is necessary, and it is definitely more than twice as large as shown in FIG. 16, but it is not unrealistically large.

更に注目すべきことは、DCT出力においてはデータが
周波数分析されているのであり、あたかもフィルタバン
クを通したようなものなので、これまで考えられなかっ
たことを考えることができる。
What is also noteworthy is that the data is subjected to frequency analysis in the DCT output, as if it had been passed through a filter bank, so it is possible to think of things that were previously unthinkable.

まず、例えば帯域圧縮では、DCT出力のある周波数成
分はのぞいてしまうことがあるが、そうであればその周
波数成分については、II即ちPIは演算しなくてよく
、ここで演算が減る。
First, for example, in band compression, a certain frequency component of the DCT output may be excluded, but if this is the case, it is not necessary to calculate II, that is, PI, for that frequency component, and the number of calculations is reduced here.

次に、例えば入力aの所に入れたDCTで入力データの
各周波数成分がわかっているので、このDCT出力を判
断して、やはりIIで計算しなくてよい部分を見つけ出
すことができて演算を省略できる。
Next, for example, since each frequency component of the input data is known by the DCT input at input a, we can judge this DCT output and find the parts that do not need to be calculated in II, and perform the calculation. Can be omitted.

或いはまた、動きベクトル検出にブロック内の高周波成
分はあまり影響しないとして低域の限られた周波数成分
にIIの演算を限定できる。
Alternatively, the calculation of II can be limited to limited frequency components in the low range, assuming that high frequency components within a block do not have much influence on motion vector detection.

また、動きベクトル検出について、そのための演算量を
減らすための先に引用した参考文献(日刊工業新聞社刊
“TV両画像多次元信号処理”吹撤著P2O3〜204
の“3段階探索法″)のような方法があるが、このよう
なテクニックも本件に適用することが可能である。
Regarding motion vector detection, please refer to the reference cited earlier (Nikkan Kogyo Shimbun Publishing Co., Ltd., "TV Duo-Image Multidimensional Signal Processing", written by Fukueki, P2O3-204) to reduce the amount of calculation required for motion vector detection.
There are methods such as the "three-step search method"("three-step search method"), but such techniques can also be applied to this case.

第25図がその実施例である。第25図では、ずれた9
つの位置について調べることを3回繰り返してずれの量
を局限していく例を示している。
FIG. 25 shows an example of this. In Figure 25, the shifted 9
This shows an example in which the amount of deviation is localized by repeating the investigation three times for each position.

第25図は、第18図のa、b入力からdまでを置き換
えるべき部分についてのみ記しである。第25図で遅延
部41Aはこれまでの説明のものと同じだが、タップが
9つしかないもの、遅延部41Bは基本的に同様だが、
判定部41Aによって得られる最も、大雑把な領域最低
結果を踏まえて各タップの遅延量を決めるもの。遅延部
41Cは同じように判定部44Aと判定部44Bによっ
て限定された領域の各タップの遅延量を与えるものであ
る。また、EDI〜4で示す65A、65B、66A、
66Bは、演算部の遅延を保証する等価遅延回路である
FIG. 25 shows only the parts that should be replaced from inputs a and b to d in FIG. 18. In FIG. 25, the delay section 41A is the same as the one explained so far, but it has only nine taps, and the delay section 41B is basically the same, but
The amount of delay for each tap is determined based on the roughest area minimum result obtained by the determination unit 41A. Similarly, the delay unit 41C provides the amount of delay for each tap in the area limited by the determination unit 44A and determination unit 44B. In addition, 65A, 65B, 66A shown in EDI~4,
66B is an equivalent delay circuit that guarantees the delay of the arithmetic unit.

第25図には示していないが、ここにもDCTの演算を
減らす既に説明した方法を適用することができる。
Although not shown in FIG. 25, the previously described method of reducing DCT operations can be applied here as well.

〔発明の効果] この発明は、従来に比して、より簡単な判断と、より単
純な操作により、動きベクトルを検出することができる
。特に、この発明は、動き物体の輪郭部でも、動き補償
を行うことができ、このブロックがぼけないようにする
ことができる。
[Effects of the Invention] The present invention can detect motion vectors with simpler judgment and simpler operations than in the past. In particular, according to the present invention, motion compensation can be performed even on the outline of a moving object, and this block can be prevented from becoming blurred.

7/ 7/′ / / /″7/ 7/' / / /″

〔作用〕[Effect]

この発明は、従来に比して、より簡単な判断と、より単
純な操作により、動きベクトルを検出することができる
。」
The present invention can detect motion vectors with easier judgment and simpler operations than in the past. ”

Claims (1)

【特許請求の範囲】 時間的に1フレーム異なる画像信号の間で、対応する位
置のマッチ度を検出するブロックマッチングにより、動
きベクトルを検出するようにした動きベクトル検出装置
において、 上記ブロックマッチングで検出されたマッチ度の最小の
ベクトルを検出し、 上記検出された最小のベクトルの空間的に周辺のベクト
ルを順に並べ、参照波との相関演算を行い、相関に応じ
た出力を発生し、 上記相関演算の出力から、上記最小のベクトルを動きベ
クトルとして検出し、及び又は動体輪郭部がブロック内
に存在することを判定するようにしたことを特徴とする
動きベクトル検出装置。
[Claims] A motion vector detection device that detects a motion vector by block matching that detects the degree of matching of corresponding positions between image signals that differ by one frame in time, the motion vector being detected by the block matching. The vector with the minimum matching degree is detected, the vectors spatially surrounding the detected minimum vector are arranged in order, the correlation calculation with the reference wave is performed, and an output according to the correlation is generated. A motion vector detection device characterized in that the minimum vector is detected as a motion vector from the output of the calculation, and/or it is determined that a moving object contour exists within a block.
JP2338494A 1990-11-30 1990-11-30 Motion vector detector Pending JPH04207790A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2338494A JPH04207790A (en) 1990-11-30 1990-11-30 Motion vector detector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2338494A JPH04207790A (en) 1990-11-30 1990-11-30 Motion vector detector

Publications (1)

Publication Number Publication Date
JPH04207790A true JPH04207790A (en) 1992-07-29

Family

ID=18318687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2338494A Pending JPH04207790A (en) 1990-11-30 1990-11-30 Motion vector detector

Country Status (1)

Country Link
JP (1) JPH04207790A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5767898A (en) * 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5963673A (en) * 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5767898A (en) * 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US6075556A (en) * 1994-06-23 2000-06-13 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5963673A (en) * 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding

Similar Documents

Publication Publication Date Title
US5226093A (en) Motion vector detection and band compression apparatus
EP1072017B1 (en) Motion estimation system and method
US5748247A (en) Refinement of block motion vectors to achieve a dense motion field
US5398068A (en) Method and apparatus for determining motion vectors for image sequences
US5742710A (en) Computationally-efficient method for estimating image motion
KR101127220B1 (en) Apparatus for motion compensation-adaptive de-interlacing and method the same
US7197074B2 (en) Phase plane correlation motion vector determination method
JPH06506578A (en) Method for estimating motion content in video signals
JPH0660187A (en) Image processing system
KR960039997A (en) Method and apparatus for encoding video signal using feature point based motion estimation
JP2000134585A (en) Motion vector deciding method and method and circuit for number of frames of image signal conversion
CN101971209A (en) Sparse geometry for super resolution video processing
US5436666A (en) Limited-domain motion estimation/compensation for video encoding/decoding
CN101040530B (en) Motion estimation with video mode detection
JPH04207790A (en) Motion vector detector
US20040247032A1 (en) Motion vector detection device and motion vector detection method
JP2964633B2 (en) Image signal encoding apparatus and method
US20050089099A1 (en) Fast motion estimating apparatus
JP4140091B2 (en) Image information conversion apparatus and image information conversion method
US6020926A (en) Motion estimation block matching speedup
JPH04207777A (en) Motion vector detector
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
JP2004229150A (en) Motion vector searching method and device
KR100440567B1 (en) A method for forming binary plane for motion search and a motion estimating apparatus using the same
KR20010034374A (en) Device and method for detecting moving vector