Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4410172B2 - Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium - Google Patents
[go: Go Back, main page]

JP4410172B2 - Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium - Google Patents

Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium Download PDF

Info

Publication number
JP4410172B2
JP4410172B2 JP2005248054A JP2005248054A JP4410172B2 JP 4410172 B2 JP4410172 B2 JP 4410172B2 JP 2005248054 A JP2005248054 A JP 2005248054A JP 2005248054 A JP2005248054 A JP 2005248054A JP 4410172 B2 JP4410172 B2 JP 4410172B2
Authority
JP
Japan
Prior art keywords
motion vector
lower limit
error
value
prediction error
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 - Fee Related
Application number
JP2005248054A
Other languages
Japanese (ja)
Other versions
JP2007067551A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005248054A priority Critical patent/JP4410172B2/en
Publication of JP2007067551A publication Critical patent/JP2007067551A/en
Application granted granted Critical
Publication of JP4410172B2 publication Critical patent/JP4410172B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は,高能率画像信号符号化技術に関し,特に,小数画素精度動き補償における動きベクトルの探索を高速に行うための技術に関するものである。   The present invention relates to a high-efficiency image signal encoding technique, and more particularly to a technique for performing a motion vector search in decimal pixel precision motion compensation at high speed.

動画像符号化における重要な技術の一つにブロックマッチングに基づく動き補償(MC)がある。この方法では,符号化対象フレームft (p)(p∈{(x,y)|x=0,1,... ,X−1,y=0,1,... ,Y−1})をいくつかの領域に分割し,領域毎に動き補償(MC)を用いた次のようなフレーム間予測が行われる。 One important technique in video coding is motion compensation (MC) based on block matching. In this method, the encoding target frame f t (p) (pε {(x, y) | x = 0, 1,..., X−1, y = 0, 1,. }) Is divided into several regions, and the following inter-frame prediction using motion compensation (MC) is performed for each region.

Figure 0004410172
ここで,Bi は第i番目の領域であり,vi は次式を満たす動きベクトルである。
Figure 0004410172
Here, B i is the i-th region, and v i is a motion vector that satisfies the following equation.

Figure 0004410172
なお,Ri はBi に対応する探索領域であり,
Figure 0004410172
R i is a search area corresponding to B i ,

Figure 0004410172
は,次に続く関数を最小化するvを返す。すなわち,探索範囲Ri において,領域Bi 内での予測誤差を最小化するvが動きベクトルvi として選ばれる。
Figure 0004410172
Returns v which minimizes the next function. That is, in the search range R i, v that minimizes the prediction error in the area B i is selected as the motion vector v i.

予測誤差の最小性を保証した動きベクトル探索の高速化として,代表的なものにSEA(非特許文献1参照)と呼ばれる手法がある。同手法は,MC誤差の下限値を予め見積もり,その下限値をもとに探索点を絞り込む手法である。同手法ではMC誤差E(v)に対して,次式の下限値を用いる。   A typical technique for speeding up motion vector search that guarantees the minimum of prediction errors is a technique called SEA (see Non-Patent Document 1). In this method, a lower limit value of MC error is estimated in advance, and search points are narrowed down based on the lower limit value. In this method, the lower limit of the following equation is used for the MC error E (v).

E(v)≧C−S(v) (2)
ここで,Cは符号化ブロックの画素値和,S(v)は参照ブロックの画素値和であり,各々次式で表される。
E (v) ≧ C−S (v) (2)
Here, C is the pixel value sum of the coding block, and S (v) is the pixel value sum of the reference block, each represented by the following equation.

Figure 0004410172
式(2)の証明は,以下の通りである。
Figure 0004410172
The proof of equation (2) is as follows.

Figure 0004410172
予測誤差の低減を目的として,動きベクトルを小数画素精度で表現する動き補償が検討されている。1/m画素精度の動き補償の場合,動きベクトルは次式を満たすベクトルとして求める。
Figure 0004410172
For the purpose of reducing the prediction error, motion compensation that expresses motion vectors with decimal pixel accuracy is being studied. In the case of motion compensation with 1 / m pixel accuracy, the motion vector is obtained as a vector that satisfies the following equation.

Figure 0004410172
ここで,f* t-1 (p)はft-1 (p)から生成される補間画像であり,1/m画素間隔で画素値をもつ。例えば,ISO/IEC 13818-2 MPEG−2における1/2画素精度の動き補償の場合,次のような補間画像を用いる。
Figure 0004410172
Here, f * t−1 (p) is an interpolated image generated from f t−1 (p), and has pixel values at 1 / m pixel intervals. For example, in the case of motion compensation with 1/2 pixel accuracy in ISO / IEC 13818-2 MPEG-2, the following interpolated image is used.

Figure 0004410172
ここで,δx =(1,0),δy =(0,1)であり,pは整数値を要素とするベクトルである。つまり,予測時の参照フレームの位置が2画素の中心なら(式(7b)または式(7c)),2つの画素値の丸め付き平均を予測値として使用し,同位置が正方形の頂点に並んだ4画素の中心なら,4つの画素値の丸め付き平均を予測値として使用することになる(式(7d))。なお,式(7b)〜式(7d)における1/2および2/4の演算は,例えばビットシフト演算によって行われ,小数点以下は切り捨てられる。
Figure 0004410172
Here, δ x = (1, 0), δ y = (0, 1), and p is a vector whose elements are integer values. That is, if the position of the reference frame at the time of prediction is the center of two pixels (equation (7b) or equation (7c)), the rounded average of the two pixel values is used as the prediction value, and the same position is arranged at the apex of the square. If the center is four pixels, the rounded average of the four pixel values is used as the predicted value (formula (7d)). In addition, 1/2 and 2/4 operations in the equations (7b) to (7d) are performed by, for example, a bit shift operation, and the decimal part is rounded down.

図1は,式(7b)〜式(7d)の補間処理における参照画素位置を示している。例えば図1(a)は,補間画素位置が水平半画素位置の場合であり,矢印で示した円形がその補間画素位置である。黒い四角形が補間に用いる参照画素位置であり,この黒い四角形の側に示した数字は補間時の重み係数を表している。また,図1(b)は,補間画素位置が垂直半画素位置の場合を,図1(c)は,補間画素位置が対角半画素位置の場合を示している。   FIG. 1 shows reference pixel positions in the interpolation processing of Expressions (7b) to (7d). For example, FIG. 1A shows a case where the interpolation pixel position is a horizontal half-pixel position, and a circle indicated by an arrow is the interpolation pixel position. A black square is a reference pixel position used for interpolation, and the number shown on the black square side represents a weighting coefficient at the time of interpolation. 1B shows a case where the interpolation pixel position is a vertical half-pixel position, and FIG. 1C shows a case where the interpolation pixel position is a diagonal half-pixel position.

以後,式(1)より求めた動きベクトルを用いる動き補償を整数画素精度MCと呼ぶ。一方,式(6)より求めた動きベクトルを用いる動き補償を小数画素精度MCと呼ぶ。また,i番目の領域に注目して議論するので,Bi はBと表す。 Hereinafter, the motion compensation using the motion vector obtained from Equation (1) is referred to as integer pixel accuracy MC. On the other hand, motion compensation using a motion vector obtained from Equation (6) is called decimal pixel accuracy MC. In addition, since the discussion is focused on the i-th region, B i is represented as B.

小数画素精度MCの場合,整数画素精度MCに比較して動きベクトル探索の計算量が増大する。これは,探索領域内に含まれる探索点の数が増加するためである。探索領域が水平方向w,垂直方向hのw×h点の画素を含む場合,整数画素精度MCにおける探索点がw×h点であるのに対し,1/m画素精度の小数画素精度MCにおける探索点は{m(w−1)+1}×{m(h−1)+1}点となる。   In the case of the decimal pixel accuracy MC, the amount of calculation of the motion vector search increases compared to the integer pixel accuracy MC. This is because the number of search points included in the search area increases. When the search area includes pixels of w × h points in the horizontal direction w and the vertical direction h, the search points in the integer pixel accuracy MC are w × h points, whereas in the fractional pixel accuracy MC with 1 / m pixel accuracy. Search points are {m (w−1) +1} × {m (h−1) +1} points.

小数画素精度MCの動きベクトル探索において計算量を低減させる場合,最適解である式(6)の動きベクトルを求めることをあきらめ,式(6)の準最適解に相当する動きベクトルを求める方法が多く検討されている。この場合,計算量の低減と引き替えに,予測誤差は増加してしまう。しかし,予測誤差を減少させるために導入された小数画素精度MCにおいて,こうした予測誤差の増加は望ましくない。このため,予測誤差を増加させることなく計算量を低減させる動きベクトル探索法が必要となる。   When reducing the amount of calculation in motion vector search with decimal pixel accuracy MC, there is a method for giving up the motion vector of Equation (6), which is an optimal solution, and for obtaining a motion vector corresponding to the suboptimal solution of Equation (6). Many have been studied. In this case, the prediction error increases in exchange for a reduction in calculation amount. However, such an increase in prediction error is not desirable in the fractional pixel accuracy MC introduced to reduce the prediction error. For this reason, a motion vector search method that reduces the amount of calculation without increasing the prediction error is required.

計算量を低減させる手法としては,上述した非特許文献1に示されているSEAがあるが,SEAは整数画素精度MCへの適用にとどまり,小数画素精度MCについての検討はなされていない。   As a method for reducing the amount of calculation, there is SEA shown in Non-Patent Document 1 described above, but SEA is only applied to integer pixel accuracy MC, and no examination is made on decimal pixel accuracy MC.

