[go: up one dir, main page]

JPH10164585A - MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE - Google Patents

MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE

Info

Publication number
JPH10164585A
JPH10164585A JP31650296A JP31650296A JPH10164585A JP H10164585 A JPH10164585 A JP H10164585A JP 31650296 A JP31650296 A JP 31650296A JP 31650296 A JP31650296 A JP 31650296A JP H10164585 A JPH10164585 A JP H10164585A
Authority
JP
Japan
Prior art keywords
motion vector
data
detection
unit
block
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
JP31650296A
Other languages
Japanese (ja)
Inventor
Kazuhiro Hayamizu
和弘 速水
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.)
Brother Industries Ltd
Xing Inc
Original Assignee
Brother Industries Ltd
Xing Inc
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 Brother Industries Ltd, Xing Inc filed Critical Brother Industries Ltd
Priority to JP31650296A priority Critical patent/JPH10164585A/en
Publication of JPH10164585A publication Critical patent/JPH10164585A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 画像のフレームレートの向上を妨げることな
く適切な動きベクトルの検出を行う。 【解決手段】 検出手順選択部201は、適切ベクトル
判定部203からの判定結果が予め設定されている基準
値を越えていればフルサーチ手順、基準値以下ならば簡
易サーチ手順を選択し、その選択した手順を検出制御部
204へ出力し、検出制御部204は、演算実行部20
2へその演算実行の指示を行う。
(57) [Summary] [Problem] To detect an appropriate motion vector without hindering improvement of a frame rate of an image. SOLUTION: A detection procedure selection unit 201 selects a full search procedure if the determination result from an appropriate vector determination unit 203 exceeds a preset reference value, and selects a simple search procedure if the determination result is equal to or less than the reference value. The selected procedure is output to the detection control unit 204, and the detection control unit 204
2 is instructed to execute the operation.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、画像データを符号
化する際の動き補償フレーム間符号化の処理に用いら
れ、参照フレームの検索領域に対応する処理ブロックの
動きベクトルを検出する動きベクトル検出装置に関する
ものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is used for motion-compensated inter-frame encoding when encoding image data, and detects a motion vector of a processing block corresponding to a search area of a reference frame. It concerns the device.

【0002】[0002]

【従来の技術】先ず、動画像情報の圧縮符号化に用いら
れる動き補償フレーム間符号化の原理について簡単に説
明する。フレーム間で画像中の被写体に動きがあった場
合には、前回の符号化フレーム(参照フレーム)の同位
置ではなく、被写体の動き分だけ離れたところに符号化
処理部分(マクロブロック)と似通った構造が存在する
ことになる。そこで、前回フレームと現在フレームとか
ら被写体の動きベクトルを推定して、似通ったブロック
との差分と動きベクトルを符号化する。
2. Description of the Related Art First, the principle of motion-compensated interframe coding used for compression coding of moving picture information will be briefly described. If the subject in the image moves between frames, it is similar to the coding processing part (macroblock) not at the same position of the previous coded frame (reference frame) but at a position separated by the movement of the subject. Structure exists. Therefore, the motion vector of the subject is estimated from the previous frame and the current frame, and the difference between the similar block and the motion vector is encoded.

【0003】動きベクトルの検出は、現在フレームの処
理ブロックと参照フレームの予測ブロックについて、フ
レームを構成する全ブロックをサーチし(フルサー
チ)、対応する画素間の差分絶対値和(あるいは差分自
乗和)を算出し、最小値をとるベクトルを動きベクトル
と推定する。
[0003] In detecting a motion vector, all blocks constituting a frame are searched for a processing block of a current frame and a prediction block of a reference frame (full search), and a sum of absolute differences (or a sum of squares of differences) between corresponding pixels is searched. ) Is calculated, and the vector having the minimum value is estimated as the motion vector.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、ブロッ
ク画素間の差分絶対値和演算は、その他の画像符号化処
理と比較して多大な演算量を必要とする。このため、フ
ルサーチ手順は検出が確実である反面、動きベクトル算
出のための総演算量が莫大なものとなるので、通信など
でリアルタイム処理が必要な場合などでは、演算処理に
要する速度が伝送処理速度に追いつかないことがあっ
た。これにより、画像のフレームレートが頭打ちとな
り、スムーズな(動きの滑らかな)動画像通信の妨げに
なる場合があった。また、変化が小さい入力画像に対し
てはフルサーチ手順は効率的とは言い難い。
However, the sum of absolute differences between block pixels requires a large amount of calculation compared to other image coding processes. For this reason, the full search procedure is reliable in detection, but the total amount of calculation for calculating the motion vector is enormous, so when real-time processing is required for communication or the like, the speed required for calculation processing is transmitted. In some cases, we could not keep up with the processing speed. As a result, the frame rate of the image may reach a plateau, which may hinder smooth (smooth) moving image communication. Also, it is difficult to say that the full search procedure is efficient for an input image having a small change.

【0005】本発明は上述した問題点を解決するために
なされたものであり、画像のフレームレートの向上を妨
げることなく適切な動きベクトルの検出を行うことがで
きるるようにすることを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problem, and has as its object to enable detection of an appropriate motion vector without hindering improvement in the frame rate of an image. I do.

【0006】[0006]

【課題を解決するための手段及び発明の効果】この目的
を達成するためになされた請求項1記載の発明は、動き
補償フレーム間符号化に用いられ、参照フレームの検索
領域に対応する処理ブロックの動きベクトルを検出する
動きベクトル検出装置であって、少なくとも直前の参照
フレームにおける動きベクトルを参照して、現在の処理
対象の参照フレームにおける動きベクトルの移動先ブロ
ックを予測する予測手段と、該予測手段によって予測さ
れた移動先ブロックにおける動きベクトルを優先して検
出し、その検出した動きベクトルを現在の処理対象の参
照フレームにおける動きベクトルとする簡易サーチ手順
に従う検出を実行可能な検出制御手段とを備えているこ
とを特徴とする動きベクトル検出装置である。
Means for Solving the Problems and Effects of the Invention The invention according to claim 1 for achieving this object is used for motion-compensated inter-frame coding, and is a processing block corresponding to a search area of a reference frame. A motion vector estimating device for estimating a destination block of a motion vector in a current reference frame to be processed by referring to at least a motion vector in the immediately preceding reference frame; Detection control means capable of detecting a motion vector in a movement destination block predicted by the means with priority, and performing detection in accordance with a simple search procedure using the detected motion vector as a motion vector in a current reference frame to be processed. A motion vector detection device characterized by comprising:

【0007】本動きベクトル検出装置によれば、参照フ
レームの検索領域に対応する処理ブロックの動きベクト
ルを検出する場合、まず、少なくとも直前の参照フレー
ムにおける動きベクトルを参照して、現在の処理対象の
参照フレームにおける動きベクトルの移動先ブロックを
予測する。そして、検出制御手段が簡易サーチ手順に従
う検出を実行可能であり、この簡易サーチ手順に従う検
出は、予測された移動先ブロックにおける動きベクトル
を優先して検出し、その検出した動きベクトルを現在の
処理対象の参照フレームにおける動きベクトルとするも
のである。
According to the motion vector detecting apparatus, when detecting the motion vector of the processing block corresponding to the search area of the reference frame, first, at least the motion vector of the immediately preceding reference frame is referred to to determine the current processing target. A destination block of a motion vector in a reference frame is predicted. The detection control means can execute the detection according to the simple search procedure. The detection according to the simple search procedure is to preferentially detect the motion vector in the predicted destination block, and the detected motion vector is subjected to the current processing. This is a motion vector in the target reference frame.

【0008】動きベクトルの検出に要する演算量はかな
り大きいため、参照フレーム内の全てのブロックについ
て個々に動きベクトルを検出すると総演算量が莫大なも
のとなってしまう。したがって、予測された移動先ブロ
ックにおける動きベクトルを現在の処理対象の参照フレ
ームにおける動きベクトルとすれば、参照フレーム内に
おけるそれ以外のブロックについては動きベクトルを個
別に演算しないでもよくなり、動きベクトルの演算に要
する時間を短縮することができる。
Since the amount of calculation required for detecting a motion vector is considerably large, if a motion vector is individually detected for all blocks in a reference frame, the total amount of calculation becomes enormous. Therefore, if the motion vector in the predicted destination block is the motion vector in the current reference frame to be processed, the motion vectors of the other blocks in the reference frame do not need to be individually calculated, and the motion vector The time required for the calculation can be reduced.

【0009】従来、動きベクトル算出のための総演算量
が莫大なため、通信などのリアルタイム処理が必要な場
合に演算処理に要する速度が伝送処理速度に追いつかな
いことがあり、画像のフレームレートが頭打ちとなって
スムーズな動画像通信の妨げになる場合があったが、本
発明によれば動きベクトルの演算時間が短縮され、この
ような不都合を防止できる。つまり、画像のフレームレ
ートの向上を妨げることなく適切な動きベクトルが検出
できるのである。
Conventionally, since the total amount of calculation for calculating a motion vector is enormous, when real-time processing such as communication is required, the speed required for calculation processing may not be able to keep up with the transmission processing speed, and the frame rate of an image may be reduced. In some cases, the smoothing of moving image communication may be hindered due to a plateau, but according to the present invention, the operation time of the motion vector is shortened, and such an inconvenience can be prevented. That is, an appropriate motion vector can be detected without hindering the improvement of the frame rate of the image.

【0010】ここで、従来は参照フレーム内の全てのブ
ロックについて動きベクトルを検出していたのに対し、
本発明では1ブロック分の動きベクトルの検出だけでも
よくなる理由について説明する。本発明では、例えば図
3(A)に示すように、フレーム内のあるブロックが等
速度移動をしているような場合には、直前の参照フレー
ムの動きベクトルVnー1 さえ判れば、それに基づいて予
測した今回の動きベクトルVn から移動先ブロックをか
なり正確に得ることができる。つまり、従来は、図3
(A)におけるブロックBからブロックCを探索する場
合に、破線で示す領域S1内の全てのブロックについて
の動きベクトルを検出した上で、初めてその中から最適
な動きベクトルを参照フレームに対する動きベクトルを
算出していた。それに対して、本発明の場合には、直前
の参照フレームにおける動きベクトル、すなわち図3
(A)におけるブロックAからブロックBへの動きベク
トルVn-1 に基づき、例えば等速度移動しているのであ
れば、ベクトルの方向及び大きさが等しくなるので、現
参照フレームにおける動きベクトルVn の移動先ブロッ
クを予測できる。このように、移動に規則性がある場合
には、このようにして予測した移動先ブロックにおいて
検出される動きベクトルが当該参照フレームにおける最
適な動きベクトルである可能性が高くなるのである。
Here, conventionally, the motion vectors are detected for all the blocks in the reference frame.
In the present invention, the reason why only the detection of a motion vector for one block is sufficient will be described. In the present invention, for example, as shown in FIG. 3 (A), when a certain block in a frame is moving at a constant speed, if only the motion vector Vn-1 of the immediately preceding reference frame is known, it is based on that. The destination block can be obtained quite accurately from the current motion vector Vn predicted in this way. That is, conventionally, FIG.
When searching for block C from block B in (A), after detecting motion vectors for all blocks in the area S1 indicated by the broken line, an optimum motion vector is first determined from the motion vectors for the reference frame. Was calculated. On the other hand, in the case of the present invention, the motion vector in the immediately preceding reference frame, that is, FIG.
Based on the motion vector Vn-1 from block A to block B in (A), for example, if moving at a constant speed, the directions and magnitudes of the vectors become equal, so that the motion vector Vn in the current reference frame is moved. The destination block can be predicted. As described above, when the movement has regularity, there is a high possibility that the motion vector detected in the movement destination block predicted in this way is the optimum motion vector in the reference frame.

【0011】上述したように、本発明では、動きベクト
ルの演算時間短縮のため簡易サーチ手順に従う検出とい
う手法を採用したが、全ての場合にこの簡易サーチ手順
に従う検出が好ましいとは言えない。つまり、この簡易
サーチ手順は、あくまで「予測」に基づいて得た移動先
ブロックを優先してサーチする手法であるため、予測に
反した移動が生じた場合には、優先してサーチした移動
先ブロックにおける動きベクトルが適切でない可能性が
ある。上述した例では、フレーム内のあるブロックが等
速度移動をしているといった理想的な状態を想定した
が、常にそのような動きをするものばかりではないた
め、それらに対する考慮も必要である。
As described above, in the present invention, a method of detecting according to the simple search procedure is employed in order to reduce the operation time of the motion vector. However, in all cases, the detection according to the simple search procedure is not preferable. In other words, this simple search procedure is a method of performing a search with priority given to the destination block obtained based on the “prediction”. Therefore, if a movement contrary to the prediction occurs, The motion vector in the block may not be appropriate. In the above-described example, an ideal state in which a certain block in a frame is moving at a constant speed is assumed. However, since not only such a movement is always performed, it is necessary to consider them.

【0012】その点を考慮したものが請求項2に示す動
きベクトル検出装置である。すなわちその構成は、請求
項1における検出制御手段が、参照フレーム内の全検索
領域に対して個別に動きベクトルを検出するフルサーチ
手順に従う検出も実行可能に構成されており、さらに、
簡易サーチ手順に従う検出を実行することにより検出し
た動きベクトルに基づいて参照フレームの予測ブロック
を算出する算出手段と、その算出手段によって算出され
た参照フレームの予測ブロックと現在処理中のフレーム
の処理ブロックとにおける対応画素間の差分絶対値和あ
るいは差分自乗和を算出して、その算出値が適切かどう
かを判断する判断手段と、その判断手段によって前記算
出値が適切でないと判断された場合には、検出制御手段
に対して、前記フルサーチ手順に従う検出を行なうよう
指示する検出手順指示手段とを備えていることを特徴と
する。
In consideration of this point, a motion vector detecting device according to a second aspect is provided. That is, the configuration is such that the detection control means according to claim 1 can also execute detection according to a full search procedure for individually detecting a motion vector for all search regions in a reference frame.
Calculating means for calculating a predicted block of a reference frame based on a motion vector detected by executing detection according to a simple search procedure; a predicted block of a reference frame calculated by the calculating means; and a processing block of a frame currently being processed Calculating a sum of absolute differences or a sum of squares of differences between corresponding pixels in (a) and (b), determining whether the calculated value is appropriate; and determining that the calculated value is not appropriate by the determining means. And a detection procedure instructing means for instructing the detection control means to perform detection according to the full search procedure.

【0013】この場合には、簡易サーチ手順に従う検出
を実行することにより、予測された移動先ブロックにお
ける動きベクトルに基づいて参照フレームの予測ブロッ
クを算出し、その算出された参照フレームの予測ブロッ
クと現在処理中のフレームの処理ブロックとにおける対
応画素間の差分絶対値和あるいは差分自乗和を算出し
て、その算出値が適切かどうかを判断する。そして、算
出値が適切でない場合には、検出制御手段に対して、フ
ルサーチ手順に従う検出を行なうよう指示するのであ
る。
In this case, by performing the detection according to the simple search procedure, the prediction block of the reference frame is calculated based on the predicted motion vector of the movement destination block, and the prediction block of the calculated reference frame is calculated. A sum of absolute differences or a sum of squares of differences between corresponding pixels in the processing block of the frame currently being processed is calculated, and it is determined whether the calculated value is appropriate. If the calculated value is not appropriate, the control unit instructs the detection control unit to perform detection according to the full search procedure.

【0014】つまり、簡易サーチ手順に従う検出を基本
としながら、それによる検出結果が適切かどうかを判断
し、適切でなければフルサーチ手順に従う検出に切り替
えることによって、予測された移動先ブロックが、参照
フレームにおける動きベクトルの存在範囲として適切か
否かにかかわらず、結果としては当該参照フレームにお
ける適切な動きベクトルが検出でき、それでいて極力動
きベクトルの演算に要する時間の短縮を実現することが
できるのである。
That is, based on the detection according to the simple search procedure, it is determined whether or not the detection result is appropriate, and if not, the detection is switched to the detection according to the full search procedure. Regardless of whether or not the range of motion vectors in the frame is appropriate, an appropriate motion vector in the reference frame can be detected as a result, and the time required for calculating the motion vector can be reduced as much as possible. .

【0015】なお、この場合の判断手段は、例えば請求
項3に示すように、参照フレームの予測ブロックと現在
処理中のフレームの処理ブロックとにおける対応画素間
の差分絶対値和あるいは差分自乗和が所定の基準値以上
の場合に適切でないと判断するよう構成することが考え
られる。
[0015] In this case, the determination means determines the sum of absolute differences or the sum of squares of differences between corresponding pixels in the prediction block of the reference frame and the processing block of the frame currently being processed. It is conceivable to configure so as to judge that it is not appropriate when the value is equal to or more than a predetermined reference value.

