JPH02265387A - Motion-compensated inter-frame encoder - Google Patents

Motion-compensated inter-frame encoder

Info

Publication number
JPH02265387A
JPH02265387A JP1084865A JP8486589A JPH02265387A JP H02265387 A JPH02265387 A JP H02265387A JP 1084865 A JP1084865 A JP 1084865A JP 8486589 A JP8486589 A JP 8486589A JP H02265387 A JPH02265387 A JP H02265387A
Authority
JP
Japan
Prior art keywords
data
memory
block
motion
previous frame
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
JP1084865A
Other languages
Japanese (ja)
Inventor
Mitsuyoshi Suzuki
光義 鈴木
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1084865A priority Critical patent/JPH02265387A/en
Publication of JPH02265387A publication Critical patent/JPH02265387A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE:To simplify the memory control and to reduce the cost of the encoder by storing an in-block data of an existing frame data and an in-block data being a preceding frame data respectively in parallel and outputting them simultaneously. CONSTITUTION:An existing frame data 1 is written in an existing frame memory 2 and a preceding frame data 4 is written in a preceding frame memory 5. A data converter 7 replaces the sequence of data and outputs the result to a distortion computing element 9 as preceding frame replacement data 800, 810, 820,...823, 833. A moving quantity (x0, y0) is changed in response to a retrieval number outputted from a retrieval number counter 18 and when all evaluation functions 10 at one retrieval point are calculated, the retrieval number counter 18 is incremented. Then the evaluation function of the succeeding retrieval point is calculated, A distortion detector 11 outputs the moving quantity (x0, y0) corresponding to the minimum evaluation function 10 as a moving vector.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、連続する2百面から各部の動きを検出し、
動き補償を行う動き補償フレーム間符号化装置に関する
ものである。
[Detailed Description of the Invention] [Industrial Application Field] This invention detects the movement of each part from 200 consecutive surfaces,
The present invention relates to a motion compensated interframe encoding device that performs motion compensation.

〔従来の技術〕[Conventional technology]

第14図は従来の動き補償フレーム間符号化装置を示す
ブロック図である0図において、100は動き検出部で
、入力された現フレームデータlに対してフレームメモ
リ5aから読み出された前フレームデータ8からの動き
を検出し、動きベクトル12を出力する。106は可変
遅延器で、動き検出部100から出力された動きベクト
ル12に応じてフレームメモリ5aから得た前フレーム
データ8を遅延させ、動き補償前フレームデータ107
として出力する。現フレームデータ1は遅延器108に
よって動き検出時間だけ遅延され、さらに、動き補償前
フレームデータ107との差分が減算器109でとられ
、動き補償フレーム間差分データ110として符号化器
111に出力され、符号化されたフレーム間差分データ
112として出力される。一方、符号化された差分デー
タ112は符号化器111によって復号化される。
FIG. 14 is a block diagram showing a conventional motion compensated interframe coding device. In FIG. The motion is detected from the data 8 and a motion vector 12 is output. A variable delay device 106 delays the previous frame data 8 obtained from the frame memory 5a according to the motion vector 12 output from the motion detection unit 100, and outputs the frame data 107 before motion compensation.
Output as . The current frame data 1 is delayed by the motion detection time by the delay device 108, and the difference with the pre-motion compensation frame data 107 is taken by the subtracter 109 and outputted to the encoder 111 as motion compensated inter-frame difference data 110. , and is output as encoded interframe difference data 112. On the other hand, the encoded difference data 112 is decoded by the encoder 111.

復号化された差分データ114は加算器115によって
動き補償前フレームデータ107と加算され、復号化さ
れた現フレームデータ(前フレームデータ)4として前
記フレームメモリ5aに書き込まれ、次に入力される現
フレームデータlに対する参照用の前フレームデータ8
として用いられる。
The decoded difference data 114 is added to the pre-motion compensation frame data 107 by an adder 115, and is written to the frame memory 5a as decoded current frame data (previous frame data) 4, and then added to the frame data 107 before motion compensation. Previous frame data 8 for reference to frame data l
used as.

1画面分フレームデータは第15図のように多数のブロ
ックに分割され、その画面上の各ブロック位置は2次元
配列(m、n)で表すことができ(図中、斜線部)、符
号化処理は矢印の順序でブロックライン順に行われる。
The frame data for one screen is divided into a large number of blocks as shown in Figure 15, and the position of each block on the screen can be represented by a two-dimensional array (m, n) (shaded area in the figure), and the encoding Processing is performed in block line order in the order of the arrows.

連続する2画面からこのブロック単位に動きを検出する
方法としては、第16図に示すように現フレームの符号
化すべきブロックC(m、n)117に対して前フレー
ムの同じ位置にあるブロックP (m、n)118と、
このブロックP (m、n)11Bを中心にした周辺8
ブロツクとの計9ブロックの範囲を動き補償範囲119
とし、この範囲において現フレームブロックC(m、n
)117と最も類似したパターンのブロック、例えばブ
ロック120を探索し、そのブロック120の位置とブ
ロックP (m、n)118との位置のずれを動きベク
トル12とする。
As shown in FIG. 16, a method for detecting motion in block units from two consecutive screens is to detect the block P at the same position in the previous frame with respect to the block C(m, n) 117 to be encoded in the current frame. (m, n) 118 and
Surroundings 8 around this block P (m, n) 11B
The motion compensation range is 119 for a total of 9 blocks.
and in this range, the current frame block C(m, n
) 117, such as block 120, is searched for, and the deviation between the position of block 120 and block P (m, n) 118 is set as motion vector 12.

