JPH1051787A - Motion vector detector - Google Patents

Motion vector detector

Info

Publication number
JPH1051787A
JPH1051787A JP20386796A JP20386796A JPH1051787A JP H1051787 A JPH1051787 A JP H1051787A JP 20386796 A JP20386796 A JP 20386796A JP 20386796 A JP20386796 A JP 20386796A JP H1051787 A JPH1051787 A JP H1051787A
Authority
JP
Japan
Prior art keywords
screen
motion vector
memory
component
vibration component
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
JP20386796A
Other languages
Japanese (ja)
Inventor
Masaaki Hyodo
正晃 兵頭
Hiroshi Kusao
寛 草尾
Tomohiro Omatsu
智裕 尾松
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP20386796A priority Critical patent/JPH1051787A/en
Publication of JPH1051787A publication Critical patent/JPH1051787A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PROBLEM TO BE SOLVED: To detect a motion vector over a wide range without increasing an amount of hardware and an arithmetic operation amount of matching by using an inter-image deviation detection circuit. SOLUTION: An inter-image deviation detection circuit 2 detects a vibration component and a moving component from a coded image from a coded image memory 6a by reading out a reference image from a reference image memory 6b and outputs them. A memory controller 3 receives a camera-shake correction ON/OFF signal to calculate a read out correction amount of a coded image memory 6a and a read out shift amount of the reference image memory 6b to read the coded image at the corrected position and the reference image at a shifted position. An evaluation value calculation circuit 4 outputs a vector and an evaluation value corresponding thereto. A vector selection circuit 5 selects a vector and outputs a motion vector.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、手振れ補正機能付
きのデジタルビデオカメラなど、画面間の全体の動きを
検出する回路を備え、かつ動き補償フレーム間符号化を
用いてデジタル画像圧縮を行う装置に用いられる動きベ
クトル検出装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus, such as a digital video camera having a camera shake correction function, provided with a circuit for detecting the entire motion between screens, and for performing digital image compression using motion compensation interframe coding. The present invention relates to a motion vector estimating device used for (1).

【0002】[0002]

【従来の技術】動画像はデータ量が非常に多いため、記
録や伝送の際には画像圧縮や高能率符号化を用いて、視
覚的に検知できる画質劣化を抑えつつ、データレートを
記録可能または伝送可能なレートまで、あるいは十分な
記録時間が得られるレートまで下げることが一般的であ
る。
2. Description of the Related Art Since a moving image has a very large amount of data, it is possible to record a data rate by using image compression and high-efficiency coding during recording or transmission while suppressing visually detectable image quality deterioration. Or, it is general to lower the transmission rate or the rate at which a sufficient recording time can be obtained.

【0003】例えば高能率符号化にはMPEG方式があ
る。MPEGはISO/IEC11172、13818
として規格化されている方式で、動画像符号化方式とし
て動き補償フレーム間符号化方式を用いる。
For example, there is an MPEG system for high efficiency coding. MPEG is ISO / IEC11172, 13818
A motion-compensated inter-frame coding method is used as a moving image coding method.

【0004】図17にMPEG方式の動画像符号化装置
のブロック図の一例を示す。この動画像符号化装置は、
符号化画面メモリ41、動きベクトル検出回路42、減
算器43、DCT回路44、量子化回路45、可変長符
号化回路46、逆量子化回路47、逆DCT回路48、
復号画像メモリ49、予測画面生成回路50から構成さ
れる。
FIG. 17 shows an example of a block diagram of a moving picture coding apparatus of the MPEG system. This moving picture encoding device
Encoding screen memory 41, motion vector detection circuit 42, subtractor 43, DCT circuit 44, quantization circuit 45, variable length encoding circuit 46, inverse quantization circuit 47, inverse DCT circuit 48,
It comprises a decoded image memory 49 and a prediction screen generation circuit 50.

【0005】符号化画面メモリ41には、例えば4:
2:0のデジタル映像信号が入力され、マクロブロック
単位で出力される。マクロブロックとは、輝度信号では
16×16の画素ブロック、色差信号では8×8の画素
ブロックである。以下の処理はこのマクロブロック単位
にて行われる。
The coded screen memory 41 has, for example, 4:
A 2: 0 digital video signal is input and output in macroblock units. A macroblock is a 16 × 16 pixel block for a luminance signal and an 8 × 8 pixel block for a color difference signal. The following processing is performed for each macro block.

【0006】動きベクトル検出回路42には、符号化画
面メモリ41から、これから符号化する符号化画面のマ
クロブロックデータと動きベクトル探索時の参照画面デ
ータとが入力される。参照画面としては、符号化画面メ
モリ41に記録されている入力データ以外に復号画像メ
モリ49に記録されている既符号化フレームの再生画面
を用いることもある。参照画面データは動きベクトル探
索するマクロブロックと同位置のマクロブロックの画素
データおよびその周辺画素データである。動きベクトル
検出回路42では符号化画面データと参照画面データか
ら動きベクトルを求める。
[0006] The motion vector detecting circuit 42 receives from the coded screen memory 41 the macroblock data of the coded screen to be coded and the reference screen data for the motion vector search. As a reference screen, a reproduction screen of an encoded frame recorded in the decoded image memory 49 other than the input data recorded in the encoded screen memory 41 may be used. The reference screen data is the pixel data of the macroblock at the same position as the macroblock to be searched for the motion vector and the peripheral pixel data. The motion vector detection circuit 42 obtains a motion vector from the encoded screen data and the reference screen data.

【0007】求められた動きベクトルは復号画像メモリ
49に入力され、復号画像メモリ49からは予測画面を
生成するのに必要な画素データが出力され、予測画面生
成回路50で予測画面が求められる。減算器43では、
符号化画面から予測画面を減算し、減算結果をDCT回
路44に出力する。DCT回路44では、減算結果を8
×8の画素ブロックごとにDCT(離散コサイン変換)
し、DCT係数を出力する。量子化回路45では、DC
T係数を量子化し量子化インデックスを出力する。
The obtained motion vector is input to a decoded image memory 49, from which pixel data necessary for generating a predicted image is output, and a predicted image generating circuit 50 obtains a predicted image. In the subtractor 43,
The prediction screen is subtracted from the encoded screen, and the subtraction result is output to the DCT circuit 44. In the DCT circuit 44, the subtraction result is set to 8
DCT (discrete cosine transform) for each x8 pixel block
Then, a DCT coefficient is output. In the quantization circuit 45, DC
The T coefficient is quantized and a quantization index is output.

【0008】可変長符号化回路46では、量子化インデ
ックスを可変長符号化し、符号化データとして出力す
る。量子化インデックスは逆量子化回路47にも入力さ
れ、逆量子化される。逆量子化結果は逆DCT回路48
で逆DCTされ、逆DCT回路48からは復号画像デー
タが出力される。復号画像データは復号画像メモリ49
に入力され、予測画面として用いられる。
[0008] The variable length coding circuit 46 performs variable length coding on the quantization index and outputs it as coded data. The quantization index is also input to the inverse quantization circuit 47 and is inversely quantized. The result of the inverse quantization is supplied to an inverse DCT circuit 48.
, And the inverse DCT circuit 48 outputs decoded image data. The decoded image data is stored in the decoded image memory 49.
And used as a prediction screen.

【0009】次に動きベクトル検出回路42の動作を詳
述する。動きベクトル検出回路42では、マクロブロッ
クごとの符号化画面データと、マクロブロックより大き
いサイズの参照画面データが入力される。そして、参照
画面データ内で符号化画面データに類似したデータを探
索する。探索の方法は、例えば参照画面データからマク
ロブロックと同じサイズのデータを切り出し、符号化画
面データと切り出した参照画面データとの画素ごとの差
分の和を評価値とし、様々な切り出しデータについて評
価値を計算する。そして、評価値が最も小さい参照画面
切り出しデータに対する偏位を最適な動きベクトルとし
て選択する。
Next, the operation of the motion vector detecting circuit 42 will be described in detail. In the motion vector detection circuit 42, encoded screen data for each macroblock and reference screen data having a size larger than the macroblock are input. Then, data similar to the encoded screen data is searched for in the reference screen data. The search method is, for example, to cut out data of the same size as the macroblock from the reference screen data, and to use the sum of the differences for each pixel between the coded screen data and the cut-out reference screen data as an evaluation value, and evaluate the evaluation values for various cut-out data. Is calculated. Then, the deviation with respect to the reference screen cutout data having the smallest evaluation value is selected as the optimal motion vector.

【0010】図18は、上記の探索範囲を、符号化マク
ロブロックと同位置の周囲+/−15画素とした場合
の、符号化画面データと参照画面データとの関係を示
す。
FIG. 18 shows the relationship between the coded screen data and the reference screen data when the search range is set to +/− 15 pixels around the same position as the coded macro block.

【0011】ところで、動きベクトル検出は探索範囲が
広いほど高速な動きに対応でき、正確な動きベクトルを
求めることができる。つまり探索範囲が広いほど高い検
出精度を得ることができる。
By the way, the motion vector detection can cope with a high-speed motion as the search range is wider, and an accurate motion vector can be obtained. That is, higher detection accuracy can be obtained as the search range is wider.

【0012】しかしながら、探索範囲を広くするほどハ
ードウェア量が増えるという問題がある。例えば、範囲
を縦横とも2倍にすれば2倍高速な動きにまで対応でき
ることになるが、探索面積は4倍になり、動きベクトル
検出に要する演算量あるいはハードウェア量もおおよそ
4倍になる。
However, there is a problem that the amount of hardware increases as the search range is increased. For example, if the range is doubled both vertically and horizontally, it is possible to cope with a movement twice as fast, but the search area is quadrupled, and the amount of calculation or hardware required for detecting a motion vector is also approximately quadrupled.

【0013】このため探索範囲を広くすることなく、よ
り広範囲の動きベクトル検出を可能にする映像信号符号
化装置が、特開平6−225289号公報に開示されて
いる。この映像信号符号化装置では、過去のブロックご
との動きベクトル検出結果を記録し、動きベクトル検出
する対象ブロックの近傍の過去の動きベクトルから現在
の動きベクトルを予測し、予測したブロック周辺を動き
ベクトル探索するものである。
For this reason, a video signal encoding device capable of detecting a motion vector over a wider range without increasing the search range is disclosed in Japanese Patent Laid-Open No. Hei 6-225289. In this video signal encoding apparatus, a motion vector detection result for each past block is recorded, a current motion vector is predicted from a past motion vector in the vicinity of a target block for which a motion vector is detected, and a motion vector around the predicted block is calculated. To search.

【0014】[0014]

【発明が解決しようとする課題】しかしながら、特開平
6−225289号公報に記載の装置では、過去の動き
ベクトルを記録するメモリを必要とし、そのためハード
ウェア量が増加する。例えばMPEG2でNTSCレベ
ルの720×480の画素の画像を対象とする場合、マ
クロブロック数は1350であり、動きベクトルを8ビ
ットとし各マクロブロックの水平、垂直あるいはフレー
ム、フイールドの動きベクトルを記録するためには1フ
レーム当たり約65Kビットのメモリが必要となる。
However, the apparatus described in Japanese Patent Application Laid-Open No. Hei 6-225289 requires a memory for recording past motion vectors, which increases the amount of hardware. For example, when an image of 720 × 480 pixels at the NTSC level in MPEG2 is targeted, the number of macroblocks is 1350, and the motion vector is 8 bits, and the horizontal, vertical or frame and field motion vectors of each macroblock are recorded. For this purpose, a memory of about 65K bits per frame is required.

