JP2000059786A - Device and method for detecting motion - Google Patents

Device and method for detecting motion

Info

Publication number
JP2000059786A
JP2000059786A JP22339898A JP22339898A JP2000059786A JP 2000059786 A JP2000059786 A JP 2000059786A JP 22339898 A JP22339898 A JP 22339898A JP 22339898 A JP22339898 A JP 22339898A JP 2000059786 A JP2000059786 A JP 2000059786A
Authority
JP
Japan
Prior art keywords
motion
motion vector
vector
macroblock
image
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.)
Withdrawn
Application number
JP22339898A
Other languages
Japanese (ja)
Inventor
Hiroyuki Yasuda
弘幸 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP22339898A priority Critical patent/JP2000059786A/en
Priority to EP19990113869 priority patent/EP0973336A2/en
Priority to KR1019990028615A priority patent/KR20000011728A/en
Publication of JP2000059786A publication Critical patent/JP2000059786A/en
Priority to US09/910,065 priority patent/US20020015513A1/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To detect a motion vector of an image for which the motion about the image as a whole is large by detecting a motion vector about plural macroblocks, calculating a motion vector regarding the image as a whole by using the motion vector and calculating a motion vector about each macroblock by using the motion vector regarding the image as a whole. SOLUTION: A global vector detecting part 5 extracts plural macroblocks from the image data of inputted on frame and detects a motion vector about each extracted macroblock. Furthermore, the part 5 calculates an evaluation function using these motion vectors and generates a global vector. Meanwhile, image data is inputted to a motion detecting part 3 from a frame buffer 2 for each macroblock and the part 3 performs pattern matching about each macroblock by using the global vector, detects a motion vector MV regarding each macroblock, and outputs it.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、動画像を示す画像
データをMPEG(Moving Picture Experts Group)方
式で符号化するときになされる動き検出処理を行う動き
検出装置及び方法に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a motion detecting apparatus and method for performing a motion detecting process performed when encoding image data representing a moving image by MPEG (Moving Picture Experts Group).

【0002】[0002]

【従来の技術】従来の動画像を示す画像データを符号化
する動画像符号化装置としては、動き補償フレーム間予
測とDCT(Discrete Cosine Transform:離散コサイ
ン変換)とを組み合わせたハイブリッド符号化を8×8
画素からなるマクロブロック単位で行うものがある。
2. Description of the Related Art As a conventional moving picture coding apparatus for coding image data representing a moving picture, a hybrid coding which combines motion compensated inter-frame prediction and DCT (Discrete Cosine Transform) has been proposed. × 8
In some cases, this is performed in units of macroblocks composed of pixels.

【0003】この動画像符号化装置は、フレーム間で動
きベクトルを検出し、当該検出された動きベクトルを用
いて動き補償をすることで、符号化するときの符号量の
低減を図っている。
[0003] This moving picture coding apparatus detects a motion vector between frames, and performs motion compensation using the detected motion vector, thereby reducing the amount of code at the time of coding.

【0004】このような従来の動画像符号化装置で動き
検出を行う手法としては様々な手法が存在するが、動き
検出を行うときの起点は、フレーム間で対応する位置に
存在するマクロブロック同士を比較することが多い。そ
して、マクロブロック同士を比較するときには、一般的
に画像がどちらの方向に動いているのかが不明であるの
で、フレーム間で対応する位置を中心として所定の範囲
内に存在するマクロブロック同士を検索することにより
輝度値の差分が小さいマクロブロックを特定する。
There are various methods for performing motion detection in such a conventional moving picture coding apparatus. The starting point for performing motion detection is that macroblocks existing at corresponding positions between frames are used. Often compared. When comparing macroblocks, it is generally unclear in which direction the image is moving. Therefore, macroblocks within a predetermined range are searched around the corresponding position between frames. By doing so, a macroblock having a small difference in luminance value is specified.

【0005】また、動画像を撮像するカメラ装置が所定
の位置に固定されており、被写体が動いている場合に
は、被写体がいづれの方向に動いているかは画像全体で
の位置により様々であるので、起点を中心として広範囲
に四方八方に位置するマクロブロックについて検索を行
うことが多い。ここで、被写体の動きが大きい場合に
は、検索する範囲を外れることがあるが、その時はイン
ターマクロブロックからイントラマクロブロックとして
符号化の処理を行うことで対処する。なお、インターマ
クロブロックからイントラマクロブロックに切り換えて
符号化の処理を行うのは、被写体の動きが大きくて検索
範囲外になることが多くないという前提がある。
In addition, when a camera device for capturing a moving image is fixed at a predetermined position and the subject is moving, the direction in which the subject moves varies depending on the position of the entire image. Therefore, a search is often performed for macroblocks located in a wide range in all directions around the starting point. Here, when the movement of the subject is large, the search range may be out of the range. In such a case, it is dealt with by performing the encoding process from the inter macro block to the intra macro block. Switching from an inter macroblock to an intra macroblock and performing the encoding process is based on the premise that the motion of the subject is large and often does not fall outside the search range.

【0006】更に、従来の動画像符号化装置において
は、動き検出を行うときの演算量を低減するために階層
サーチと称される手法が提案されている。この手法は、
複数のマクロブロックから1つの動きベクトルを検出す
るように動き検出を行い、マクロブロック毎の動きベク
トルを求めるときには以前に検出した複数のマクロブロ
ックについての動きベクトルを用いるという手法であ
る。
Further, in a conventional moving picture coding apparatus, a technique called a hierarchical search has been proposed in order to reduce the amount of calculation when performing motion detection. This technique is
In this method, motion detection is performed so as to detect one motion vector from a plurality of macroblocks, and when obtaining a motion vector for each macroblock, a motion vector for a plurality of previously detected macroblocks is used.

【0007】[0007]