第17図は、例えば特開昭63−244985号公報に
示された従来の動き検出部100の構成を示す構成図で
ある0図において、101a〜101Cはフレームメモ
リ5aの4ブロックライン分の容量を有するトラッキン
グエリアバッファ、102は上記各トラッキングエリア
バッファ101a〜101Cに共通して設けられた読み
出しアドレスカウンタ、103a〜103Cは上記読み
出しアドレスカウンタ102からの読み出しアドレスに
それぞれ異なった動き量を加えて各トラッキングエリア
バッファ101a〜101Cに与えるアドレス加算器、
9a〜9Cは各トラッキングエリアバッファ101a〜
101cから読み出されたブロックと現フレームブロッ
クバッファ2aから読み出されたブロックとの歪を求め
最小歪検出器11に出力する歪演算器、104a〜10
4cは各トラッキングエリアバッファ101a=101
c毎にそれぞれ異なった動き量が予め格納された動き量
メモリであり、探索回数カウンタ18の計数値に従って
それぞれ異なった動き量を同時に発生し各アドレス加算
器103a〜103cに与えるものである。
FIG. 17 is a configuration diagram showing the configuration of a conventional motion detection section 100 disclosed in, for example, Japanese Patent Laid-Open No. 63-244985. In FIG. 102 is a read address counter provided in common to each of the tracking area buffers 101a to 101C, and 103a to 103C add different amounts of movement to the read address from the read address counter 102, respectively. an address adder for providing tracking area buffers 101a to 101C;
9a to 9C are each tracking area buffer 101a to
Distortion calculators 104a to 10 that calculate distortion between the block read from block 101c and the block read from current frame block buffer 2a and output to minimum distortion detector 11;
4c is each tracking area buffer 101a=101
This is a motion amount memory in which a different amount of motion is stored in advance for each c, and it simultaneously generates different amounts of motion according to the count value of the search number counter 18 and supplies it to each address adder 103a to 103c.

ところで、現フレームブロックC(m、n)に対して動
き補償を行うのに必要な前フレームのブロック数は周辺
の9ブロツクであるが、現フレームデータの1ブロツク
ライン毎に数えれば動き補償を行うのに必要なフレーム
データは3ブロックライン分である。すなわち、第15
図において、現フレームの第nブロックラインを動き補
償処理するのに必要な前フレームデータは、その上下を
含む第n−1,n、n+1ブロックラインである。
By the way, the number of blocks in the previous frame necessary to perform motion compensation on the current frame block C (m, n) is the surrounding nine blocks, but if you count every block line of the current frame data, motion compensation can be performed. The frame data required for this is three block lines. That is, the 15th
In the figure, the previous frame data necessary to perform motion compensation processing on the n-th block line of the current frame is the (n-1)th, n, and (n+1)th block lines, including those above and below it.

さらに現フレームの第n+1ブロックラインを動き補償
処理するのに必要な前フレームデータはnn+l、n+
2ブロックラインであり、現フレームの第nブロックラ
インを処理する時には、第n+2ブロツクラインの前フ
レームデータを用意すれば良いことになる。従って、動
き補償処理を行うのに必要な3ブロックライン分の容量
と次のブロックラインを処理するのに必要な1ブロック
ライン分の容量の計4ブロックラインの容量をもつトラ
ッキングエリアバッファを用意すれば連続して動き補償
のための処理が行える。すなわち、各トラッキングエリ
アバッファ101a〜101Cは第18図に示すような
I〜■の状態をブロックライン周期で順次繰り返してい
る。図中、数字Oは現在勤き検出を行っている現フレー
ムブロックに対応するブロックラインで、−1,+1は
そのブロックラインの上下のブロックラインをそれぞれ
示している。書き込み中のブロックラインは、現在勤き
補償を行っているブロックラインOよりも2ブロックラ
イン進んだデータをフレームメモI73から読み出して
書き込んでおり、トラッキングエリアバッファ101a
〜101cの内容を順次更新している。
Furthermore, the previous frame data necessary to motion compensation process the n+1 block line of the current frame are nn+l, n+
There are two block lines, and when processing the n-th block line of the current frame, it is sufficient to prepare the previous frame data of the (n+2)-th block line. Therefore, it is necessary to prepare a tracking area buffer with a capacity of 4 block lines, including the capacity of 3 block lines required to perform motion compensation processing and the capacity of 1 block line required to process the next block line. In this case, processing for motion compensation can be performed continuously. That is, each of the tracking area buffers 101a to 101C sequentially repeats states I to ■ shown in FIG. 18 at a block line period. In the figure, the number O is a block line corresponding to the current frame block for which shift detection is currently being performed, and -1 and +1 indicate the block lines above and below this block line, respectively. The block line that is being written is read from the frame memo I73 and written to it, which is two block lines ahead of the block line O that is currently being compensated for, and is written to the tracking area buffer 101a.
The contents of ~101c are updated sequentially.

次に動作について説明する。Next, the operation will be explained.

現フレームブロックラインよりも2ブロックライン進ん
だ前フレームデータがフレームメモリ5aから読み出さ
れ、トラッキングエリアバッファ101a〜101cの
書き込みブロックラインバッファに書き込まれる。それ
と同時に、探索回数カウンタ18で発生する探索回数計
数値に対して、動き量メモリ104a=104cによっ
てそれぞれ異なった動き量が発生し、読み出しアドレス
カウンタ102のアドレス値にそれぞれの動き量がアド
レス加算器103a〜1・03cによって加えられる。
Previous frame data that is two block lines ahead of the current frame block line is read from the frame memory 5a and written to the write block line buffers of the tracking area buffers 101a to 101c. At the same time, different amounts of movement are generated by the movement amount memories 104a and 104c for the search count value generated by the search number counter 18, and each movement amount is added to the address value of the read address counter 102 by the address adder. Added by 103a-1.03c.

従って、トラッキングエリアバッファ101a〜101
cからはそれぞれ異なったずれの位置にあるブロックが
読み出され、各歪演算器9a〜9cで現フレームデータ
1との歪がそれぞれ求められる。最小歪検出器11では
各歪演算器93〜9cから探索回数分出力される歪の内
から最小のものを求め、その時の動き量を動きベクトル
12として出力する。
Therefore, tracking area buffers 101a to 101
Blocks at different positions of shift are read from block c, and the distortions with respect to the current frame data 1 are determined by the respective distortion calculators 9a to 9c. The minimum distortion detector 11 determines the minimum distortion among the distortions output from each of the distortion calculators 93 to 9c for the number of searches, and outputs the amount of motion at that time as a motion vector 12.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来の動き補償フレーム間符号化装置は以上のように構
成されているので、並列処理を行うために前フレームデ
ータ格納用のトラッキングエリアバッファ101a〜1
01Cを複数個用意しなければならないことから装置が
高価になってしまい、また、トラッキングエリアバッフ
ァ101a〜101Cの制御が複雑になり、さらに、動
き検出点の範囲が限定されてしまうなどの課題があった
Since the conventional motion compensated interframe encoding device is configured as described above, tracking area buffers 101a to 101 for storing previous frame data are used to perform parallel processing.
Since a plurality of 01Cs must be prepared, the device becomes expensive, the control of the tracking area buffers 101a to 101C becomes complicated, and the range of motion detection points is limited. there were.

この発明は上記のような課題を解消するためになされた
もので、メモリ容量を増大させることなく動き検出を並
列処理できるとともに、動き検出点をフレーム全体にま
で拡張できる動き補償フレーム間符号化装置を得ること
を目的とする。
This invention was made to solve the above-mentioned problems, and provides a motion compensated interframe coding device that can process motion detection in parallel without increasing memory capacity and can extend motion detection points to the entire frame. The purpose is to obtain.

〔課題を解決するための手段〕[Means to solve the problem]

この発明に係る動き補償フレーム間符号化装置は、現フ
レームデータを分割したブロックの内のデータを並列に
記憶するとともに、歪演算器に出力する第1のメモリを
有する動き検出部と、前フレームの参照ブロック内のデ
ータを並列に記憶するとともに、歪演算器に出力する第
2のメモリおよび第2のメモリ内のデータを第1のメモ
リ内のデータ配列に合わせるデータ交換器を有するフレ
ームメモリと、第1のメモリおよび第2のメモリに対し
て寮き込みアドレスおよび読み出しアドレスを指示する
制御部とを備えたものである。
A motion compensated interframe coding device according to the present invention includes a motion detection unit having a first memory that stores data in blocks obtained by dividing current frame data in parallel and outputs data to a distortion calculator; a frame memory having a second memory for storing data in a reference block in parallel and outputting it to a distortion calculator, and a data exchanger for adjusting the data in the second memory to the data arrangement in the first memory; , and a control unit that instructs the first memory and the second memory to specify a dormitory entry address and a read address.

〔作 用〕[For production]

この発明における制御部は、第1のメモリおよび第2の
メモリから、同時にデータを歪演算器に出力させて歪演
算器の並列処理を可能にする。
The control unit in the present invention allows the distortion calculator to simultaneously output data from the first memory and the second memory to enable parallel processing of the distortion calculator.

〔実施例〕〔Example〕

以下、この発明の一実施例を図について説明する。本装
置の概略構成は第14図に示した従来のものと同様であ
る。そして、第1図は動き検出部100、前フレームメ
モリ5の詳細構成を示すブロック図である。第1図にお
いて、2は現フレームデータ1のうちの処理されるブロ
ック内のデータを格納する現フレームメモリ(第1のメ
モリ)であり、ブロック内のデータに対応した複数の分
割メモリ200〜233で構成されている。5は前フレ
ームデータ4を格納する前フレームメモリであり、やは
り、ブロック内のデータに対応した複数の分割メモリ5
00〜533で構成されている。なお、300〜333
.600〜633は、それぞれ分割メモリ200〜23
3、分割メモリ500〜533から歪演算器9に出力さ
れる現フレーム並列データ、前フレーム並列データであ
る。
An embodiment of the present invention will be described below with reference to the drawings. The schematic configuration of this device is similar to the conventional device shown in FIG. FIG. 1 is a block diagram showing the detailed configuration of the motion detection section 100 and the previous frame memory 5. As shown in FIG. In FIG. 1, reference numeral 2 denotes a current frame memory (first memory) that stores data in a block to be processed of the current frame data 1, and a plurality of divided memories 200 to 233 corresponding to data in the block. It consists of Reference numeral 5 denotes a previous frame memory for storing previous frame data 4, and also a plurality of divided memories 5 corresponding to data in the block.
It consists of 00-533. In addition, 300-333
.. 600 to 633 are divided memories 200 to 23, respectively.
3. Current frame parallel data and previous frame parallel data output from the divided memories 500 to 533 to the distortion calculator 9.

7は前フレーム並列データ600〜633を並べ換えて
、前フレーム交換データ800〜833として出力する
データ交換器、9は評価関数10を出力する歪演算器、
11は評価関数10のうちの最小のものを検出して、動
きベクトル12を出力する最小歪検出器、13は読み出
しアドレス、書き込みアドレス等を出力する制御部、1
4は現フレーム制御信号、15は前フレーム制御信号、
16は垂直位相信号、17は水平位相信号、18は探索
番号19を出力する探索回数カウンタである。ここで、
1ブロツクの大きさは4×4.1フレームの画素数は1
28X12Bとしている(第2図参照)。従って、分割
メモリ200〜233.500〜533は16個ずつあ
ればよい。なお、分割メモリ200はブロック内の位1
(0,0)に対応したもの、分割メモリ233はブロッ
ク内の位置(3,3)に対応したものであり、他のブロ
ックに付されている符号も同様の意味を有する。
7 is a data exchanger that rearranges the previous frame parallel data 600 to 633 and outputs it as previous frame exchange data 800 to 833; 9 is a distortion calculator that outputs the evaluation function 10;
11 is a minimum distortion detector that detects the minimum of the evaluation functions 10 and outputs a motion vector 12; 13 is a control unit that outputs read addresses, write addresses, etc.;
4 is the current frame control signal, 15 is the previous frame control signal,
16 is a vertical phase signal, 17 is a horizontal phase signal, and 18 is a search number counter that outputs search number 19. here,
The size of one block is 4 x 4. The number of pixels in one frame is 1.
The size is 28×12B (see Figure 2). Therefore, it is sufficient to have 16 divided memories 200-233 and 16 divided memories 500-533. Note that the divided memory 200 is
The one corresponding to (0,0) and the divided memory 233 correspond to the position (3,3) within the block, and the symbols attached to other blocks have the same meaning.

次に動作について説明する。現フレームデータ1は現フ
レームメモリ2に、前フレームデータ4は前フレームメ
モリ5に書き込まれる。格納方法は、第2図に示すよう
に、例えば、現フレームのP点のデータP (x、y)
= (6,5)は、(i。
Next, the operation will be explained. Current frame data 1 is written into current frame memory 2, and previous frame data 4 is written into previous frame memory 5. For example, the storage method is as shown in FIG.
= (6,5) is (i.

j)−(2,1)および(m、 n) −(1,1)で
あるから、分割メモリ221のアドレス(1゜1)に書
き込むようになっている。ここで、(X。
j) - (2, 1) and (m, n) - (1, 1), so it is written to the address (1° 1) of the divided memory 221. Here, (X.

y)は1フレーム中の画素位置、(m、 n)はブロッ
クの位置、(i、j)はブロック内における位置を示し
ている。すなわち、画素位置(x、y)を、それぞれ4
で割った時の商が(m、n)、余りが(i、j)である
、なお、1つの分割メモリ200〜233.500〜5
33の容量はブロック数分、つまり32X32=102
4デ一タ分用意されている。
y) indicates the pixel position in one frame, (m, n) indicates the position of the block, and (i, j) indicates the position within the block. In other words, each pixel position (x, y) is set to 4.
When divided by , the quotient is (m, n) and the remainder is (i, j), and one divided memory 200-233.500-5
The capacity of 33 is the number of blocks, that is, 32X32=102
There are 4 data available.

次に、現フレームのブロックと、任意の動き量(xo、
yo)だけずれた、前フレームのある検索点のブロック
との歪の算出方法について説明する。第3図は現フレー
ムのブロックをQ、前フレームのブロックをRとし、動
き量(xo、yo)を(6,5)とした場合の説明図で
ある。この場合に、ブロックQにおけるデータD1〜D
I6は、順に分割メモリ200,210. ・・・22
3゜233に格納され、その後、現フレーム並列データ
300,310.・・・323,333として歪演算器
9に出力される。また、ブロン°りRにおけるデータD
、。1〜D、hは順に分割メモリ521゜531.50
1. ・・・530,500,510に格納され、それ
ぞれ前フレーム並列データ621゜631.601.・
・・630,600,610としてデータ交換器7に出
力される。そして、データ交換器7はデータの順序を入
れかえて、前フレーム交換データ800,810,82
0.・・・823゜833として、並列に歪演算器9に
出力する。このようにして、前フレーム交換データ80
0〜833は、D Io r ” D Il 4の順に
配列されたことになる。歪演算器9は、例えば(1)式
の差分絶対値和によって評価関数10を算出して、最小
歪検出器11に出力する。
Next, the block of the current frame and an arbitrary amount of motion (xo,
A method of calculating distortion with respect to a block of a certain search point in the previous frame that is shifted by yo) will be described. FIG. 3 is an explanatory diagram when the block of the current frame is Q, the block of the previous frame is R, and the amount of motion (xo, yo) is (6, 5). In this case, data D1 to D in block Q
I6 sequentially stores divided memories 200, 210 . ...22
3° 233, and then the current frame parallel data 300, 310 . . . . are outputted to the distortion calculator 9 as 323, 333. Also, data D for bronzing R
,. 1 to D, h are divided memories in order 521゜531.50
1. ...530, 500, 510, and the previous frame parallel data 621°631.601.・
...is output to the data exchanger 7 as 630, 600, 610. Then, the data exchanger 7 changes the order of the data and replaces the previous frame exchange data 800, 810, 82.
0. . . . 823° and 833, and is output in parallel to the distortion calculator 9. In this way, the previous frame exchange data 80
0 to 833 are arranged in the order of D Ior ” D Il 4. The distortion calculator 9 calculates the evaluation function 10 by the sum of absolute differences in equation (1), for example, and calculates the evaluation function 10 using the minimum distortion detector. Output to 11.

ただし、Dk :現フレーム画素データDrkS前フレ
ーム画素データ 動きl(χ。、76)は探索回数カウンタ18から出力
される探索番号に応じて変化し、また、1つの検索点に
おける評価関数10が全て算出されると、探索回数カウ
ンタ18はインクリメントされる。そして、次の検索点
の評価関数が算出される。最小歪検出器11は、これら
の評価関数10のうちで最小となったものに対応する動
き量(xa、ya)を動きベクトルとして出力する。
However, Dk: current frame pixel data DrkS previous frame pixel data movement l(χ., 76) changes according to the search number output from the search number counter 18, and the evaluation function 10 at one search point Once calculated, the search number counter 18 is incremented. Then, the evaluation function for the next search point is calculated. The minimum distortion detector 11 outputs the amount of motion (xa, ya) corresponding to the minimum among these evaluation functions 10 as a motion vector.

第4図は制御部13の詳細構成を示す構成図である。現
フレームメモリ書込アドレス生成部22ハ、現フレーム
データ1を1画素ずつ現フレームメモリ2に書き込むた
めに、7ビツトの現フレーム書込垂直アドレス29、現
フレーム書込水平アドレス30.および現フレームライ
トパルス31を生成する。前フレームメモリ書込アドレ
ス生成部24も、同様に、前フレーム書込垂直アドレス
36、前フレーム書込水平アドレス37、および前フレ
ームライトパルス38を生成する。読み出しアドレス生
成部23は、現フレームの動き検出の対象となるブロッ
クを示す5ビツトの垂直位置n32および5ビツトの水
平位置m33と、検索点を示す8ビツトの垂直動き13
’o34および8ビツトの水平動きIxo35とを生成
する。なお動き量(χ。、yo)の8ビツトで−124
〜+124の値を指定すれば、1フレームの全範囲の検
索点が指定できる。これらの信号は、制御器21が出力
したり−ド/ライト制御信号28とともに、現フレーム
メモリ制御部26と前フレームメモリ制御部27とに入
力される。リード/ライト制御信号28の極性は「1」
でリード、「0」でライトを示すものとする。
FIG. 4 is a block diagram showing the detailed structure of the control section 13. The current frame memory write address generation unit 22c generates a 7-bit current frame write vertical address 29, current frame write horizontal address 30 . and generates the current frame write pulse 31. The previous frame memory write address generation unit 24 similarly generates a previous frame write vertical address 36, a previous frame write horizontal address 37, and a previous frame write pulse 38. The read address generation unit 23 generates a 5-bit vertical position n32 and a 5-bit horizontal position m33 indicating a block to be motion detected in the current frame, and an 8-bit vertical motion 13 indicating a search point.
'o34 and 8-bit horizontal movement Ixo35. Note that 8 bits of the amount of movement (χ., yo) is -124.
By specifying a value of ~+124, search points in the entire range of one frame can be specified. These signals are output by the controller 21 and input to the current frame memory control section 26 and the previous frame memory control section 27 together with the read/write control signal 28 . The polarity of the read/write control signal 28 is “1”
"0" indicates a read and "0" indicates a write.

第5図は現フレームメモリ制御部26の詳細構成を示す
構成図である。図において、41.42はセレクタ、4
3はデコーダである。書き込み時は、リード/ライト制
御信号28が[0」となっていて、セレクタ41.42
はW側の信号を選択する。セレクタ41.42のW側に
は、それぞれ現フレーム書込垂直アドレス29および現
フレーム書込水平アドレス30の上位5ビツトが入力さ
れている。そこでセレクタ41.42はそのまま現フレ
ーム垂直アドレス141、現フレーム水平アドレス14
2として出力する。下位2ビ・ノドは、上位5ビツトで
指定されたブロックの内部の位置(i、j)を示してい
るが、デコーダ43でデコードされ、16ビツトのメモ
リ選択信号45(00)、45 (3,3)のうち1つ
だけを「1」にして、その他を「0」にする0例えば、
第2図に示したPC6,5)という画素については、各
上位5ビツトは(m、  n) = (1,1)、下位
2ビツトは(i、  j)=(2,1)であり、メモリ
選択信号45 (2,1)のみ「1」になる。メモリ選
択信号45 (i、j)は、それぞれOR回路46 (
i、j)されるが、OR回路46 (i、j)の他方の
入力が「0」であるため、そのまま現フレームメモリ選
択信号143 (i、j)として出力される。また、現
フレームライトパルス31は、リード/ライト制御信号
2日を反転回路48で反転したものとともに、AND回
路に入力される。
FIG. 5 is a block diagram showing the detailed structure of the current frame memory control section 26. As shown in FIG. In the figure, 41.42 is a selector, 4
3 is a decoder. During writing, the read/write control signal 28 is [0], and the selectors 41 and 42
selects the W side signal. The upper five bits of the current frame write vertical address 29 and the current frame write horizontal address 30 are input to the W side of the selectors 41 and 42, respectively. Therefore, the selectors 41 and 42 are the current frame vertical address 141 and the current frame horizontal address 14.
Output as 2. The lower 2 bit nodes indicate the internal position (i, j) of the block specified by the upper 5 bits, and are decoded by the decoder 43 and output to the 16-bit memory selection signals 45 (00), 45 (3 , 3), set only one to "1" and set the others to "0". For example,
For the pixel PC6,5) shown in Figure 2, the upper 5 bits are (m, n) = (1, 1), the lower 2 bits are (i, j) = (2, 1), Only the memory selection signal 45 (2, 1) becomes "1". The memory selection signals 45 (i, j) are respectively input to the OR circuit 46 (
i, j), but since the other input of the OR circuit 46 (i, j) is "0", it is output as is as the current frame memory selection signal 143 (i, j). Further, the current frame write pulse 31 is input to the AND circuit together with the read/write control signal 2 days inverted by the inversion circuit 48 .

この場合、リード/ライト制御信号28は「0」である
から、そのまま現フレームメモリライトパルス144と
して出力される。
In this case, since the read/write control signal 28 is "0", it is output as is as the current frame memory write pulse 144.

第6図は現フレームメモリ2の分割メモリ200〜23
3のそれぞれの詳細構成を示す構成図である0図におい
て、分割メモリ200のみを示しているが、他の分割メ
モリ210〜233も同一構成である。この分割メモリ
200〜233には、対応する現フレームメモリ選択信
号143 (i、j)が「1」、かつ、現フレームメモ
リライトパルス144が「1」のときに、現フレーム垂
直アドレス141および現フレーム水平アドレス142
で示されるアドレスに、現フレームデータ1が書き込ま
れる。以上に説明したことから、(xe、yo)の位置
の現フレームデータ1は、分割メモリ(2Ljo)のア
ドレス(mo、n6)に書き込まれる。ここでX o−
4m O+i、 、7o ==4y1o +j、である
FIG. 6 shows divided memories 200 to 23 of the current frame memory 2.
In FIG. 0, which is a block diagram showing the detailed configuration of each of No. 3, only the divided memory 200 is shown, but the other divided memories 210 to 233 also have the same configuration. The divided memories 200 to 233 contain the current frame vertical address 141 and the current frame memory when the corresponding current frame memory selection signal 143 (i, j) is "1" and the current frame memory write pulse 144 is "1". frame horizontal address 142
Current frame data 1 is written to the address indicated by . As explained above, the current frame data 1 at the position (xe, yo) is written to the address (mo, n6) of the divided memory (2Ljo). Here X o-
4m O+i, , 7o ==4y1o +j.

分割メモリ200〜233の読み出し時には、第5図に
示したり−ド/ライト制御信号28が「l」となる。ま
た、セレクタ41.42は現フレーム垂直アドレス14
1、現フレーム水平アドレス142として、それぞれ垂
直位ffn32、水平位置m33を選択する。現フレー
ムメモリ選択信号143 (+、j)は全て「1」とな
り、現フレームメモリライトパルス144は「0」とな
る。
When reading from the divided memories 200 to 233, the read/write control signal 28 becomes "l" as shown in FIG. In addition, the selectors 41 and 42 select the current frame vertical address 14.
1. Select vertical position ffn32 and horizontal position m33 as the current frame horizontal address 142, respectively. The current frame memory selection signals 143 (+, j) are all "1", and the current frame memory write pulse 144 is "0".

従って、分割メモリ200〜233は全て読み出し状態
になり、現フレーム垂直アドレス141および現フレー
ム水平アドレス142で指定されたアドレスのデータを
、現フレーム並列データ300〜333として同時に出
力する。
Therefore, all of the divided memories 200 to 233 enter the read state, and simultaneously output the data at the address specified by the current frame vertical address 141 and the current frame horizontal address 142 as current frame parallel data 300 to 333.

第7図は、前フレームメモリ制御部27の詳細構成を示
す構成図である。書き込み時の動作については、第5図
に示した現フレームメモリ制御部26の場合と同様であ
るので、説明は省略する。
FIG. 7 is a block diagram showing the detailed structure of the previous frame memory control section 27. As shown in FIG. The operation at the time of writing is the same as that of the current frame memory control section 26 shown in FIG. 5, so a description thereof will be omitted.

ただし、前フレーム垂直アドレス1511〜1514、
前フレーム水平アドレス1521〜1524は、それぞ
れ4系統あるが、書き込み時は、4系統の値は全(同一
である。
However, the previous frame vertical addresses 1511 to 1514,
There are four systems for each of the previous frame horizontal addresses 1521 to 1524, but at the time of writing, all the values of the four systems are the same.

次に読み出し時の垂直方向の動作について説明する。ま
ず、ブロック垂直位置n32と垂直動き量y034の上
位6ビツトを加算器51で加算し、垂直動き量ブロック
位置A52を得る。さらに、「+1」加算器53で“1
”を加算し、垂直動き量ブロック位置B54を得る。上
述したように垂直動き量y034は−124〜+124
の(直をとりうる。垂直動き量y034の下位2ビツト
はデータ交換器7に垂直位相信号16として出力される
。同時に、選択制御器55に出力される。垂直ブロツク
アドレス選択器S0〜3.551〜554は、制御信号
591〜594により垂直動き1iA52、垂直動き量
B54のいずれかを選択する。この選択の方法を第8図
に示す。選択出力561〜564は、リード/ライト選
択器571〜574がリード側を選択するように指定さ
れているので、そのまま前フレーム垂直アドレス151
1〜1514として出力される。水平方向の読み出し時
の動作についても、同様に実行される。なお、読み出し
時は、前フレームメモリ選択信号153 (i、j)は
「I」、前フレームメモリライトパルス154は[0」
である。
Next, the vertical direction operation during reading will be explained. First, the adder 51 adds the block vertical position n32 and the upper six bits of the vertical motion amount y034 to obtain the vertical motion amount block position A52. Furthermore, the “+1” adder 53
” to obtain the vertical movement amount block position B54. As mentioned above, the vertical movement amount y034 is -124 to +124.
The lower two bits of the vertical movement amount y034 are outputted to the data exchanger 7 as the vertical phase signal 16. At the same time, they are outputted to the selection controller 55. The vertical block address selectors S0 to S3. 551 to 554 select either vertical movement 1iA52 or vertical movement amount B54 by control signals 591 to 594. This selection method is shown in FIG. ~574 is specified to select the read side, so the previous frame vertical address 151 is
Output as 1 to 1514. The operation at the time of reading in the horizontal direction is similarly executed. Note that during reading, the previous frame memory selection signal 153 (i, j) is "I" and the previous frame memory write pulse 154 is [0].
It is.

第9図は前フレームメモリ5の分割メモリ500〜53
3の詳細構成を示す構成図である。
FIG. 9 shows divided memories 500 to 53 of the previous frame memory 5.
3 is a configuration diagram showing the detailed configuration of No. 3. FIG.

図において、分割メモリ500のみ示しているが、他の
分割メモリ510〜533の構成も同一である。また、
l、JはそれぞれO〜3の値をとりうる。なお、動作に
ついては、現フレームメモリ2の分割フレーム200〜
233と同様であるので、説明は省略する。
Although only the divided memory 500 is shown in the figure, the configurations of the other divided memories 510 to 533 are also the same. Also,
l and J can each take a value of O to 3. Regarding the operation, the divided frames 200 to 200 of the current frame memory 2
Since it is the same as No. 233, the explanation will be omitted.

前フレームメモリ5の読み出し制御について、第3図を
参照して説明する。プロ・ンク位置Q (m。
Read control of the previous frame memory 5 will be explained with reference to FIG. Pro-nk position Q (m.

n)に対して動き1(xo、  yo )= (6,5
)の位置にある前フレームのブロックRのデータD、。
n) for motion 1(xo, yo) = (6,5
) data D of block R of the previous frame.

1〜DI+6を読み出す場合を例とする。ここで動き量
(x6.yo)の下位2ピツ1は(2゜1)であるから
(水平方向が「2」、垂直方向が「1」)、第8図に示
したように、水平方向については、順にB、B、A、A
側が選択され、垂直方向については、順にB、A、A、
A側が選択される。動き1(xa、yo)の上位6ビツ
トは(1,1)であるから、結局、前フレーム水平アド
レス1521〜1524は、順にm+2.m+2、m+
1.m+1、前フレーム垂直アドレス1511〜151
4は、順にn+2.n+1.n+1.n+1となる。従
って、前フレームメモリ5の分割メモリ500〜533
のアドレスは第10図に示すようになり、同図に示す前
フレーム並列データ600〜633が同時に出力される
Let us take as an example the case where 1 to DI+6 are read. Here, since the lower two points 1 of the amount of movement (x6.yo) are (2°1) (horizontal direction is "2", vertical direction is "1"), as shown in Figure 8, the horizontal direction , B, B, A, A in order.
side is selected, and for the vertical direction, B, A, A,
Side A is selected. Since the upper 6 bits of motion 1 (xa, yo) are (1, 1), the previous frame horizontal addresses 1521 to 1524 are m+2 . m+2, m+
1. m+1, previous frame vertical address 1511-151
4 is in turn n+2. n+1. n+1. It becomes n+1. Therefore, the divided memories 500 to 533 of the previous frame memory 5
The addresses are as shown in FIG. 10, and the previous frame parallel data 600 to 633 shown in the same figure are output at the same time.

これらのデータの順序は、現フレーム並列データ300
〜333の順序とは異なるので、データ交換器7で順序
を入れかえる。
The order of these data is the current frame parallel data 300
Since the order is different from that of 333, the data exchanger 7 changes the order.

第11図は、データ交換器7の詳細構成を示す構成図で
ある。データ選択器61ijは、前フレーム並列データ
600〜633から1つを選択して、前フレーム交換デ
ータ800〜833として出力する。ここで、データ選
択器61ijの制御信号は、水平位相信号17の下位2
ビツトに加算器63iでrlJを加算したデータの下位
2ビツト、垂直位相信号16の下位2ビツトに加算器6
3jで「j」を加算したデータの下位2ビツトとである
。例えば、第3図に示した位置関係では、下位2ビツト
は(2,1)であるから(水平位相信号が「2」、垂直
位相信号が’1.+ )、前フレーム交換データ800
〜833は第12図に示すようになる。ここで、前フレ
ーム交換データ800〜833はそれぞれ6kff (
k=i+2(a+od 4 ) 、  l = j +
 1 (nod 4 ) )を選択している(i+od
 4は4で割った余りを示す)。
FIG. 11 is a block diagram showing the detailed structure of the data exchanger 7. As shown in FIG. The data selector 61ij selects one of the previous frame parallel data 600-633 and outputs it as previous frame exchange data 800-833. Here, the control signal of the data selector 61ij is the lower two of the horizontal phase signal 17.
Adder 63i adds rlJ to the lower two bits of the data, and adder 63i adds rlJ to the lower two bits of vertical phase signal 16.
3j is the lower two bits of the data to which "j" is added. For example, in the positional relationship shown in FIG. 3, the lower two bits are (2, 1) (horizontal phase signal is "2", vertical phase signal is '1.+), so the previous frame exchange data 800
-833 are as shown in FIG. Here, the previous frame exchange data 800 to 833 are each 6kff (
k=i+2(a+od4), l=j+
1 (nod 4)) is selected (i+od
4 indicates the remainder after dividing by 4).

第13図は、歪演算器9の詳細構成を示す構成図である
0図示したように、現フレーム並列データ300〜33
3と前フレーム交換データ800〜833との対応する
ものを演算器71ijに導入する。そして、前記(1)
式による差分絶対値を演算して出力する。さらに、加算
器73でこれらの出力値を加算して評価関数10として
出力する。
FIG. 13 is a configuration diagram showing the detailed configuration of the distortion calculator 9. As shown in FIG.
3 and the corresponding ones of the previous frame exchange data 800 to 833 are introduced into the arithmetic unit 71ij. And (1) above
Calculate and output the absolute difference value using the formula. Further, an adder 73 adds these output values and outputs the result as an evaluation function 10.

なお、上記実施例において、演算器71ijは差分絶対
値を出力するように構成したが、差分自乗値等を出力す
るようにしてもよい。
In the above embodiment, the arithmetic unit 71ij is configured to output an absolute difference value, but it may also be configured to output a squared difference value or the like.

〔発明の効果〕〔Effect of the invention〕

以上のように、この発明によれば、動き補償フレーム間
符号化装置を、現フレームデータのブロック内データと
前フレームデータのブロック内データとをそれぞれ並列
に記憶し、同時に出力するように構成したので、メモリ
の制御を簡略化して装置が安価にでき、また、動き検出
点をフレーム全体にまで拡張できるものが得られる効果
がある。
As described above, according to the present invention, the motion compensated interframe coding device is configured to store the intra-block data of the current frame data and the intra-block data of the previous frame data in parallel, and output them simultaneously. Therefore, the memory control can be simplified and the device can be made inexpensive, and the motion detection points can be extended to the entire frame.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はこの発明の一実施例による動き補償フレーム間
符号化装置の動き検出部および前フレ−ムメモリを示す
ブロック図、第2図はフレーム内の画素の配置を示す説
明図、第3図は現フレームと参照される前フレームとの
間のブロックの関係を示す説明図、第4図は制御部の詳
細構成を示す構成図、第5図は現フレームメモリ制御部
の詳細構成を示す説明図、第6図は現フレームメモリの
分割メモリの詳細構成を示す説明図、第7図は前フレー
ムメモリ制御部の詳細構成を示す構成図、第8図はブロ
ックアドレス選択器の選択方法を示す説明図、第9図は
前フレームメモリの分割メモリの詳細構成を示す構成図
、第10図は前フレームメモリの分割メモリの入出力関
係を示す説明図、第11図はデータ交換回路の詳細構成
を示す構成図、第12図はデータ交換回路の入出力関係
を示す説明図、第13図は歪演算器の詳細構成を示す構
成図、第14図は動き補償フレーム間符号化装置の全体
構成を示すブロック図、第15図はフレームの分割方法
を示す説明図、第16図は従来の動き補償処理を示す説
明図、第17図は従来の動き検出部の構成を示す構成図
、第18図は従来のトラッキングエリアバンファの状態
を示す状態図である。 1は現フレームデータ、100は動き検出部、111は
符号化器(符号化部)、2は現フレームメモリ、200
〜233はその分割メモリ、4ハ前フレームデータ、5
は前フレームメモリ、500〜533はその分割メモリ
、7はデータ交換器、9は歪演算器、11は最小歪検出
器、13は制御部。 なお、図中、同一符号は同一、又は相当部分を示す。 特許出願人  三菱電機株式会社 第1図 2J見フレームメモ!J 5、計17シームメf:U 第 図 第 図 第 図 第 図 第 図 第 10図 第 図 第 図 第 図 第 図 第 図 単〜桑婁p「4昭( 、<−R年駅 第 図
FIG. 1 is a block diagram showing a motion detection unit and previous frame memory of a motion compensated interframe coding device according to an embodiment of the present invention, FIG. 2 is an explanatory diagram showing the arrangement of pixels within a frame, and FIG. is an explanatory diagram showing the block relationship between the current frame and the referenced previous frame, FIG. 4 is a configuration diagram showing the detailed configuration of the control unit, and FIG. 5 is an explanatory diagram showing the detailed configuration of the current frame memory control unit. 6 is an explanatory diagram showing the detailed configuration of the divided memory of the current frame memory, FIG. 7 is a configuration diagram showing the detailed configuration of the previous frame memory control section, and FIG. 8 is a diagram showing the selection method of the block address selector. Explanatory diagram, FIG. 9 is a block diagram showing the detailed structure of the divided memory of the previous frame memory, FIG. 10 is an explanatory diagram showing the input/output relationship of the divided memory of the previous frame memory, and FIG. 11 is the detailed structure of the data exchange circuit. FIG. 12 is an explanatory diagram showing the input/output relationship of the data exchange circuit, FIG. 13 is a configuration diagram showing the detailed configuration of the distortion calculator, and FIG. 14 is the overall configuration of the motion compensation interframe coding device. FIG. 15 is an explanatory diagram showing a frame division method, FIG. 16 is an explanatory diagram showing conventional motion compensation processing, FIG. 17 is a block diagram showing the configuration of a conventional motion detection section, and FIG. The figure is a state diagram showing the state of a conventional tracking area bumper. 1 is current frame data, 100 is a motion detection unit, 111 is an encoder (encoding unit), 2 is current frame memory, 200
~233 is the divided memory, 4 frames ago frame data, 5
1 is a previous frame memory, 500 to 533 are its divided memories, 7 is a data exchanger, 9 is a distortion calculator, 11 is a minimum distortion detector, and 13 is a control section. In addition, in the figures, the same reference numerals indicate the same or equivalent parts. Patent applicant: Mitsubishi Electric Corporation Figure 1 2J frame memo! J 5, 17 seams in total f: U

Claims (1)

【特許請求の範囲】[Claims] 入力された現フレームデータと前フレームメモリから読
み出された前フレームデータとのフレーム間差分データ
を符号化して出力する符号化部と、前記現フレームデー
タを複数のブロックに分割し、これらの各ブロックのそ
れぞれと動き量分ずれた前記前フレームデータの複数の
参照ブロックとの歪を算出する歪演算器および前記歪の
うちの最小歪に対応した前記動き量を動きベクトルとし
て出力する最小歪検出器を有する動き検出部とを備えた
動き補償フレーム間符号化装置において、前記動き検出
部は、ブロック内のデータを並列に記憶するとともに、
前記歪演算器に出力する第1のメモリを有し、前記前フ
レームメモリは、参照ブロック内のデータを並列に記憶
するとともに、前記歪演算器に出力する第2のメモリお
よびこの第2のメモリ内のデータを前記第1のメモリ内
のデータ配列に合わせるデータ交換器を有し、前記第1
のメモリおよび第2のメモリに対して書き込みアドレス
および読み出しアドレスを指示する制御部を備えたこと
を特徴とする動き補償フレーム間符号化装置。
an encoding unit that encodes and outputs inter-frame difference data between the input current frame data and the previous frame data read from the previous frame memory; and an encoding unit that divides the current frame data into a plurality of blocks and encodes each of these blocks. A distortion calculator that calculates the distortion between each block and a plurality of reference blocks of the previous frame data that are shifted by the amount of motion, and a minimum distortion detector that outputs the amount of motion corresponding to the minimum distortion among the distortions as a motion vector. In the motion compensated interframe encoding device, the motion detection unit stores data in a block in parallel;
a first memory that outputs to the distortion calculator; the previous frame memory stores data in a reference block in parallel; a second memory that outputs to the distortion calculator; a data exchanger for matching data in the first memory to a data arrangement in the first memory;
1. A motion compensated interframe encoding device comprising: a control unit that instructs a write address and a read address to a memory and a second memory.
JP1084865A 1989-04-05 1989-04-05 Motion-compensated inter-frame encoder Pending JPH02265387A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1084865A JPH02265387A (en) 1989-04-05 1989-04-05 Motion-compensated inter-frame encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1084865A JPH02265387A (en) 1989-04-05 1989-04-05 Motion-compensated inter-frame encoder

Publications (1)

Publication Number Publication Date
JPH02265387A true JPH02265387A (en) 1990-10-30

Family

ID=13842702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1084865A Pending JPH02265387A (en) 1989-04-05 1989-04-05 Motion-compensated inter-frame encoder

Country Status (1)

Country Link
JP (1) JPH02265387A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0723350A (en) * 1993-05-20 1995-01-24 Korean Broadcasting Syst Method and apparatus for presuming picture data movement in high image quality tv(hdtv)
US5949486A (en) * 1996-09-03 1999-09-07 Mitsubishi Denki Kabushiki Kaisha Unit for detecting motion vector for motion compensation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0723350A (en) * 1993-05-20 1995-01-24 Korean Broadcasting Syst Method and apparatus for presuming picture data movement in high image quality tv(hdtv)
US5949486A (en) * 1996-09-03 1999-09-07 Mitsubishi Denki Kabushiki Kaisha Unit for detecting motion vector for motion compensation

Similar Documents

Publication Publication Date Title
JP2636674B2 (en) Video motion vector detection device
JPH0568155B2 (en)
US7573939B2 (en) Memory cell circuit, memory device, motion vector detection device, and motion compensation prediction coding device
JPH03256485A (en) Motion vector detecting circuit
US5260897A (en) Signal processing circuit
JPH04354287A (en) Image interpolation circuit
JP2897761B2 (en) Block-matching arithmetic unit and machine-readable recording medium recording program
KR20040050829A (en) Semiconductor device, image data processing apparatus and method
JPH04372285A (en) Electronic zooming system utilizing image buffer
JPH02265387A (en) Motion-compensated inter-frame encoder
US5379076A (en) Video motion compensation circuit
JPH06223099A (en) Signal processing system provided with reduced memory space
JPH05236455A (en) Motion vector detector for moving image
JPH04189093A (en) Motion compensation device
JP2502495B2 (en) Image processing device
JP2564504B2 (en) Image memory
US5376973A (en) Image memory device
JPH09503324A (en) Pixel block comparison processor (block matching processor)
JP2906684B2 (en) Motion detection device
JPS63244985A (en) Movement compensating inter-frame encoder
JP2000041251A (en) Moving vector detector
JP3403503B2 (en) Motion vector detection device
JPH05257458A (en) Address generating circuit for memory
JPH1013837A (en) Motion vector detection circuit
GB2373950A (en) Image processing apparatus and method, and recording medium