【0016】なお、本発明の特徴として挙げられる予測
手段における予測は、上述したように、少なくとも直前
の参照フレームにおける動きベクトルを参照して、現在
の処理対象の参照フレームにおける動きベクトルの移動
先ブロックを予測するというものである。したがって、
直前の参照フレームにおける動きベクトルのみ参照して
もよいし、さらにそれよりも前の参照フレームにおける
動きベクトルも参照するようにしてもよい。
As described above, the prediction by the prediction means, which is a feature of the present invention, refers to the motion vector of at least the immediately preceding reference frame, and refers to the destination block of the motion vector in the current reference frame to be processed. Is to predict. Therefore,
Only the motion vector in the immediately preceding reference frame may be referred to, or the motion vector in a reference frame earlier than that may be referred to.

【0017】但し、複数の参照フレームにおける動きベ
クトルを参照した方がより精度の高い予測ができる可能
性は高くなる。例えば、図3(B)に示すように、連続
する複数の参照フレームでの動きベクトル(Vn-1〜Vn
-5)を参照してみると、回転運動のような動きをしてい
ることが判る場合がある。この場合、回転運動であれば
その曲率Rなどが判るため、これに基づいて得た動きベ
クトルVn によればかなり正確に移動先ブロックを予測
することが可能である。
However, it is more likely that more accurate prediction can be made by referring to motion vectors in a plurality of reference frames. For example, as shown in FIG. 3B, motion vectors (Vn-1 to Vn) in a plurality of continuous reference frames are provided.
If you look at -5), you may find that it moves like a rotary motion. In this case, in the case of a rotational motion, the curvature R or the like is known, and the destination block can be predicted fairly accurately according to the motion vector Vn obtained based on the curvature.

【0018】また、図3(C)に示すように、連続する
複数の参照フレームでの動きベクトル(Vn-1〜Vn-6)
を参照してみると、所定の周期で移動方向が上下反転す
るような動きをしていることが判る場合がある。この場
合、その反転周期と移動方向が判れば、かなり正確に移
動先ブロックを予測することが可能である。例えば、図
3(C)に示す場合の予測される動きベクトルVn は、
直前の動きベクトルVn-1 からだけでは判断できない
が、この場合は過去6回の動きベクトルを参照すると、
規則性があり、4回前の動きベクトルVn-4 と同じ動き
ベクトルとなると予想できる。
As shown in FIG. 3C, the motion vectors (Vn-1 to Vn-6) in a plurality of continuous reference frames are set.
In some cases, it can be seen that the movement direction is reversed up and down at a predetermined cycle. In this case, if the reversal period and the moving direction are known, it is possible to predict the destination block quite accurately. For example, the predicted motion vector Vn in the case shown in FIG.
Although it cannot be determined only from the immediately preceding motion vector Vn-1, in this case, referring to the past six motion vectors,
Because of the regularity, it can be expected that the motion vector will be the same as the motion vector Vn-4 four times before.

【0019】つまり、いくら動きに規則性があったとし
ても、直前の参照フレームにおける動きベクトルだけを
参照していると、移動先ブロックが少しずれたり、ある
いは移動方向が大きく変化するような動きの場合には相
当ずれたりすることも考えられるので、動きの予測が判
断できない。そのため、種々の動き方に対応できるよう
にする観点からは、連続する複数の参照フレームでの動
きベクトルを参照するという手法を採用することが好ま
しいと言える。
In other words, no matter how regular the movement is, if only the motion vector in the immediately preceding reference frame is referenced, the movement of the movement block is slightly shifted or the movement direction is greatly changed. In such a case, it is conceivable that the motion may shift considerably, so that the prediction of the motion cannot be determined. Therefore, it can be said that it is preferable to adopt a method of referring to motion vectors in a plurality of continuous reference frames from the viewpoint of being able to cope with various types of motion.

【0020】そして、このような動きベクトル検出装置
を備えた画像符号化装置としては、請求項4に示すよう
な構成が考えられる。つまり、入力された映像信号を、
矩形領域の画素データに変換して出力するデータ変換手
段と、データ変換手段から出力された矩形領域の画素デ
ータに対して直交変換を施す直交変換手段と、直交変換
手段から出力される直交変換データを所定の量子化ステ
ップ値で割って変換符号化データとして出力する量子化
手段と、量子化手段から出力された変換符号化データを
可変長のコードに変換して出力する可変長符号化手段
と、量子化手段からの出力に対して量子化ステップ値を
掛けて直交変換データを作成する逆量子化手段と、逆量
子化手段から出力された直交変換データに対して逆直交
変換を施して矩形領域の画素データを出力する逆直交変
換手段と、逆直交変換手段から出力された画素データと
データ変換手段から出力された矩形領域の画素データと
の差分データを作成し、直交変換手段に出力する動き予
測手段とを備えた画像符号化装置であって、この動き予
測手段が、前記請求項1〜3のいずれかに記載の動きベ
クトル検出装置を備えていることを特徴とする構成であ
る。
As an image coding apparatus provided with such a motion vector detecting device, a configuration as described in claim 4 can be considered. That is, the input video signal is
A data conversion unit that converts the pixel data into a rectangular area and outputs the pixel data; an orthogonal transformation unit that performs an orthogonal transformation on the pixel data of the rectangular area output from the data conversion unit; and an orthogonal transformation data output from the orthogonal transformation unit Is divided by a predetermined quantization step value and output as transformed coded data; andvariable-length coding means that converts the transformed coded data output from the quantizing means into a variable-length code and outputs the result. A dequantizer for multiplying the output from the quantizer by a quantization step value to generate orthogonal transform data, and performing an inverse orthogonal transform on the orthogonal transform data output from the inverse quantizer to obtain a rectangle. Inverse orthogonal transform means for outputting pixel data of the area, and differential data between the pixel data output from the inverse orthogonal transform means and the pixel data of the rectangular area output from the data transform means An image coding apparatus comprising: a motion prediction unit that outputs to an orthogonal transformation unit; wherein the motion prediction unit includes the motion vector detection device according to any one of claims 1 to 3. This is a characteristic configuration.

【0021】[0021]

【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面を参照して説明する。図1は、本発明の一実
施形態である動きベクトル検出装置を備えたMPEG規
格準拠の画像符号化装置の概略構成を示すブロック図で
ある。本画像符号化装置は、アナログの映像信号を外部
から入力し、それに応じてデジタルコード化されさらに
データ量の圧縮された状態でエンコード出力するもので
ある。映像は複数の静止画データを時間的に並べること
で実現している。本実施形態の場合、例えば30分の1
秒毎に1枚の静止画データを表示するようになってい
る。一枚の静止画データは、本実施形態では例えば横7
04個、縦480個の画素で表現され、本実施形態では
これを16×16画素に分割し、これをマクロブロック
とする。従って一枚の静止画は、縦30個、横44個の
マクロブロックの集合になる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of an image coding apparatus conforming to the MPEG standard provided with a motion vector detecting apparatus according to an embodiment of the present invention. The present image encoding apparatus is configured to receive an analog video signal from the outside, encode the digital video signal accordingly, and encode and output the data in a state where the data amount is compressed. Video is realized by temporally arranging a plurality of still image data. In the case of this embodiment, for example, 1/30
One piece of still image data is displayed every second. In the present embodiment, one still image data is, for example,
It is represented by 04 pixels and 480 pixels vertically. In the present embodiment, this is divided into 16 × 16 pixels, which are defined as macroblocks. Accordingly, one still image is a set of 30 vertical macroblocks and 44 horizontal macroblocks.

【0022】図1に示すように、本画像符号化装置1
は、入力された映像信号を受けてこれを画素単位のデジ
タルデータに変換して蓄積し、16×16画素の領域で
あるマクロブロック単位に画素データを出力するための
「データ変換手段」としての画像メモリ101と、入力
画素値データと参照データとの減算処理を行う減算部1
02と、直交変換の一種であるDCT(離散コサイン変
換)処理を行う「直交変換手段」としてのDCT部10
3と、そのDCT部103から入力されたDCT係数デ
ータを量子化する「量子化手段」としての量子化部10
4と、その量子化部104において量子化されたDCT
係数データに対して可変長符号化を行う「可変長符号化
手段」としての可変長符号化部105と、その可変長符
号化部105にて符号化されたデータを蓄積しておく送
信バッファ部106と、前記量子化部104において量
子化されたDCT係数データを逆量子化する「逆量子化
手段」としての逆量子化部107と、その逆量子化部1
07にて逆量子化されたDCT係数データに対してID
CT(逆離散コサイン変換)処理を行う「逆直交変換手
段」としてのIDCT部108と、そのIDCT部10
8によりIDCT処理される前の画像データに戻された
データに動き補償を加算するための加算部109と、動
きフレーム間予測のために加算部109からの出力を記
憶しておくフレームメモリ部で110と、本発明の「動
きベクトル検出装置」に相当する動きベクトル検出部1
11と、その動きベクトル検出部111にて検出された
動きベクトルに従い、前回のフレームにおける該当する
マクロブロック単位の画素値データを選択する動き補償
部112と、画像符号化制御部114とを備えている。
As shown in FIG. 1, the present image encoding apparatus 1
Is a “data conversion unit” for receiving an input video signal, converting the same into digital data in pixel units, storing the converted digital data, and outputting pixel data in macroblock units, which are areas of 16 × 16 pixels. Image memory 101 and subtraction unit 1 that performs a subtraction process between input pixel value data and reference data
02 and a DCT unit 10 as "orthogonal transform means" for performing DCT (discrete cosine transform) processing which is a kind of orthogonal transform.
3 and a quantizing unit 10 as "quantizing means" for quantizing the DCT coefficient data input from the DCT unit 103.
4 and the DCT quantized by the quantization unit 104
A variable-length encoding unit 105 as a “variable-length encoding unit” that performs variable-length encoding on coefficient data, and a transmission buffer unit that stores data encoded by the variable-length encoding unit 105 106, an inverse quantization unit 107 as “inverse quantization means” for inversely quantizing the DCT coefficient data quantized in the quantization unit 104, and the inverse quantization unit 1
ID for the DCT coefficient data inversely quantized at 07
IDCT section 108 as “inverse orthogonal transform means” for performing CT (inverse discrete cosine transform) processing, and IDCT section 10
8, an addition unit 109 for adding motion compensation to the data returned to the image data before the IDCT processing, and a frame memory unit for storing an output from the addition unit 109 for motion inter-frame prediction. 110 and a motion vector detecting unit 1 corresponding to the “motion vector detecting device” of the present invention.
11, a motion compensator 112 for selecting the corresponding pixel value data of the macroblock in the previous frame according to the motion vector detected by the motion vector detector 111, and an image encoding controller 114. I have.

【0023】なお、本実施形態においては、減算部10
2と、加算部109と、フレームメモリ部で110と、
動きベクトル検出部111と、動き補償部112とによ
って、「動き予測手段」が構成されることとなる。ま
た、前記画像符号化制御部114は、図示しない外部の
システム制御部からの制御信号や、上述の送信バッファ
部106におけるバッファ蓄積量を基に、符号化モード
選択や量子化ステップサイズ選択、有意ブロック判定、
駒落とし(フレームスキップ)などの各種符号化制御を
行う。したがって、上述の量子化部104は、この画像
符号化制御部114からの指示にしたがって量子化ステ
ップサイズを選択し、DCT部103から入力されたD
CT係数データを量子化することとなり、また可変長符
号化部105は、画像符号化制御部114からの指示に
したがって有意ブロック判定や駒落とし等を実行するこ
ととなる。
In this embodiment, the subtracting section 10
2, an adding unit 109, a frame memory unit 110,
The motion vector detecting section 111 and the motion compensating section 112 constitute "motion predicting means". Further, the image encoding control unit 114 selects an encoding mode, a quantization step size, and a significance based on a control signal from an external system control unit (not shown) and the buffer accumulation amount in the transmission buffer unit 106 described above. Block judgment,
Various coding controls such as frame dropping are performed. Therefore, the above-described quantization unit 104 selects a quantization step size according to the instruction from the image encoding control unit 114, and
The CT coefficient data is quantized, and the variable-length coding unit 105 performs significant block determination, frame dropping, and the like in accordance with an instruction from the image coding control unit 114.

【0024】次に、上述の構成を持つ本実施形態の画像
符号化装置1の動作について説明する。なお、動きベク
トル検出部111における動きベクトルの検出動作に特
徴があるのでその点は後で詳述することとして、ここで
は画像符号化装置1としての動作の概略を説明する。
Next, the operation of the image coding apparatus 1 according to the present embodiment having the above configuration will be described. Since the motion vector detecting section 111 has a feature in the motion vector detecting operation, a detailed description thereof will be given later, and the outline of the operation of the image encoding device 1 will be described here.

【0025】圧縮対象の映像信号は画素単位のデジタル
データに変換された状態で画像メモリ101に蓄えられ
ている。本実施形態では、圧縮の単位は16×16画素
のマクロブロックを一単位として処理するので、ここで
データをマクロブロック単位に並べ替えて出力する。画
像メモリ101の出力であるマクロブロック単位の画素
データは、減算部102及び動きベクトル検出部111
に送られる。減算部102には動き補償部112からの
予測データも入力され、画素データと予測データとの差
分データ(予測誤差)をDCT部103へ出力する。
A video signal to be compressed is stored in the image memory 101 in a state converted into digital data in pixel units. In the present embodiment, since the compression unit is processed with a macroblock of 16 × 16 pixels as one unit, the data is rearranged in macroblock units and output. The pixel data in units of macro blocks, which is the output of the image memory 101, is subtracted from the subtractor 102 and the motion vector detector 111.
Sent to The prediction data from the motion compensation unit 112 is also input to the subtraction unit 102, and the difference data (prediction error) between the pixel data and the prediction data is output to the DCT unit 103.

【0026】このDCT部103では、減算部102か
ら出力される差分データに対してDCT(離散コサイン
変換)処理を行う。このとき演算単位は所定のブロック
単位(例えば8×8画素毎)に行う。本実施形態では1
フレームの画像データを16×16画素に分割したもの
をマクロブロックとしており、この場合は一つのマクロ
ブロックで4回のDCTを行うことになる。DCT演算
では、出力として8×8の係数が求められる。本実施形
態では、この係数(以下、「DCT係数」とも呼ぶ。)
を周波数成分の順に並べて量子化部104へ出力する。
The DCT unit 103 performs a DCT (Discrete Cosine Transform) process on the difference data output from the subtraction unit 102. At this time, the calculation is performed in predetermined block units (for example, every 8 × 8 pixels). In this embodiment, 1
A macroblock is obtained by dividing image data of a frame into 16 × 16 pixels. In this case, DCT is performed four times in one macroblock. In the DCT operation, an 8 × 8 coefficient is obtained as an output. In the present embodiment, this coefficient (hereinafter, also referred to as “DCT coefficient”).
Are output to the quantization unit 104 in the order of the frequency components.

【0027】量子化部104では、画像符号化制御部1
14からの量子化特性制御信号に従い選択されたステッ
プサイズで、DCT部103から入力されたDCT係数
を量子化し、この量子化した値を可変長符号化部105
へ出力する。可変長符号化部105では画像符号化制御
部114による符号化制御信号に基づき、有意ブロック
判定等を行い、量子化されたDCT係数を可変長符号化
し、送信バッファ部106へ出力する。なお、この可変
長符号化については、例えば量子化部104の出力をラ
ンレングス変換した後で、その係数を可変長符号に変換
して圧縮データとして出力することが考えられる。ラン
レングス符号化によってゼロ係数の数と次の非ゼロ係数
の値の組である2個の係数になるのであるが、量子化部
104の出力は、ゼロ係数が多く続く傾向があるので、
ランレングス符号化することによってデータ量は削減さ
れる。次に、ランレングス符号化の結果である2つの係
数をまとめ、一つの可変長符号を割り当てて出力するこ
とで圧縮データが得られることとなる。
In the quantization section 104, the image coding control section 1
The DCT coefficient input from the DCT unit 103 is quantized with the step size selected in accordance with the quantization characteristic control signal from the CPU 14, and the quantized value is input to the variable-length encoding unit 105.
Output to The variable-length coding unit 105 performs a significant block determination and the like based on the coding control signal from the image coding control unit 114, performs variable-length coding on the quantized DCT coefficient, and outputs it to the transmission buffer unit 106. In this variable-length coding, for example, it is conceivable that after the output of the quantization unit 104 is run-length-transformed, the coefficient is converted into a variable-length code and output as compressed data. The run-length encoding results in two coefficients, which are the set of the number of zero coefficients and the value of the next non-zero coefficient. However, the output of the quantization unit 104 tends to have many zero coefficients.
The data amount is reduced by run-length encoding. Next, two coefficients that are the result of the run-length encoding are put together, and one variable-length code is assigned and output, so that compressed data is obtained.

【0028】送信バッファ部106はバッファメモリで
構成され、可変長符号化データをバッファリングし後段
の分離多重化部(図示せず)へ出力すると共に、バッフ
ァ蓄積量を画像符号化制御部114へ送出する。一方、
逆量子化部107には、量子化部104から出力された
DCT係数を量子化したものが入力されるため、量子化
部104において選択された量子化ステップサイズを用
いて逆量子化を行い、DCT係数を算出してIDCT部
108へ出力する。このときの結果は量子化による誤差
を含んだ値となるため、IDCT部108では、逆量子
化部107から入力したDCT係数に対してIDCT
(逆離散コサイン変換)処理し、加算部109へ出力す
る。
The transmission buffer unit 106 is composed of a buffer memory, buffers the variable-length coded data and outputs the buffered data to a separation / multiplexing unit (not shown) at the subsequent stage. Send out. on the other hand,
Since the inverse quantization unit 107 receives the quantization of the DCT coefficient output from the quantization unit 104, the inverse quantization is performed using the quantization step size selected by the quantization unit 104, The DCT coefficient is calculated and output to IDCT section 108. Since the result at this time is a value including an error due to quantization, IDCT section 108 applies IDCT to the DCT coefficient input from inverse quantization section 107.
(Inverse discrete cosine transform), and outputs the result to addition section 109.

【0029】この加算部109は、IDCT部108か
らの出力と動き補償部112からの出力を加算してフレ
ームメモリ部110へ出力する。フレームメモリ部11
0は、動き補償フレーム間予測のためのフレームメモリ
であり、少なくとも2フレーム分のフレームメモリで構
成される。そして、加算部109からの画素値出力を蓄
積すると同時に、動き補償フレーム予測のため前回フレ
ームの画素データを、動きベクトル検出部111及び動
き補償部112へ出力する。
The addition section 109 adds the output from the IDCT section 108 and the output from the motion compensation section 112 and outputs the result to the frame memory section 110. Frame memory unit 11
Reference numeral 0 denotes a frame memory for motion compensated inter-frame prediction, which is composed of at least two frame memories. Then, at the same time as accumulating the pixel value output from the adding unit 109, the pixel data of the previous frame is output to the motion vector detecting unit 111 and the motion compensating unit 112 for motion compensated frame prediction.

【0030】動きベクトル検出部111では、現在フレ
ームの処理マクロブロック位置付近における前回フレー
ムの画素データを動きベクトル・サーチウィンドウ(検
索領域)としてフレームメモリ部110より読み出し、
ブロックマッチング演算を行って動きベクトルを検出
し、その検出した動きベクトルを動き補償部112へ出
力する。また、上記ブロックマッチング演算により検出
された動きベクトルは、隣接するマクロブロックに対す
る動きベクトルとしても出力される。
The motion vector detecting section 111 reads out the pixel data of the previous frame near the processing macroblock position of the current frame from the frame memory section 110 as a motion vector search window (search area).
A motion vector is detected by performing a block matching operation, and the detected motion vector is output to the motion compensation unit 112. Further, the motion vector detected by the block matching calculation is also output as a motion vector for an adjacent macro block.

【0031】動き補償部112では、動きベクトル検出
部111で検出された動きベクトルに従い、前回フレー
ムの該当するマクロブロック単位の画素データをフレー
ムメモリ部110より読み出し、予測値データとして減
算部102へ出力する。これが、画像符号化装置1とし
ての概略動作であり、上述したように例えばランレング
ス符号化と可変長コードを採用してデータの効率的な圧
縮を実現することができるのである。
In accordance with the motion vector detected by the motion vector detecting section 111, the motion compensating section 112 reads out the pixel data of the corresponding macroblock of the previous frame from the frame memory section 110 and outputs it to the subtracting section 102 as predicted value data. I do. This is the general operation of the image encoding apparatus 1, and as described above, efficient compression of data can be realized by employing, for example, run-length encoding and variable-length codes.

【0032】次に、動きベクトル検出部111の構成及
び動作について、図2を参照して詳細に説明する。ま
ず、動きベクトル検出に関する基本的動作及び本発明の
特徴部分に関して説明する。動きベクトルの検出は、現
在フレームの処理ブロックと参照フレームの予測ブロッ
クについて、対応する画素データ間の差分絶対値和ある
いは差分自乗和を算出し、最小値をとるブロックのベク
トルを動きベクトルと推定する。上述した通り、一般的
にブロック画素データ間の差分絶対値和演算は、その他
の画像符号化処理と比較して多大な演算量を必要とす
る。このため、検索領域内の全てのブロックパターンを
検索する「フルサーチ手順」の場合は、検出が確実であ
る反面、動きベクトル算出のための総演算量が莫大なも
のとなり、画像のフレームレートの許容範囲の上限が超
える場合がある。また、変化が小さい(動きが少ない)
入力画像に対してはフルサーチは効率的とは言い難かっ
た。
Next, the configuration and operation of the motion vector detecting section 111 will be described in detail with reference to FIG. First, a basic operation relating to motion vector detection and a characteristic portion of the present invention will be described. The motion vector is detected by calculating the sum of absolute differences or the sum of squares of the differences between the corresponding pixel data for the processing block of the current frame and the prediction block of the reference frame, and estimating the vector of the block having the minimum value as the motion vector. . As described above, generally, the sum of absolute differences between block pixel data requires a large amount of calculation as compared with other image encoding processes. For this reason, in the case of the “full search procedure” in which all block patterns in the search area are searched, the detection is reliable, but the total operation amount for calculating the motion vector becomes enormous, and the frame rate of the image is reduced. The upper limit of the allowable range may be exceeded. Also, the change is small (there is little movement)
Full search was not efficient for input images.

【0033】そこで、本実施形態の動きベクトル検出部
111においては、発生符号量が小さい画像に対しては
演算時間を考慮し、効率良く、しかもフレームレートの
向上を妨げることのない簡易的な手法による検索手順
(これを「簡易サーチ手順」と呼ぶ。)を用いて動きベ
クトル検出処理を行うことを特徴としている。そして、
簡易サーチ手順による検索が妥当でない場合は、常に適
切な検出が可能なフルサーチ手順による検索を用いて動
きベクトル検出処理を行うようにしている。
Therefore, in the motion vector detecting section 111 of the present embodiment, a simple method that is efficient and does not hinder the improvement of the frame rate in consideration of the calculation time for an image having a small generated code amount. (Hereinafter referred to as "simple search procedure") to perform the motion vector detection processing. And
When the search by the simple search procedure is not appropriate, the motion vector detection processing is always performed by using the search by the full search procedure that enables appropriate detection.

【0034】図2は、動きベクトル検出部111の内部
構成を概略的に示すブロック図である。図2に示すよう
に、動きベクトル検出部111は、「予測手段」及び
「検出制御手段」に相当する検出制御部204と、その
検出制御部204に対してフルサーチ手順と簡易サーチ
手順とを切り替える指示をする「検出手順指示手段」と
しての検出手順選択部201と、検出制御部204より
入力された処理マクロブロックと予測ブロックについ
て、対応する画素間の差分絶対値和を算出する「算出手
段」としての演算実行部202と、検出制御部204の
指示により、演算結果が最小となるブロックに対応する
ベクトルを検出制御部204へ出力する「判断手段」と
しての適切ベクトル判定部203とを備えている。
FIG. 2 is a block diagram schematically showing an internal configuration of the motion vector detecting section 111. As shown in FIG. 2, the motion vector detection unit 111 performs a full search procedure and a simple search procedure for the detection control unit 204 corresponding to the “prediction unit” and the “detection control unit”. A detection procedure selection unit 201 serving as a “detection procedure instruction unit” for instructing switching, and a “calculation unit” for calculating the sum of absolute differences between corresponding pixels for a processing macroblock and a prediction block input from the detection control unit 204 And an appropriate vector determination unit 203 as a “judgment unit” that outputs a vector corresponding to a block having the minimum calculation result to the detection control unit 204 according to an instruction from the detection control unit 204. ing.

【0035】前記検出制御部204には、フレームメモ
リ部110から処理マクロブロックの画素データが入力
されると共に、画像メモリ101から処理マクロブロッ
ク位置付近の前回フレームの検索領域画素データが入力
される。一方、検出手順選択部201においては、適切
ベクトル判定部203からの判定結果が予め設定されて
いる基準値を越えていればフルサーチ手順、基準値以下
ならば簡易サーチ手順を選択し、その選択した手順を検
出制御部204へ出力する。
The detection control unit 204 receives the pixel data of the processing macroblock from the frame memory unit 110 and the search area pixel data of the previous frame near the processing macroblock position from the image memory 101. On the other hand, the detection procedure selection unit 201 selects a full search procedure if the determination result from the appropriate vector determination unit 203 exceeds a preset reference value, and selects a simple search procedure if the determination result is less than the reference value. The detected procedure is output to the detection control unit 204.

【0036】そして、検出制御部204では、演算実行
部202へ演算対象データを送出すると共に、この検出
手順選択部201から指示された手順(フルサーチ手順
又は簡易サーチ手順)に基づく演算実行の指示を行う。
また、指示された選択手順に基づき適切ベクトル判定部
203に対しては適切なベクトルの判定の実行を指示
し、さらにその適切ベクトル判定部203より得られた
動きベクトルを動き補償部112へ送出する制御を行
う。なお、適切ベクトル判定部203においては、簡易
サーチ手順による動きベクトルの検出が実行されている
場合のみ、検出手順選択部201に判定結果が送られる
ようにされている。
The detection control unit 204 sends the data to be calculated to the calculation execution unit 202 and instructs execution of the calculation based on the procedure (full search procedure or simple search procedure) specified by the detection procedure selection unit 201. I do.
Further, it instructs the appropriate vector determination unit 203 to execute an appropriate vector determination based on the instructed selection procedure, and sends the motion vector obtained from the appropriate vector determination unit 203 to the motion compensation unit 112. Perform control. Note that the appropriate vector determination unit 203 is configured to transmit the determination result to the detection procedure selection unit 201 only when the motion vector is detected by the simple search procedure.

【0037】簡易サーチ手順に従う検出としては、参照
フレームの検索領域に対応する処理ブロックの動きベク
トルを検出する場合、まず、少なくとも直前の参照フレ
ームにおける動きベクトルを参照して、現在の処理対象
の参照フレームにおける動きベクトルの移動先ブロック
を予測する。この移動先ブロックの予測は検出制御部2
04が実行する。そのため、検出制御部204は、少な
くとも直前の参照フレームにおける動きベクトルを記憶
しておく。
When detecting the motion vector of the processing block corresponding to the search area of the reference frame as detection according to the simple search procedure, first, at least the motion vector of the immediately preceding reference frame is referred to Predict the destination block of the motion vector in the frame. This prediction of the destination block is performed by the detection control unit 2
04 executes. Therefore, the detection control unit 204 stores at least the motion vector in the immediately preceding reference frame.

【0038】そして、その予測された移動先ブロックに
おける動きベクトルを優先して検出する。つまり、処理
対象の参照フレームにおける所定の探索順番から見れば
1番目のブロックでなくても、その予測したブロックに
おける動きベクトルを検出するのである。具体的には、
検出制御部204が演算実行部202へ演算対象データ
を送出する場合に、予測された移動先ブロックの演算対
象データを送出して簡易サーチ手順に基づく演算実行の
指示を行うのである。
Then, the motion vector in the predicted destination block is detected with priority. In other words, the motion vector in the predicted block is detected even if it is not the first block when viewed from the predetermined search order in the reference frame to be processed. In particular,
When the detection control unit 204 sends the calculation target data to the calculation execution unit 202, the detection control unit 204 sends the calculation target data of the predicted movement destination block and instructs the execution of the calculation based on the simple search procedure.

【0039】これは簡易サーチ手順に従う検出処理であ
るため、上述したように適切ベクトル判定部203から
検出手順選択部201に判定結果が送られる。その判定
結果が基準値以上であればフルサーチ手順に従う検出に
移行し、参照フレーム内の全てのブロックについての動
きベクトルを検出する。一方、判定結果が基準値以下で
あれば、その検出結果で適切であると判断し、動きベク
トルとして動き補償部112へ出力する。
Since this is a detection process according to the simple search procedure, the determination result is sent from the appropriate vector determination unit 203 to the detection procedure selection unit 201 as described above. If the determination result is equal to or greater than the reference value, the process proceeds to detection according to the full search procedure, and motion vectors for all blocks in the reference frame are detected. On the other hand, if the determination result is equal to or smaller than the reference value, it is determined that the detection result is appropriate, and is output to the motion compensation unit 112 as a motion vector.

【0040】動きベクトルの検出に要する演算量はかな
り大きいため、参照フレーム内の全てのブロックについ
て個々に動きベクトルを検出すると総演算量が莫大なも
のとなってしまう。したがって、予測された移動先ブロ
ックにおける動きベクトルを現在の処理対象の参照フレ
ームにおける動きベクトルとできれば、参照フレーム内
におけるそれ以外のブロックについては動きベクトルを
個別に演算しないでもよくなり、動きベクトルの演算に
要する時間を短縮することができる。
Since the amount of calculation required for detecting a motion vector is considerably large, if a motion vector is individually detected for all blocks in a reference frame, the total amount of calculation becomes enormous. Therefore, if the motion vector in the predicted movement destination block can be used as the motion vector in the current reference frame to be processed, the motion vector does not need to be separately calculated for the other blocks in the reference frame, and the motion vector calculation can be performed. Can be shortened.

【0041】従来、動きベクトル算出のための総演算量
が莫大なため、通信などのリアルタイム処理が必要な場
合に演算処理に要する速度が伝送処理速度に追いつかな
いことがあり、画像のフレームレートが頭打ちとなって
スムーズな動画像通信の妨げになる場合があったが、本
案の簡易サーチ手順に従う検出によれば動きベクトルの
演算時間が短縮され、このような不都合を防止できる。
つまり、画像のフレームレートの向上を妨げることなく
適切な動きベクトルが検出できるのである。
Conventionally, since the total amount of calculation for calculating a motion vector is enormous, when real-time processing such as communication is required, the speed required for calculation processing may not be able to keep up with the transmission processing speed, and the frame rate of an image may be reduced. In some cases, the smoothing of the moving image communication may be hindered due to a plateau. However, according to the detection according to the simple search procedure of the present invention, the operation time of the motion vector is reduced, and such inconvenience can be prevented.
That is, an appropriate motion vector can be detected without hindering the improvement of the frame rate of the image.

【0042】ここで、従来は参照フレーム内の全てのブ
ロックについて動きベクトルを検出する「フルサーチ手
順に従う検出」であったのに対し、本案では1ブロック
分の動きベクトルの検出だけでもよくなる理由について
説明する。つまり、従来は、参照フレーム内の動きベク
トルを検出する場合に、その参照フレームを構成する複
数のブロックに対する検索順番が装置の仕様などによっ
て一律に決まっていた。従って、全てのブロックについ
ての動きベクトルを検出した上で、初めてその中から最
適な動きベクトルを参照フレームに対する動きベクトル
とする必要があったが、本案では、直前の参照フレーム
における動きベクトルから予測された現参照フレームに
おける動きベクトルの移動先ブロックを予測しており、
入力画像が規則性のある動きをするものであれば、その
移動先ブロックにおいて検出される動きベクトルが当該
参照フレームにおける最適な動きベクトルである可能性
が高いからである。
Here, the reason why the detection according to the full search procedure in which the motion vectors are detected for all the blocks in the reference frame in the related art is compared with the case where only the detection of the motion vector for one block is sufficient in the present invention. explain. That is, conventionally, when detecting a motion vector in a reference frame, the search order for a plurality of blocks constituting the reference frame has been uniformly determined according to the specifications of the apparatus. Therefore, after detecting the motion vectors for all the blocks, it is necessary for the first time to select the optimal motion vector from the motion vectors as the motion vector for the reference frame. The destination block of the motion vector in the current reference frame
This is because if the input image moves regularly, the motion vector detected in the movement destination block is likely to be the optimum motion vector in the reference frame.

【0043】つまり、従来は、図3(A)におけるブロ
ックBからブロックCを探索する場合に、破線で示す領
域S1内の全てのブロックについての動きベクトルを検
出した上で、初めてその中から最適な動きベクトルを参
照フレームに対する動きベクトルを算出していた。それ
に対して、本案では、直前の参照フレームにおける動き
ベクトル、すなわち図3(A)におけるブロックAから
ブロックBへの動きベクトルVn-1 に基づき、例えば等
速度移動しているのであれば、ベクトルの方向及び大き
さが等しくなるので、現参照フレームにおける動きベク
トルVn の移動先ブロックを予測できる。このように、
移動に規則性がある場合には、このようにして予測した
移動先ブロックにおいて検出される動きベクトルが当該
参照フレームにおける最適な動きベクトルである可能性
が高くなるため、簡易サーチ手順で対応可能となるので
る。
That is, conventionally, when searching for the block C from the block B in FIG. 3A, after the motion vectors of all the blocks in the area S1 indicated by the broken line are detected, the optimum A motion vector with respect to a reference frame is calculated using a simple motion vector. On the other hand, in the present invention, based on the motion vector in the immediately preceding reference frame, that is, the motion vector Vn-1 from block A to block B in FIG. Since the directions and magnitudes are equal, the destination block of the motion vector Vn in the current reference frame can be predicted. in this way,
If the movement is regular, it is more likely that the motion vector detected in the movement destination block predicted in this way is the optimum motion vector in the reference frame, so that it can be handled by the simple search procedure. It will be.

【0044】そして、簡易サーチ手順に従う検出が好ま
しくない場合もあり得るため、その場合には、本実施形
態では、演算量を低減させる点で有効な簡易サーチ手順
に従う検出を基本としながら、簡易サーチ手順による検
出結果が適切かどうかを適切ベクトル判定部203にて
判断し、適切でなければ検出手順選択部201からの指
示によってフルサーチ手順に従う検出に切り替えるた
め、入力画像の変化の規則性の有無にかかわらず適切な
動きベクトルが検出でき、それでいて極力動きベクトル
の演算に要する時間の短縮を実現することができるので
ある。なお、この場合のフルサーチ手順に従う検出の場
合には、従来通り、所定の検索順番にしたがうブロック
の順番で検出をしていくこととなる。
In some cases, the detection according to the simple search procedure is not preferable. In such a case, in this embodiment, the simple search is performed based on the detection according to the simple search procedure which is effective in reducing the amount of calculation. The appropriate vector determination unit 203 determines whether the detection result obtained by the procedure is appropriate. If not, the detection is switched to the detection according to the full search procedure according to an instruction from the detection procedure selection unit 201. Regardless, the appropriate motion vector can be detected, and the time required for calculating the motion vector can be reduced as much as possible. In the case of detection according to the full search procedure in this case, detection is performed in the order of blocks according to a predetermined search order, as in the related art.

【0045】以上、本発明はこのような実施例に何等限
定されるものではなく、本発明の主旨を逸脱しない範囲
において種々なる形態で実施し得る。例えば、上記実施
形態においては、直前の参照フレームにおける動きベク
トルを参照して現在の処理対象の参照フレームにおける
動きベクトルの移動先ブロックを予測するというもので
あったが、さらにそれよりも前の参照フレームにおける
動きベクトルも参照するようにしてもよい。これは、複
数の参照フレームにおける動きベクトルを参照した方が
より精度の高い予測ができる可能性は高くなると考えら
れるからである。
As described above, the present invention is not limited to such an embodiment, and can be implemented in various forms without departing from the gist of the present invention. For example, in the above-described embodiment, the destination block of the motion vector in the current reference frame to be processed is predicted by referring to the motion vector in the immediately preceding reference frame. The motion vector in the frame may be referred to. This is because it is considered that there is a higher possibility that more accurate prediction can be made by referring to the motion vectors in a plurality of reference frames.

【0046】そのような具体例を2つ挙げておく。例え
ば、図3(B)に示すように、連続する複数の参照フレ
ームでの動きベクトル(Vn-1〜Vn-5)を参照してみる
と、回転運動のような動きをしていることが判る場合が
ある。この場合、回転運動であればその曲率Rなどが判
るため、これに基づいて得た動きベクトルVn によれば
かなり正確に移動先ブロックを予測することが可能であ
る。
Two specific examples will be given. For example, as shown in FIG. 3B, when referring to the motion vectors (Vn-1 to Vn-5) in a plurality of continuous reference frames, it can be seen that the motion is like a rotational motion. You may understand. In this case, in the case of a rotational motion, the curvature R or the like is known, and the destination block can be predicted fairly accurately according to the motion vector Vn obtained based on the curvature.

【0047】また、図3(C)に示すように、連続する
複数の参照フレームでの動きベクトル(Vn-1〜Vn-6)
を参照してみると、所定の周期で移動方向が上下反転す
るような動きをしていることが判る場合がある。この場
合、その反転周期と移動方向が判れば、かなり正確に移
動先ブロックを予測することが可能である。例えば、図
3(C)に示す場合の予測される動きベクトルVn は、
直前の動きベクトルVn-1 からだけでは判断できない
が、この場合は過去6回の動きベクトルを参照すると、
規則性があり、4回前の動きベクトルVn-4 と同じ動き
ベクトルとなると予想できる。
As shown in FIG. 3C, the motion vectors (Vn-1 to Vn-6) in a plurality of continuous reference frames are set.
In some cases, it can be seen that the movement direction is reversed up and down at a predetermined cycle. In this case, if the reversal period and the moving direction are known, it is possible to predict the destination block quite accurately. For example, the predicted motion vector Vn in the case shown in FIG.
Although it cannot be determined only from the immediately preceding motion vector Vn-1, in this case, referring to the past six motion vectors,
Because of the regularity, it can be expected that the motion vector will be the same as the motion vector Vn-4 four times before.

【0048】つまり、いくら動きに規則性があったとし
ても、直前の参照フレームにおける動きベクトルだけを
参照していると、移動先ブロックが少しずれたり、ある
いは移動方向が大きく変化するような動きの場合には相
当ずれたりすることも考えられるので、動きの予測が判
断できない。そのため、種々の動き方に対応できるよう
にする観点からは、連続する複数の参照フレームでの動
きベクトルを参照するという手法を採用することが好ま
しいと言える。
In other words, no matter how regular the movement is, if only the motion vector in the immediately preceding reference frame is referenced, the movement of the movement block is slightly shifted or the movement direction is largely changed. In such a case, it is conceivable that the motion may shift considerably, so that the prediction of the motion cannot be determined. Therefore, it can be said that it is preferable to adopt a method of referring to motion vectors in a plurality of continuous reference frames from the viewpoint of being able to cope with various types of motion.

【0049】また、上記実施形態においては、直交変換
手段としてDCT部103を採用したが、直交変換とし
てはDCT(離散コサイン変換)の他の直交変換、例え
ば離散フーリエ変換(DFT)等もあり、そのような変
換方式によるものを採用してもよい。
In the above embodiment, the DCT unit 103 is employed as the orthogonal transform means. However, as the orthogonal transform, there is another orthogonal transform other than DCT (discrete cosine transform), for example, a discrete Fourier transform (DFT). Such a conversion method may be employed.

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

【図1】 本発明の一実施形態である動きベクトル検出
装置を備えたMPEG規格準拠の画像符号化装置の概略
構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a schematic configuration of an image coding apparatus conforming to the MPEG standard including a motion vector detection apparatus according to an embodiment of the present invention.

【図2】 動きベクトル検出部の構成を示す概略ブロッ
ク図である。
FIG. 2 is a schematic block diagram illustrating a configuration of a motion vector detection unit.

【図3】 動きベクトルの移動先ブロックの予測に関す
る説明図である。
FIG. 3 is an explanatory diagram relating to prediction of a destination block of a motion vector.

【符号の説明】[Explanation of symbols]

1…画像符号化装置 101…画像メモリ 102…減算部 103…DCT部 104…量子化部 105…可変長符
号化部 106…送信バッファ部 107…逆量子化
部 108…IDCT部 109…加算部 110…フレームメモリ部 111…動きベク
トル検出部 112…動き補償部 114…画像符号
化制御部 201…検出手順選択部 202…演算実行
部 203…適切ベクトル判定部 204…検出制御
DESCRIPTION OF SYMBOLS 1 ... Image coding apparatus 101 ... Image memory 102 ... Subtraction part 103 ... DCT part 104 ... Quantization part 105 ... Variable length coding part 106 ... Transmission buffer part 107 ... Inverse quantization part 108 ... IDCT part 109 ... Addition part 110 ... frame memory unit 111 ... motion vector detection unit 112 ... motion compensation unit 114 ... image coding control unit 201 ... detection procedure selection unit 202 ... calculation execution unit 203 ... appropriate vector determination unit 204 ... detection control unit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 動き補償フレーム間符号化に用いられ、
参照フレームの検索領域に対応する処理ブロックの動き
ベクトルを検出する動きベクトル検出装置であって、 少なくとも直前の参照フレームにおける動きベクトルを
参照して、現在の処理対象の参照フレームにおける動き
ベクトルの移動先ブロックを予測する予測手段と、 該予測手段によって予測された移動先ブロックにおける
動きベクトルを優先して検出し、その検出した動きベク
トルを現在の処理対象の参照フレームにおける動きベク
トルとする簡易サーチ手順に従う検出を実行可能な検出
制御手段と、 を備えていることを特徴とする動きベクトル検出装置。
1. A method for use in motion-compensated inter-frame coding,
A motion vector detecting device for detecting a motion vector of a processing block corresponding to a search region of a reference frame, comprising: A prediction means for predicting a block, and a motion vector in a destination block predicted by the prediction means is preferentially detected, and the detected motion vector is used as a motion vector in a reference frame to be currently processed. A motion vector detection device, comprising: detection control means capable of executing detection.
【請求項2】 前記検出制御手段は、前記参照フレーム
内の全検索領域に対して個別に動きベクトルを検出する
フルサーチ手順に従う検出も実行可能に構成されてお
り、さらに、 前記簡易サーチ手順に従う検出を実行することにより検
出した動きベクトルに基づいて参照フレームの予測ブロ
ックを算出する算出手段と、 その算出手段によって算出された参照フレームの予測ブ
ロックと現在処理中のフレームの処理ブロックとにおけ
る対応画素間の差分絶対値和あるいは差分自乗和を算出
して、その算出値が適切かどうかを判断する判断手段
と、 その判断手段によって前記算出値が適切でないと判断さ
れた場合には、前記検出制御手段に対して、前記フルサ
ーチ手順に従う検出を行なうよう指示する検出手順指示
手段と、 を備えていることを特徴とする請求項1に記載の動きベ
クトル検出装置。
2. The apparatus according to claim 1, wherein said detection control means is configured to be capable of performing detection in accordance with a full search procedure for individually detecting a motion vector for all search areas in said reference frame, and further according to said simple search procedure. Calculating means for calculating a predicted block of the reference frame based on the motion vector detected by performing the detection, and corresponding pixels in the predicted block of the reference frame calculated by the calculating means and the processing block of the frame currently being processed Determining a sum of absolute differences or a sum of squared differences between the two, and determining whether the calculated value is appropriate; and determining that the calculated value is not appropriate, Detection procedure instructing means for instructing the means to perform detection according to the full search procedure. Motion vector detection device according to claim 1, symptoms.
【請求項3】 前記判断手段は、前記参照フレームの予
測ブロックと現在処理中のフレームの処理ブロックとに
おける対応画素間の差分絶対値和あるいは差分自乗和が
所定の基準値以上の場合に適切でないと判断することを
特徴とする請求項2に記載の動きベクトル検出装置。
3. The determination means is not appropriate when the sum of absolute differences or the sum of squares of differences between corresponding pixels in the prediction block of the reference frame and the processing block of the frame currently being processed is equal to or greater than a predetermined reference value. The motion vector detecting device according to claim 2, wherein the determination is made.
【請求項4】 入力された映像信号を、矩形領域の画素
データに変換して出力するデータ変換手段と、 該データ変換手段から出力された矩形領域の画素データ
に対して直交変換を施す直交変換手段と、 該直交変換手段から出力される直交変換データを所定の
量子化ステップ値で割って変換符号化データとして出力
する量子化手段と、 該量子化手段から出力された変換符号化データを可変長
のコードに変換して出力する可変長符号化手段と、 前記量子化手段からの出力に対して前記量子化ステップ
値を掛けて直交変換データを作成する逆量子化手段と、 該逆量子化手段から出力された直交変換データに対して
逆直交変換を施して矩形領域の画素データを出力する逆
直交変換手段と、 該逆直交変換手段から出力された画素データと前記デー
タ変換手段から出力された矩形領域の画素データとの差
分データを作成し、前記直交変換手段に出力する動き予
測手段とを備えた画像符号化装置であって、 前記動き予測手段が、前記請求項1〜3のいずれかに記
載の動きベクトル検出装置を備えていることを特徴とす
る画像符号化装置。
4. A data conversion means for converting an input video signal into pixel data of a rectangular area and outputting the data, and an orthogonal transform for performing orthogonal transformation on the pixel data of the rectangular area output from the data conversion means. Means, quantizing means for dividing the orthogonally transformed data output from the orthogonal transforming means by a predetermined quantization step value and outputting the resulting data as transformed and encoded data, and changing the transformed and encoded data outputted from the quantizing means. A variable-length encoding unit that converts the output into a long code and outputs the code; an inverse quantization unit that multiplies the output from the quantization unit by the quantization step value to generate orthogonal transform data; Inverse orthogonal transformation means for performing inverse orthogonal transformation on the orthogonal transformation data output from the means and outputting pixel data in a rectangular area; and pixel data output from the inverse orthogonal transformation means and the data transformation. A motion prediction unit configured to generate difference data from the pixel data of the rectangular area output from the conversion unit and output the data to the orthogonal transformation unit; An image encoding device comprising the motion vector detection device according to any one of claims 1 to 3.
JP31650296A 1996-11-27 1996-11-27 MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE Pending JPH10164585A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31650296A JPH10164585A (en) 1996-11-27 1996-11-27 MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31650296A JPH10164585A (en) 1996-11-27 1996-11-27 MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE

Publications (1)

Publication Number Publication Date
JPH10164585A true JPH10164585A (en) 1998-06-19

Family

ID=18077826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31650296A Pending JPH10164585A (en) 1996-11-27 1996-11-27 MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE

Country Status (1)

Country Link
JP (1) JPH10164585A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100492127B1 (en) * 2002-02-23 2005-06-01 삼성전자주식회사 Apparatus and method of adaptive motion estimation
KR100551952B1 (en) * 2002-10-18 2006-02-20 주식회사 모티스 Motion Detection Method in Image Compression
KR100912429B1 (en) 2006-11-09 2009-08-14 삼성전자주식회사 Image Retrieval Method for Fast Motion Estimation
US11240406B2 (en) 2009-04-23 2022-02-01 Imagination Technologies Limited Object tracking using momentum and acceleration vectors in a motion estimation system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100492127B1 (en) * 2002-02-23 2005-06-01 삼성전자주식회사 Apparatus and method of adaptive motion estimation
KR100551952B1 (en) * 2002-10-18 2006-02-20 주식회사 모티스 Motion Detection Method in Image Compression
KR100912429B1 (en) 2006-11-09 2009-08-14 삼성전자주식회사 Image Retrieval Method for Fast Motion Estimation
US8379712B2 (en) 2006-11-09 2013-02-19 Samsung Electronics Co., Ltd. Image search methods for reducing computational complexity of motion estimation
US11240406B2 (en) 2009-04-23 2022-02-01 Imagination Technologies Limited Object tracking using momentum and acceleration vectors in a motion estimation system

Similar Documents

Publication Publication Date Title
KR100270247B1 (en) A device for deriving and using a motion vector in a differential pulse code modulation system
JP3050736B2 (en) Video encoding device
KR0178231B1 (en) Method and apparatus for detecting motion vectors based on hierarchical motion estimation
US6052814A (en) Coding/decoding apparatus
JP3338460B2 (en) Video signal encoding device and video signal encoding method
KR20040105872A (en) Video data conversion device and video data conversion method
US6160584A (en) Motion detection and motion compensative prediction circuit
JP3531532B2 (en) Video encoding apparatus and method
JPH10336672A (en) Encoding system converter and motion vector detection method therefor
JPH10164585A (en) MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE
JPH0832969A (en) Motion vector detector
KR100602148B1 (en) Method for motion picture encoding use of the a quarter of a pixel motion vector in mpeg system
JP2003032691A (en) Image coding device according to image features
JPH1098728A (en) MOTION VECTOR DETECTION DEVICE AND IMAGE ENCODING DEVICE HAVING THE MOTION VECTOR DETECTION DEVICE
JP2000059786A (en) Device and method for detecting motion
JP3141149B2 (en) Image coding device
JPH10191347A (en) Motion detection device, motion detection method, and storage medium
JP2002112270A (en) Moving picture high-speed encoder and moving picture high-speed encoding method
JP2644811B2 (en) Motion compensated interframe predictive coding device
KR20060069811A (en) Video compression method using 1/4 pixel motion vector
JP2000059767A (en) Image encoding device and its method
JP3247349B2 (en) Moving image monitoring device and monitoring method
JPH06233279A (en) Motion compensation coding device
JPH06205389A (en) Motion vector detection device and motion vector detection method
JP4067954B2 (en) Moving picture coding method and moving picture coding apparatus