【0015】ところで近年、ビデオカメラでは画面間の
全体の動きを検出する画面間偏位検出回路を備え、撮影
者の手振れによる画像の振動を補正するのが一般的であ
る。この画面間の動きは、振動成分と移動成分とに分け
て検出されるものと、画面間動き成分としてまとめて検
出されるものとがある。この手振れ補正には、例えば入
力画像をいったんメモリに蓄え、メモリから読み出すと
きに振動成分だけ補正したデータを読み出すことで手振
れ補正を実現するもの、あるいは角速度センサを備え、
角速度センサで得られた振動成分を補正して入力画像を
切り出すものなどがある。
In recent years, video cameras generally include an inter-screen deviation detecting circuit for detecting the entire movement between the screens, and generally corrects image vibration caused by camera shake of a photographer. The movement between the screens is divided into a vibration component and a movement component and detected, and a movement is detected as an inter-screen movement component. For this camera shake correction, for example, an input image is temporarily stored in a memory, and when reading the data from the memory, a device that realizes camera shake correction by reading data corrected only for a vibration component, or an angular velocity sensor is provided.
There is one that corrects a vibration component obtained by an angular velocity sensor and cuts out an input image.

【0016】そこで本発明は、上記従来の問題点を解消
すべくなされたものであり、画面間偏位検出回路を用い
ることによって、ハードウェア量をほとんど増加させる
こと無く、また実際にマッチング演算を行う範囲を広く
すること無く、より広範囲の動きベクトルを検出可能
な、すなわちより高速な動きに対応可能な動きベクトル
検出装置を提供することを目的とする。
Therefore, the present invention has been made to solve the above-mentioned conventional problems. By using an inter-screen deviation detecting circuit, the matching calculation can be performed without increasing the hardware amount. It is an object of the present invention to provide a motion vector detecting device capable of detecting a wider range of motion vectors without increasing the range of performing the motion vector, that is, capable of responding to higher-speed motion.

【0017】[0017]

【課題を解決するための手段】上述の課題を解決するた
め、本発明の請求項1に記載の動きベクトル検出装置
は、入力画像のうち動きベクトル検出の対象となる符号
化画面を格納する符号化画面メモリと、前記入力画像の
うち動き予測のための参照画面を格納する参照画面メモ
リとを備え、前記符号化画面を読み出して複数のブロッ
クに分割し、このブロックごとに符号化画面と参照画面
との相関値を計算して動きベクトルを検出する動画像符
号化装置において、前記符号化画面メモリと参照画面メ
モリから入力画像を読み出し、画面全体の動きを求める
ことにより、振動成分および移動成分を検出する画面間
偏位検出回路と、手振れ補正を行うか否かの切り替えを
指示する切替指示手段と、この切替指示手段から手振れ
補正を行う指示を受けた場合は、前記画面間偏位検出回
路からの振動成分および移動成分に基づき、前記符号化
画面メモリから前記振動成分を打ち消すように手振れ補
正量だけ読み出し位置を補正して符号化画面を読み出す
とともに、前記移動成分から算出される第1の探索シフ
ト量だけ動きベクトル探索の基点をシフトして前記参照
画面群を読み出し、前記切替指示手段から手振れ補正を
行わない指示を受けた場合は、前記画面間偏位検出回路
からの振動成分および移動成分に基づき、前記符号化画
面メモリから読み出し位置補正なしに符号化画面を読み
出すとともに、前記振動成分および移動成分を合成した
第2の探索シフト量だけ動きベクトル探索の基点をシフ
トして前記参照画面メモリから参照画面群を読み出すよ
うに、前記符号化画面メモリおよび前記参照画面メモリ
を制御して、前記動きベクトル探索の基点のシフト量を
出力するメモリコントローラと、前記符号化画面メモリ
と参照画面メモリから入力画像を読み出し、前記ブロッ
クごとの各候補となる動きベクトルに対応して前記符号
化画面と参照画面との相関値を計算する評価値計算回路
と、この評価値計算回路の計算結果から最も相関の高い
参照画面に対応した候補ベクトルを選択し、前記メモリ
コントローラからのシフト量を加算して出力するベクト
ル選択回路とを具備することを特徴とする。
According to a first aspect of the present invention, there is provided a motion vector detecting apparatus for storing a coded picture to be subjected to motion vector detection in an input image. And a reference screen memory for storing a reference screen for motion prediction among the input images, reading out the coded screen and dividing it into a plurality of blocks. In a moving picture coding apparatus that calculates a correlation value with a screen and detects a motion vector, an input image is read from the coded screen memory and the reference screen memory, and a motion of the entire screen is obtained, thereby obtaining a vibration component and a moving component. Between the screens for detecting the image stabilization, switching instructing means for instructing whether or not to perform the camera shake correction, and receiving an instruction for performing the camera shake correction from the switching instructing means. In this case, based on the vibration component and the movement component from the inter-screen displacement detection circuit, the coded screen is read by correcting the readout position by the camera shake correction amount so as to cancel the vibration component from the coded screen memory. When the reference screen group is read by shifting the base point of the motion vector search by a first search shift amount calculated from the moving component, and when an instruction not to perform the camera shake correction is received from the switching instruction means, Based on the vibration component and the movement component from the inter-deviation detection circuit, the coded screen is read from the coded screen memory without reading position correction, and the motion is moved by a second search shift amount obtained by combining the vibration component and the movement component. The encoded screen memory and the previous screen are shifted so as to read out the reference screen group from the reference screen memory by shifting the base point of the vector search. A memory controller that controls a reference screen memory to output a shift amount of a base point of the motion vector search, reads an input image from the coded screen memory and the reference screen memory, and converts the input image into a candidate motion vector for each block. An evaluation value calculation circuit for calculating a correlation value between the coding screen and the reference screen, and selecting a candidate vector corresponding to the reference screen having the highest correlation from the calculation result of the evaluation value calculation circuit; And a vector selection circuit for adding and outputting the shift amount from.

【0018】本発明の請求項2に記載の動きベクトル検
出装置は、請求項1に記載の動きベクトル検出装置を構
成する手段において、前記動画像符号化装置が、符号化
されたデータを復号して局部復号画像を生成する局部復
号器を備え、動きベクトル検出の際に、前記参照画面と
して前記局部復号画像を用い、前記振動成分および移動
成分の検出には、前記符号化画面メモリに記録されてい
る複数の入力画像を用いることを特徴とする。
According to a second aspect of the present invention, in the motion vector estimating device according to the first aspect, the moving image encoding device decodes encoded data. A local decoder that generates a local decoded image by using the local decoded image as the reference screen at the time of detecting a motion vector, and the detection of the vibration component and the moving component is recorded in the encoded screen memory. A plurality of input images are used.

【0019】本発明の請求項3に記載の動きベクトル検
出装置は、請求項1または請求項2に記載の動きベクト
ル検出装置を構成する手段に加え、前記振動成分と移動
成分を複数画面分格納するメモリを備え、前記メモリコ
ントローラが、振動成分と移動成分の検出を隣接する画
面ごとに行い、前記符号化画面と参照画面が隣接してい
ない場合には、前記手振れ補正量および前記第1の探索
シフト量と第2の探索シフト量を、それぞれ複数の画面
間の振動成分および移動成分を用いて算出することを特
徴とする。
A motion vector detecting device according to a third aspect of the present invention stores the vibration component and the moving component for a plurality of screens in addition to the means constituting the motion vector detecting device according to the first or second aspect. The memory controller detects a vibration component and a movement component for each adjacent screen, and when the encoded screen and the reference screen are not adjacent to each other, the camera shake correction amount and the first The search shift amount and the second search shift amount are calculated using a vibration component and a movement component between a plurality of screens.

【0020】本発明の請求項4に記載の動きベクトル検
出装置は、請求項3に記載の動きベクトル検出装置を構
成する手段において、前記メモリコントローラが、前記
振動成分および移動成分の検出をフィールドごとに行
い、前記ブロックごとの動きベクトル検出をフレーム間
で行う場合には、探索するフレーム動きベクトルに近い
時間位置にある1つまたは複数のフィールドごとの振動
成分および移動成分を用いて、第1の探索シフト量、第
2の探索シフト量を算出し、前記振動成分および移動成
分の検出をフレームごとに行い、前記ブロックごとの動
きベクトル検出をフィールド間で行う場合には、探索す
るフィールド動きベクトルに近い時間位置にある1つま
たは複数のフレームごとの振動成分および移動成分を用
いて第1の探索シフト量および第2の探索シフト量を算
出することを特徴とする。
According to a fourth aspect of the present invention, in the motion vector detecting device according to the third aspect, the memory controller detects the vibration component and the moving component for each field. In the case where the motion vector detection for each block is performed between frames, the first and the second vibration components and the motion components for each of the one or more fields located at a time position close to the frame motion vector to be searched are used. When a search shift amount and a second search shift amount are calculated, the vibration component and the movement component are detected for each frame, and when the motion vector detection for each block is performed between fields, a field motion vector to be searched is A first search shift is performed using the vibration component and the movement component for each of one or more frames located at close time positions. And calculating the amount and the second search shift amount.

【0021】本発明の請求項5に記載の動きベクトル検
出装置は、請求項1ないし請求項4のいずれか1項に記
載の動きベクトル検出装置を構成する手段において、前
記画面間偏位検出回路が、前記移動成分の検出を行わ
ず、前記振動成分のみを検出し、前記メモリコントロー
ラが、前記移動成分の値を0として処理することを特徴
とする。
According to a fifth aspect of the present invention, there is provided a motion vector detecting device according to any one of the first to fourth aspects, wherein the inter-screen displacement detecting circuit is provided. However, the moving component is not detected, only the vibration component is detected, and the memory controller processes the moving component as 0.

【0022】上記の構成によって、本発明の請求項1に
記載の動きベクトル検出装置は、画面間偏位検出回路で
得られる画面間の振動成分および移動成分を用いて動き
ベクトルを予測し、予測した位置の周辺を探索して動き
ベクトルを検出するので、広範囲の動きベクトルを検出
できる。
With the above arrangement, the motion vector detecting device according to the first aspect of the present invention predicts a motion vector by using the inter-screen vibration component and the moving component obtained by the inter-screen deviation detecting circuit, and predicts the motion vector. Since a motion vector is detected by searching the vicinity of the position thus set, a wide range of motion vectors can be detected.

【0023】本発明の請求項2に記載の動きベクトル検
出装置は、動きベクトル検出の参照画面として、局部復
号器で復号した局部復号画像を用いるので、参照画面メ
モリと局部復号器の局部復号画像メモリとを共有でき
る。
In the motion vector detecting apparatus according to the second aspect of the present invention, since the locally decoded image decoded by the local decoder is used as the reference screen for detecting the motion vector, the reference screen memory and the locally decoded image of the local decoder are used. Can share with memory.

【0024】本発明の請求項3に記載の動きベクトル検
出装置は、動きベクトル検出を画面間隔が2以上の画面
間で行う場合に、各画面ごとに求められた振動成分、移
動成分を用いて、動きベクトル検出する離れた画面間の
手振れ補正量と探索シフト量を算出できる。
The motion vector detecting device according to the third aspect of the present invention uses a vibration component and a moving component obtained for each screen when detecting a motion vector between screens having two or more screen intervals. In addition, the amount of camera shake correction and the amount of search shift between distant screens for detecting a motion vector can be calculated.

【0025】本発明の請求項4に記載の動きベクトル検
出装置は、振動成分や移動成分の検出がフィールド単位
で、動きベクトル探索がフレーム単位でなされる場合、
あるいは逆の場合でも、フレーム間やフィールド間の時
間距離を勘案して、手振れ補正量や探索シフト量を修正
する。
According to the motion vector detecting device of the present invention, when the detection of the vibration component or the moving component is performed on a field basis and the motion vector search is performed on a frame basis,
Alternatively, even in the opposite case, the camera shake correction amount and the search shift amount are corrected in consideration of the time distance between frames and fields.

【0026】本発明の請求項5に記載の動きベクトル検
出装置は、移動成分の検出を行わない場合も、画面間の
全体の動きを振動成分として検出し、振動成分のみから
手振れ補正量および探索シフト量を算出する。
The motion vector detecting device according to the fifth aspect of the present invention detects the entire motion between the screens as a vibration component even when the detection of the moving component is not performed, and calculates a camera shake correction amount and a search from only the vibration component. Calculate the shift amount.

【0027】[0027]

【発明の実施の形態】以下図面を参照しながら、本発明
の実施の形態を詳細に説明する。図1は、本発明の第1
の実施の形態の動きベクトル検出装置のブロック図であ
る。図1において動きベクトル検出回路1は画面間偏位
検出回路2、メモリコントローラ3、評価値計算回路
4、ベクトル選択回路5で構成され、符号化画面メモリ
6aには動きベクトル検出の対象画面である符号化画面
を格納し、参照画面メモリ6bには動きベクトル検出の
参照画面を格納する。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 shows a first embodiment of the present invention.
It is a block diagram of a motion vector detecting device of an embodiment. In FIG. 1, a motion vector detection circuit 1 includes an inter-screen displacement detection circuit 2, a memory controller 3, an evaluation value calculation circuit 4, and a vector selection circuit 5, and a coding screen memory 6a is a target screen for motion vector detection. The encoded screen is stored, and the reference screen for motion vector detection is stored in the reference screen memory 6b.

【0028】この本実施の形態の動きベクトル検出装置
の、動画像符号化装置における周辺回路との関係を図2
のブロック図に示す。局部復号器9は、符号化器8にて
符号化されたデータを、動きベクトル検出回路1からの
動きベクトルを参照して復号し、局部復号画像データと
する。符号化画面/参照画面メモリ6から読み出された
画像データは、この局部復号画像データと減算器7にて
減算され、符号化器8にて符号化される。
FIG. 2 shows the relationship between the motion vector estimating apparatus of this embodiment and peripheral circuits in the moving picture encoding apparatus.
Is shown in the block diagram of FIG. The local decoder 9 decodes the data encoded by the encoder 8 with reference to the motion vector from the motion vector detection circuit 1 to obtain local decoded image data. The image data read from the coded screen / reference screen memory 6 is subtracted from the locally decoded image data by the subtractor 7 and is coded by the coder 8.

【0029】本実施の形態では符号化画面、参照画面に
入力画像を用いるため、符号化画面メモリ6a、参照画
面メモリ6bは物理的に異なるメモリとせず、同一のメ
モリで読み出しアドレスを変えることで仮想的に異なる
メモリとして扱うこともできる。
In this embodiment, since the input image is used for the coding screen and the reference screen, the coding screen memory 6a and the reference screen memory 6b are not physically different from each other, and the read addresses are changed in the same memory. It can be treated as a virtually different memory.

【0030】ここではフレーム画面の縦16画素、横1
6画素のブロックをマクロブロックとし、マクロブロッ
クごとの符号化画面と参照画面群の差分絶対値の和を評
価値として動きベクトル検出を行う。さらに符号化画面
のマクロブロックごとに動きベクトルを求める。また、
動きベクトル検出は隣接するフレーム間で行い、振動成
分と移動成分は隣接するフィールド間で検出する。
Here, 16 pixels vertically and 1 horizontally in the frame screen
A block of 6 pixels is defined as a macroblock, and motion vector detection is performed using the sum of absolute differences between the encoded screen and the reference screen group for each macroblock as an evaluation value. Further, a motion vector is obtained for each macroblock on the encoded screen. Also,
Motion vector detection is performed between adjacent frames, and a vibration component and a movement component are detected between adjacent fields.

【0031】画面間偏位検出回路2は、画面全体の動き
を検出するものである。これは、実際にはビデオカメラ
の手振れ補正で一般に用いられる回路であり、本発明は
手振れ補正の情報を動きベクトル検出にも利用する点に
特徴がある。
The inter-screen deviation detecting circuit 2 detects the motion of the entire screen. This is actually a circuit generally used for camera shake correction of a video camera, and the present invention is characterized in that information of camera shake correction is also used for motion vector detection.

【0032】画面間偏位検出回路2には、符号化画面メ
モリ6aや参照画面メモリ6bに記録されている隣接す
るフィールドの入力画像データあるいは入力画像から選
択した代表点のデータが入力され、隣接フィールド間の
動きを振動成分および移動成分として検出し、メモリコ
ントローラ3に出力する。カメラによる撮影の場合、撮
影者の手振れによる振動を示すのが振動成分、カメラを
左右や上下に振って撮影する場合の動きが移動成分で、
振動成分と移動成分の和が画面全体の動きを示す。
The input image data of the adjacent field recorded in the encoding screen memory 6a or the reference screen memory 6b or the data of the representative point selected from the input image is input to the inter-screen deviation detecting circuit 2, The movement between fields is detected as a vibration component and a movement component, and output to the memory controller 3. In the case of shooting with a camera, the vibration component indicates vibration caused by camera shake of the photographer, and the movement component when shooting by shaking the camera left or right or up and down is the moving component.
The sum of the vibration component and the movement component indicates the movement of the entire screen.

【0033】メモリコントローラ3には、切り替え指示
手段(図示せず)から手振れ補正を行うか否かを示す手
振れ補正オン/オフ信号が、および画面間偏位検出回路
2から振動成分、移動成分が入力される。そして符号化
画面メモリ6aの読み出し補正量と参照画面メモリ6b
の読み出しシフト量を算出し、通常の読み出し位置から
手振れ補正量だけ補正した位置の符号化画面と、通常の
読み出し位置からシフト量だけシフトした位置の参照画
面とを読み出すように符号化画面メモリ6aおよび参照
画面メモリ6bを制御する。
The memory controller 3 receives a hand-shake correction on / off signal indicating whether or not to perform hand-shake correction from a switching instruction means (not shown), and a vibration component and a movement component from the inter-screen displacement detection circuit 2. Is entered. Then, the readout correction amount of the encoded screen memory 6a and the reference screen memory 6b
The coding screen memory 6a is configured to calculate the read shift amount and read a coded screen at a position corrected by the camera shake correction amount from the normal read position and a reference screen at a position shifted by the shift amount from the normal read position. And the reference screen memory 6b.

【0034】評価値計算回路4には、マクロブロックご
との符号化画面データおよびマクロブロックより広い範
囲の参照画面データが入力され、参照画面データ上で動
きベクトル探索の基点に対する偏位である候補ベクトル
を設定し、候補ベクトルごとに評価値を計算する。そし
て候補ベクトルと対応する評価値をベクトル選択回路5
に出力する。評価値としては例えば画素ごとの差分絶対
値の和を用いる。
The evaluation value calculation circuit 4 receives coded screen data for each macroblock and reference screen data in a wider range than the macroblock, and sets a candidate vector which is a deviation from a base point of a motion vector search on the reference screen data. Is set, and an evaluation value is calculated for each candidate vector. Then, the evaluation value corresponding to the candidate vector is stored in a vector selection circuit 5.
Output to As the evaluation value, for example, the sum of the difference absolute values for each pixel is used.

【0035】ベクトル選択回路5では、候補ベクトルの
評価値が示す予測誤差が最小となるベクトルを選択し、
シフト量との和をマクロブロックの動きベクトルとす
る。
The vector selection circuit 5 selects a vector that minimizes the prediction error indicated by the evaluation value of the candidate vector,
The sum with the shift amount is defined as a macroblock motion vector.

【0036】また、フィールド予測、フレーム予測、双
方向予測など複数の予測モードから適応的に動きベクト
ルを選択する場合には、評価値計算回路4にそれぞれの
予測モードの符号化画面データと参照画面データが入力
され、その中から最適な動きベクトルが選択される。
When a motion vector is adaptively selected from a plurality of prediction modes such as a field prediction, a frame prediction, and a bidirectional prediction, the evaluation value calculation circuit 4 supplies the coded screen data of each prediction mode and the reference screen Data is input, and an optimal motion vector is selected from the data.

【0037】なお、以降の説明では、手振れ補正量を、
手振れによる振動成分を補正するために符号化画面メモ
リから読み出し位置を補正する量と定義し、探索シフト
量を、動きベクトル探索の基点を移動するために参照画
面メモリの読み出し位置をシフトする量と定義する。
In the following description, the camera shake correction amount is
Define the amount to correct the read position from the coded screen memory to correct the vibration component due to camera shake, and define the search shift amount as the amount to shift the read position in the reference screen memory to move the base point of the motion vector search. Define.

【0038】次に図3は、評価値計算回路4に入力され
る符号化画面データと参照画面データとの関係を示す。
図3は動きベクトル探索の範囲が+/−15画素の場合
を示し、入力画面全体を振動成分を打ち消すように読み
出した画像が符号化画面である。符号化画面のマクロブ
ロックaに対して、aの位置から符号化画面と参照画面
間の移動成分から算出した探索シフト量だけずらした領
域bの周辺が探索範囲となる。従って、aの左上の座標
を(x1,y1)、探索シフト量を(x2,y2)とす
ると、bの左上の座標は(x1+x2,y1+y2)と
なり、bの周辺+/−15画素のデータが参照画素デー
タとして入力される。図3の場合、領域bの位置が基点
となる。
FIG. 3 shows the relationship between the coded screen data input to the evaluation value calculation circuit 4 and the reference screen data.
FIG. 3 shows a case where the range of motion vector search is +/− 15 pixels, and an image read out of the entire input screen so as to cancel the vibration component is an encoded screen. With respect to the macroblock a of the encoded screen, the area around the area b shifted from the position a by the search shift amount calculated from the moving component between the encoded screen and the reference screen is the search range. Therefore, if the upper left coordinate of a is (x1, y1) and the search shift amount is (x2, y2), the upper left coordinate of b is (x1 + x2, y1 + y2), and the data of +/− 15 pixels around b is Input as reference pixel data. In the case of FIG. 3, the position of the area b is the base point.

【0039】画面間偏位検出回路2で検出される振動成
分、移動成分と動きベクトル検出で用いられる手振れ補
正量、ベクトル探索の探索シフト量の関係を図4を用い
て説明する。本実施の形態のように振動成分、移動成分
はフィールド間で求め、動きベクトルはフレーム間で求
める場合、フィールド間の振動成分、移動成分からフレ
ーム間の振動成分、移動成分を求める必要がある。算出
方法としては、例えば画面間の時間間隔を勘案し、一方
のフィールド間振動成分、移動成分を2倍する、あるい
は2つのフィールドの振動成分の和、移動成分の和とす
るなどがある。
The relationship between the vibration component and the movement component detected by the inter-screen displacement detection circuit 2, the camera shake correction amount used in the motion vector detection, and the search shift amount in the vector search will be described with reference to FIG. When the vibration component and the moving component are obtained between the fields and the motion vector is obtained between the frames as in the present embodiment, it is necessary to obtain the vibration component and the moving component between the frames from the vibration component and the moving component between the fields. As a calculation method, for example, taking into account the time interval between screens, one of the inter-field vibration component and the moving component is doubled, or the sum of the vibration components of the two fields and the sum of the moving components are used.

【0040】図4の例でフレームF1、F2はそれぞれ
フィールドf11とf12、f21とf22で構成され
る。またフレームF1、F2間の振動成分をFV2_
1、移動成分をFP2_1、フィールドf11、f12
間、f12、f21間、f21、f22間の振動成分を
それぞれfv12_11、fv21_12、fv22_
21、移動成分をそれぞれfp12_11、fp21_
12、fp22_21とする。この場合一方の振動成
分、移動成分を2倍にする場合は、 FV2_1=(fv21_12×2) または (fv22_21×2) FP2_1=(fp21_12×2) または (fp22_21×2) となり、2つのフィールドの振動成分の和、移動成分の
和とする場合は、 FV2_1=fv21_12+fv22_21 FP2_1=fp21_12+fp22_21 となる。
In the example of FIG. 4, frames F1 and F2 are respectively composed of fields f11 and f12, and f21 and f22. The vibration component between the frames F1 and F2 is represented by FV2_
1, moving component is FP2_1, fields f11, f12
The vibration components between f12, f21, f21, and f22 are represented by fv12_11, fv21_12, and fv22_, respectively.
21, moving components are fp12_11 and fp21_, respectively.
12, fp22_21. In this case, when one of the vibration component and the moving component is doubled, FV2_1 = (fv21_12 × 2) or (fv22_21 × 2) FP2_1 = (fp21_12 × 2) or (fp22_21 × 2) When the sum of the components and the sum of the moving components are used, FV2_1 = fv21_12 + fv22_21 FP2_1 = fp21_12 + fp22_21

【0041】次に、フレーム間の振動成分、移動成分と
符号化画面、参照画面との関係を図5,6を用いて説明
する。フレーム間の振動成分、移動成分は前述のよう
に、画面間偏位検出回路2で求められたフィールド間の
振動成分、移動成分から算出する。図5,6は、参照画
面上では点線で示した位置にあった物体が、符号化画面
上では実線で示した位置に移動した場合を示し、振動成
分を(xv,yv)、移動成分を(xp,yp)、画面
全体の動きベクトルを(xv+xp,yv+yp)で表
す。
Next, the relationship between the vibration component and the movement component between frames and the coding screen and the reference screen will be described with reference to FIGS. As described above, the inter-frame vibration component and the moving component are calculated from the inter-field vibration component and the moving component obtained by the inter-screen displacement detection circuit 2. FIGS. 5 and 6 show a case where an object at the position shown by the dotted line on the reference screen has moved to the position shown by the solid line on the encoding screen, and the vibration component is (xv, yv) and the movement component is (Xp, yp), the motion vector of the entire screen is represented by (xv + xp, yv + yp).

【0042】まず手振れ補正を行う場合を図5を用いて
説明する。図5で縦横の点線はマクロブロックの境界を
示している。例えば手振れ補正前に領域dの位置にあっ
たデータは、手振れ補正後に振動成分だけ移動したマク
ロブロックcで示した位置になる。従って、マクロブロ
ックcの動きベクトル検出を行う場合、符号化画面デー
タについては、マクロブロックcの左上の座標(x3,
y3)から読み出し位置を振動成分と逆方向に補正した
(x3−xv,y3−yv)を左上座標とするマクロブ
ロックサイズの領域dのデータを読み出す。マクロブロ
ックcに対応する参照画面データは、マクロブロックc
から移動成分だけシフトした(x3+xp,y3+y
p)を左上座標とするマクロブロックサイズの領域eを
中心とした周辺画像データが読み出される。符号化画面
データとして読み出される領域dのデータと参照画面デ
ータの中心となる領域eとが画面間動きベクトル分離れ
た位置にある。
First, the case of performing camera shake correction will be described with reference to FIG. In FIG. 5, the vertical and horizontal dotted lines indicate the boundaries of macroblocks. For example, the data at the position of the area d before the camera shake correction becomes the position indicated by the macro block c which has moved by the vibration component after the camera shake correction. Therefore, when the motion vector detection of the macroblock c is performed, the upper left coordinates (x3,
From y3), the data of the macroblock size area d is read with (x3-xv, y3-yv) obtained by correcting the readout position in the direction opposite to the vibration component and the upper left coordinate. The reference screen data corresponding to the macro block c is the macro block c
(X3 + xp, y3 + y)
Peripheral image data centered on a macroblock-sized area e with p) as the upper left coordinate is read. The data of the area d read as the coded screen data and the area e which is the center of the reference screen data are located at positions separated by the inter-frame motion vector.

【0043】次に手振れ補正を行わない場合を図6を用
いて説明する。例えばマクロブロックcの動きベクトル
検出を行う場合、符号化画面データは振動成分の補正を
行わずマクロブロックcの位置のデータをそのまま読み
出す。参照画面データは振動成分と移動成分の和である
画面間動きベクトルだけ読み出し位置をシフトして読み
出す。すなわち(x3+xs+xp,y3+ys+y
p)を左上の座標とする領域fを中心とした周辺画像デ
ータが読み出される。
Next, a case in which camera shake correction is not performed will be described with reference to FIG. For example, when the motion vector of the macroblock c is detected, the data of the position of the macroblock c is read as it is from the encoded screen data without correcting the vibration component. The reference screen data is read by shifting the read position by the inter-screen motion vector that is the sum of the vibration component and the movement component. That is, (x3 + xs + xp, y3 + ys + y
Peripheral image data centered on the area f having the upper left coordinate of p) is read.

【0044】上記のように、符号化画面メモリ、参照画
面メモリの読み出し位置を補正あるいはシフトして符号
化画面、参照画面を読み出すが、読み出し位置によって
は補正後あるいはシフト後の読み出し位置がメモリの範
囲外となることがある。この場合は、手振れ補正量や探
索シフト量を0とする、あるいはメモリの範囲内の最大
の値とするなどの補正を行う。
As described above, the read positions of the coded screen memory and the reference screen memory are read out by correcting or shifting the read positions of the coded screen and the reference screen. It may be out of the range. In this case, correction such as setting the camera shake correction amount or the search shift amount to 0 or setting the maximum value within the range of the memory is performed.

【0045】動きベクトル探索では、多数の候補ベクト
ルそれぞれに評価値を計算するため、同じ画像データを
何度も読み出す必要がある。そのため、符号化画面メモ
リ6aや参照画面メモリ6b、あるいは評価値計算回路
4に高速にアクセスできるキャッシュを持たせ、符号化
画面データや参照画面データをいったんキャッシュに記
録し、キャッシュから繰り返し画像データを読み出すこ
とで高速なアクセスを可能にする。
In the motion vector search, the same image data must be read many times to calculate the evaluation value for each of a large number of candidate vectors. Therefore, the encoded screen memory 6a, the reference screen memory 6b, or the evaluation value calculation circuit 4 is provided with a cache that can be accessed at a high speed, and the encoded screen data and the reference screen data are temporarily recorded in the cache, and the image data is repeatedly read from the cache. High-speed access is enabled by reading.

【0046】次に本発明の第2の実施の形態の動きベク
トル検出装置の、動画像符号化装置における周辺回路と
の関係を図7のブロック図に示す。図2の動画像符号化
装置では、局部復号器9に局部復号画像データを格納す
るメモリを備え、予測データとして、減算器7に出力す
る。これに対し、本実施の形態の動きベクトル検出装置
では、局部復号器9からの局部復号画像データを符号化
画面/参照画面メモリ6に格納し、局部復号画像データ
を参照画面データとして用いる。
FIG. 7 is a block diagram showing the relationship between the motion vector estimating apparatus according to the second embodiment of the present invention and peripheral circuits in the moving picture coding apparatus. In the moving picture coding apparatus of FIG. 2, the local decoder 9 includes a memory for storing the local decoded image data, and outputs the prediction data to the subtracter 7 as prediction data. On the other hand, in the motion vector detecting device of the present embodiment, the locally decoded image data from the local decoder 9 is stored in the coded screen / reference screen memory 6, and the locally decoded image data is used as the reference screen data.

【0047】図8は、図7の動画像符号化装置から動き
ベクトル検出装置を抽出したブロック図である。第1の
実施の形態では参照画面メモリに符号化前の入力画像が
記録されていたが、本実施の形態では参照画面メモリに
局部復号画像が記録される点が異なる。図8では、図1
と同一番号がついているブロックは同一の機能を有する
ので、重複する説明を省略する。図8において動きベク
トル検出回路11は、画面間偏位検出回路2、メモリコ
ントローラ12、評価値計算回路4、ベクトル選択回路
5で構成される。符号化画面メモリ6aには入力画像が
記録され、参照画面メモリ(局部復号画像メモリ)6b
には局部復号器9で復号された復号画像が記録される。
FIG. 8 is a block diagram in which a motion vector detecting device is extracted from the moving picture coding device of FIG. Although the input image before encoding is recorded in the reference screen memory in the first embodiment, the present embodiment is different in that the locally decoded image is recorded in the reference screen memory. In FIG. 8, FIG.
Blocks having the same numbers as have the same functions, and duplicate description will be omitted. 8, the motion vector detecting circuit 11 includes an inter-screen displacement detecting circuit 2, a memory controller 12, an evaluation value calculating circuit 4, and a vector selecting circuit 5. An input image is recorded in an encoded screen memory 6a, and a reference screen memory (local decoded image memory) 6b
Stores a decoded image decoded by the local decoder 9.

【0048】メモリコントローラ12は、符号化画面メ
モリ6aと参照画面メモリ(局部復号画像メモリ)6b
を制御する。画面間の振動成分と移動成分を求める場合
は、画面間偏位検出回路2に画面間偏位を求める隣接す
る画面のデータを入力するように符号化画面メモリ6a
を制御する。動きベクトル検出を行う場合には、符号化
画面メモリ6aからマクロブロックごとの符号化画面デ
ータを、参照画面メモリ(局部復号画像メモリ)6bか
らは動きベクトル探索する参照画面データを評価値計算
回路4に入力するように制御する。
The memory controller 12 includes an encoded screen memory 6a and a reference screen memory (local decoded image memory) 6b.
Control. When obtaining the vibration component and the movement component between the screens, the coded screen memory 6a is input to the inter-screen displacement detection circuit 2 so as to input the data of the adjacent screen for obtaining the inter-screen displacement.
Control. When performing motion vector detection, the evaluation value calculation circuit 4 calculates encoded screen data for each macroblock from the encoded screen memory 6a and reference screen data for motion vector search from the reference screen memory (local decoded image memory) 6b. Control to input to

【0049】上述の結果をまとめると、第1の実施の形
態では、符号化画面メモリ6aおよび参照画面メモリ6
bに入力画像を格納するが、第2の実施の形態では、符
号化画面メモリ6aに入力画像を格納し、参照画面メモ
リ(局部復号画像メモリ)6bに局部復号画像を格納す
る。このため、局部復号器9の局部復号画像データを格
納するメモリを不要とする、あるいは容量を小さくする
ことができる。
To summarize the above results, in the first embodiment, the coded screen memory 6a and the reference screen memory 6
In the second embodiment, the input image is stored in the coded screen memory 6a, and the local decoded image is stored in the reference screen memory (local decoded image memory) 6b. For this reason, a memory for storing the local decoded image data of the local decoder 9 is not required or the capacity can be reduced.

【0050】次に本発明の第3の実施の形態の動きベク
トル検出装置では、動きベクトル検出を隣接していない
フレーム間、すなわちフレーム間隔が2以上のフレーム
間で行う場合にも広範囲の動きベクトル検出可能なもの
とする。
Next, in the motion vector detecting apparatus according to the third embodiment of the present invention, a wide range of motion vectors can be detected even when motion vector detection is performed between frames that are not adjacent to each other, that is, between frames whose frame intervals are two or more. It shall be detectable.

【0051】図9は、本実施の形態の動きベクトル検出
装置のメモリコントローラ20のブロック図である。メ
モリコントローラ20は、図1におけるメモリコントロ
ーラ3に置換されるものであり、動作が異なる。その他
の構成要件は、図1の動きベクトル検出装置と同様であ
る。メモリコントローラ20は、複数の振動成分を格納
する振動成分メモリ21、複数の移動成分を格納する移
動成分メモリ22、符号化画面メモリの読み出し位置を
補正する手振れ補正量、および参照画面メモリの読み出
し位置をシフトする探索シフト量を算出する手振れ補正
量/探索シフト量計算回路23、符号化画面メモリおよ
び参照画面メモリの読み出しアドレスを発生し、両メモ
リを制御するアドレス発生回路24で構成される。
FIG. 9 is a block diagram of the memory controller 20 of the motion vector detecting device according to the present embodiment. The memory controller 20 is replaced with the memory controller 3 in FIG. 1 and operates differently. Other components are the same as those of the motion vector detecting device of FIG. The memory controller 20 includes a vibration component memory 21 for storing a plurality of vibration components, a moving component memory 22 for storing a plurality of moving components, a camera shake correction amount for correcting a reading position of the coded screen memory, and a reading position of the reference screen memory. Is calculated by a camera shake correction amount / search shift amount calculation circuit 23 for calculating a search shift amount for shifting the data, an address generation circuit 24 for generating read addresses of the coded screen memory and the reference screen memory, and controlling both memories.

【0052】画面間偏位検出回路で検出された振動成分
と移動成分とは、それぞれ振動成分メモリ21と移動成
分メモリ22に記録される。手振れ補正量/探索シフト
量計算回路23では、振動成分メモリ21と移動成分メ
モリ22から振動成分と移動成分を読み出して前記手振
れ補正量および探索シフト量を算出する。動きベクトル
を検出するフレーム間隔が2以上の場合には、その間に
挟まれるフレームも含めた複数の振動成分、移動成分か
ら動きベクトル検出のためのフレーム間の振動成分、移
動成分を算出する。そして、これらを用いて符号化画面
の読み出し位置の補正量である手振れ補正量、参照画面
の読み出し位置のシフト量である探索シフト量を算出す
る。動きベクトル検出するフレーム間の振動成分および
移動成分を求める方法は、例えば動きベクトル検出する
フレーム間に位置する複数の振動成分の和および移動成
分の和とする、あるいは動きベクトル検出するフレーム
間に位置する特定のフレームの振動成分および移動成分
をそれぞれ定数倍とするなどの方法がある。
The vibration component and the moving component detected by the inter-screen deviation detecting circuit are recorded in the vibration component memory 21 and the moving component memory 22, respectively. The camera shake correction amount / search shift amount calculation circuit 23 reads the vibration component and the movement component from the vibration component memory 21 and the movement component memory 22, and calculates the camera shake correction amount and the search shift amount. When the frame interval for detecting a motion vector is two or more, a vibration component between frames for detecting a motion vector and a movement component are calculated from a plurality of vibration components and movement components including frames interposed therebetween. These are used to calculate a camera shake correction amount which is a correction amount of the read position of the encoded screen and a search shift amount which is a shift amount of the read position of the reference screen. The method of obtaining the vibration component and the movement component between the frames for which the motion vector is to be detected is, for example, a sum of a plurality of vibration components and the movement component located between the frames for which the motion vector is to be detected, or For example, the vibration component and the movement component of a specific frame to be performed are each multiplied by a constant.

【0053】図10を用いてフレーム間隔が3の場合に
振動成分と移動成分を求める例を示す。図10ではフレ
ーム内符号化するフレームF1、双方向予測符号化する
フレームF2、F3、前方向予測符号化するフレームF
4の順に画像が入力される。このフレームF4は、3フ
レーム前のフレームF1との間の動きベクトルを求め
る。この場合も画面間偏位検出回路では、隣接フレーム
間の振動成分と移動成分が求められる。すなわちフレー
ムF1、F2間の振動成分FV2_1と移動成分FP2
_1、…、フレームF3、F4間の振動成分FV4_3
と移動成分FP4_3が求められる。振動成分と移動成
分がフィールド間で求められる場合には、前述のように
まずフィールド間の振動成分、移動成分からフレーム間
の振動成分と移動成分を求める。
An example in which a vibration component and a moving component are obtained when the frame interval is 3 will be described with reference to FIG. In FIG. 10, a frame F1 to be intra-coded, frames F2 and F3 to be bidirectionally predicted encoded, and a frame F to be forward predicted encoded
Images are input in the order of # 4. In this frame F4, a motion vector between the frame F1 and the frame F1 three frames before is obtained. Also in this case, the inter-screen displacement detection circuit obtains a vibration component and a movement component between adjacent frames. That is, the vibration component FV2_1 between the frames F1 and F2 and the movement component FP2
_1,..., Vibration component FV4_3 between frames F3, F4
And the moving component FP4_3 are obtained. When the vibration component and the moving component are obtained between the fields, first, as described above, the vibration component and the moving component between the frames are obtained from the vibration component and the moving component between the fields.

【0054】図10の例の場合、フレームF1、F4間
の振動成分FV4_1および移動成分FP4_1は、 FV4_1=(FV2_1+FV3_2+FV4_3) または (FV2_1×3) または (FV3_2×3) または (FV4_3×3) FP4_1=(FP2_1+FP3_2+FP4_3) または (FP2_1×3) または (FP3_2×3) または (FP4_3×3) で求めることができる。
In the case of the example shown in FIG. 10, the vibration component FV4_1 and the moving component FP4_1 between the frames F1 and F4 are given by: FV4_1 = (FV2_1 + FV3_2 + FV4_3) or (FV2_1 × 3) or (FV3_2 × 3) or (FV4_3 × 3) FP4_1 = (FP2_1 + FP3_2 + FP4_3) or (FP2_1 × 3) or (FP3_2 × 3) or (FP4_3 × 3).

【0055】次に本発明の第4の実施の形態の動きベク
トル検出装置を説明する。本実施の形態の動きベクトル
検出装置の構成は、上記の第3の実施の形態の動きベク
トル検出装置と同様である。画面間偏位検出回路で用い
る画像の画面構造と動きベクトル検出の画面構造が異な
る場合にも、動きベクトル検出で求める手振れ補正量お
よび探索シフト量を適切に求めることができる装置であ
る。ここで、画面構造とはフィールドまたはフレームを
指す。すなわち、画面間偏位検出回路でフィールド間の
振動成分と移動成分を求め、動きベクトルはフレーム間
で求める、あるいはその逆の場合などにおいて、手振れ
補正量および探索シフト量を求めることができるもの
で、図9のメモリコントローラ20とは動作が異なる。
Next, a motion vector detecting device according to a fourth embodiment of the present invention will be described. The configuration of the motion vector detection device according to the present embodiment is the same as that of the motion vector detection device according to the third embodiment. This is an apparatus that can appropriately obtain a camera shake correction amount and a search shift amount obtained by motion vector detection even when a screen structure of an image used in an inter-screen deviation detection circuit and a screen structure of motion vector detection are different. Here, the screen structure indicates a field or a frame. That is, the inter-screen deviation detection circuit obtains the vibration component and the movement component between the fields, and the motion vector can be obtained between frames, or vice versa, and the camera shake correction amount and the search shift amount can be obtained. The operation is different from that of the memory controller 20 shown in FIG.

【0056】図11は、入力画像のタイプ、動きベクト
ル検出に用いる画面構造と画面間偏位検出回路で用いる
画面構造の組み合わせ表である。入力画像のタイプには
インターレースとノンインターレースがあり、インター
レースの場合、1フレームは2フィールドで構成され、
ノンインターレースの場合はフィールドという概念はな
い。動きベクトル検出、振動成分や移動成分の検出に用
いる画面構造にはフレームとフィールドがある。その結
果、図11に示すようにケース1からケース5の組み合
わせが存在しうる。
FIG. 11 is a combination table of the type of the input image, the screen structure used for motion vector detection, and the screen structure used in the inter-screen displacement detection circuit. Input image types include interlaced and non-interlaced. In the case of interlaced, one frame is composed of two fields.
In the case of non-interlace, there is no concept of a field. The screen structure used for detecting a motion vector and detecting a vibration component and a movement component includes a frame and a field. As a result, as shown in FIG. 11, a combination of Case 1 to Case 5 may exist.

【0057】以下では図11のケース1〜5について、
手振れ補正量と探索シフト量を求める例を図12から図
15を用いて説明する。なお、図12から図15では、
フレームF1はフィールドf11とフィールドf12
で、フレームF2はフィールドf21とフィールドf2
2で構成される。またフレームF1、F2間の振動成分
をFV2_1、移動成分をFP2_1、…、フレームF
3、F4間の振動成分をFV4_3、移動成分をFP4
_3とし、フィールドf11、f12間の振動成分をf
v12_11、移動成分をfp12_11、…、フィー
ルドf21、f22間の振動成分をfv22_21、移
動成分をfp22_21とする。またフレームF1、F
2間で動きベクトル検出する場合の、符号化画面メモリ
の読み出し位置を補正する手振れ補正量をFC2_1、
参照画面メモリの読み出し位置をシフトする探索シフト
量をFS2_1とする。またフィールドf11、f12
間で動きベクトル検出をする場合の手振れ補正量をfc
12_11、探索シフト量をfs12_11とし、フィ
ールドf21、f22間で動きベクトル探索する場合の
手振れ補正量をfc22_21、探索シフト量をfs2
2_21とする。
In the following, cases 1 to 5 in FIG.
An example of obtaining the camera shake correction amount and the search shift amount will be described with reference to FIGS. 12 to 15,
The frame F1 includes a field f11 and a field f12.
The frame F2 is composed of a field f21 and a field f2.
It consists of two. Also, the vibration component between the frames F1 and F2 is FV2_1, the moving component is FP2_1,.
The vibration component between F3 and F4 is FV4_3, and the moving component is FP4
_3, and the vibration component between the fields f11 and f12 is f
v12_11, the moving component is fp12_11,..., the vibration component between the fields f21 and f22 is fv22_21, and the moving component is fp22_21. Also, frames F1, F
When the motion vector is detected between the two, the camera shake correction amount for correcting the read position of the coded screen memory is FC2_1, FC2_1,
The search shift amount for shifting the read position of the reference screen memory is set to FS2_1. Also, fields f11 and f12
The amount of camera shake correction when detecting a motion vector between
12_11, the search shift amount is fs12_11, the camera shake correction amount when searching for a motion vector between the fields f21 and f22 is fc22_21, and the search shift amount is fs2.
2_21.

【0058】まず図12はケース1に対応し、入力画像
のタイプがインターレースで動きベクトルをフレーム間
で検出し、振動成分、移動成分をフレーム間で求める場
合の例を示す。図12で手振れ補正を行う場合には、フ
レームF1、F2間の手振れ補正量FC2_1および探
索シフト量FS2_1は、 FC2_1=FV2_1 FS2_1=FP2_1 となり、手振れ補正を行わない場合は、 FC2_1=0 FS2_1=FV2_1+FP2_1 となる。
First, FIG. 12 corresponds to Case 1 and shows an example in which a motion vector is detected between frames with an input image type of interlace, and a vibration component and a movement component are obtained between frames. When the camera shake correction is performed in FIG. 12, the camera shake correction amount FC2_1 and the search shift amount FS2_1 between the frames F1 and F2 are FC2_1 = FV2_1 FS2_1 = FP2_1, and when the camera shake correction is not performed, FC2_1 = 0 FS2_1 = FV2_1 + FP2_1. Becomes

【0059】次に図13はケース2に対応し、入力画像
のタイプがインターレースで動きベクトルをフレーム間
で検出し、振動成分、移動成分をフィールド間で求める
場合の例を示す。図13で手振れ補正を行う場合には、
フレームF1、F2間の手振れ補正量FC2_1および
探索シフト量FS2_1は、 FC2_1=(fv21_12+fv22_21) または (fv21_12×2) または (fv22_21×2) FS2_1=(fp21_12+fp22_21) または (fp21_12×2) または (fp22_21×2) となり、手振れ補正を行わない場合は、 FC2_1=0 FS2_1=(fp21_12+fp22_21+fv
21_12+fv22_21) または (fp21_12+fv21_12)×2) または (fp22_21+fv22_21)×2) となる。
Next, FIG. 13 shows an example corresponding to Case 2, in which the type of the input image is interlaced, motion vectors are detected between frames, and vibration components and movement components are obtained between fields. When performing camera shake correction in FIG.
The camera shake correction amount FC2_1 and the search shift amount FS2_1 between the frames F1 and F2 are: FC2_1 = (fv21_12 + fv22_21) or (fv21_12 × 2) or (fv22_21 × 2) FS2_1 = (fp21_12 + fp22_21) or (fp21_12 × 22) ) And when the camera shake correction is not performed, FC2_1 = 0 FS2_1 = (fp21_12 + fp22_21 + fv)
21_12 + fv22_21) or (fp21_12 + fv21_12) × 2) or (fp22_21 + fv22_21) × 2).

【0060】次に図14はケース3に対応し、入力画像
のタイプがインターレースで動きベクトルをフィールド
間で検出し、振動成分、移動成分をフレーム間で求める
場合の例を示す。インターレース画像のフィールド間の
動きベクトル検出は、フィールドF1を構成するフィー
ルドとフレームF2を構成するフィールド間で行う。す
なわちフィールドf11、f21間、f11、f22
間、f12、f21間、f12、f22間である。図1
4で手振れ補正を行う場合には、各フィールド間の手振
れ補正量および探索シフト量は時間間隔を勘案し、 fc21_11=FV2_1 fs21_11=FP2_1 fc21_12=FV2_1×1/2 fs21_12=FP2_1×1/2 fc22_11=FV2_1×3/2 fs22_11=FP2_1×3/2 fc22_12=FV2_1 fs22_12=FP2_1 となり、手振れ補正を行わない場合は、 fc21_11=0 fs21_11=FP2_1+FV2_1 fc21_12=0 fs21_12=(FP2_1+FV2_1)×1/2 fc22_11=0 fs22_11=(FP2_1+FV2_1)×3/2 fc22_12=0 fs22_12=FP2_1+FV2_1 となる。
Next, FIG. 14 shows an example corresponding to Case 3, in which the type of the input image is interlaced, motion vectors are detected between fields, and vibration components and movement components are obtained between frames. The motion vector detection between the fields of the interlaced image is performed between the fields constituting the field F1 and the fields constituting the frame F2. That is, between fields f11 and f21, f11 and f22
, F12 and f21, and f12 and f22. FIG.
In the case where the camera shake correction is performed in step 4, the camera shake correction amount and the search shift amount between the respective fields take the time interval into consideration, and fc21_11 = FV2_1 fs21_11 = FP2_1 fc21_12 = FV2_1 × 1/2 fs21_12 = FP2_1 × 1/2 fc22_11 = FV2_1 × 3/2 fs22_11 = FP2_1 × 3/2 fc22_12 = FV2_1 fs22_12 = FP2_1, and when the camera shake correction is not performed, fc21_11 = 0 fs21_11 = FP2_1 + FV2_1f12_11_2_11_12_11_12_11_12_12_11_12_11_12_11_12 = 11_12 = 11_12 = 11_12 = 11_12 = 11_2 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 11_12 = 11_12 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 12_11 = 11_2 = 2). = (FP2_1 + FV2_1) × 3/2 fc22_12 = 0 fs22_12 = FP2_1 + FV2_1.

【0061】次に図15はケース4に対応し、入力画像
のタイプがインターレースで動きベクトルをフィールド
間で検出し、振動成分、移動成分をフィールド間で求め
る場合の例を示す。フィールド間の動きベクトル検出は
前記の図14の例と同様にフレームF1を構成するフィ
ールドとフレームF2を構成するフィールド間で行う。
図15で手振れ補正を行う場合には、各フィールド間の
手振れ補正量および探索シフト量は、 fc21_11=fv21_12+fv12_11 fs21_11=fp21_12+fp12_11 fc21_12=fv21_12 fs21_12=fp21_12 fc22_11=fv22_21+fv21_12+f
v12_11 fs22_11=fp22_21+fp21_12+f
p12_11 fc22_12=fv22_21+fv21_12 fs22_12=fp22_21+fp21_12 となり、手振れ補正を行わない場合は、 fc21_11=0 fs21_11=fp21_12+fp12_11+f
v21_12+fv12_11 fc21_12=0 fs21_12=fp21_12+fv21_12 fc22_11=0 fs22_11=fp22_21+fp21_12+f
p12_11+fv22_21+fv21_12+fv
12_11 fc22_12=0 fs22_12=fp22_21+fp21_12+f
v22_21+fv21_12 となる。
Next, FIG. 15 shows an example, corresponding to Case 4, in which the type of the input image is interlaced and a motion vector is detected between fields, and a vibration component and a movement component are obtained between fields. The motion vector detection between the fields is performed between the fields constituting the frame F1 and the fields constituting the frame F2 as in the example of FIG.
In the case of performing the camera shake correction in FIG. 15, the camera shake correction amount and the search shift amount between each field are as follows: fc21_11 = fv21_12 + fv12_11 fs21_11 = fp21_12 + fp12_11 fc21_12 = fv21_12 fs21_12 = fp21_12 fc22_11 + fv22_11 + fv21_fv22_11
v12_11 fs22_11 = fp22_21 + fp21_12 + f
p12_11 fc22_12 = fv22_21 + fv21_12 fs22_12 = fp22_21 + fp21_12, and when camera shake correction is not performed, fc21_11 = 0 fs21_11 = fp21_12 + fp12_11 + f
v21_12 + fv12_11 fc21_12 = 0 fs21_12 = fp21_12 + fv21_12 fc22_11 = 0 fs22_11 = fp22_21 + fp21_12 + f
p12_11 + fv22_21 + fv21_12 + fv
12_11 fc22_12 = 0 fs22_12 = fp22_21 + fp21_12 + f
v22_21 + fv21_12.

【0062】次に、ケース5に対応して、入力画像のタ
イプがノンインターレースで動きベクトルをフレーム間
で検出し、振動成分、移動成分をフレーム間で求める場
合の例を示す。この場合は図12の場合と同様になり、
手振れ補正を行う場合のフレームF1、F2間の手振れ
補正量FC2_1および探索シフト量FS2_1は、 FC2_1=FV2_1 FS2_1=FP2_1 となり、手振れ補正を行わない場合は、 FC2_1=0 FS2_1=FV2_1+FP2_1 となる。
Next, corresponding to Case 5, an example will be described in which a motion vector is detected between frames with the input image type being non-interlaced, and a vibration component and a movement component are determined between frames. In this case, it becomes the same as the case of FIG.
The amount of camera shake correction FC2_1 and the amount of search shift FS2_1 between the frames F1 and F2 when performing camera shake correction are FC2_1 = FV2_1 FS2_1 = FP2_1, and when no camera shake correction is performed, FC2_1 = 0 FS2_1 = FV2_1 + FP2_1.

【0063】次に本発明の第5の実施の形態の動きベク
トル検出装置を説明する。本実施の形態の動きベクトル
検出装置は、画面間偏位検出回路で振動成分のみ検出
し、移動成分を検出しない。この場合、画面全体の動き
を振動成分として検出するので、第1から第4の実施の
形態で、移動成分を0とし、振動成分を振動成分と移動
成分の和として扱った場合に相当する。
Next, a motion vector detecting device according to a fifth embodiment of the present invention will be described. The motion vector detecting device according to the present embodiment detects only a vibration component and does not detect a moving component in an inter-screen displacement detection circuit. In this case, since the motion of the entire screen is detected as a vibration component, this corresponds to the case where the moving component is set to 0 and the vibration component is treated as the sum of the vibration component and the moving component in the first to fourth embodiments.

【0064】図16は、本発明の第5の実施の形態の動
きベクトル検出装置のブロック図である。図16におい
て動きベクトル検出装置31は画面間偏位検出回路3
2、メモリコントローラ33、評価値計算回路4、ベク
トル選択回路5で構成される。図1に示す第1の実施の
形態と異なる点は画面間偏位検出回路32、メモリコン
トローラ33であり、それ以外の構成は同様なので、重
複する説明を省略する。
FIG. 16 is a block diagram of a motion vector detecting device according to a fifth embodiment of the present invention. In FIG. 16, the motion vector detecting device 31 is an inter-screen displacement detecting circuit 3.
2, a memory controller 33, an evaluation value calculation circuit 4, and a vector selection circuit 5. The difference from the first embodiment shown in FIG. 1 lies in the inter-screen deviation detection circuit 32 and the memory controller 33, and the other configurations are the same, so that the duplicated description will be omitted.

【0065】画面間偏位検出回路32は、符号化画面メ
モリ6aから隣接する2枚の画面データが入力され、画
面間の全体の動きが振動成分として検出されて、メモリ
コントローラ33に出力する。メモリコントローラ33
は、手振れ補正を行う場合には、符号化画面メモリ6a
からの読み出し位置を振動成分を打ち消すように補正し
て符号化画面データを読み出し、また参照画面メモリ6
bからは読み出し位置をシフトすることなく参照画面デ
ータを読み出す。手振れ補正を行わない場合には、符号
化画面メモリ6aの読み出し位置を補正することなく、
符号化画面データを読み出し、また参照画面メモリ6b
の読み出し位置を振動成分から算出されるシフト量だけ
シフトして参照画面データを読み出す。
The inter-screen deviation detecting circuit 32 receives two adjacent screen data from the coded screen memory 6 a, detects the entire movement between the screens as a vibration component, and outputs it to the memory controller 33. Memory controller 33
When performing camera shake correction, the encoding screen memory 6a
The readout position from the memory is corrected so as to cancel the vibration component, and the encoded screen data is read out.
The reference screen data is read from b without shifting the read position. When camera shake correction is not performed, the read position of the encoded screen memory 6a is not corrected,
Reads the coded screen data and stores the reference screen memory 6b
Is shifted by the shift amount calculated from the vibration component, and the reference screen data is read.

【0066】以上各実施の形態で述べたように、本発明
は、画面間偏位検出回路で検出された振動成分と移動成
分、あるいは画面間動き成分を、動きベクトル検出に用
いるものである。まず振動成分と移動成分、あるいは画
面間動き成分から画面全体の動きを予測し、動きベクト
ル探索の初期値となる探索シフト値を設定する。そし
て、探索シフト値の周辺を動きベクトル探索すること
で、実際に動きベクトル探索のためのマッチング演算を
行う参照画面の範囲を広くすること無く、すなわち演算
量を増加すること無く動きベクトル探索範囲を広くする
ものである。
As described in the above embodiments, the present invention uses the vibration component and the moving component detected by the inter-screen displacement detecting circuit or the inter-screen motion component for detecting the motion vector. First, the motion of the entire screen is predicted from the vibration component and the moving component or the inter-screen motion component, and a search shift value that is an initial value of a motion vector search is set. Then, by performing a motion vector search around the search shift value, the motion vector search range can be increased without increasing the range of the reference screen on which the matching calculation for the motion vector search is actually performed, that is, without increasing the amount of calculation. To make it wider.

【0067】また本発明は、画面間の全体の動きを検出
する回路を含む装置であれば、テレビ電話、テレビ会
議、録再型デジタルビデオディスクやデジタルVTRな
どのデジタル映像記録装置やデジタル映像通信装置、放
送装置にも適用できる。
The present invention is also applicable to a digital video recording device such as a videophone, a video conference, a recording / reproducing digital video disk, a digital VTR, a digital video communication device, etc. It can also be applied to devices and broadcasting devices.

【0068】[0068]

【発明の効果】以上説明した通り、本発明の請求項1に
記載の動きベクトル検出装置は、画面間偏位検出回路で
得られる画面間の振動成分および移動成分を用いて動き
ベクトルを予測し、予測した位置の周辺を探索して動き
ベクトルを検出するので、実際に探索する範囲を広くす
ることなく、より広範囲の動きベクトルを検出できる。
As described above, the motion vector detecting device according to the first aspect of the present invention predicts a motion vector by using the inter-screen vibration component and the moving component obtained by the inter-screen displacement detection circuit. Since the motion vector is detected by searching around the predicted position, a wider range of motion vectors can be detected without actually widening the search range.

【0069】またビデオカメラなどでは、手振れ補正は
標準的な機能であり、手振れ補正を実現するために画面
間の動きを検出する回路を備えている。本発明はこの回
路で検出される画面全体の動きを動きベクトルの予測に
用いるため、ハードウェア量を増加させることなく容易
に実現できる。すなわち、手振れ補正機能と動きベクト
ル検出機能とで、画面全体の動きを検出する回路を共有
化できる。
In a video camera or the like, camera shake correction is a standard function, and includes a circuit for detecting movement between screens in order to realize camera shake correction. According to the present invention, the motion of the entire screen detected by this circuit is used for predicting a motion vector, so that it can be easily realized without increasing the amount of hardware. That is, a circuit for detecting the motion of the entire screen can be shared by the camera shake correction function and the motion vector detection function.

【0070】本発明の請求項2に記載の動きベクトル検
出装置は、動きベクトル検出の参照画面として、局部復
号器で復号した局部復号画像を用いるので、参照画面メ
モリと局部復号器の局部復号画像メモリとを共有でき、
メモリ容量を減少できる。
In the motion vector detecting apparatus according to the second aspect of the present invention, since the locally decoded image decoded by the local decoder is used as the reference screen for detecting the motion vector, the locally decoded image of the reference screen memory and the local decoder is used. Can share with memory,
Memory capacity can be reduced.

【0071】本発明の請求項3に記載の動きベクトル検
出装置は、動きベクトル検出を画面間隔が2以上の画面
間で行う場合に、各画面ごとに求められた振動成分、移
動成分を用いて、動きベクトル検出する離れた画面間の
手振れ補正量と探索シフト量を算出できるので、精度を
落とすことなく広範囲の動きベクトルを検出できる。
The motion vector detecting device according to the third aspect of the present invention uses a vibration component and a moving component obtained for each screen when detecting a motion vector between screens having two or more screen intervals. Since the amount of camera shake correction and the amount of search shift between distant screens for detecting a motion vector can be calculated, a wide range of motion vectors can be detected without lowering the accuracy.

【0072】本発明の請求項4に記載の動きベクトル検
出装置は、振動成分や移動成分の検出がフィールド単位
で、動きベクトル探索がフレーム単位でなされる場合、
あるいは逆の場合でも、フレーム間やフィールド間の時
間距離を勘案して、手振れ補正量や探索シフト量を修正
するので、入力画像のタイプや画面構造にかかわらず、
動きベクトル探索で用いる手振れ補正量や探索シフト量
を精度良く求めることができる。
In the motion vector detecting device according to the fourth aspect of the present invention, when the detection of the vibration component or the moving component is performed on a field basis and the motion vector search is performed on a frame basis,
Or even in the opposite case, the camera shake correction amount and search shift amount are corrected in consideration of the time distance between frames and between fields, so regardless of the type of input image and screen structure,
The camera shake correction amount and the search shift amount used in the motion vector search can be accurately obtained.

【0073】本発明の請求項5に記載の動きベクトル検
出装置は、移動成分の検出を行わない場合も、画面間の
全体の動きを振動成分として検出し、振動成分のみから
手振れ補正量および探索シフト量を算出するので、動き
ベクトル探索の演算量を増やすことなく、より広範囲の
動きベクトルを検出することができる。
The motion vector detecting apparatus according to the fifth aspect of the present invention detects the entire motion between the screens as a vibration component even when the moving component is not detected, and calculates the camera shake correction amount and the search only from the vibration component. Since the shift amount is calculated, a wider range of motion vectors can be detected without increasing the calculation amount of the motion vector search.

【0074】以上のように、MPEG方式などの動画像
符号化にフレーム間予測を用いる符号化装置において、
画面間偏位検出回路で得られる振動成分や移動成分を用
いて符号化画面の読み出し位置の補正および動きベクト
ル探索の領域のシフトによって、動きベクトル検出に必
要なハードウェア量をほとんど増加させることなく、よ
り広範囲の動きベクトルを検出することができ、この効
果は顕著である。
As described above, in an encoding apparatus that uses inter-frame prediction for encoding a moving image such as the MPEG method,
By correcting the readout position of the coded screen and shifting the motion vector search area using the vibration component and the moving component obtained by the inter-screen displacement detection circuit, the amount of hardware required for motion vector detection is hardly increased. , A wider range of motion vectors can be detected, and this effect is remarkable.

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

【図1】本発明の第1の実施の形態の動きベクトル検出
装置のブロック図である。
FIG. 1 is a block diagram of a motion vector detection device according to a first embodiment of the present invention.

【図2】第1の実施の形態の動きベクトル検出装置と周
辺回路との関係を示すブロック図である。
FIG. 2 is a block diagram illustrating a relationship between the motion vector detection device according to the first embodiment and peripheral circuits.

【図3】符号化画面と参照画面の動きベクトル探索範囲
の関係を示す図である。
FIG. 3 is a diagram illustrating a relationship between a motion vector search range of an encoding screen and a reference screen.

【図4】フィールド間の振動成分、移動成分およびフレ
ーム間の振動成分、移動成分の関係を説明する図であ
る。
FIG. 4 is a diagram illustrating a relationship between a vibration component and a moving component between fields and a vibration component and a moving component between frames.

【図5】手振れ補正を行う場合の、符号化画面のマクロ
ブロックと参照画面の探索領域の関係を説明する図であ
る。
FIG. 5 is a diagram illustrating a relationship between a macroblock of an encoded screen and a search area of a reference screen when camera shake correction is performed.

【図6】手振れ補正を行わない場合の、符号化画面のマ
クロブロックと参照画面の探索領域の関係を説明する図
である。
FIG. 6 is a diagram illustrating a relationship between a macroblock of an encoded screen and a search area of a reference screen when camera shake correction is not performed.

【図7】第2の実施の形態の動きベクトル検出装置と周
辺回路との関係を示すブロック図である。
FIG. 7 is a block diagram illustrating a relationship between a motion vector detection device according to a second embodiment and peripheral circuits.

【図8】本発明の第2の実施の形態の動きベクトル検出
装置のブロック図である。
FIG. 8 is a block diagram of a motion vector detection device according to a second embodiment of the present invention.

【図9】本発明の第3の実施の形態の動きベクトル検出
装置のメモリコントローラのブロック図である。
FIG. 9 is a block diagram of a memory controller of a motion vector detection device according to a third embodiment of the present invention.

【図10】フレーム間隔が3の場合にフレーム間の振動
成分と移動成分を説明する図である。
FIG. 10 is a diagram illustrating a vibration component and a movement component between frames when the frame interval is 3.

【図11】入力画像のタイプ、動きベクトル検出の画面
構造および振動成分、移動成分検出の画面構造の組み合
わせを示す図である。
FIG. 11 is a diagram showing combinations of input image types, screen structures for detecting motion vectors, and screen structures for detecting vibration components and moving components.

【図12】入力画像のタイプがインターレースまたはノ
ンインターレースで、動きベクトルをフレーム間、振動
成分、移動成分をフレーム間で検出する場合の手振れ補
正量、探索シフト量を説明する図である。
FIG. 12 is a diagram illustrating a camera shake correction amount and a search shift amount when an input image type is interlaced or non-interlaced and a motion vector is detected between frames, and a vibration component and a moving component are detected between frames.

【図13】入力画像のタイプがインターレースで、動き
ベクトルをフレーム間、振動成分、移動成分をフィール
ド間で検出する場合の手振れ補正量、探索シフト量を説
明する図である。
FIG. 13 is a diagram illustrating a camera shake correction amount and a search shift amount when an input image type is interlaced and a motion vector is detected between frames, and a vibration component and a moving component are detected between fields.

【図14】入力画像のタイプがインターレースで、動き
ベクトルをフィールド間、振動成分、移動成分をフレー
ム間で検出する場合の手振れ補正量、探索シフト量を説
明する図である。
FIG. 14 is a diagram illustrating a camera shake correction amount and a search shift amount when an input image type is interlaced and a motion vector is detected between fields, and a vibration component and a movement component are detected between frames.

【図15】入力画像のタイプがインターレースで、動き
ベクトルをフィールド間、振動成分、移動成分をフィー
ルド間で検出する場合の手振れ補正量、探索シフト量を
説明する図である。
FIG. 15 is a diagram illustrating a camera shake correction amount and a search shift amount when an input image type is interlaced and a motion vector is detected between fields, and a vibration component and a moving component are detected between fields.

【図16】本発明の第5の実施の形態の動きベクトル検
出装置のブロック図である。
FIG. 16 is a block diagram of a motion vector detection device according to a fifth embodiment of the present invention.

【図17】従来の動画像符号化装置のブロック図であ
る。
FIG. 17 is a block diagram of a conventional video encoding device.

【図18】従来の動きベクトル検出回路における動きベ
クトル探索範囲を示す図である。
FIG. 18 is a diagram showing a motion vector search range in a conventional motion vector detection circuit.

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

1 動きベクトル検出回路 2 画面間偏位検出回路 3 メモリコントローラ 4 評価値計算回路 5 ベクトル選択回路 6 符号化画面/復号画像メモリ 6a 符号化画面メモリ 6b 復号画像メモリ 7 減算器 8 符号化器 9 局部復号器 11 動きベクトル検出回路 12 メモリコントローラ 20 メモリコントローラ 21 振動成分メモリ 22 移動成分メモリ 23 手振れ補正量/探索シフト量計算回路 24 アドレス発生回路 31 動きベクトル検出回路 32 画面間偏位検出回路 33 メモリコントローラ 41 符号化画面メモリ 42 動きベクトル検出回路 43 減算器 44 DCT回路 45 量子化回路 46 可変長符号化回路 47 逆量子化回路 48 逆DCT回路 49 復号画像メモリ 50 予測画面生成回路 DESCRIPTION OF SYMBOLS 1 Motion vector detection circuit 2 Inter-screen displacement detection circuit 3 Memory controller 4 Evaluation value calculation circuit 5 Vector selection circuit 6 Encoded screen / decoded image memory 6a Encoded screen memory 6b Decoded image memory 7 Subtractor 8 Encoder 9 Local Decoder 11 Motion vector detection circuit 12 Memory controller 20 Memory controller 21 Vibration component memory 22 Moving component memory 23 Camera shake correction amount / search shift amount calculation circuit 24 Address generation circuit 31 Motion vector detection circuit 32 Inter-screen displacement detection circuit 33 Memory controller 41 coded screen memory 42 motion vector detection circuit 43 subtractor 44 DCT circuit 45 quantization circuit 46 variable length coding circuit 47 inverse quantization circuit 48 inverse DCT circuit 49 decoded image memory 50 prediction screen generation circuit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 入力画像のうち動きベクトル検出の対象
となる符号化画面を格納する符号化画面メモリと、 前記入力画像のうち動き予測のための参照画面を格納す
る参照画面メモリとを備え、 前記符号化画面を読み出して複数のブロックに分割し、
このブロックごとに符号化画面と参照画面との相関値を
計算して動きベクトルを検出する動画像符号化装置にお
いて、 前記符号化画面メモリと参照画面メモリから入力画像を
読み出し、画面全体の動きを求めることにより、振動成
分および移動成分を検出する画面間偏位検出回路と、 手振れ補正を行うか否かの切り替えを指示する切替指示
手段と、 この切替指示手段から手振れ補正を行う指示を受けた場
合は、前記画面間偏位検出回路からの振動成分および移
動成分に基づき、前記符号化画面メモリから前記振動成
分を打ち消すように手振れ補正量だけ読み出し位置を補
正して符号化画面を読み出すとともに、前記移動成分か
ら算出される第1の探索シフト量だけ動きベクトル探索
の基点をシフトして前記参照画面群を読み出し、 前記切替指示手段から手振れ補正を行わない指示を受け
た場合は、前記画面間偏位検出回路からの振動成分およ
び移動成分に基づき、前記符号化画面メモリから読み出
し位置補正なしに符号化画面を読み出すとともに、前記
振動成分および移動成分を合成した第2の探索シフト量
だけ動きベクトル探索の基点をシフトして前記参照画面
メモリから参照画面群を読み出すように、前記符号化画
面メモリおよび前記参照画面メモリを制御して、前記動
きベクトル探索の基点のシフト量を出力するメモリコン
トローラと、 前記符号化画面メモリと参照画面メモリから入力画像を
読み出し、前記ブロックごとの各候補となる動きベクト
ルに対応して前記符号化画面と参照画面との相関値を計
算する評価値計算回路と、 この評価値計算回路の計算結果から最も相関の高い参照
画面に対応した候補ベクトルを選択し、前記メモリコン
トローラからのシフト量を加算して出力するベクトル選
択回路とを具備することを特徴とする動きベクトル検出
装置。
An encoding screen memory for storing an encoding screen to be subjected to motion vector detection in an input image, and a reference screen memory for storing a reference screen for motion prediction in the input image, Reading the encoded screen and dividing it into a plurality of blocks,
In a moving image encoding apparatus that calculates a correlation value between an encoded screen and a reference screen for each block and detects a motion vector, an input image is read from the encoded screen memory and the reference screen memory, and the motion of the entire screen is calculated. The inter-screen displacement detection circuit for detecting the vibration component and the movement component, the switching instruction unit for instructing whether or not to perform the camera shake correction, and the instruction for performing the camera shake correction are received from the switching instruction unit. In the case, based on the vibration component and the movement component from the inter-screen deviation detection circuit, while reading the encoded screen by correcting the read position by the camera shake correction amount so as to cancel the vibration component from the encoded screen memory, Reading the reference screen group by shifting the base point of the motion vector search by a first search shift amount calculated from the moving component, When receiving an instruction not to perform the camera shake correction from the instruction means, based on the vibration component and the moving component from the inter-screen deviation detection circuit, and read the encoded screen without reading position correction from the encoded screen memory, The encoded screen memory and the reference screen memory are controlled such that a reference point group is read from the reference screen memory by shifting a base point of a motion vector search by a second search shift amount obtained by combining the vibration component and the movement component. A memory controller that outputs a shift amount of a base point of the motion vector search; and reads an input image from the coded screen memory and the reference screen memory, and stores the code corresponding to each candidate motion vector for each block. Evaluation value calculation circuit that calculates the correlation value between the digitized screen and the reference screen, Seki high reference selects a candidate vector corresponding to the screen, the motion vector detecting device by adding the shift amount from the memory controller characterized by comprising a vector selection circuit for outputting.
【請求項2】 前記動画像符号化装置が、符号化された
データを復号して局部復号画像を生成する局部復号器を
備え、 動きベクトル検出の際に、前記参照画面として前記局部
復号画像を用い、前記振動成分および移動成分の検出に
は、前記符号化画面メモリに記録されている複数の入力
画像を用いることを特徴とする請求項1に記載の動きベ
クトル検出装置。
2. The video encoding apparatus according to claim 1, further comprising: a local decoder configured to decode the encoded data to generate a local decoded image. In detecting a motion vector, the moving image encoding apparatus includes the local decoded image as the reference screen. The motion vector detecting device according to claim 1, wherein a plurality of input images recorded in the encoded screen memory are used for detecting the vibration component and the moving component.
【請求項3】 前記振動成分と移動成分を複数画面分格
納するメモリを備え、 前記メモリコントローラが、振動成分と移動成分の検出
を隣接する画面ごとに行い、前記符号化画面と参照画面
が隣接していない場合には、前記手振れ補正量および前
記第1の探索シフト量と第2の探索シフト量を、それぞ
れ複数の画面間の振動成分および移動成分を用いて算出
することを特徴とする請求項1または請求項2に記載の
動きベクトル検出装置。
3. A memory for storing the vibration component and the movement component for a plurality of screens, wherein the memory controller detects the vibration component and the movement component for each adjacent screen, and the encoded screen and the reference screen are adjacent to each other. If not, the camera shake correction amount and the first search shift amount and the second search shift amount are calculated using a vibration component and a movement component between a plurality of screens, respectively. The motion vector detection device according to claim 1 or 2.
【請求項4】 前記メモリコントローラが、前記振動成
分および移動成分の検出をフィールドごとに行い、前記
ブロックごとの動きベクトル検出をフレーム間で行う場
合には、探索するフレーム動きベクトルに近い時間位置
にある1つまたは複数のフィールドごとの振動成分およ
び移動成分を用いて、第1の探索シフト量、第2の探索
シフト量を算出し、 前記振動成分および移動成分の検出をフレームごとに行
い、前記ブロックごとの動きベクトル検出をフィールド
間で行う場合には、探索するフィールド動きベクトルに
近い時間位置にある1つまたは複数のフレームごとの振
動成分および移動成分を用いて第1の探索シフト量およ
び第2の探索シフト量を算出することを特徴とする請求
項3に記載の動きベクトル検出装置。
4. When the memory controller performs the detection of the vibration component and the movement component for each field, and performs the motion vector detection for each block between frames, the memory controller may be located at a time position close to a frame motion vector to be searched. A first search shift amount and a second search shift amount are calculated using a vibration component and a movement component for each of one or a plurality of fields, and the detection of the vibration component and the movement component is performed for each frame. When the motion vector detection for each block is performed between fields, the first search shift amount and the first search shift amount are calculated using the vibration component and the movement component of one or a plurality of frames at a time position close to the field motion vector to be searched. 4. The motion vector detecting device according to claim 3, wherein a search shift amount of 2 is calculated.
【請求項5】 前記画面間偏位検出回路が、前記移動成
分の検出を行わず、前記振動成分のみを検出し、 前記メモリコントローラが、前記移動成分の値を0とし
て処理することを特徴とする請求項1ないし請求項4の
いずれか1項に記載の動きベクトル検出装置。
5. The apparatus according to claim 1, wherein the inter-screen deviation detecting circuit does not detect the moving component, detects only the vibration component, and processes the memory controller assuming that the value of the moving component is zero. The motion vector detecting device according to any one of claims 1 to 4, wherein
JP20386796A 1996-08-01 1996-08-01 Motion vector detector Pending JPH1051787A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20386796A JPH1051787A (en) 1996-08-01 1996-08-01 Motion vector detector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20386796A JPH1051787A (en) 1996-08-01 1996-08-01 Motion vector detector

Publications (1)

Publication Number Publication Date
JPH1051787A true JPH1051787A (en) 1998-02-20

Family

ID=16481027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20386796A Pending JPH1051787A (en) 1996-08-01 1996-08-01 Motion vector detector

Country Status (1)

Country Link
JP (1) JPH1051787A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002544723A (en) * 1999-05-07 2002-12-24 シーメンス アクチエンゲゼルシヤフト Method and apparatus for computer assisted motion compensation of digitized images and computer program product and computer readable storage medium
JP2004048390A (en) * 2002-07-11 2004-02-12 Matsushita Electric Ind Co Ltd Moving image encoding device and method
JP2005210647A (en) * 2004-01-26 2005-08-04 Matsushita Electric Ind Co Ltd Motion vector detecting apparatus and motion picture taking apparatus
JP2005228303A (en) * 2004-01-14 2005-08-25 Matsushita Electric Ind Co Ltd Motion vector detecting device
JP2006211192A (en) * 2005-01-27 2006-08-10 Matsushita Electric Ind Co Ltd Moving picture compression apparatus and moving picture compression processing method
JP2007036743A (en) * 2005-07-27 2007-02-08 Matsushita Electric Works Ltd Method of synthesizing multiple images and imaging apparatus
JP2007036741A (en) * 2005-07-27 2007-02-08 Matsushita Electric Works Ltd Method and apparatus for synthesizing multiple images
JP2007267232A (en) * 2006-03-29 2007-10-11 Fujifilm Corp Electronic camera shake correction method and apparatus thereof, and imaging apparatus
JP2008507899A (en) * 2004-07-21 2008-03-13 ゾラン コーポレイション Processing video data to correct unintentional camera movement between acquired image frames

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002544723A (en) * 1999-05-07 2002-12-24 シーメンス アクチエンゲゼルシヤフト Method and apparatus for computer assisted motion compensation of digitized images and computer program product and computer readable storage medium
JP4796696B2 (en) * 1999-05-07 2011-10-19 プレゼント インヴェストメンツ エルエルシー Method and apparatus for computer-aided motion compensation of digitized images and computer-readable recording medium
JP2004048390A (en) * 2002-07-11 2004-02-12 Matsushita Electric Ind Co Ltd Moving image encoding device and method
JP2005228303A (en) * 2004-01-14 2005-08-25 Matsushita Electric Ind Co Ltd Motion vector detecting device
JP4671696B2 (en) * 2004-01-14 2011-04-20 パナソニック株式会社 Motion vector detection device
JP2005210647A (en) * 2004-01-26 2005-08-04 Matsushita Electric Ind Co Ltd Motion vector detecting apparatus and motion picture taking apparatus
JP4511842B2 (en) * 2004-01-26 2010-07-28 パナソニック株式会社 Motion vector detecting device and moving image photographing device
US8289401B2 (en) 2004-07-21 2012-10-16 Csr Technology Inc. Processing of video data to compensate for unintended camera motion between acquired image frames
JP2008507899A (en) * 2004-07-21 2008-03-13 ゾラン コーポレイション Processing video data to correct unintentional camera movement between acquired image frames
JP4507896B2 (en) * 2005-01-27 2010-07-21 パナソニック株式会社 Moving picture compression apparatus and moving picture compression processing method
JP2006211192A (en) * 2005-01-27 2006-08-10 Matsushita Electric Ind Co Ltd Moving picture compression apparatus and moving picture compression processing method
JP4654817B2 (en) * 2005-07-27 2011-03-23 パナソニック電工株式会社 Multiple image composition method and multiple image composition device
JP2007036741A (en) * 2005-07-27 2007-02-08 Matsushita Electric Works Ltd Method and apparatus for synthesizing multiple images
JP2007036743A (en) * 2005-07-27 2007-02-08 Matsushita Electric Works Ltd Method of synthesizing multiple images and imaging apparatus
JP2007267232A (en) * 2006-03-29 2007-10-11 Fujifilm Corp Electronic camera shake correction method and apparatus thereof, and imaging apparatus

Similar Documents

Publication Publication Date Title
KR100467375B1 (en) Image signal processing apparatus and recording / reproducing apparatus
KR100941285B1 (en) Image processing device and computer readable medium
JPH1051787A (en) Motion vector detector
JP2755851B2 (en) Moving picture coding apparatus and moving picture coding method
JP2006203597A (en) Digital image decoder and decoding method
JPH11308617A (en) Digital image coder and motion vector detector used therefor
JPH0832969A (en) Motion vector detector
JPH09130748A (en) Image signal processing unit and recording/reproducing device
JP2947103B2 (en) Moving picture coding apparatus and moving picture coding method
JP2002094987A (en) Video signal encoder
JPH06261309A (en) Moving vector detection
JPH09261530A (en) Video recorder
JPH1013836A (en) Motion vector detector
JP2883592B2 (en) Moving picture decoding apparatus and moving picture decoding method
JPH07184206A (en) Picture coder
JP2883585B2 (en) Moving picture coding apparatus and moving picture coding method
JPH0795590A (en) Method and device for processing video signal and image pickup device
JP3031638B2 (en) A vector search method for an interpolated frame in a video coding system for storage
JP2925046B2 (en) Motion compensation prediction method for moving images
JP2758378B2 (en) Moving picture decoding apparatus and moving picture decoding method
JPH0984017A (en) Motion compensation prediction coding method for moving image
JP2001275103A (en) Supervisory system and its motion detection method
JPH06105299A (en) Dynamic image compressor
JP3004799B2 (en) Image coding method and apparatus
JPH0715654A (en) Still picture synthesis method