そこで,本発明者等は,小数画素精度MCについても,予測誤差の最小化を保証した上で,下限値との比較による動きベクトル探索の枝刈りを行い,計算量の低減を図る技術を,非特許文献2において提案している。非特許文献2の手法によれば,特に小数MC誤差の下限値を求める際に,既に計算した結果を利用することにより計算量の増加を抑え,少ない計算量で小数画素精度MCのもつ高い予測性能を実現することができる。
W.Li and E.Salari :“Successive elimination algorithm for motion estimation”,IEEE Transactions on Image Processing ,Volume 4,Issue 1 ,Jan.,pp.105-107,1995. 坂東幸浩,高村誠之,八島由幸:「全探索小数画素精度動き推定の高速化」,情報処理学会研究報告,2004-AVM-44 ,2004/3/4.
Therefore, the present inventors have also proposed a technique for reducing the calculation amount by pruning a motion vector search by comparison with a lower limit value while guaranteeing the minimization of the prediction error even for the decimal pixel accuracy MC. Non-patent document 2 proposes. According to the method of Non-Patent Document 2, especially when obtaining the lower limit value of the decimal MC error, the increase in the calculation amount is suppressed by using the already calculated result, and the high prediction that the decimal pixel accuracy MC has with a small calculation amount. Performance can be realized.
W. Li and E. Salari: “Successive elimination algorithm for motion estimation”, IEEE Transactions on Image Processing, Volume 4, Issue 1, Jan., pp. 105-107, 1995. Yukihiro Bando, Masayuki Takamura, Yoshiyuki Yashima: “Acceleration of whole-search sub-pixel accuracy motion estimation”, Information Processing Society of Japan, 2004-AVM-44, 2004/3/4.

上述のように,非特許文献2に記載された「全探索小数画素精度動き推定の高速化」の技術によれば,SEAの小数画素精度MCへの適用にあたって,探索点数の増加に伴う計算量増加の問題が軽減され,小数画素精度MCにおける動きベクトル探索の高速化が図られている。   As described above, according to the technique of “acceleration of all-search decimal pixel accuracy motion estimation” described in Non-Patent Document 2, when applying SEA to the decimal pixel accuracy MC, the amount of calculation accompanying an increase in the number of search points The problem of the increase is reduced, and the speed of motion vector search in decimal pixel accuracy MC is increased.

本発明は,非特許文献2に記載された「全探索小数画素精度動き推定の高速化」の技術を,さらに改良し,小数画素精度の動き推定におけるMC誤差の下限値の計算において,参照画素値和の計算上生じる丸め誤差も考慮して,タイトな下限値を算出することにより,探索における枝刈りの促進を図り,小数画素精度MCにおける動きベクトル探索のさらなる高速化を実現することを目的とする。   The present invention further improves the technique of “acceleration of all-search sub-pixel accuracy motion estimation” described in Non-Patent Document 2 to calculate the lower limit of MC error in sub-pixel accuracy motion estimation. In consideration of rounding errors that occur in the calculation of value sums, by calculating a tight lower limit, it is intended to promote pruning in the search, and to further speed up the motion vector search in decimal pixel precision MC. To do.

また,本発明は,上記丸め誤差の算出を少ない計算量で行い,計算量の増加を抑えた動きベクトルの推定を実現することを目的とする。   It is another object of the present invention to realize a motion vector estimation that suppresses an increase in the calculation amount by calculating the rounding error with a small calculation amount.

二つの動きベクトルv,uのMC誤差を比較する場合,両動きベクトルに対するMC誤差を直接比較するのではなく,動きベクトルvのMC誤差E(v)に対して,動きベクトルuのMC誤差E(u)の下限値L(u)との大小比較を行う。この時,
E(v)≦L(u)
であれば,L(u)がMC誤差E(u)の下限値であるため,
E(v)≦E(u)
となり,E(u)を算出して比較する必要はない。つまり,E(u)の算出は,
L(u)<E(v)
となる場合のみ行えば十分である。
When comparing the MC errors of two motion vectors v and u, the MC error E of the motion vector u is not compared directly with the MC error E (v) of the motion vector v. A comparison is made with the lower limit L (u) of (u). At this time,
E (v) ≦ L (u)
Then, since L (u) is the lower limit value of MC error E (u),
E (v) ≦ E (u)
Therefore, it is not necessary to calculate and compare E (u). In other words, the calculation of E (u) is
L (u) <E (v)
It is sufficient to do this only when

後述するように,MC誤差の下限値はMC誤差に比べて,少ない計算量での算出が可能である。このため,MC誤差の下限値との比較を行い,MC誤差の算出を省くことにより,予測誤差の最小化を保証した上で,計算量の低減を図ることができる。   As will be described later, the lower limit value of the MC error can be calculated with a smaller calculation amount than the MC error. For this reason, by comparing with the lower limit value of the MC error and omitting the calculation of the MC error, it is possible to reduce the calculation amount while ensuring the minimization of the prediction error.

本発明は,小数画素精度MCにおいて,フレーム間予測誤差に対する下限値を算出し,下限値を用いた探索の枝刈りを行うとともに,この下限値を算出する際,既に計算済みの加算結果およびシフト演算等を用いて,丸め誤差を算出し,その丸め誤差を用いて下限値を算出する。丸め誤差を考慮した下限値の算出を行うことにより,さらにタイトな枝刈りが可能であり,全探索を行った場合と同等の精度を保持しつつ,大きく計算量を低減することができる。   The present invention calculates a lower limit value for an inter-frame prediction error in the fractional pixel accuracy MC, performs pruning of a search using the lower limit value, and calculates an already obtained addition result and shift when calculating the lower limit value. A rounding error is calculated using an operation or the like, and a lower limit value is calculated using the rounding error. By calculating the lower limit in consideration of rounding errors, tighter pruning is possible, and the amount of calculation can be greatly reduced while maintaining the same accuracy as when full search is performed.

また,本発明は,上記下限値を算出する際,関連する参照画素群の下位nビット(nは補間処理で参照される画素数により定まる数)の値に応じて,丸め誤差を予めルックアップテーブルに格納しておき,同テーブルを参照して丸め誤差の補正値を決定し,下限値を算出することにより,さらに計算量を低減することができる。   Further, according to the present invention, when calculating the lower limit value, a round-off error is preliminarily looked up in a lookup table according to the value of the lower n bits (n is a number determined by the number of pixels referenced in the interpolation process) of the related reference pixel group. The amount of calculation can be further reduced by determining the correction value for the rounding error with reference to the table and calculating the lower limit value.

また,丸め誤差をルックアップテーブルに格納する際,補間処理の対象となる小数画素位置に応じて個別のルックアップテーブルに格納することにより,ルックアップテーブルに必要となるメモリ容量を小さくすることができる。   Further, when the rounding error is stored in the lookup table, the memory capacity required for the lookup table can be reduced by storing the rounding error in an individual lookup table according to the decimal pixel position to be interpolated. .

また,本発明は,予測誤差の下限値を算出する際,2つの動きベクトルが指す参照領域の差異部分のみに注目し,2つの動きベクトルが指す参照領域の予測誤差の下限値の差分値を算出し,一方の動きベクトルの予測誤差の下限値をもとに,他方の動きベクトルに対する予測誤差の下限値を算出する。これにより,計算済みの結果を利用して計算量の低減を図ることができる。   In addition, when calculating the lower limit value of the prediction error, the present invention focuses only on the difference between the reference areas indicated by the two motion vectors, and calculates the difference value of the lower limit value of the prediction error of the reference area indicated by the two motion vectors. Based on the lower limit value of the prediction error of one motion vector, the lower limit value of the prediction error for the other motion vector is calculated. Thereby, the amount of calculation can be reduced by using the already calculated result.

また,本発明は,予測誤差の下限値を算出する際,上記2つの動きベクトルが指す参照領域の差異部分に対する丸め誤差をルックアップテーブルに格納しておき,同テーブルを参照し,一方の動きベクトルに対する予測誤差の下限値をもとに,他方の動きベクトルに対する予測誤差の下限値を算出する。ルックアップテーブルを利用して差異部分に対する丸め誤差を求めることにより,計算量を大幅に低減することができる。   In the present invention, when calculating the lower limit value of the prediction error, the rounding error for the difference portion of the reference area pointed to by the two motion vectors is stored in a lookup table, and one motion vector is referred to by referring to the table. Based on the lower limit value of the prediction error for, the lower limit value of the prediction error for the other motion vector is calculated. By calculating a rounding error for a difference portion using a lookup table, the amount of calculation can be greatly reduced.

本発明を用いれば,小数画素精度MCにおける予測誤差の最小化を完全に保証しつつ,動きベクトル探索における計算量の低減が可能となる。このため,小数画素精度MCにおいて問題とされてきた計算量の増加を解消でき,少ない計算量で,小数画素精度MCによる高い予測性能を享受できる。特に,補間処理の対象となる小数画素位置の参照画素値の計算において生じる丸め誤差を求め,これにより補正した下限値を算出することにより,探索における枝刈りの効果が大きい。   By using the present invention, it is possible to reduce the amount of calculation in the motion vector search while completely guaranteeing the minimization of the prediction error in the decimal pixel accuracy MC. For this reason, the increase in the calculation amount which has been a problem in the decimal pixel accuracy MC can be solved, and high prediction performance by the decimal pixel accuracy MC can be enjoyed with a small calculation amount. In particular, the effect of pruning in the search is great by obtaining rounding errors that occur in the calculation of the reference pixel value at the decimal pixel position to be interpolated and calculating the corrected lower limit value.

[第1の実施形態]
小数画素精度の動きベクトルv* に対するMC誤差(小数画素精度MC誤差)の下限値を導出する。以下では,式(7a)〜(7d)の補間画像を用いる1/2画素精度MCを例にあげ,説明する。このとき,動きベクトルv* の取り得る値は次の4通りである。
[First Embodiment]
The lower limit value of the MC error (decimal pixel accuracy MC error) for the decimal pixel precision motion vector v * is derived. In the following, description will be given by taking, as an example, a ½ pixel accuracy MC using the interpolation images of Expressions (7a) to (7d). At this time, the motion vector v * can have the following four values.

Figure 0004410172
ここで,δx =(1,0),δy =(0,1)であり,vは整数値を要素とするベクトルである。なお,以下では,動きベクトルv* がv* =vとして整数値を要素とする場合,整数動きベクトルと呼び,それ以外を小数動きベクトルと呼ぶ。以下,v* の値に応じてE(v* )を4通りに場合分けし,各下限値を求める。
Figure 0004410172
Here, δ x = (1, 0), δ y = (0, 1), and v is a vector whose elements are integer values. In the following, when the motion vector v * is v * = v is an integer value with the element as referred integer motion vector, called the others and fractional motion vectors. Hereinafter, v according to the value of * and case analysis E a (v *) in four ways, obtaining the respective lower limit values.

(i)v* =vの場合:
動きベクトルは参照フレーム中の画素位置を指すため,整数画素精度MCにおけるSEAの場合と同様に,MC誤差は次の下限値を持つ。
(I) When v * = v:
Since the motion vector indicates the pixel position in the reference frame, the MC error has the following lower limit as in the case of SEA with integer pixel accuracy MC.

E(v* )≧C−S(v) (9)
ここで,C,S(v)は,各々式(3),式(4)で表されるものとする。
E (v * ) ≧ C−S (v) (9)
Here, C and S (v) are respectively expressed by Expression (3) and Expression (4).

(ii)v* =v−δx /2の場合:
動きベクトルの指す参照フレームの位置は2画素の中心となり,MC誤差E(v* )は次の下限値を持つ。
(Ii) When v * = v−δ x / 2:
The position of the reference frame pointed to by the motion vector is the center of two pixels, and the MC error E (v * ) has the following lower limit value.

E(v* )≧C−S(v)/2−S(v−δx )/2−Rh (v) (10)
ここで,Rh (v)は丸め誤差の補正値であり,次式より求まる。
E (v * ) ≧ C−S (v) / 2−S (v−δ x ) / 2−R h (v) (10)
Here, R h (v) is a correction value for rounding error, and is obtained from the following equation.

Figure 0004410172
ここで,○付きの+はビット毎の論理積を行う演算子を表す。
Figure 0004410172
Here, + with ○ represents an operator that performs a logical product for each bit.

式(10)の証明は,以下の通りである。なお,以下の証明において,式(12a)から式(12b)への展開では,動きベクトルの指す参照フレームの位置は2画素の中心となることから,式(7b)を用いた。   The proof of equation (10) is as follows. In the following proof, Expression (7b) is used because the position of the reference frame pointed to by the motion vector is the center of two pixels in the expansion from Expression (12a) to Expression (12b).

Figure 0004410172
(iii) v* =v−δy /2の場合:
上述の(ii)と同様に動きベクトルの指す参照フレームの位置は2画素の中心となり,MC誤差は次の下限値を持つ。
Figure 0004410172
(iii) When v * = v−δ y / 2:
As in (ii) above, the position of the reference frame pointed to by the motion vector is the center of two pixels, and the MC error has the following lower limit value.

E(v* )≧C−S(v)/2−S(v−δy )/2−Rv (v) (13)
証明は(ii)の場合と同様に行える。なお,Rv (v)は丸め誤差の補正値であり,次式より求まる。
E (v * ) ≧ C−S (v) / 2−S (v−δ y ) / 2−R v (v) (13)
Proof can be performed in the same manner as in (ii). R v (v) is a correction value for rounding error, and is obtained from the following equation.

Figure 0004410172
(iv)v* =v−(δx +δy )/2の場合:
動きベクトルの指す参照フレームの位置は4画素の中央となり,MC誤差は次の下限値を持つ。
Figure 0004410172
(Iv) When v * = v− (δ x + δ y ) / 2:
The position of the reference frame pointed to by the motion vector is the center of the four pixels, and the MC error has the following lower limit value.

E(v* )≧C−S(v)/4−S(v−δx )/4−S(v−δy )/4
−S(v−δx −δy )/4−Rd (v) (15)
なお,Rd (v)は丸め誤差の補正値であり,次式より求まる。
E (v * ) ≧ C−S (v) / 4−S (v−δ x ) / 4−S (v−δ y ) / 4
-S (v-δ x -δ y ) / 4-R d (v) (15)
R d (v) is a correction value for rounding error, and is obtained from the following equation.

Figure 0004410172
式(15)の証明は,以下の通りである。なお,以下の証明において,式(17a)から式(17b)への展開では,動きベクトルの指す参照フレームの位置は4画素の中央となることから,式(7d)を用いた。
Figure 0004410172
The proof of equation (15) is as follows. In the following proof, in the expansion from Expression (17a) to Expression (17b), Expression (7d) is used because the position of the reference frame pointed to by the motion vector is the center of four pixels.

Figure 0004410172
以上(i)〜(iv)をまとめると,MC誤差の下限値L(v* )は次式となる。
Figure 0004410172
Summarizing the above (i) to (iv), the lower limit L (v * ) of the MC error is given by the following equation.

Figure 0004410172
[第2の実施形態:補正値テーブルの利用]
丸め誤差の補正値は補正値テーブルと呼ぶルックアップテーブルに格納し,予測誤差の下限値の計算時には,同テーブルを参照するものとする。以下,同テーブルの作成法について詳述する。
Figure 0004410172
[Second Embodiment: Use of Correction Value Table]
The correction value for the rounding error is stored in a lookup table called a correction value table, and this table is referred to when calculating the lower limit value of the prediction error. The method for creating the table will be described in detail below.

上述(ii)の場合:
h (v)は,以下のように展開できる。
In case of (ii) above:
R h (v) can be expanded as follows.

Figure 0004410172
この式(19)から明らかであるように,参照領域をx方向に17画素,y方向に1画素の幅を持つ17×1画素の矩形領域に分割したとすると,各矩形領域における丸め誤差は独立に定まる。そこで,同矩形領域単位で上述の丸め誤差の補正値をルックアップテーブルに格納する。格納する値は,以下の通りである。
Figure 0004410172
As is clear from this equation (19), if the reference area is divided into rectangular areas of 17 × 1 pixels having a width of 17 pixels in the x direction and 1 pixel in the y direction, the rounding error in each rectangular area is independent. Determined. Therefore, the correction value for the rounding error is stored in the lookup table in units of the same rectangular area. The values to be stored are as follows.

Figure 0004410172
この補正値は,17の画素の下位1ビットから定まり,0から16の値を取り得る。従って,この補正値に対するルックアップテーブルのサイズは,
5×217=0.65536[Mbits]
となる。
Figure 0004410172
This correction value is determined from the lower 1 bit of 17 pixels and can take a value from 0 to 16. Therefore, the size of the lookup table for this correction value is
5 × 2 17 = 0.65536 [Mbits]
It becomes.

上述 (iii)の場合:
v (v)は,以下のように展開できる。
In case of (iii) above:
R v (v) can be expanded as follows.

Figure 0004410172
この式(21)から明らかであるように,各列における丸め誤差は独立に定まる。すなわち,参照領域をx方向に1画素,y方向に17画素の幅を持つ1×17画素の矩形領域に分割したとすると,各矩形領域における丸め誤差は独立に定まる。そこで,同矩形領域単位で上述の丸め誤差の補正値をルックアップテーブルに格納する。格納する値は,以下の通りである。
Figure 0004410172
As is clear from this equation (21), the rounding error in each column is determined independently. That is, if the reference area is divided into rectangular areas of 1 × 17 pixels having a width of 1 pixel in the x direction and 17 pixels in the y direction, the rounding error in each rectangular area is determined independently. Therefore, the correction value for the rounding error is stored in the lookup table in units of the same rectangular area. The values to be stored are as follows.

Figure 0004410172
この補正値は,17個の画素の下位1ビットから定まり,0から16の値を取り得る。従って,この補正値に対するルックアップテーブルのサイズは,
5×217=0.65536[Mbits]
となる。
Figure 0004410172
This correction value is determined from the lower 1 bit of 17 pixels and can take a value from 0 to 16. Therefore, the size of the lookup table for this correction value is
5 × 2 17 = 0.65536 [Mbits]
It becomes.

上述(iv)の場合:
d (v)は,以下のように展開できる。
In case of (iv) above:
R d (v) can be expanded as follows.

Figure 0004410172
ここで,Φ(x,y,t)は,以下の通りとする。
Figure 0004410172
Here, Φ (x, y, t) is as follows.

Φ(x,y,t)=ft (x,y)+ft (x−1,y)
+ft (x,y−1)+ft (x−1,y−1)
この式(23)から明らかであるように,参照領域中の,x方向に17画素,y方向に2画素の幅を持つ17×2画素の矩形領域における丸め誤差は独立に定まる。しかし,この矩形領域に対して補正値のルックアップテーブルを作成した場合,同ルックアップテーブルのサイズは85.899[Gbits]となり,実装を考慮した場合,現実的なサイズとはいえない。そこで,同矩形領域を2つに分割し,2×8画素の矩形領域単位で補正値をルックアップテーブルに格納する。格納する値は,以下の通りである。
Φ (x, y, t) = ft (x, y) + ft (x-1, y)
+ F t (x, y−1) + f t (x−1, y−1)
As is clear from this equation (23), the rounding error in a 17 × 2 pixel rectangular region having a width of 17 pixels in the x direction and 2 pixels in the y direction in the reference region is determined independently. However, when a correction value lookup table is created for this rectangular area, the size of the lookup table is 85.899 [Gbits], which cannot be said to be a realistic size in consideration of implementation. Therefore, the rectangular area is divided into two, and correction values are stored in a lookup table in units of rectangular areas of 2 × 8 pixels. The values to be stored are as follows.

Figure 0004410172
d (x0 ,y0 ,vx ,vy )に格納する補正値は,18個の画素の下位1ビットから定まり,0から8の値を取り得る。従って,このルックアップテーブルのサイズは,
4×218=1.0486[Mbits]
となる。
Figure 0004410172
The correction value stored in r d (x 0 , y 0 , v x , v y ) is determined from the lower 1 bit of 18 pixels and can take a value of 0 to 8. Therefore, the size of this lookup table is
4 × 2 18 = 1.0486 [Mbits]
It becomes.

[第3の実施形態]
連続した動きベクトルに対する予測誤差の最小値を求める場合,隣接参照領域における差異領域に注目することで計算量を削減できる。予測誤差の下限値が式(18)で与えられる場合,L(v* −δx )とL(v* )とは,以下の関係にある。
[Third Embodiment]
When obtaining the minimum value of prediction errors for continuous motion vectors, the amount of calculation can be reduced by paying attention to the difference area in the adjacent reference area. When the lower limit value of the prediction error is given by Expression (18), L (v * −δ x ) and L (v * ) have the following relationship.

Figure 0004410172
ここで,S* (v* ),R* (v* )は,以下の通りである。
Figure 0004410172
Here, S * (v * ) and R * (v * ) are as follows.

Figure 0004410172
図2,図3,図4に動きベクトルv* −δx およびv* の指す領域を示す。これらは,いずれも動き補償の領域が4×4[画素]の例を図示したものである。
Figure 0004410172
2, FIG. 3 shows the area indicated by the vector v * - [delta x and v * motion in FIG. Each of these is an example in which the motion compensation region is 4 × 4 [pixel].

* (v* −δx )−R* (v* )が計算すべき補正値である。以下,v* の値に応じて,S* (v* −δx )−S* (v* ),R* (v* −δx )−R* (v* )の計算法について詳述する。以下,動き補償の領域は16×16とする。 R * (v * -δ x) -R * (v *) is the correction value to be calculated. Hereinafter, v * in accordance with the value of, S * (v * -δ x ) -S * (v *), will be described in detail R * (v * -δ x) -R * (v *) of the calculation method . Hereinafter, the motion compensation area is 16 × 16.

(i)v* =vの場合:
この場合,丸め誤差は発生しないため,補正値は必要ない。また,S* (v* −δx )−S* (v* )は次式のようになる。
(I) When v * = v:
In this case, no correction value is required because no rounding error occurs. In addition, S * (v * -δ x ) -S * (v *) is given by the following equation.

Figure 0004410172
(ii)v* =v−δx /2の場合:
* (v* −δx )−S* (v* )は次式となる。
Figure 0004410172
(Ii) When v * = v−δ x / 2:
S * (v * -δ x) -S * (v *) becomes the following equation.

Figure 0004410172
また,R* (v* −δx )−R* (v* )は次式となる。
Figure 0004410172
In addition, R * (v * -δ x ) -R * (v *) becomes the following equation.

Figure 0004410172
(iii) v* =v−δy /2の場合:
* (v* −δy )−S* (v* )は次式となる。
Figure 0004410172
(iii) When v * = v−δ y / 2:
S * (v * −δ y ) −S * (v * ) is as follows.

Figure 0004410172
また,R* (v* −δy )−R* (v* )は次式となる。
Figure 0004410172
R * (v * −δ y ) −R * (v * ) is given by the following equation.

Figure 0004410172
(iv)v* =v−δx /2−δy /2の場合:
* (v* −δx −δy )−S* (v* )は次式となる。
Figure 0004410172
(Iv) v * = v- δ if the x / 2-δ y / 2 :
S * (v * -δ x -δ y) -S * (v *) becomes the following equation.

Figure 0004410172
また,R* (v* −δx −δy )−R* (v* )は次式となる。
Figure 0004410172
In addition, R * (v * -δ x -δ y) -R * (v *) becomes the following equation.

Figure 0004410172
[第4の実施形態:差分補正値テーブルの利用]
連続した動きベクトルに対する予測誤差の最小値を求める場合,隣接参照領域における差異領域に注目することで計算量を削減できる。このときに用いる丸め誤差の補正値は差分補正値テーブルと呼ぶルックアップテーブルに格納し,予測誤差の下限値の計算時には,同テーブルを参照するものとする。
Figure 0004410172
[Fourth Embodiment: Use of Difference Correction Value Table]
When obtaining the minimum value of prediction errors for continuous motion vectors, the amount of calculation can be reduced by paying attention to the difference area in the adjacent reference area. The correction value of the rounding error used at this time is stored in a lookup table called a difference correction value table, and is referred to when calculating the lower limit value of the prediction error.

予測誤差の下限値が式(18)で与えられる場合,L(v* −δx )とL(v* )とは前述の式(25)の関係にある。S* (v* −δx )−S* (v* )については,前述した「第3の実施形態:丸め誤差の補正値」の通りである。R* (v* −δx )−R* (v* )が差分補正値テーブルに格納される値となる。以下,v* の値に応じて,同テーブルの作成法について詳述する。 When the lower limit value of the prediction error is given by equation (18), L (v * −δ x ) and L (v * ) are in the relationship of equation (25) described above. S * (v * −δ x ) −S * (v * ) is as described in “Third embodiment: correction value of rounding error”. R * (v * -δ x) -R * (v *) a value is stored in the differential correction value table. Hereinafter, the method of creating the table will be described in detail according to the value of v * .

(i)v* =vの場合:
この場合,丸め誤差は発生しないため,補正値は必要ない。
(I) When v * = v:
In this case, no correction value is required because no rounding error occurs.

(ii)v* =v−δx /2の場合:
* (v* −δx )−R* (v* )は式(30)となる。同式によれば,x方向に2画素,y方向に16画素の幅を持つ2×16画素の矩形領域における丸め誤差は独立に定まる。この矩形領域に対する補正値のルックアップテーブルのサイズが実装するシステムに対して大きすぎる場合は,同矩形領域を2つに分割し,2×8画素の矩形領域単位で補正値をルックアップテーブル^rh (x0 ,y0 ,dx ,dy )に格納する。^rh (x0 ,y0 ,dx ,dy )を,
(Ii) When v * = v−δ x / 2:
R * (v * −δ x ) −R * (v * ) is expressed by equation (30). According to this equation, the rounding error in a rectangular area of 2 × 16 pixels having a width of 2 pixels in the x direction and 16 pixels in the y direction is determined independently. If the size of the correction value lookup table for this rectangular area is too large for the system to be implemented, the rectangular area is divided into two, and the correction value is looked up in a rectangular area unit of 2 × 8 pixels. Store in r h (x 0 , y 0 , d x , dy ). ^ R h (x 0 , y 0 , d x , dy )

Figure 0004410172
として定義すると,R* (v* −δx )−R* (v* )は次式のように表せる。
Figure 0004410172
When defined as, R * (v * -δ x ) -R * (v *) is expressed as follows.

Figure 0004410172
(iii) v* =v−δy /2の場合:
* (v* −δy )−R* (v* )は式(32)となる。同式によれば,x方向に1画素,y方向に17画素の幅を持つ1×17画素の矩形領域における丸め誤差は独立に定まる。そこで,同矩形領域単位で補正値をルックアップテーブル^rv (x0 ,y0 ,dx ,dy )に格納する。^rv (x0 ,y0 ,dx ,dy )を,
Figure 0004410172
(iii) When v * = v−δ y / 2:
R * (v * −δ y ) −R * (v * ) is expressed by Expression (32). According to this equation, the rounding error in a rectangular area of 1 × 17 pixels having a width of 1 pixel in the x direction and 17 pixels in the y direction is determined independently. Therefore, to store the correction value in the same rectangular area unit look-up table ^ r v (x 0, y 0, d x, d y) on. ^ R v (x 0 , y 0 , d x , dy )

Figure 0004410172
として定義すると,R* (v* −δy )−R* (v* )は次式のように表せる。
Figure 0004410172
R * (v * −δ y ) −R * (v * ) can be expressed as the following equation.

Figure 0004410172
(iv)v* =v−δx /2−δy /2の場合:
* (v* −δx −δy )−R* (v* )は式(34)となる。同式によれば,x方向に2画素,y方向に17画素の幅を持つ2×17画素の矩形領域における丸め誤差は独立に定まる。この矩形領域に対する補正値のルックアップテーブルのサイズが実装するシステムに対して大きすぎる場合は,同矩形領域を2つに分割し,2×8画素の矩形領域単位で補正値をルックアップテーブル^rd (x0 ,y0 ,dx ,dy )に格納する。^rd (x0 ,y0 ,dx ,dy )を,
Figure 0004410172
(Iv) v * = v- δ if the x / 2-δ y / 2 :
R * (v *-[ delta] x- [ delta] y ) -R * (v * ) is given by equation (34). According to this equation, the rounding error in a rectangular area of 2 × 17 pixels having a width of 2 pixels in the x direction and 17 pixels in the y direction is determined independently. If the size of the correction value lookup table for this rectangular area is too large for the system to be implemented, the rectangular area is divided into two, and the correction value is looked up in a rectangular area unit of 2 × 8 pixels. Store in r d (x 0 , y 0 , d x , dy ). ^ R d (x 0 , y 0 , d x , dy )

Figure 0004410172
として定義すると,R* (v* −δx −δy )−R* (v* )は次式のように表せる。
Figure 0004410172
When defined as, R * (v * -δ x -δ y) -R * (v *) is expressed as follows.

Figure 0004410172
Figure 0004410172

[符号化処理の流れ]
本発明の実施例に係る符号化処理の流れについて,図5を参照して説明する。
[Flow of encoding process]
The flow of the encoding process according to the embodiment of the present invention will be described with reference to FIG.

ステップS1:被予測画素,参照画素,初期動きベクトルを入力とし,初期動きベクトルとして指定された動きベクトルv* に対して,予測誤差E(v* )を計算し,それを出力する。 Step S1: With the predicted pixel, reference pixel, and initial motion vector as inputs, a prediction error E (v * ) is calculated for the motion vector v * designated as the initial motion vector, and is output.

ステップS2:被予測画素を入力とし,被予測画素値和をレジスタに書き出す。より具体的には,被予測画素値和を式(3)により算出する。   Step S2: The pixel to be predicted is input, and the sum of pixel values to be predicted is written to the register. More specifically, the predicted pixel value sum is calculated by equation (3).

ステップS3:動きベクトル,参照画素を入力とし,この動きベクトルを用いた場合の予測誤差の下限値L(v* )を算出する処理を行う。詳細は,後述する。 Step S3: A process of calculating a lower limit L (v * ) of a prediction error when using a motion vector and a reference pixel as input is performed. Details will be described later.

ステップS4:ステップS3で求めた下限値L(v* ),予測誤差の最小値として格納された値εを入力とし,L(v* )とεとの大小比較を行い,
L(v* )<ε
であればステップS5の処理に移り,そうでなければステップS8の処理に移る。
Step S4: The lower limit L (v * ) obtained in step S3 and the value ε stored as the minimum value of the prediction error are input, and L (v * ) and ε are compared in magnitude.
L (v * ) <ε
If so, the process proceeds to step S5, and if not, the process proceeds to step S8.

ステップS5:被予測画素,参照画素を入力とし,動きベクトルv* に対する予測誤差E(v* )を算出する処理を行い,E(v* )を出力する。 Step S5: A process of calculating a prediction error E (v * ) with respect to the motion vector v * is performed with the predicted pixel and the reference pixel as inputs, and E (v * ) is output.

ステップS6:動きベクトルv* に対する予測誤差E(v* ),予測誤差の最小値として格納された値εを入力とし,両値の大小比較を行う処理を行い,
E(v* )<ε
であればステップS7の処理に移り,そうでなければステップS8の処理に移る。
Step S6: Performing a process of comparing the magnitudes of both values with the prediction error E (v * ) for the motion vector v * and the value ε stored as the minimum value of the prediction error as inputs.
E (v * ) <ε
If so, the process proceeds to step S7, and if not, the process proceeds to step S8.

ステップS7:動きベクトルv* ,同動きベクトルに対する予測誤差E(v* )を各々,レジスタM,εに代入する処理を行う。 Step S7: A process of substituting the motion vector v * and the prediction error E (v * ) for the motion vector into the registers M and ε, respectively.

ステップS8,S9:全ての動きベクトルについて,上述の処理を繰り返し,最終的に,全動きベクトルの中で予測誤差を最小化する動きベクトルとして,レジスタMに格納された値を出力する。   Steps S8 and S9: The above process is repeated for all motion vectors, and finally, the value stored in the register M is output as a motion vector that minimizes the prediction error among all the motion vectors.

以下にステップS3の詳細を示す。なお,初期動きベクトルに対しては,図6または図7の処理を行う。   Details of step S3 are shown below. Note that the processing of FIG. 6 or FIG. 7 is performed on the initial motion vector.

「第1の実施形態」の場合:
図6を用いて,「第1の実施形態」の場合の下限値の算出の流れを説明する。
In the case of the “first embodiment”:
The flow of calculation of the lower limit value in the case of the “first embodiment” will be described with reference to FIG.

ステップS11:図5のステップS2で書き出した被予測画素値和をレジスタから読み込む。   Step S11: The predicted pixel value sum written in step S2 of FIG. 5 is read from the register.

ステップS12:動きベクトル,参照画素を入力とし,動きベクトルに対する参照画素値和S(v* )を算出し,レジスタに書き出す。より具体的には,式(4)により参照画素値和を算出する。 Step S12: Using the motion vector and the reference pixel as inputs, calculate a reference pixel value sum S (v * ) for the motion vector and write it to the register. More specifically, the reference pixel value sum is calculated by Expression (4).

ステップS13:動きベクトル,参照画素を入力とし,小数画素位置毎の丸め誤差に対する補正値Rh (v* ),Rv (v* ),Rd (v* )を算出し,レジスタに書き出す処理を行う。より具体的には,式(11),式(14),式(16)により求める。 Step S13: A process of calculating correction values R h (v * ), R v (v * ), R d (v * ) for rounding errors for each decimal pixel position and inputting them into a register by inputting a motion vector and a reference pixel. Do. More specifically, it is obtained by Expression (11), Expression (14), and Expression (16).

ステップS14:被予測画素値和C,参照画素値和S(v* ),小数画素位置毎の丸め誤差に対する補正値Rh (v* ),Rv (v* ),Rd (v* )を入力とし,動きベクトルの予測誤差の下限値L(v* )を算出する処理を行い,レジスタに書き出す。より具体的には,式(18)により同下限値を求める。 Step S14: Predicted pixel value sum C, reference pixel value sum S (v * ), correction values R h (v * ), R v (v * ), R d (v * ) for rounding errors for each decimal pixel position As an input, a process for calculating the lower limit L (v * ) of the motion vector prediction error is performed and written to the register. More specifically, the lower limit value is obtained from equation (18).

「第2の実施形態」の場合:
図7を用いて,「第2の実施形態」の場合の下限値の算出の流れを説明する。
In the case of the “second embodiment”:
The flow of calculation of the lower limit value in the case of the “second embodiment” will be described with reference to FIG.

ステップS21:ステップS11に同じ。   Step S21: Same as step S11.

ステップS22:ステップS12に同じ。   Step S22: Same as step S12.

ステップS23:予めレジスタに格納された補正値ルックアップテーブルを読み込む。   Step S23: The correction value lookup table stored in advance in the register is read.

ステップS24:参照画素,ステップS23で読み込んだ補正値ルックアップテーブルを入力とし,参照画素値に基づき補正値ルックアップテーブルを参照し,小数画素位置毎の丸め誤差に対する補正値を求め,同補正値をレジスタに書き出す処理を行う。   Step S24: The reference pixel, the correction value lookup table read in step S23 is input, the correction value lookup table is referred to based on the reference pixel value, the correction value for the rounding error for each decimal pixel position is obtained, and the correction value is obtained. Write to the register.

ステップS25:ステップS14に同じ。   Step S25: Same as step S14.

「第3の実施形態」の場合:
図8を用いて,「第3の実施形態」の場合の下限値の算出の流れを説明する。
In the case of the “third embodiment”:
The flow of calculation of the lower limit value in the case of the “third embodiment” will be described with reference to FIG.

ステップS31:更新前の動きベクトルに対する予測誤差の下限値をレジスタから読み込む。   Step S31: The lower limit value of the prediction error for the motion vector before update is read from the register.

ステップS32:動きベクトル,参照画素を入力とし,動きベクトルに対する参照画素値和の差分値を算出し,レジスタに書き出す。より具体的には,式(28),式(29),式(31),式(33)により参照画素値和を算出する。   Step S32: Using the motion vector and the reference pixel as input, the difference value of the reference pixel value sum with respect to the motion vector is calculated and written to the register. More specifically, the reference pixel value sum is calculated by Expression (28), Expression (29), Expression (31), and Expression (33).

ステップS33:動きベクトル,参照画素を入力とし,小数画素位置毎の丸め誤差に対する補正値の差分値を算出し,レジスタに書き出す処理を行う。より具体的には,式(30),式(32),式(34)により求める。   Step S33: Using the motion vector and the reference pixel as input, calculate a difference value of the correction value for the rounding error at each decimal pixel position, and write it out to the register. More specifically, it is obtained by Expression (30), Expression (32), and Expression (34).

ステップS34:参照画素値和の差分値,小数画素位置毎の丸め誤差に対する補正値の差分値,更新前の動きベクトルに対する予測誤差の下限値を入力とし,動きベクトルの予測誤差の下限値L(v* )を算出する処理を行う。より具体的には,式(25)により下限値L(v* )を求める。 Step S34: The difference value of the reference pixel value sum, the difference value of the correction value for the rounding error for each decimal pixel position, and the lower limit value of the prediction error for the motion vector before the update are input, and the lower limit value L (v * ) To calculate. More specifically, the lower limit value L (v * ) is obtained from equation (25).

「第4の実施形態」の場合:
図9を用いて,「第4の実施形態」の場合の下限値の算出の流れを説明する。
In the case of the “fourth embodiment”:
The flow of calculation of the lower limit value in the case of the “fourth embodiment” will be described with reference to FIG.

ステップS41:ステップS31に同じ。   Step S41: Same as step S31.

ステップS42:ステップS32に同じ。   Step S42: Same as step S32.

ステップS43:予めレジスタに格納された差分補正値ルックアップテーブルを読み込む。   Step S43: A difference correction value lookup table stored in advance in a register is read.

ステップS44:参照画素,ステップS43で読み込んだ差分補正値ルックアップテーブルを入力とし,参照画素値に基づき差分補正値ルックアップテーブルを参照し,小数画素位置毎の丸め誤差に対する補正値の差分値R* (v* −δx )−R* (v* ),R* (v* −δy )−R* (v* ),R* (v* −δx −δy )−R* (v* )を求め,レジスタに書き出す処理を行う。 Step S44: The reference pixel, the difference correction value lookup table read in step S43 is input, the difference correction value lookup table is referenced based on the reference pixel value, and the difference value R * of the correction value for the rounding error for each decimal pixel position (v * -δ x) -R * (v *), R * (v * -δ y) -R * (v *), R * (v * -δ x -δ y) -R * (v * ) And write to the register.

ステップS45:ステップS34に同じ。   Step S45: Same as step S34.

[符号化装置]
次に,符号化装置の構成例について説明する。
[Encoding device]
Next, a configuration example of the encoding device will be described.

「第1の実施形態」の場合:
図10に本発明の第1の実施形態に係る装置構成図を示す。
In the case of the “first embodiment”:
FIG. 10 shows an apparatus configuration diagram according to the first embodiment of the present invention.

スイッチSW1は,動きベクトルが初期動きベクトルの場合,初期動きベクトル予測誤差算出部101および被予測画素値和決定部102の処理を行う。それ以外の場合,参照画素値和決定部104の処理を行うように切り替える。   When the motion vector is the initial motion vector, the switch SW1 performs processing of the initial motion vector prediction error calculation unit 101 and the predicted pixel value sum determination unit 102. In other cases, the reference pixel value sum determination unit 104 is switched to perform processing.

初期動きベクトル予測誤差算出部101は,符号化対象ブロックの画素,参照画素,初期動きベクトルに対応する動きベクトルを入力とし,予測誤差を算出する処理を行い,同予測誤差を暫定最小予測誤差記憶部112に出力し,同動きベクトルを暫定最適動きベクトル記憶部113に出力する。   The initial motion vector prediction error calculation unit 101 receives a pixel of the encoding target block, a reference pixel, and a motion vector corresponding to the initial motion vector, performs a process of calculating a prediction error, and stores the prediction error as a temporary minimum prediction error And outputs the motion vector to the provisional optimal motion vector storage unit 113.

被予測画素値和決定部102は,符号化対象ブロックの画素を入力とし,同ブロック内の被予測画素値和を算出する処理を行い,この被予測画素値和を被予測画素値和記憶部103に出力する。より具体的には,式(3)により被予測画素値和を算出する。   The predicted pixel value sum determining unit 102 receives the pixels of the encoding target block, performs a process of calculating a predicted pixel value sum in the block, and calculates the predicted pixel value sum as a predicted pixel value sum storage unit. To 103. More specifically, the predicted pixel value sum is calculated by Expression (3).

参照画素値和決定部104は,参照画素,動きベクトルを入力とし,参照画素値和を算出する処理を行い,この参照画素値和を参照画素値和記憶部105に出力する。より具体的には,式(4)により参照画素値和を算出する。また,同時に計算過程で算出する値ft-1 (p−v)+ft-1 (p−v+δx ),ft-1 (p−v)+ft-1 (p−v+δy ),ft-1 (p−v)+ft-1 (p−v+δx )+ft-1 (p−v+δy )+ft-1 (p−v+δx +δy )(p∈B)を,部分参照画素値和記憶部116に書き出す。 The reference pixel value sum determination unit 104 receives the reference pixel and the motion vector, performs a process of calculating the reference pixel value sum, and outputs the reference pixel value sum to the reference pixel value sum storage unit 105. More specifically, the reference pixel value sum is calculated by Expression (4). At the same time, values f t-1 (p−v) + f t−1 (p−v + δ x ), f t−1 (p−v) + f t−1 (p−v + δ y ), f t−1 (p−v) + f t−1 (p−v + δ x ) + f t−1 (p−v + δ y ) + f t−1 (p−v + δ x + δ y ) (p∈B) Write to the value sum storage unit 116.

補正値算出部115は,部分参照画素値和記憶部116から部分参照画素値和を読み込み,予測誤差の下限値の補正値を算出する処理を行い,同補正値を補正値記憶部107に出力する。補正値の具体的な算出は,小数画素位置毎に式(11),式(14),式(16)により求める。   The correction value calculation unit 115 reads the partial reference pixel value sum from the partial reference pixel value sum storage unit 116, performs a process of calculating a correction value for the lower limit value of the prediction error, and outputs the correction value to the correction value storage unit 107. To do. The specific calculation of the correction value is obtained by Equation (11), Equation (14), and Equation (16) for each decimal pixel position.

予測誤差下限値決定部106は,動きベクトルを入力とし,被予測画素値和記憶部103,参照画素値和記憶部105,補正値記憶部107から各々,被予測画素値和,参照画素値和,補正値を読み込み,予測誤差の下限値を算出する処理を行い,同下限値を下限値記憶部108に出力する。下限値の具体的な算出は,式(18)により行う。   The prediction error lower limit determination unit 106 receives a motion vector, and receives a predicted pixel value sum and a reference pixel value sum from the predicted pixel value sum storage unit 103, the reference pixel value sum storage unit 105, and the correction value storage unit 107, respectively. , Read the correction value, calculate the lower limit value of the prediction error, and output the lower limit value to the lower limit value storage unit 108. The specific calculation of the lower limit value is performed according to Equation (18).

枝刈り判定部109は,下限値記憶部108および暫定最小予測誤差記憶部112から各々,予測誤差の下限値,およびこれまでに格納された予測誤差の最小値を読み込み,2つの値の大小比較を行い,同下限値の方が小さい場合は,次の処理へ進む(スイッチSW2)。それ以外の場合は,現在の動きベクトルに対する処理を終了する。   The pruning determination unit 109 reads the lower limit value of the prediction error and the minimum value of the prediction error stored so far from the lower limit value storage unit 108 and the provisional minimum prediction error storage unit 112, and compares the two values in magnitude. If the lower limit value is smaller, the process proceeds to the next process (switch SW2). Otherwise, the process for the current motion vector is terminated.

予測誤差算出部110は,符号化対象ブロックの画素,参照画素,動きベクトルを入力とし,予測誤差を算出する処理を行い,同予測誤差を出力する。   The prediction error calculation unit 110 receives a pixel, a reference pixel, and a motion vector of an encoding target block, performs a process for calculating a prediction error, and outputs the prediction error.

最適動きベクトル判定部111は,予測誤差算出部110で算出された予測誤差を入力とし暫定最小予測誤差記憶部112からこれまでに格納された予測誤差の最小値を読み込み,2つの値の大小比較を行い,予測誤差算出部110で算出された予測誤差の方が小さい場合,同予測誤差を暫定最小予測誤差記憶部112に記憶し,同動きベクトルを暫定最適動きベクトル記憶部113に記憶する。   The optimal motion vector determination unit 111 receives the prediction error calculated by the prediction error calculation unit 110 as an input, reads the minimum value of the prediction error stored so far from the provisional minimum prediction error storage unit 112, and compares the two values in magnitude. When the prediction error calculated by the prediction error calculation unit 110 is smaller, the prediction error is stored in the provisional minimum prediction error storage unit 112, and the motion vector is stored in the provisional optimum motion vector storage unit 113.

動きベクトル制御部114は,以上の処理を全ての動きベクトルに対して繰り返し,最終的に暫定最適動きベクトル記憶部113に記憶された値を最適な動きベクトルとして出力する。   The motion vector control unit 114 repeats the above processing for all the motion vectors, and finally outputs the value stored in the provisional optimal motion vector storage unit 113 as the optimal motion vector.

「第2の実施形態」の場合:
図11に本発明の第2の実施形態に係る装置構成図を示す。
In the case of the “second embodiment”:
FIG. 11 shows an apparatus configuration diagram according to the second embodiment of the present invention.

初期動きベクトル予測誤差算出部201から動きベクトル制御部214は各々,図10で説明した初期動きベクトル予測誤差算出部101から動きベクトル制御部114と同じ処理を行う。   Each of the initial motion vector prediction error calculation unit 201 to the motion vector control unit 214 performs the same processing as the initial motion vector prediction error calculation unit 101 to the motion vector control unit 114 described with reference to FIG.

補正値算出部215は,事前に補正値が格納済みのルックアップテーブル記憶部216から読み出した値を入力として,補正値Rh (v* ),Rv (v* ),Rd (v* )を算出し,補正値記憶部207に書き出す。補正値の具体的な算出は,式(19),式(21),式(23),に従う。 The correction value calculation unit 215 receives the values read from the look-up table storage unit 216 in which correction values are stored in advance, and receives correction values R h (v * ), R v (v * ), R d (v * ) Is calculated and written to the correction value storage unit 207. The specific calculation of the correction value follows Formula (19), Formula (21), and Formula (23).

ルックアップテーブル記憶部216には,補正値Rh (v* ),Rv (v* ),Rd (v* )の算出時に参照する補正値テーブルの値rv (x0 ,y0 ,vx ,vy ),rh (x0 ,y0 ,vx ,vy ),rd (x0 ,y0 ,vx ,vy )を予め格納しておく。 The lookup table storage unit 216 stores correction value table values r v (x 0 , y 0 , reference values) to be referred to when calculating correction values R h (v * ), R v (v * ), R d (v * ). v x, v y), r h (x 0, y 0, v x, v y), r d (x 0, y 0, v x, is stored v y) in advance.

「第3の実施形態」の場合:
図12に本発明の第3の実施形態に係る装置構成図を示す。
In the case of the “third embodiment”:
FIG. 12 shows an apparatus configuration diagram according to the third embodiment of the present invention.

参照画素値和差分値決定部304は,動きベクトル,参照画素を入力とし,現在の動きベクトルと更新前の動きベクトルに対する参照画素値和の差分値を算出し,参照画素値和差分値記憶部305に書き出す。より具体的には,式(28),式(29),式(31),式(33)により算出する。また,同時に計算過程で算出する値ft-1 (x0 +16−vx ,y−vy )+ft-1 (x0 +17−vx ,y−vy )(式(28)の場合),ft-1 (x0 −vx ,y−vy )+ft-1 (x0 +1−vx ,y−vy )(式(29)の場合),ft-1 (x0 +16−vx ,y−vy )+ft-1 (x0 +16−vx ,y+1−vy ),ft-1 (x0 −vx ,y−vy )+ft-1 (x0 −vx ,y+1−vy )(式(31)の場合),Φ(x0 +16−vx ,y−vy ,t−1),Φ(x0 −vx ,y−vy ,t−1)(式(33)の場合)(y0 ≦y≦y0 +15)を部分参照画素値和記憶部316に書き出す。 The reference pixel value sum difference value determination unit 304 receives the motion vector and the reference pixel, calculates a difference value of the reference pixel value sum with respect to the current motion vector and the motion vector before update, and a reference pixel value sum difference value storage unit Write to 305. More specifically, the calculation is performed by Expression (28), Expression (29), Expression (31), and Expression (33). At the same time, the value f t-1 (x 0 + 16−v x , y−v y ) + f t−1 (x 0 + 17−v x , y−v y ) (in the case of equation (28)) ), F t-1 (x 0 −v x , y−v y ) + f t−1 (x 0 + 1−v x , y−v y ) (in the case of equation (29)), f t−1 (x 0 + 16−v x , y−v y ) + f t−1 (x 0 + 16−v x , y + 1−v y ), f t−1 (x 0 −v x , y−v y ) + f t−1 ( x 0 −v x , y + 1−v y ) (in the case of equation (31)), Φ (x 0 + 16−v x , y−v y , t−1), Φ (x 0 −v x , y−v y , t−1) (in the case of equation (33)) (y 0 ≦ y ≦ y 0 +15) is written in the partial reference pixel value sum storage unit 316.

予測誤差下限値決定部306は,参照画素値和差分値記憶部305から読み出した参照画素値和の差分値,補正値差分値記憶部307から読み出した補正値の差分値,下限値記憶部308から読み出した更新前の動きベクトルに対する予測誤差の下限値を入力とし,動きベクトルの予測誤差の下限値を算出する処理を行い,算出した下限値を下限値記憶部308に書き出す。同下限値の具体的算出は式(25)に従う。   The prediction error lower limit determination unit 306 includes a reference pixel value sum difference value read from the reference pixel value sum difference value storage unit 305, a correction value difference value read from the correction value difference value storage unit 307, and a lower limit value storage unit 308. The lower limit value of the prediction error with respect to the motion vector before update read from is input, the lower limit value of the prediction error of the motion vector is calculated, and the calculated lower limit value is written in the lower limit value storage unit 308. The specific calculation of the lower limit value follows Formula (25).

補正値差分値算出部315は,部分参照画素値和記憶部316から読み出した部分参照画素値和を入力とし,小数画素位置毎の丸め誤差に対する補正値の差分値を算出し,補正値差分値記憶部307に書き出す処理を行う。同差分値は,より具体的には,式(30),式(32),式(34)により求める。   The correction value difference value calculation unit 315 receives the partial reference pixel value sum read from the partial reference pixel value sum storage unit 316, calculates a correction value difference value for the rounding error for each decimal pixel position, and stores the correction value difference value storage. Processing to write to the unit 307 is performed. More specifically, the difference value is obtained by Expression (30), Expression (32), and Expression (34).

初期動きベクトル予測誤差算出部301および参照画素値和差分値決定部304から動きベクトル制御部314は各々,図10で説明した初期動きベクトル予測誤差算出部101および参照画素値和決定部104から動きベクトル制御部114と同様な処理を行う。   The motion vector control unit 314 to the initial motion vector prediction error calculation unit 301 and the reference pixel value sum difference value determination unit 304 respectively move from the initial motion vector prediction error calculation unit 101 and the reference pixel value sum determination unit 104 described with reference to FIG. Processing similar to that of the vector control unit 114 is performed.

「第4の実施形態」の場合:
図13に本発明の第4の実施形態に係る装置構成図を示す。
In the case of the “fourth embodiment”:
FIG. 13 shows an apparatus configuration diagram according to the fourth embodiment of the present invention.

初期動きベクトル予測誤差算出部401から動きベクトル制御部414は各々,図12の初期動きベクトル予測誤差算出部301から動きベクトル制御部314と同じ処理を行う。   The initial motion vector prediction error calculation unit 401 to the motion vector control unit 414 respectively perform the same processing as the initial motion vector prediction error calculation unit 301 to the motion vector control unit 314 in FIG.

補正値差分値算出部415は,ルックアップテーブル記憶部416から読み出した値を入力として,補正値の差分値を算出し,補正値差分値記憶部407に書き出す。補正値の具体的な算出は,式(36),式(38),式(40)に従う。   The correction value difference value calculation unit 415 receives the value read from the lookup table storage unit 416 as an input, calculates the difference value of the correction value, and writes it to the correction value difference value storage unit 407. The specific calculation of the correction value follows Formula (36), Formula (38), and Formula (40).

ルックアップアップテーブル記憶部416には,補正値の差分値の算出時に参照する差分補正値ルックアップテーブルの値^rv (x0 ,y0 ,vx ,vy ),^rh (x0 ,y0 ,vx ,vy ),^rd (x0 ,y0 ,vx ,vy )を予め格納しておく。 The lookup table storage unit 416 stores the values of difference correction value lookup tables to be referred to when calculating the difference value of correction values ^ r v (x 0 , y 0 , v x , v y ), ^ r h (x 0 , y 0 , v x , v y ), ^ r d (x 0 , y 0 , v x , v y ) are stored in advance.

1/2画素精度MCの例について説明したが,1/m(m>2)画素精度MCに容易に拡張できることは,以上の説明から明らかである。   Although the example of the 1/2 pixel accuracy MC has been described, it is apparent from the above description that the 1/2 pixel accuracy MC can be easily extended to the 1 / m (m> 2) pixel accuracy MC.

以上の動きベクトルを推定し符号化する処理は,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。   The process of estimating and encoding the above motion vector can be realized by a computer and a software program. The program can be recorded on a computer-readable recording medium or provided via a network. Is possible.

補間処理における参照画素を示す図である。It is a figure which shows the reference pixel in an interpolation process. 参照画素の差異部分に着目した下限値の算出を説明する図である。It is a figure explaining calculation of the lower limit which paid its attention to the difference part of a reference pixel. 参照画素の差異部分に着目した下限値の算出を説明する図である。It is a figure explaining calculation of the lower limit which paid its attention to the difference part of a reference pixel. 参照画素の差異部分に着目した下限値の算出を説明する図である。It is a figure explaining calculation of the lower limit which paid its attention to the difference part of a reference pixel. 本発明の実施例に係る符号化処理の流れを示す図である。It is a figure which shows the flow of the encoding process which concerns on the Example of this invention. 下限値算出処理の流れ(その1)を示す図である。It is a figure which shows the flow (the 1) of a lower limit calculation process. 下限値算出処理の流れ(その2)を示す図である。It is a figure which shows the flow (the 2) of a lower limit calculation process. 下限値算出処理の流れ(その3)を示す図である。It is a figure which shows the flow (the 3) of a lower limit calculation process. 下限値算出処理の流れ(その4)を示す図である。It is a figure which shows the flow (the 4) of a lower limit calculation process. 本発明の実施例に係る装置構成(その1)を示す図である。It is a figure which shows the apparatus structure (the 1) which concerns on the Example of this invention. 本発明の実施例に係る装置構成(その2)を示す図である。It is a figure which shows the apparatus structure (the 2) which concerns on the Example of this invention. 本発明の実施例に係る装置構成(その3)を示す図である。It is a figure which shows the apparatus structure (the 3) which concerns on the Example of this invention. 本発明の実施例に係る装置構成(その4)を示す図である。It is a figure which shows the apparatus structure (the 4) which concerns on the Example of this invention.

符号の説明Explanation of symbols

101,201,301,401 初期動きベクトル予測誤差算出部
102,202 被予測画素値和決定部
103,203 被予測画素値和記憶部
104,204 参照画素値和決定部
304,404 参照画素値和差分値決定部
105,205 参照画素値和記憶部
305,405 参照画素値和差分値記憶部
106,206,306,406 予測誤差下限値決定部
107,207 補正値記憶部
307,407 補正値差分値記憶部
108,208,308,408 下限値記憶部
109,209,309,409 枝刈り判定部
110,210,310,410 予測誤差算出部
111,211,311,411 最適動きベクトル判定部
112,212,312,412 暫定最小予測誤差記憶部
113,213,313,413 暫定最適動きベクトル記憶部
114,214,314,414 動きベクトル制御部
115,215 補正値算出部
315,415 補正値差分値算出部
116,316 部分参照画素値和記憶部
216,416 ルックアップテーブル記憶部
SW1,SW2 スイッチ
101, 201, 301, 401 Initial motion vector prediction error calculation unit 102, 202 Predicted pixel value sum determination unit 103, 203 Predicted pixel value sum storage unit 104, 204 Reference pixel value sum determination unit 304, 404 Reference pixel value sum Difference value determination unit 105, 205 Reference pixel value sum storage unit 305, 405 Reference pixel value sum difference value storage unit 106, 206, 306, 406 Prediction error lower limit value determination unit 107, 207 Correction value storage unit 307, 407 Correction value difference Value storage unit 108, 208, 308, 408 Lower limit storage unit 109, 209, 309, 409 Pruning determination unit 110, 210, 310, 410 Prediction error calculation unit 111, 211, 311, 411 Optimal motion vector determination unit 112, 212, 312, 412 provisional minimum prediction error storage unit 113, 213, 313, 413 provisional optimum Motion vector storage unit 114, 214, 314, 414 Motion vector control unit 115, 215 Correction value calculation unit 315, 415 Correction value difference value calculation unit 116, 316 Partial reference pixel value sum storage unit 216, 416 Look-up table storage unit SW1 , SW2 switch

Claims (8)

小数画素精度動き補償を用いてフレーム間予測を行う画像符号化方式における動きベクトル推定方法であって,
動きベクトルおよび参照画素をもとに,小数画素精度による補間処理に伴う参照画素値和の丸め誤差を算出し,被予測画素値和と参照画素値和と前記丸め誤差とから決定される動き補償後のフレーム間予測誤差に対する下限値を算出する過程と,
前記算出された下限値を用いて動きベクトル探索の枝刈りを行い,フレーム間予測誤差を最小化する動きベクトルを小数画素精度で探索する過程とを有し,
前記下限値を算出する際,丸め誤差を参照画素群の下位ビットの値に応じて予めルックアップテーブルに格納し,そのルックアップテーブルを参照することにより決定した丸め誤差を用いて下限値を算出する
ことを特徴とする動きベクトル推定方法。
A motion vector estimation method in an image coding system that performs inter-frame prediction using decimal pixel precision motion compensation,
Based on the motion vector and the reference pixel, a roundoff error of the reference pixel value sum accompanying interpolation processing with decimal pixel precision is calculated, and after motion compensation determined from the predicted pixel value sum, the reference pixel value sum, and the rounding error A process of calculating a lower limit for inter-frame prediction error;
It performs pruning motion vector search using the calculated lower limit, a motion vector that minimizes the prediction error between frames possess a process of searching in the sub-pixel accuracy,
When calculating the lower limit value, a rounding error is stored in advance in a lookup table in accordance with the value of the lower bits of the reference pixel group, and the lower limit value is calculated using the rounding error determined by referring to the lookup table A motion vector estimation method characterized by:
請求項記載の動きベクトル推定方法において,
前記丸め誤差をルックアップテーブルに格納する際,補間処理の対象となる小数画素位置に応じて個別のルックアップテーブルに格納する
ことを特徴とする動きベクトル推定方法。
The motion vector estimation method according to claim 1 ,
When the rounding error is stored in a lookup table, the motion vector estimation method is characterized in that the rounding error is stored in an individual lookup table according to a decimal pixel position to be interpolated.
小数画素精度動き補償を用いてフレーム間予測を行う画像符号化方式における動きベクトル推定方法であって,
動きベクトルおよび参照画素をもとに,小数画素精度による補間処理に伴う参照画素値和の丸め誤差を算出し,被予測画素値和と参照画素値和と前記丸め誤差とから決定される動き補償後のフレーム間予測誤差に対する下限値を算出する過程と,
前記算出された下限値を用いて動きベクトル探索の枝刈りを行い,フレーム間予測誤差を最小化する動きベクトルを小数画素精度で探索する過程とを有し,
前記下限値を算出する際,
既に予測誤差の下限値が算出された第1の動きベクトルと,これから予測誤差の下限値を算出する第2の動きベクトルとの,2つの動きベクトルが指す参照領域の差異部分から,これらの2つの動きベクトルが指す参照領域の予測誤差の下限値の差分値を算出し,
前記第1の動きベクトルの予測誤差の下限値をもとに,前記第2の動きベクトルに対する予測誤差の下限値を算出する
ことを特徴とする動きベクトル推定方法。
A motion vector estimation method in an image coding system that performs inter-frame prediction using decimal pixel precision motion compensation,
Based on the motion vector and the reference pixel, a roundoff error of the reference pixel value sum accompanying interpolation processing with decimal pixel accuracy is calculated, and after motion compensation determined from the predicted pixel value sum, the reference pixel value sum, and the rounding error A process of calculating a lower limit for inter-frame prediction error;
Pruning a motion vector search using the calculated lower limit, and searching for a motion vector that minimizes an inter-frame prediction error with decimal pixel precision,
When calculating the lower limit value,
From the difference between the reference areas indicated by the two motion vectors, the first motion vector for which the lower limit value of the prediction error has already been calculated and the second motion vector for which the lower limit value of the prediction error will be calculated will be used. Calculate the difference value of the lower limit of the prediction error of the reference area pointed to by the two motion vectors,
A motion vector estimation method, comprising: calculating a lower limit value of a prediction error for the second motion vector based on a lower limit value of a prediction error of the first motion vector.
請求項記載の動きベクトル推定方法において,
前記下限値を算出する際,
前記2つの動きベクトルが指す参照領域の差異部分に対する丸め誤差を,参照画素群の下位ビットの値に応じて予めルックアップテーブルに格納し,そのルックアップテーブルを参照することにより前記差異部分に対する丸め誤差を決定し,前記第1の動きベクトルに対する予測誤差の下限値をもとに,前記第2の動きベクトルに対する予測誤差の下限値を算出する
ことを特徴とする動きベクトル推定方法。
The motion vector estimation method according to claim 3 ,
When calculating the lower limit value,
The rounding error for the difference portion of the reference area pointed to by the two motion vectors is stored in advance in a lookup table according to the value of the lower bits of the reference pixel group, and the rounding error for the difference portion is referred to by referring to the lookup table. A motion vector estimation method comprising: determining and calculating a lower limit value of a prediction error for the second motion vector based on a lower limit value of a prediction error for the first motion vector.
小数画素精度動き補償を用いてフレーム間予測を行う画像符号化方式における動きベクトル推定装置であって,
動きベクトルおよび参照画素をもとに,小数画素精度による補間処理に伴う参照画素値和の丸め誤差を算出し,被予測画素値和と参照画素値和と前記丸め誤差とから決定される動き補償後のフレーム間予測誤差に対する下限値を算出する手段と,
前記算出された下限値を用いて動きベクトル探索の枝刈りを行い,フレーム間予測誤差を最小化する動きベクトルを小数画素精度で探索する手段とを備え,
前記下限値を算出する手段は,丸め誤差を参照画素群の下位ビットの値に応じて予めルックアップテーブルに格納し,そのルックアップテーブルを参照することにより決定した丸め誤差を用いて下限値を算出する
ことを特徴とする動きベクトル推定装置。
A motion vector estimation device in an image coding system that performs inter-frame prediction using decimal pixel precision motion compensation,
Based on the motion vector and the reference pixel, a roundoff error of the reference pixel value sum accompanying interpolation processing with decimal pixel accuracy is calculated, and after motion compensation determined from the predicted pixel value sum, the reference pixel value sum, and the rounding error Means for calculating a lower limit for inter-frame prediction error;
E Bei and means for searching performs pruning motion vector search using the calculated lower limit, a motion vector that minimizes the prediction error between frames in sub-pixel accuracy,
The means for calculating the lower limit value stores a rounding error in a lookup table in advance according to the value of the lower bits of the reference pixel group, and calculates the lower limit value using the rounding error determined by referring to the lookup table. A motion vector estimation apparatus characterized by that.
小数画素精度動き補償を用いてフレーム間予測を行う画像符号化方式における動きベクトル推定装置であって,A motion vector estimation device in an image coding system that performs inter-frame prediction using decimal pixel precision motion compensation,
動きベクトルおよび参照画素をもとに,小数画素精度による補間処理に伴う参照画素値和の丸め誤差を算出し,被予測画素値和と参照画素値和と前記丸め誤差とから決定される動き補償後のフレーム間予測誤差に対する下限値を算出する手段と,Based on the motion vector and the reference pixel, a roundoff error of the reference pixel value sum accompanying interpolation processing with decimal pixel accuracy is calculated, and after motion compensation determined from the predicted pixel value sum, the reference pixel value sum, and the rounding error Means for calculating a lower limit for inter-frame prediction error;
前記算出された下限値を用いて動きベクトル探索の枝刈りを行い,フレーム間予測誤差を最小化する動きベクトルを小数画素精度で探索する手段とを備え,Means for pruning motion vector search using the calculated lower limit, and for searching for a motion vector that minimizes inter-frame prediction error with decimal pixel accuracy,
前記下限値を算出する手段は,The means for calculating the lower limit value is:
既に予測誤差の下限値が算出された第1の動きベクトルと,これから予測誤差の下限値を算出する第2の動きベクトルとの,2つの動きベクトルが指す参照領域の差異部分から,これらの2つの動きベクトルが指す参照領域の予測誤差の下限値の差分値を算出し,From the difference between the reference areas indicated by the two motion vectors, the first motion vector for which the lower limit value of the prediction error has already been calculated and the second motion vector for which the lower limit value of the prediction error will be calculated will be used. Calculate the difference value of the lower limit of the prediction error of the reference area pointed to by the two motion vectors,
前記第1の動きベクトルの予測誤差の下限値をもとに,前記第2の動きベクトルに対する予測誤差の下限値を算出するBased on the lower limit value of the prediction error of the first motion vector, the lower limit value of the prediction error for the second motion vector is calculated.
ことを特徴とする動きベクトル推定装置。A motion vector estimation apparatus characterized by that.
請求項1から請求項4までのいずれか1項に記載された動きベクトル推定方法を,コンピュータに実行させるための動きベクトル推定プログラム。A motion vector estimation program for causing a computer to execute the motion vector estimation method according to any one of claims 1 to 4. 請求項1から請求項4までのいずれか1項に記載された動きベクトル推定方法を,コンピュータに実行させるための動きベクトル推定プログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium in which a motion vector estimation program for causing a computer to execute the motion vector estimation method according to any one of claims 1 to 4 is recorded.
JP2005248054A 2005-08-29 2005-08-29 Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium Expired - Fee Related JP4410172B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005248054A JP4410172B2 (en) 2005-08-29 2005-08-29 Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005248054A JP4410172B2 (en) 2005-08-29 2005-08-29 Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium

Publications (2)

Publication Number Publication Date
JP2007067551A JP2007067551A (en) 2007-03-15
JP4410172B2 true JP4410172B2 (en) 2010-02-03

Family

ID=37929298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005248054A Expired - Fee Related JP4410172B2 (en) 2005-08-29 2005-08-29 Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium

Country Status (1)

Country Link
JP (1) JP4410172B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4824712B2 (en) * 2008-02-29 2011-11-30 日本電信電話株式会社 Motion estimation accuracy estimation method, motion estimation accuracy estimation device, motion estimation accuracy estimation program, and computer-readable recording medium recording the program
JP2010016453A (en) * 2008-07-01 2010-01-21 Sony Corp Image encoding apparatus and method, image decoding apparatus and method, and program
CN109587501B (en) * 2017-09-28 2022-07-12 腾讯科技(深圳)有限公司 Method, apparatus and storage medium for motion estimation
US11025946B2 (en) * 2018-06-14 2021-06-01 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
JP2007067551A (en) 2007-03-15

Similar Documents

Publication Publication Date Title
AU2020236452B2 (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
KR101498207B1 (en) Frame rate conversion apparatus and method for ultra-high definition video
JP7754980B2 (en) Encoding and decoding method, apparatus and device
JP4837615B2 (en) Image processing method and image processing apparatus
EP1339234A2 (en) Apparatus for and method of converting scanning format
US20010028681A1 (en) Motion estimator
US7957610B2 (en) Image processing method and image processing device for enhancing the resolution of a picture by using multiple input low-resolution pictures
US12167030B2 (en) Encoding and decoding method and apparatus, and devices therefor
US8682110B2 (en) Method and apparatus for converting resolution of block based image
CN100450182C (en) Device and method for providing block-based motion compensation
CN100563343C (en) Method and apparatus for motion estimation
US20040264572A1 (en) Motion prediction compensating device and its method
US7697790B2 (en) Apparatus and method for enhancing quality of reproduced image
CN113596478B (en) Encoding and decoding method, device and equipment
JPH04314290A (en) Motion vector detector
JP4410172B2 (en) Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium
JP2000299864A (en) Moving image processing method
US9167132B2 (en) System and method of estimating motion of image using block sampling
US20100177827A1 (en) Sub-pixel generating apparatus, sub-pixel generating method and storage medium, as well as motion compensating apparatus
US8699577B2 (en) Method and apparatus for interpolating image
JP2702488B2 (en) Video predictive coding
JP4142600B2 (en) Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium
JP4243274B2 (en) Value function calculator in decimal pixel precision motion vector prediction
JP3634878B2 (en) Image encoding device
JPH0965342A (en) Video encoding device and video decoding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070815

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091112

R150 Certificate of patent or registration of utility model

Ref document number: 4410172

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees