JPH0865676A - Image dncoding device - Google Patents

Image dncoding device

Info

Publication number
JPH0865676A
JPH0865676A JP19397194A JP19397194A JPH0865676A JP H0865676 A JPH0865676 A JP H0865676A JP 19397194 A JP19397194 A JP 19397194A JP 19397194 A JP19397194 A JP 19397194A JP H0865676 A JPH0865676 A JP H0865676A
Authority
JP
Japan
Prior art keywords
reference image
image
pixel
motion vector
motion
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.)
Granted
Application number
JP19397194A
Other languages
Japanese (ja)
Other versions
JP3634878B2 (en
Inventor
Yuichiro Nakaya
雄一郎 中屋
Junichi Kimura
淳一 木村
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Priority to JP19397194A priority Critical patent/JP3634878B2/en
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to US08/516,218 priority patent/US5684538A/en
Publication of JPH0865676A publication Critical patent/JPH0865676A/en
Priority to US08/903,199 priority patent/US5963259A/en
Priority to US09/364,255 priority patent/US6134271A/en
Priority to US09/626,788 priority patent/US6285713B1/en
Priority to US09/863,428 priority patent/US6516033B2/en
Priority to US09/994,728 priority patent/US6542548B2/en
Priority to US10/342,273 priority patent/US6928117B2/en
Application granted granted Critical
Publication of JP3634878B2 publication Critical patent/JP3634878B2/en
Priority to US11/155,570 priority patent/US7133454B2/en
Priority to US11/518,177 priority patent/US7684487B2/en
Priority to US11/976,227 priority patent/US7680188B2/en
Priority to US11/976,228 priority patent/US8155199B2/en
Priority to US11/976,229 priority patent/US8135070B2/en
Priority to US11/976,230 priority patent/US8160146B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE: To decrease the number of times of calculation for the interpolation of a luminance value by performing approximation with use of a picture element value at the position closest to this coordinate in a high definition reference image when the luminance value of the reference image at the position whose coordinate value is not an integer is required. CONSTITUTION: A high definition reference image 406 in which the luminance value at the point whose (x) and (y) coordinates are respectively the integer multiple of 1/m1 and 1/m2 (m1 and m2 are positive integers) in a reference image 404 is obtd. by interpolation is provided. Therefore, in the high definition reference image 406, a picture element exists at the point whose (x) and (y) coordinates are respectively the integer multiple of 1/m1 and 1/m2. When a coordinate value is required in motion estimating processing, the approximation is performed with the luminance value of the picture element existing at the position closest to this coordinate in the high definition reference image 406. Thus, since the interpolating processing is previously performed by a reference image high definition circuit 405, the calculation amt. can be reduced.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、同一パッチに所属する
すべての画素が共通の動きベクトルを持つ制約がなく、
画素の動きベクトルの水平・垂直成分が隣接画素間距離
の整数倍以外の値を取り得る動き補償方式を実行する画
像符号化装置に関するものである。
BACKGROUND OF THE INVENTION The present invention eliminates the constraint that all pixels belonging to the same patch have a common motion vector.
The present invention relates to an image coding apparatus that executes a motion compensation method in which horizontal and vertical components of a pixel motion vector can take values other than integer multiples of the distance between adjacent pixels.

【0002】[0002]

【従来の技術】動画像の高能率符号化において、時間的
に近接するフレーム間の類似性を活用する動き補償は情
報圧縮に大きな効果を示すことが知られている。現在の
画像符号化技術の主流となっている動き補償方式は、動
画像符号化方式の国際標準であるMPEG1およびMP
EG2にも採用されている半画素精度のブロックマッチ
ングである。この方式では、符号化しようとする画像を
多数のブロックに分割し、ブロックごとにその動きベク
トルを水平・垂直方向に隣接画素間距離の半分の長さを
最小単位として求める。この処理を数式を用いて表現す
ると以下のようになる。符号化しようとするフレーム
(現フレーム)の予測画像をP(x, y)、参照画像(P
と時間的に近接しており、既に符号化が完了しているフ
レームの復号画像)をR(x, y)とする。また、xとy
は整数であるとして、PとRでは座標値が整数である点
に画素が存在すると仮定する。このとき、PとRの関係
は、
2. Description of the Related Art In high-efficiency coding of moving images, it is known that motion compensation utilizing the similarity between temporally adjacent frames has a great effect on information compression. The motion compensation method which is the mainstream of the current image encoding technology is MPEG1 and MP which are international standards of the moving image encoding method.
This is block matching with half-pixel accuracy that is also adopted in EG2. In this method, an image to be encoded is divided into a large number of blocks, and the motion vector of each block is calculated in the horizontal and vertical directions with a half length of the distance between adjacent pixels being the minimum unit. This processing is expressed using mathematical formulas as follows. The predicted image of the frame (current frame) to be encoded is P (x, y), and the reference image (P
R (x, y) is a decoded image of a frame that is temporally close to and has already been encoded. Also, x and y
Is an integer, and it is assumed that a pixel exists at a point whose coordinate value is an integer in P and R. At this time, the relationship between P and R is

【0003】[0003]

【数1】 [Equation 1]

【0004】で表される。ただし、画像はn個のブロッ
クに分割されるとして、Biは画像のi番目のブロック
に含まれる画素、(ui, vi)はi番目のブロックの動き
ベクトルを表している。動きベクトル(ui, vi)の推定
方式として最も一般的に用いられているのは、(ui, v
i)に一定の探索範囲を設け(例えば-15≦ui, vi≦1
5)、その中でブロック内の予測誤差Ei(ui, vi)を最
小化するものを探索するという方式である。予測誤差の
評価基準として平均絶対誤差を用いた場合、Ei(ui,
vi)は、符号化しようとしているフレームの原画像をI
(x, y)として、
It is represented by However, assuming that the image is divided into n blocks, Bi represents a pixel included in the i-th block of the image, and (ui, vi) represents a motion vector of the i-th block. The most commonly used motion vector (ui, vi) estimation method is (ui, v).
i) has a certain search range (for example, -15 ≦ ui, vi ≦ 1
5), which is a method of searching for the one that minimizes the prediction error Ei (ui, vi) in the block. When the average absolute error is used as the evaluation criterion of the prediction error, Ei (ui,
vi) is the original image of the frame to be coded I
As (x, y),

【0005】[0005]

【数2】 [Equation 2]

【0006】で表される。ただし、Niはi番目のブロ
ックに含まれる画素の数である。このように、異なる動
きベクトルについてそれぞれ予測誤差を評価し、この誤
差が最も小さい動きベクトルを探索する処理をマッチン
グ処理とよぶ。一定の探索範囲の中ですべての(ui, v
i)についてEi(ui, vi)を計算し、その最小値を探索
することを全探索とよぶ。
It is represented by However, Ni is the number of pixels included in the i-th block. The process of evaluating the prediction error for each different motion vector and searching for the motion vector with the smallest error is called matching process. All (ui, v
The calculation of Ei (ui, vi) for i) and the search for the minimum value is called a full search.

【0007】半画素精度のブロックマッチングでは、u
iとviはそれぞれ画素間距離の半分、つまりこの場合は
1/2を最小単位として求められることになる。したが
って、座標値が整数ではなく、参照画像において実際に
は画素が存在しない点(以後、このような点を内挿点と
よぶ)の輝度値を求めることが必要となる。この際の処
理としては、周辺4画素を用いた共1次内挿が使われる
ことが多い。この内挿方式を数式で記述すると、座標値
の小数成分をpとq(0≦p, q<1)として、参照画
像の内挿点(x+p, y+q)における輝度値R(x+p,
y+q)は、
In block matching with half-pixel precision, u
i and vi are calculated with the minimum unit of half the distance between pixels, that is, 1/2 in this case. Therefore, it is necessary to obtain the luminance value of a point where the coordinate value is not an integer and a pixel does not actually exist in the reference image (hereinafter, such a point is referred to as an interpolation point). As processing at this time, co-linear interpolation using four peripheral pixels is often used. When this interpolation method is described by a mathematical expression, the brightness value R (x + p, y) at the interpolation point (x + p, y + q) of the reference image is defined with p and q (0 ≦ p, q <1) as the decimal component of the coordinate value.
y + q) is

【0008】[0008]

【数3】 (Equation 3)

【0009】で表される。It is represented by

【0010】半画素精度のブロックマッチングを行うシ
ステムでは、まず広い探索範囲に対して1画素精度の全
探索を行なって大まかに動きベクトルを推定した後に、
この動きベクトルの周辺のごく狭い範囲(例えば、縦横
±半画素の範囲)に対して半画素精度の全探索を行なう
2段階探索が広く用いられている。そして、第2段階の
探索を行う際には、まず内挿点における輝度値を事前に
求めてから探索を行う方法が良く用いられる。この方法
の処理の例を図1に示す。この例では縦横4画素のブロ
ックを使用している。参照画像において、座標値が整数
でもともと画素が存在する点を「○」で表し、新たに輝
度値を求めた内挿点を「×」で表す。また、現フレーム
の原画像のブロックの画素を「□」で表す。第1段階の
探索で得られた動きベクトルを(uc, vc)とする。マッ
チングの例101は、第1段階の探索で、動きベクトル
が(uc, vc)であるときのマッチングの様子を示してい
る。予測誤差の評価は重なった「○」と「□」の間で行
われる。例102、103、104はそれぞれ第2段階
の探索で動きベクトルが(uc + 1/2, vc)、(uc +1/2,
vc + 1/2)、(uc - 1/2, vc - 1/2)であるときを表
している。これらの例では、予測誤差の評価は重なった
「×」と「□」の間で行われる。この図からわかる通
り、第2段階の探索における探索範囲を縦横±1/2画
素とした場合、65個(図1の「×」の数)の内挿点の
輝度値を求めることにより、動きベクトル8個分のマッ
チング処理をカバーすることができる。このとき、輝度
値を求めた内挿点はすべてマッチングに使用される。マ
ッチングのたびに参照画像において内挿の計算をする
と、4×4×8=128回の内挿を行う必要がある。こ
のように内挿演算の回数を減らすことができるのは、参
照画像の同じ内挿点が複数回使用されるためである。
In a system for performing block matching with half-pixel accuracy, first, a full search with one-pixel accuracy is performed over a wide search range to roughly estimate a motion vector, and then a motion vector is estimated.
A two-step search is widely used in which a full search with half-pixel accuracy is performed on a very narrow range (for example, a range of vertical and horizontal ± half pixels) around the motion vector. When performing the search in the second stage, a method of first obtaining the brightness value at the interpolation point in advance and then performing the search is often used. An example of the processing of this method is shown in FIG. In this example, a block of 4 pixels vertically and horizontally is used. In the reference image, a point where a pixel originally exists even if the coordinate value is an integer is represented by “◯”, and an interpolation point for which a new brightness value is obtained is represented by “x”. In addition, the pixels of the block of the original image of the current frame are represented by “□”. The motion vector obtained in the search in the first stage is (uc, vc). Matching example 101 shows the manner of matching when the motion vector is (uc, vc) in the first-stage search. The prediction error is evaluated between the overlapping "○" and "□". In Examples 102, 103, and 104, the motion vector is (uc + 1/2, vc), (uc + 1/2,
vc + 1/2), (uc-1 / 2, vc-1 / 2). In these examples, the prediction error is evaluated between the overlapping "x" and "□". As can be seen from this figure, when the search range in the second stage search is ± 1/2 pixels in the vertical and horizontal directions, the brightness value of 65 interpolated points (the number of “×” in FIG. 1) is calculated to obtain the motion. The matching process for eight vectors can be covered. At this time, all the interpolated points for which the brightness value is obtained are used for matching. When the interpolation calculation is performed on the reference image for each matching, it is necessary to perform the interpolation 4 × 4 × 8 = 128 times. The number of interpolation operations can be reduced in this way because the same interpolation point of the reference image is used multiple times.

【0011】半画素精度のブロックマッチングは上で述
べた通り、現在広く用いられているが、MPEG1やM
PEG2より高い情報圧縮率が必要となるアプリケーシ
ョンではさらに高度な動き補償方式が要求される。ブロ
ックマッチングの欠点はブロック内のすべての画素が同
一の動きベクトルを持たなければならない点にある。そ
こでこの問題を解決するために、隣接する画素が異なる
動きベクトルを持つことを許容する動き補償方式が最近
提案されている。以下にこの方式の一例である空間変換
に基づく動き補償に関して簡単に説明する。
As described above, block matching with half-pixel precision is widely used at present, but MPEG1 and M
An application that requires a higher information compression rate than PEG2 requires a more sophisticated motion compensation method. The disadvantage of block matching is that all pixels within a block must have the same motion vector. Therefore, in order to solve this problem, a motion compensation method has recently been proposed which allows adjacent pixels to have different motion vectors. The motion compensation based on the spatial transformation, which is an example of this method, will be briefly described below.

【0012】空間変換に基づく動き補償では、予測画像
Pと参照画像Rの関係は、
In motion compensation based on spatial transformation, the relationship between the predicted image P and the reference image R is

【0013】[0013]

【数4】 [Equation 4]

【0014】で表される。ただし、画像はn個の小領域
(パッチ)に分割されるとして、Piは画像のi番目の
パッチに含まれる画素を表している。また、変換関数f
i(x,y)とgi(x, y)は現フレームの画像と参照画像
との間の空間的な対応を表現している。このとき、Pi
内の画素(x, y)の動きベクトルは、(x−fi(x,
y),y−gi(x, y))で表すことができる。ところで、
ブロックマッチングは変換関数が定数である方式とし
て、空間変換に基づく動き補償の特殊な例として解釈す
ることもできる。しかし、本明細書で空間変換に基づく
動き補償という言葉を用いるときには、ブロックマッチ
ングはその中に含まないこととする。
It is represented by However, assuming that the image is divided into n small areas (patches), Pi represents a pixel included in the i-th patch of the image. Also, the conversion function f
i (x, y) and gi (x, y) represent the spatial correspondence between the image of the current frame and the reference image. At this time, Pi
The motion vector of the pixel (x, y) within is (x−fi (x,
y), y-gi (x, y)). by the way,
Block matching can also be interpreted as a special case of motion compensation based on spatial transformation, where the transformation function is constant. However, when the term motion compensation based on spatial transformation is used in this specification, block matching is not included therein.

【0015】変換関数の形としては、アフィン変換The form of the conversion function is affine transformation

【0016】[0016]

【数5】 (Equation 5)

【0017】を用いた例(中屋他、「3角形パッチに基
づく動き補償の基礎検討」、電子情報通信学会技術報
告、IE90-106、平2-03参照)、共1次変換
(See Nakaya et al., "Basic study of motion compensation based on triangular patch", IEICE technical report, IE90-106, Hei 2-03), bilinear transformation

【0018】[0018]

【数6】 (Equation 6)

【0019】を用いた例( G. J. Sullivan and R. L.
Baker, "Motion compensation for video compression
using control grid interpolation", Proc. ICASSP '9
1 , M9.1, pp.2713-2716,1991-05)、透視変換
Example using (GJ Sullivan and RL
Baker, "Motion compensation for video compression
using control grid interpolation ", Proc. ICASSP '9
1, M9.1, pp.2713-2716,1991-05), perspective transformation

【0020】[0020]

【数7】 (Equation 7)

【0021】を用いた例(V.Seferdis and M.Ghanbari,
"General approach to block-matching motion estim
ation'', Optical Engineering, vol. 32, no. 7, pp.
1464-1474, 1993-07)などが報告されている。ここでa
ij、bij、cijはパッチごとに推定される動きパラメー
タである。符号化装置で得られる予測画像と同じものを
受信側で得るためには、画像符号化装置は何らかの形で
パッチごとに変換関数の動きパラメータが特定できる情
報を、動き情報として受信側に伝送すればよい。例え
ば、変換関数にアフィン変換を用い、パッチの形状が3
角形であるとする。この場合は、6個の動きパラメータ
を直接伝送しても、パッチの3個の頂点の動きベクトル
を伝送しても、受信側で6個の動きパラメータを再生す
ることができる(共1次変換を用いた場合には4角形の
パッチを採用すれば同様の処理が可能である)。以下で
は、変換関数にアフィン変換を用いた場合に関して説明
するが、この説明は他の変換を用いた場合についても、
ほぼそのまま適用することができる。
Example using (V. Seferdis and M. Ghanbari,
"General approach to block-matching motion estim
ation '', Optical Engineering, vol. 32, no. 7, pp.
1464-1474, 1993-07) has been reported. Where a
ij, bij, and cij are motion parameters estimated for each patch. In order to obtain the same predicted image as that obtained by the encoding device on the receiving side, the image encoding device transmits to the receiving side, as motion information, information that allows the motion parameter of the conversion function to be specified for each patch in some way. Good. For example, if the affine transformation is used as the transformation function and the patch shape is 3
It is assumed to be a prism. In this case, the six motion parameters can be reproduced on the receiving side even if the six motion parameters are directly transmitted or the motion vectors of the three vertices of the patch are transmitted (co-linear transformation). In case of using, a similar process can be performed by adopting a square patch). In the following, the case where the affine transformation is used as the transformation function will be described, but this explanation also applies when other transformations are used.
It can be applied almost as it is.

【0022】変換関数が確定しても空間変換に基づく動
き補償には様々なバリエーションを考えることができる
が、その一例を図2に示す。この例では、パッチの境界
において動きベクトルが連続的に変化するように制約さ
れている。以下では、参照画像201を用いて現フレー
ムの原画像202の予測画像を合成することを考える。
このために、まず現フレームは複数の多角形のパッチに
分割され、パッチ分割された画像208となる。パッチ
の頂点は格子点とよばれ、各格子点は複数のパッチに共
有される。例えば、パッチ209は、格子点210、2
11、212から構成され、これらの格子点は他のパッ
チの頂点を兼ねている。こうして画像を複数のパッチに
分割した後に、動き推定が行なわれる。ここに示す例で
は、動き推定は各格子点を対象として参照画像との間で
を行なわれる。この結果、動き推定後の参照画像203
で各パッチは変形されたものとなる。例えば、パッチ2
09は、変形されたパッチ204に対応している。これ
は、動き推定の結果、格子点205、206、207が
それぞれ210、211、212に移動したと推定され
たためである。予測画像はパッチ内の各画素に関して変
換関数を計算し、数4にしたがって参照画像の中から対
応する点の輝度値を求めることにより合成される。これ
は、この例では3個の頂点の動きベクトルから数5の6
個の動きパラメータを計算し、画素ごとに数5を計算す
ることにより実現される。上で述べた通り、動き情報と
して格子点の動きベクトルを伝送しても、動きパラメー
タを伝送しても良いが、この例では1個の格子点が複数
のパッチの頂点を兼ねている分だけ前者の方が効率的で
ある。
Even if the conversion function is determined, various variations can be considered for the motion compensation based on the spatial conversion, and one example thereof is shown in FIG. In this example, the motion vector is constrained to continuously change at the boundary of the patch. In the following, it is considered that the reference image 201 is used to synthesize the predicted image of the original image 202 of the current frame.
For this reason, the current frame is first divided into a plurality of polygonal patches, and the patch-divided image 208 is obtained. The vertices of the patch are called grid points, and each grid point is shared by multiple patches. For example, the patch 209 has grid points 210, 2
11 and 212, and these grid points also serve as the vertices of other patches. After dividing the image into a plurality of patches in this way, motion estimation is performed. In the example shown here, motion estimation is performed between each grid point and the reference image. As a result, the reference image 203 after motion estimation
Then each patch is transformed. For example, patch 2
09 corresponds to the modified patch 204. This is because, as a result of the motion estimation, it is estimated that the grid points 205, 206, and 207 have moved to 210, 211, and 212, respectively. The predicted image is synthesized by calculating the conversion function for each pixel in the patch and obtaining the luminance value of the corresponding point from the reference image according to equation 4. In this example, this is calculated from the motion vectors of the three vertices to the value of 6 in Equation 5.
This is realized by calculating the motion parameters and calculating Equation 5 for each pixel. As described above, the motion vector of the lattice point or the motion parameter may be transmitted as the motion information, but in this example, only one lattice point also serves as the vertices of a plurality of patches. The former is more efficient.

【0023】空間変換に基づく動き補償においてもブロ
ックマッチングと同様に、マッチングに基づく動き推定
が有効であることが指摘されている。マッチングに基づ
く動き補償のアルゴリズムの一例を以下に示す。この方
式は6角マッチングとよばれ、上の例のようにパッチの
境界で動きベクトルが連続的に変化する場合に有効であ
る。この方式は、以下の2つの処理により構成されてい
る。
It has been pointed out that the motion estimation based on the matching is effective in the motion compensation based on the spatial transformation as well as the block matching. An example of a motion compensation algorithm based on matching is shown below. This method is called hexagonal matching and is effective when the motion vector continuously changes at the patch boundary as in the above example. This method is composed of the following two processes.

【0024】(1)ブロックマッチングによる格子点の
大まかな動き推定 (2) 修正アルゴリズムによる動きベクトルの修正 (1)の処理では、格子点を含むブロック(大きさは任
意)に対してブロックマッチングを適用し、このブロッ
クの動きベクトルを格子点の大まかな動きベクトルとす
る。この処理の目的はあくまで格子点の大まかな動きベ
クトルを求めることであって、必ずブロックマッチング
を用いなければならないわけではない。(2)の処理の
様子は図3に示す。この図は参照画像におけるパッチと
格子点の一部を示したもの(図2の画像203に相当す
る)である。したがって、この図の中で格子点の位置を
変化させることは、その格子点の動きベクトルを変化さ
せることを意味する。格子点301の動きベクトルを修
正する場合、まずこの格子点が関与するすべてのパッチ
によって構成される多角形302の頂点にあたる、格子
点303〜308の動きベクトルを固定する。こうして
格子点301の動きベクトルを一定の範囲内で変化させ
る(例えば格子点301を格子点309の位置に移動さ
せる)と、その結果多角形302が含むパッチ内の予測
誤差も変化する。そして、探索範囲内で多角形302内
の予測誤差を最小にした動きベクトルが、格子点301
の修正された動きベクトルとして登録される。こうして
格子点301の修正が終了し、他の格子点に移動してか
ら同様の修正を続ける。一旦すべての格子点に対して修
正を行なった後に、もう一度最初の格子点から繰り返し
修正を行なえば、さらに予測誤差を小さくすることがで
きる。この繰り返しの回数としては、2〜3回が適当で
あることが報告されている。
(1) Rough motion estimation of grid points by block matching (2) Correction of motion vector by correction algorithm In the process of (1), block matching is performed on a block (any size) including grid points. Then, the motion vector of this block is used as the rough motion vector of the grid point. The purpose of this processing is merely to obtain a rough motion vector of the grid point, and it is not always necessary to use block matching. The state of the process (2) is shown in FIG. This figure shows a part of the patches and grid points in the reference image (corresponding to the image 203 in FIG. 2). Therefore, changing the position of the grid point in this figure means changing the motion vector of the grid point. When the motion vector of the grid point 301 is modified, first, the motion vectors of the grid points 303 to 308, which correspond to the vertices of the polygon 302 formed by all patches related to this grid point, are fixed. In this way, when the motion vector of the grid point 301 is changed within a certain range (for example, the grid point 301 is moved to the position of the grid point 309), the prediction error in the patch included in the polygon 302 also changes. Then, the motion vector that minimizes the prediction error in the polygon 302 within the search range is the grid point 301.
Registered as the corrected motion vector of In this way, the correction of the grid point 301 is completed, and after moving to another grid point, the same correction is continued. The prediction error can be further reduced by once making corrections to all grid points and then making corrections again from the first grid point. It has been reported that a suitable number of repetitions is 2 to 3 times.

【0025】修正アルゴリズムにおける典型的な探索範
囲は縦横±3画素である。この場合、1個の格子点につ
いて1回の修正で49回のマッチングが多角形302内
で行なわれる。一方で、1個のパッチは3個の格子点の
修正アルゴリズムに関与するため、パッチ内の各画素に
対して合計で147回予測誤差の評価が行なわれること
になる。さらにこの修正が繰り返し行なわれれば、その
たびに誤差評価の回数はさらに増えることになる。この
結果、誤差評価が行なわれるたびに対象となる画素に対
して内挿の計算が行なわれ、演算量が膨大となる。
A typical search range in the correction algorithm is ± 3 pixels vertically and horizontally. In this case, for one grid point, 49 times of matching are performed within the polygon 302 by one modification. On the other hand, since one patch participates in the correction algorithm of three grid points, the prediction error is evaluated 147 times in total for each pixel in the patch. Further, if this correction is repeatedly performed, the number of error evaluations will increase each time. As a result, each time the error evaluation is performed, the calculation of the interpolation is performed on the target pixel, resulting in a huge amount of calculation.

【0026】空間変換に基づく動き補償における内挿演
算の問題は、半画素精度のブロックマッチングにおける
同様の問題と比較して以下の点で本質的な違いがあるた
めにやっかいである。空間変換に基づく動き補償では、
たとえ格子点の動きベクトルの水平・垂直成分を1/2
の整数倍に制限したとしても、各画素の動きベクトルの
水平・垂直成分は同様に1/2の整数倍とはならない。
また、一般的に各画素の動きベクトルの小数点以下の成
分は任意の値がとれるため、マッチング処理において参
照画像の同じ内挿点の輝度値が複数回用いられることは
むしろまれである。
The problem of the interpolation operation in the motion compensation based on the spatial transformation is troublesome because there is an essential difference in the following points as compared with the similar problem in the block matching with half pixel accuracy. In motion compensation based on spatial transformation,
Even if the horizontal and vertical components of the motion vector of the grid point are 1/2
Even if it is limited to an integral multiple of, the horizontal / vertical components of the motion vector of each pixel are similarly not an integral multiple of 1/2.
Further, in general, since the component after the decimal point of the motion vector of each pixel can take an arbitrary value, it is rather rare that the luminance value of the same interpolation point of the reference image is used multiple times in the matching process.

【0027】[0027]

【発明が解決しようとする課題】空間変換に基づく動き
補償においてマッチングに基づく動き推定を行なう場
合、輝度値の内挿に要する演算量が膨大となる問題が発
生する。本発明の目的は、輝度値の内挿の計算回数を減
らし、少ない演算量で動き推定の処理を実現することに
ある。
When motion estimation based on matching is performed in motion compensation based on spatial transformation, there arises a problem that the amount of calculation required for interpolation of luminance values becomes enormous. It is an object of the present invention to reduce the number of calculations for brightness value interpolation and realize motion estimation processing with a small amount of calculation.

【0028】[0028]

【課題を解決するための手段】動き推定処理の前に、参
照画像においてx座標とy座標がそれぞれ1/m1と1
/m2の整数倍である点(m1とm2は正の整数)の輝度
値を内挿により求めた高精細参照画像を用意する。した
がって、高精細参照画像においては、x座標とy座標が
それぞれ1/m1と1/m2の整数倍である点に画素が存
在することになる。動き推定処理において、座標値が整
数でない位置における参照画像の輝度値が必要となった
場合には、高精細参照画像の中でこの座標に最も近い位
置に存在する画素の輝度値で近似することにより、内挿
演算の回数を減らす目的は達成される。
Before the motion estimation process, the x and y coordinates in the reference image are 1 / m 1 and 1 respectively.
A high-definition reference image is prepared by interpolating the luminance value at a point that is an integer multiple of / m2 (m1 and m2 are positive integers). Therefore, in the high-definition reference image, pixels are present at points where the x coordinate and the y coordinate are integer multiples of 1 / m1 and 1 / m2, respectively. When the luminance value of the reference image at a position where the coordinate value is not an integer is required in the motion estimation process, the luminance value of the pixel existing at the position closest to this coordinate in the high-definition reference image should be approximated. Thus, the purpose of reducing the number of interpolation operations is achieved.

【0029】[0029]

【作用】上記の高精細参照画像を作成する処理では、原
画像の1画像あたりm1×m2−1回の内挿計算が必要と
なる。しかし、一旦この高精細化処理を終えてしまう
と、動き推定処理においてこれ以上に内挿の演算を行な
う必要はなくなる。「従来の技術」でとりあげた空間変
換に基づく動き補償の例では、動き推定処理で1画素あ
たり147回以上の内挿演算が必要である。したがっ
て、m1=m2=2とすれば、内挿演算の回数は50分の
1程度にすることができ、演算量の大幅な低減につなが
る。
In the processing for creating the high-definition reference image, it is necessary to perform the interpolation calculation m1 × m2-1 times for each original image. However, once this high-definition processing is completed, there is no need to perform further interpolation calculations in the motion estimation processing. In the example of the motion compensation based on the spatial conversion described in “Prior Art”, the motion estimation process requires 147 or more interpolation operations per pixel. Therefore, if m1 = m2 = 2, the number of interpolation calculations can be reduced to about 1/50, which leads to a significant reduction in the amount of calculations.

【0030】[0030]

【実施例】第1の実施例として、参照画像全体を高精細
化してから動き推定処理を行う方式を示す。まず、高精
細参照画像R’を作成する。輝度値の内挿方式に共1次
内挿(数3)を用いるとして、R’は以下の式で表され
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS As a first embodiment, a method of performing motion estimation processing after refining the entire reference image is shown. First, a high definition reference image R'is created. Assuming that co-linear interpolation (Equation 3) is used for the interpolation method of the luminance value, R'is represented by the following expression.

【0031】[0031]

【数8】 [Equation 8]

【0032】ただし、sとtは整数であり、かつ0≦s
<m1, 0≦t<m2であるとする。また、R’ではx、
y、s、tがすべて整数である点に画素が存在するとす
る。s=t=0である点は、もともと参照画像に存在す
る画素に対応しており、それ以外の点の輝度値は内挿に
よって求められる。なお、以下では簡単のため、特にm
1=m2=m(mは正の整数)である場合について実施例
を挙げる。
However, s and t are integers, and 0 ≦ s
It is assumed that <m1, 0 ≦ t <m2. In R ', x,
It is assumed that a pixel exists at a point where y, s, and t are all integers. The point of s = t = 0 originally corresponds to the pixel existing in the reference image, and the luminance values of the other points are obtained by interpolation. In the following, for simplicity, m
An example will be given for the case where 1 = m2 = m (m is a positive integer).

【0033】図4に高精細参照画像を活用する画像符号
化装置の例を示す。なお、図の矢印はデータの流れを表
しており、アドレス信号などは省略してある。この装置
では、動き推定部401が動き推定の処理を担当してい
る。参照画像404は高精細化の処理を行う参照画像高
精細化回路405で処理された後、高精細参照画像40
6としてフレームメモリ407に蓄えられ、マッチング
処理回路409へ近似輝度値情報408を提供する。一
方で現フレームの原画像402もフレームメモリ403
に蓄えられ、マッチング処理回路409で動き推定のた
めに活用される。マッチング処理回路が出力した動き情
報415は受信側に伝送されるが、符号化装置内でも予
測画像合成回路410における予測画像の合成のために
活用される。合成された予測画像と現フレームの原画像
411との差は減算器412で求められ、予測誤差41
3として、予測誤差符号化器414で符号化され、予測
誤差情報416として伝送される。従来の方式では、変
換関数の演算、内挿処理、予測誤差の評価がすべてマッ
チング回路で行なわれていたのに対し、本実施例では内
挿処理を事前に参照画像高精細化回路で行なうことによ
り演算量を低減させている。また、高精細参照画像を用
いることにより、変換関数に求められる演算精度を下げ
ることができ、さらに処理を簡略化することができる。
これは、変換関数の演算に誤差が発生した場合に、高精
細参照画像で近似に用いる画素が異なるものにならない
範囲であれば、動き推定の結果に影響がないためであ
る。なお、ここで内挿により輝度値を求められた高精細
参照画像の画素は、すべてがマッチング処理で使用され
るとは限らない。この点は「従来の技術」でとりあげた
ブロックマッチングの例とは異なっている。
FIG. 4 shows an example of an image coding apparatus utilizing a high definition reference image. The arrows in the figure represent the flow of data, and address signals and the like are omitted. In this apparatus, the motion estimation unit 401 is in charge of motion estimation processing. The reference image 404 is processed by the reference image high definition circuit 405 that performs high definition processing, and then the high definition reference image 40 is processed.
6 is stored in the frame memory 407 and the approximate brightness value information 408 is provided to the matching processing circuit 409. On the other hand, the original image 402 of the current frame is also stored in the frame memory 403.
And is used for motion estimation in the matching processing circuit 409. The motion information 415 output from the matching processing circuit is transmitted to the receiving side, but is also used in the encoding device for combining predicted images in the predicted image combining circuit 410. The difference between the combined predicted image and the original image 411 of the current frame is obtained by the subtractor 412, and the prediction error 41
3 is encoded by the prediction error encoder 414 and transmitted as prediction error information 416. In the conventional method, the calculation of the conversion function, the interpolation processing, and the evaluation of the prediction error are all performed by the matching circuit, but in the present embodiment, the interpolation processing is performed by the reference image high-definition circuit in advance. The calculation amount is reduced by. Moreover, by using the high-definition reference image, the calculation accuracy required for the conversion function can be reduced, and the processing can be further simplified.
This is because the result of motion estimation is not affected as long as the pixels used for approximation do not differ in the high-definition reference image when an error occurs in the calculation of the conversion function. Note that not all the pixels of the high-definition reference image whose luminance value is obtained by interpolation here are used in the matching process. This point is different from the example of block matching taken up in "Prior Art".

【0034】図5にm=2として、輝度値の内挿に共1
次内挿を用いた場合の参照画像高精細化回路405の例
を示す。この図でも矢印はデータの流れを表しており、
図4と同じ参照番号は同じものをさしている。入力の参
照画像信号404は、上から下へラインごとに左から右
へ画素の輝度値を与えるとする。この信号を2個の画素
遅延回路502、503と1個のライン遅延回路501
より構成された回路に加えることにより、上下左右に隣
接する4個の画素の輝度値504〜507を得ることが
できる。これらの輝度値それぞれにに対して積算器50
8〜511を用いて内挿位置に応じて重み付け係数を掛
け、この結果を加算器512〜514に加える。この結
果をさらに加算器515とシフトレジスタ516に加え
ることにより、4で割った後に小数点以下を四捨五入す
る演算を実現する。以上の処理の結果、高精細参照画像
R’の4画素分の輝度値517〜520を出力406と
して得ることができる。
In FIG. 5, it is assumed that m = 2 and the brightness value is interpolated by 1
An example of the reference image high-definition circuit 405 when the next interpolation is used is shown. Also in this figure, the arrows show the flow of data,
The same reference numbers as in FIG. 4 refer to the same things. It is assumed that the input reference image signal 404 gives pixel luminance values from left to right line by line from top to bottom. This signal is supplied to two pixel delay circuits 502 and 503 and one line delay circuit 501.
The luminance values 504 to 507 of the four pixels vertically and horizontally adjacent to each other can be obtained by adding to the circuit constituted by the above. For each of these brightness values, an integrator 50
8 to 511 are used to multiply the weighting coefficient according to the interpolation position, and the result is added to the adders 512 to 514. By adding this result to the adder 515 and the shift register 516, an operation of dividing by 4 and then rounding off after the decimal point is realized. As a result of the above processing, the brightness values 517 to 520 for four pixels of the high-definition reference image R ′ can be obtained as the output 406.

【0035】図6に、マッチング処理回路409内にお
いて、高精細参照画像R’を用いて参照画像の内挿点に
おける輝度値の近似値を得る回路の一例を示す。図4と
同じ参照番号は同じものをさしている。ここでは、変換
関数を計算することにより、2進固定小数点表現の座標
値601、602が与えられていると仮定する。また、
mは図5と同様に2であるとして、高精細参照画像R’
はフレームメモリ407に蓄えられているとする。座標
値601、602は1/4を加える加算器603、小数
点以下2桁目以下を切り捨てる回路604を通過するこ
とにより、小数点以下2桁目を四捨五入され、1/2の
整数倍に変換される。この結果得られる座標値605、
606は、高精細参照画像R’において画素の存在する
点の座標値に対応している。この座標値は座標−アドレ
ス変換回路607によりフレームメモリ407のアドレ
スに変換され、目的の近似輝度値情報408を得る。な
お、この例では変換関数の小数点以下3桁目以下の成分
は全く使用されていない。したがって、変換関数の小数
点以下2桁目以上に影響しない範囲の演算誤差は動き推
定結果に影響を与えないことになる。これは上で述べた
ように、高精細参照画像を用いることにより、変換関数
に要求される演算精度が下がったためである。
FIG. 6 shows an example of a circuit in the matching processing circuit 409 which obtains an approximate value of the brightness value at the interpolation point of the reference image by using the high definition reference image R '. The same reference numbers as in FIG. 4 refer to the same things. Here, it is assumed that the coordinate values 601 and 602 in binary fixed point representation are given by calculating the conversion function. Also,
Assuming that m is 2 as in FIG. 5, the high-definition reference image R ′
Are stored in the frame memory 407. The coordinate values 601 and 602 pass through an adder 603 that adds 1/4 and a circuit 604 that rounds down the second decimal place and the second decimal place is rounded off and converted into an integral multiple of 1/2. . The resulting coordinate values 605,
Reference numeral 606 corresponds to the coordinate value of the point where the pixel exists in the high definition reference image R ′. This coordinate value is converted into an address of the frame memory 407 by the coordinate-address conversion circuit 607 to obtain the target approximate brightness value information 408. In this example, the components below the third digit after the decimal point of the conversion function are not used at all. Therefore, the calculation error in the range that does not affect the second digit or more after the decimal point of the conversion function does not affect the motion estimation result. This is because, as described above, the use of the high-definition reference image reduces the calculation accuracy required for the conversion function.

【0036】上で挙げた実施例では内挿演算の回数が減
少する一方で、高精細参照画像を格納するために参照画
像の4倍の大きさの画像を蓄えるメモリが必要となる。
そこで内挿演算の回数は上の実施例よりは多くなるもの
の、必要となるメモリ容量の小さい方式の実施例を示
す。この方式では、現フレームの原画像と参照画像の必
要な部分を少しずつ取り込みながら参照画像を高精細化
して動き推定に用いる。隣接画素間距離は、現フレーム
の原画像、参照画像共に水平・垂直方向に1であるとす
る。なお、ここでは動き推定方式に6角マッチングが使
用されていると仮定して、6角マッチングにおける修正
処理を実行する回路を中心に説明する。6角マッチング
のもう一方の処理である格子点の大まかな動き推定は、
「従来の技術」で説明した通り、格子点を含むブロック
に対してブロックマッチングを実行することにより行わ
れる。
While the number of interpolation operations is reduced in the above-mentioned embodiment, a memory for storing an image having a size four times as large as the reference image is required to store the high definition reference image.
Therefore, an example of a method in which the required memory capacity is small, although the number of interpolation operations is larger than that in the above example, will be shown. In this method, the original image of the current frame and the required portion of the reference image are captured little by little, and the reference image is refined and used for motion estimation. It is assumed that the distance between adjacent pixels is 1 in the horizontal and vertical directions for both the original image and the reference image of the current frame. Note that, here, assuming that hexagonal matching is used in the motion estimation method, a circuit that executes a correction process in hexagonal matching will be mainly described. Rough motion estimation of grid points, which is the other process of hexagonal matching,
As described in "Prior Art", block matching is performed on a block including a grid point.

【0037】図7に現フレームの原画像の一部における
格子点703〜711の位置を示す。格子点の間隔を縦
横にNg、格子点ごとの動きベクトルの探索範囲を水平・
垂直方向に±Nsであるとすれば、参照画像の縦横2Ng
+ 2Nsの範囲701と、現フレームの原画像の縦横2
Ngの範囲702(斜線の範囲)に含まれる画素を使え
ば、格子点703に関する6角マッチングの修正処理を
行うことができる(実際にはこれらより狭い範囲でも良
いが、処理を簡略化するために正方形の領域を用い
る)。したがって、修正処理を行う装置はこれらの範囲
に含まれる画素の輝度値をあらかじめ読み込むことによ
り、以後の処理を外部のフレームメモリとは独立した状
態で実行することができる。またこの場合、格子点70
3の修正処理を行う前に格子点708の修正処理を行う
ようにすれば、既に範囲701および702の画素の一
部が修正処理を行う装置に読み込まれていることにな
る。したがって、このときには図8に示すように参照画
像の範囲801および現フレームの原画像の範囲802
のみを追加して読み込むようにすれば良い(図8におい
て図7と同じ参照番号は同じものをさしている)。この
追加読み込みのときには、格子点708の動き推定処理
に使用した画素情報の一部は必要なくなるので、この情
報が入っていたメモリの上に範囲801および802の
情報を書き込んでも良い。このようにして、動き推定を
行う格子点が左から右に移動するごとに、新たに必要な
情報のみを読み込むようにすれば処理を簡略化すること
ができる。
FIG. 7 shows the positions of grid points 703 to 711 in a part of the original image of the current frame. The distance between grid points is Ng vertically and horizontally, and the search range of the motion vector for each grid point is horizontal.
If it is ± Ns in the vertical direction, the reference image is 2Ng in length and width.
+ 2Ns range 701 and vertical and horizontal 2 of the original image of the current frame
If the pixels included in the Ng range 702 (hatched range) are used, the correction processing of hexagonal matching with respect to the grid point 703 can be performed (actually, a narrower range may be used, but in order to simplify the processing. To use a square area). Therefore, the device that performs the correction process can execute the subsequent processes independently of the external frame memory by reading the brightness values of the pixels included in these ranges in advance. In this case, the grid point 70
If the correction processing of the grid point 708 is performed before the correction processing of No. 3, some of the pixels in the ranges 701 and 702 have already been read by the apparatus that performs the correction processing. Therefore, at this time, as shown in FIG. 8, the range 801 of the reference image and the range 802 of the original image of the current frame.
It suffices to add and read only (in FIG. 8, the same reference numerals as those in FIG. 7 refer to the same elements). At the time of this additional reading, part of the pixel information used for the motion estimation processing of the grid point 708 is not necessary, so the information of the ranges 801 and 802 may be written in the memory in which this information was stored. In this way, the processing can be simplified by newly reading only necessary information each time the grid point for motion estimation moves from left to right.

【0038】図9に、図7および8に示した方式に従っ
て6角マッチングの修正処理を行う装置の動き推定部9
09の例を示す。この図において矢印はデータの流れを
表しており、図4と同じ参照番号は同じものをさしてい
る。動き推定部909は、図4の動き推定部401と異
なる構成で同じ働きをする。入力の現フレームの原画像
402と参照画像404はそれぞれフレームメモリ90
1と903に蓄えられる。これに対してまず格子点の大
まかな動き推定が回路902で実行され、求められた動
きベクトルに従って参照画像における格子点の座標の情
報が格子点座標メモリ904に蓄えられる。続いて修正
処理部905が6角マッチングにおける修正処理を行
う。以下では、図8の例にならって、直前に格子点70
8に対する処理が行われた場合の格子点703に対する
修正処理に関して説明する。修正処理部905は、高精
細化回路907とマッチング処理回路906からなって
いる。まず高精細化回路907は、参照画像が蓄えられ
たフレームメモリ903から新たに必要な範囲(図8の
例では、範囲801)の画素の輝度値情報を読み出す。
この情報に対して内挿処理を行い、動き推定において必
要となる範囲の高精細参照画像を作成して、マッチング
処理回路906に与える。マッチング処理回路では、同
様に現フレームの原画像のフレームメモリ901からも
新たに必要な範囲(図8の例では、範囲802)の輝度
値情報を読み込む。マッチング処理回路は自分自身で修
正処理に必要な範囲の高精細参照画像と現フレームの原
画像を蓄えるフレームメモリを持っており、このメモリ
を利用して処理を行う。マッチング処理回路はさらに格
子点座標メモリ904から参照画像における格子点の座
標情報の中で新たに必要となったもの(図8の例では、
格子点704、706、711の座標情報。これは格子
点707、708、710の座標情報が前の処理で使用
されているため。)を読み込み、6角マッチングの修正
処理を行う。この処理結果に従い、修正された参照画像
における格子点の座標(図8の例では、格子点703の
座標)を格子点座標メモリ904に書き込む。以上で格
子点703の修正は終了し、修正処理部は図8の格子点
704の修正処理に移る。修正処理がすべて終了する
と、格子点座標メモリ904に蓄えられた情報は動きベ
クトル演算回路908において格子点ごとの動きベクト
ルに変換されて動き情報415として出力される。ま
た、予測画像の予測誤差を計算するために、現フレーム
の原画像の情報411も出力される。
FIG. 9 shows a motion estimator 9 of the apparatus for correcting hexagonal matching according to the method shown in FIGS. 7 and 8.
An example of No. 09 is shown. In this figure, the arrows indicate the flow of data, and the same reference numerals as in FIG. 4 indicate the same things. The motion estimation unit 909 has the same configuration as the motion estimation unit 401 of FIG. The original image 402 and the reference image 404 of the input current frame are respectively stored in the frame memory 90.
It is stored in 1 and 903. On the other hand, first, rough motion estimation of grid points is executed by the circuit 902, and information on the coordinates of grid points in the reference image is stored in the grid point coordinate memory 904 in accordance with the obtained motion vector. Then, the correction processing unit 905 performs correction processing in hexagonal matching. In the following, following the example of FIG.
The correction process for the grid point 703 when the process for 8 is performed will be described. The correction processing unit 905 includes a high definition circuit 907 and a matching processing circuit 906. First, the high definition circuit 907 reads out luminance value information of pixels in a newly required range (range 801 in the example of FIG. 8) from the frame memory 903 in which reference images are stored.
Interpolation processing is performed on this information to create a high-definition reference image in the range required for motion estimation, and this is provided to the matching processing circuit 906. Similarly, the matching processing circuit reads the luminance value information of a newly required range (range 802 in the example of FIG. 8) from the frame memory 901 of the original image of the current frame. The matching processing circuit has a frame memory that stores the high-definition reference image and the original image of the current frame in the range necessary for the correction processing by itself, and performs processing using this memory. The matching processing circuit is newly required in the coordinate information of the grid point in the reference image from the grid point coordinate memory 904 (in the example of FIG. 8,
Coordinate information of grid points 704, 706, and 711. This is because the coordinate information of the grid points 707, 708, 710 is used in the previous processing. ) Is read and correction processing of hexagonal matching is performed. In accordance with this processing result, the coordinates of the grid point in the corrected reference image (the coordinates of the grid point 703 in the example of FIG. 8) are written in the grid point coordinate memory 904. With the above, the correction of the grid point 703 is completed, and the correction processing unit moves to the correction processing of the grid point 704 in FIG. When all the correction processing is completed, the information stored in the grid point coordinate memory 904 is converted into a motion vector for each grid point in the motion vector calculation circuit 908 and output as motion information 415. Further, in order to calculate the prediction error of the predicted image, the information 411 on the original image of the current frame is also output.

【0039】図10に図9の処理において並列処理を導
入した例を示す。図9と同じ参照番号は同じものをさし
ている。この例では、6角マッチングにおける修正処理
を行う修正処理部が複数存在し、処理を分担している。
参照画像と現フレームの原画像を蓄えているフレームメ
モリ901と903から輝度値情報を読み出すために
は、共通のデータバス1001とアドレスバス1002
を利用する。また、参照画像における格子点の座標を蓄
えた格子点座標メモリ904から情報を読み出したり、
情報を書き込む場合には共通のデータバス1005とア
ドレスバス1004を用いる。これらのバスを介して、
格子点の大まかな動き推定を行う回路902、6角マッ
チングの修正処理を行う回路905、1003は情報の
転送を行う。修正処理部905と1003は同じ構成で
ある。同様の構成の修正処理部をさらに加えることのよ
り、修正処理をさらに高速に実行することができる。修
正処理部は輝度値情報の読み込みと格子点座標情報の読
み込みと書き込みのとき以外はほぼ独立に処理を行うこ
とができるため、メモリへのアクセスの衝突を避けて並
列に処理を行うことができる。
FIG. 10 shows an example in which parallel processing is introduced in the processing of FIG. The same reference numbers as in FIG. 9 refer to the same things. In this example, there are a plurality of correction processing units that perform correction processing in hexagonal matching and share the processing.
In order to read the luminance value information from the frame memories 901 and 903 which store the reference image and the original image of the current frame, a common data bus 1001 and address bus 1002 are required.
To use. In addition, information is read from the grid point coordinate memory 904 that stores the coordinates of the grid points in the reference image,
When writing information, a common data bus 1005 and address bus 1004 are used. Through these buses,
A circuit 902 that roughly estimates the movement of the lattice points and circuits 905 and 1003 that corrects the hexagonal matching transfer information. The correction processing units 905 and 1003 have the same configuration. The correction processing can be executed at a higher speed by adding a correction processing unit having the same configuration. Since the correction processing unit can perform the processing almost independently except when reading the brightness value information and reading and writing the grid point coordinate information, it is possible to perform the processing in parallel while avoiding the collision of access to the memory. .

【0040】図8、9、10に示した実施例では、修正
処理において参照画像の1画素について約(2+ 2Ns
/Ng)×(m×m - 1)回の内挿演算が必要であり、図
4で示した実施例の約(2+ 2Ns /Ng)倍の回数を必
要とする。しかし、高精細参照画像全体を蓄えるメモリ
が必要ないため、全体で必要なメモリ容量を小さくする
ことができる。
In the embodiment shown in FIGS. 8, 9 and 10, about one pixel (2 + 2Ns) of the reference image is subjected to the correction process.
/Ng).times.(m.times.m-1) interpolation operations are required, which is about (2 + 2Ns / Ng) times as many as the embodiment shown in FIG. However, since a memory that stores the entire high-definition reference image is not required, the memory capacity required as a whole can be reduced.

【0041】回路における乗除算のしやすさを考慮する
と、mは2のべき乗であることが望ましい。mを小さく
すると回路規模を小さくすることができる。しかし、一
方で動き推定における座標(動きベクトル)の近似精度
が悪くなり、数2の演算で予測誤差の大小関係が逆転し
やすくなるために動き推定結果に狂いが生じ、予測特性
は劣化する。これに対し、mを大きくすると逆の現象が
起こる。回路規模を考慮すれば、mの値としては4以下
が望ましい。また、予測特性を考慮すれば、mの値とし
ては2以上が望ましい。したがって、両者のバランスを
考えてmの値としては2、4が適当である。許容される
予測誤差と回路規模に応じて適当なmの値は選択すれば
良い。
Considering the ease of multiplication and division in the circuit, m is preferably a power of 2. If m is reduced, the circuit scale can be reduced. However, on the other hand, the approximation accuracy of the coordinates (motion vector) in the motion estimation is deteriorated, and the magnitude relationship of the prediction error is easily reversed in the calculation of Expression 2, so that the motion estimation result is distorted and the prediction characteristic is deteriorated. On the other hand, when m is increased, the opposite phenomenon occurs. Considering the circuit scale, the value of m is preferably 4 or less. Further, considering the prediction characteristics, the value of m is preferably 2 or more. Therefore, considering the balance between the two, 2 and 4 are suitable as the value of m. An appropriate value of m may be selected according to the allowable prediction error and the circuit scale.

【0042】画素密度が縦横にm倍の高精細参照画像を
用いて動き推定を行なうことは、数3における変換関数
fi(x, y)とgi(x, y)の値が1/mの整数倍となる
ように制限される(変換関数の最小単位が隣接画素間距
離の1/mとなる)ことを意味する。しかし、これはあ
くまで動き推定の際の制限で、予測画像の合成の際にも
この制限を守る必要はない。一方で、空間変換に基づく
動き補償では送信側と受信側における予測画像のミスマ
ッチ(送信側と受信側における変換関数の演算精度が異
なることが原因で、両者で合成される予測画像に不一致
が生じること)を防ぐため、予測画像を合成するときの
変換関数の演算精度に関して何らかの基準を設定する必
要がある。この基準を設定する方法の一つとして、動き
推定の際と同様に予測画像を合成する際の変換関数に最
小単位を設ける方法がある。しかし、上で述べた理由か
ら、このときの最小単位は必ずしも動き推定における最
小単位と同じ1/mである必要はない。一般的に動き推
定が終了し、動きパラメータが確定していても、予測画
像の合成における変換関数の演算精度を上げると予測誤
差は減少する。したがって、予測画像の合成のときには
動き推定のときよりも動きベクトルの最小単位を小さく
することにより、予測誤差を減少させることができる。
予測画像の合成の際には、輝度値の内挿演算は1画素に
つき1回のみ行なわれるため、この演算が多少複雑にな
っても動き推定の場合ほど全体の処理量に大きな影響を
及ぼさない。
Performing motion estimation using a high-definition reference image having a pixel density of m times the length and width means that the values of the conversion functions fi (x, y) and gi (x, y) in Equation 3 are 1 / m. It means that it is limited to an integral multiple (the minimum unit of the conversion function is 1 / m of the distance between adjacent pixels). However, this is just a limitation in motion estimation, and it is not necessary to comply with this limitation also in combining predicted images. On the other hand, in motion compensation based on spatial transformation, a mismatch between the predicted images on the transmission side and the reception side (due to the difference in the calculation accuracy of the conversion function on the transmission side and the reception side, the prediction images synthesized by the two sides do not match. In order to prevent such a problem, it is necessary to set some standard for the calculation accuracy of the conversion function when the predicted images are combined. As one of the methods of setting this reference, there is a method of providing a minimum unit in a conversion function when synthesizing a predicted image as in the case of motion estimation. However, for the reason described above, the minimum unit at this time is not necessarily the same 1 / m as the minimum unit in motion estimation. Generally, even if the motion estimation is completed and the motion parameter is fixed, the prediction error decreases if the calculation accuracy of the conversion function in the synthesis of the predicted images is increased. Therefore, the prediction error can be reduced by making the minimum unit of the motion vector smaller when the predicted images are combined than when the motion estimation is performed.
When the prediction image is combined, the brightness value interpolation operation is performed only once for each pixel, so even if this operation is somewhat complicated, it does not affect the overall processing amount as much as in the case of motion estimation. .

【0043】なお、以下の変形も本発明に含まれること
は明らかである。
Obviously, the following modifications are included in the present invention.

【0044】(1)輝度値の内挿に用いる関数として、
本明細書では共1次内挿をとりあげたが、これ以外の関
数を用いても良い。関数が複雑になると、内挿演算の回
数を減らすことの効果は大きくなる。
(1) As a function used for interpolation of luminance values,
In this specification, colinear interpolation is taken up, but other functions may be used. When the function becomes complicated, the effect of reducing the number of interpolation operations becomes large.

【0045】(2)変換関数の種類として、本明細書で
はアフィン変換を中心にとりあげたが、これ以外の変換
関数を用いても良い。同一パッチ内の画素が共通の動き
ベクトルに従う必要がなく、画素の動きベクトルの垂直
・水平成分が隣接画素間距離の整数倍以外の値を取り得
る限り、本発明は有効である。
(2) Although the affine transformation is mainly used in the present specification as the type of the transformation function, other transformation functions may be used. The present invention is effective as long as the pixels in the same patch do not have to follow a common motion vector, and the vertical and horizontal components of the pixel motion vector can take values other than integer multiples of the distance between adjacent pixels.

【0046】(3)パッチの形状は、画素の集合を特定
するものであれば良く、特に本明細書でとりあげた3角
形でなくても良い。
(3) The shape of the patch may be any shape as long as it specifies a set of pixels, and is not limited to the triangular shape described in this specification.

【0047】(4)空間変換に基づく動き補償に関し、
本明細書ではパッチの境界で動きベクトルが連続的に変
化する方式をとりあげた。しかし、例えばパッチごとに
動きパラメータをそのまま伝送する方式など、パッチ境
界で不連続を許容する方式であっても良い。
(4) Regarding motion compensation based on spatial transformation,
In this specification, the method in which the motion vector continuously changes at the boundary of the patch is taken up. However, a method of allowing discontinuity at a patch boundary, such as a method of directly transmitting a motion parameter for each patch, may be used.

【0048】(5)動き推定アルゴリズムとして、本明
細書ではブロックマッチングと6角マッチングをとりあ
げたが、これは他のマッチングに基づく方式であっても
良い。予測誤差の評価が多数回行なわれる方式である限
り、本発明は有効である。
(5) As the motion estimation algorithm, block matching and hexagonal matching are taken up in this specification, but this may be a system based on other matching. The present invention is effective as long as the prediction error is evaluated many times.

【0049】(6)空間変換に基づく動き補償におい
て、本明細書でとりあげた例のように伝送される動き情
報が格子点の動きベクトルでなくても良い。動き情報
は、上記項目(4)でとりあげた例のように、パッチご
との変換関数を特定するものであれば良い。
(6) In the motion compensation based on the spatial transformation, the motion information transmitted as in the example taken in this specification may not be the motion vector of the lattice point. The motion information may be any information that specifies a conversion function for each patch, as in the example taken in item (4) above.

【0050】(7)実施例では、m1=m2の場合につい
て述べたが、両者が異なっていても良い。
(7) In the embodiment, the case where m1 = m2 is described, but both may be different.

【0051】(8)本明細書では、現フレームのパッチ
構造を固定して参照画像のパッチを変形させる方式に関
して説明したが、逆に参照画像のパッチ構造を固定して
現フレームのパッチを変形させる方式であっても良い。
(8) In the present specification, the method of fixing the patch structure of the current frame and deforming the patch of the reference image has been described. Conversely, the patch structure of the reference image is fixed and the patch of the current frame is deformed. It may be a method of allowing.

【0052】(9)本明細書では、1個の予測画像を合
成するために用いる参照画像の数は1個として説明した
が、複数の参照画像を用いる方式であっても良い。
(9) Although the number of reference images used to synthesize one predicted image is one in the present specification, a method using a plurality of reference images may be used.

【0053】[0053]

【発明の効果】本発明により、同一パッチに所属するす
べての画素が共通の動きベクトルを持つ制約がなく、か
つ画素の動きベクトルの水平・垂直成分が隣接画素間距
離の整数倍以外の値を取り得る動き補償方式の動き推定
処理において、輝度値の内挿の演算を行なう回数を減ら
すことが可能となる。
According to the present invention, there is no constraint that all pixels belonging to the same patch have a common motion vector, and the horizontal / vertical components of the pixel motion vector have values other than integer multiples of the distance between adjacent pixels. In the possible motion compensation type motion estimation processing, it is possible to reduce the number of times the calculation of the interpolation of the luminance value is performed.

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

【図1】半画素精度のブロックマッチングにおける2段
階探索の処理の例を示した図である。
FIG. 1 is a diagram showing an example of a two-step search process in block matching with half-pixel accuracy.

【図2】空間変換に基づく動き補償の処理の例を示した
図である。
FIG. 2 is a diagram showing an example of motion compensation processing based on space conversion.

【図3】空間変換に基づく動き補償における動き推定処
理の例として、6角マッチングとよばれる方式の処理を
示した図である。
FIG. 3 is a diagram showing a process called a hexagonal matching process as an example of a motion estimation process in motion compensation based on space conversion.

【図4】高精細参照画像を活用する画像符号化装置の例
を示した図である。
FIG. 4 is a diagram showing an example of an image encoding device that utilizes a high-definition reference image.

【図5】輝度値の内挿により、参照画像を高精細化する
回路の例を示した図である。
FIG. 5 is a diagram showing an example of a circuit for increasing the definition of a reference image by interpolating a brightness value.

【図6】変換関数の演算結果から、高精細参照画像にお
ける輝度値を得る回路の例を示した図である。
FIG. 6 is a diagram showing an example of a circuit that obtains a luminance value in a high-definition reference image from a calculation result of a conversion function.

【図7】6角マッチングの修正処理で使用する画素の範
囲を示した図である。
FIG. 7 is a diagram showing a range of pixels used in correction processing of hexagonal matching.

【図8】6角マッチングの修正処理において隣の格子点
に続いて修正処理を行う場合に、新たに必要となる画素
の範囲を示した図である。
FIG. 8 is a diagram showing a range of pixels that is newly required when a correction process is performed subsequent to an adjacent grid point in the correction process of hexagonal matching.

【図9】現フレームの原画像と参照画像の必要な部分を
少しずつ取り込みながら参照画像を高精細化して動き推
定に用いる方式を示した図である。
FIG. 9 is a diagram showing a method in which a reference image is refined and used for motion estimation while gradually capturing necessary portions of an original image and a reference image of a current frame.

【図10】現フレームの原画像と参照画像の必要な部分
を少しずつ取り込みながら動き推定に用いる方式に並列
処理を導入した場合を示した図である。
FIG. 10 is a diagram showing a case where parallel processing is introduced into a method used for motion estimation while gradually capturing necessary portions of an original image and a reference image of a current frame.

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

101、102、103、104…半画素精度のブロッ
クマッチングにおけるマッチング処理の例、201…参
照画像、202…現フレームの原画像、203…動き推
定後の参照画像のパッチと格子点、204、209…パ
ッチ、205〜207、210〜212、301、30
3〜309、703〜711…格子点、208…現フレ
ームの原画像のパッチと格子点、302…修正処理にお
けるマッチングの対象となる多角形、401、909…
動き推定部、402、411…現フレームの原画像、4
03、407、901、903…フレームメモリ、40
4…参照画像、405…参照画像高精細化回路、406
…高精細参照画像、408…近似輝度値、409…マッ
チング処理回路、410…予測画像合成回路、412…
減算器、413…予測誤差、414…予測誤差符号化
器、415…動き情報、416…予測誤差情報、501
…ライン遅延回路、502、503…画素遅延回路、5
04〜507…参照画像の画素の輝度値、508〜51
1…乗算器、512〜515、603…加算器、516
…シフトレジスタ、517〜520…高精細参照画像の
画素の輝度値、601、602…参照画像における座標
値の固定小数点表現(変換関数の演算結果)、604…
小数点以下2桁目以下(2進表現)切り捨て回路、60
5、606…高精細参照画像における座標値、607…
座標−アドレス変換回路、701…参照画像において修
正に使用される範囲、702…現フレームの原画像にお
いて修正に使用される範囲、801…参照画像において
追加される範囲、802…現フレームの原画像において
追加される範囲、902…6角マッチングにおける格子
点の大まかな動き推定を行う回路、904…参照画像に
おける格子点の座標メモリ、905、1003…6角マ
ッチングの修正処理部、906…マッチング処理回路、
907…参照画像の一部の高精細化回路、908…動き
ベクトル演算回路、1001…輝度値情報のデータバ
ス、1002…輝度値情報のアドレスバス、1004…
格子点の座標情報のアドレスバス、1005…格子点の
座標情報のデータバス。
101, 102, 103, 104 ... Examples of matching processing in block matching with half pixel accuracy, 201 ... Reference image, 202 ... Original image of current frame, 203 ... Patch and grid point of reference image after motion estimation, 204, 209 ... Patch, 205-207, 210-212, 301, 30
3 to 309, 703 to 711 ... Lattice points, 208 ... Patches and lattice points of the original image of the current frame, 302 ... Polygons to be matched in the correction process, 401, 909 ...
Motion estimation units 402, 411 ... Original image of current frame, 4
03, 407, 901, 903 ... Frame memory, 40
4 ... Reference image, 405 ... Reference image high-definition circuit, 406
... High-definition reference image, 408 ... Approximate brightness value, 409 ... Matching processing circuit, 410 ... Predicted image synthesizing circuit, 412 ...
Subtractor, 413 ... Prediction error, 414 ... Prediction error encoder, 415 ... Motion information, 416 ... Prediction error information, 501
... line delay circuits, 502, 503 ... pixel delay circuits, 5
04 to 507 ... Luminance values of pixels of the reference image, 508 to 51
1 ... Multiplier, 512-515, 603 ... Adder, 516
... shift register, 517 to 520 ... luminance value of pixel of high-definition reference image, 601, 602 ... fixed point representation of coordinate value in reference image (calculation result of conversion function), 604 ...
Rounding circuit below the second decimal place (binary representation), 60
5, 606 ... Coordinate values in high-definition reference image, 607 ...
Coordinate-address conversion circuit, 701 ... Range used for correction in reference image, 702 ... Range used for correction in original image of current frame, 801 ... Range added in reference image, 802 ... Original image of current frame , 902 ... Circuit for performing rough motion estimation of grid points in hexagonal matching, 904 ... Coordinate memory of grid points in reference image, 905, 1003 ... Hexagonal matching correction processing unit, 906 ... Matching processing circuit,
Reference numeral 907 ... High-definition circuit for a part of the reference image, 908 ... Motion vector arithmetic circuit, 1001 ... Luminance value information data bus, 1002 ... Luminance value information address bus, 1004 ...
Address bus for coordinate information of grid points, 1005 ... Data bus for coordinate information of grid points.

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】同一パッチに所属するすべての画素が共通
の動きベクトルを持つ制約がなく、かつ画素の動きベク
トルの水平・垂直成分が隣接画素間距離の整数倍以外の
値を取り得る動き補償方式を実行する手段と、参照画像
において画素の存在しない点の輝度値を内挿により求め
ることによって画素の密度を水平、垂直方向にそれぞれ
m1、m2倍(m1、m2は正の整数)とした高精細参照画
像を合成する手段と、上記高精細参照画像を格納するメ
モリとを具備し、参照画像内で画素の存在しない点にお
ける輝度値を、上記高精細参照画像内でこの点の最も近
くに位置する画素の輝度値で近似することを特徴とする
画像符号化装置。
1. Motion compensation in which all pixels belonging to the same patch are not constrained to have a common motion vector, and the horizontal and vertical components of the pixel motion vector can take values other than integer multiples of the distance between adjacent pixels. By means of executing the method and by interpolating the luminance value of a point where no pixel exists in the reference image, the pixel density is multiplied by m1 and m2 in the horizontal and vertical directions (m1 and m2 are positive integers), respectively. A means for synthesizing a high-definition reference image and a memory for storing the high-definition reference image are provided, and the brightness value at a point where no pixel exists in the reference image is closest to this point in the high-definition reference image. An image coding apparatus characterized by approximating with a luminance value of a pixel located at.
【請求項2】同一パッチに所属するすべての画素が共通
の動きベクトルを持つ制約がなく、かつ画素の動きベク
トルの水平・垂直成分が隣接画素間距離の整数倍以外の
値を取り得る動き補償方式を実行する手段と、参照画像
の一部を対象として、画素の存在しない点の輝度値を内
挿により求めることによって画素の密度を水平、垂直方
向にそれぞれm1、m2倍(m1、m2は正の整数)とした
高精細参照画像の一部を合成する手段と、上記高精細参
照画像の一部を格納するメモリとを具備し、上記参照画
像の一部の中で画素の存在しない点における輝度値を、
上記高精細参照画像の一部の中でこの点の最も近くに位
置する画素の輝度値で近似することを特徴とする画像符
号化装置。
2. Motion compensation in which all pixels belonging to the same patch are not constrained to have a common motion vector, and the horizontal / vertical components of the pixel motion vector can take values other than integer multiples of the distance between adjacent pixels. The pixel density in the horizontal and vertical directions is m1 and m2 times (m1 and m2 respectively) by interpolating the brightness value of a point where no pixel exists by using the means for executing the method and a part of the reference image as a target. A part of the high-definition reference image and a memory for storing a part of the high-definition reference image, and a pixel does not exist in the part of the reference image. The brightness value at
An image coding apparatus characterized by approximating with a luminance value of a pixel located closest to this point in a part of the high definition reference image.
【請求項3】予測画像の合成の際の各画素における動き
ベクトルの水平、垂直成分をそれぞれ隣接画素間距離の
1/d1、1/d2(d1、d2は正の整数)の整数倍に制
限する手段を具備し、m1≦d1、m2≦d2であることを
特徴とする請求項1または2に記載の画像符号化装置。
3. The horizontal and vertical components of a motion vector at each pixel when a predicted image is combined are limited to integer multiples of 1 / d1 and 1 / d2 (d1 and d2 are positive integers) of the distance between adjacent pixels, respectively. The image coding apparatus according to claim 1 or 2, further comprising: means for satisfying m1≤d1 and m2≤d2.
【請求項4】上記m1、m2の値がそれぞれ2以上の整数
であることを特徴とする請求項1または2または3に記
載の画像符号化装置。
4. The image coding apparatus according to claim 1, wherein the values of m1 and m2 are integers of 2 or more, respectively.
【請求項5】上記m1、m2の値がそれぞれ2のw1乗、
2のw2乗(w1とw2は正の整数)であることを特徴と
する請求項1または2または3に記載の画像符号化装
置。
5. The values of m1 and m2 are 2 to the power w1, respectively.
The image coding device according to claim 1, wherein the image coding device is a power of 2 (w1 and w2 are positive integers).
【請求項6】上記m1とm2の値が2であることを特徴と
する請求項1または2または3に記載の画像符号化装
置。
6. The image coding apparatus according to claim 1, 2 or 3, wherein the values of m1 and m2 are two.
【請求項7】上記m1とm2の値が4であることを特徴と
する請求項1または2または3に記載の画像符号化装
置。
7. The image coding apparatus according to claim 1, wherein the value of m1 and m2 is 4.
JP19397194A 1994-08-18 1994-08-18 Image encoding device Expired - Fee Related JP3634878B2 (en)

Priority Applications (14)

Application Number Priority Date Filing Date Title
JP19397194A JP3634878B2 (en) 1994-08-18 1994-08-18 Image encoding device
US08/516,218 US5684538A (en) 1994-08-18 1995-08-17 System and method for performing video coding/decoding using motion compensation
US08/903,199 US5963259A (en) 1994-08-18 1997-07-15 Video coding/decoding system and video coder and video decoder used for the same system
US09/364,255 US6134271A (en) 1994-08-18 1999-07-30 Video coding/decoding system and video coder and video decoder used for the same system
US09/626,788 US6285713B1 (en) 1994-08-18 2000-07-26 Video coding/decoding system and video coder and video decoder used for the same system
US09/863,428 US6516033B2 (en) 1994-08-18 2001-05-24 Video coding method and apparatus for calculating motion vectors of the vertices of a portion of an image and outputting information of horizontal and vertical components of the motion vectors
US09/994,728 US6542548B2 (en) 1994-08-18 2001-11-28 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US10/342,273 US6928117B2 (en) 1994-08-18 2003-01-15 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US11/155,570 US7133454B2 (en) 1994-08-18 2005-06-20 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US11/518,177 US7684487B2 (en) 1994-08-18 2006-09-11 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US11/976,230 US8160146B2 (en) 1994-08-18 2007-10-23 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US11/976,227 US7680188B2 (en) 1994-08-18 2007-10-23 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US11/976,228 US8155199B2 (en) 1994-08-18 2007-10-23 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US11/976,229 US8135070B2 (en) 1994-08-18 2007-10-23 Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19397194A JP3634878B2 (en) 1994-08-18 1994-08-18 Image encoding device

Publications (2)

Publication Number Publication Date
JPH0865676A true JPH0865676A (en) 1996-03-08
JP3634878B2 JP3634878B2 (en) 2005-03-30

Family

ID=16316824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19397194A Expired - Fee Related JP3634878B2 (en) 1994-08-18 1994-08-18 Image encoding device

Country Status (1)

Country Link
JP (1) JP3634878B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003530780A (en) * 2000-04-11 2003-10-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method of determining similarity between a data sample and interpolation of another data sample
JP2009065333A (en) * 2007-09-05 2009-03-26 Sony Corp Image processing apparatus, image processing method, and computer program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003530780A (en) * 2000-04-11 2003-10-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method of determining similarity between a data sample and interpolation of another data sample
JP2009065333A (en) * 2007-09-05 2009-03-26 Sony Corp Image processing apparatus, image processing method, and computer program
US8126281B2 (en) 2007-09-05 2012-02-28 Sony Corporation Image processing apparatus, method, and computer-readable medium for generating motion compensation images

Also Published As

Publication number Publication date
JP3634878B2 (en) 2005-03-30

Similar Documents

Publication Publication Date Title
US7684487B2 (en) Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors
US6483877B2 (en) Method of coding and decoding image
JP4410172B2 (en) Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium
JP3634878B2 (en) Image encoding device
JP3218874B2 (en) Image encoding apparatus and image encoding method
US5930403A (en) Method and apparatus for half pixel SAD generation utilizing a FIFO based systolic processor
JPH09200763A (en) Motion compensating method for moving image encoding
JPH08116541A (en) Image coder
US20030059089A1 (en) Block matching at the fractional pixel level for motion estimation
JP3509610B2 (en) Image encoding method and image encoding device
JP3414304B2 (en) Image decoding method and decoding device
JPH1021386A (en) Image processor
JPH09121353A (en) Picture encoding device
JP2003204557A (en) Image encoding/decoding method and image encoding/ decoding apparatus
JP3520858B2 (en) Image encoding apparatus and image encoding method
JPH10285598A (en) Image coder/decoder
JP2001236498A (en) Method and device for image processing
JP2001320714A (en) Image encoder and image decoder
JPH06311503A (en) Motion picture coding method
JPH0723390A (en) Movement compensating circuit for moving image

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041227

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080107

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees