JPH1079943A - Motion vector detector - Google Patents

Motion vector detector

Info

Publication number
JPH1079943A
JPH1079943A JP23440696A JP23440696A JPH1079943A JP H1079943 A JPH1079943 A JP H1079943A JP 23440696 A JP23440696 A JP 23440696A JP 23440696 A JP23440696 A JP 23440696A JP H1079943 A JPH1079943 A JP H1079943A
Authority
JP
Japan
Prior art keywords
motion vector
prediction error
image data
search
bits
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
JP23440696A
Other languages
Japanese (ja)
Inventor
Tomohiro Omatsu
智裕 尾松
Hiroshi Kusao
寛 草尾
Masaaki Hyodo
正晃 兵頭
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 JP23440696A priority Critical patent/JPH1079943A/en
Publication of JPH1079943A publication Critical patent/JPH1079943A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a motion vector detector which reduces erroneous detection of a motion vector, also reduces an operation amount that is needed to detect a motion vector and also decreases the size of a circuit of a hardware. SOLUTION: A motion vector detector which detects a motion vector by using a block matching method is provided with a 1st motion vector detecting means 100A which operates an estimated error by using high order bits of image data and detects a motion vector candidate group based on the operated result and a 2nd motion vector detecting means 100B which operates an estimated error by using the high order bits that correspond to the motion vector candidate group and low order bits of the bits and detects a motion vector in the motion vector candidate group based on the operated result, hierarchizes the search of motion vectors and detects a vector.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、MPEG(Moving
Picture coding Experts Group)等の動画像データの圧
縮符号化において動きベクトルを検出する動きベクトル
検出装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an MPEG (Moving
The present invention relates to a motion vector detecting device for detecting a motion vector in compression coding of moving image data such as a Picture coding Experts Group.

【0002】[0002]

【従来の技術】従来、MPEG等の動画像データの圧縮
符号化技術を構成する要素技術のひとつとして、動き補
償予測がある。この動き補償予測では、現画像の或る部
分が、前画像の別の部分から動いて来たものとみなして
現画像を予測し、動画像の動きの方向及び距離を動きベ
クトルとして検出する。このように、動き補償予測で
は、画像情報を動きベクトルとして表現することによ
り、符号化する画像データのデータ量を削減する。
2. Description of the Related Art Conventionally, motion compensation prediction is one of the elemental technologies constituting a compression encoding technique for moving image data such as MPEG. In this motion compensation prediction, the current image is predicted assuming that a certain part of the current image has moved from another part of the previous image, and the direction and distance of the motion of the moving image are detected as a motion vector. As described above, in the motion compensation prediction, the amount of image data to be encoded is reduced by expressing the image information as a motion vector.

【0003】動きベクトルを検出するための一手法とし
てブロックマッチング法がある。このブロックマッチン
グ法とは、現画像(以下、「符号化対象画像フレーム」
と記す)を、例えば16×16画素からなる複数の小ブ
ロックに分割し、各小ブロックの画像と最も類似する前
画像(以下、「参照画像フレーム」と記す)の領域を探
索することにより、各小ブロックの動きベクトルを検出
するものである。このブロックマッチング法には、探索
の対象とする範囲内の全てについて詳細に探索する全探
索法や、予め探索範囲を絞って探索する簡略探索法があ
り、この簡略探索法にはテレスコピック探索法や2ステ
ップ探索法がある。これらの探索法では、符号化対象画
像フレームの小ブロックの画像と参照画像フレームの或
る領域との類似度を表わす「予測誤差」を演算し、この
予測誤差を評価して動きベクトルを検出する。この予測
誤差は、その値が小さい程類似度が高いことを意味する
指数である。
One method for detecting a motion vector is a block matching method. This block matching method refers to a current image (hereinafter, “encoding target image frame”).
Is divided into a plurality of small blocks composed of, for example, 16 × 16 pixels, and a region of a previous image (hereinafter, referred to as a “reference image frame”) most similar to the image of each small block is searched for. The motion vector of each small block is detected. The block matching method includes a full search method for performing a detailed search for everything within a range to be searched, and a simple search method for narrowing a search range in advance. This simple search method includes a telescopic search method and a simple search method. There is a two-step search method. In these search methods, a "prediction error" representing the degree of similarity between a small block image of an encoding target image frame and a certain region of a reference image frame is calculated, and the prediction error is evaluated to detect a motion vector. . The prediction error is an index that means that the smaller the value is, the higher the similarity is.

【0004】以下、図18及び図19を参照しながら、
全探索法及び簡略探索法について説明する。ここで、図
18は全探索法の概念を説明するための説明図であり、
図19は簡略探索法(2ステップ探索法)による動きベ
クトルの検出法を説明するための説明図である。先ず、
全探索法は、参照画像フレームの探索の対象となる範囲
内の全領域について予測誤差を求め、この予測誤差が最
小となる領域を探索して動きベクトルを検出する最も一
般的な手法である。例えば、図18において、符号化対
象画像フレーム502における小ブロック504の動き
ベクトルを検出しようとする場合、先ず、ブロック50
4と同一サイズのサーチブロック503を参照画像フレ
ーム501上に仮定する。
Hereinafter, with reference to FIGS. 18 and 19,
The full search method and the simple search method will be described. Here, FIG. 18 is an explanatory diagram for explaining the concept of the full search method.
FIG. 19 is an explanatory diagram for describing a method for detecting a motion vector by the simple search method (two-step search method). First,
The full search method is the most general method of calculating a prediction error for all regions within a range to be searched for a reference image frame, and searching for a region where the prediction error is minimized to detect a motion vector. For example, in FIG. 18, when trying to detect the motion vector of the small block 504 in the encoding target image frame 502, first, the block 50
It is assumed that a search block 503 having the same size as 4 is on the reference image frame 501.

【0005】次に、小ブロック504の中心位置に対応
する参照画像フレーム501上の位置を基準点(以下、
「探索基準点」と記す)511として、縦横共に−i〜
+j画素の探索領域505B内でサーチブロック503
を画素単位で移動し、順次ブロック504とサーチブロ
ック503との類似度を表す予測誤差を演算する。そし
て、予測誤差が最も小さくなるサーチブロック503の
位置(以下、「探索点」と記す)を特定し、探索基準点
に対する探索点の相対的な位置を小ブロック504の動
きベクトルとして検出する。
Next, a position on the reference image frame 501 corresponding to the center position of the small block 504 is set as a reference point (hereinafter, referred to as a reference point).
(Referred to as "search reference point") 511 as -i
Search block 503 in search area 505B of + j pixels
Is moved in pixel units, and a prediction error representing the similarity between the block 504 and the search block 503 is sequentially calculated. Then, the position of the search block 503 at which the prediction error is minimized (hereinafter referred to as “search point”) is specified, and the relative position of the search point with respect to the search reference point is detected as the motion vector of the small block 504.

【0006】この全探索法に対し、簡略探索法であるテ
レスコピック探索法や2ステップ探索法は、演算量を軽
減する目的で考案された手法の一つであり、先ず探索の
対象とする範囲内の所定の幾つかの代表点について探索
し、その探索結果に基づいて探索範囲を絞って探索する
ものである。例えば、前述の図18に示す小ブロック5
03の任意の1画素の取り得る範囲(以下、「探索範
囲」と記す)を、図19に示すように、参照画像フレー
ム501の探索基準点511を基準として縦横共に−6
〜+6画素の範囲505とした場合、2ステップ法によ
れば、先ず探索基準点511を中心とする探索範囲50
5内の画素の中から3画素毎に25個の画素点を第1代
表点512(図18に数字1で示す全ての画素点)とし
て選択する。
[0006] In contrast to the full search method, a simple search method such as a telescopic search method or a two-step search method is one of methods devised for the purpose of reducing the amount of computation. Are searched for some predetermined representative points, and the search range is narrowed down based on the search results. For example, the small block 5 shown in FIG.
As shown in FIG. 19, the range that any one pixel 03 can take (hereinafter referred to as “search range”) is -6 in both the vertical and horizontal directions with respect to the search reference point 511 of the reference image frame 501.
According to the two-step method, when the range 505 is set to the range 505 of +6 pixels, first, the search range 50 centered on the search reference point 511 is obtained.
From among the pixels in 5, 25 pixel points for every three pixels are selected as first representative points 512 (all pixel points indicated by numeral 1 in FIG. 18).

【0007】次に、25個の第1代表点512に対して
予測誤差を演算し、この25個の第1代表点の中から最
小の予測誤差をもつ1個を第1探索点513として検出
する。次に、この第1探索点513を基準として縦横共
に−2〜+2画素の範囲(以下、「2次探索範囲」と記
す)505A内にある24個の画素点を第2代表点51
4(図18に数字2で示す画素点)として選択する。次
に、2次探索範囲505A内にある24個の第2代表点
514と1個の第1探索点513に対して予測誤差を演
算し、これらの中から最小の予測誤差をもつ画素点を第
2次探索点515として求め、探索基準点511に対す
る第2次探索点515の相対位置を、前述の図18に示
す小ブロック504の動きベクトルとして検出する。
Next, a prediction error is calculated for the 25 first representative points 512, and one having the minimum prediction error is detected as a first search point 513 from the 25 first representative points. I do. Next, 24 pixel points within a range of −2 to +2 pixels in both the vertical and horizontal directions (hereinafter referred to as “secondary search range”) 505 </ b> A based on the first search point 513 are referred to as second representative points 51.
4 (pixel point indicated by numeral 2 in FIG. 18). Next, a prediction error is calculated for 24 second representative points 514 and one first search point 513 in the secondary search range 505A, and a pixel point having the minimum prediction error is calculated from these. It is determined as the second search point 515, and the relative position of the second search point 515 with respect to the search reference point 511 is detected as the motion vector of the small block 504 shown in FIG.

【0008】[0008]

【発明が解決しようとする課題】しかしながら、前述し
た全探索法によれば、予測誤差が最小となる画素点を探
索するにあたって、参照画像フレームの探索領域の画素
点の全てについて予測誤差を求めるので、膨大な演算量
を必要とし、ハードウェアの回路規模が著しく大きくな
るという問題がある。
However, according to the above-described full search method, when searching for a pixel point with a minimum prediction error, the prediction error is obtained for all the pixel points in the search area of the reference image frame. However, there is a problem that an enormous amount of calculation is required and the circuit scale of the hardware becomes extremely large.

【0009】また、簡略探索法によれば、全探索法と比
較して動きベクトルを検出するための演算量は低減され
るが、初期の探索段階で探索点の選択を誤ると、以降の
探索段階で検出される動きベクトルが、全探索法で検出
される動きベクトルとは異なったものとなり、符号化効
率が著しく低下するという問題がある。
Although the simplified search method reduces the amount of calculation for detecting a motion vector as compared with the full search method, if a wrong search point is selected in the initial search stage, the subsequent search The motion vector detected at the stage is different from the motion vector detected by the full search method, and there is a problem that coding efficiency is significantly reduced.

【0010】本発明は、かかる問題に鑑みてなされたも
のであって、動きベクトルの誤検出を低減すると共に、
動きベクトルを検出するのに要する演算量を削減するこ
とができ、ハードウェアの回路規模の削減を図ることが
できる動きベクトル検出装置を提供することを課題とす
る。
The present invention has been made in view of such a problem, and it is possible to reduce erroneous detection of a motion vector,
It is an object of the present invention to provide a motion vector detecting device capable of reducing the amount of calculation required for detecting a motion vector and reducing the circuit scale of hardware.

【0011】[0011]

【課題を解決するための手段】本発明は、前記課題を解
決達成するため、以下の構成を有する。即ち、請求項1
に記載の発明に係る動きベクトル検出装置は、ブロック
マッチング法を用いて動きベクトルを検出する動きベク
トル検出装置において、画像データの上位側のビットを
用いて予測誤差を演算し、該演算の結果に基づき動きベ
クトル候補群を検出する第1の動きベクトル検出手段
と、前記動きベクトル候補群に対応する画像データの前
記上位側のビットと該ビットの下位側のビットとを用い
て予測誤差を演算し、該演算の結果に基づき前記動きベ
クトル候補群の中から動きベクトルを検出する第2の動
きベクトル検出手段とを備えて構成されている。
Means for Solving the Problems The present invention has the following arrangement to achieve the above object. That is, claim 1
The motion vector detection device according to the invention described in (1), in a motion vector detection device that detects a motion vector using a block matching method, calculates a prediction error using the upper bits of the image data, the result of the calculation A first motion vector detecting means for detecting a motion vector candidate group based on the first and second bits, and a prediction error is calculated by using the upper bits and lower bits of the image data corresponding to the motion vector candidates. And a second motion vector detecting means for detecting a motion vector from the motion vector candidate group based on the result of the calculation.

【0012】また、請求項2に記載の動きベクトル検出
装置は、請求項1に記載の動きベクトル検出装置におい
て、第1及び第2の動きベクトル検出手段が、画像デー
タの上位側のビット数をビット長とするビット列を入力
して予測誤差を演算する複数の予測誤差演算手段を共有
して備え、前記複数の予測誤差演算手段が、それぞれ独
立的に機能して、第1の動きベクトル検出手段として予
測誤差を演算し、前記複数の予測誤差演算手段が、キャ
リーを介して縦従的に機能して、第2の動きベクトル検
出手段として予測誤差を演算するように構成されてい
る。
According to a second aspect of the present invention, in the motion vector detecting apparatus according to the first aspect, the first and second motion vector detecting means determine the number of upper bits of the image data. A plurality of prediction error calculation means for inputting a bit string having a bit length and calculating a prediction error are provided in common, and the plurality of prediction error calculation means function independently of each other to form a first motion vector detection means. And a plurality of prediction error calculation means functioning vertically through a carry to calculate a prediction error as second motion vector detection means.

【0013】さらに、請求項3に記載の動きベクトル検
出装置は、請求項2に記載の動きベクトル検出装置にお
いて、キャリーは、リップル・キャリー方式により生成
されるように構成されている。
Further, the motion vector detecting device according to a third aspect of the present invention is the motion vector detecting device according to the second aspect, wherein the carry is generated by a ripple carry method.

【0014】さらにまた、請求項4に記載の動きベクト
ル検出装置は、請求項2に記載の動きベクトル検出装置
において、キャリーは、キャリー・ルック・アヘッド方
式により生成されるように構成されている。
Furthermore, a motion vector detecting device according to a fourth aspect of the present invention is configured such that, in the motion vector detecting device according to the second aspect, the carry is generated by a carry look ahead method.

【0015】以下、前記構成された本発明の作用を述べ
る。即ち、請求項1に記載の発明に係る動きベクトル検
出装置によれば、第1の動きベクトル検出手段は、画像
データの上位側のビットを用いて予測誤差を演算し、こ
の予測誤差が小さな複数の画素点を選択し、これら複数
の画素点を動きベクトル候補群として検出する。次に、
第2の動きベクトル検出手段は、第1の動きベクトル検
出手段により検出された動きベクトル候補群に対応する
画像データを対象として予測誤差を演算する。この場
合、この第2の動きベクトル検出手段では、第1の動き
ベクトル検出手段で使用した上位側のビットに加えて、
その下位側のビットをも含むデータを用いて演算するの
で、さらに詳細な予測誤差が求められる。
Hereinafter, the operation of the present invention will be described. That is, according to the motion vector detecting device of the first aspect of the present invention, the first motion vector detecting means calculates the prediction error using the upper bits of the image data. And a plurality of pixel points are detected as a group of motion vector candidates. next,
The second motion vector detection means calculates a prediction error for image data corresponding to the group of motion vector candidates detected by the first motion vector detection means. In this case, in the second motion vector detecting means, in addition to the upper bits used in the first motion vector detecting means,
Since the calculation is performed using data including the lower bits, a more detailed prediction error is required.

【0016】また、請求項2に記載の発明に係る動きベ
クトル検出装置によれば、先ず、複数の予測誤差演算手
段のそれぞれは独立に機能し、画像データの上位側のビ
ットを用いて、第1の動きベクトル検出手段として予測
誤差を演算する。そして、第1の動きベクトル検出手段
は、この演算結果に基づき、例えば予測誤差が小さな複
数の画素点を選択し、これら複数の画素点を動きベクト
ル候補群として検出する。次に、複数の予測誤差演算手
段のそれぞれは、互いにキャリーを介して縦従的に機能
して、これら複数の予測誤差演算手段は、入力可能なデ
ータビット長が拡張された1つの予測誤差演算手段を構
成する。このデータビット長が拡張された予測誤差演算
手段(従属的に機能する複数の予測誤差演算手段)は、
前記第1の動きベクトル検出手段により検出された動き
ベクトル候補群に対応する画像データを対象として予測
誤差を演算する。この場合、この第2の動きベクトル検
出手段では、第1の動きベクトル検出手段で使用した上
位側のビットに加えて、その下位側のビットをも含むデ
ータを用いて演算するので、さらに詳細な予測誤差が求
められる。
According to the motion vector detecting device of the present invention, first, each of the plurality of prediction error calculating means functions independently, and uses the upper bit of the image data to perform the second processing. A prediction error is calculated as one motion vector detecting means. Then, the first motion vector detecting means selects, for example, a plurality of pixel points having a small prediction error based on the calculation result, and detects the plurality of pixel points as a motion vector candidate group. Next, each of the plurality of prediction error calculation means functions in a cascading manner via a carry, and the plurality of prediction error calculation means perform one prediction error calculation with an extended input data bit length. Configure means. The prediction error calculation means having an extended data bit length (a plurality of prediction error calculation means functioning subordinately)
A prediction error is calculated for image data corresponding to a group of motion vector candidates detected by the first motion vector detection means. In this case, the second motion vector detecting means performs the calculation using data including the lower bits in addition to the upper bits used in the first motion vector detecting means. A prediction error is determined.

【0017】さらに、請求項3に記載の発明に係る動き
ベクトル検出装置によれば、例えば、下位ビット側から
上位ビット側に順に割り当てられる各第1の予測誤差演
算手段は、その下位側から送られたキャリーを取り込ん
で予測誤差を演算し、この演算結果に基づいて生成され
たキャリーを上位側に送る。これにより、複数の第1の
予測誤差演算手段は、キャリーを介して従属的に機能し
て、データ幅が拡張された第2の予測誤差演算手段とし
て機能する。
Further, according to the motion vector detecting apparatus of the present invention, for example, each first prediction error calculating means assigned in order from the lower bit side to the upper bit side transmits the first prediction error calculating means from the lower side. The obtained carry is taken in, a prediction error is calculated, and the carry generated based on the calculation result is sent to the upper side. Thus, the plurality of first prediction error calculation means function subordinately via the carry, and function as second prediction error calculation means having an expanded data width.

【0018】さらにまた、請求項4に記載の発明に係る
動きベクトル検出装置によれば、例えば、下位ビット側
に割り当てられた第1の予測誤差演算手段は、上位側に
割り当てられた全ての第1の予測誤差演算手段に対して
キャリーを送り、上位側に割り当てられた第1の予測誤
差演算手段は、その下位側の全ての第1の予測誤差演算
手段からキャリーを入力する。これにより、複数の第1
の予測誤差演算手段は、キャリーを介して従属的に機能
して、データ幅が拡張された第2の予測誤差演算手段と
して機能する。
Further, according to the motion vector detecting device of the invention, for example, the first prediction error calculating means assigned to the lower bit side includes all the prediction error calculating means assigned to the upper bit side. The carry is sent to one of the prediction error calculation means, and the first prediction error calculation means assigned to the upper side receives the carry from all the first prediction error calculation means on the lower side. Thereby, a plurality of first
The prediction error calculation means functions subordinately via the carry and functions as a second prediction error calculation means having an expanded data width.

【0019】[0019]

【発明の実施の形態】以下、図1〜図17を参照しなが
ら、1画素あたり8ビットから構成される画像データを
入力して動きベクトルを検出する場合を例として、本発
明の第1及び第2の実施の形態にかかる動きベクトル検
出装置について説明する。ここで、図1は第1の実施形
態の動きベクトル検出装置の構成図であり、図2及び図
3は第1の実施形態の装置を構成する第1段階動きベク
トル検出器の詳細な構成図であり、図4及び図5は、同
じく第1の実施形態の装置を構成する第2段階動きベク
トル検出器の詳細な構成図であり、図6〜図8は、第1
の実施形態の装置の動作説明図である。また、図9は第
2の実施形態の動きベクトル検出装置の構成図であり、
図10〜図17は第2の実施形態の装置を構成する各部
の詳細な構成図である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The first and second embodiments of the present invention will be described below with reference to FIGS. A motion vector detection device according to a second embodiment will be described. Here, FIG. 1 is a configuration diagram of the motion vector detection device of the first embodiment, and FIGS. 2 and 3 are detailed configuration diagrams of a first-stage motion vector detector that configures the device of the first embodiment. 4 and 5 are detailed configuration diagrams of a second-stage motion vector detector which also constitutes the device of the first embodiment, and FIGS.
It is operation | movement explanatory drawing of the apparatus of 2nd Embodiment. FIG. 9 is a configuration diagram of a motion vector detection device according to the second embodiment.
FIG. 10 to FIG. 17 are detailed configuration diagrams of each unit constituting the device of the second embodiment.

【0020】(第1の実施の形態について)図1に示す
第1の実施形態の装置は、参照画像データ及び符号化対
象画像データからなる画像データの上位側のビットを用
いて、各画素点について予測誤差を演算し、該演算の結
果に基づき動きベクトル候補群を検出する1次動きベク
トル検出部100A(第1の動きベクトル検出手段)
と、前記動きベクトル候補群について画像データの上位
側及び下位側のビットを用いて予測誤差を演算し、該演
算の結果に基づいて前記動きベクトル候補群の中から予
測誤差が最小となるものを特定して動きベクトルを検出
する2次動きベクトル検出部100B(第2の動きベク
トル検出手段)とを備えて構成されている。
(First Embodiment) The apparatus according to the first embodiment shown in FIG. 1 uses the upper bits of the image data composed of the reference image data and the encoding target image data to determine each pixel point. , A primary motion vector detecting section 100A (first motion vector detecting means) for calculating a prediction error and detecting a motion vector candidate group based on the result of the calculation.
And calculating a prediction error using the upper and lower bits of the image data for the motion vector candidate group, and determining a motion vector candidate having the smallest prediction error from the motion vector candidate group based on a result of the calculation. And a secondary motion vector detecting section 100B (second motion vector detecting means) for specifying and detecting a motion vector.

【0021】ここで、1次動きベクトル検出部100A
は、参照画像データを蓄える参照フレーム第1メモリ1
01と、符号化対象画像データを蓄える対象フレーム第
1メモリ102と、前記参照フレーム第1メモリ101
及び対象フレーム第1メモリ102からの画像データの
読出しを制御すると共に後述の第1段階動きベクトル検
出器104の制御を行う第1データ制御器103と、前
記参照フレーム第1メモリ101及び対象フレーム第1
メモリ102からそれぞれ読み出された符号化対象画像
データ及び参照画像データの上位側のビットを用いて予
測誤差及び動きベクトル候補群を求める第1段階動きベ
クトル検出器104と、該第1段階動きベクトル検出器
104で求めた動きベクトル候補群及び予測誤差を格納
するベクトル記憶装置105とから構成されている。
Here, the primary motion vector detecting section 100A
Is a reference frame first memory 1 for storing reference image data.
01, a target frame first memory 102 for storing encoding target image data, and the reference frame first memory 101.
A first data controller 103 that controls reading of image data from the target frame first memory 102 and controls a first-stage motion vector detector 104 to be described later; 1
A first-stage motion vector detector 104 for obtaining a prediction error and a set of motion vector candidates using upper bits of the encoding target image data and the reference image data read from the memory 102; And a vector storage device 105 for storing the motion vector candidate group obtained by the detector 104 and the prediction error.

【0022】また、2次動きベクトル検出部100B
は、参照画像データを蓄える参照フレーム第2メモリ1
06と、符号化対象画像データを蓄える対象フレーム第
2メモリ107と、前記ベクトル記憶装置105に格納
された動きベクトル候補群及び予測誤差に基づいて参照
フレーム第2メモリ106と対象フレーム第2メモリ1
07とから動きベクトル候補群に対応する画像データの
読出しを制御すると共に後述の第2段階動きベクトル検
出器109の制御を行う第2データ制御器108と、前
記参照フレーム第2メモリ106及び対象フレーム第2
メモリ107からそれぞれ符号化対象画像データ及び参
照画像データを読み出して動きベクトルを検出する第2
段階動きベクトル検出器109とから構成されている。
The secondary motion vector detecting section 100B
Is a reference frame second memory 1 for storing reference image data.
06, a target frame second memory 107 for storing encoding target image data, a reference frame second memory 106 and a target frame second memory 1 based on the motion vector candidate group and the prediction error stored in the vector storage device 105.
07, a second data controller 108 that controls reading of image data corresponding to the motion vector candidate group and controls a second-stage motion vector detector 109, which will be described later, and the reference frame second memory 106 and the target frame. Second
A second method of reading the encoding target image data and the reference image data from the memory 107 and detecting a motion vector,
And a step motion vector detector 109.

【0023】ここで、第1段階動きベクトル検出器10
4は、図2に詳細な構成を示すように、入力した8ビッ
トの参照画像データから上位2ビットを切り出して後段
の演算ユニット群113Gの一方の入力として出力する
参照画像データ分配器111と、入力した8ビットの符
号化対象画像データから上位2ビットを切り出して後段
の演算ユニット群113Gの他方の入力として出力する
符号化画像データ分配器112と、前記参照画像データ
分配器111及び符号化画像データ分配器112からそ
れぞれ入力した上位2ビットからなる参照画像データ及
び符号化対象画像データを用いて予測誤差を演算する演
算ユニット群113Gと、前記演算ユニット群113G
で求めた予測誤差の大小を比較して動きベクトル候補群
を選択する比較選択器114とから構成されている。こ
こで、演算ユニット群113Gは36基の演算ユニット
113から構成され、後述する図6に示す36個の画素
点(第1候補点)のそれぞれに対して1基の演算ユニッ
ト113が割り当てられている。
Here, the first-stage motion vector detector 10
4, a reference image data distributor 111 that cuts out upper two bits from the input 8-bit reference image data and outputs the cut-out two bits as one input of the operation unit group 113G, as shown in FIG. A coded image data distributor 112 that cuts out the upper 2 bits from the input 8-bit image data to be coded and outputs it as the other input of the subsequent operation unit group 113G; the reference image data distributor 111 and the coded image An operation unit group 113G for calculating a prediction error by using reference image data composed of upper two bits and image data to be encoded which are respectively input from the data distributor 112;
And a comparison selector 114 that selects the motion vector candidate group by comparing the magnitudes of the prediction errors obtained in (1). Here, the operation unit group 113G is composed of 36 operation units 113, and one operation unit 113 is assigned to each of 36 pixel points (first candidate points) shown in FIG. I have.

【0024】また、図2に示す演算ユニット113は、
図3に詳細な構成を示すように、入力した上位2ビット
の参照画像データと符号化対象画像データとの差分を演
算して3ビットの差分データを出力する差分演算器12
1と、この3ビットの差分データの絶対値を求める絶対
値演算器122と、この差分データの絶対値を後述のレ
ジスタ124の内容に加算する全加算器123と、前記
全加算器123の出力を保持する前述のレジスタ124
とから構成され、レジスタ124の内容が演算結果であ
る予測誤差として出力される。
The arithmetic unit 113 shown in FIG.
As shown in detail in FIG. 3, a difference calculator 12 that calculates the difference between the input upper two-bit reference image data and the encoding target image data and outputs 3-bit difference data.
1, an absolute value calculator 122 for calculating the absolute value of the 3-bit difference data, a full adder 123 for adding the absolute value of the difference data to the contents of a register 124 described later, and an output of the full adder 123 Register 124 that holds
And the content of the register 124 is output as a prediction error which is a calculation result.

【0025】さらに、図1に示す第2段階動きベクトル
検出器109は、図4に詳細を示すように、8ビットの
データを取り扱うことができる点で、前述の図2に示す
第1段階動きベクトル検出器104と異なる。即ち、図
4に示す第2段階動きベクトル検出器109は、1画素
あたり8ビットの参照画像データを後述する演算ユニッ
ト群133Gに出力する参照画像データ分配器131
と、1画素あたり8ビットの符号化対象画像データを後
述する演算ユニット群133Bに出力する対象画像デー
タ分配器132と、前記参照画像データ分配器131及
び対象画像データ分配器132から参照画像データ及び
符号化対象画像データを入力して予測誤差を演算する演
算ユニット群133Gと、前記演算ユニット群133G
で求められた予測誤差に基づいて動きベクトルを検出す
る比較選択器134とから構成されている。ここで、演
算ユニット群133Gを構成する演算ユニット133
は、後述の図7に示す9個の第2候補点のそれぞれに対
して1基が割り当てられている。
The second-stage motion vector detector 109 shown in FIG. 1 can handle 8-bit data as shown in detail in FIG. Different from the vector detector 104. That is, the second-stage motion vector detector 109 shown in FIG. 4 outputs a reference image data distributor 131 which outputs 8-bit reference image data per pixel to a group of operation units 133G described later.
And a target image data distributor 132 that outputs 8-bit encoding target image data per pixel to an operation unit group 133B, which will be described later; and the reference image data distributor 131 and the target image data distributor 132, An operation unit group 133G for inputting image data to be encoded and calculating a prediction error;
And a comparison selector 134 for detecting a motion vector based on the prediction error obtained in step (1). Here, the operation units 133 constituting the operation unit group 133G
, One group is assigned to each of the nine second candidate points shown in FIG.

【0026】さらにまた、図4に示す演算ユニット13
3は、図5に詳細な構成を示すように、入力した参照画
像データと符号化対象画像データとの差分を求めて9ビ
ットの差分データを出力する差分演算器141と、この
9ビットの差分データの絶対値を求める絶対値演算器1
42と、この差分データの絶対値を後述のレジスタ14
4の内容に加算する全加算器143と、全加算器143
の出力を累積的に格納するレジスタ144とから構成さ
れている。
Further, the operation unit 13 shown in FIG.
Reference numeral 3 denotes a difference calculator 141 for obtaining a difference between the input reference image data and the encoding target image data and outputting 9-bit difference data, as shown in FIG. Absolute value calculator 1 for calculating the absolute value of data
42 and the absolute value of the difference data
4 and a full adder 143 for adding the content of
And a register 144 for accumulatively storing the output.

【0027】以下、このように構成された第1の実施形
態の動きベクトル検出装置の動作について、図6〜図8
を参照しながら詳細に説明する。なお、構成について
は、適宜図1〜図5を参照する。本実施形態の装置は、
動きベクトルを検出するにあたって、最も予測誤差の小
さな画素点(探索点)を探索するものであるが、この探
索を2段階に分けて行う。以下の動作の説明は、先ず第
1段階の動きベクトル探索について行い、その後第2段
階の動きベクトル探索について順に行う。
The operation of the motion vector detecting device according to the first embodiment thus configured will be described with reference to FIGS.
This will be described in detail with reference to FIG. In addition, about a structure, FIGS. 1-5 are referred suitably. The device of the present embodiment is:
In detecting a motion vector, a pixel point (search point) having the smallest prediction error is searched. This search is performed in two stages. In the following description of the operation, first, a first-stage motion vector search is performed, and then, a second-stage motion vector search is sequentially performed.

【0028】第1段階の動きベクトル探索は、図1に示
す1次動きベクトル検出部100Aが以下のように動作
して行う。先ず、図1に示す参照フレーム第1メモリ1
01及び対象フレーム第1メモリ102は、第1データ
制御器103に制御されて、前のフレームの画像データ
である参照画像データ及び現在のフレームの画像データ
である符号化対象画像データをそれぞれ入力して格納す
る。次に、第1段階動きベクトル検出器104は、第1
データ制御器103に制御されて、図6に示すように、
例えば縦横共に−3〜+2画素の探索範囲505C内に
ある36個の画素点を第1候補点152(図6において
数字0及び1で示す全ての画素点)とし、参照フレーム
第1メモリ101及び対象フレーム第1メモリ102か
ら36個の第1候補点に対応する参照画像データ及び符
号化対象画像データを読み取る。
The first stage motion vector search is performed by the primary motion vector detecting section 100A shown in FIG. 1 operating as follows. First, the reference frame first memory 1 shown in FIG.
01 and the target frame first memory 102 are controlled by the first data controller 103 to input reference image data as image data of the previous frame and encoding target image data as image data of the current frame, respectively. And store. Next, the first-stage motion vector detector 104
Under the control of the data controller 103, as shown in FIG.
For example, 36 pixel points within a search range 505C of -3 to +2 pixels in both the vertical and horizontal directions are set as first candidate points 152 (all the pixel points indicated by numerals 0 and 1 in FIG. 6), and the reference frame first memory 101 and The reference image data and the encoding target image data corresponding to the 36 first candidate points are read from the target frame first memory 102.

【0029】次に、第1段階動きベクトル検出器104
は、読み取った参照画像データ及び符号化対象データの
上位2ビットを用いて、図6に示す36個の第1候補点
について予測誤差を演算する。そして、図7に示すよう
に、36個の候補点の中から予測誤差の小さい順に9個
の第1候補点(図7において数字2で示す全ての画素
点)を選択し、これを第2候補点、即ち動きベクトル候
補群として検出する。この検出結果を予測誤差と共にベ
クトル記憶装置105に格納する。
Next, the first-stage motion vector detector 104
Calculates the prediction error for the 36 first candidate points shown in FIG. 6 using the read reference image data and the upper two bits of the encoding target data. Then, as shown in FIG. 7, nine first candidate points (all pixel points indicated by numeral 2 in FIG. 7) are selected from the 36 candidate points in ascending order of prediction error, It is detected as a candidate point, that is, a motion vector candidate group. This detection result is stored in the vector storage device 105 together with the prediction error.

【0030】ここで、第1段階動きベクトル検出器10
4の動作について、さらに詳細に説明する。図2に詳細
な構成を示す第1段階動きベクトル検出器104におい
て、参照画像データ分配器111及び符号化画像データ
分配器112は、図6に示す36個の第1候補点に対応
する符号化画像データ及び参照画像データの上位2ビッ
トをそれぞれ切り出して後段の演算ユニット群113G
に与える。36個の候補点のそれぞれに対応づけて割り
当てられた36基の演算ユニット113のそれぞれは、
前段の参照画像データ分配器111及び対象画像データ
分配器112より、対応する第1候補点の符号化画像デ
ータ及び参照画像データの上位2ビットを入力する。
Here, the first-stage motion vector detector 10
Operation 4 will be described in further detail. In the first-stage motion vector detector 104 whose detailed configuration is shown in FIG. 2, the reference image data distributor 111 and the coded image data distributor 112 perform coding corresponding to the 36 first candidate points shown in FIG. The upper two bits of the image data and the reference image data are cut out, respectively, and the subsequent operation unit group 113G
Give to. Each of the 36 arithmetic units 113 assigned in association with each of the 36 candidate points,
From the reference image data distributor 111 and the target image data distributor 112 at the preceding stage, the upper two bits of the corresponding coded image data of the first candidate point and the reference image data are input.

【0031】このとき、図3に詳細な構成を示す演算ユ
ニット113において、差分演算器121は、参照画像
データと符号化対象画像データとの上位2ビットの差分
を演算して3ビットの差分データを絶対値演算器122
に与える。この絶対値演算器122は差分データの絶対
値を求めて全加算器123に与える。全加算器123
は、その後段のレジスタ124に格納された前回の加算
結果に対して絶対値演算器122から与えられた差分デ
ータの絶対値を加算し、この加算結果を再び後段のレジ
スタ124に与える。レジスタ124は、その内容を加
算器123から新たに与えられる内容に置き換えて更新
する。
At this time, in the arithmetic unit 113 having a detailed configuration shown in FIG. 3, the difference calculator 121 calculates the difference of the upper two bits between the reference image data and the image data to be encoded, and calculates the difference data of three bits. To the absolute value calculator 122
Give to. The absolute value calculator 122 calculates the absolute value of the difference data and supplies it to the full adder 123. Full adder 123
Adds the absolute value of the difference data provided from the absolute value calculator 122 to the previous addition result stored in the register 124 at the subsequent stage, and provides the addition result to the register 124 at the subsequent stage again. The register 124 updates the content by replacing the content with the content newly provided from the adder 123.

【0032】このようにして、図2に示す各演算ユニッ
ト113が、図6に示す探索範囲505C内の全ての画
素点(36個の第1候補点)に対応する画像データを順
次入力して演算処理する結果、演算ユニット113を構
成する図3に示すレジスタ124には差分データの絶対
値が累積的に加算され、各演算ユニット113はこれを
予測誤差としてそれぞれ出力する。これら予測誤差のそ
れぞれは、図2に示す比較選択器114により互いの大
小が比較され、36個の第1候補点の中から予測誤差の
小さい順に9個が第2候補点として選択される。この9
個の第2候補点は、動きベクトル候補群として、その予
測誤差と共に図1に示すベクトル記憶装置105に格納
され、以下に説明する第2段階の動きベクトル探索の対
象とされる。
In this way, each arithmetic unit 113 shown in FIG. 2 sequentially inputs image data corresponding to all pixel points (36 first candidate points) in the search range 505C shown in FIG. As a result of the arithmetic processing, the absolute value of the difference data is cumulatively added to the register 124 of the arithmetic unit 113 shown in FIG. 3, and each arithmetic unit 113 outputs this as a prediction error. Each of these prediction errors is compared in magnitude by the comparison selector 114 shown in FIG. 2, and nine out of the 36 first candidate points are selected as the second candidate points in ascending order of the prediction error. This 9
The second candidate points are stored in the vector storage device 105 shown in FIG. 1 together with the prediction error as a group of motion vector candidates, and are subjected to a second-stage motion vector search described below.

【0033】以下、第2段階の動きベクトル探索につい
て説明する。この第2段階の動きベクトル探索は、図1
に示す2次動きベクトル検出部100Bが以下のように
動作して行う。上述したように、1次動きベクトル探索
部100Aにおける第1段階の動きベクトル探索の結
果、動きベクトル候補群が選ばれると、次に、図1に示
す2次動きベクトル検出部100Bを構成する第2デー
タ制御器108は、ベクトル記録装置105を参照し
て、図7に示す9個の各第2候補点153の参照画像デ
ータ及び符号化対象画像データのそれぞれを、参照フレ
ーム第1メモリ101及び対象フレーム第1メモリ10
2から参照フレーム第2メモリ106及び対象フレーム
第2メモリ107に書き込む。
Hereinafter, the second stage motion vector search will be described. This second-stage motion vector search is performed as shown in FIG.
Is performed by operating as follows. As described above, when a motion vector candidate group is selected as a result of the first-stage motion vector search in the primary motion vector search unit 100A, the second motion vector detection unit 100B shown in FIG. The two data controller 108 refers to the vector recording device 105, and stores the reference image data and the encoding target image data of each of the nine second candidate points 153 shown in FIG. Target frame first memory 10
2 to the reference frame second memory 106 and the target frame second memory 107.

【0034】なお、参照フレーム第1メモリ101及び
対象フレーム第1メモリ102の内容を参照フレーム第
2メモリ106及び対象フレーム第2メモリ107に書
き込むにあたっては、9個の第2候補点の画像データに
限らず、全てを書き込むように構成してもよい。このよ
うに構成した場合、必要とする9個の候補点の画像デー
タを後段の第2段階動きベクトル検出器109に読み込
ませるにあたっては、第2データ制御器108が9個の
第2候補点153の画像データが格納されたアドレスを
指定して、参照フレーム第2メモリ106及び対象フレ
ーム第2メモリ107をアクセスする。
When writing the contents of the reference frame first memory 101 and the target frame first memory 102 into the reference frame second memory 106 and the target frame second memory 107, the image data of the nine second candidate points is used. The present invention is not limited to this, and may be configured to write all. With this configuration, the second data controller 108 reads the nine second candidate points 153 when the second-stage motion vector detector 109 at the subsequent stage reads the image data of the necessary nine candidate points. The reference frame second memory 106 and the target frame second memory 107 are accessed by designating the address at which the image data is stored.

【0035】次に、第2段階動きベクトル検出器109
は、参照フレーム第2メモリ106及び対象フレーム第
2メモリ107に書き込まれた9個の第2候補点153
の画像データの全ビット(8ビット/1画素)を用いて
予測誤差を演算し、図8に示すように、9個の第2候補
点153の中から予測誤差を最小とする1個を探索点1
54として特定する。そして、この特定された探索点1
54と探索基準点151との相対位置から動きベクトル
を検出する。
Next, the second-stage motion vector detector 109
Are the nine second candidate points 153 written in the reference frame second memory 106 and the target frame second memory 107.
A prediction error is calculated using all the bits (8 bits / 1 pixel) of the image data, and as shown in FIG. 8, one of the nine second candidate points 153 that minimizes the prediction error is searched. Point 1
It is specified as 54. Then, the specified search point 1
The motion vector is detected from the relative position between the search reference point 151 and the search reference point 151.

【0036】ここで、動きベクトル検出器109の動作
について、さらに詳細に説明する。図4に詳細な構成を
示す第2段階動きベクトル検出器109は、図7に示す
9個の第2候補点153の画像データの全て(8ビット
/1画素)を用いて、前述の第1段階動きベクトル検出
器104と同様に動作して、図8に示す探索点154を
特定する。即ち、第2段階動きベクトル検出器109を
構成する図4に示す演算ユニット133は、前述の演算
ユニット113と同様に動作して、累積された予測誤差
を出力する。この予測誤差は、同図に示す比較選択器1
34により互いの大小が比較され、9個の第2候補点の
中から予測誤差(第2の予測誤差)が最も小さな1個が
探索点154として特定され、探索基準点151との相
対位置より動きベクトルが検出される。
Here, the operation of the motion vector detector 109 will be described in more detail. The second-stage motion vector detector 109 having a detailed configuration shown in FIG. 4 uses the image data (8 bits / 1 pixel) of the nine second candidate points 153 shown in FIG. The same operation as the step motion vector detector 104 is performed to specify the search point 154 shown in FIG. That is, the arithmetic unit 133 shown in FIG. 4 that constitutes the second-stage motion vector detector 109 operates in the same manner as the above-described arithmetic unit 113, and outputs the accumulated prediction error. This prediction error is obtained by comparing the selector 1 shown in FIG.
34, the magnitude is compared with each other. One of the nine second candidate points having the smallest prediction error (second prediction error) is specified as the search point 154, and the relative position with respect to the search reference point 151 is determined. A motion vector is detected.

【0037】なお、上述した本実施形態の装置は、第1
段階の動きベクトル探索において、探索範囲505C内
にある全ての画素点を対象として予測誤差を演算するよ
うに構成したが、第1段階の探索で候補点の間引きを行
うように構成してもよい。また、第1段階の動きベクト
ル探索では、画像データの上位2ビットを用いて探索を
行い、第2段階の動きベクトル探索では全ビット(8ビ
ット/画素)を用いて探索を行うものとして構成した
が、各段階で使用する画像データのビット数は、後段側
が大きくなっていればどのような配分であってもよく、
さらに段数を増やして構成してもよい。
The above-described apparatus according to the present embodiment has a first
In the motion vector search at the stage, the prediction error is calculated for all the pixel points within the search range 505C. However, the candidate point may be thinned out at the search at the first stage. . In the first stage motion vector search, a search is performed using the upper two bits of image data, and in the second stage motion vector search, a search is performed using all bits (8 bits / pixel). However, the number of bits of image data used in each stage may be any distribution as long as the subsequent stage is large,
The number of stages may be further increased.

【0038】また、従来の階層化探索法である2ステッ
プサーチや3ステップサーチでは、候補点の間引きを行
うため、動きベクトルの検出精度が低下するが、本実施
形態の装置によれば、探索を階層化して画像データの有
効ビット数を段階的に増やしながら全ての候補点につい
て探索するので、ハードウェアの規模を削減しながら、
同時に高い検出精度を維持することができる。
In the conventional two-step search or three-step search, which is a hierarchical search method, the detection accuracy of a motion vector is reduced due to the thinning out of candidate points. Is searched for all candidate points while increasing the number of effective bits of the image data step by step, so while reducing the scale of hardware,
At the same time, high detection accuracy can be maintained.

【0039】(第2の実施の形態について)次に、図9
〜図17を参照しながら、本発明の第2の実施の形態に
係る動きベクトル検出装置について説明する。図9に示
す本実施形態の装置は、前述の第1の実施形態の装置と
同様に、動きベクトルの検出を段階的に行うものである
が、第1段階の動きベクトル探索で用いる予測誤差の演
算ユニットと第2段階の探索で用いる演算ユニットとを
共用することに特徴を有して構成されている。
(Regarding the Second Embodiment) Next, FIG.
A motion vector detecting device according to a second embodiment of the present invention will be described with reference to FIGS. The device of the present embodiment shown in FIG. 9 performs the detection of the motion vector in a stepwise manner, similarly to the device of the first embodiment described above. It is characterized in that the arithmetic unit and the arithmetic unit used in the second stage search are shared.

【0040】即ち、図9に示す本実施形態の装置は、参
照画像データを蓄える参照フレームメモリ161と、符
号化対象画像データを蓄える対象フレームメモリ162
と、前記参照フレームメモリ161及び対象フレームメ
モリ162から画像データの読出し制御を行うと共に後
述の多段階動きベクトル検出器164の制御を行うデー
タ制御器163と、前記参照フレームメモリ161及び
対象フレームメモリ162から符号化対象画像データ及
び参照画像データを読み出して予測誤差及び動きベクト
ルを求める多段階動きベクトル検出器164と、該多段
階動きベクトル検出器164で求められた動きベクトル
及び予測誤差を格納するベクトル記憶装置166と、前
記多段階動きベクトル検出器164の動作を制御する多
段階ベクトル検出制御器165とを備えて構成されてい
る。
That is, the apparatus of this embodiment shown in FIG. 9 has a reference frame memory 161 for storing reference image data and a target frame memory 162 for storing encoding target image data.
A data controller 163 for controlling reading of image data from the reference frame memory 161 and the target frame memory 162 and for controlling a multi-stage motion vector detector 164 described later; and the reference frame memory 161 and the target frame memory 162 A multi-stage motion vector detector 164 that reads out the encoding target image data and the reference image data from the CPU and obtains a prediction error and a motion vector, and a vector that stores the motion vector and the prediction error obtained by the multi-stage motion vector detector 164 The storage device includes a storage device 166 and a multi-stage vector detection controller 165 for controlling the operation of the multi-stage motion vector detector 164.

【0041】ここで、図9に示す多段階動きベクトル検
出器164は、図10に詳細な構成を示すように、入力
した参照画像データを後述の演算ユニット群173Gに
出力する参照画像データ分配器171と、入力した符号
化対象画像データを後述の各演算ユニット群173Gに
出力する対象画像データ分配器172と、参照画像デー
タ分配器171及び対象画像データ分配器172から入
力した参照画像データ及び符号化対象画像データから予
測誤差を演算する演算ユニット群173Gと、前記演算
ユニット群173Gで求められた予測誤差を比較し、1
個或いは複数個の動きベクトルを検出する比較演算器1
74とを備えて構成されている。ここで、演算ユニット
群173Gは、後述するように複数の演算ユニット17
3から構成されている。
Here, a multi-stage motion vector detector 164 shown in FIG. 9 is a reference image data distributor which outputs input reference image data to a later-described operation unit group 173G, as shown in FIG. 171, a target image data distributor 172 that outputs the input encoding target image data to each of the operation unit groups 173 </ b> G described later, the reference image data distributor 171 and the reference image data and codes input from the target image data distributor 172. The operation unit group 173G that calculates the prediction error from the image data to be converted and the prediction error obtained by the operation unit group 173G are compared with each other.
Comparison arithmetic unit 1 for detecting one or more motion vectors
74. Here, the operation unit group 173G includes a plurality of operation units 17, as described later.
3 is comprised.

【0042】また、図10に示す演算ユニット173
は、図11にその詳細な構成を示すように、時分割して
入力する4画素分の符号化対象画像データ及び参照画像
データの上位2ビットを後述する差分演算器群183G
に出力するビットスライス制御群181Gと、後述する
差分演算器群183Gに画像データを中継すると共にキ
ャリーの中継を行う差分演算用入力/キャリー制御器1
82と、入力された符号化画像データと参照画像データ
との差分を演算して3ビットの差分データを出力する差
分演算器群183Gと、差分データの絶対値を求める絶
対値演算器群184Gと、後述する加算器群186Gの
キャリーの中継を行うと共に絶対値演算器群184Gが
出力する差分データの絶対値を中継する加算器用入力/
キャリー制御器185と、加算器用入力/キャリー制御
器185に中継された差分データの絶対値を後述するレ
ジスタ群187Gの内容に加算する加算器186と、該
加算器群186Gの加算結果を格納するレジスタ群18
7Gと、レジスタ群187Gの出力を統括して差の絶対
値和を出力する統合部188とを備えて構成されてい
る。なお、ビットスライス制御群181Gは、時分割し
て入力する4画素分の参照画像データ及び符号化対象画
像データの上位2ビットを切り出してそれぞれ出力する
2基のビットスライス制御部181から構成されてい
る。
The operation unit 173 shown in FIG.
As shown in FIG. 11, the upper two bits of encoding target image data and reference image data for four pixels input in a time-division manner are referred to as
Calculation and input / carry controller 1 for relaying image data to a difference calculator group 183G to be described later and relaying carry.
82, a group of difference calculators 183G for calculating a difference between the input coded image data and the reference image data and outputting 3-bit difference data, and a group of absolute value calculators 184G for calculating the absolute value of the difference data. The adder input / relay relays the carry of the adder group 186G, which will be described later, and relays the absolute value of the difference data output by the absolute value calculator group 184G.
A carry controller 185, an adder 186 that adds the absolute value of the difference data relayed to the adder input / carry controller 185 to the contents of a register group 187G described below, and stores the addition result of the adder group 186G. Register group 18
7G, and an integration unit 188 that controls the outputs of the register group 187G and outputs the sum of absolute differences. The bit slice control group 181G is composed of two bit slice control units 181 that cut out the upper two bits of the reference image data of four pixels input in a time-division manner and the upper two bits of the image data to be encoded, and output them. I have.

【0043】ここで、差分演算器群183G、絶対値演
算器群184G、加算器群186G及びレジスタ群18
7Gの各群を構成する差分演算器183、絶対値演算器
184、加算器186aまたは186b、レジスタ18
7が形成する一連の経路は予測誤差演算ユニット(予測
誤差演算手段)を形成する。また、差分演算器群183
Gを構成する4基の差分演算器183は、キャリーを中
継して(介して)縦従的に接続されると、2ビットから
8ビットに入力ビット幅が拡張された1つの差分演算器
として機能する。同様に、絶対値演算器群184G、加
算器群186G及びレジスタ群187Gの各群において
各構成要素がキャリーを介して縦従的に接続されると、
先の予測誤差演算ユニットがキャリーを介して縦従的に
接続され、2ビットから8ビットに入力ビット幅が拡張
されて機能するものとなる。なお、キャリーを中継しな
い場合には、各群の構成要素は単独で機能し、予測誤差
演算ユニットは独立に機能するものとなる。
Here, a group of difference calculators 183G, a group of absolute value calculators 184G, a group of adders 186G, and a group of registers 18
7G, a difference calculator 183, an absolute value calculator 184, an adder 186a or 186b, and a register 18
A series of paths formed by 7 form a prediction error calculation unit (prediction error calculation means). Further, the difference arithmetic unit group 183
When the four difference calculators 183 constituting G are connected in a cascaded manner via a carry, the difference calculators 183 form one difference calculator having an input bit width extended from 2 bits to 8 bits. Function. Similarly, in each group of the absolute value calculator group 184G, the adder group 186G, and the register group 187G, when the respective components are connected in cascade via the carry,
The above-described prediction error calculation unit is connected vertically via a carry, and functions by extending the input bit width from 2 bits to 8 bits. When the carry is not relayed, the constituent elements of each group function independently, and the prediction error calculation unit functions independently.

【0044】例えば、図11に示す加算器群186Gを
構成する加算器186は、図12にその詳細な構成を示
すように、外部から入力した8ビットデータを上位6ビ
ットと下位2ビットに分けてそれぞれを後述の半加算器
192と全加算器193とに入力する分配器191と、
分配器191から分配される6ビットデータと全加算器
193からの1ビットのキャリーとの和を求める半加算
器192と、分配器191から分配される下位2ビット
データと外部から入力する2ビットデータとの和を求め
る全加算器193とを備えて構成されている。
For example, the adder 186 forming the adder group 186G shown in FIG. 11 divides 8-bit data input from the outside into upper 6 bits and lower 2 bits as shown in FIG. A distributor 191 for inputting each to a half adder 192 and a full adder 193, which will be described later,
Half adder 192 for calculating the sum of 6-bit data distributed from distributor 191 and 1-bit carry from full adder 193, lower 2-bit data distributed from distributor 191 and 2-bit externally input And a full adder 193 for calculating the sum with the data.

【0045】同図に示すように、加算器群186Gを構
成する各加算器186が単独に機能する場合には、下位
側からのキャリーを強制的に“0”に固定して、8ビッ
トデータと2ビットデータの加算器として機能する。ま
た、キャリーを介して縦従的に接続されて機能する場合
には、図12に示す加算器群186Gの構成が、等価的
に図13(a)に示す構成に修正される。即ち、この場
合、加算器186を構成する全加算器193が生成する
キャリーは上位側の全加算器193に与えられ、4基の
加算器186がキャリーを介して縦従的に接続される。
この場合、最上位の加算器186を除いて、半加算器1
92の出力が無視され、外部から入力される8ビットデ
ータの下位2ビットに外部から入力される2ビットデー
タを加算して2ビットデータを出力するものとなる。な
お、最下位の加算器186に入力されるキャリーは強制
的に“0”に固定される。
As shown in the figure, when each adder 186 constituting the adder group 186G functions independently, the carry from the lower side is forcibly fixed to "0" and the 8-bit data is Functions as an adder for the 2-bit data. In addition, in the case of functioning by being connected in cascade via a carry, the configuration of the adder group 186G shown in FIG. 12 is equivalently modified to the configuration shown in FIG. That is, in this case, the carry generated by the full adder 193 constituting the adder 186 is given to the upper full adder 193, and the four adders 186 are connected in cascade via the carry.
In this case, except for the top adder 186, the half adder 1
The output 92 is ignored, and 2-bit data input from outside is added to the lower 2 bits of 8-bit data input from outside to output 2-bit data. The carry input to the lowest adder 186 is forcibly fixed to "0".

【0046】このように、キャリーを介して4基の加算
器186を縦従的に接続する結果、最上位の加算器18
6の分配器191に外部から入力される8ビットデータ
を除いて、下位側の3基の加算器186の分配器191
に外部から入力される8ビットデータは下位2ビットの
みが有効とされるので、結果として図13(b)にシン
ボル化して示すように、加算器群186Gは、14ビッ
トデータと8ビットデータとを加算して14ビットデー
タを出力する1つの加算器として機能する。
As described above, as a result of connecting the four adders 186 in cascade via the carry, the uppermost adder 18
6 except for the 8-bit data input from the outside to the distributor 191 of the 6th adder 186.
Since only the lower 2 bits of the 8-bit data input from outside are valid, the adder group 186G consequently generates the 14-bit data and the 8-bit data as shown in FIG. Function as one adder for adding 14 bits to output 14-bit data.

【0047】また、図11に示すビットスライス制御群
181Gを構成する2基のビットスライス制御部181
は、図14(a)に詳細な構成を示すように、入力した
8ビットデータを下位ビット側から順に4系統の2ビッ
トデータに分割する分配器201と、該分配器201に
分割された下位側の3系統または最上位の1系統の何れ
かに切り替えて出力する切替器群202Gと、前記分配
器201に分割された最上位の系統の2ビットと3基の
切替器202の出力とをそれぞれ入力して保持するレジ
スタ群203Gとを備えて構成されている。
Further, two bit slice control units 181 constituting the bit slice control group 181G shown in FIG.
As shown in FIG. 14A, a distributor 201 divides input 8-bit data into four 2-bit data in order from the lower bit side, A switch group 202G that switches to and outputs either one of the three systems on the side or one of the highest systems, and the two bits of the highest system divided by the distributor 201 and the outputs of the three switches 202. And a register group 203G for inputting and holding each of them.

【0048】さらに、図11に示す統合部188は、図
15(a)に詳細な構成を示すように、入力した4系統
の8ビットデータから1系統を選択して切り替える切替
器211と、入力した4系統の8ビットデータのうち下
位側3系統の8ビットデータの下位2ビットまたは0を
選択して切り替える切替器212と、切替器211及び
212の出力を保持するレジスタ213とを備えて構成
されている。
Further, the integrating unit 188 shown in FIG. 11 includes, as shown in detail in FIG. 15A, a switching unit 211 for selecting and switching one system from among the inputted four 8-bit data, A switch 212 that selects and switches the lower 2 bits or 0 of the lower 3 systems of 8-bit data from the 4 systems of 8-bit data, and a register 213 that holds the outputs of the switches 211 and 212 Have been.

【0049】以下、前述した第1の実施形態と同様に、
図6に示すように、動きベクトルの探索範囲を縦横共に
探索基準点151に対して−3〜+2画素の範囲505
Cとし、画像データは1画素あたり8ビットから構成さ
れているものとし、分割された小ブロックのサイズを8
×8画素とし、図9に示す多段階動きベクトル演算器1
64が9基の演算ユニット173を有している場合を例
として、本実施形態の装置の動作について詳細に説明す
る。なお、説明にあたっては、必要に応じて、前述の図
6から図8を援用する。
Hereinafter, similarly to the above-described first embodiment,
As shown in FIG. 6, the search range of the motion vector in the vertical and horizontal directions is a range 505 of -3 to +2 pixels with respect to the search reference point 151.
C, the image data is composed of 8 bits per pixel, and the size of the divided small block is 8
× 8 pixels, and a multi-stage motion vector calculator 1 shown in FIG.
The operation of the apparatus according to the present embodiment will be described in detail by taking, as an example, a case where 64 has nine arithmetic units 173. In the description, the above-described FIG. 6 to FIG. 8 are used as necessary.

【0050】以下に詳細に説明するように、本実施形態
の装置は、第1段階の動きベクトル探索において全ての
候補点に対して画像データの上位2ビットを用いて予測
誤差を演算して候補点を9個に絞り、第2段階の動きベ
クトル探索において第1段階の探索で絞られた9個の候
補点に対して予測誤差を演算して、最終的に1個の候補
点(探索点)に絞り込んで探索を行うものである。
As will be described in detail below, the apparatus of this embodiment calculates a prediction error using the upper two bits of the image data for all candidate points in the first-stage motion vector search. The points are narrowed down to nine points, and in the second stage motion vector search, prediction errors are calculated for the nine candidate points narrowed down in the first stage search, and finally one candidate point (search point ) To perform a search.

【0051】先ず、第1段階の動きベクトル探索では、
図6に示す36個の第1候補点152を対象に予測誤差
を演算する。即ち、図9に示す多段階動きベクトル検出
器164は、参照画像データ及び符号化対象画像データ
のそれぞれ上位2ビットを用いて動きベクトル候補群の
検出を行う。このとき、図10に示すように、1基の演
算ユニット173に対して4個の第1候補点152に対
応した予測誤差演算を割り当て、全9基の演算ユニット
173を用いることにより、全36個の第1候補点15
2の予測誤差の演算を並列に行う。
First, in the first stage motion vector search,
A prediction error is calculated for the 36 first candidate points 152 shown in FIG. That is, the multi-stage motion vector detector 164 illustrated in FIG. 9 detects a motion vector candidate group using the upper two bits of each of the reference image data and the encoding target image data. At this time, as shown in FIG. 10, the prediction error calculation corresponding to the four first candidate points 152 is assigned to one operation unit 173, and by using all the nine operation units 173, a total of 36 First candidate points 15
The calculation of the prediction error of No. 2 is performed in parallel.

【0052】この第1段階の動きベクトル探索におい
て、図11に示すビットスライス制御部181は、時分
割して入力した4画素分の参照画像データ及び符号化対
象画像データのそれぞれ上位2ビットを順次切り出し
て、後段の差分演算用入力/キャリー制御器182に与
える。この時、ビットスライス制御部181は、図14
(a)に詳細を示すビットスライス制御部181の構成
が、等価的に同図(b)に示す構成となるように、同図
(a)に示す切替器群202Gの状態が制御される。こ
の結果、分配器201は、ビットスライス制御部181
に入力される8ビットデータの上位2ビットを切り出
し、これが後段のレジスタ203に共通に入力される。
In the motion vector search at the first stage, the bit slice control section 181 shown in FIG. 11 sequentially assigns the upper two bits of the reference image data and the encoding target image data for four pixels input in a time-division manner. It is cut out and given to a difference calculation input / carry controller 182 at the subsequent stage. At this time, the bit slice control unit 181
The state of the switch group 202G shown in FIG. 11A is controlled such that the configuration of the bit slice control unit 181 shown in detail in FIG. 10A is equivalent to the configuration shown in FIG. As a result, the distributor 201 sets the bit slice control unit 181
The upper two bits of the 8-bit data input to the register 203 are cut out, and this is commonly input to the register 203 at the subsequent stage.

【0053】このビットスライス制御部181への画像
データの入力は、4画素分の符号化対象画像データ及び
参照画像データをそれぞれ4回に時分割して行われ、符
号化画素および参照画素のそれぞれについて、4基のレ
ジスタからなるレジスタ群203Gに4画素分の各画像
データの上位2ビットを保持して、図11に示す差分演
算用入力/キャリー制御器182に出力する。
The input of the image data to the bit slice control unit 181 is performed by time-dividing the image data to be encoded and the reference image data for four pixels into four times, respectively. , The upper two bits of each image data for four pixels are held in a register group 203G composed of four registers and output to the difference calculation input / carry controller 182 shown in FIG.

【0054】次に、図11に示す差分演算用入力/キャ
リー制御器182は、図16(a)に示すように、入力
端子群[a0,a1,b0,b1,c0,c1,d0,
d1]に入力した4組の2ビットの参照画像データ及び
符号化画像データを中継して、そのまま出力端子群[a
2,a3,b2,b3,c2,c3,d2,d3]から
出力し、後段の差分演算器群183Gに与える。この
時、キャリー入力端子群[b4,c4,d4]に入力さ
れるキャリーを中継せず、キャリー出力端子群[a5,
b5,c5]に“0”を出力し、各差分演算器183を
単独に機能させる。
Next, as shown in FIG. 16A, the difference calculation input / carry controller 182 shown in FIG. 11 has an input terminal group [a0, a1, b0, b1, c0, c1, d0,
d1], and relays the four sets of 2-bit reference image data and coded image data input to the output terminal group [a].
2, a3, b2, b3, c2, c3, d2, d3], and supplies the result to the difference calculator group 183G at the subsequent stage. At this time, the carry input terminals [b5, c4, d4] are not relayed, and the carry output terminal groups [a5,
b5, c5], “0” is output, and each difference calculator 183 functions independently.

【0055】そして、図11に示す差分演算器183の
それぞれは、4画素分の上位2ビットの参照画像データ
および符号化画像データを入力して差分を演算し、3ビ
ットの差分データを後段の絶対値演算器184に与え
る。絶対値演算器184は、入力した3ビットの差分デ
ータの絶対値を求めて、結果を2ビットの絶対値データ
として後段の加算器用入力/キャリー制御器185に与
える。この際、同図の絶対値演算器184間のキャリー
は使用せず、各絶対演算器184も単独で機能する。
Each of the difference calculators 183 shown in FIG. 11 receives the upper two-bit reference image data and the coded image data for four pixels, calculates the difference, and outputs the three-bit difference data at the subsequent stage. It is given to the absolute value calculator 184. The absolute value calculator 184 calculates the absolute value of the input 3-bit difference data, and supplies the result to the subsequent adder input / carry controller 185 as 2-bit absolute value data. At this time, the carry between the absolute value calculators 184 in FIG. 9 is not used, and each absolute calculator 184 functions independently.

【0056】次に、同図の加算器用入力およびキャリー
制御器185は、図17(a)に示すように、入力端子
群[e0,e1,f0,f1,g0,g1,h0,h
1]に入力したデータを、そのまま出力端子群[e2,
e3,f2,f3,g2,g3,h2,h3]から出力
し、後段の加算器群186Gに与える。この時、キャリ
ー入力端子群(f4,g4,h4)に入力するキャリー
を中継せず、キャリー出力端子群[e5,f5,g5]
に強制的に“0”を出力し、各加算器を単独に機能させ
る。この結果、図11に示す各加算器186は、絶対値
演算器184の出力(2ビット)とレジスタ187の出
力(8ビット)との和を演算し、この演算結果はレジス
タ187に累積される。各レジスタ187の累積結果
は、対応する候補点の予測誤差となる。即ち、4個の候
補点の予測誤差が4個のレジスタ187に格納される。
Next, the input and carry controller 185 for the adder shown in FIG. 17 has an input terminal group [e0, e1, f0, f1, g0, g1, h0, h] as shown in FIG.
1] is output to the output terminal group [e2,
e3, f2, f3, g2, g3, h2, h3], and provides it to the subsequent adder group 186G. At this time, the carry input to the carry input terminal group (f4, g4, h4) is not relayed, and the carry output terminal group [e5, f5, g5] is not relayed.
Forcibly outputs "0" to each of the adders to function independently. As a result, each adder 186 shown in FIG. 11 calculates the sum of the output (2 bits) of the absolute value calculator 184 and the output (8 bits) of the register 187, and the calculation result is accumulated in the register 187. . The accumulation result of each register 187 becomes the prediction error of the corresponding candidate point. That is, the prediction errors of the four candidate points are stored in the four registers 187.

【0057】また、図11に示す統合部188は、図1
5(a)に示す統合部188の構成が同図(b)に示す
構成と等価となるように、その切替器211及び212
の状態が制御される。すなわち、同図(b)に示すよう
に、統合部188は、入力される4系統の8ビットデー
タの中から切替器211で1系統のみを選択してレジス
タ213の上位8ビットに入力する。また、レジスタ2
13の下位6ビットには“0”を入力し、これを上位8
ビットに連結して、図11に示す演算ユニット173の
14ビットの出力(差の絶対値和)とする。これを4回
繰り返すことで4個の候補点の予測誤差としての差の絶
対値和が、図10に示す各演算ユニット173から順次
出力される。
The integrating unit 188 shown in FIG.
The switching units 211 and 212 are configured such that the configuration of the integration unit 188 illustrated in FIG. 5A is equivalent to the configuration illustrated in FIG.
Is controlled. That is, as shown in FIG. 7B, the integrating unit 188 selects only one system from the input four-system 8-bit data by the switch 211 and inputs the selected system to the upper eight bits of the register 213. Also, register 2
"0" is input to the lower 6 bits of the upper 13 bits and
These are connected to the bits to form a 14-bit output (sum of absolute values of differences) of the arithmetic unit 173 shown in FIG. By repeating this four times, the sum of absolute values of the differences as the prediction errors of the four candidate points is sequentially output from each arithmetic unit 173 shown in FIG.

【0058】従って、計9個の演算ユニット173のそ
れぞれから4個の予測誤差が出力されると、36個全て
の候補点についての予測誤差が得られることになる。こ
れらの候補点の中から、図10に示す比較選択器174
により予測誤差の小さい順に9個が選択され、この9個
の候補点を第2段階の動きベクトル探索における探索対
象であるところの図7に示す第2候補点153として、
第1段階の動きベクトル探索が終了する。
Therefore, when four prediction errors are output from each of the nine arithmetic units 173, prediction errors are obtained for all 36 candidate points. From these candidate points, the comparison selector 174 shown in FIG.
As a result, nine candidate points are selected in ascending order of prediction error, and these nine candidate points are used as second candidate points 153 shown in FIG. 7 which are search targets in the second-stage motion vector search.
The first-stage motion vector search ends.

【0059】次に、上述の第1段階の動きベクトル探索
で求められた9個の第2候補点153について、第2段
階の動きベクトル探索を行う。第2段階の動きベクトル
検出では、図7に示す9個の第2候補点153を対象と
して予測誤差の演算を行い、予測誤差が最小となる候補
点を特定して図8に示す探索点154を求め、動きベク
トルを検出する。
Next, a second-stage motion vector search is performed on the nine second candidate points 153 obtained in the above-described first-stage motion vector search. In the motion vector detection at the second stage, the prediction error is calculated for the nine second candidate points 153 shown in FIG. 7, and the candidate point with the minimum prediction error is specified, and the search point 154 shown in FIG. And a motion vector is detected.

【0060】以下、第2段階の動きベクトル探索につい
て説明する。先ず、図10に示す1基の演算ユニット1
73に1個の第2候補点153の予測誤差の演算を割り
当て、9個の第2候補点153の予測誤差の演算を9基
の演算ユニット173で行う。すなわち、図11の演算
ユニット173の差分演算器群183G、加算器群18
6G、およびレジスタ群187Gのそれぞれにおける構
成要素間をキャリーを介して縦従的に結合して機能さ
せ、1個の第2候補点153について予測誤差の演算を
行うように機能させる。この時、予測誤差の演算は、画
像データの全ビット(8ビット/1画素)を用いて行
い、図7に示す全9個の候補点の予測誤差のうち図10
に示す比較選択器174により予測誤差の大小を比較
し、予測誤差が最小となる候補点を特定して最終的な動
きベクトルを検出する。
Hereinafter, the second stage motion vector search will be described. First, one arithmetic unit 1 shown in FIG.
The calculation of the prediction error of one second candidate point 153 is assigned to 73, and the calculation of the prediction error of the nine second candidate points 153 is performed by nine operation units 173. That is, the difference operation unit group 183G and the adder group 18 of the operation unit 173 in FIG.
6G and the registers in the register group 187G are connected in a cascaded manner via a carry so as to function so as to calculate a prediction error for one second candidate point 153. At this time, the calculation of the prediction error is performed using all the bits (8 bits / 1 pixel) of the image data, and among the prediction errors of all nine candidate points shown in FIG.
The magnitude of the prediction error is compared by the comparison selector 174 shown in (1), the candidate point with the smallest prediction error is specified, and the final motion vector is detected.

【0061】以下、詳細に説明する。先ず、第2段階の
動きベクトル探索にあたって、図11に示すビットスラ
イス制御部181は、入力した全ビット(8ビット/1
画素)の参照画像データおよび符号化対象画像データを
上位側より2ビット毎の4組に分け、後段の差分演算用
入力/キャリー制御器182に入力する。この時、ビッ
トスライス制御部181は、図14(a)に示すビット
スライス制御部181の構成が、同図(c)に示す構成
と等価となるように、その切替器群202Gの状態が制
御され、入力される8ビットデータのうち分配器201
で上位側から2ビット毎に分けて後段のレジスタ群20
3Gを構成する各レジスタに出力する。
The details will be described below. First, in the motion vector search at the second stage, the bit slice control unit 181 shown in FIG.
The reference image data of the pixel) and the image data to be encoded are divided into four groups of two bits from the upper side, and are input to the differential calculation input / carry controller 182 at the subsequent stage. At this time, the bit slice control unit 181 controls the state of the switch group 202G so that the configuration of the bit slice control unit 181 shown in FIG. 14A is equivalent to the configuration shown in FIG. Out of the input 8-bit data,
The register group 20 of the subsequent stage is divided every two bits from the upper side.
Output to each register constituting 3G.

【0062】また、図11に示す差分演算用入力/キャ
リー制御器182は、図16(b)に示すように、入力
端子群[a0,a1,b0,b1,c0,c1,d0,
d1]に入力した4組の2ビットの参照画像データおよ
び符号化対象画像データを中継して、そのまま出力端子
群[a2,a3,b2,b3,c2,c3,d2,d
3]から出力し、後段の差分演算器群183Gに与え
る。
The input / carry controller for difference calculation 182 shown in FIG. 11 has an input terminal group [a0, a1, b0, b1, c0, c1, d0,
d1], the four sets of 2-bit reference image data and the encoding target image data are relayed and output terminal groups [a2, a3, b2, b3, c2, c3, d2, d]
3], and is provided to the difference calculator group 183G at the subsequent stage.

【0063】また、この差分演算用入力/キャリー制御
器182は、各差分演算器183のキャリー出力をキャ
リー入力端子群(b4,c4,d4)にそれぞれ入力
し、これをキャリー出力端子群(a5,b5,c5)か
ら出力する。これにより、リップル・キャリー方式によ
り下位側からのキャリーが上位側に伝達され、4基の差
分演算器183が縦従的に機能し、1つの8ビット演算
器として動作する。このように機能する差分演算器群1
83Gは、参照画像データ及び符号化対象画像データの
全ビット(8ビット/1画素)を用いて8ビットの差分
演算を行い、この演算結果を後段の絶対値演算器群18
4Gに与える。
The difference calculation input / carry controller 182 inputs the carry output of each difference calculator 183 to the carry input terminal group (b4, c4, d4), and outputs the carry output terminal group (a5 , B5, c5). As a result, the carry from the lower side is transmitted to the upper side by the ripple carry method, and the four difference calculators 183 function in cascade and operate as one 8-bit calculator. Difference operation unit group 1 functioning in this manner
The 83G performs an 8-bit difference operation using all bits (8 bits / 1 pixel) of the reference image data and the encoding target image data, and outputs the operation result to the absolute value operation unit group 18 in the subsequent stage.
Give to 4G.

【0064】絶対値演算器群184Gは、前段の差分演
算器群183Gから与えられた差分データの絶対値を求
め、後段の加算器用入力/キャリー制御器185に与え
る。この時、4基の絶対値演算器184は互いにキャリ
ーを介して従属的に結合され、1個の絶対値演算器とし
て機能する。またこの時、同図11に示す加算器用入力
/キャリー制御器185は、図17(b)に示すよう
に、入力端子群[e0,e1,f0,f1,g0,g
1,h0,h1]に入力したデータを、そのまま出力端
子群[e2,e3,f2,f3,g2,g3,h2,h
3]から出力し、後段の加算器群186Gに与える。
The absolute value calculator group 184G calculates the absolute value of the difference data given from the preceding difference calculator group 183G, and supplies it to the subsequent input / carry controller 185 for the adder. At this time, the four absolute value calculators 184 are subordinately connected to each other via the carry, and function as one absolute value calculator. At this time, the input / carry controller 185 for the adder shown in FIG. 11 outputs the input terminal group [e0, e1, f0, f1, g0, g, as shown in FIG.
1, h0, h1] is directly output to the output terminal group [e2, e3, f2, f3, g2, g3, h2, h
3] to the adder group 186G at the subsequent stage.

【0065】また、後段の加算器群186Gのキャリー
出力をキャリー入力端子群[f4,g4,h4]に入力
し、これをキャリー出力端子群[e5,f5,g5]か
ら出力して、下位側から上位側の加算器186にリップ
ル・キャリー方式によりキャリーを伝達し、加算器群1
86Gを構成する4基の加算器186を1つの加算器と
して縦従的に機能させる。
The carry output of the adder group 186G at the subsequent stage is input to the carry input terminal group [f4, g4, h4], and is output from the carry output terminal group [e5, f5, g5]. Is transmitted to the adder 186 on the upper side by the ripple carry method, and the adder group 1
The four adders 186 constituting the 86G are made to function vertically as one adder.

【0066】すなわち、図11に示す加算器群186G
は、図13(a)に詳細な構成を示すように、キャリー
を介して4基の加算器186が従属的に結合して構成さ
れ、ビット幅が拡張された1つの加算器として機能す
る。ここで、下位側のビットの演算を担う3基の加算器
186は、2ビットデータの全加算器として動作し、上
位側2ビットの演算を担う最上位の加算器186は、8
ビットデータと2ビットデータとの加算器として動作す
る。このようにして、加算器群186Gは全体として図
13(b)に示すように、14ビット及び8ビットの入
力と14ビットの出力を備えた1つの加算器として機能
する。
That is, the adder group 186G shown in FIG.
As shown in FIG. 13A, the four adders 186 are subordinately coupled via a carry, and function as one adder with an expanded bit width. Here, the three adders 186 that perform the operation of the lower bits operate as full adders of the 2-bit data, and the uppermost adder 186 that performs the operation of the upper 2 bits is 8
It operates as an adder for bit data and 2-bit data. In this way, the adder group 186G functions as a single adder having 14-bit and 8-bit inputs and a 14-bit output, as shown in FIG. 13B as a whole.

【0067】この加算器群186Gの14ビットの出力
は、図11に示すレジスタ群187Gに格納されるが、
この時、同図に示す4基のレジスタ187のそれぞれ
は、上位側から8ビット、2ビット、2ビット、2ビッ
トのみが使用され、全体として14ビットのレジスタと
して動作する。従って、図11においてキャリーを介し
て従属的に統合された加算器群186Gとレジスタ群1
87Gとは、8ビット入力の累積加算器として機能し、
この累積結果は入力した画像データの候補点の予測誤差
となる。
The 14-bit output of the adder group 186G is stored in the register group 187G shown in FIG.
At this time, each of the four registers 187 shown in the figure uses only 8 bits, 2 bits, 2 bits, and 2 bits from the upper side, and operates as a 14-bit register as a whole. Therefore, in FIG. 11, the adder group 186G and the register group 1 which are subordinately integrated via the carry
87G functions as an accumulator of 8-bit input,
This accumulation result becomes a prediction error of the candidate point of the input image data.

【0068】また、図11に示す統合部188は、図1
5(a)に詳細に示す統合部188の構成が、同図
(c)に示す構成と等価となるように、切替器211及
び212の状態が制御され、図11に示す14ビットの
レジスタとして機能するレジスタ群187Gの出力は、
図15(c)に示す統合部188を構成するレジスタ2
13に保持され、これが図10に示す演算ユニット17
3の出力(予測誤差)として、同図に示す比較器174
に与えられる。そして、比較器174は、前段の9基の
演算ユニット173から与えられる予測誤差の大小を比
較して、予測誤差が最小となる候補点を図8に示す探索
点515として特定し、動きベクトルを算出する。この
動きベクトルは図9に示すベクトル記憶装置166に記
憶され、ベクトル記憶装置166は画像の各小ブロック
の動きベクトルを蓄積して、各画像フレームの動きベク
トル情報を格納する。
The integrating unit 188 shown in FIG.
The states of the switches 211 and 212 are controlled so that the configuration of the integration unit 188 shown in detail in FIG. 5A is equivalent to the configuration shown in FIG. The output of the working register group 187G is
Register 2 constituting integration unit 188 shown in FIG.
13 and this is the arithmetic unit 17 shown in FIG.
As an output (prediction error) of the comparator 174 shown in FIG.
Given to. Then, the comparator 174 compares the magnitudes of the prediction errors given from the nine operation units 173 at the preceding stage, identifies a candidate point having the smallest prediction error as the search point 515 shown in FIG. calculate. This motion vector is stored in the vector storage device 166 shown in FIG. 9, and the vector storage device 166 stores the motion vector of each small block of the image and stores the motion vector information of each image frame.

【0069】以上、詳細に説明したように、第2の実施
形態では、図11に示す差分演算用入力/キャリー制御
器182と加算用入力/キャリー制御部185を用いて
リプル・キャリー方式によりキャリーを伝達することに
より、差分演算器183、絶対値演算器184、加算器
186により構成される予測誤差演算ユニットを従属的
に統合したが、特にキャリーの伝達方式としては、特に
リプル・キャリー方式に限定されるものでなく、例え
ば、高速演算を目的として桁上がり処理を先見的に行う
キャリー・ルック・アヘッド方式を用いて実現すること
も可能である。
As described in detail above, in the second embodiment, the carry / ripple method is used by using the input / carry controller 182 for difference calculation and the input / carry controller 185 for addition shown in FIG. , The prediction error calculation unit constituted by the difference calculation unit 183, the absolute value calculation unit 184, and the adder 186 is subordinately integrated. In particular, the transmission method of the carry is the ripple carry method. The present invention is not limited to this. For example, it is also possible to use a carry look ahead method that performs carry processing in advance for the purpose of high-speed calculation.

【0070】また、上述した第1及び第2の実施形態で
は、動きベクトルを検出するにあたって、2段階に分け
て候補点の探索を行ったが、さらに段階数を増やしても
よい。さらに、上述した第2の実施形態では、演算ユニ
ット173を4基の差分演算器183で構成したが、こ
れに限定されるものではなく、対象とする画像データの
構造に応じて適切な数の差分演算器を設ければよい。
In the first and second embodiments described above, the search for the candidate point is performed in two stages when detecting the motion vector. However, the number of stages may be further increased. Further, in the above-described second embodiment, the arithmetic unit 173 is configured by four difference arithmetic units 183, but the present invention is not limited to this, and an appropriate number of arithmetic units may be selected according to the structure of the target image data. What is necessary is just to provide a difference arithmetic unit.

【0071】[0071]

【発明の効果】以上説明したように、本発明によれば、
以下の効果を得ることができる。即ち、請求項1に記載
の発明によれば、先ず画像データの上位ビットのみを用
いて動きベクトル候補群を検出し、この動きベクトル候
補群を対象としてさらに詳細な予測誤差の演算を行うよ
うに構成したので、動きベクトル探索のための演算量を
大幅に削減することができる。
As described above, according to the present invention,
The following effects can be obtained. That is, according to the first aspect of the present invention, first, a motion vector candidate group is detected using only upper bits of image data, and a more detailed prediction error calculation is performed on the motion vector candidate group. With this configuration, the amount of calculation for searching for a motion vector can be significantly reduced.

【0072】しかも、初期の段階では画像データの上位
側のビットのみを用い、動きベクトル候補群を絞り込む
に従ってより多くのビットを用いて予測誤差の演算処理
を行うように構成したので、初期の探索段階で画像デー
タのビット数を削減しても、動きベクトルの検出精度に
与える影響はほとんどなく、動きベクトルの誤検出を有
効に防止することができる。
In addition, at the initial stage, only the upper bits of the image data are used, and the prediction error calculation process is performed using more bits as the motion vector candidate group is narrowed down. Even if the number of bits of the image data is reduced at the stage, there is almost no influence on the detection accuracy of the motion vector, and erroneous detection of the motion vector can be effectively prevented.

【0073】また、請求項2〜請求項4に記載の発明に
よれば、第一段階の探索とそれ以降の探索段階で、1つ
の予測誤差演算部を共通に使用し動作させるように構成
したので、動きベクトルの検出精度を低下させることな
く、ハードウェアの規模を小さくすることができる。
Further, according to the present invention, in the first search and the subsequent search stages, one prediction error calculation unit is commonly used and operated. Therefore, the hardware scale can be reduced without lowering the motion vector detection accuracy.

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

【図1】第1の実施形態に係る動きベクトル検出装置の
構成図である。
FIG. 1 is a configuration diagram of a motion vector detection device according to a first embodiment.

【図2】第1の実施形態に係る動きベクトル検出装置を
構成する第1段階動きベクトル検出器の構成図である。
FIG. 2 is a configuration diagram of a first-stage motion vector detector included in the motion vector detection device according to the first embodiment.

【図3】第1の実施形態に係る動きベクトル検出装置の
第1段階動きベクトル検出器を構成する演算ユニットの
構成図である。
FIG. 3 is a configuration diagram of an arithmetic unit configuring a first-stage motion vector detector of the motion vector detection device according to the first embodiment.

【図4】第1の実施形態に係る動きベクトル検出装置を
構成する第2段階動きベクトル検出器の構成図である。
FIG. 4 is a configuration diagram of a second-stage motion vector detector included in the motion vector detection device according to the first embodiment.

【図5】第1の実施形態に係る動きベクトル検出装置の
第2段階動きベクトル検出器を構成する演算ユニットの
構成図である。
FIG. 5 is a configuration diagram of an arithmetic unit configuring a second-stage motion vector detector of the motion vector detection device according to the first embodiment.

【図6】第1及び第2の実施形態に係る動きベクトル検
出装置の動作を説明するための説明図である。
FIG. 6 is an explanatory diagram for explaining an operation of the motion vector detection device according to the first and second embodiments.

【図7】第1及び第2の実施形態に係る動きベクトル検
出装置の動作を説明するための説明図である。
FIG. 7 is an explanatory diagram for explaining an operation of the motion vector detection device according to the first and second embodiments.

【図8】第1及び第2の実施形態に係る動きベクトル検
出装置の動作を説明するための説明図である。
FIG. 8 is an explanatory diagram for explaining an operation of the motion vector detection device according to the first and second embodiments.

【図9】第2の実施形態に係る動きベクトル検出装置の
構成図である。
FIG. 9 is a configuration diagram of a motion vector detection device according to a second embodiment.

【図10】第2の実施形態に係る動きベクトル検出装置
を構成する多段階動きベクトル検出器の構成図である。
FIG. 10 is a configuration diagram of a multi-stage motion vector detector included in the motion vector detection device according to the second embodiment.

【図11】第2の実施形態に係る動きベクトル検出装置
を構成する演算ユニットの構成図である。
FIG. 11 is a configuration diagram of an arithmetic unit included in a motion vector detection device according to a second embodiment.

【図12】第2の実施形態に係る動きベクトル検出装置
の演算ユニットを構成する加算器群の構成図である。
FIG. 12 is a configuration diagram of a group of adders forming an operation unit of the motion vector detection device according to the second embodiment.

【図13】(a)は、第2の実施形態に係る動きベクト
ル検出装置の演算ユニットを構成する加算器群の構成図
である。(b)は、(a)に示す回路構成をシンボル化
して表した図である。
FIG. 13A is a configuration diagram of a group of adders constituting an operation unit of the motion vector detection device according to the second embodiment. FIG. 2B is a diagram showing the circuit configuration shown in FIG.

【図14】(a)〜(c)は、第2の実施形態に係る動
きベクトル検出装置の演算ユニットを構成するビットス
ライス制御部の構成図である。
FIGS. 14A to 14C are configuration diagrams of a bit slice control unit included in an arithmetic unit of the motion vector detection device according to the second embodiment.

【図15】(a)〜(c)は、第2の実施形態に係る動
きベクトル検出装置の演算ユニットを構成する統合部の
構成図である。
FIGS. 15A to 15C are configuration diagrams of an integration unit configuring an arithmetic unit of the motion vector detection device according to the second embodiment.

【図16】(a)及び(b)は、第2の実施形態に係る
動きベクトル検出装置の演算ユニットを構成する差分演
算用入力/キャリー制御器の動作の説明図である。
FIGS. 16 (a) and (b) are explanatory diagrams of the operation of a difference calculation input / carry controller constituting an operation unit of the motion vector detection device according to the second embodiment.

【図17】(a)及び(b)は、第2の実施形態に係る
動きベクトル検出装置の演算ユニットを構成する加算器
用入力/キャリー制御器の動作の説明図である。
FIGS. 17 (a) and (b) are explanatory diagrams of the operation of an adder input / carry controller constituting an operation unit of the motion vector detection device according to the second embodiment.

【図18】ブロックマッチング法の概念を説明するため
の説明図である。
FIG. 18 is an explanatory diagram for explaining the concept of the block matching method.

【図19】簡略探索法による動きベクトルの検出法を説
明するための説明図である。
FIG. 19 is an explanatory diagram for describing a method for detecting a motion vector by a simple search method.

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

100A 1次動きベクトル検出部 100B 2次動きベクトル検出部 101 参照フレーム第1メモリ 102 対象フレーム第1メモリ 103 第1データ制御部 104 第1段階動きベクトル検出器 105 ベクトル記憶装置 106 参照フレーム第2メモリ 107 対象フレーム第2メモリ 108 第2データ制御部 109 第2段階動きベクトル検出器 161 参照フレームメモリ 162 対象フレームメモリ 163 データ制御部 164 多段階動きベクトル検出器 165 多段階動きベクトル検出制御器 166 ベクトル記憶装置 100A Primary motion vector detection unit 100B Secondary motion vector detection unit 101 Reference frame first memory 102 Target frame first memory 103 First data control unit 104 First stage motion vector detector 105 Vector storage device 106 Reference frame second memory 107 Target frame second memory 108 Second data control unit 109 Second stage motion vector detector 161 Reference frame memory 162 Target frame memory 163 Data control unit 164 Multi-stage motion vector detector 165 Multi-stage motion vector detection controller 166 Vector storage apparatus

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 ブロックマッチング法を用いて動きベク
トルを検出する動きベクトル検出装置において、 画像データの上位側のビットを用いて予測誤差を演算
し、該演算の結果に基づき動きベクトル候補群を検出す
る第1の動きベクトル検出手段と、 前記動きベクトル候補群に対応する画像データの前記上
位側のビットと該ビットの下位側のビットとを用いて予
測誤差を演算し、該演算の結果に基づき前記動きベクト
ル候補群の中から動きベクトルを検出する第2の動きベ
クトル検出手段とを備えたことを特徴とする動きベクト
ル検出装置。
1. A motion vector detecting apparatus for detecting a motion vector by using a block matching method, wherein a prediction error is calculated using upper bits of image data, and a motion vector candidate group is detected based on the calculation result. A first motion vector detecting unit that calculates a prediction error using the upper bits and lower bits of the image data corresponding to the motion vector candidate group, based on a result of the calculation. And a second motion vector detecting means for detecting a motion vector from the motion vector candidate group.
【請求項2】 第1及び第2の動きベクトル検出手段
は、画像データの上位側のビット数をビット長とするビ
ット列を入力して予測誤差を演算する複数の予測誤差演
算手段を共有して備え、 前記複数の予測誤差演算手段が、それぞれ独立的に機能
して、第1の動きベクトル検出手段として予測誤差を演
算し、 前記複数の予測誤差演算手段が、キャリーを介して縦従
的に機能して、第2の動きベクトル検出手段として予測
誤差を演算することを特徴とする請求項1に記載の動き
ベクトル検出装置。
The first and second motion vector detection means share a plurality of prediction error calculation means for inputting a bit sequence having a bit length of the number of upper bits of image data and calculating a prediction error. The plurality of prediction error calculation means function independently of each other to calculate a prediction error as first motion vector detection means, and the plurality of prediction error calculation means The motion vector detecting device according to claim 1, wherein the motion vector calculating device calculates a prediction error as a second motion vector detecting means.
【請求項3】 キャリーは、リップル・キャリー方式に
より生成されることを特徴とする請求項2に記載の動き
ベクトル検出装置。
3. The motion vector detecting device according to claim 2, wherein the carry is generated by a ripple carry method.
【請求項4】 キャリーは、キャリー・ルック・アヘッ
ド方式により生成されることを特徴とする請求項2に記
載の動きベクトル検出装置。
4. The motion vector detecting device according to claim 2, wherein the carry is generated by a carry look ahead method.
JP23440696A 1996-09-04 1996-09-04 Motion vector detector Pending JPH1079943A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23440696A JPH1079943A (en) 1996-09-04 1996-09-04 Motion vector detector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23440696A JPH1079943A (en) 1996-09-04 1996-09-04 Motion vector detector

Publications (1)

Publication Number Publication Date
JPH1079943A true JPH1079943A (en) 1998-03-24

Family

ID=16970516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23440696A Pending JPH1079943A (en) 1996-09-04 1996-09-04 Motion vector detector

Country Status (1)

Country Link
JP (1) JPH1079943A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005175872A (en) * 2003-12-11 2005-06-30 Sony Corp Motion vector detecting apparatus, motion vector detecting method and computer program
JP2008060892A (en) * 2006-08-31 2008-03-13 Sanyo Electric Co Ltd Motion detection apparatus and method and imaging apparatus
JP2010034997A (en) * 2008-07-30 2010-02-12 Sony Corp Motion vector detecting apparatus, motion vector detecting method, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005175872A (en) * 2003-12-11 2005-06-30 Sony Corp Motion vector detecting apparatus, motion vector detecting method and computer program
JP4525064B2 (en) * 2003-12-11 2010-08-18 ソニー株式会社 Motion vector detection apparatus, motion vector detection method, and computer program
JP2008060892A (en) * 2006-08-31 2008-03-13 Sanyo Electric Co Ltd Motion detection apparatus and method and imaging apparatus
JP2010034997A (en) * 2008-07-30 2010-02-12 Sony Corp Motion vector detecting apparatus, motion vector detecting method, and program
JP4697275B2 (en) * 2008-07-30 2011-06-08 ソニー株式会社 Motion vector detection apparatus, motion vector detection method, and program

Similar Documents

Publication Publication Date Title
US4141034A (en) Digital encoding of color video signals
US5274453A (en) Image processing system
US4937666A (en) Circuit implementation of block matching algorithm with fractional precision
US5194864A (en) Vector quantization method and apparatus
JPH1079943A (en) Motion vector detector
Kaukoranta et al. Vector quantization by lazy pairwise nearest neighbor method
US20040146110A1 (en) Method for vector prediction
JP2002152750A (en) Motion vector detection method and device
US6707946B1 (en) Partition decoding method and device
US5991340A (en) Method and system for encoding and decoding data using run prediction
US5781128A (en) Data compression system and method
JP6881441B2 (en) Arithmetic coding device, arithmetic coding method, and arithmetic coding circuit
JP2608909B2 (en) Video predictive coding
US8391365B2 (en) Motion estimator and a motion estimation method
JP2004229150A (en) Motion vector searching method and device
JP2000023163A (en) Notion vector detection circuit
WO1998030016A2 (en) Method and apparatus for half pixel sad generation
JPH01265684A (en) Moving compensation inter-frame prediction coding and decoding device
JPWO2020054060A1 (en) Video coding method and video coding device
JPH0569354B2 (en)
JPH0993581A (en) Motion detector for moving image coder
KR100316411B1 (en) Apparatus for acquiring motion vectors of control points by classified vector quantization in control grid interpolation coder
JP2007110602A (en) Motion vector detector
JPH0834433B2 (en) Encoding device and encoding method
JP2000041251A (en) Moving vector detector

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041005