JP3520845B2 - Image encoding apparatus and image encoding method - Google Patents

Image encoding apparatus and image encoding method

Info

Publication number
JP3520845B2
JP3520845B2 JP2000285234A JP2000285234A JP3520845B2 JP 3520845 B2 JP3520845 B2 JP 3520845B2 JP 2000285234 A JP2000285234 A JP 2000285234A JP 2000285234 A JP2000285234 A JP 2000285234A JP 3520845 B2 JP3520845 B2 JP 3520845B2
Authority
JP
Japan
Prior art keywords
motion vector
image
motion
pixel
integer
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.)
Expired - Lifetime
Application number
JP2000285234A
Other languages
Japanese (ja)
Other versions
JP2001145115A (en
Inventor
雄一郎 中屋
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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000285234A priority Critical patent/JP3520845B2/en
Publication of JP2001145115A publication Critical patent/JP2001145115A/en
Application granted granted Critical
Publication of JP3520845B2 publication Critical patent/JP3520845B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、画像全体に対して
線形内・外挿または共1次内・外挿に基づくグローバル
動き補償を適用する画像符号化および復号化方法に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image coding and decoding method for applying global motion compensation based on linear interpolation / extrapolation or bilinear interpolation / extrapolation to an entire image.

【0002】[0002]

【従来の技術】動画像の高能率符号化において、時間的
に近接するフレーム間の類似性を活用する動き補償は情
報圧縮に大きな効果を示すことが知られている。現在の
画像符号化技術の主流となっている動き補償方式は、動
画像符号化方式の国際標準であるH.261,MPEG
1,MPEG2に採用されているブロックマッチングで
ある。この方式では、符号化しようとする画像を多数の
ブロックに分割し、ブロックごとにその動きベクトルを
求める。
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 H.261, which is an international standard of the moving image encoding method, MPEG.
1 is the block matching adopted in MPEG2. In this method, an image to be encoded is divided into a large number of blocks, and the motion vector is obtained for each block.

【0003】図1にH.261の符号化器の構成例10
0を示す。H.261は、符号化方式として、ブロック
マッチングとDCT(離散コサイン変換)を組み合わせ
たハイブリッド符号化方式(フレーム間/フレーム内適
応符号化方式)を採用している。減算器102は入力画
像(現フレームの原画像)101とフレーム間/フレー
ム内符号化切り換えスイッチ119の出力画像113
(後述)との差を計算し、誤差画像103を出力する。
この誤差画像は、DCT変換器104でDCT係数に変
換された後に量子化器105で量子化され、量子化DC
T係数106となる。この量子化DCT計数は伝送情報
として通信路に出力されると同時に、符号化器内でもフ
レーム間予測画像を合成するために使用される。以下に
予測画像合成の手順を説明する。上述の量子化DCT係
数106は、逆量子化器108と逆DCT変換器109
を経て復号誤差画像110(受信側で再生される誤差画
像と同じ画像)となる。これに、加算器111において
フレーム間/フレーム内符号化切り換えスイッチ119
の出力画像113(後述)が加えられ、現フレームの復
号画像112(受信側で再生される現フレームの復号画
像と同じ画像)を得る。この画像は一旦フレームメモリ
114に蓄えられ、1フレーム分の時間だけ遅延され
る。したがって、現時点では、フレームメモリ114は
前フレームの復号画像115を出力している。この前フ
レームの復号画像と現フレームの入力画像101がブロ
ックマッチング部116に入力され、ブロックマッチン
グの処理が行われる。ブロックマッチングでは、画像を
複数のブロックに分割し、各ブロックごとに現フレーム
の原画像に最も似た部分を前フレームの復号画像から取
り出すことにより、現フレームの予測画像117が合成
される。このときに、各ブロックが前フレームと現フレ
ームの間でどれだけ移動したかを検出する処理(動き推
定処理)を行う必要がある。動き推定処理によって検出
された各ブロックごとの動きベクトルは、動き情報12
0として受信側へ伝送される。受信側は、この動き情報
と前フレームの復号画像から、独自に送信側で得られる
ものと同じ予測画像を合成することができる。予測画像
117は、「0」信号118と共にフレーム間/フレー
ム内符号化切り換えスイッチ119に入力される。この
スイッチは、両入力のいずれかを選択することにより、
フレーム間符号化とフレーム内符号化を切り換える。予
測画像117が選択された場合(図2はこの場合を表し
ている)には、フレーム間符号化が行われる。一方、
「0」信号が選択された場合には、入力画像がそのまま
DCT符号化されて通信路に出力されるため、フレーム
内符号化が行われることになる。受信側が正しく復号化
画像を得るためには、送信側でフレーム間符号化が行わ
れたかフレーム内符号化が行われたかを知る必要があ
る。このため、識別フラグ121が通信路へ出力され
る。最終的なH.261符号化ビットストリーム123
は多重化器122で量子化DCT係数,動きベクトル,
フレーム内/フレーム間識別フラグの情報を多重化する
ことによって得られる。
FIG. 1 shows a configuration example 10 of an H.261 encoder.
Indicates 0. H.261 adopts a hybrid coding system (interframe / intraframe adaptive coding system) that combines block matching and DCT (discrete cosine transform) as a coding system. The subtractor 102 outputs the input image (original image of the current frame) 101 and the output image 113 of the inter-frame / intra-frame coding switch 119.
The difference with (described later) is calculated, and the error image 103 is output.
This error image is converted into DCT coefficients by the DCT converter 104 and then quantized by the quantizer 105 to obtain quantized DC.
The T coefficient is 106. This quantized DCT count is output to the communication path as transmission information, and at the same time, used in the encoder to synthesize the inter-frame predicted image. The procedure of predictive image composition will be described below. The quantized DCT coefficient 106 described above is obtained by using the inverse quantizer 108 and the inverse DCT converter 109.
And becomes a decoded error image 110 (the same image as the error image reproduced on the receiving side). In addition, in the adder 111, an inter-frame / intra-frame coding changeover switch 119
Output image 113 (described later) is added to obtain a decoded image 112 of the current frame (the same image as the decoded image of the current frame reproduced on the receiving side). This image is temporarily stored in the frame memory 114 and delayed by the time for one frame. Therefore, at present, the frame memory 114 is outputting the decoded image 115 of the previous frame. The decoded image of the previous frame and the input image 101 of the current frame are input to the block matching unit 116, and the block matching processing is performed. In block matching, an image is divided into a plurality of blocks, and a portion of each block that most resembles the original image of the current frame is extracted from the decoded image of the previous frame to synthesize the predicted image 117 of the current frame. At this time, it is necessary to perform processing (motion estimation processing) for detecting how much each block has moved between the previous frame and the current frame. The motion vector for each block detected by the motion estimation process is the motion information 12
It is transmitted to the receiving side as 0. The receiving side can independently synthesize the same predicted image as that obtained on the transmitting side from the motion information and the decoded image of the previous frame. The predicted image 117 is input to the inter-frame / intra-frame coding changeover switch 119 together with the “0” signal 118. This switch, by selecting one of both inputs,
Switches between interframe coding and intraframe coding. When the predicted image 117 is selected (FIG. 2 shows this case), interframe coding is performed. on the other hand,
When the "0" signal is selected, the input image is DCT-encoded as it is and output to the communication path, so that intra-frame encoding is performed. In order for the receiving side to correctly obtain a decoded image, it is necessary for the transmitting side to know whether inter-frame coding or intra-frame coding has been performed. Therefore, the identification flag 121 is output to the communication path. Final H.261 encoded bitstream 123
Is a quantized DCT coefficient, a motion vector,
It is obtained by multiplexing the information of the intra-frame / inter-frame identification flag.

【0004】図2に図1の符号化器が出力した符号化ビ
ットストリームを受信する復号化器200の構成例を示
す。受信したH.261ビットストリーム217は、分
離器216で量子化DCT係数201,動きベクトル2
02,フレーム内/フレーム間識別フラグ203に分離
される。量子化DCT係数201は逆量子化器204と
逆DCT変換器205を経て復号化された誤差画像20
6となる。この誤差画像は加算器207でフレーム間/
フレーム内符号化切り換えスイッチ214の出力画像2
15を加算され、復号化画像208として出力される。
フレーム間/フレーム内符号化切り換えスイッチはフレ
ーム間/フレーム内符号化識別フラグ203に従って、
出力を切り換える。フレーム間符号化を行う場合に用い
る予測画像212は、予測画像合成部211において合
成される。ここでは、フレームメモリ209に蓄えられ
ている前フレームの復号画像210に対して、受信した
動きベクトル202に従ってブロックごとに位置を移動
させる処理が行われる。一方フレーム内符号化の場合、
フレーム間/フレーム内符号化切り換えスイッチは、
「0」信号213をそのまま出力する。
FIG. 2 shows an example of the configuration of a decoder 200 that receives the encoded bit stream output from the encoder shown in FIG. The received H.261 bit stream 217 is quantized DCT coefficient 201 and motion vector 2 by the separator 216.
02, an intra-frame / inter-frame identification flag 203 is separated. The quantized DCT coefficient 201 passes through the inverse quantizer 204 and the inverse DCT converter 205, and is decoded into the error image 20.
It becomes 6. This error image is added by the adder 207 between frames /
Output image 2 of intraframe coding changeover switch 214
15 is added and the decoded image 208 is output.
The inter-frame / intra-frame coding changeover switch operates according to the inter-frame / intra-frame coding identification flag 203.
Switch the output. The predicted image 212 used when performing inter-frame coding is synthesized in the predicted image synthesis unit 211. Here, a process of moving the position of each block in accordance with the received motion vector 202 is performed on the decoded image 210 of the previous frame stored in the frame memory 209. On the other hand, in the case of intraframe coding,
The interframe / intraframe coding switch is
The “0” signal 213 is output as it is.

【0005】ブロックマッチングは現在最も広く利用さ
れている動き補償方式であるが、画像全体が拡大・縮小
・回転している場合には、すべてのブロックに対して動
きベクトルを伝送しなければならず、符号化効率が悪く
なる問題が発生する。この問題に対し、画像全体の動き
ベクトル場を少ないパラメータを用いて表現するグロー
バル動き補償(例えば、M.Hotter, "Differential esti
mation of the globalmotion parameters zoom and pa
n", Signal Processing, vol. 16, no. 3, pp.249-265,
Mar. 1989)が提案されている。これは、画像内の画素
(x,y)の動きベクトル(ug(x,y),vg(x,y))
を、
Block matching is the most widely used motion compensation method at present, but when the entire image is enlarged, reduced or rotated, the motion vector must be transmitted to all blocks. However, there arises a problem that the coding efficiency is deteriorated. To solve this problem, global motion compensation is used to represent the motion vector field of the entire image using a small number of parameters (eg, M. Hotter, "Differential esti
mation of the globalmotion parameters zoom and pa
n ", Signal Processing, vol. 16, no. 3, pp.249-265,
Mar. 1989) has been proposed. This is the motion vector (ug (x, y), vg (x, y)) of the pixel (x, y) in the image.
To

【0006】[0006]

【数1】 [Equation 1]

【0007】や、[0007]

【0008】[0008]

【数2】 [Equation 2]

【0009】の形式で表し、この動きベクトルを利用し
て動き補償を行う方式である。ここでa0〜a5,b0〜
b7 は動きパラメータである。動き補償を行う際には、
送信側と受信側で同じ予測画像が得られなければならな
い。このために、送信側は受信側へ a0〜a5 または
b0〜b7 の値を直接伝送しても良いが、代わりにいく
つかの代表点の動きベクトルを伝送する方法もある。い
ま、画像の左上端,右上端,左下端,右下端の画素の座
標がそれぞれ(0,0),(r,0),(0,s),(r,s)で
表されるとする(ただし、rとsは正の整数)。このと
き、代表点(0,0),(r,0),(0,s)の動きベクト
ルの水平,垂直成分をそれぞれ(ua,va),(ub,v
b),(uc,vc)とすると、(数1) は
This is a system for performing motion compensation using this motion vector. Where a0-a5 and b0-
b7 is a motion parameter. When performing motion compensation,
The same predicted image must be obtained on the transmitting side and the receiving side. To this end, the sender sends to the receiver a0-a5 or
Although the values of b0 to b7 may be directly transmitted, there is also a method of transmitting the motion vectors of some representative points instead. Now, assume that the coordinates of the pixels at the upper left corner, upper right corner, lower left corner, and lower right corner of the image are represented by (0,0), (r, 0), (0, s), and (r, s), respectively. (However, r and s are positive integers). At this time, the horizontal and vertical components of the motion vectors of the representative points (0,0), (r, 0) and (0, s) are (ua, va) and (ub, v), respectively.
b), (uc, vc), (Equation 1) becomes

【0010】[0010]

【数3】 [Equation 3]

【0011】と書き換えることができる。このことは
a0〜a5 を伝送する代わりに ua,va,ub,vb,u
c,vc を伝送しても同様の機能が実現できることを意
味する。この様子を図3に示す。現フレームの原画像3
02と参照画像301の間でグローバル動き補償が行わ
れたとして、動きパラメータの代わりに代表点303,
304,305の動きベクトル306,307,308
(このとき、動きベクトルは現フレームの原画像の点を
出発点として、参照画像内の対応する点を終点とするも
のとして定義する)を伝送しても良い。これと同じよう
に、4個の代表点(0,0),(r,0),(0,s),(r,
s)の動きベクトルの水平,垂直成分(ua,va),(u
b,vb),(uc,vc),(ud,vd)を用いて (数2) は、
It can be rewritten as This is
Instead of transmitting a0 to a5, ua, va, ub, vb, u
It means that the same function can be realized by transmitting c and vc. This state is shown in FIG. Original image of the current frame 3
02 and the reference image 301, global motion compensation is performed, and instead of the motion parameter, the representative points 303,
Motion vectors 306, 307, 308 of 304, 305
(At this time, the motion vector is defined by defining the point of the original image of the current frame as the starting point and the corresponding point of the reference image as the ending point). Similarly, four representative points (0,0), (r, 0), (0, s), (r,
horizontal and vertical components (ua, va), (u) of the motion vector of
b, vb), (uc, vc), (ud, vd)

【0012】[0012]

【数4】 [Equation 4]

【0013】と書き換えることができる。したがって、
b0〜b7 を伝送する代わりに ua,va,ub,vb,u
c,vc,ud,vd を伝送しても同様の機能が実現でき
る。本明細書では (数1) を用いる方式を線形内・外挿
に基づくグローバル動き補償,(数2) を用いる方式を
共1次内・外挿に基づくグローバル動き補償とよぶこと
とする。
It can be rewritten as Therefore,
Instead of transmitting b0 to b7, ua, va, ub, vb, u
Similar functions can be realized by transmitting c, vc, ud, and vd. In this specification, the method using (Equation 1) will be referred to as global motion compensation based on linear interpolation / extrapolation, and the method using (Equation 2) will be referred to as global motion compensation based on bilinear interpolation / extrapolation.

【0014】代表点の動きベクトルを伝送する線形内・
外挿に基づくグローバル動き補償方式を採用した画像符
号化器の動き補償処理部401の構成例を図4に示す。
図1と同じ番号は同じものを指すとする。図1のブロッ
クマッチング部116をこの動き補償処理部401に入
れ替えることにより、グローバル動き補償を行う画像符
号化装置を構成することができる。グローバル動き補償
部402で前フレームの復号画像115と現フレームの
原画像101との間でグローバル動き補償に関する動き
推定が行われ、上記 ua,va,ub,vb,uc,vc の
値が推定される。これらの値に関する情報403は動き
情報120の一部として伝送される。グローバル動き補
償の予測画像404は数3を用いて合成され、ブロック
マッチング部405に供給される。ここでは、グローバ
ル動き補償の予測画像と現フレームの原画像との間でブ
ロックマッチングによる動き補償が行われ、ブロックの
動きベクトル情報406と最終的な予測画像117が得
られる。この動きベクトル情報は動きパラメータ情報と
多重化部407において多重化され、動き情報120と
して出力される。
In the linear form for transmitting the motion vector of the representative point
FIG. 4 shows a configuration example of the motion compensation processing unit 401 of the image encoder that employs the global motion compensation method based on extrapolation.
The same numbers as in FIG. 1 indicate the same things. By replacing the block matching unit 116 in FIG. 1 with the motion compensation processing unit 401, an image coding apparatus that performs global motion compensation can be configured. The global motion compensation unit 402 performs motion estimation related to global motion compensation between the decoded image 115 of the previous frame and the original image 101 of the current frame, and estimates the values of ua, va, ub, vb, uc, vc. It Information 403 about these values is transmitted as part of the motion information 120. The predicted image 404 for global motion compensation is combined using Equation 3 and supplied to the block matching unit 405. Here, motion compensation by block matching is performed between the predicted image of global motion compensation and the original image of the current frame, and the motion vector information 406 of the block and the final predicted image 117 are obtained. This motion vector information is multiplexed with the motion parameter information in the multiplexing unit 407 and output as motion information 120.

【0015】図4とは異なる動き補償処理部501の構
成例を図5に示す。図1と同じ番号は同じものを指すと
する。図1のブロックマッチング部116をこの動き補
償処理部501に入れ替えることにより、グローバル動
き補償を行う画像符号化装置を構成することができる。
この例では、グローバル動き補償の予測画像にブロック
マッチングを適用するのではなく、各ブロックに関して
グローバル動き補償かブロックマッチングのいずれかが
適用される。前フレームの復号画像115と現フレーム
の原画像101との間で、グローバル動き補償部502
とブロックマッチング部505でそれぞれグローバル動
き補償とブロックマッチングが並列に行われる。選択ス
イッチ508は、グローバル動き補償による予測画像5
03とブロックマッチングによる予測画像506の間で
ブロックごとに最適な方式を選択する。代表点の動きベ
クトル504,ブロックごとの動きベクトル507,グ
ローバル動き補償/ブロックマッチングの選択情報50
9は多重化部510で多重化され、動き情報120とし
て出力される。
FIG. 5 shows an example of the configuration of the motion compensation processing section 501 different from that shown in FIG. The same numbers as in FIG. 1 indicate the same things. By replacing the block matching unit 116 in FIG. 1 with the motion compensation processing unit 501, an image coding apparatus that performs global motion compensation can be configured.
In this example, instead of applying block matching to the prediction image of global motion compensation, either global motion compensation or block matching is applied to each block. Between the decoded image 115 of the previous frame and the original image 101 of the current frame, the global motion compensation unit 502
And block matching unit 505 perform global motion compensation and block matching in parallel. The selection switch 508 is used for the prediction image 5 by the global motion compensation.
03 and the predicted image 506 by block matching, the optimum method is selected for each block. Motion vector 504 of representative point, motion vector 507 of each block, selection information 50 of global motion compensation / block matching
9 is multiplexed by the multiplexing unit 510 and output as motion information 120.

【0016】以上述べたグローバル動き補償を導入する
ことにより、画像の大局的な動きを少ないパラメータを
用いて表現することが可能となり、より高い情報圧縮率
が実現できる。しかし、その一方で符号化および復号化
における処理量は従来の方式と比較して増加する。特に
(数3) および (数4) に見られる除算は、処理を複雑
にする大きな要因となってしまう。
By introducing the global motion compensation described above, it is possible to represent the global motion of an image using a small number of parameters, and a higher information compression rate can be realized. However, on the other hand, the amount of processing in encoding and decoding increases as compared with the conventional method. In particular
The division shown in (Equation 3) and (Equation 4) becomes a large factor that complicates the processing.

【0017】[0017]

【発明が解決しようとする課題】画像全体の動きベクト
ル場を少ないパラメータによって近似するグローバル動
き補償では、予測画像の合成のための処理量が多くなる
問題が発生する。本発明の目的は、グローバル動き補償
における除算の処理を2進数のシフト演算に置き換える
ことにより、演算量を減少させることにある。
In the global motion compensation in which the motion vector field of the entire image is approximated by a small number of parameters, there is a problem that the amount of processing for synthesizing the predicted image increases. An object of the present invention is to reduce the amount of calculation by replacing the division process in global motion compensation with a binary shift calculation.

【0018】[0018]

【課題を解決するための手段】グローバル動き補償を行
う際の代表点の座標をうまく選択することにより、除算
処理をシフト演算で実現できるようにする。
The division processing can be realized by a shift operation by properly selecting the coordinates of a representative point when performing global motion compensation.

【0019】[0019]

【発明の実施の形態】以下の議論では、画素のサンプリ
ング間隔を水平,垂直方向共に1とし、画像の左上端,
右上端,左下端,右下端の画素の座標がそれぞれ(0,
0),(r,0),(0,s),(r,s)で表されるとする
(ただし、rとsは正の整数)。
BEST MODE FOR CARRYING OUT THE INVENTION In the following discussion, the sampling interval of pixels is set to 1 in both the horizontal and vertical directions, and the upper left corner of the image,
The coordinates of the upper right, lower left, and lower right pixels are (0,
0), (r, 0), (0, s), (r, s) (where r and s are positive integers).

【0020】線形内・外挿(アフィン変換)または共1
次内・外挿(共1次変換)を用いた動き補償を行う際に
は、画素ごとの動きベクトルに対して量子化を行うと、
ミスマッチの防止や演算の簡略化などの効果を得ること
ができる(特願平06-193970)。以下では、画素の動き
ベクトルの水平成分と垂直成分が1/m(mは正の整
数)の整数倍であるとする。また、「従来の技術」で説
明した代表点の動きベクトルを用いるグローバル動き補
償を行うと仮定し、各代表点の動きベクトルは1/k
(kは正の整数)の整数倍であるとする。なお、本明細
書では、「画素の動きベクトル」はグローバル動き補償
を行う際に、実際に予測画像を合成するために用いる動
きベクトルのことを指す。一方、「代表点の動きベクト
ル」は画素の動きベクトルを計算するために用いるパラ
メータを意味している。したがって、量子化ステップサ
イズの違いなどが原因で、同じ座標上に存在していても
画素の動きベクトルと代表点の動きベクトルが一致しな
い場合も起こり得る。
Linear interpolation / extrapolation (affine transformation) or co-1
When performing motion compensation using the next interpolation / extrapolation (co-linear transformation), if the motion vector for each pixel is quantized,
It is possible to obtain effects such as prevention of mismatch and simplification of calculation (Japanese Patent Application No. 06-193970). In the following, it is assumed that the horizontal and vertical components of the pixel motion vector are integral multiples of 1 / m (m is a positive integer). Further, assuming that the global motion compensation using the motion vector of the representative point described in “Prior Art” is performed, the motion vector of each representative point is 1 / k.
(K is a positive integer). In this specification, the “pixel motion vector” refers to a motion vector used for actually synthesizing a predicted image when global motion compensation is performed. On the other hand, “representative point motion vector” means a parameter used to calculate a pixel motion vector. Therefore, there may be a case where the motion vector of the pixel and the motion vector of the representative point do not match even if they exist on the same coordinate due to a difference in quantization step size or the like.

【0021】まず線形内・外挿を用いる場合について図
6を用いて説明する。このとき、「従来の技術」で述べ
たように代表点を画像601の隅に位置する点とはせ
ず、(i,j),(i+p,j),(i,j+q)に位置する点
602,603,604とする(i,j,p,qは整
数)。このとき、点602,603,604は画像の内
部に存在していても外部に存在していても良い。代表点
の動きベクトルの水平,垂直成分をk倍したものをそれ
ぞれ(u0,v0),(u1,v1),(u2,v2)とすると(u
0,v0,u1,v1,u2,v2 は整数)、画素(x,y)
の動きベクトルの水平,垂直成分をm倍したもの(u
(x,y),v(x,y))は以下の式で表すことができる
(ただし、x,y,u(x,y),v(x,y)は整数)。
First, the case of using linear interpolation / extrapolation will be described with reference to FIG. At this time, the representative points are not positioned at the corners of the image 601 as described in "Prior Art", and (i, j), (i + p, j), (i, j + q) Points 602, 603, and 604 (i, j, p, and q are integers). At this time, the points 602, 603, and 604 may exist inside or outside the image. Let (u0, v0), (u1, v1), and (u2, v2) be the horizontal and vertical components of the motion vector of the representative point multiplied by k, respectively.
0, v0, u1, v1, u2, v2 are integers), pixel (x, y)
M of the horizontal and vertical components of the motion vector of
(x, y), v (x, y)) can be expressed by the following formula (where x, y, u (x, y) and v (x, y) are integers).

【0022】[0022]

【数5】 u(x,y)=(((u1-u0)(x-i)q+(u2-u0)(y-j)p+u0pq)m)//(pqk) v(x,y)=(((v1-v0)(x-i)q+(v2-v0)(y-j)p+v0pq)m)//(pqk) ・・・(数5)[Equation 5]   u (x, y) = (((u1-u0) (x-i) q + (u2-u0) (y-j) p + u0pq) m) // (pqk)   v (x, y) = (((v1-v0) (x-i) q + (v2-v0) (y-j) p + v0pq) m) // (pqk) ... (Equation 5)

【0023】ただし、「//」は通常の除算による演算結
果が整数ではない場合にこれを近隣の整数に丸め込む除
算で、演算子としての優先順位は乗除算と同等である。
演算誤差を小さくするためには、非整数値は最も近い整
数に丸め込まれることが望ましい。このとき整数に1/
2を加えた値の丸め込み方法は、(1) 0に近づける方向
に丸め込む、(2) 0から遠ざける方向に丸め込む、(3)
被除数が負の場合は0に近づける方向,正の場合は0か
ら遠ざける方向に丸め込む(除数は常に正であるとす
る)、(4) 被除数が負の場合は0から遠ざける方向,正
の場合は0に近づける方向に丸め込む(除数は常に正で
あるとする)、などが考えられる。これらの中で(3)
と(4)は、被除数の正負に関わらず丸め込みの方向が
変化しないため、正負判定が必要ない分だけ処理量の点
で有利である。(3)を用いた高速処理は以下の式によっ
て実現される。
However, "//" is a division in which the result of the usual division is not an integer and is rounded to the nearest integer, and the priority as an operator is equivalent to the multiplication / division.
To reduce the calculation error, it is desirable that the non-integer value be rounded to the nearest integer. At this time, 1 /
The rounding method of the value which added 2 is (1) round toward the direction of 0, (2) round toward the direction of 0, (3)
When the dividend is negative, it is rounded toward 0, and when it is positive, it is rounded away from 0 (divisor is always positive). (4) When the dividend is negative, it is moved away from 0. Rounding in the direction of approaching 0 (assuming that the divisor is always positive) can be considered. Among these (3)
Since (4) and (4) do not change the rounding direction regardless of whether the dividend is positive or negative, it is advantageous in terms of processing amount as much as there is no need to determine whether the dividend is positive or negative. High-speed processing using (3) is realized by the following equation.

【0024】[0024]

【数6】 [Equation 6]

【0025】ただし、「#」は小数点以下を0の方向に
切り捨てる整数の除算であり、一般に計算機では最も実
現しやすい形式の除算である。ここで、LとMは除算の
被除数を常に正に保つための数で、十分に大きな正の整
数である。また、(pqk#2)の項は、除算結果を最
も近い整数に丸め込むために用いられる。
However, "#" is an integer division in which the fractional part is rounded down to the direction of 0, and is generally the easiest division type to be realized by a computer. Here, L and M are numbers for always keeping the dividend of division positive, and are sufficiently large positive integers. The term (pqk # 2) is used to round the division result to the nearest integer.

【0026】処理を整数化することはそれ自体処理量の
低減に貢献するが、ここで p,q,k をそれぞれ2の
α,β,h0 乗(α,βは正の整数、h0は負ではない
整数)とすると、(数5) の除算は α+β+h0 ビット
のシフト演算で実現できるため、計算機や専用ハードウ
ェアにおける処理量を大きく減らすことができる。さら
にmを2のh1乗とすれば(h1は負ではない整数、h1
<α+β+h0)、(数6) は、
Although making the processing into an integer contributes to the reduction of the processing amount itself, here, p, q, and k are respectively raised to the power of 2 by α, β, h0 (α and β are positive integers, and h0 is negative). Is not an integer), the division of (Equation 5) can be realized by a shift operation of α + β + h0 bits, so that the processing amount in a computer or dedicated hardware can be greatly reduced. If m is the power of 2 (h1 is a non-negative integer, h1
<Α + β + h0), (Equation 6) is

【0027】[0027]

【数7】 [Equation 7]

【0028】と書き換えることができ(「x<<α」はx
をαビット左にシフトして下位αビットに0を入れる、
「x>>α」はxをαビット右にシフトして上位αビット
に0または1を入れる(xが2の補数表現の場合、xの
最上位ビットが1のときは1,0のときは0を入れる)
ことを意味し、これらの演算子の優先順位は加減算と乗
除算の中間であるとする)、さらに演算を簡略化するこ
とができる。
Can be rewritten as follows (“x << α” is x
Shift left by α bits and put 0 in the lower α bits,
"X >>α" shifts x to the right by α bits and puts 0 or 1 in the upper α bits (when x is a two's complement expression, when the most significant bit of x is 1, it is 1,0 Enter 0)
It means that the priority of these operators is intermediate between addition and subtraction and multiplication and division), and the operation can be further simplified.

【0029】線形内・外挿を用いた場合、さらに(i+
p,j+q)に位置する代表点の動きベクトルの水平,垂
直成分をk倍したものを(u3,v3)として、(数5) は
(i,j),(i+p,j),(i+p,j+q)を代表点とすれ
ば、
When linear interpolation / extrapolation is used, (i +
(u3, v3) is obtained by multiplying the horizontal and vertical components of the motion vector of the representative point located at (p, j + q) by (u3, v3), and (Equation 5) is (i, j), (i + p, j) , (I + p, j + q) are the representative points,

【0030】[0030]

【数8】 u(x,y)=(((u1-u0)(x-i)q+(u3-u1)(y-j)p+u0pq)m)//(pqk) v(x,y)=(((v1-v0)(x-i)q+(v3-v1)(y-j)p+v0pq)m)//(pqk) ・・・(数8)[Equation 8]   u (x, y) = (((u1-u0) (x-i) q + (u3-u1) (y-j) p + u0pq) m) // (pqk)   v (x, y) = (((v1-v0) (x-i) q + (v3-v1) (y-j) p + v0pq) m) // (pqk) ... (Equation 8)

【0031】(i,j),(i,j+q),(i+p,j+q)を
代表点とすれば、
If (i, j), (i, j + q), and (i + p, j + q) are the representative points,

【0032】[0032]

【数9】 u(x,y)=(((u3-u2)(x-i)q+(u2-u0)(y-j)p+u0pq)m)//(pqk) v(x,y)=(((v3-v2)(x-i)q+(v2-v0)(y-j)p+v0pq)m)//(pqk) ・・・(数9)[Equation 9]   u (x, y) = (((u3-u2) (x-i) q + (u2-u0) (y-j) p + u0pq) m) // (pqk)   v (x, y) = (((v3-v2) (x-i) q + (v2-v0) (y-j) p + v0pq) m) // (pqk) ... (Equation 9)

【0033】(i+p,j),(i,j+q),(i+p,j+
q)を代表点とすれば、
(I + p, j), (i, j + q), (i + p, j +)
If q) is the representative point,

【0034】[0034]

【数10】 u(x,y)=(((u2-u3)(i+p-x)q+(u1-u3)(j+q-y)p+u3pq)m)//(pqk) v(x,y)=(((v2-v3)(i+p-x)q+(v1-v3)(j+q-y)p+v3pq)m)//(pqk) ・・・(数10)[Equation 10]   u (x, y) = (((u2-u3) (i + p-x) q + (u1-u3) (j + q-y) p + u3pq) m) // (pqk)   v (x, y) = (((v2-v3) (i + p-x) q + (v1-v3) (j + q-y) p + v3pq) m) / (pqk) ... (Equation 10)

【0035】と書き換えられ、p,q,k,m の値を
2の正の整数乗とすることによって同様に処理量を減ら
すことができる。
The processing amount can be similarly reduced by rewriting as follows and setting the values of p, q, k and m to the powers of 2 as positive integers.

【0036】共1次内・外挿を用いた場合には、代表点
(i,j),(i+p,j),(i,j+q),(i+p,j+q)そ
れぞれの動きベクトルの水平,垂直成分をk倍したもの
である(u0,v0),(u1,v1),(u2,v2),(u3,v3)
を用いて(u(x,y),v(x,y))は以下の式で表すこ
とができる。
When co-linear interpolation / extrapolation is used, representative points (i, j), (i + p, j), (i, j + q), (i + p, j + q) The horizontal and vertical components of each motion vector are multiplied by k (u0, v0), (u1, v1), (u2, v2), (u3, v3).
(U (x, y), v (x, y)) can be expressed by the following equation.

【0037】[0037]

【数11】 u(x,y)=(((j+q-y)(i+p-x)u0+(x-i)u1+(y-j)((i+p-x)u2+(x-i)u3))m)//(pqk) v(x,y)=(((j+q-y)(i+p-x)v0+(x-i)v1+(y-j)((i+p-x)v2+(x-i)v3))m)//(pqk) ・・・(数11)[Equation 11]   u (x, y) = (((j + q-y) (i + p-x) u0 + (x-i) u1 + (y-j) ((i + p-x) u2 + (x-i) u3)) m) // (pqk)   v (x, y) = (((j + q-y) (i + p-x) v0 + (x-i) v1 + (y-j) ((i + p-x) v2 + (x-i) v3)) m) // (pqk)                                                             ... (Equation 11)

【0038】この式も p,q,k,m の値をそれぞれ
2の α,β,h0,h1 乗とすることによって、
Also in this equation, the values of p, q, k and m are respectively set to the powers of 2 of α, β, h0 and h1,

【0039】[0039]

【数12】 [Equation 12]

【0040】と書き換えることができ、上と同様に処理
量を減らすことができる。
It can be rewritten as follows, and the processing amount can be reduced as in the above case.

【0041】送信側と受信側で同じグローバル動き補償
予測画像を得るためには、代表点の動きベクトルに関す
る情報を何らかの形で受信側に伝える必要がある。代表
点の動きベクトルそのまま伝送する方法もあるが、画像
の隅の点の動きベクトルを伝送し、この値から代表点の
動きベクトルを計算する方法もある。この方法に関し、
以下に説明する。
In order to obtain the same global motion-compensated prediction image on the transmitting side and the receiving side, it is necessary to convey information about the motion vector of the representative point to the receiving side in some form. There is also a method of transmitting the motion vector of the representative point as it is, but also a method of transmitting the motion vector of the point at the corner of the image and calculating the motion vector of the representative point from this value. Regarding this method,
This will be described below.

【0042】まずは線形内・外挿が使用される場合につ
いて説明する。画像の隅の3個の点(0,0),(r,
0),(0,s)の動きベクトルが1/n整数倍の値のみ
とれるとして、これらの水平,垂直成分をn倍した(u
00,v00),(u01,v01),(u02,v02)が伝送されると
する。このとき、点(i,j),(i+p,j),(i,j+
q),(i+p,j+q)それぞれの動きベクトルの水平,
垂直成分をk倍したものである(u0,v0),(u1,v
1),(u2,v2),(u3,v3)を、
First, the case where linear interpolation / extrapolation is used will be described. Three points (0,0), (r,
Assuming that the motion vectors of (0) and (0, s) can take only values of 1 / n integer multiples, these horizontal and vertical components are multiplied by n (u
It is assumed that 00, v00), (u01, v01), and (u02, v02) are transmitted. At this time, points (i, j), (i + p, j), (i, j +)
q), (i + p, j + q) horizontal of each motion vector,
The vertical component is multiplied by k (u0, v0), (u1, v
1), (u2, v2), (u3, v3)

【0043】[0043]

【数13】 [Equation 13]

【0044】と定義する。ただし、u'(x,y),v'
(x,y)は、(数5) を変形して、
It is defined as However, u '(x, y), v'
(x, y) is a modification of (Equation 5),

【0045】[0045]

【数14】 u'(x,y)=(((u01-u00)xs+(u02-u00)yr+u00rs)k)///(rsn) v'(x,y)=(((v01-v00)xs+(v02-v00)yr+v00rs)k)///(rsn) ・・・(数14)[Equation 14]   u '(x, y) = (((u01-u00) xs + (u02-u00) yr + u00rs) k) /// (rsn)   v '(x, y) = (((v01-v00) xs + (v02-v00) yr + v00rs) k) /// (rsn) ... (Equation 14)

【0046】と定義する。このとき、「///」は通常の除
算による演算結果が整数ではない場合にこれを近隣の整
数に丸め込む除算で、演算子としての優先順位は乗除算
と同等である。(u0,v0),(u1,v1),(u2,v2),(u
3,v3)の中から3点を選び、それらを代表点とするグ
ローバル動き補償を行えば、(0,0),(r,0),(0,
s)を代表点とするグローバル動き補償を近似すること
ができる。もちろんこのときにpとqを2の正の整数乗
とすれば、上で述べたように処理を簡略化することが可
能となる。なお、演算誤差を小さくするためには、「//
/」は非整数値を最も近い整数に丸め込むことが望まし
い。このとき整数に1/2を加えた値の丸め込み方法と
しては、上で述べた(1)〜(4)の方法が考えられる。
ただし、(数5)(画素ごとに計算)の場合と比較して、
(数14) (1枚の画像で3回のみ計算)は演算が実行
される回数が少ないため、(1)または(2)の方法を選
んだとしても全体の演算量に大きな影響は与えない。
It is defined as At this time, "///" is a division in which the result of the ordinary division is rounded to the nearest integer when the result is not an integer, and the priority as an operator is equivalent to the multiplication / division. (u0, v0), (u1, v1), (u2, v2), (u
If three points are selected from (3, v3) and global motion compensation is performed with those points as representative points, (0, 0), (r, 0), (0,
Global motion compensation, whose representative point is s), can be approximated. Of course, if p and q are set to be positive integer powers of 2 at this time, the processing can be simplified as described above. To reduce the calculation error, use "//
It is desirable that "/" round the non-integer value to the nearest integer. At this time, as the method for rounding the value obtained by adding 1/2 to the integer, the methods (1) to (4) described above can be considered.
However, compared to the case of (Equation 5) (calculation for each pixel),
(Equation 14) (Calculation only 3 times for one image) does not significantly affect the overall calculation amount even if the method of (1) or (2) is selected because the number of calculations is small. .

【0047】画像の隅の点として (数13) の例とは異
なる3点が選ばれた場合も数8〜10を変形することに
よって同様の処理を実現することができる。上記の例に
加え、さらに画像の隅の点(r,s)の動きベクトルの
水平,垂直成分をn倍したものを(u03,v03)とすれ
ば、(数14) は、(u00,v00),(u01,v01),(u03,
v03)が伝送される場合には、
Even when three points different from the example of (Equation 13) are selected as the corner points of the image, the same processing can be realized by modifying Equations 8 to 10. In addition to the above example, if (u03, v03) is obtained by multiplying the horizontal and vertical components of the motion vector of the point (r, s) at the corner of the image by (u03, v03), (Equation 14) becomes (u00, v00 ), (U01, v01), (u03,
v03) is transmitted,

【0048】[0048]

【数15】 u'(x,y)=(((u01-u00)xs+(u03-u01)yr+u00rs)k)///(rsn) v'(x,y)=(((v01-v00)xs+(v03-v01)yr+v00rs)k)///(rsn) ・・・(数15)[Equation 15]   u '(x, y) = (((u01-u00) xs + (u03-u01) yr + u00rs) k) /// (rsn)   v '(x, y) = (((v01-v00) xs + (v03-v01) yr + v00rs) k) // (rsn) ... (Equation 15)

【0049】と、(u00,v00),(u02,v02),(u03,v
03)が伝送される場合には、
And (u00, v00), (u02, v02), (u03, v
03) is transmitted,

【0050】[0050]

【数16】 u'(x,y)=(((u03-u02)xs+(u02-u00)yr+u00rs)k)///(rsn) v'(x,y)=(((v03-v02)xs+(v02-v00)yr+v00rs)k)///(rsn) ・・・(数16)[Equation 16]   u '(x, y) = (((u03-u02) xs + (u02-u00) yr + u00rs) k) /// (rsn)   v '(x, y) = (((v03-v02) xs + (v02-v00) yr + v00rs) k) // (rsn) ... (Equation 16)

【0051】と、(u01,v01),(u02,v02),(u03,v
03)が伝送される場合には、
And (u01, v01), (u02, v02), (u03, v
03) is transmitted,

【0052】[0052]

【数17】 u'(x,y)=(((u02-u03)(r-x)s+(u01-u03)(s-y)r+u03rs)k)///(rsn) v'(x,y)=(((v02-v03)(r-x)s+(v01-v03)(s-y)r+v03rs)k)///(rsn)・・・(数17)[Equation 17]   u '(x, y) = (((u02-u03) (r-x) s + (u01-u03) (s-y) r + u03rs) k) /// (rsn)   v '(x, y) = (((v02-v03) (r-x) s + (v01-v03) (s-y) r + v03rs) k) /// (rsn) ... (Equation 17)

【0053】と書き換えられる。It is rewritten as

【0054】共1次内・外挿が行われる場合も同様であ
る。上と同様に画像の隅の4個の代表点(0,0),(r,
0),(0,s),(r,s)の動きベクトルが1/n整数倍
の値のみとれるとして、これらの水平,垂直成分をn倍
した(u00,v00),(u01,v01),(u02,v02),(u03,
v03)が伝送されるとする。このときの代表点(i,
j),(i+p,j),(i,j+q),(i+p,j+q)それぞ
れの動きベクトルの水平,垂直成分をk倍したものであ
る(u0,v0),(u1,v1),(u2,v2),(u3,v3)は上
と同様、(数13) で与えられる。ただし、u'(x,
y),v'(x,y)は、(数11) を変形して、
The same applies when co-primary interpolation / extrapolation is performed. Similar to the above, four representative points (0,0), (r,
0), (0, s), (r, s) motion vectors can take only values of 1 / n integer multiples, and the horizontal and vertical components are multiplied by n (u00, v00), (u01, v01) , (U02, v02), (u03,
v03) is transmitted. The representative point (i,
j), (i + p, j), (i, j + q), (i + p, j + q), which are the horizontal and vertical components of the motion vector multiplied by k (u0, v0), (u1, v1), (u2, v2), (u3, v3) are given by (Equation 13) as in the above. However, u '(x,
y), v '(x, y) is a modification of (Equation 11)

【0055】[0055]

【数18】 u'(x,y)=(((s-y)((r-x)u00+xu01)+y((r-x)u02+xu03))k)///(rsn) v'(x,y)=(((s-y)((r-x)v00+xv01)+y((r-x)v02+xv03))k)///(rsn)・・・(数18)[Equation 18]   u '(x, y) = (((s-y) ((r-x) u00 + xu01) + y ((r-x) u02 + xu03)) k) /// (rsn)   v '(x, y) = (((s-y) ((r-x) v00 + xv01) + y ((r-x) v02 + xv03)) k) ///(rsn)...(Equation 18)

【0056】と定義される。Is defined as

【0057】画像の隅の点の動きベクトルを伝送し、こ
れに対して内・外挿を行うことによって代表点の動きベ
クトルを求める方式の長所は、画素ごとの動きベクトル
の範囲を限定しやすい点である。例えば、(数4) で与
えられる共1次内・外挿では、(x,y)が画像内の点で
あるとき、ug(x,y)の値は ua,ub,uc,udの最
大値を超えることも、最小値を下まわることもない。し
たがって、グローバル動き推定のときに ua,ub,u
c,ud の値がある制限範囲内(例えば±32画素以内
の範囲)に収まるような制約条件を加えれば、全ての画
素に関して ug(x,y)の値を同じ制限範囲内入れてお
くことができる(もちろんこれは vg(x,y)に関して
も成立する)。こうすると演算に必要な桁数を明確にす
ることができ、ソフトウェアまたはハードウェアを設計
する上で便利である。ただし、以上の議論は計算がすべ
て浮動小数点演算で行われた場合の議論なので、実際の
処理では注意が必要である。画像の隅の点の動きベクト
ルから代表点の動きベクトルを求める演算 (数18) に
は整数への丸め込みが存在するため、計算誤差の影響で
(数12) で求まる動きベクトルが上で述べた制限範囲
内から出る可能性を考慮する必要がある。特に代表点が
画像の内側に位置するような場合には注意が必要であ
る。これは、代表点が囲む長方形の外側に位置する画素
に関しては外挿によって動きベクトルが求められるた
め、丸め込み誤差が増幅される可能性があるためであ
る。外挿によって動きベクトルが求まる例を図7に示
す。画像701に対し、代表点702,703,70
4,705を用いてグローバル動き補償を行うと、画像
内の斜線で示された部分は外挿により動きベクトルが計
算されることになる。これは、斜線部が代表点が囲む長
方形706の外にあるためである。
The advantage of the method of transmitting the motion vector of the point at the corner of the image and performing the interpolation / extrapolation on the motion vector to find the motion vector of the representative point is to easily limit the range of the motion vector for each pixel. It is a point. For example, in colinear extrapolation given by (Equation 4), when (x, y) is a point in the image, the value of ug (x, y) is the maximum of ua, ub, uc, ud. It does not exceed the value or fall below the minimum value. Therefore, at the time of global motion estimation, ua, ub, u
If you add a constraint that the values of c and ud fall within a certain limit range (for example, within ± 32 pixels), keep the values of ug (x, y) within the same limit range for all pixels. (Of course, this also holds for vg (x, y)). This makes it possible to clarify the number of digits required for calculation, which is convenient for designing software or hardware. However, since the above discussion is for the case where all calculations are performed by floating point arithmetic, caution is required in the actual processing. The calculation (Equation 18) for calculating the motion vector of the representative point from the motion vector of the corner point of the image has rounding to the integer, so it is affected by calculation error.
It is necessary to consider the possibility that the motion vector obtained by (Equation 12) may fall out of the above-mentioned limited range. In particular, care should be taken when the representative point is located inside the image. This is because the motion vector is obtained by extrapolation for the pixels located outside the rectangle surrounded by the representative points, and thus the rounding error may be amplified. FIG. 7 shows an example in which the motion vector is obtained by extrapolation. Representative points 702, 703, 70 for the image 701
When global motion compensation is performed using Nos. 4,705, the motion vector is calculated by extrapolation in the shaded portion in the image. This is because the shaded area is outside the rectangle 706 surrounded by the representative points.

【0058】この問題への対策としては、4個の代表点
を、代表点が囲む長方形が画像全体を含むように配置す
る方法が有効である。この例を図8に示す。代表点80
2,803,804,805が囲む長方形806は、画
像801を含んでいる。こうすれば、全ての画素の動き
ベクトルは代表点からの内挿により求められるため、代
表点における丸め込み誤差の影響は画像内では増幅され
ない。したがって、代表点の丸め込み誤差より大きな誤
差が画像内で発生することはなく、誤差の上限が明確に
なる。ただし、代表点が囲む長方形を大きくし過ぎる
と、代表点の動きベクトルがとり得る値の範囲が広くな
るため、演算に必要な桁数が増加し、実装する上では不
利となる。
As a measure against this problem, a method of arranging four representative points so that the rectangle surrounded by the representative points includes the entire image is effective. This example is shown in FIG. Representative point 80
A rectangle 806 surrounded by 2, 803, 804 and 805 contains an image 801. In this way, since the motion vectors of all pixels are obtained by interpolation from the representative point, the effect of the rounding error at the representative point is not amplified in the image. Therefore, an error larger than the rounding error of the representative point does not occur in the image, and the upper limit of the error becomes clear. However, if the rectangle surrounded by the representative points is made too large, the range of values that the motion vector of the representative point can take becomes wide, and the number of digits required for the calculation increases, which is disadvantageous for implementation.

【0059】以上の議論から、丸め込み誤差の影響を小
さくするため、pの値はr以上であり、qの値はs以上
であるが望ましい。p,q はそれぞれ r,s より小
さい場合にも、なるべく大きな値をとることが望まし
い。また、i,j の値は、画像内のできるだけ広い部
分が代表点により囲まれる領域に入るような値とするこ
とが望ましい。
From the above discussion, it is desirable that the value of p is r or more and the value of q is s or more in order to reduce the influence of the rounding error. Even if p and q are smaller than r and s, respectively, it is desirable to take as large a value as possible. Further, it is desirable that the values of i and j are values such that the widest part in the image falls within the area surrounded by the representative points.

【0060】上で述べたように、グローバル動き補償に
共1次内・外挿を用いた場合には、4個の代表点が囲む
長方形に含まれる画素の動きベクトルの各成分は、代表
点の動きベクトルの各成分の最大値と最小値の間の値し
かとれないという性質がある。これに対し、線形内・外
挿が使用された場合には、3個の代表点が囲む3角形内
の画素の動きベクトルが同様の性質を持つ。したがっ
て、線形内・外挿を用いるグローバル動き補償を行う場
合には、画像の四隅の点の動きベクトルを伝送し、画像
の対角線によって分割される2個の直角3角形に対して
それぞれ独立にグローバル動き補償を行う方法が有効で
ある。こうすることにより、4隅の点に対する動きベク
トルの範囲に関する制約が、そのまま画像内のすべての
画素の動きベクトルに適用できる。このとき、i,j,
p,q の値は、2個の直角3角形の間で異なっていて
も良い。また、演算誤差の観点から言えば、外挿によっ
て画素の動きベクトルを計算するケースを避けるため、
代表点の囲む3角形が、グローバル動き補償の対象とな
る直角3角形を含むことが望ましい。この例を図9に示
す。画像901の4隅である点909,903,90
8,910の動きベクトルが伝送され、点909,90
3,910によって構成される直角3角形と、点90
9,910,908によって構成される直角3角形それ
ぞれに対し、独立にグローバル動き補償が行われる。し
たがって、頂点の動きベクトルの範囲に関して制約を設
ければ、画像内の全ての画素の動きベクトルもこの制約
範囲内に入ることになる。点909,903,910に
よって構成される直角3角形は代表点として点902,
903,904を使用し、点909,910,908に
よって構成される直角3角形は代表点として点906,
907,908を使用する。代表点によって構成される
3角形は、それぞれグローバル動き補償の対象となる直
角3角形を中に含んでいる。このため、代表点の動きベ
クトルの丸め込み誤差の影響は、画像内の点において増
幅されることはない。なお、この例では代表点が構成す
る2個の三角形は相似となっているが、必ずしもそうで
ある必要はない。
As described above, when the first-order interpolation / extrapolation is used for global motion compensation, each component of the motion vector of the pixel included in the rectangle surrounded by the four representative points is the representative point. Has the property that it can only take values between the maximum and minimum values of each component of the motion vector. On the other hand, when linear interpolation / extrapolation is used, the motion vectors of the pixels within the triangle surrounded by the three representative points have the same property. Therefore, when performing global motion compensation using linear interpolation / extrapolation, the motion vectors of the four corners of the image are transmitted, and global motion is independently performed for the two right triangles divided by the diagonal lines of the image. A method of performing motion compensation is effective. By doing so, the restrictions on the range of the motion vector for the four corner points can be applied to the motion vectors of all the pixels in the image as they are. At this time, i, j,
The values of p and q may differ between the two right triangles. Also, from the viewpoint of calculation error, in order to avoid the case of calculating the pixel motion vector by extrapolation,
It is preferable that the triangle surrounding the representative point includes a right-angled triangle that is the target of global motion compensation. An example of this is shown in FIG. Points 909, 903, 90 which are the four corners of the image 901
8,910 motion vectors are transmitted and the points 909,90
A right-angled triangle formed by 3,910 and a point 90
Global motion compensation is independently performed for each right-angled triangle formed by 9, 910 and 908. Therefore, if a constraint is placed on the range of the motion vector of the apex, the motion vectors of all the pixels in the image will also fall within this constraint range. The right-angled triangle formed by the points 909, 903, and 910 is the representative point 902.
The right-angled triangle formed by the points 909, 910, and 908 using 903 and 904 is the point 906 as a representative point.
907 and 908 are used. Each of the triangles formed by the representative points includes a right-angled triangle that is a target of global motion compensation. Therefore, the effect of the rounding error of the motion vector of the representative point is not amplified at the point in the image. In addition, in this example, the two triangles formed by the representative points are similar, but it is not always necessary.

【0061】[0061]

【発明の効果】本発明により、グローバル動き補償の予
測画像合成処理における除算の処理をシフト演算で代用
することが可能となり、ソフトウェアや専用ハードウェ
アによる処理を簡略化することが可能となる。
As described above, according to the present invention, it is possible to substitute the division processing in the predictive image composition processing of the global motion compensation by the shift operation, and it is possible to simplify the processing by software or dedicated hardware.

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

【図1】H.261の画像符号化器の構成例を示した図
である。
FIG. 1 is a diagram showing a configuration example of an H.261 image encoder.

【図2】H.261の画像復号化器の構成例を示した図
である。
FIG. 2 is a diagram showing a configuration example of an H.261 image decoder.

【図3】代表点の動きベクトルを伝送するグローバル動
き補償の例を示した図である。
FIG. 3 is a diagram showing an example of global motion compensation for transmitting a motion vector of a representative point.

【図4】グローバル動き補償の予測画像に対してブロッ
クマッチングを行う画像符号化器の動き補償処理部を示
した図である。
[Fig. 4] Fig. 4 is a diagram illustrating a motion compensation processing unit of an image encoder that performs block matching on a predicted image for global motion compensation.

【図5】ブロックごとにグローバル動き補償とブロック
マッチングを選択する画像符号化器の動き補償処理部を
示した図である。
[Fig. 5] Fig. 5 is a diagram illustrating a motion compensation processing unit of an image encoder that selects global motion compensation and block matching for each block.

【図6】高速な処理を行うための代表点の配置の例を示
した図である。
FIG. 6 is a diagram showing an example of arrangement of representative points for performing high-speed processing.

【図7】画像内において、外挿によって動きベクトルを
求める領域を示した図である。
FIG. 7 is a diagram showing a region where a motion vector is obtained by extrapolation in an image.

【図8】画像内のすべての画素の動きベクトルが、代表
点の動きベクトルからの内挿によって求められる場合を
示した図である。
FIG. 8 is a diagram showing a case where motion vectors of all pixels in an image are obtained by interpolation from motion vectors of representative points.

【図9】画像を2個の直角3角形に分割し、それぞれに
対して代表点の動きベクトルからの内挿によるグローバ
ル動き補償を適用した例を示した図である。
FIG. 9 is a diagram showing an example in which an image is divided into two right-angled triangles and global motion compensation is applied to each by interpolation from the motion vector of a representative point.

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

100…画像符号化器、101…入力画像、102…減
算器、103…誤差画像、104…DCT変換器、10
5…DCT係数量子化器、106,201…量子化DC
T係数、108,204…DCT係数逆量子化器、10
9,205…逆DCT変換器、110,206…復号誤
差画像、111,207…加算器、112…現フレーム
の復号画像、113,215…フレーム間/フレーム内
符号化切り換えスイッチの出力画像、114,209…
フレームメモリ、115,210…前フレームの復号画
像、116,405,505…ブロックマッチング部、
117,212…現フレームの予測画像、118,21
3…「0」信号、119,214…フレーム間/フレー
ム内符号化切り換えスイッチ、120,202,40
6,507…動きベクトル情報、121,203…フレ
ーム間/フレーム内識別フラグ、122,407,51
0…多重化器、123…伝送ビットストリーム、200
…画像復号化器、208…出力画像、211…予測画像
合成部、216…分離器、301…参照画像、302…
現フレームの原画像、303,304,305,60
2,603,604,702,703,704,70
5,802,803,804,805,902,90
4,906,907…代表点、306,307,308
…代表点の動きベクトル、401,501…グローバル
動き補償を行う動き補償処理部、402,502…グロ
ーバル動き補償部、403,504…動きパラメータ、
404,503…グローバル動き補償の予測画像、50
6…ブロックマッチングによる予測画像、508…ブロ
ックマッチング/グローバル動き補償切り換えスイッ
チ、509…ブロックマッチング/グローバル動き補償
の選択情報、601,701,801,901…グロー
バル動き補償の対象となる画像、706…代表点が囲む
長方形、903,908…画像の隅の点と代表点を兼用
する点、909,910…画像の隅の点。
100 ... Image encoder, 101 ... Input image, 102 ... Subtractor, 103 ... Error image, 104 ... DCT converter, 10
5 ... DCT coefficient quantizer, 106, 201 ... Quantized DC
T coefficient, 108, 204 ... DCT coefficient inverse quantizer, 10
9, 205 ... Inverse DCT converter, 110, 206 ... Decoding error image, 111, 207 ... Adder, 112 ... Decoded image of current frame, 113, 215 ... Output image of inter-frame / intra-frame coding changeover switch, 114 209 ...
Frame memory, 115, 210 ... Decoded image of previous frame, 116, 405, 505 ... Block matching unit,
117, 212 ... Predicted image of current frame, 118, 21
3 ... "0" signal, 119, 214 ... Interframe / intraframe coding changeover switch, 120, 202, 40
6, 507 ... Motion vector information, 121, 203 ... Inter-frame / intra-frame identification flag, 122, 407, 51
0 ... Multiplexer, 123 ... Transmission bit stream, 200
... Image decoder, 208 ... Output image, 211 ... Predictive image synthesizing unit, 216 ... Separator, 301 ... Reference image, 302 ...
Original image of the current frame, 303, 304, 305, 60
2,603,604,702,703,704,70
5,802,803,804,805,902,90
4, 906, 907 ... Representative points, 306, 307, 308
... Motion vector of representative point, 401, 501 ... Motion compensation processing unit for performing global motion compensation, 402, 502 ... Global motion compensation unit, 403, 504 ... Motion parameter,
404, 503 ... Predicted image for global motion compensation, 50
6 ... Predicted image by block matching, 508 ... Block matching / global motion compensation selection switch, 509 ... Block matching / global motion compensation selection information, 601, 701, 801, 901 ... Global motion compensation target image, 706 ... Rectangle surrounded by representative points, 903, 908 ... Points at corners of image and points that also serve as representative points, 909, 910 ... Points at corners of image.

Claims (16)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】すでに符号化されたフレームを復号化した
復号化画像を記憶するフレームメモリと、 上記復号化画像と現フレームの入力画像との間でグロー
バル動き補償による動き推定を行い上記現フレームの予
測画像を合成するグローバル動き補償部を有する画像符
号化装置において、 上記グローバル動き補償部は、 グローバル動き補償による動き推定によって求める現フ
レーム隅点の動きベクトルであって、画素の間隔を1と
した座標上で上記隅点が座標(0,0)、(r,0)、および(0,
s)をもつものから、座標(i,j),(i+p,j),及び
(i,j+q)をもつ3つの代表点の動きベクトルを求める
手段と(但し、r、s、i及びjは整数、p及びqの値
は、2の正の整数によるべき乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求める手段と、 上記画素ごとの動きベクトルと上記復号化画像とから上
記予測画像を合成する手段とを有することを特徴とする
画像符号化装置。
1. A frame memory for storing a decoded image obtained by decoding an already encoded frame, and motion estimation by global motion compensation between the decoded image and an input image of the current frame, and the current frame. In the image coding apparatus having the global motion compensation unit for synthesizing the predicted image of the present invention, the global motion compensation unit is a motion vector of a current frame corner point obtained by motion estimation by global motion compensation, and the pixel interval is 1. The above-mentioned corner points are coordinates (0,0), (r, 0), and (0,
s), the coordinates (i, j), (i + p, j), and
means for obtaining motion vectors of three representative points having (i, j + q) (where r, s, i and j are integers, p and q values are powers of 2 and positive integers), An image code having means for obtaining a motion vector for each pixel of the predicted image from a motion vector of a representative point, and means for synthesizing the predicted image from the motion vector for each pixel and the decoded image Device.
【請求項2】請求項1に記載の画像符号化装置におい
て、 上記代表点の動きベクトルを求める手段は、上記フレー
ム隅点の動きベクトルから線形内・外挿で上記代表点の
動きベクトルを求め、 上記画素ごとの動きベクトルを求める手段は、上記代表
点の動きベクトルから線形内・外挿で上記画素ごとの動
きベクトルを求めることを特徴とする画像符号化装置。
2. The image coding apparatus according to claim 1, wherein the means for obtaining the motion vector of the representative point obtains the motion vector of the representative point by linear interpolation / extrapolation from the motion vector of the frame corner point. An image coding apparatus, wherein the means for obtaining the motion vector for each pixel obtains the motion vector for each pixel by linear interpolation / extrapolation from the motion vector of the representative point.
【請求項3】すでに符号化されたフレームを復号化した
復号化画像を記憶するフレームメモリと、 上記復号化画像と現フレームの入力画像との間でグロー
バル動き補償による動き推定を行い上記現フレームの予
測画像を合成するグローバル動き補償部を有する画像符
号化装置において、 上記グローバル動き補償部は、 グローバル動き補償による動き推定によって求める現フ
レーム隅点の動きベクトルであって、画素の間隔を1と
した座標上で上記隅点が座標(0,0)、(r,0)、および(0,
s)をもつものから、座標(i,j),(i+p,j),及び
(i,j+q)をもつ3つの代表点の動きベクトルを求める
手段と(但し、r、s、i及びjは整数、p及びqの値
は、2の正の整数によるべき乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求める手段と、 上記画素ごとの動きベクトルと上記復号化画像とから上
記予測画像を合成する手段とを有し、 上記隅点の動きベクトルの水平垂直成分は1/nの整数
倍をとり、上記隅点の動きベクトルをn倍したものをそ
れぞれ(u00,v00),(u01,v01),(u02,v02) とし、 上記画素ごとの動きベクトルの水平・垂直成分は1/m
の整数倍をとり、(x,y) の座標をもつ画素の動きベク
トルの水平・垂直成分をm倍したものを(u(x,y),v
(x,y))とし、 上記代表点 (i,j),(i+p,j),(i,j+q) の動き
ベクトルの水平・垂直成分は1/kの整数倍をとり、各
代表点の動きベクトルの水平・垂直成分をk倍したもの
を(u0,v0),(u1,v1),(u2,v2) としたときに、 上記代表点の動きベクトルを求める手段は、 u'(x,y)=((u00rs+(u01-u00)xs+(u02-u00)yr)k)///(rsn) v'(x,y)=((v00rs+(v01-v00)xs+(v02-v00)yr)k)///(rsn) u0=u'(i,j), v0=v'(i,j) u1=u'(i+p,j), v1=v'(i+p,j) u2=u'(i,j+q), v2=v'(i,j+q) によって、上記(u0,v0),(u1,v1),(u2,v2) を求
め、 上記画素ごとの動きベクトルを求める手段は、 u(x,y)=((u0pq+(u1-u0)(x-i)q+(u2-u0)(y-j)p)m)//(pqk) v(x,y)=((v0pq+(v1-v0)(x-i)q+(v2-v0)(y-j)p)m)//(pqk) によって上記(u(x,y),v(x,y))を求めることを特
徴とする画像符号化装置(但し、u00,v00,u01,v01,
u02, v02, u(x,y),v(x,y), u0,v0,u1,v1,
u2, 及びv2は整数とし、 k、m、nは2の整数乗と
し、「///」および「//」は通常の除算による演算結果が整
数ではない場合にこれを近隣の整数に丸め込む除算で、
演算子としての優先順位は乗除算と同等とする)。
3. A frame memory for storing a decoded image obtained by decoding an already encoded frame, and motion estimation by global motion compensation between the decoded image and an input image of the current frame, and the current frame. In the image coding apparatus having the global motion compensation unit for synthesizing the predicted image of the present invention, the global motion compensation unit is a motion vector of a current frame corner point obtained by motion estimation by global motion compensation, and the pixel interval is 1. The above-mentioned corner points are coordinates (0,0), (r, 0), and (0,
s), the coordinates (i, j), (i + p, j), and
means for obtaining motion vectors of three representative points having (i, j + q) (where r, s, i and j are integers, p and q values are powers of 2 and positive integers), And a means for obtaining a motion vector for each pixel of the predicted image from a motion vector of a representative point, and a means for synthesizing the predicted image from the motion vector for each pixel and the decoded image, The horizontal and vertical components of the vector are integer multiples of 1 / n, and the motion vectors of the above corner points are multiplied by n to obtain (u00, v00), (u01, v01), (u02, v02), respectively Horizontal and vertical components of the motion vector of 1 / m
Is multiplied by an integer, and the horizontal and vertical components of the motion vector of the pixel having the coordinates (x, y) are multiplied by m to obtain (u (x, y), v
(x, y)), and the horizontal and vertical components of the motion vector of the above representative points (i, j), (i + p, j), (i, j + q) are integer multiples of 1 / k, When the horizontal and vertical components of the motion vector of each representative point are multiplied by k to be (u0, v0), (u1, v1), (u2, v2), the means for obtaining the motion vector of the representative point is u '(x, y) = ((u00rs + (u01-u00) xs + (u02-u00) yr) k) /// (rsn) v' (x, y) = ((v00rs + (v01-v00) xs + ( v02-v00) yr) k) /// (rsn) u0 = u '(i, j), v0 = v' (i, j) u1 = u '(i + p, j), v1 = v' ( i + p, j) u2 = u '(i, j + q), v2 = v' (i, j + q) to convert the above (u0, v0), (u1, v1), (u2, v2) The means for obtaining the motion vector for each pixel is u (x, y) = ((u0pq + (u1-u0) (xi) q + (u2-u0) (yj) p) m) // (pqk) v (x, y) = ((v0pq + (v1-v0) (xi) q + (v2-v0) (yj) p) m) // (pqk) by the above (u (x, y), v (x, y )) Is calculated. (However, u00, v00, u01, v01,
u02, v02, u (x, y), v (x, y), u0, v0, u1, v1,
u2, v2 are integers, k, m, n are powers of 2, and "///" and "//" are rounded to neighboring integers when the result of ordinary division is not an integer. By division,
(The precedence as an operator is equivalent to multiplication and division.)
【請求項4】請求項3に記載の画像符号化装置におい
て、 上記「///」および「//」の演算による演算結果が、整数に1
/2を加えた値の場合の丸め込み方法は、(1)0から遠ざ
ける整数に丸め込む、(2)0の方向に丸め込む、(3)被
除数が負の場合は0から遠ざける方向に丸め込み、被除
数が正の場合は0に近づける方向に丸め込む、又は(4)
被除数が正の場合は0から遠ざける方向に丸め込み、被
除数が負の場合は0に近づける方向に丸め込む、のいず
れかであることを特徴とする画像符号化装置。
4. The image coding apparatus according to claim 3, wherein the calculation result by the calculation of “///” and “//” is 1 for an integer.
The rounding method in the case of adding / 2 is (1) round to an integer that moves away from 0, (2) round to the direction of 0, (3) round to the direction of 0 when the dividend is negative, and the dividend is If positive, round toward 0, or (4)
An image coding apparatus, wherein when the dividend is positive, the rounding is performed in a direction away from 0, and when the dividend is negative, the rounding is performed in a direction toward 0.
【請求項5】すでに符号化されたフレームを復号化した
復号化画像を記憶するフレームメモリと、 上記復号化画像と現フレームの入力画像との間でグロー
バル動き補償による動き推定を行い上記現フレームの予
測画像を合成するグローバル動き補償部を有する画像符
号化装置において、 上記グローバル動き補償部は、 グローバル動き補償による動き推定によって求める現フ
レーム隅点の動きベクトルであって、画素の間隔を1と
した座標上で上記隅点が座標(0,0)、(r,0)、(0,s)及び
(r,s)をもつものから、座標(i,j),(i+p,j) ,
(i,j+q)及び(i+p,j+q)をもつ4つの代表点の動
きベクトルを求める手段と(但し、r、s、i及びjは
整数、p及びqの値は、2の正の整数によるべき乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求める手段と、 上記画素ごとの動きベクトルと上記復号化画像とから上
記予測画像を合成する手段とを有することを特徴とする
画像符号化装置。
5. A frame memory for storing a decoded image obtained by decoding an already encoded frame, and motion estimation by global motion compensation between the decoded image and the input image of the current frame, and the current frame. In the image coding apparatus having the global motion compensation unit for synthesizing the predicted image of the present invention, the global motion compensation unit is a motion vector of a current frame corner point obtained by motion estimation by global motion compensation, and the pixel interval is 1. The above corner points are coordinates (0,0), (r, 0), (0, s) and
From the one with (r, s), the coordinates (i, j), (i + p, j),
A means for obtaining motion vectors of four representative points having (i, j + q) and (i + p, j + q) (provided that r, s, i and j are integers, and values of p and q are 2) a means for obtaining a motion vector for each pixel of the predicted image from the motion vector of the representative point, and a means for synthesizing the predicted image from the motion vector for each pixel and the decoded image An image coding apparatus comprising:
【請求項6】請求項5に記載の画像符号化装置におい
て、 上記代表点の動きベクトルを求める手段は、上記フレー
ム隅点の動きベクトルから共一次内・外挿で上記代表点
の動きベクトルを求め、 上記画素ごとの動きベクトルを求める手段は、上記代表
点の動きベクトルから共一次内・外挿で上記画素ごとの
動きベクトルを求めることを特徴とする画像符号化装
置。
6. The image encoding device according to claim 5, wherein the means for obtaining the motion vector of the representative point is a motion vector of the representative point by bilinear interpolation / extrapolation from the motion vector of the frame corner point. The image coding apparatus is characterized in that the means for obtaining the motion vector for each pixel obtains the motion vector for each pixel by bilinear interpolation / extrapolation from the motion vector of the representative point.
【請求項7】すでに符号化されたフレームを復号化した
復号化画像を記憶するフレームメモリと、 上記復号化画像と現フレームの入力画像との間でグロー
バル動き補償による動き推定を行い上記現フレームの予
測画像を合成するグローバル動き補償部を有する画像符
号化装置において、 上記グローバル動き補償部は、 グローバル動き補償による動き推定によって求める現フ
レーム隅点の動きベクトルであって、画素の間隔を1と
した座標上で上記隅点が座標(0,0)、(r,0)、(0,s)及び
(r,s)をもつものから、座標(i,j),(i+p,j) ,
(i,j+q)及び(i+p,j+q)をもつ4つの代表点の動
きベクトルを求める手段と(但し、r、s、i及びjは
整数、p及びqの値は、2の正の整数によるべき乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求める手段と、 上記画素ごとの動きベクトルと上記復号化画像とから上
記予測画像を合成する手段とを有し、 上記隅点の動きベクトルの水平垂直成分は1/nの整数
倍をとり、上記隅点の動きベクトルをn倍したものをそ
れぞれ(u00,v00),(u01,v01),(u02,v02),(u0
3,v03)とし、 上記画素ごとの動きベクトルの水平・垂直成分は1/m
の整数倍をとり、画素(x,y) の動きベクトルの水平・
垂直成分をm倍したものを(u(x,y),v(x,y))と
し、 上記代表点 (i,j),(i+p,j),(i,j+q) 及び(i
+p,j+q)の動きベクトルの水平・垂直成分は1/
kの整数倍をとり、各代表点の動きベクトルの水平・垂
直成分をk倍したものを(u0,v0),(u1,v1),(u2,
v2) (u3,v3)としたときに、 上記代表点の動きベクトルを求める手段は、 u'(x,y)=(((s-y)((r-x)u00+xu01)+y((r-x)u02+xu03))k)///(rsn) v'(x,y)=(((s-y)((r-x)v00+xv01)+y((r-x)v02+xv03))k)///(rsn) u0=u'(i,j), v0=v'(i,j) u1=u'(i+p,j), v1=v'(i+p,j) u2=u'(i,j+q), v2=v'(i,j+q) u3=u'(i+p,j+q), v3=v'(i+p,j+q) によって、上記(u0,v0),(u1,v1),(u2,v2),(u
3,v3) を求め、 上記画素ごとの動きベクトルを求める手段は、 u(x,y)=(((j+q-y)((i+p-x)u0+(x-i)u1+(y-j)((i+p-x)u2+(x-i)u3))m)//(pqk) v(x,y)=(((j+q-y)((i+p-x)v0+(x-i)v1+(y-j)((i+p-x)v2+(x-i)v3))m)//(pqk) によって上記(u(x,y),v(x,y))を求めることを特
徴とする画像符号化装置(但し、u00,v00,u01,v01,
u02, v02, u03, v03, u(x,y),v(x,y),u0,v
0,u1,v1,u2,v2,u3,及びv3は整数とし、 k、m、
nは2の整数乗とし、「//」および「///」は通常の除算
による演算結果が整数ではない場合にこれを近隣の整数
に丸め込む除算で、演算子としての優先順位は乗除算と
同等とする)。
7. A frame memory for storing a decoded image obtained by decoding an already encoded frame, and motion estimation by global motion compensation between the decoded image and an input image of the current frame, and the current frame. In the image coding apparatus having the global motion compensation unit for synthesizing the predicted image of the present invention, the global motion compensation unit is a motion vector of a current frame corner point obtained by motion estimation by global motion compensation, and the pixel interval is 1. The above corner points are coordinates (0,0), (r, 0), (0, s) and
From the one with (r, s), the coordinates (i, j), (i + p, j),
A means for obtaining motion vectors of four representative points having (i, j + q) and (i + p, j + q) (provided that r, s, i and j are integers, and values of p and q are 2) a means for obtaining a motion vector for each pixel of the predicted image from the motion vector of the representative point, and a means for synthesizing the predicted image from the motion vector for each pixel and the decoded image And the horizontal and vertical components of the motion vector of the corner point are integer multiples of 1 / n, and n times the motion vector of the corner point are (u00, v00), (u01, v01), (u02, v02), (u0
3, v03), and the horizontal and vertical components of the motion vector for each pixel are 1 / m
Of the horizontal motion vector of pixel (x, y)
The vertical component multiplied by m is (u (x, y), v (x, y)), and the representative points (i, j), (i + p, j), (i, j + q) and (i
+ P, j + q) motion vector horizontal / vertical components are 1 /
Taking an integer multiple of k and multiplying the horizontal and vertical components of the motion vector of each representative point by k, (u0, v0), (u1, v1), (u2,
v2) (u3, v3), the means for obtaining the motion vector of the representative point is u '(x, y) = (((sy) ((rx) u00 + xu01) + y ((rx) u02 + xu03)) k) // (rsn) v '(x, y) = (((sy) ((rx) v00 + xv01) + y ((rx) v02 + xv03)) k) /// (rsn) u0 = u '(i, j), v0 = v' (i, j) u1 = u '(i + p, j), v1 = v' (i + p, j) u2 = u '( i, j + q), v2 = v '(i, j + q) u3 = u' (i + p, j + q), v3 = v '(i + p, j + q) , v0), (u1, v1), (u2, v2), (u
3, v3) and the motion vector for each pixel is u (x, y) = (((j + qy) ((i + px) u0 + (xi) u1 + (yj) ((i + px) u2 + (xi) u3)) m) // (pqk) v (x, y) = (((j + qy) ((i + px) v0 + (xi) v1 + (yj) ((i + px) v2 + (xi) v3)) m) // (pqk) is used to obtain the above (u (x, y), v (x, y)). An image coding apparatus (however, u00, v00, u01) , v01,
u02, v02, u03, v03, u (x, y), v (x, y), u0, v
0, u1, v1, u2, v2, u3, and v3 are integers, k, m,
n is an integer power of 2, and "//" and "///" are divisions that round the result to the nearest integer when the result of ordinary division is not an integer. The priority as an operator is multiplication / division. Equivalent to).
【請求項8】請求項7に記載の画像符号化装置におい
て、 上記「///」および「//」の演算による演算結果が、整数に1
/2を加えた値の場合の丸め込み方法は、(1)0から遠ざ
ける整数に丸め込む、(2)0の方向に丸め込む、(3)被
除数が負の場合は0から遠ざける方向に丸め込み、被除
数が正の場合は0に近づける方向に丸め込む、又は(4)
被除数が正の場合は0から遠ざける方向に丸め込み、被
除数が負の場合は0に近づける方向に丸め込む、のいず
れかであることを特徴とする画像符号化装置。
8. The image coding apparatus according to claim 7, wherein the calculation result of the calculation of “///” and “//” is 1 for an integer.
The rounding method in the case of adding / 2 is (1) round to an integer that moves away from 0, (2) round to the direction of 0, (3) round to the direction of 0 when the dividend is negative, and the dividend is If positive, round toward 0, or (4)
An image coding apparatus, wherein when the dividend is positive, the rounding is performed in a direction away from 0, and when the dividend is negative, the rounding is performed in a direction toward 0.
【請求項9】すでに符号化されたフレームを復号化した
復号化画像と現フレームの入力画像との間でグローバル
動き補償による動き推定を行い、上記現フレームの予測
画像を合成する画像符号化方法において、 上記動き推定によって求めた現フレーム隅点の動きベク
トルであって、画素の間隔を1とした座標上で上記隅点
が座標(0,0)、(r,0)、および(0,s)をもつものから、座
標(i,j),(i+p,j),及び(i,j+q)をもつ3つ
の代表点の動きベクトルを求め(但し、r、s、i及び
jは整数、p及びqの値は、2の正の整数によるべき
乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求め、 上記画素ごとの動きベクトルと上記復号化画像とから上
記予測画像を合成することを特徴とする画像符号化方
法。
9. An image encoding method for performing motion estimation by global motion compensation between a decoded image obtained by decoding an already encoded frame and an input image of the current frame, and synthesizing a predicted image of the current frame. In the motion vector of the corner point of the current frame obtained by the motion estimation, the corner point has coordinates (0,0), (r, 0), and (0,0, s), the motion vectors of three representative points having coordinates (i, j), (i + p, j), and (i, j + q) are obtained (provided that r, s, i, and j is an integer, p and q are powers of positive integers of 2, and the motion vector for each pixel of the predicted image is obtained from the motion vector of the representative point. The motion vector for each pixel and the decoded image An image coding method comprising synthesizing the above predicted image from and.
【請求項10】請求項9に記載の画像符号化方法におい
て、 上記代表点の動きベクトルは、上記フレーム隅点の動き
ベクトルから線形内・外挿で求め、 上記画素ごとの動きベクトルは、上記代表点の動きベク
トルから線形内・外挿で求めることを特徴とする画像符
号化方法。
10. The image coding method according to claim 9, wherein the motion vector of the representative point is obtained by linear interpolation / extrapolation from the motion vector of the frame corner point, and the motion vector of each pixel is An image coding method characterized by linearly interpolating / extrapolating from a motion vector of a representative point.
【請求項11】すでに符号化されたフレームを復号化し
た復号化画像と現フレームの入力画像との間でグローバ
ル動き補償による動き推定を行い、上記現フレームの予
測画像を合成する画像符号化方法において、 上記動き推定によって求めた現フレーム隅点の動きベク
トルであって、画素の間隔を1とした座標上で上記隅点
が座標(0,0)、(r,0)、および(0,s)をもつものから、座
標(i,j),(i+p,j),及び(i,j+q)をもつ3つ
の代表点の動きベクトルを求め(但し、r、s、i及び
jは整数、p及びqの値は、2の正の整数によるべき
乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求め、上記画素ごとの動きベクトルと
上記復号化画像とから上記予測画像を合成し、上記隅点
の動きベクトルの水平垂直成分は1/nの整数倍をと
り、上記隅点の動きベクトルをn倍したものをそれぞれ
(u00,v00),(u01,v01),(u02,v02)とし、 上記画素ごとの動きベクトルの水平・垂直成分は1/m
の整数倍をとり、画素(x,y) の動きベクトルの水平・
垂直成分をm倍したものを(u(x,y),v(x,y))と
し、 上記代表点 (i,j),(i+p,j),(i,j+q) の動き
ベクトルの水平・垂直成分は1/kの整数倍をとり、各
代表点の動きベクトルの水平・垂直成分をk倍したもの
を(u0,v0),(u1,v1),(u2,v2) としたときに、 上記代表点の動きベクトルを u'(x,y)=((u00rs+(u01-u00)xs+(u02-u00)yr)k)///(rsn) v'(x,y)=((v00rs+(v01-v00)xs+(v02-v00)yr)k)///(rsn) u0=u'(i,j), v0=v'(i,j) u1=u'(i+p,j), v1=v'(i+p,j) u2=u'(i,j+q), v2=v'(i,j+q) によって求めた上記(u0,v0),(u1,v1),(u2,v2)
から求め、 上記画素ごとの動きベクトルを u(x,y)=((u0pq+(u1-u0)(x-i)q+(u2-u0)(y-j)p)m)//(pqk) v(x,y)=((v0pq+(v1-v0)(x-i)q+(v2-v0)(y-j)p)m)//(pqk) によって求めた上記(u(x,y),v(x,y))から求める
ことを特徴とする画像符号化方法 (但し、u00,v00,u
01,v01,u02, v02, u(x,y),v(x,y), u0,v0,
u1,v1,u2, 及びv2は整数とし、 k、m、nは2の
整数乗とし、「///」および「//」は通常の除算による演算
結果が整数ではない場合にこれを近隣の整数に丸め込む
除算で、演算子としての優先順位は乗除算と同等とす
る)。
11. An image encoding method for performing motion estimation by global motion compensation between a decoded image obtained by decoding an already encoded frame and an input image of the current frame, and synthesizing a predicted image of the current frame. In the motion vector of the corner point of the current frame obtained by the motion estimation, the corner point has coordinates (0,0), (r, 0), and (0,0, s), the motion vectors of three representative points having coordinates (i, j), (i + p, j), and (i, j + q) are obtained (provided that r, s, i, and j is an integer, p and q are powers of positive integers of 2, and the motion vector for each pixel of the predicted image is obtained from the motion vector of the representative point, and the motion vector for each pixel and the decoded image are obtained. And the predicted image is synthesized from, and the horizontal and vertical components of the motion vector of the corner point are 1 / Take an integer multiple of n and multiply the above corner point motion vector by n.
(u00, v00), (u01, v01), (u02, v02), and the horizontal and vertical components of the motion vector for each pixel are 1 / m
Of the horizontal motion vector of pixel (x, y)
The vertical component multiplied by m is (u (x, y), v (x, y)), and the above representative points (i, j), (i + p, j), and (i, j + q) The horizontal / vertical components of the motion vector take an integer multiple of 1 / k, and the horizontal / vertical components of the motion vector at each representative point are multiplied by (u0, v0), (u1, v1), (u2, v2). ), The motion vector of the representative point is u '(x, y) = ((u00rs + (u01-u00) xs + (u02-u00) yr) k) /// (rsn) v' (x, y) = ((v00rs + (v01-v00) xs + (v02-v00) yr) k) /// (rsn) u0 = u '(i, j), v0 = v' (i, j) u1 = u ' (i + p, j), v1 = v '(i + p, j) u2 = u' (i, j + q), v2 = v '(i, j + q) The above (u0, v0 ), (U1, v1), (u2, v2)
Then, the motion vector for each pixel is u (x, y) = ((u0pq + (u1-u0) (xi) q + (u2-u0) (yj) p) m) / (pqk) v (x, y) = ((v0pq + (v1-v0) (xi) q + (v2-v0) (yj) p) m) / (pqk) The above (u (x, y), v (x, y)) Image coding method (provided that u00, v00, u
01, v01, u02, v02, u (x, y), v (x, y), u0, v0,
u1, v1, u2, and v2 are integers, k, m, and n are powers of 2, and "///" and "//" are adjacent if the result of ordinary division is not an integer. Rounded to an integer and the operator precedence is equivalent to multiplication and division).
【請求項12】請求項11に記載の画像符号化方法にお
いて、 上記「///」および「//」の演算による演算結果が、整数に1
/2を加えた値の場合の丸め込み方法は、(1)0から遠ざ
ける整数に丸め込む、(2)0の方向に丸め込む、(3)被
除数が負の場合は0から遠ざける方向に丸め込み、被除
数が正の場合は0に近づける方向に丸め込む、又は(4)
被除数が正の場合は0から遠ざける方向に丸め込み、被
除数が負の場合は0に近づける方向に丸め込む、のいず
れかであることを特徴とする画像符号化方法。
12. The image coding method according to claim 11, wherein the calculation result by the calculation of “///” and “//” is 1 for an integer.
The rounding method in the case of adding / 2 is (1) round to an integer that moves away from 0, (2) round to the direction of 0, (3) round to the direction of 0 when the dividend is negative, and the dividend is If positive, round toward 0, or (4)
The image coding method is characterized in that when the dividend is positive, it is rounded in a direction away from 0, and when the dividend is negative, it is rounded in a direction toward 0.
【請求項13】すでに符号化されたフレームを復号化し
た復号化画像と現フレームの入力画像との間でグローバ
ル動き補償による動き推定を行い、上記現フレームの予
測画像を合成する画像符号化方法において、 上記動き推定によって求めた現フレーム隅点の動きベク
トルであって、画素の間隔を1とした座標上で上記隅点
が座標(0,0)、(r,0) 、(0,s)及び(r,s)をもつものか
ら、座標(i,j),(i+p,j),(i,j+q)及び(i+
p,j+q)をもつ4つの代表点の動きベクトルを求め(但
し、r、s、i及びjは整数、p及びqの値は、2の正
の整数によるべき乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求め、上記画素ごとの動きベクトルと
上記復号化画像とから上記予測画像を合成することを特
徴とする画像符号化方法。
13. An image encoding method for performing motion estimation by global motion compensation between a decoded image obtained by decoding an already encoded frame and an input image of the current frame, and synthesizing the predicted image of the current frame. In the motion vector of the corner point of the current frame obtained by the motion estimation, the corner point has coordinates (0,0), (r, 0), (0, s ) And (r, s), the coordinates (i, j), (i + p, j), (i, j + q) and (i +
p, j + q) to obtain the motion vectors of four representative points (where r, s, i and j are integers, and the values of p and q are powers of two positive integers). An image coding method, wherein a motion vector for each pixel of the predicted image is obtained from the motion vector, and the predicted image is synthesized from the motion vector for each pixel and the decoded image.
【請求項14】請求項13に記載の画像符号化方法にお
いて、 上記代表点の動きベクトルは、上記フレーム隅点の動き
ベクトルから共一次内・外挿で求め、 上記画素ごとの動きベクトルは、上記代表点の動きベク
トルから共一次内・外挿で求めることを特徴とする画像
符号化方法。
14. The image coding method according to claim 13, wherein the motion vector of the representative point is obtained from the motion vector of the frame corner point by bilinear interpolation / extrapolation, and the motion vector of each pixel is An image coding method, characterized in that the motion vector of the representative point is obtained by co-linear interpolation / extrapolation.
【請求項15】すでに符号化されたフレームを復号化し
た復号化画像と現フレームの入力画像との間でグローバ
ル動き補償による動き推定を行い、上記現フレームの予
測画像を合成する画像符号化方法において、 上記動き推定によって求めた現フレーム隅点の動きベク
トルであって、画素の間隔を1とした座標上で上記隅点
が座標(0,0)、(r,0) 、(0,s)及び(r,s)をもつものか
ら、座標(i,j),(i+p,j),(i,j+q)及び(i+
p,j+q)をもつ4つの代表点の動きベクトルを求め(但
し、r、s、i及びjは整数、p及びqの値は、2の正
の整数によるべき乗)、 上記代表点の動きベクトルから上記予測画像の画素ごと
の動きベクトルを求め、 上記画素ごとの動きベクトルと上記復号化画像とから上
記予測画像を合成し、上記隅点の動きベクトルの水平垂
直成分は1/nの整数倍をとり、上記隅点の動きベクト
ルをn倍したものをそれぞれ(u00,v00),(u01,v0
1),(u02,v02),(u03,v03)とし、 上記画素ごとの動きベクトルの水平・垂直成分は1/m
の整数倍をとり、画素(x,y) の動きベクトルの水平・
垂直成分をm倍したものを(u(x,y),v(x,y))と
し、 上記代表点 (i,j),(i+p,j),(i,j+q) 及び(i
+p,j+q)の動きベクトルの水平・垂直成分は1/
kの整数倍をとり、各代表点の動きベクトルの水平・垂
直成分をk倍したものを(u0,v0),(u1,v1),(u2,
v2) (u3,v3)としたときに、 上記代表点の動きベクトルを u'(x,y)=(((s-y)((r-x)u00+xu01)+y((r-x)u02+xu03))k)///(rsn) v'(x,y)=(((s-y)((r-x)v00+xv01)+y((r-x)v02+xv03))k)///(rsn) u0=u'(i,j), v0=v'(i,j) u1=u'(i+p,j), v1=v'(i+p,j) u2=u'(i,j+q), v2=v'(i,j+q) u3=u'(i+p,j+q), v3=v'(i+p,j+q) によって求めた上記(u0,v0),(u1,v1),(u2,v
2),(u3,v3) から求め、上記画素ごとの動きベクトル
を、 u(x,y)=(((j+q-y)((i+p-x)u0+(x-i)u1+(y-j)((i+p-x)u2+(x-i)u3))m)//(pqk) v(x,y)=(((j+q-y)((i+p-x)v0+(x-i)v1+(y-j)((i+p-x)v2+(x-i)v3))m)//(pqk) によって求めた上記(u(x,y),v(x,y))から求める
ことを特徴とする画像符号化方法 (但し、u00,v00,u
01,v01,u02, v02, u03, v03, u(x,y),v(x,
y), u0,v0,u1,v1,u2,v2,u3,及びv3は整数と
し、 k、m、nは2の整数乗とし、「//」および「///」
は通常の除算による演算結果が整数ではない場合にこれ
を近隣の整数に丸め込む除算で、演算子としての優先順
位は乗除算と同等とする)。
15. An image encoding method for performing motion estimation by global motion compensation between a decoded image obtained by decoding an already encoded frame and an input image of the current frame, and synthesizing a predicted image of the current frame. In the motion vector of the corner point of the current frame obtained by the motion estimation, the corner point has coordinates (0,0), (r, 0), (0, s ) And (r, s), the coordinates (i, j), (i + p, j), (i, j + q) and (i +
p, j + q) to obtain the motion vectors of four representative points (where r, s, i and j are integers, and the values of p and q are powers of two positive integers). A motion vector for each pixel of the predicted image is obtained from the motion vector, the predicted image is synthesized from the motion vector for each pixel and the decoded image, and the horizontal and vertical components of the motion vector of the corner point are 1 / n. Take the integer multiples and multiply the corner point motion vectors by n times (u00, v00), (u01, v0).
1), (u02, v02), (u03, v03), and the horizontal and vertical components of the motion vector for each pixel are 1 / m
Of the horizontal motion vector of pixel (x, y)
The vertical component multiplied by m is (u (x, y), v (x, y)), and the representative points (i, j), (i + p, j), (i, j + q) and (i
+ P, j + q) motion vector horizontal / vertical components are 1 /
Taking an integer multiple of k and multiplying the horizontal and vertical components of the motion vector of each representative point by k, (u0, v0), (u1, v1), (u2,
v2) (u3, v3), the motion vector of the representative point is u '(x, y) = (((sy) ((rx) u00 + xu01) + y ((rx) u02 + xu03) ) k) /// (rsn) v '(x, y) = (((sy) ((rx) v00 + xv01) + y ((rx) v02 + xv03)) k) // (rsn) u0 = u '(i, j), v0 = v' (i, j) u1 = u '(i + p, j), v1 = v' (i + p, j) u2 = u '(i, j + q), v2 = v '(i, j + q) u3 = u' (i + p, j + q), v3 = v '(i + p, j + q) (u0, v0) , (U1, v1), (u2, v
2) and (u3, v3), the motion vector for each pixel is u (x, y) = (((j + qy) ((i + px) u0 + (xi) u1 + (yj) ((i + px) u2 + (xi) u3)) m) // (pqk) v (x, y) = (((j + qy) ((i + px) v0 + (xi) v1 + (yj) ((i + px ) v2 + (xi) v3)) m) // (pqk) is used to obtain the above (u (x, y), v (x, y)) image coding method (however, u00, v00, u
01, v01, u02, v02, u03, v03, u (x, y), v (x,
y), u0, v0, u1, v1, u2, v2, u3, and v3 are integers, k, m, and n are integer powers of 2, and "//" and "///"
Is a division in which the result of normal division is rounded to the nearest integer when the result is not an integer, and the priority as an operator is equivalent to multiplication and division.)
【請求項16】請求項15に記載の画像符号化方法にお
いて、 上記「///」および「//」の演算による演算結果が、整数に1
/2を加えた値の場合の丸め込み方法は、(1)0から遠ざ
ける整数に丸め込む、(2)0の方向に丸め込む、(3)被
除数が負の場合は0から遠ざける方向に丸め込み、被除
数が正の場合は0に近づける方向に丸め込む、又は(4)
被除数が正の場合は0から遠ざける方向に丸め込み、被
除数が負の場合は0に近づける方向に丸め込む、のいず
れかであることを特徴とする画像符号化方法。
16. The image coding method according to claim 15, wherein the calculation result by the calculation of “///” and “//” is 1 for an integer.
The rounding method in the case of adding / 2 is (1) round to an integer that moves away from 0, (2) round to the direction of 0, (3) round to the direction of 0 when the dividend is negative, and the dividend is If positive, round toward 0, or (4)
The image coding method is characterized in that when the dividend is positive, it is rounded in a direction away from 0, and when the dividend is negative, it is rounded in a direction toward 0.
JP2000285234A 2000-09-14 2000-09-14 Image encoding apparatus and image encoding method Expired - Lifetime JP3520845B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000285234A JP3520845B2 (en) 2000-09-14 2000-09-14 Image encoding apparatus and image encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000285234A JP3520845B2 (en) 2000-09-14 2000-09-14 Image encoding apparatus and image encoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP6057296A Division JP3183155B2 (en) 1996-03-18 1996-03-18 Image decoding apparatus and image decoding method

Publications (2)

Publication Number Publication Date
JP2001145115A JP2001145115A (en) 2001-05-25
JP3520845B2 true JP3520845B2 (en) 2004-04-19

Family

ID=18769338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000285234A Expired - Lifetime JP3520845B2 (en) 2000-09-14 2000-09-14 Image encoding apparatus and image encoding method

Country Status (1)

Country Link
JP (1) JP3520845B2 (en)

Also Published As

Publication number Publication date
JP2001145115A (en) 2001-05-25

Similar Documents

Publication Publication Date Title
JP3183155B2 (en) Image decoding apparatus and image decoding method
US20090168889A1 (en) Inter-frame predicted image synthesizing method
JP3764488B2 (en) Image encoding and decoding method and apparatus
JP2012134870A (en) Video encoding method and video decoding method
JP3520800B2 (en) Image decoding apparatus and image decoding method
JP3520845B2 (en) Image encoding apparatus and image encoding method
JP3520846B2 (en) Image decoding apparatus and image decoding method
JP3520858B2 (en) Image encoding apparatus and image encoding method
JP3777998B2 (en) Global motion compensation method
JP3183277B2 (en) Image encoding device and image encoding method
KR100240620B1 (en) Method and apparatus to form symmetric search windows for bidirectional half pel motion estimation
JPH0865675A (en) Image encoding device and image decoding device
JP3509610B2 (en) Image encoding method and image encoding device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040126

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

Free format text: PAYMENT UNTIL: 20080213

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120213

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120213

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130213

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130213

Year of fee payment: 9

EXPY Cancellation because of completion of term