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 PDFInfo
- 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
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.
予測誤差の最小性を保証した動きベクトル探索の高速化として,代表的なものに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.
図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
そこで,本発明者等は,小数画素精度MCについても,予測誤差の最小化を保証した上で,下限値との比較による動きベクトル探索の枝刈りを行い,計算量の低減を図る技術を,非特許文献2において提案している。非特許文献2の手法によれば,特に小数MC誤差の下限値を求める際に,既に計算した結果を利用することにより計算量の増加を抑え,少ない計算量で小数画素精度MCのもつ高い予測性能を実現することができる。
上述のように,非特許文献2に記載された「全探索小数画素精度動き推定の高速化」の技術によれば,SEAの小数画素精度MCへの適用にあたって,探索点数の増加に伴う計算量増加の問題が軽減され,小数画素精度MCにおける動きベクトル探索の高速化が図られている。
As described above, according to the technique of “acceleration of all-search decimal pixel accuracy motion estimation” described in
本発明は,非特許文献2に記載された「全探索小数画素精度動き推定の高速化」の技術を,さらに改良し,小数画素精度の動き推定におけるMC誤差の下限値の計算において,参照画素値和の計算上生じる丸め誤差も考慮して,タイトな下限値を算出することにより,探索における枝刈りの促進を図り,小数画素精度MCにおける動きベクトル探索のさらなる高速化を実現することを目的とする。
The present invention further improves the technique of “acceleration of all-search sub-pixel accuracy motion estimation” described in Non-Patent
また,本発明は,上記丸め誤差の算出を少ない計算量で行い,計算量の増加を抑えた動きベクトルの推定を実現することを目的とする。 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.
(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.
式(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).
上述の(ii)と同様に動きベクトルの指す参照フレームの位置は2画素の中心となり,MC誤差は次の下限値を持つ。
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.
動きベクトルの指す参照フレームの位置は4画素の中央となり,MC誤差は次の下限値を持つ。
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.
丸め誤差の補正値は補正値テーブルと呼ぶルックアップテーブルに格納し,予測誤差の下限値の計算時には,同テーブルを参照するものとする。以下,同テーブルの作成法について詳述する。
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)の場合:
Rh (v)は,以下のように展開できる。
In case of (ii) above:
R h (v) can be expanded as follows.
5×217=0.65536[Mbits]
となる。
5 × 2 17 = 0.65536 [Mbits]
It becomes.
上述 (iii)の場合:
Rv (v)は,以下のように展開できる。
In case of (iii) above:
R v (v) can be expanded as follows.
5×217=0.65536[Mbits]
となる。
5 × 2 17 = 0.65536 [Mbits]
It becomes.
上述(iv)の場合:
Rd (v)は,以下のように展開できる。
In case of (iv) above:
R d (v) can be expanded 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.
4×218=1.0486[Mbits]
となる。
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.
R* (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.
S* (v* −δx )−S* (v* )は次式となる。
S * (v * -δ x) -S * (v *) becomes the following equation.
S* (v* −δy )−S* (v* )は次式となる。
S * (v * −δ y ) −S * (v * ) is as follows.
S* (v* −δx −δy )−S* (v* )は次式となる。
S * (v * -δ x -δ y) -S * (v *) becomes the following equation.
連続した動きベクトルに対する予測誤差の最小値を求める場合,隣接参照領域における差異領域に注目することで計算量を削減できる。このときに用いる丸め誤差の補正値は差分補正値テーブルと呼ぶルックアップテーブルに格納し,予測誤差の下限値の計算時には,同テーブルを参照するものとする。
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の場合:
R* (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 )
R* (v* −δy )−R* (v* )は式(32)となる。同式によれば,x方向に1画素,y方向に17画素の幅を持つ1×17画素の矩形領域における丸め誤差は独立に定まる。そこで,同矩形領域単位で補正値をルックアップテーブル^rv (x0 ,y0 ,dx ,dy )に格納する。^rv (x0 ,y0 ,dx ,dy )を,
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 )
R* (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 )を,
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 )
[符号化処理の流れ]
本発明の実施例に係る符号化処理の流れについて,図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
初期動きベクトル予測誤差算出部101は,符号化対象ブロックの画素,参照画素,初期動きベクトルに対応する動きベクトルを入力とし,予測誤差を算出する処理を行い,同予測誤差を暫定最小予測誤差記憶部112に出力し,同動きベクトルを暫定最適動きベクトル記憶部113に出力する。
The initial motion vector prediction
被予測画素値和決定部102は,符号化対象ブロックの画素を入力とし,同ブロック内の被予測画素値和を算出する処理を行い,この被予測画素値和を被予測画素値和記憶部103に出力する。より具体的には,式(3)により被予測画素値和を算出する。
The predicted pixel value
参照画素値和決定部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
補正値算出部115は,部分参照画素値和記憶部116から部分参照画素値和を読み込み,予測誤差の下限値の補正値を算出する処理を行い,同補正値を補正値記憶部107に出力する。補正値の具体的な算出は,小数画素位置毎に式(11),式(14),式(16)により求める。
The correction
予測誤差下限値決定部106は,動きベクトルを入力とし,被予測画素値和記憶部103,参照画素値和記憶部105,補正値記憶部107から各々,被予測画素値和,参照画素値和,補正値を読み込み,予測誤差の下限値を算出する処理を行い,同下限値を下限値記憶部108に出力する。下限値の具体的な算出は,式(18)により行う。
The prediction error lower
枝刈り判定部109は,下限値記憶部108および暫定最小予測誤差記憶部112から各々,予測誤差の下限値,およびこれまでに格納された予測誤差の最小値を読み込み,2つの値の大小比較を行い,同下限値の方が小さい場合は,次の処理へ進む(スイッチSW2)。それ以外の場合は,現在の動きベクトルに対する処理を終了する。
The
予測誤差算出部110は,符号化対象ブロックの画素,参照画素,動きベクトルを入力とし,予測誤差を算出する処理を行い,同予測誤差を出力する。
The prediction
最適動きベクトル判定部111は,予測誤差算出部110で算出された予測誤差を入力とし暫定最小予測誤差記憶部112からこれまでに格納された予測誤差の最小値を読み込み,2つの値の大小比較を行い,予測誤差算出部110で算出された予測誤差の方が小さい場合,同予測誤差を暫定最小予測誤差記憶部112に記憶し,同動きベクトルを暫定最適動きベクトル記憶部113に記憶する。
The optimal motion vector determination unit 111 receives the prediction error calculated by the prediction
動きベクトル制御部114は,以上の処理を全ての動きベクトルに対して繰り返し,最終的に暫定最適動きベクトル記憶部113に記憶された値を最適な動きベクトルとして出力する。
The motion
「第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
補正値算出部215は,事前に補正値が格納済みのルックアップテーブル記憶部216から読み出した値を入力として,補正値Rh (v* ),Rv (v* ),Rd (v* )を算出し,補正値記憶部207に書き出す。補正値の具体的な算出は,式(19),式(21),式(23),に従う。
The correction
ルックアップテーブル記憶部216には,補正値Rh (v* ),Rv (v* ),Rd (v* )の算出時に参照する補正値テーブルの値rv (x0 ,y0 ,vx ,vy ),rh (x0 ,y0 ,vx ,vy ),rd (x0 ,y0 ,vx ,vy )を予め格納しておく。
The lookup
「第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
予測誤差下限値決定部306は,参照画素値和差分値記憶部305から読み出した参照画素値和の差分値,補正値差分値記憶部307から読み出した補正値の差分値,下限値記憶部308から読み出した更新前の動きベクトルに対する予測誤差の下限値を入力とし,動きベクトルの予測誤差の下限値を算出する処理を行い,算出した下限値を下限値記憶部308に書き出す。同下限値の具体的算出は式(25)に従う。
The prediction error lower
補正値差分値算出部315は,部分参照画素値和記憶部316から読み出した部分参照画素値和を入力とし,小数画素位置毎の丸め誤差に対する補正値の差分値を算出し,補正値差分値記憶部307に書き出す処理を行う。同差分値は,より具体的には,式(30),式(32),式(34)により求める。
The correction value difference
初期動きベクトル予測誤差算出部301および参照画素値和差分値決定部304から動きベクトル制御部314は各々,図10で説明した初期動きベクトル予測誤差算出部101および参照画素値和決定部104から動きベクトル制御部114と同様な処理を行う。
The motion
「第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
補正値差分値算出部415は,ルックアップテーブル記憶部416から読み出した値を入力として,補正値の差分値を算出し,補正値差分値記憶部407に書き出す。補正値の具体的な算出は,式(36),式(38),式(40)に従う。
The correction value difference
ルックアップアップテーブル記憶部416には,補正値の差分値の算出時に参照する差分補正値ルックアップテーブルの値^rv (x0 ,y0 ,vx ,vy ),^rh (x0 ,y0 ,vx ,vy ),^rd (x0 ,y0 ,vx ,vy )を予め格納しておく。
The lookup
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.
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
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.
動きベクトルおよび参照画素をもとに,小数画素精度による補間処理に伴う参照画素値和の丸め誤差を算出し,被予測画素値和と参照画素値和と前記丸め誤差とから決定される動き補償後のフレーム間予測誤差に対する下限値を算出する手段と,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.
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)
| 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 |
-
2005
- 2005-08-29 JP JP2005248054A patent/JP4410172B2/en not_active Expired - Fee Related
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 |