【発明が解決しようとする課題】しかし、上述の動画像
符号化装置は、所定の範囲でマクロブロックを検索する
ことにより差分の小さいマクロブロックを検出して動き
ベクトルを検出しており、被写体の動きが大きいものに
対応しようとすると検索範囲を広くする必要があり、動
き検出に要する処理時間が指数関数的に増加してしま
う。
However, the moving picture coding apparatus described above detects a macroblock having a small difference by searching for a macroblock in a predetermined range, thereby detecting a motion vector. In order to cope with a large motion, it is necessary to widen the search range, and the processing time required for motion detection exponentially increases.

【0008】また、上述の動画像符号化装置において、
被写体の動きが大きい場合にはインターマクロブロック
からイントラマクロブロックに切り換えて符号化の処理
を行うものについては、撮像した画像の動きが上記検索
範囲外の動きであるときには全てのマクロブロックをイ
ントラマクロブロックとして処理すると、演算量が増大
し、更には装置自体の負荷が増大してしまう。このこと
は、例えばパンニング等の手法を用いて被写体を撮像し
たときに画像全体が所定の方向に動いており、検索範囲
を超えるような場合に生ずる。
[0008] In the above moving picture coding apparatus,
If the motion of the subject is large and the coding process is performed by switching from the inter macro block to the intra macro block, if the motion of the captured image is a motion outside the search range, all macro blocks are changed to the intra macro block. Processing as a block increases the amount of computation and further increases the load on the device itself. This occurs, for example, when the entire image moves in a predetermined direction when the subject is imaged using a technique such as panning, and exceeds the search range.

【0009】更に、複数のマクロブロックについて動き
ベクトルを求め、各マクロブロックについて動きベクト
ルを求める手法を行う動画像符号化装置において、画面
から外れるような大きな動きを有するときには動きベク
トルを検出することができず、複数のマクロブロックに
ついての動きベクトルを求めるのは困難である。
Further, in a moving picture coding apparatus which obtains a motion vector for a plurality of macroblocks and obtains a motion vector for each macroblock, it is possible to detect a motion vector when there is a large motion outside the screen. It is not possible to obtain motion vectors for a plurality of macroblocks.

【0010】そこで、本発明は、上述したような実情に
鑑みて提案されたものであり、画面全体についての動き
が大きな画像の動きベクトルを検出することができる動
き検出装置及び方法を提供することを目的とする。
Accordingly, the present invention has been proposed in view of the above-described circumstances, and provides a motion detecting apparatus and method capable of detecting a motion vector of an image having a large motion on the entire screen. With the goal.

【0011】[0011]

【課題を解決するための手段】上述の課題を解決する本
発明に係る動き検出装置は、画像から複数のマクロブロ
ックを抽出する抽出手段と、上記抽出手段で抽出した複
数のマクロブロックについての動きベクトルを検出する
第1の動き検出手段と、上記第1の動き検出手段で検出
した各マクロブロックについての動きベクトルを用いて
画像全体についての動きベクトルを算出する動き算出手
段と、上記動き算出手段で算出された動きベクトルを用
いて各マクロブロックについての動きベクトルを算出す
る第2の動き検出手段とを備えることを特徴とするもの
である。
A motion detecting apparatus according to the present invention for solving the above-mentioned problems comprises an extracting means for extracting a plurality of macroblocks from an image, and a motion for the plurality of macroblocks extracted by the extracting means. First motion detecting means for detecting a vector, motion calculating means for calculating a motion vector for the entire image using a motion vector for each macroblock detected by the first motion detecting means, and motion calculating means And a second motion estimator for calculating a motion vector for each macroblock using the motion vector calculated in (1).

【0012】このように構成された動き検出装置は、画
像から抽出した複数のマクロブロック全体についての動
きベクトルについての動きベクトルを用いて各マクロブ
ロックについての動きベクトルを検出する。
[0012] The motion detection apparatus thus configured detects a motion vector for each macroblock using a motion vector for a plurality of macroblocks extracted from an image.

【0013】また、本発明に係る動き検出方法は、画像
から複数のマクロブロックを抽出し、上記抽出した複数
のマクロブロックについての動きベクトルを検出し、上
記各マクロブロックについての動きベクトルを用いて画
像全体についての動きベクトルを算出し、算出された画
像全体についての動きベクトルを用いて各マクロブロッ
クの動きベクトルを算出することを特徴とするものであ
る。
Further, in the motion detection method according to the present invention, a plurality of macroblocks are extracted from an image, motion vectors of the extracted plurality of macroblocks are detected, and a motion vector of each of the macroblocks is used. A motion vector for the entire image is calculated, and a motion vector of each macroblock is calculated using the calculated motion vector for the entire image.

【0014】このような動き検出方法は、画像から抽出
した複数のマクロブロック全体についての動きベクトル
を用いて各マクロブロックについての動きベクトルを検
出する。
In such a motion detection method, a motion vector for each macroblock is detected using motion vectors for a plurality of macroblocks extracted from an image.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0016】本発明を適用した画像符号化装置1は、例
えば図1に示すように構成される。すなわち、この画像
符号化装置1は、画像データが入力されるフレームバッ
ファ2と、フレームバッファ2に記憶された画像データ
の動き成分を検出する動き検出部3と、動き残差情報A
Dを生成する残差情報生成部4と、画像全体における動
きベクトルを検出するグローバルベクトル検出部5と、
符号化を行うときのパラメータ等を各部に出力する制御
部6とを備える。
An image coding apparatus 1 to which the present invention is applied is configured, for example, as shown in FIG. That is, the image encoding apparatus 1 includes a frame buffer 2 to which image data is input, a motion detection unit 3 that detects a motion component of the image data stored in the frame buffer 2, and a motion residual information A
D, a residual information generating unit 4 for generating D, a global vector detecting unit 5 for detecting a motion vector in the entire image,
A control unit 6 that outputs parameters and the like for performing encoding to each unit.

【0017】フレームバッファ2は、外部から画像デー
タが入力され、フレーム毎に画像データを記憶する。こ
のフレームバッファ2は、所定のタイミングで画像デー
タを出力するように制御され、動き検出部3、残差情報
生成部4、グローバルベクトル検出部5及び演算器7に
画像データを出力する。
The frame buffer 2 receives image data from the outside and stores the image data for each frame. The frame buffer 2 is controlled to output image data at a predetermined timing, and outputs the image data to the motion detection unit 3, the residual information generation unit 4, the global vector detection unit 5, and the arithmetic unit 7.

【0018】グローバルベクトル検出部5は、フレーム
バッファ2からの画像データにサンプリング処理を施す
ことで、複数のマクロブロックをサンプリングし、サン
プリングしたマクロブロック全体についての動きベクト
ルを検出する。すなわち、このグローバルベクトル検出
部5は、複数のマクロブロック全体についての動きベク
トルを求めることで、画面全体についての動きベクトル
(グローバルベクトル)を求め、当該グローバルベクト
ルを動き検出部3に出力する。
The global vector detector 5 samples a plurality of macroblocks by performing sampling processing on the image data from the frame buffer 2, and detects a motion vector for the entire sampled macroblock. That is, the global vector detection unit 5 obtains a motion vector (global vector) for the entire screen by obtaining a motion vector for a plurality of entire macroblocks, and outputs the global vector to the motion detection unit 3.

【0019】具体的には、グローバルベクトル検出部5
は、図2に示すように例えば一画面のうち、異なる位置
に位置した複数のマクロブロックを抽出して、抽出した
マクロブロック全体での一つの動きベクトルを検出す
る。このとき、グローバルベクトル検出部5は、抽出し
た各マクロブロックについての動きベクトルを評価関数
に適用することで、上記グローバルベクトルを求める。
このグローバルベクトル検出部5は、評価関数として例
えば抽出した各マクロブロックについての動きベクトル
の平均を取るという関数式を用いることにより、グロー
バルベクトルを求める。
Specifically, the global vector detector 5
Extracts, for example, a plurality of macroblocks located at different positions in one screen as shown in FIG. 2, and detects one motion vector in the entire extracted macroblocks. At this time, the global vector detection unit 5 obtains the global vector by applying the extracted motion vector for each macroblock to the evaluation function.
The global vector detection unit 5 obtains a global vector by using, as an evaluation function, a function formula of, for example, taking an average of motion vectors for each extracted macroblock.

【0020】更に、グローバルベクトル検出部5は、複
数の隣接するマクロブロックを複数個抽出してグローバ
ルベクトルを求めても良い。すなわち、このグローバル
ベクトル検出部5は、8×8画素からなるマクロブロッ
ク毎に抽出してグローバルベクトルを求める場合のみな
らず、例えば16×16画素からなる小領域の画像を抽
出してグローバルベクトルを求めても良い。
Further, the global vector detecting section 5 may extract a plurality of adjacent macro blocks to obtain a global vector. That is, the global vector detecting unit 5 extracts not only a macroblock consisting of 8 × 8 pixels to obtain a global vector but also extracts an image of a small area consisting of 16 × 16 pixels and You may ask.

【0021】更にまた、このグローバルベクトル検出部
5は、図3に示すように一画面を縦方向に分割してなる
各領域A,B,Cのうち、各領域についてグローバルベ
クトルを求めても良い。これにより、グローバルベクト
ル検出部5は、例えば領域Aには遠距離撮影をした山を
示す画像であり、領域Cには近距離撮影をした花を示す
画像についてパンニングして撮像した場合等、一画面で
動きが異なる画像であっても、各領域毎にグローバルベ
クトルを求めることができる。なお、一画面を分割して
なる各領域は、互いにオーバラップしていても良い。
Further, the global vector detecting section 5 may obtain a global vector for each of the regions A, B and C obtained by dividing one screen in the vertical direction as shown in FIG. . Accordingly, the global vector detection unit 5 may perform, for example, a case in which the region A is an image showing a mountain photographed at a long distance, and the region C is an image showing a flower photographed in a short distance. A global vector can be obtained for each region even if the image has different motions on the screen. Note that the areas obtained by dividing one screen may overlap each other.

【0022】動き検出部3は、フレームバッファ2に格
納された画像データのうち、8×8画素からなるマクロ
ブロック単位で動きベクトルMVを検出する。この動き
検出部3は、例えば参照フレームを構成するマクロブロ
ックとフレームバッファ2から読み込んだマクロブロッ
クとのパターンマッチングを行うことで、動きベクトル
MVを検出し、検出した動きベクトルMVを残差情報生
成部4及び制御部6に出力する。このとき、動き検出部
3は、グローバルベクトル検出部5からのグローバルベ
クトルを用いて動きベクトルMVの生成を行う。すなわ
ち、この動き検出部3は、各マクロブロックについての
動きベクトルMVを所定の検索範囲でパターンマッチン
グを行うときに、グローバルベクトルをオフセットとし
て検索範囲を変化させて動きベクトルMVを求める。動
き検出部3は、グローバルベクトルに応じて検索範囲の
中心位置を変化させてパターンマッチングを行う。
The motion detecting section 3 detects a motion vector MV in units of macroblocks of 8 × 8 pixels in the image data stored in the frame buffer 2. The motion detection unit 3 detects a motion vector MV by performing pattern matching between a macroblock constituting a reference frame and a macroblock read from the frame buffer 2, for example, and generates the detected motion vector MV as residual information. Output to the unit 4 and the control unit 6. At this time, the motion detection unit 3 generates a motion vector MV using the global vector from the global vector detection unit 5. That is, when performing the pattern matching of the motion vector MV for each macroblock in a predetermined search range, the motion detection unit 3 obtains the motion vector MV by changing the search range using the global vector as an offset. The motion detection unit 3 performs pattern matching by changing the center position of the search range according to the global vector.

【0023】残差情報生成部4は、動き検出部3からの
動きベクトルMVが入力されるとともに、フレームバッ
ファ2からマクロブロック単位で画像データが入力され
る。この残差情報生成部4は、入力された動きベクトル
MV及び画像データを用いて動き成分の差分の絶対値の
和を動き残差情報ADとして生成し、当該動き残差情報
ADを制御部6に出力する。
The residual information generator 4 receives the motion vector MV from the motion detector 3 and the image data from the frame buffer 2 in macroblock units. The residual information generation unit 4 generates the sum of absolute values of the differences between the motion components as the motion residual information AD using the input motion vector MV and the image data, and outputs the motion residual information AD to the control unit 6. Output to

【0024】制御部6は、動き検出部3からの動きベク
トルMVと残差情報生成部4からの動き残差情報ADと
を用いて符号化処理をするときのマクロブロックタイプ
を決定する。この制御部6は、例えばピクチャタイプに
応じてマクロブロック毎にインターマクロブロックか、
イントラマクロブロックかを判断する。ここで、インタ
ーマクロブロックとは上記動き残差情報ADを用いて符
号化されるマクロブックであり、イントラマクロブロッ
クとは動き成分を用いないで輝度のばらつきを示す平均
値分離残差を用いて符号化されるマクロブロックであ
る。
The control unit 6 determines a macroblock type when performing an encoding process using the motion vector MV from the motion detection unit 3 and the motion residual information AD from the residual information generation unit 4. The control unit 6 determines whether each macroblock is an inter macroblock according to a picture type,
It is determined whether the block is an intra macro block. Here, the inter macroblock is a macrobook encoded using the above-described motion residual information AD, and the intra macroblock is formed by using an average value separation residual indicating variation in luminance without using a motion component. This is the macroblock to be encoded.

【0025】そして、この制御部6は、決定したマクロ
ブロックタイプに応じてスイッチ17,18の開閉動作
を制御する制御情報を生成する。更に、この制御部6
は、動き検出部3からの動きベクトルMVを動き補償部
16に出力する。
The control section 6 generates control information for controlling the opening and closing operations of the switches 17 and 18 according to the determined macro block type. Further, the control unit 6
Outputs the motion vector MV from the motion detecting unit 3 to the motion compensating unit 16.

【0026】また、この画像符号化装置1は、フレーム
バッファ2から画像信号が入力される演算器7と、画像
データにDCT(Discrete Cosine Transform:離散コ
サイン変換)処理を施すDCT処理部8と、DCT処理
部8からのDCT係数に量子化処理を施す量子化処理部
9と、量子化処理部9からのDCT係数に可変長圧縮処
理を施す可変長符号化部10と、上記DCT処理部8、
符号化処理が施された画像データを記憶するバッファ1
1とを備える。
The image encoding apparatus 1 further includes an arithmetic unit 7 to which an image signal is input from the frame buffer 2, a DCT processing unit 8 for performing DCT (Discrete Cosine Transform) processing on the image data, A quantization processing unit 9 for performing a quantization process on the DCT coefficient from the DCT processing unit 8; a variable length encoding unit 10 for performing a variable length compression process on the DCT coefficient from the quantization processing unit 9; ,
Buffer 1 for storing the encoded image data
1 is provided.

【0027】DCT処理部8は、演算器7から入力され
たマクロブロック毎の画像データに8×8画素の2次元
DCTを施し、得られたDCT係数を出力する。このD
CT処理部8は、DCT係数を量子化処理部9に出力す
る。
The DCT processing unit 8 performs a two-dimensional DCT of 8 × 8 pixels on the image data of each macroblock input from the arithmetic unit 7 and outputs the obtained DCT coefficients. This D
The CT processing unit 8 outputs the DCT coefficients to the quantization processing unit 9.

【0028】量子化処理部9は、DCT処理部8からの
DCT係数についてマクロブロック毎に変化される量子
化スケールで量子化処理を施す。この量子化処理部9
は、量子化処理を施したDCT係数を可変長符号化部1
0及び逆量子化処理部12に出力する。また、この量子
化処理部9は、量子化処理をするとともに、入力された
DCT係数のCBP(Coded Block Pattern)を生成し
ても良い。この量子化処理部9は、CBPを生成する
と、当該CBPを示す情報を可変長符号化部10に出力
する。
The quantization processing unit 9 performs a quantization process on the DCT coefficient from the DCT processing unit 8 at a quantization scale changed for each macroblock. This quantization processing unit 9
Is the variable-length encoding unit 1
0 and output to the inverse quantization processing unit 12. Further, the quantization processing unit 9 may perform a quantization process and generate a CBP (Coded Block Pattern) of the input DCT coefficient. When generating the CBP, the quantization processing unit 9 outputs information indicating the CBP to the variable length coding unit 10.

【0029】可変長符号化部10は、量子化処理部9か
らのDCT係数、スキップ制御部10からのスキップ制
御信号及び制御部6からの動きベクトルMVが入力さ
れ、これらの情報を用いて符号化処理を行う。この可変
長符号化部10は、MPEGのシンタクスに基づいて可
変長符号化し、ヘッダ処理、コード生成等を行うことで
画像データを生成し、符号化して得た画像データをバッ
ファ11に出力する。
The variable-length coding unit 10 receives the DCT coefficient from the quantization processing unit 9, the skip control signal from the skip control unit 10, and the motion vector MV from the control unit 6, and uses these information to perform coding. Perform the conversion process. The variable-length encoding unit 10 performs variable-length encoding based on the syntax of MPEG, performs header processing, code generation, and the like, generates image data, and outputs the encoded image data to the buffer 11.

【0030】バッファ11は、可変長符号化部10から
の画像データを記憶し、タイミングが制御されてビット
ストリームとして出力させる。
The buffer 11 stores the image data from the variable length coding unit 10, and outputs the bit data with the timing controlled.

【0031】更に、この画像符号化装置1は、量子化処
理部9からのDCT係数に逆量子化処理を施す逆量子化
処理部12と、逆量子化処理部からのDCT係数に逆D
CT処理を施す逆DCT処理部13と、逆DCT処理部
13からの画像データが入力される演算器14と、画像
データを記憶するバッファ15と、バッファ15に記憶
された画像データに動き補償処理を施す動き補償部16
とを備える。
The image encoding apparatus 1 further includes an inverse quantization processing unit 12 for performing an inverse quantization process on the DCT coefficient from the quantization processing unit 9 and an inverse DT for the DCT coefficient from the inverse quantization processing unit.
An inverse DCT processing unit 13 for performing a CT process, a computing unit 14 to which the image data from the inverse DCT processing unit 13 is input, a buffer 15 for storing the image data, and a motion compensation process for the image data stored in the buffer 15 Motion compensator 16 for applying
And

【0032】逆量子化処理部12は、量子化処理部9か
らのDCT係数に逆量子化処理を施す。この逆量子化処
理部12は、量子化処理部9で量子化処理をしたときの
量子化スケールを用いて逆量子化処理を行い、DCT係
数を逆DCT処理部13に出力する。
The inverse quantization processing unit 12 performs an inverse quantization process on the DCT coefficient from the quantization processing unit 9. The inverse quantization processing unit 12 performs an inverse quantization process using the quantization scale obtained when the quantization processing unit 9 performs the quantization process, and outputs DCT coefficients to the inverse DCT processing unit 13.

【0033】逆DCT処理部13は、逆量子化処理部1
2からのDCT係数に逆DCT処理を施し、演算器14
に出力する。演算器14は、逆DCT処理部13で逆D
CT処理が施された画像データが入力されるとともに、
動き補償がなされた画像データがスイッチ17を介して
入力され、当該動き補償がなされた画像データと逆DC
T処理部13からの画像データを加算処理してバッファ
15に出力する。
The inverse DCT processing unit 13 includes the inverse quantization processing unit 1
2 is subjected to inverse DCT processing to the DCT coefficient from
Output to The arithmetic unit 14 performs the inverse DT processing in the inverse DCT processing unit 13.
Image data subjected to CT processing is input, and
The motion-compensated image data is input via the switch 17, and the motion-compensated image data and the inverse DC
The image data from the T processing unit 13 is added and output to the buffer 15.

【0034】バッファ15は、演算器14からの画像デ
ータが入力され、当該入力された画像データを記憶す
る。そして、このバッファ15は、記憶した画像データ
が動き補償部16により動き補償をするときの予測画像
データが読み出される。
The buffer 15 receives image data from the computing unit 14 and stores the input image data. The buffer 15 reads out predicted image data when the stored image data is subjected to motion compensation by the motion compensation unit 16.

【0035】動き補償部16は、動きベクトルMVに基
づいてバッファ15からマクロブロック毎の予測画像デ
ータを読み出す。そして、この動き補償部16では、制
御部6からの動きベクトルMVと予測画像データのマク
ロブロック毎の差分の絶対値和を計算する。
The motion compensator 16 reads predicted image data for each macroblock from the buffer 15 based on the motion vector MV. The motion compensator 16 calculates the sum of absolute values of the difference between the motion vector MV from the controller 6 and the predicted image data for each macroblock.

【0036】このような画像符号化装置1でI(Intra)-P
ictureを生成するときには、フレームバッファ2に格納
された画像データをマクロブロック毎に演算器7を介し
てDCT処理部8、量子化処理部9でDCT処理及び量
子化処理を行い、可変長符号化部10で符号化をしてバ
ッファ11を介してビットストリームとして生成する。
ここで、量子化処理部9及び可変長符号化部10で上述
の処理がなされた信号は、逆量子化処理部12及び逆D
CT処理部13で再び画像データとなされ一旦バッファ
15に格納される。
In such an image encoding apparatus 1, I (Intra) -P
When generating an image, the image data stored in the frame buffer 2 is subjected to DCT processing and quantization processing by a DCT processing unit 8 and a quantization processing unit 9 via an arithmetic unit 7 for each macroblock, and is subjected to variable length coding. The data is encoded by the unit 10 and generated as a bit stream via the buffer 11.
Here, the signals that have been subjected to the above-described processing in the quantization processing unit 9 and the variable-length coding unit 10 are output to the inverse quantization processing unit 12 and the inverse D
The image data is formed again by the CT processing unit 13 and temporarily stored in the buffer 15.

【0037】また、画像符号化装置1でP(Predictive)-
Pictureを生成するときには、フレームバッファ2に格
納された画像データの動き成分を検出することで動き検
出部3で動きベクトルMVを生成するとともに、残差情
報生成部4で動き残差情報ADを生成する。そして、動
きベクトルMVが制御部6を介して動き補償部16に入
力され、動き補償部16は、上述のI-Pictureを生成す
るときにバッファ15に格納された画像データについて
動き補償処置をすることにより予測画像データを生成す
る。このとき、動き補償部16で動き補償を行うときに
はマクロブロック単位でなされ、制御部6からのスイッ
チ制御信号により、スイッチ18が閉状態となされ、ス
イッチ17が開状態となされる。そして、動き補償部1
6から出力された予測画像データは、スイッチ18を介
して演算器7でフレームバッファ2に格納された画像デ
ータと減算処理がなされて、DCT処理部8及び量子化
処理部9で上述と同様の処理がなされ、可変長符号化部
10で符号化されてバッファ11からビットストリーム
として出力される。
In the image encoding device 1, P (Predictive)-
When a Picture is generated, a motion component MV is generated by a motion detection unit 3 by detecting a motion component of image data stored in a frame buffer 2, and a motion residual information AD is generated by a residual information generation unit 4. I do. Then, the motion vector MV is input to the motion compensation unit 16 via the control unit 6, and the motion compensation unit 16 performs a motion compensation process on the image data stored in the buffer 15 when generating the above-described I-Picture. Thus, predicted image data is generated. At this time, when motion compensation is performed by the motion compensator 16, the motion compensation is performed in macroblock units, and the switch 18 is closed and the switch 17 is opened by a switch control signal from the controller 6. Then, the motion compensation unit 1
The prediction image data output from 6 is subjected to a subtraction process with the image data stored in the frame buffer 2 by the arithmetic unit 7 via the switch 18, and the DCT processing unit 8 and the quantization processing unit 9 perform the same processing as described above. The data is processed, encoded by the variable-length encoding unit 10, and output from the buffer 11 as a bit stream.

【0038】更に、画像符号化装置1でB(Bidirectiona
lly predictive)-Pictureを生成するときには、符号化
処理を行う前のバッファ15に格納されたフレームの画
像データ及び先のフレームの画像データを用いて動き補
償部16でフレーム間における双方向の動き補償を行い
予測画像データを生成する。そして、この予測画像デー
タは、演算器7でフレームバッファ2に格納された画像
データと減算処理がなされて、DCT処理部8及び量子
化処理部9で上述と同様の処理がなされ、可変長符号化
部10で符号化されてバッファ11からビットストリー
ムとして出力される。
Further, in the image encoding device 1, B (Bidirectiona
When generating (lly predictive) -Picture, the motion compensation unit 16 uses the image data of the frame stored in the buffer 15 before the encoding process and the image data of the previous frame to perform bidirectional motion compensation between frames. To generate predicted image data. Then, the predicted image data is subjected to a subtraction process from the image data stored in the frame buffer 2 by the arithmetic unit 7, and the same processing as described above is performed by the DCT processing unit 8 and the quantization processing unit 9 to obtain a variable length code. The data is encoded by the encoding unit 10 and output from the buffer 11 as a bit stream.

【0039】次に、上述した画像符号化装置1で動きベ
クトルMVを検出するときの一例について図4に示すフ
ローチャートを用いて説明する。
Next, an example of detecting the motion vector MV by the above-described image encoding apparatus 1 will be described with reference to the flowchart shown in FIG.

【0040】このフローチャートによれば、先ず、ステ
ップS1において、フレームバッファ2に1フレームの
画像データが入力される。なお、この図4に示した処理
の説明においては、後述のステップS2〜ステップS4
までがグローバルベクトルを検出するための処理であ
り、ステップS5が動き検出部3で各マクロブロックに
ついての動きベクトルMVを生成するための処理を示し
ている。
According to this flowchart, first, in step S1, one frame of image data is input to the frame buffer 2. Note that, in the description of the processing shown in FIG.
Up to this is the processing for detecting the global vector, and step S5 shows the processing for generating the motion vector MV for each macroblock in the motion detection unit 3.

【0041】ステップS2において、グローバルベクト
ル検出部5は、フレームバッファ2に記憶された画像デ
ータが1フレーム単位で入力され、入力した1フレーム
の画像データから複数のマクロブロックを例えば上述の
図2を用いて説明したように抽出する。また、このステ
ップS2においては、上述の図3に示すように、一画面
を複数の領域に分割して各領域毎に複数のマクロブロッ
クを抽出しても良い。
In step S2, the global vector detection unit 5 receives the image data stored in the frame buffer 2 in units of one frame, and extracts a plurality of macroblocks from the input image data of one frame, for example, as shown in FIG. Extract as described above. Further, in this step S2, as shown in FIG. 3 described above, one screen may be divided into a plurality of regions and a plurality of macroblocks may be extracted for each region.

【0042】ステップS3において、グローバルベクト
ル検出部5は、上述のステップS2において抽出した各
マクロブロックについての動きベクトルを検出する。
In step S3, the global vector detector 5 detects a motion vector for each macro block extracted in step S2.

【0043】ステップS4において、グローバルベクト
ル検出部5は、上述のステップS3において求めた各マ
クロブロックについての動きベクトルを用いて評価関数
を演算しグローバルベクトルを生成する。ここで、グロ
ーバルベクトル検出部5は、例えば上述のように各マク
ロブロックについての動きベクトルの平均を取ることに
よりグローバルベクトルを生成する。
In step S4, the global vector detecting unit 5 calculates an evaluation function using the motion vector for each macroblock obtained in step S3, and generates a global vector. Here, the global vector detection unit 5 generates a global vector by, for example, averaging the motion vectors for each macroblock as described above.

【0044】ステップS5において、動き検出部3は、
フレームバッファ2からマクロブロック毎に画像データ
が入力され、上述のステップS4で求めたグローバルベ
クトルを用いて各マクロブロック毎についてパターンマ
ッチングを行うことで動き検出を行う。このとき、動き
検出部3は、グローバルベクトルに応じて検索範囲の中
心位置を変化させてパターンマッチングを行う。
In step S5, the motion detecting section 3
Image data is input from the frame buffer 2 for each macroblock, and motion detection is performed by performing pattern matching for each macroblock using the global vector obtained in step S4 described above. At this time, the motion detection unit 3 performs pattern matching by changing the center position of the search range according to the global vector.

【0045】ステップS6において、動き検出部3は、
上述のステップS5で行った動き検出の結果に基づいて
各マクロブロックについての動きベクトルMVを検出し
て、残差情報生成部4及び制御部6に動きベクトルを出
力する。
In step S6, the motion detecting section 3
A motion vector MV for each macroblock is detected based on the result of the motion detection performed in step S5, and the motion vector is output to the residual information generation unit 4 and the control unit 6.

【0046】このような画像符号化装置1は、動き検出
部3で各マクロブロックについての動きベクトルMVを
生成する前に、グローバルベクトル検出部5で一画面全
体についての1つの動きベクトルを示すグローバルベク
トルを検出するので、動き検出部3で各マクロブロック
についての動きベクトルMVを検出するときの検索範囲
を広範囲とする必要がなく、動きベクトルMVを検出す
る処理を低減することができる。すなわち、画像符号化
装置1によれば、例えば画面全体が移動しているような
パンニング等の手法で撮像した画像であっても、グロー
バルベクトル検出部5で画面全体についてのグローバル
ベクトルを求め、検索範囲を広範囲として各マクロブロ
ックについての動きベクトルを検出するという処理を回
避することができる。
In such an image coding apparatus 1, before the motion detecting section 3 generates a motion vector MV for each macroblock, the global vector detecting section 5 indicates a global motion vector indicating one motion vector for one entire screen. Since the vector is detected, the search range when detecting the motion vector MV for each macroblock in the motion detecting unit 3 does not need to be wide, and the process of detecting the motion vector MV can be reduced. That is, according to the image encoding device 1, for example, even for an image captured by a technique such as panning in which the entire screen is moving, the global vector detecting unit 5 obtains a global vector for the entire screen, It is possible to avoid a process of detecting a motion vector for each macroblock with a wide range.

【0047】また、画像符号化装置1によれば、従来の
動き検出の手法では、検索できないような画面全体での
高速移動に対しても検索を容易に行うことができる。
Further, according to the image encoding apparatus 1, a search can be easily performed even for a high-speed movement on the entire screen which cannot be searched by the conventional motion detection method.

【0048】更に、画像符号化装置1によれば、一画面
内を複数に分割してグローバルベクトル検出部5でグロ
ーバルベクトルを算出することにより、一画面内で動き
の大きい領域についても効率的に動きベクトルMVを検
出することができる。
Further, according to the image encoding apparatus 1, by dividing the inside of one screen into a plurality of parts and calculating the global vector by the global vector detecting unit 5, an area having a large motion within one screen can be efficiently used. The motion vector MV can be detected.

【0049】[0049]

【発明の効果】以上詳細に説明したように、本発明に係
る動き検出装置及び方法によれば、画像から複数のマク
ロブロックを抽出し、抽出した複数のマクロブロックに
ついての動きベクトルを検出し、上記各マクロブロック
についての動きベクトルを用いて画像全体についての動
きベクトルを算出し、算出された画像全体についての動
きベクトルを用いて各マクロブロックについての動きベ
クトルを算出するので、各マクロブロックについての動
きベクトルを算出する前に画面全体についての動きベク
トルを求めることができる。したがって、本発明に係る
動き検出装置及び方法によれば、例えば画面全体につい
て動きが大きな画像の動きベクトルを容易に検出するこ
とができ、更に動き検出のための処理を大幅に軽減する
ことができる。
As described above in detail, according to the motion detecting apparatus and method according to the present invention, a plurality of macroblocks are extracted from an image, and motion vectors of the extracted plurality of macroblocks are detected. The motion vector for the entire image is calculated using the motion vector for each macroblock, and the motion vector for each macroblock is calculated using the calculated motion vector for the entire image. Before calculating a motion vector, a motion vector for the entire screen can be obtained. Therefore, according to the motion detection device and method according to the present invention, for example, a motion vector of an image having a large motion can be easily detected over the entire screen, and the processing for motion detection can be greatly reduced. .

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

【図1】本発明を適用した画像符号化装置の一例を示す
ブロック図である。
FIG. 1 is a block diagram illustrating an example of an image encoding device to which the present invention has been applied.

【図2】上記画像符号化装置を構成するグローバルベク
トル検出部でグローバルベクトルを求めるときにマクロ
ブロックを抽出する処理について説明するための図であ
る。
FIG. 2 is a diagram for explaining a process of extracting a macroblock when a global vector is detected by a global vector detection unit included in the image encoding device.

【図3】上記画像符号化装置を構成するグローバルベク
トル検出部でグローバルベクトルを求めるときに一画面
内を複数の領域に分割して、マクロブロックを抽出する
処理について説明するための図である。
FIG. 3 is a diagram for describing a process of extracting a macroblock by dividing one screen into a plurality of regions when obtaining a global vector by a global vector detection unit included in the image encoding device.

【図4】上記画像符号化装置で動き検出処理を行うとき
の処理について説明するためのフローチャートである。
FIG. 4 is a flowchart for describing processing when a motion detection process is performed by the image encoding device.

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

1 画像符号化装置、3 動き検出部、5 グローバル
ベクトル検出部
1. Image encoding device, 3. Motion detector, 5. Global vector detector

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 画像から複数のマクロブロックを抽出す
る抽出手段と、 上記抽出手段で抽出した複数のマクロブロックについて
の動きベクトルを検出する第1の動き検出手段と、 上記第1の動き検出手段で検出した各マクロブロックに
ついての動きベクトルを用いて画像全体についての動き
ベクトルを算出する動き算出手段と、 上記動き算出手段で算出された動きベクトルを用いて各
マクロブロックの動きベクトルを算出する第2の動き検
出手段とを備えることを特徴とする動き検出装置。
1. An extracting unit for extracting a plurality of macroblocks from an image, a first motion detecting unit for detecting a motion vector for the plurality of macroblocks extracted by the extracting unit, and a first motion detecting unit A motion calculating means for calculating a motion vector for the entire image using a motion vector for each macroblock detected in the step, and a motion vector for each macroblock using the motion vector calculated by the motion calculating means. A motion detection device comprising: two motion detection means.
【請求項2】 上記抽出手段は、複数の隣接するマクロ
ブロックを抽出することを特徴とする請求項1記載の動
き検出装置。
2. The motion detecting apparatus according to claim 1, wherein said extracting means extracts a plurality of adjacent macro blocks.
【請求項3】 上記抽出手段は、画像全体を分割してな
る各領域から複数のマクロブロックを抽出することを特
徴とする請求項1記載の動き検出装置。
3. The motion detecting apparatus according to claim 1, wherein said extracting means extracts a plurality of macroblocks from each area obtained by dividing the entire image.
【請求項4】画像から複数のマクロブロックを抽出し、 上記抽出した複数のマクロブロックについての動きベク
トルを検出し、 上記各マクロブロックについての動きベクトルを用いて
画像全体についての動きベクトルを算出し、 算出された画像全体についての動きベクトルを用いて各
マクロブロックの動きベクトルを算出することを特徴と
する動き検出方法。
4. A method for extracting a plurality of macroblocks from an image, detecting motion vectors for the plurality of extracted macroblocks, and calculating a motion vector for the entire image using the motion vectors for each of the macroblocks. A motion detection method, comprising: calculating a motion vector of each macroblock using a calculated motion vector for the entire image.
【請求項5】 複数の隣接するマクロブロックを抽出す
ることを特徴とする請求項4記載の動き検出方法。
5. The motion detection method according to claim 4, wherein a plurality of adjacent macro blocks are extracted.
【請求項6】 画像全体を分割してなる各領域から複数
のマクロブロックを抽出することを特徴とする請求項4
記載の動き検出方法。
6. The method according to claim 4, wherein a plurality of macroblocks are extracted from each area obtained by dividing the entire image.
The motion detection method described.
JP22339898A 1998-07-15 1998-08-06 Device and method for detecting motion Withdrawn JP2000059786A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP22339898A JP2000059786A (en) 1998-08-06 1998-08-06 Device and method for detecting motion
EP19990113869 EP0973336A2 (en) 1998-07-15 1999-07-15 Motion vector detecting, picture encoding and recording method and apparatus
KR1019990028615A KR20000011728A (en) 1998-07-15 1999-07-15 Moving vector detecting method, record medium on which motion vector calculating program has been recorded
US09/910,065 US20020015513A1 (en) 1998-07-15 2001-07-23 Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22339898A JP2000059786A (en) 1998-08-06 1998-08-06 Device and method for detecting motion

Publications (1)

Publication Number Publication Date
JP2000059786A true JP2000059786A (en) 2000-02-25

Family

ID=16797534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22339898A Withdrawn JP2000059786A (en) 1998-07-15 1998-08-06 Device and method for detecting motion

Country Status (1)

Country Link
JP (1) JP2000059786A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228303A (en) * 2004-01-14 2005-08-25 Matsushita Electric Ind Co Ltd Motion vector detecting device
JP2005287047A (en) * 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd Motion vector estimation employing line vector and column vector
JP2007312425A (en) * 2007-07-30 2007-11-29 Nippon Telegr & Teleph Corp <Ntt> Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, image decoding program and recording medium with the programs recorded thereon
JP2008199457A (en) * 2007-02-15 2008-08-28 Matsushita Electric Ind Co Ltd Motion vector detector and motion vector detection system
JP2010268148A (en) * 2009-05-13 2010-11-25 Fujitsu Ltd On-board image recording device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2005287047A (en) * 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd Motion vector estimation employing line vector and column vector
JP4711712B2 (en) * 2004-03-30 2011-06-29 パナソニック株式会社 Motion vector detection using row and column vectors
JP2008199457A (en) * 2007-02-15 2008-08-28 Matsushita Electric Ind Co Ltd Motion vector detector and motion vector detection system
JP2007312425A (en) * 2007-07-30 2007-11-29 Nippon Telegr & Teleph Corp <Ntt> Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, image decoding program and recording medium with the programs recorded thereon
JP2010268148A (en) * 2009-05-13 2010-11-25 Fujitsu Ltd On-board image recording device

Similar Documents

Publication Publication Date Title
KR0181069B1 (en) Motion estimation apparatus
JP2801559B2 (en) Motion compensation coding method and apparatus adapted to the magnitude of motion
KR100251548B1 (en) Apparatus of predicting motion for digital image and method thereof
JP5426655B2 (en) Compressed video encoding device, compressed video decoding device, compressed video encoding method, and compressed video decoding method
JPH11239354A (en) Motion vector detector
US6160584A (en) Motion detection and motion compensative prediction circuit
JP3681784B2 (en) Video signal encoding device
JP2000059786A (en) Device and method for detecting motion
JPH0832969A (en) Motion vector detector
KR100266161B1 (en) Method of predicting motion for digital image
JP3872076B2 (en) Motion compensation device
JPH11122618A (en) Image coder
KR0180171B1 (en) Block motion estimation method
KR0185841B1 (en) A motion extimator for a video coder
JPH09261530A (en) Video recorder
KR100208984B1 (en) Moving vector estimator using contour of object
JP2001145011A (en) Video signal encoder
KR100635009B1 (en) Mothod and apparatus for motion estimation considering total moving of image
JP2004260251A (en) Apparatus and program of detecting motion vector
KR0181068B1 (en) Motion estimation apparatus
JPH10191347A (en) Motion detector, motion detecting method and storage medium
JP2002344949A (en) Moving picture monitoring system
JP3031638B2 (en) A vector search method for an interpolated frame in a video coding system for storage
WO1999044369A1 (en) Device and method for coding image
KR100382540B1 (en) Motion estimation method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051101