JP2006033433A - Method and apparatus for motion estimation, and program - Google Patents

Method and apparatus for motion estimation, and program Download PDF

Info

Publication number
JP2006033433A
JP2006033433A JP2004209614A JP2004209614A JP2006033433A JP 2006033433 A JP2006033433 A JP 2006033433A JP 2004209614 A JP2004209614 A JP 2004209614A JP 2004209614 A JP2004209614 A JP 2004209614A JP 2006033433 A JP2006033433 A JP 2006033433A
Authority
JP
Japan
Prior art keywords
block
motion
value
motion vector
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004209614A
Other languages
Japanese (ja)
Other versions
JP4537136B2 (en
Inventor
Satoshi Goto
敏 後藤
Takeshi Ikenaga
剛 池永
Shin Ri
申 李
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.)
Waseda University
Kitakyushu Foundation for Advancement of Industry Science and Technology
Original Assignee
Waseda University
Kitakyushu Foundation for Advancement of Industry Science and Technology
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 Waseda University, Kitakyushu Foundation for Advancement of Industry Science and Technology filed Critical Waseda University
Priority to JP2004209614A priority Critical patent/JP4537136B2/en
Publication of JP2006033433A publication Critical patent/JP2006033433A/en
Application granted granted Critical
Publication of JP4537136B2 publication Critical patent/JP4537136B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion estimating technique for performing accurate motion type prediction and obtaining high robustness, even when video contents represent complicated motion. <P>SOLUTION: On the basis of a predetermined moving vector of each block of an object frame, a temporarily estimated value MV<SB>0</SB>" of a moving vector of a block C<SB>0</SB>is determined. A representative value δ<SB>T</SB>, of the distance between the MV<SB>0</SB>" and a moving vector MV<SB>j</SB>of a circumferential block of the block C<SB>0</SB>, i.e motion complexity, is calculated. Further, motion complexity δ<SB>T-1</SB>is calculated as to a reference frame. Block search methods, corresponding to those representative values δ<SB>T</SB>and δ<SB>T-1</SB>, are selected from among various block searching methods predetermined according to the representative values δ<SB>T</SB>and δ<SB>T-1</SB>. By the block searching methods, a block search is made to determine a moving vector. Thus, the block search methods are adapted according to motion complexity to obtain high robustness, even if video contents represent complicated motion. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、映像圧縮におけるブロックマッチングによる動き推定技術に関するものであり、特に、動きベクトルによっては捉えにくい映像の動きを感度よく検出することにより、適応的にブロックマッチングを行うことが可能な動き推定技術に関する。   The present invention relates to a motion estimation technique using block matching in video compression, and in particular, motion estimation capable of adaptively performing block matching by detecting motion of a video that is difficult to capture depending on motion vectors with high sensitivity. Regarding technology.

ブロックマッチング動き推定(Block Matching Motion Estimation:BMME)は、ソフトウェア実装においてもハードウェア実装においても、現在のところ最も有力な動き推定(Motion Estimation:ME)方法であり、MPEG-1/2/4やH.216/263/263+等の種々の国際標準において採用されている。   Block Matching Motion Estimation (BMME) is currently the most powerful motion estimation (ME) method for both software and hardware implementations. Adopted in various international standards such as H.216 / 263/263 +.

ブロックマッチング動き推定において、判定基準(matching criterion)として、通常、(数1)で表される差分絶対値和(Sum of Absolution Difference:SAD)が使用される。ここで、Mはブロックサイズを表す。また、ICとIRは、それぞれ、対象フレーム(current flame)内におけるブロックマッチングの対象のブロックである対象ブロック(current block)内の画素値、及び参照フレーム(reference frame)内において発見された再一致候補ブロック内の画素値を表す。 In block matching motion estimation, a sum of absolute difference (SAD) represented by (Equation 1) is usually used as a matching criterion. Here, M represents a block size. In addition, I C and I R were found in the pixel value in the target block (current block), which is a block matching target in the target frame (current flame), and in the reference frame, respectively. This represents the pixel value in the rematch candidate block.

Figure 2006033433
Figure 2006033433

しかしながら、BMMEには、本質的に、極めて計算量が大きなタスクを内在していることは明らかである。そして、そのタスクは、ビデオエンコーダにおける全計算時間の60%〜80%をも占める程度の計算量であるとする試算が報告されている(非特許文献1参照)。特に総当たり法である全域探索ブロックマッチング(Full Search Block Matching:FSBM)の場合には、+/−Nピクセルの探索領域に対して、探索点は(2N+1)2にものぼる。 However, it is clear that BMME inherently has a very computationally intensive task. And it has been reported that the task has a calculation amount that occupies 60% to 80% of the total calculation time in the video encoder (see Non-Patent Document 1). In particular, in the case of full search block matching (FSBM), which is a brute force method, the number of search points is (2N + 1) 2 with respect to a search area of +/− N pixels.

そこで、従来、MEの改良技術として、二次元対数探索法(2-D Logarithmic Search :LOCS)(非特許文献2参照)、3段探索法(Three Step Search :TSS)(非特許文献3,11参照)、4段探索法(Four Step Search :FSS)(非特許文献4参照)、ダイヤモンド探索法(Diamond Search :DS)(非特許文献5,6参照)等、多くの高速探索技術が提案されている。FSBMとは異なり、これらのアルゴリズムは、探索時間の大幅な短縮を理論的に達成するために、予め定義された探索パターンを用いることによって、探索点数を削減する手法を採用している。しかしながら、それにより、ハードウェア実装が困難となる。また、このような剛的な探索戦略(rigid search strategy)を採用すると、その探索戦略は様々な種類の映像に対して常に最適であるとは限らない。そのため、いくつかの映像に対しては、マッチング品質が低下するというリスクも大きくなる。   Therefore, conventionally, as an improvement technique of ME, a two-dimensional logarithmic search method (2-D Logarithmic Search: LOCS) (see Non-Patent Document 2), a three-step search method (Three Step Search: TSS) (Non-Patent Documents 3 and 11) Many high-speed search techniques such as a four-step search method (FSS) (see Non-Patent Document 4) and a diamond search method (Diamond Search: DS) (see Non-Patent Documents 5 and 6) have been proposed. ing. Unlike FSBM, these algorithms employ a technique for reducing the number of search points by using a predefined search pattern in order to theoretically achieve a significant reduction in search time. However, this makes hardware implementation difficult. Also, if such a rigid search strategy is employed, the search strategy is not always optimal for various types of video. Therefore, for some videos, the risk that the matching quality is reduced also increases.

その後、映像内容の動き複雑性に従って、BMの探索戦略を動的に適応化させることにより、映像の歪みを抑えコンピュータの処理コストを低減させることを目的として、適応的動き推定アルゴリズム(Adaptive motion estimation algorithm)が考案された。大部分の適応的動き推定アルゴリズムは、予め複数の探索パターンを用意しておき、対象ブロックに対する動きタイプ予測の結果により、最適な探索戦略を選択するものである。動きベクトル場適応探索法(Motion Vector Field Adaptive Search Technique :MVFAST)では、動きタイプ予測において空間的相関が利用されている(非特許文献7参照)。また、予測動きベクトル場適応探索法(Predictive Motion Vector Field Adaptive Search Technique:PMVFAST)においては、時間的に配列されたブロックも動きタイプ予測の考慮の対象となる(非特許文献8参照)。そして、予測された動きタイプに従って、大ダイヤモンド探索(Large Diamond Search:LDS)又は小ダイヤモンド探索(Small Diamond Search:SDS)が選択される。更に、非特許文献9においては、より洗練された動きタイプ予測アルゴリズムが導入されている。
特開2003−324743号公報 特開2003−274416号公報 特開2002−152760号公報 特開2002−135784号公報 P.M. Kuhn, G. Diebel, S. Hermann, A. Keil, H. Mooshofer, A. Kaup, et al. "Complexity and PSNR-comparison of several fast motion estimation algorithms for MPEG4," in Proceeding of Applications of Digital Image Processing ;XXI, San Diego. SPIE, vol. 3460, pp. 486-499, July, 1998. J. R. Jain and A. K. Jain, "Displacement measurement and its application in interframe image coding," IEEE Trans. Commun., vol. 29, pp. 1799-1808, Dec. 1981. T. Koga, K. Iinuma, A. Hirano, Y. Iijima, and T. Ishiguro, "Motion-compensated interframe coding for video conferencing," in Proc. Nat. Telecommunications Conf., pp.G 5.3.1-G 5.3.5., Nov./Dec. 1981. L. M. Po, and W. C. Ma " A novel Four-Step Search Algorithm for fast blockmatching," IEEE Trans. Circuits Syst. Video Technol., vol. 6, Jun. 1996. G. Cote, M. Gallant, and F. Kossentini, " Efficient motion vector estimation and coding for H.263-based very low bit rate video compression," ITU-T SG 16, Q15-A-45, June 1997. J.Y. Tham, S. Ranganath, M. Ranganath, and A.A. Kassim, "A novel unrestricted center-biased diamond search algorithm for block motion estimation," IEEE Trans. On Circuits & Systems for Video Technology, vol.8, pp.369-377, Aug. 1998. P. I. Hosur and K.K. Ma, "Motion Vector Field Adaptive Fast Motion Estimation," Second International Conference on Information, Communications and Signal Proeessing (IClCS '99). Singapore, 7-lO, Dec. 1999. A. M. Tourapisl, O. C. Au2, and M. L. Liou "Predictive Motion Vector Field Adaptive Search Technique (PMVFAST) - Enhancing Block Based Motion Estimation," in Proc. SPIE, Visual Commuaications and Image Processing, vol. 431O, pp. 883-892, Dec. 2000. J.H. Lim, and H.W. Choi, "Adaptive motion estimation algorithm using spatial and temporal correlation," Pacific Rim (PACRIM) Conference on Communications, Computers and signal Processing, vol.2, pp.26-28 Aug. 2001. T. Sappasitwong, and S. Aramvith, " Adaptive asymmetric diamond search algorithm for block-based motion estimation," International Conference on Digital Signal Processing, vol.2, pp.1-3, July . 2002. 酒井善則,吉田俊之共著,「ヒューマンコミュニケーション工学シリーズ 映像情報符号化」,第1版,株式会社オーム社,2001年12月20日,pp.121-141.
After that, adaptive motion estimation algorithm (Adaptive motion estimation algorithm) is used to reduce the processing cost of the computer by suppressing the distortion of the video by dynamically adapting the search strategy of BM according to the motion complexity of the video content. algorithm) was devised. Most adaptive motion estimation algorithms prepare a plurality of search patterns in advance, and select an optimal search strategy based on the result of motion type prediction for the target block. In the motion vector field adaptive search technique (MVFAST), spatial correlation is used in motion type prediction (see Non-Patent Document 7). In addition, in the predictive motion vector field adaptive search technique (PMVFAST), temporally arranged blocks are also considered for motion type prediction (see Non-Patent Document 8). A large diamond search (LDS) or a small diamond search (SDS) is selected according to the predicted motion type. Further, Non-Patent Document 9 introduces a more sophisticated motion type prediction algorithm.
JP 2003-324743 A JP 2003-274416 A JP 2002-152760 A JP 2002-135784 A PM Kuhn, G. Diebel, S. Hermann, A. Keil, H. Mooshofer, A. Kaup, et al. "Complexity and PSNR-comparison of several fast motion estimation algorithms for MPEG4," in Proceeding of Applications of Digital Image Processing ; XXI, San Diego. SPIE, vol. 3460, pp. 486-499, July, 1998. JR Jain and AK Jain, "Displacement measurement and its application in interframe image coding," IEEE Trans. Commun., Vol. 29, pp. 1799-1808, Dec. 1981. T. Koga, K. Iinuma, A. Hirano, Y. Iijima, and T. Ishiguro, "Motion-compensated interframe coding for video conferencing," in Proc. Nat. Telecommunications Conf., Pp.G 5.3.1-G 5.3 .5., Nov./Dec. 1981. LM Po, and WC Ma "A novel Four-Step Search Algorithm for fast blockmatching," IEEE Trans. Circuits Syst. Video Technol., Vol. 6, Jun. 1996. G. Cote, M. Gallant, and F. Kossentini, "Efficient motion vector estimation and coding for H.263-based very low bit rate video compression," ITU-T SG 16, Q15-A-45, June 1997. JY Tham, S. Ranganath, M. Ranganath, and AA Kassim, "A novel unrestricted center-biased diamond search algorithm for block motion estimation," IEEE Trans. On Circuits & Systems for Video Technology, vol.8, pp.369- 377, Aug. 1998. PI Hosur and KK Ma, "Motion Vector Field Adaptive Fast Motion Estimation," Second International Conference on Information, Communications and Signal Proeessing (IClCS '99). Singapore, 7-lO, Dec. 1999. AM Tourapisl, OC Au2, and ML Liou "Predictive Motion Vector Field Adaptive Search Technique (PMVFAST)-Enhancing Block Based Motion Estimation," in Proc.SPIE, Visual Commuaications and Image Processing, vol.431O, pp. 883-892, Dec . 2000. JH Lim, and HW Choi, "Adaptive motion estimation algorithm using spatial and temporal correlation," Pacific Rim (PACRIM) Conference on Communications, Computers and signal Processing, vol.2, pp.26-28 Aug. 2001. T. Sappasitwong, and S. Aramvith, "Adaptive asymmetric diamond search algorithm for block-based motion estimation," International Conference on Digital Signal Processing, vol.2, pp.1-3, July .2002. Yoshinori Sakai and Toshiyuki Yoshida, “Human Communication Engineering Series Video Information Coding”, 1st Edition, Ohm Corporation, December 20, 2001, pp.121-141.

上述の適応的動き推定アルゴリズムは、計算速度とマッチング品質において、従前のアルゴリズムに比べて、より優れた性能が得られることが期待される。しかしながら、上述の適応的動き推定アルゴリズムは、ハードウェア実装をする場合には理想的ではないと考えられる複数の高速探索方法を採用している。更に、フレーム間のエラー伝搬の問題も深刻である。   The above-described adaptive motion estimation algorithm is expected to obtain better performance than the previous algorithm in terms of calculation speed and matching quality. However, the adaptive motion estimation algorithm described above employs a plurality of fast search methods that are considered to be not ideal when implemented in hardware. Furthermore, the problem of error propagation between frames is also serious.

そこで、本発明の目的は、正確な動きタイプの予測が可能であり、映像内容が複雑な動きを示す場合であっても高い頑健性(robustness)を得ることができる動き推定技術を提供することにある。   Accordingly, an object of the present invention is to provide a motion estimation technique capable of accurately predicting motion types and obtaining high robustness even when the video content shows complex motion. It is in.

最初に本発明に係る動き推定方法について基本となる考え方について説明した後、本発明の構成、作用についての説明を行う。   First, the basic concept of the motion estimation method according to the present invention will be described, and then the configuration and operation of the present invention will be described.

〔1〕観察
映像は多種多様であるが、それらはすべて映像系列を一つのフレームのセットと見なすことができる。一つのフレーム内における動きは一般に複雑である。しかし、一つのフレームを、いくつかの典型的な動きタイプにマッピングすることのできる部分に切り分けることは可能である。これは、動きタイプの予測を行うにあたっての基礎となる。種々の映像を観察した結果、本発明者は以下のように要約される2つの結論を得た。
[1] Observation Although there are a wide variety of videos, all of them can consider a video sequence as one set of frames. Movement within one frame is generally complex. However, it is possible to cut a frame into parts that can be mapped to several typical motion types. This is the basis for motion type prediction. As a result of observing various images, the present inventor has obtained two conclusions summarized as follows.

(a)動きタイプの定義は動き複雑性に基づいている。
近年における研究では(非特許文献9,10参照)、動きタイプ(motion types)は動き複雑性(motion complexity)に基づいて定義される。「動き複雑性」とは、予測変数である各動きベクトル(motion vector)の間の相関のことをいう。
(A) The definition of motion type is based on motion complexity.
In recent research (see Non-Patent Documents 9 and 10), motion types are defined based on motion complexity. “Motion complexity” refers to a correlation between motion vectors that are predictive variables.

例えば、図1に例示したフレームでは、フレームの上部においては均一な動きが検出される。均一な動きは、動きがどんなに速くても、大域的な動きベクトルのオフセットを差し引くことにより、固定的な領域に変換できるため、困難は生じない。   For example, in the frame illustrated in FIG. 1, uniform motion is detected in the upper part of the frame. Uniform motion, no matter how fast the motion is, can be converted into a fixed region by subtracting the global motion vector offset, so there is no difficulty.

(b)動きベクトルは往々にして真の動きを正確に表さない場合がある。
動きベクトルは、映像の符号化において予測誤差を最小化するのに役立つものであるが、動きベクトルは必ずしも映像の真の動きを記述するものではないという点に「トラップ」がある。すなわち、ブロックマッチングによって得られる動きベクトルは、実際には「フレーム間の動き」を表すベクトルではなく、むしろ「フレーム間の冗長性を最も除去可能なベクトル」と解釈されるべきものである。例えば、均一なテクスチャは視覚的な識別性に乏しい。従って、図1において、フレームの下の部分(すなわち、グラウンドに相当する部分)において、均一な動きは動きベクトルとしては捉えられない。
(B) Motion vectors often do not accurately represent true motion.
Although motion vectors are useful for minimizing prediction errors in video coding, there is a “trap” in that motion vectors do not necessarily describe the true motion of the video. That is, the motion vector obtained by block matching is not actually a vector representing “motion between frames”, but rather should be interpreted as “a vector that can most eliminate redundancy between frames”. For example, a uniform texture has poor visual discrimination. Therefore, in FIG. 1, uniform motion is not captured as a motion vector in the lower part of the frame (that is, the part corresponding to the ground).

〔2〕局所的な動きタイプ予測
上記の観察に基づき、本発明に係る動き推定においては、動きタイプの予測は対象ブロック(ブロックマッチングの対象であるブロック)の周囲の動き複雑性の分析に基づいて行われる。動きベクトルの分布を動き複雑性の分析の基礎として利用することにより、動きベクトルが真の動きを捉えることに失敗したときに、上記「トラップ」に陥るのを避けることができる。
[2] Local Motion Type Prediction Based on the above observation, in motion estimation according to the present invention, motion type prediction is based on analysis of motion complexity around a target block (block that is a target of block matching). Done. By using the distribution of motion vectors as the basis of motion complexity analysis, it is possible to avoid falling into the “trap” when the motion vector fails to capture the true motion.

対象ブロックの近傍に位置するいくつかのブロックを、ブロックマッチングを行うためのコンテキストを形成するブロックとして選択する。図2は、ブロックマッチングを行うために使用されるコンテキストの一例である。   Several blocks located in the vicinity of the target block are selected as blocks that form a context for performing block matching. FIG. 2 is an example of a context used to perform block matching.

コンテキストTは、対象フレーム内のブロックから構成されるコンテキストであって、対象ブロックCの第1隣接にある3つのブロックC,C,Cにより構成されるコンテキストである。ここで、「第1隣接」とは、対象ブロックのいずれかの辺又は頂点に対し、いずれかの辺又は頂点が接しているブロックをいう。 The context T is a context composed of blocks in the target frame, and is a context composed of three blocks C 1 , C 2 , and C 3 that are adjacent to the target block C 0 . Here, the “first adjacency” refers to a block in which any side or vertex is in contact with any side or vertex of the target block.

対象フレームのブロックマッチングは、ラスタスキャンの走査方向に沿って、フレームの左上のブロックから右下のブロックにかけて、右向きの水平方向の反復走査に沿って行われる。従って、図2において、コンテキストTのブロックC,C,Cはすでに動きベクトルが決定されたブロックである。また、参照フレームについては、すでにすべてのブロックについて動きベクトルが決定されている。 The block matching of the target frame is performed along the repeated scanning in the horizontal direction from the upper left block to the lower right block of the frame along the scanning direction of the raster scan. Therefore, in FIG. 2, the blocks C 1 , C 2 , and C 3 of the context T are blocks whose motion vectors have already been determined. For the reference frame, motion vectors have already been determined for all blocks.

また、コンテキストT−1は、参照フレーム内のブロックから構成されるコンテキストであって、対象ブロックCの位置に対応する参照フレーム内のブロックC’及びその第1隣接に位置するブロックC’〜C’により構成されるコンテキストである。 The context T-1 is a context composed of blocks in the reference frame, and the block C 0 ′ in the reference frame corresponding to the position of the target block C 0 and the block C 1 located in the first adjacency thereof. This is a context composed of “˜C 8 ”.

本発明に係る動き推定においては、従来提案されている動き推定法(非特許文献9,10参照)とは異なり、ブロックマッチングにおいて空間的な相関を引き出すために、対象フレーム及び参照フレームから数ブロックを抽出し、これを対象ブロックCの動き推定に利用することにある。このように一般化した隣接ブロックは、2つの連続したフレームに含まれる局所的な動きの情報を引き出すためのサンプルとして利用される。動き複雑性の解析は、コンテキストT−1とコンテキストTに対して、以下の2つの評価に基づいて行われる。 In motion estimation according to the present invention, unlike a conventionally proposed motion estimation method (see Non-Patent Documents 9 and 10), in order to derive a spatial correlation in block matching, several blocks from the target frame and the reference frame are used. Is extracted and used for motion estimation of the target block C 0 . The generalized adjacent block is used as a sample for extracting local motion information included in two consecutive frames. The analysis of the motion complexity is performed based on the following two evaluations for the context T-1 and the context T.

Figure 2006033433
Figure 2006033433

Figure 2006033433
Figure 2006033433

ここで、MV’(i=0,1,…,8)は、コンテキストT−1におけるブロックC’の動きベクトルを表す。MV(i=1,2,3)は、コンテキストTにおけるブロックC’の動きベクトルを表す。δT−1,δは、それぞれ参照フレーム、対象フレームにおける局所的な動き複雑性を表す。これらは、予測変数として用いられる動きベクトルの関数として定義される。 Here, MV i ′ (i = 0, 1,..., 8) represents a motion vector of the block C i ′ in the context T-1. MV i (i = 1, 2, 3) represents the motion vector of the block C i ′ in the context T. δ T-1 and δ T represent local motion complexity in the reference frame and the target frame, respectively. These are defined as functions of motion vectors used as predictor variables.

本発明においては、局所的な動き複雑性を規定する関数として、対象ブロックC及びそれに対応するブロックC’の動きベクトルMV,MV’と、コンテキストT,T−1内の他のブロックC,C’の動きベクトルMV,MV’との間の距離の代表値を使用する。すなわち、局所的な動き複雑性δT−1,δを(数4)、(数5)により定義する。特に、コンテキストT−1は対称的な構造であり、すべての方向からの動き特性の変化を捉えることができるので、(数4)は敏感な特性値(indicator)となる。 In the present invention, as functions defining local motion complexity, the motion vectors MV 0 and MV 0 ′ of the target block C 0 and the block C 0 ′ corresponding thereto and other functions in the contexts T and T−1 are used. A representative value of the distance between the motion vectors MV i and MV i ′ of the blocks C i and C i ′ is used. That is, local motion complexity δ T−1 and δ T are defined by (Equation 4) and (Equation 5). In particular, the context T-1 has a symmetric structure, and changes in motion characteristics from all directions can be captured, so (Equation 4) is a sensitive characteristic value (indicator).

Figure 2006033433
Figure 2006033433

Figure 2006033433
Figure 2006033433

ここで、RepT−1,Repは、それぞれ、代表値関数である。代表値関数としては、最大値、最頻値、中央値、平均値、総和等を使用することができる。‖・‖は、ベクトルのノルムを表す。また、動きベクトルMVについては、現時点では求まっていないので、δの演算においては、動きベクトルMVの代わりにその仮推定値MV”=MV”(MV,MV,MV)を使用する。MV”の演算式についても、種々の方法が考えられる。 Here, Rep T-1 and Rep T are representative value functions, respectively. As the representative value function, a maximum value, a mode value, a median value, an average value, a sum, or the like can be used. ‖ / ‖ Represents the norm of the vector. Also, the motion vector MV 0, since no been determined at this time, in the operation of the [delta] T, the temporary estimate value MV 0 instead of the motion vector MV 0 "= MV 0" ( MV 1, MV 2, MV 3 ). Various methods are conceivable for the arithmetic expression of MV 0 ″.

より具体的には、局所的な動き複雑性δT−1,δとして(数6)、(数7)を使用することができる。 More specifically, (Equation 6) and (Equation 7) can be used as the local motion complexity δ T−1 and δ T.

Figure 2006033433
Figure 2006033433

Figure 2006033433
Figure 2006033433

上記のようなコンテキストT−1,Tの局所的な動き複雑性δT−1,δに従って、コンテキストT−1,Tの動きタイプTYPET−1,TYPEの分類を行う。動きタイプの分類の決定は、(数8)、(数9)に示すような閾値判定により行うことができる。 The motion types TYPE T-1 and TYPE T of the contexts T-1 and T are classified according to the local motion complexity δ T-1 and δ T of the contexts T-1 and T as described above. The movement type classification can be determined by threshold determination as shown in (Equation 8) and (Equation 9).

Figure 2006033433
Figure 2006033433

Figure 2006033433
Figure 2006033433

ここで、Th,Thは動きタイプを分類するための閾値を表す。閾値Th,Thを適当な値に選択することによって、時間的及び空間的な予測変数の影響の度合いを調節することができる。 Here, Th 1 and Th 2 represent threshold values for classifying motion types. By selecting the threshold values Th 1 and Th 2 to appropriate values, the degree of influence of temporal and spatial prediction variables can be adjusted.

次のステップでは、時間コヒーレンス(temporal coherence)を考慮して、前記TYPET−1,TYPEに基づき、対象ブロックCについて、最も可能性の高い動きタイプを予測する。対象ブロックCの動きタイプの予測は、(表1)に従って行うことができる。 In the next step, in consideration of temporal coherence, the most likely motion type is predicted for the target block C 0 based on the TYPE T-1 and TYPE T. The motion type prediction of the target block C 0 can be performed according to (Table 1).

Figure 2006033433
Figure 2006033433

対象ブロックCの動きタイプを用いることにより、対象ブロックCの動きベクトルMVのより確実な予測を行うことが可能となる。例えば、均一なテクスチャ部分が高速に動いている場合において、MV’以外の他のすべての動きベクトルが動きを捉えていない場合においても、MV’が動きを捉えている限りは、上記動きタイプ予測によって、対称ブロックCは激しい動きにあることを検出することが可能となる。これに対して、従来の他の動き推定方法では、このような動き検出をすることはできない。 By using the motion type of the current block C 0, it is possible to perform more reliable prediction of the motion vector MV 0 of a target block C 0. For example, in the case where a uniform texture portion is moving at high speed, even if all other motion vectors other than MV 6 ′ do not capture motion, as long as MV 6 ′ captures motion, the above motion The type prediction makes it possible to detect that the symmetric block C 0 is in intense motion. On the other hand, such other motion estimation methods cannot perform such motion detection.

〔3〕適応的ブロックマッチング
以上のような推定により得られる動きタイプを用いて、本発明では以下のような適応的ブロックマッチングにより動き推定を行う。
[3] Adaptive block matching Using the motion type obtained by the above estimation, the present invention performs motion estimation by the following adaptive block matching.

(1)ステップ1
上述の局所的な動きタイプ予測を実行した後、(数10)により4つの探索中心候補を決定する。各ベクトルV=(vxi,vyi)は、対象ブロックCに対応するブロックC’の中心位置から探索の中心となる点までのオフセットを表すベクトルである。
(1) Step 1
After performing the above-mentioned local motion type prediction, four search center candidates are determined by (Equation 10). Each vector V i = (v xi , v yi ) is a vector representing an offset from the center position of the block C 0 ′ corresponding to the target block C 0 to the point serving as the center of the search.

Figure 2006033433
Figure 2006033433

ベクトルV,Vは、それぞれ、参照フレーム内のブロックC’の右上半面、左下半面に属するブロックの動きベクトルの代表値を表す。ここでは、ベクトルV,Vとして、(数11)の値を使用する。 The vectors V 3 and V 4 represent representative values of motion vectors of blocks belonging to the upper right half and the lower left half of the block C 0 ′ in the reference frame, respectively. Here, the values of (Equation 11) are used as the vectors V 3 and V 4 .

Figure 2006033433
Figure 2006033433

(2)ステップ2
上記4つの探索中心候補の中で最良の探索中心を表すベクトルVを選択する。この選択は、(数12)によりSADを計算することによって行う。
(2) Step 2
A vector V representing the best search center is selected from the four search center candidates. This selection is performed by calculating SAD by (Equation 12).

Figure 2006033433
Figure 2006033433

ここで、I,IT−1は、それぞれ、対象ブロック、参照ブロックの画素値を表す。また、演算子argmin(・)の部分は、「(・)を最小にするV」を表している。 Here, I T and I T-1 represent pixel values of the target block and the reference block, respectively. The part of the operator argmin (•) represents “V k that minimizes (•)”.

(3)ステップ3
最後に、選択されたベクトルVをオフセットとして、ブロック探索を行う。このとき、上記予測により得られた対象ブロックCの動きタイプによって、対象ブロックCの動きベクトルを決定するための探索方法の選択を行う。この場合、対象ブロックCの動きタイプが‘CHAOS’の場合、対象ブロックCの近傍の動きは複雑であることが予測される。従って、動きベクトルの探索方法は広範囲の探索に適した方法を選択する必要がある。対象ブロックCの動きタイプが‘CRITICAL’の場合、対象ブロックCの近傍の動きは複雑な動きから一様な動きに変化する境界付近にあることが予測される。従って、この場合、動きベクトルの探索方法は中程度の範囲の探索に適した方法を選択する必要がある。対象ブロックCの動きタイプが‘SIMPLE’の場合、対象ブロックCの近傍の動きは一様であることが予測される。従って、動きベクトルの探索方法は狭範囲の探索に適した方法を選択する必要がある。
(3) Step 3
Finally, a block search is performed using the selected vector V as an offset. At this time, the motion type of the current block C 0 obtained by the prediction, and selects a search method for determining the motion vector of the target block C 0. In this case, when the motion type of the target block C 0 is “CHAOS”, it is predicted that the motion in the vicinity of the target block C 0 is complicated. Accordingly, it is necessary to select a motion vector search method suitable for a wide range search. When the motion type of the target block C 0 is “CRITICAL”, it is predicted that the motion in the vicinity of the target block C 0 is near the boundary where the motion changes from a complex motion to a uniform motion. Accordingly, in this case, it is necessary to select a motion vector search method suitable for a medium range search. When the motion type of the target block C 0 is “SIMPLE”, it is predicted that the motion in the vicinity of the target block C 0 is uniform. Therefore, it is necessary to select a motion vector search method suitable for a narrow range search.

そこで、例えば、対象ブロックCの動きタイプによって、(表2)のように探索方法を選択することができる。 Therefore, for example, by a motion type of the current block C 0, it is possible to select a search method as shown in (Table 2).

Figure 2006033433
Figure 2006033433

ここで、FSは全域探索(Full Search)法、TSSは3段探索(Three Step Search)法を表す。Nsimple,Ncritical,Nchaosは探索範囲を表す。例えば、Nsimpleの場合には、Nsimple×Nsimpleの領域において探索を行うことを表している。ここで、Nsimple,Ncritical,Nchaosの間には(数13)のような関係がある。 Here, FS represents a full search method, and TSS represents a three step search method. N simple , N critical , and N chaos represent search ranges. For example, in the case of N simple represents that of searching in the area of N simple × N simple. Here, there is a relationship such as ( Equation 13) among N simple , N critical , and N chaos .

Figure 2006033433
Figure 2006033433

‘SIMPLE’の場合、小さいウィンドウ内に探索領域を限定することによって、かなりの量の無駄な計算を省くことができる。   In the case of 'SIMPLE', a considerable amount of useless calculation can be omitted by limiting the search area within a small window.

‘CRITICAL’の場合、対象フレームの動き複雑性は参照フレームの動き複雑性よりも低くなる。従って、ほとんどの場合、(数12)によりかなり信頼性の高い探索中心のオフセットを予測することができる。従って、ブロックマッチングにおける探索範囲は小さくてもよい。しかしながら、上述した「トラップ」を考慮して、探索領域はNsimpleよりも大きくあるべきである。 In the case of “CRITICAL”, the motion complexity of the target frame is lower than the motion complexity of the reference frame. Therefore, in most cases, the offset of the search center can be predicted with high reliability by (Equation 12). Therefore, the search range in block matching may be small. However, considering the “trap” described above, the search region should be larger than N simple .

‘CHAOS’の場合には、それぞれの動きベクトル間の相関が小さいので、ブロックマッチングを行う際の探索範囲は大きめにとる必要がある。しかしながら、探索中心はオフセットによりシフトされる。また、動きベクトルの探索領域の大きさは、探索によって得られる動きベクトルの大きさが実用範囲内となる程度に制限される。従って、探索範囲の大きさは一定サイズの領域に限定されるので、動き複雑性が大きい場合でも計算量は減少すると考えられる。動きベクトルの探索は、螺旋パターン(spiral pattern)により従って実行し、早期打ち切り法(early break technique)を用いることができる。   In the case of ‘CHAOS’, since the correlation between the motion vectors is small, the search range for performing block matching needs to be large. However, the search center is shifted by the offset. Also, the size of the motion vector search area is limited to the extent that the size of the motion vector obtained by the search is within the practical range. Therefore, since the size of the search range is limited to an area of a certain size, it is considered that the calculation amount is reduced even when the motion complexity is large. The motion vector search can be performed according to a spiral pattern and an early break technique can be used.

また、それぞれの場合において、同じSADの候補が2つ以上見つかった場合には、対象ブロックCの位置により近い方を採用すればよい。 In each case, when two or more candidates of the same SAD are found, the one closer to the position of the target block C 0 may be adopted.

〔4〕本発明の構成及び作用
本発明に係る動き推定方法の第1の構成は、複数のフレームから構成される映像において、参照フレームに対する対象フレーム内の各ブロックの動きベクトルを推定する動き推定方法であって、前記対象フレーム内における動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cとの相関が最大である前記参照フレーム内のブロックの探索を、以下の各ステップを有する選択手順で選択されたブロック探索方法に従って行うことにより、前記対象ブロックCの動きベクトルMVを決定することを特徴とする:
(1)前記参照フレーム又は前記対象フレームの各ブロックの動きベクトルであって既に決定されているものに基づき、前記対象ブロックCの動きベクトルMVの仮推定値MV”を決定する第1ステップ;
(2)前記仮推定値MV”と、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVとの間の距離の代表値δを算出する第2ステップ;
(3)前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第3ステップ;
(4)前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第2ステップ及び前記第3ステップで算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する第4ステップ。
[4] Configuration and Operation of the Present Invention The first configuration of the motion estimation method according to the present invention is a motion estimation that estimates a motion vector of each block in a target frame with respect to a reference frame in a video composed of a plurality of frames. A method of searching for a block in the reference frame that has a maximum correlation with a block (hereinafter referred to as “target block”) C 0 that is a target of motion vector estimation in the target frame. by performing in accordance with the block search method selected by the selection procedure with steps, and determines the motion vector MV 0 of the current block C 0:
(1) First to determine a temporary estimated value MV 0 ″ of the motion vector MV 0 of the target block C 0 based on the motion vector of each block of the reference frame or the target frame that has already been determined. Step;
(2) The temporary estimated value MV 0 ″ and each block C j (j that is in a predetermined range R 1 around the target block C 0 in the target frame and for which a motion vector has already been determined. A second step of calculating a representative value δ T of the distance between the motion vector MV j of ∈ R 1 );
(3) The motion vector MV 0 ′ of the block C 0 ′ in the reference frame corresponding to the target block C 0 and each of the reference frames within the predetermined range R 2 around the block C 0 ′ A third step of calculating a representative value δ T-1 of the distance between the block C i ′ (i∈R 2 ) and the motion vector MV i ′;
(4) from among the representative values [delta] T and various block search method is determined in advance in correspondence with each value of the representative value [delta] T-1, calculated in the second step and the third step the the fourth step of selecting the block search method corresponding to the representative values [delta] T and the value of the representative values [delta] T-1.

この構成により、対象ブロックCの動きベクトルの仮推定値に対する対象ブロックCの周囲のブロックの局所的な動きベクトルのばらつきの度合い(以下、「局所的な動き複雑性(local motion complexity)」という。)に応じて、適応的にブロック探索方法を決定することができる。「局所的な動き複雑性」とは、対象ブロックCの動きベクトルに対するその周囲の動きベクトルの変化の度合いをいう。この局所的な動き複雑性は、第2ステップ及び第3ステップで演算される代表値δ及びδT−1の値により評価される。 With this configuration, the degree of dispersion of the local motion vectors of the surrounding of the target block C 0 for the temporary estimated value of the motion vector of the target block C 0 block (hereinafter, "local motion complexity (local motion complexity)" The block search method can be determined adaptively. “Local motion complexity” refers to the degree of change of the surrounding motion vector with respect to the motion vector of the target block C 0 . This local motion complexity is evaluated by the values of the representative values δ T and δ T−1 calculated in the second step and the third step.

すなわち、第2、第3ステップにおいて、対象フレームにおける対象ブロックCを中心とする局所的な動き複雑性と、参照フレーム内におけるブロックC’を中心とする局所的な動き複雑性とが算出される。そして、第4ステップにおいて、それらを参照し、局所的な動き複雑性が大きい場合には、広範囲のブロック探索に適したブロック探索方法を選択し、局所的な動き複雑性が小さい場合には狭範囲のブロック探索に適したブロック探索方法を選択することが可能となる。これにより、ブロック探索に要する演算量を現実的な演算量に抑えつつ、動きが小さい場合において動きベクトルの推定精度を高く維持することができるとともに、動きが大きい場合に動きベクトルの予測が大きく外れることを防止することが可能となる。 That is, in the second and third steps, the local motion complexity centered on the target block C 0 in the target frame and the local motion complexity centered on the block C 0 ′ in the reference frame are calculated. Is done. Then, in the fourth step, reference is made to them, and if the local motion complexity is large, a block search method suitable for a wide block search is selected, and if the local motion complexity is small, the block search method is narrow. It becomes possible to select a block search method suitable for a block search of a range. As a result, it is possible to maintain high estimation accuracy of the motion vector when the motion is small, while suppressing the amount of computation required for the block search to a realistic amount of computation, and greatly deviate the prediction of the motion vector when the motion is large. This can be prevented.

特に、対象ブロックCの周囲の「局所的な動き複雑性」と参照フレーム内におけるブロックC’の周囲の「局所的な動き複雑性」との双方を評価することで、一様なテクスチャが高速に移動する部分のように、対象ブロックCの周囲に動きがあるにもかかわらずそれが動きベクトルに動きが反映されにくい状態にある映像に対しても、動きの存在を敏感に捉えることが可能となる。すなわち、正確な動きタイプの予測が可能となり、映像内容が複雑な動きを示す場合であっても高い頑健性を得ることができる。そして、捉えられた動きタイプに応じて、適応的にブロック探索方法が選択されるため、高いマッチング品質を得ることができる。そして、捉えられた動きに応じて、適応的にブロック探索方法が選択されるため、残留予測誤差を更に小さくし、映像の圧縮率を改善することができる。 In particular, by evaluating both the “local motion complexity” around the target block C 0 and the “local motion complexity” around the block C 0 ′ in the reference frame, a uniform texture is obtained. capture but as part moves at high speed, even for images having a certain movement around despite difficult conditions in which it is reflected in the motion to the motion vector of the target block C 0, the presence of motion sensitive It becomes possible. That is, accurate motion type prediction is possible, and high robustness can be obtained even when the video content shows complex motion. Since the block search method is adaptively selected according to the captured motion type, high matching quality can be obtained. Since the block search method is adaptively selected according to the captured motion, the residual prediction error can be further reduced and the video compression rate can be improved.

ここで、「ブロック」とは、動き補償による画像の符号化を行う際に、一つの動きベクトルに対応させる領域の単位をいう。通常は、16×16画素のブロックを使用するが、本発明においてはブロックの大きさは特に限定しない。   Here, “block” refers to a unit of an area corresponding to one motion vector when encoding an image by motion compensation. Normally, a block of 16 × 16 pixels is used, but the size of the block is not particularly limited in the present invention.

「ブロック探索方法」とは、対象フレーム内の対象ブロックCとの相関が最大である(最も一致する)参照フレーム内のブロックの探索を行う方法をいう。本発明においては、「ブロック探索方法」は、特に限定するものではないが、例えば、全域探索法(Full Search Technique)、二次元対数探索法(2-D Logarithmic Search Technique)(非特許文献2参照)、多段探索法(3段探索法(Three Step Search Technique)、4段探索法(Four Step Search Technique)等)(非特許文献3,4,11参照)、動きベクトル場適応探索法(Motion Vector Field Adaptive Search Technique)(非特許文献7参照)、ダイヤモンド探索法(Diamond Search Technique)(非特許文献5,6参照)等を使用することが可能である。 The “block search method” refers to a method of searching for a block in a reference frame having the maximum correlation (the best match) with the target block C 0 in the target frame. In the present invention, the “block search method” is not particularly limited. For example, a full search technique (2-D logarithmic search technique) (see Non-Patent Document 2). ), Multi-stage search methods (Three Step Search Technique, Four Step Search Technique, etc.) (see Non-Patent Documents 3, 4, and 11), motion vector field adaptive search method (Motion Vector) Field Adaptive Search Technique (see Non-Patent Document 7), Diamond Search Technique (see Non-Patent Documents 5 and 6), and the like can be used.

第4ステップにおいては、通常、代表値δの値が小さい場合には、対象ブロックC近傍の「局所的な動き複雑性」は小さいと考えられるので、「ブロック探索方法」としてはマッチング誤差を最小化することが可能な全域探索法を選択するようにし、代表値δの値が大きい場合には、対象ブロックC近傍の局所的な動き複雑性は大きいと考えられるので、「ブロック探索方法」としては、多段探索法、動きベクトル場適応探索法、ダイヤモンド探索法等の広い領域を高速に探索できる方法を選択するように設定しておくことが好ましい。 In the fourth step, usually, when the value of the representative value [delta] T is small, the target block C 0 neighborhood "local motion complexity" is considered to be small, matching the "block search method" error Is selected, and when the representative value δ T is large, the local motion complexity in the vicinity of the target block C 0 is considered to be large. The “search method” is preferably set to select a method capable of searching a wide area at high speed, such as a multistage search method, a motion vector field adaptive search method, or a diamond search method.

「動きベクトル」とは、参照フレームと対象フレーム間において、映像が動いた方向と距離を表す動き量のことをいう。   The “motion vector” refers to a motion amount that represents the direction and distance in which the video has moved between the reference frame and the target frame.

動きベクトルMVの仮推定値MV”の決定方法は、ここでは特に限定はしない。この仮推定値MV”の決定方法としては、例えば、対象ブロックCの近傍にある対象フレーム内のブロックのうち動きベクトルが既に決定されているものの集合をRとした場合、集合Rに属するブロックの動きベクトルの平均値、中央値、最頻値、加重平均値等を仮推定値MV”とする方法などを採ることができる。 The method of determining the temporary estimated value MV 0 ″ of the motion vector MV 0 is not particularly limited here. Examples of the method of determining the temporary estimated value MV 0 ″ include, for example, in a target frame in the vicinity of the target block C 0 . If the set of those motion vectors of the blocks has already been determined and the R 3, the average value of the motion vector of the block belonging to the set R 3, median, mode, temporary estimate the weighted average value value MV 0 Or the like.

「所定の範囲R」は、対象ブロックCの近傍であって、対象ブロックCの動きベクトルとの相関が大きい動きベクトルを有するブロックの範囲に定められる。本発明では特に「所定の範囲R」は特に限定しないが、通常は、対象ブロックCの第1隣接又は第2隣接までを含む範囲に設定される。 "Predetermined range R 1" is a vicinity of the current block C 0, is defined to a range of blocks having a motion vector is highly correlated with the motion vector of the target block C 0. In the present invention, the “predetermined range R 1 ” is not particularly limited, but is usually set to a range including the first adjacent or second adjacent of the target block C 0 .

「所定の範囲R」は、ブロックC’の近傍であって、ブロックC’の動きベクトルとの相関が大きい動きベクトルを有するブロックの範囲に定められる。本発明では特に「所定の範囲R」は特に限定しないが、通常は、ブロックC’の第1隣接又は第2隣接までを含む範囲に設定される。 "Predetermined range R 2" is 'a neighborhood of the block C 0' block C 0 is defined to a range of blocks having a motion vector is highly correlated with motion vectors of. In the present invention, the “predetermined range R 2 ” is not particularly limited, but is usually set to a range including the first adjacency or the second adjacency of the block C 0 ′.

2つの動きベクトルの間の「距離」とは、動きベクトル空間における2つの動きベクトルの間の空間的な隔たりをいう。「距離」としては、差分絶対値和(Sum of Absolute Difference : SAD)、平均平方誤差(Mean square error : MSE)、平均絶対誤差(mean absolute error : MAE)、ユークリッド距離等を使用することができる。   The “distance” between two motion vectors refers to the spatial separation between the two motion vectors in the motion vector space. As the “distance”, the sum of absolute differences (SAD), mean square error (MSE), mean absolute error (MAE), Euclidean distance, etc. can be used. .

距離の「代表値」とは、変数の分布を要約する統計量のことをいう。「距離の代表値δ」としては、最大値、最小値、中央値、平均値、最頻値、総和、自乗和、平方和等を使用することができる。 The “representative value” of distance refers to a statistic that summarizes the distribution of variables. As the “distance representative value δ T ”, a maximum value, a minimum value, a median value, an average value, a mode value, a sum, a sum of squares, a sum of squares, or the like can be used.

本発明に係る動き推定方法の第2の構成は、前記第1の構成において、前記第4ステップにおいて、前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択することを特徴とする。 The second configuration of the motion estimation method according to the present invention, the in the first configuration, in the fourth step, when the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is block search method as, select the multi-stage search method in a given search area, wherein when the value of the representative value [delta] T is a predetermined threshold value Th 1 or less, as the block search method, a narrow search region than the search area of the multi-stage search method The global search method is selected.

この構成によれば、代表値δの値の閾値判定によって、対象ブロックCの近傍の局所的な動き複雑性に応じて動きベクトルの探索方法を適応的に切り替えることが可能となる。また、閾値判定であるため、簡単なアルゴリズムにより実現可能であり、また、ハードウェアによって回路的に実現する場合の回路構成も簡易である。 According to this configuration, the threshold determination of the value of the representative values [delta] T, the search method of the motion vector it is possible to switch adaptively depending on local motion complexity in the vicinity of the target block C 0. Moreover, since it is threshold value determination, it is realizable with a simple algorithm, and the circuit configuration in the case of realization by hardware is also simple.

ここで、「所定の閾値Th」は、実験的に設定する値である。また、「所定の閾値Th」は、必ずしも固定値とする必要はなく、動き推定の精度の要求に応じて、外部から自由に設定できるようにしてもよい。 Here, the “predetermined threshold value Th 1 ” is a value set experimentally. Further, the “predetermined threshold Th 1 ” does not necessarily have to be a fixed value, and may be freely set from the outside according to a request for accuracy of motion estimation.

本発明に係る動き推定方法の第3の構成は、前記第1又は2の構成において、前記第4ステップにおいて、前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合においては、前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択することを特徴とする。 A third configuration of the motion estimation method according to the present invention, the in the first or second configuration, in the fourth step, when the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is block As a search method, when a multi-stage search method in a predetermined search region S 0 is selected and the value of the representative value δ T is equal to or less than a predetermined threshold Th 1 , the value of the representative value δ T-1 is a predetermined threshold. It is larger than Th 2 as block search method, select the full search method in the multi-stage search method of the search area S 0 and the same or narrower search area S 1, the representative value [delta] T-1 value Is equal to or smaller than a predetermined threshold Th 2 , the block search method is selected as a whole area search method in the search region S 2 narrower than the search region R 1.

この構成によれば、代表値δ及び代表値δT−1の値の閾値判定によって、対象ブロックC及びブロックC’の近傍の局所的な動き複雑性に応じて動きベクトルの探索方法を適応的に切り替えることが可能となる。また、閾値判定であるため、簡単なアルゴリズムにより実現可能であり、また、ハードウェアによって回路的に実現する場合の回路構成も簡易である。 According to this configuration, the search method of the motion vector in accordance with the local motion complexity of the vicinity of the threshold determination of the representative value [delta] T and representative values [delta] T-1 value, the target block C 0 and the block C 0 ' Can be switched adaptively. Moreover, since it is threshold value determination, it is realizable with a simple algorithm, and the circuit configuration in the case of realization by hardware is also simple.

ここで、各場合における探索領域S,S,Sの大きさは、それぞれ、要求される計算速度、計算精度等に応じて適度な大きさに設定することができる。 Here, the size of the search areas S 0 , S 1 , S 2 in each case can be set to an appropriate size according to the required calculation speed, calculation accuracy, and the like.

また、「所定の閾値Th,Th」は、実験的に設定する値である。また、「所定の閾値Th,Th」は、必ずしも固定値とする必要はなく、動き推定の精度の要求に応じて、外部から自由に設定できるようにしてもよい。 The “predetermined threshold values Th 1 and Th 2 ” are values set experimentally. Further, the “predetermined threshold values Th 1 and Th 2 ” do not necessarily have to be fixed values, and may be freely set from the outside in response to a request for accuracy of motion estimation.

本発明に係る動き推定方法の第4の構成は、前記第1乃至3の何れか一の構成において、前記第1ステップにおいて、前記仮推定値MV”は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて決定されることを特徴とする。 According to a fourth configuration of the motion estimation method of the present invention, in any one of the first to third configurations, in the first step, the temporary estimated value MV 0 ″ is the target block in the target frame. It is determined based on a motion vector MV k of each block C k (kεR 3 ) that is in a predetermined range R 3 around C 0 and for which a motion vector has already been determined. .

この構成により、走査に従って、対象ブロックCの前に決定された動きベクトルを用いて対象ブロックCの動きベクトルの仮推定値MV”を決定することができる。 With this configuration, it is possible to determine the temporary estimated value MV 0 ″ of the motion vector of the target block C 0 using the motion vector determined before the target block C 0 according to scanning.

ここで、「所定の範囲R」は特に限定しないが、通常は、対象ブロックCの第1隣接又は第2隣接までを含む範囲に設定される。 Here, the “predetermined range R 3 ” is not particularly limited, but is normally set to a range including the first adjacency or the second adjacency of the target block C 0 .

「動きベクトルMVに基づいて」とは、例えば、動きベクトル{MV|∀k∈R}の平均値、中央値、最頻値等を仮推定値MV”に決定することをいう。また、ラスタスキャンに従って対象ブロックCの動きベクトルMVを決定していく場合には、対象ブロックCの上の行のブロックと、対象ブロックCの行における対象ブロックCの左側のブロックについては、既に動きベクトルが決定されている。そこで、対象ブロックCの左の隣接ブロックをC、左上の隣接ブロックをC、上の隣接ブロックをCとすれば、例えば、MV”=MV+MV−MVのようにして、二次元の画素値予測方法と同様な方法により仮推定値MV”を決定するようにしてもよい。 “Based on the motion vector MV k ” means, for example, determining the average value, median value, mode value, etc. of the motion vector {MV k | ∀k∈R 3 } as the temporary estimated value MV 0 ″. . also, the current block C 0 in accordance with a raster scan when the motion will determine the vector MV 0 represents a block of lines above the current block C 0, the current block C 0 in a row of the target block C 0 to the left For a block, a motion vector has already been determined, so if the left adjacent block of the target block C 0 is C a , the upper left adjacent block is C b , and the upper adjacent block is C c , for example, MV The temporary estimated value MV 0 ″ may be determined by a method similar to the two-dimensional pixel value prediction method as 0 ″ = MV a + MV c −MV b .

本発明に係る動き推定方法の第5の構成は、前記第4の構成において、前記仮推定値MV”は、(数14)により計算されることを特徴とする。 A fifth configuration of the motion estimation method according to the present invention is characterized in that, in the fourth configuration, the temporary estimated value MV 0 ″ is calculated by (Equation 14).

Figure 2006033433
Figure 2006033433

この構成によれば、前記仮推定値MV”として、{MV|∀k∈R}の中央値を用いることで、簡単なアルゴリズムにより仮推定値MV”を決定することができる。 According to this configuration, the provisional estimated value MV 0 | can be determined "as, by using a central value of {MV k ∀k∈R 3}, the provisional estimated value MV 0 by a simple algorithm".

本発明に係る動き推定方法の第6の構成は、前記第1乃至5の何れか一の構成において、第2ステップにおいて、所定の範囲Rは、前記対象ブロックCに対し第1隣接のブロックであって、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであることを特徴とする。 In a sixth configuration of the motion estimation method according to the present invention, in any one of the first to fifth configurations, in the second step, the predetermined range R 1 is a first adjacent to the target block C 0 . It is a block and is a part or all of the four blocks whose motion vectors have already been determined.

このように、対象ブロックC周囲の局所的な動き複雑性の検出に、対象ブロックCに対し第1隣接のブロックを使用することで、対象ブロックCから離れたブロックの動きベクトルの影響を受けずに、対象ブロックCの周囲の局所的な動き複雑性を検出することができる。従って、ブロック探索方法の選択において、無駄に広域探索の方法が選択されることを防止することができる。 Thus, the detection of local motion complexity surrounding the current block C 0, by using the first neighbor block to the current block C 0, the influence of the motion vector of the block away from the current block C 0 The local motion complexity around the target block C 0 can be detected without receiving the signal. Therefore, it is possible to prevent a wide area search method from being selected in vain when selecting a block search method.

本発明に係る動き推定方法の第7の構成は、前記第1乃至5の何れか一の構成において、第2ステップにおいて、代表値δは、(数15)により計算されることを特徴とする。 Seventh structure of the motion estimation method according to the present invention, in any one of configurations of the first to fifth, in the second step, the representative value [delta] T is a feature that is calculated by (equation 15) To do.

Figure 2006033433
Figure 2006033433

このように、代表値δとして動きベクトルの差分絶対値和(SAD)を用いれば、代表値δの演算が、局所的な動き複雑性をよく表し、かつ簡単なアルゴリズムにより実現可能となる。 Thus, by using the sum of absolute differences of the motion vector as a representative value [delta] T (SAD), the calculation of the representative value [delta] T becomes possible to realize by well-expressed, and simple algorithm local motion complexity .

本発明に係る動き推定方法の第8の構成は、前記第1乃至7の何れか一の構成において、前記第3ステップにおいて、前記所定の範囲Rは、前記ブロックC’に対して隣接する8つのブロックの範囲であることを特徴とする。 According to an eighth configuration of the motion estimation method of the present invention, in any one of the first to seventh configurations, in the third step, the predetermined range R 2 is adjacent to the block C 0 ′. It is a range of 8 blocks.

このように、ブロックC’に対して隣接する8つのブロックを参照して局所的な動き複雑性を評価することで、すべての方向からの動き特性の変化を捉えることができる。従って、代表値δT−1は、動きの特性の変化を捉える敏感な特性値となる。 In this way, by evaluating the local motion complexity with reference to the eight blocks adjacent to the block C 0 ′, it is possible to capture the change in the motion characteristics from all directions. Therefore, the representative value δT -1 is a sensitive characteristic value that captures a change in the characteristic of motion.

本発明に係る動き推定方法の第9の構成は、前記第1乃至7の何れか一の構成において、前記第3ステップにおいて、前記代表値δT−1は、(数16)により計算されることを特徴とする。 In a ninth configuration of the motion estimation method according to the present invention, in any one of the first to seventh configurations, in the third step, the representative value δT -1 is calculated by (Equation 16). It is characterized by that.

Figure 2006033433
Figure 2006033433

このように、最大値を利用することで、動き特性の変化に対する敏感性を高め、任意方向に起こる動き特性の変化を正確に捉えることができる。   In this way, by using the maximum value, it is possible to increase the sensitivity to changes in motion characteristics and accurately capture changes in motion characteristics that occur in an arbitrary direction.

本発明に係る動き推定装置の第1の構成は、複数のフレームから構成される映像において、参照フレームに対する、対象フレームにおける各ブロックの動きベクトルを推定する動き推定装置であって、前記参照フレーム及び前記対象フレームの各ブロックに対する動きベクトルを記憶する動きベクトル記憶手段と、前記動きベクトル記憶手段に記憶されている動きベクトルに基づき、前記対象フレーム内のブロックであって動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cの動きベクトルMVの仮推定値MV”を演算する動きベクトル仮推定手段と、前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVと、前記仮推定値MV”との間の距離の代表値δを算出する第1の代表値演算手段と、前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第2の代表値演算手段と、前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第1の代表値演算手段により算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する探索方法選択手段と、前記探索方法選択手段により選択された探索方法に従って、前記対象ブロックCとの相関が最大である前記参照フレーム内のブロックの探索を行い、前記動きベクトルMVを決定し、前記動きベクトル記憶手段に保存する動きベクトル決定手段とを備えていることを特徴とする。 A first configuration of a motion estimation apparatus according to the present invention is a motion estimation apparatus that estimates a motion vector of each block in a target frame with respect to a reference frame in a video composed of a plurality of frames, the motion estimation apparatus including: A motion vector storage means for storing a motion vector for each block of the target frame; and a block in the target frame that is a target for motion vector estimation based on the motion vector stored in the motion vector storage means (hereinafter, referred to as "target block".) and the motion vector provisional estimation means for calculating a provisional estimate MV 0 "of the motion vector MV 0 of C 0, blocks in the current block C 0 around in a predetermined range R 1 And the motion vector of each block C j (j∈R 1 ) whose motion vector has already been determined. Torr MV j and, a first representative value calculating means for calculating a representative value [delta] T of the distance between the temporary estimated value MV 0 ", the block C 0 in the reference frame corresponding to the current block C 0 and 'motion vector MV 0' and between the motion vector MV i '' of the blocks C i of the reference frame in the predetermined range R 2 of the periphery of 'the block C 0 (i∈R 2) Second representative value calculation means for calculating a representative value δ T-1 of the distance of the distance, and various block search methods determined in advance corresponding to the representative value δ T and the representative value δ T-1 from among the search method selecting means for selecting the first representative value block search method corresponding to said calculated representative value [delta] T and the value of the representative values [delta] T-1 by calculating means, the search method selection According to the search method selected by the means. A motion vector determining unit that searches for a block in the reference frame having the maximum correlation with the lock C 0 , determines the motion vector MV 0, and stores the motion vector MV 0 in the motion vector storage unit; And

この構成によれば、動きベクトル仮推定手段は、動きベクトル記憶手段に記憶されている動きベクトルに基づき、対象ブロックCの動きベクトルMVの仮推定値MV”を演算する。第1の代表値演算手段は、この仮推定値MV”と各動きベクトルMVとの間の距離の代表値δを算出する。第2の代表値演算手段は、動きベクトルMV’と各動きベクトルMV’との間の距離の代表値δT−1を算出する。次いで、探索方法選択手段は、代表値δ及び代表値δT−1の値に対応するブロック探索方法を選択する。そして、動きベクトル決定手段は、選択された探索方法に従って、参照フレーム内のブロックの探索を行い、動きベクトルMVを決定し、動きベクトル記憶手段に保存する。以上の動作を繰り返すことによって、対象フレーム内の各ブロックの動きベクトルが順次決定される。 According to this configuration, the motion vector temporary estimation unit calculates the temporary estimation value MV 0 ″ of the motion vector MV 0 of the target block C 0 based on the motion vector stored in the motion vector storage unit. The representative value calculating means calculates a representative value δ T of the distance between the temporary estimated value MV 0 ″ and each motion vector MV j . The second representative value calculating means calculates a representative value δ T-1 of the distance between the motion vector MV 0 ′ and each motion vector MV j ′. Then, the search method selection means selects the block search method corresponding to the value of the representative values [delta] T and representative values [delta] T-1. Then, the motion vector determination means searches for a block in the reference frame according to the selected search method, determines a motion vector MV 0 and stores it in the motion vector storage means. By repeating the above operation, the motion vector of each block in the target frame is sequentially determined.

このとき、動きベクトルの探索方法は、対象ブロックCを中心とする「局所的な動き複雑性」及び対象ブロックC’を中心とする「局所的な動き複雑性」の両方に適応して選択される。これにより、ブロック探索に要する演算量を現実的な演算量に抑えつつ、動きが小さい場合において動きベクトルの推定精度を高く維持することができるとともに、動きが大きい場合に動きベクトルの予測が大きく外れることを防止することが可能となる。 In this case, the search method of the motion vector is to accommodate both centered around the current block C 0 "local motion complexity" and the current block C 0 ' "local motion complexity" Selected. As a result, it is possible to maintain high estimation accuracy of the motion vector when the motion is small, while suppressing the amount of computation required for the block search to a realistic amount of computation, and greatly deviate the prediction of the motion vector when the motion is large. This can be prevented.

また、対象ブロックCの動きベクトルの仮推定値が真の動きを捉えていない場合においても、対象ブロックC及び対象ブロックC’の双方の周囲の「局所的な動き複雑性」を評価することで、対象ブロックCのみに着目する場合よりも、動きの存在をより敏感に捉え易くなる。そして、捉えられた動きに応じて、適応的にブロック探索方法が選択されるため、残留予測誤差をより小さくし、映像の圧縮率を改善することができる。 Further, even when the temporary estimation value of the motion vector of the target block C 0 does not capture the true motion, the “local motion complexity” around both the target block C 0 and the target block C 0 ′ is evaluated. by, than in the case of focusing only on the current block C 0, easily capture the presence of motion in more sensitive. Since the block search method is adaptively selected according to the captured movement, the residual prediction error can be further reduced and the video compression rate can be improved.

本発明に係る動き推定装置の第2の構成は、前記第1の構成において、前記探索方法選択手段は、前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択することを特徴とする。 The second configuration of a motion estimation apparatus according to the present invention, in the first configuration, the search method selection unit, when the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is block search as a method to select a multi-stage search method in a given search area, wherein when the value of the representative value [delta] T is a predetermined threshold value Th 1 or less, as the block search method, narrower search than the search area of the multi-stage search method It is characterized by selecting a whole area search method in a region.

本発明に係る動き推定装置の第3の構成は、前記第1又は2の構成において、前記探索方法選択手段は、前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、前記代表値δの値が所定の閾値Th以下の場合においては、前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択することを特徴とする。 A third configuration of a motion estimation apparatus according to the present invention, in the configuration of the first or 2, wherein the search method selection means, in the case the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is As the block search method, a multi-stage search method in a predetermined search region S 0 is selected, and when the representative value δ T is equal to or less than a predetermined threshold Th 1 , the representative value δ T-1 is a predetermined value. is larger than the threshold Th 2 is a block search method, the select full search method in a multi-stage search method of the search area S 0 and the same or narrower search area S 1, the representative value [delta] T-1 of value in the case of predetermined threshold value Th 2 or less, as the block search method, and selects the full search method in a narrow search region S 2 than the search region R1.

本発明に係る動き推定装置の第4の構成は、前記第1乃至3の何れか一の構成において、前記動きベクトル仮推定手段は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて前記仮推定値MV”を決定することを特徴とする。 According to a fourth configuration of the motion estimation apparatus of the present invention, in any one of the first to third configurations, the motion vector provisional estimation means is a predetermined range around the target block C 0 in the target frame. The temporary estimated value MV 0 ″ is determined based on the motion vector MV k of each block C k (k∈R 3 ) that is a block in R 3 and for which a motion vector has already been determined. .

本発明に係る動き推定装置の第5の構成は、前記第4の構成において、前記仮推定値MV”は、(数17)により計算されることを特徴とする。 The fifth configuration of the motion estimation apparatus according to the present invention is characterized in that, in the fourth configuration, the temporary estimated value MV 0 ″ is calculated by (Equation 17).

Figure 2006033433
Figure 2006033433

本発明に係る動き推定装置の第6の構成は、前記第1乃至5の何れか一の構成において、前記所定の範囲Rは、前記対象ブロックCに上下左右及び斜め方向に隣接し、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであることを特徴とする。 Sixth configuration of a motion estimation apparatus according to the present invention, in any one of configurations of the first to fifth, wherein the predetermined range R 1 is adjacent to the vertical and horizontal and oblique directions to the current block C 0, And it is a part or all of the four blocks whose motion vectors have already been determined.

本発明に係る動き推定装置の第7の構成は、前記第1乃至5の何れか一の構成において、前記第1の代表値演算手段は、(数18)により代表値δを計算することを特徴とする。 Seventh configuration of a motion estimation apparatus according to the present invention, in any one of configurations of the first to fifth, wherein the first representative value calculating means, calculating a representative value [delta] T by (equation 18) It is characterized by.

Figure 2006033433
Figure 2006033433

本発明に係る動き推定装置の第8の構成は、前記第1乃至7の何れか一の構成において、前記所定の範囲Rは、前記ブロックC’に対して上下左右及び斜め方向に隣接する8つのブロックの範囲であることを特徴とする。 An eighth configuration of the motion estimation device according to the present invention is the configuration according to any one of the first to seventh configurations, wherein the predetermined range R 2 is adjacent to the block C 0 ′ vertically and horizontally and obliquely. It is a range of 8 blocks.

本発明に係る動き推定装置の第9の構成は、前記第1乃至7の何れか一の構成において、前記第2の代表値演算手段は、(数19)により代表値δT−1を計算することを特徴とする。 According to a ninth configuration of the motion estimation apparatus of the present invention, in any one of the first to seventh configurations, the second representative value calculation means calculates a representative value δ T-1 by (Equation 19). It is characterized by doing.

Figure 2006033433
Figure 2006033433

本発明に係るプログラムは、コンピュータに上記第1乃至9の何れか一の構成の動きベクトル推定方法を実行させる   A program according to the present invention causes a computer to execute the motion vector estimation method having any one of the first to ninth configurations.

以上のように、本発明によれば、局所的な動き複雑性が大きい場合には、広範囲のブロック探索に適したブロック探索方法を選択し、局所的な動き複雑性が小さい場合には狭範囲のブロック探索に適したブロック探索方法を選択することが可能となる。これにより、ブロック探索に要する演算量を現実的な演算量に抑えつつ、動きが小さい場合において動きベクトルの推定精度を高く維持することができるとともに、動きが大きい場合に動きベクトルの予測が大きく外れることを防止することが可能となる。   As described above, according to the present invention, when the local motion complexity is large, a block search method suitable for a wide range block search is selected, and when the local motion complexity is small, a narrow range is selected. It is possible to select a block search method suitable for the block search. As a result, it is possible to maintain high estimation accuracy of the motion vector when the motion is small, while suppressing the amount of computation required for the block search to a realistic amount of computation, and greatly deviate the prediction of the motion vector when the motion is large. This can be prevented.

また、対象ブロックCの動きベクトルの仮推定値が、真の動きを捉えるのに失敗した場合においても、対象ブロックCの周囲の「局所的な動き複雑性」を評価することで、対象ブロックCのみに着目する場合よりも、動きの存在をより敏感に捉え易くなる。すなわち、正確な動きタイプの予測が可能となり、映像内容が複雑な動きを示す場合であっても高い頑健性が得られる。そして、捉えられた動きに応じて、適応的にブロック探索方法が選択されるため、残留予測誤差をより小さくし、映像の圧縮率を改善することができる。 Further, even when the temporary estimation value of the motion vector of the target block C 0 fails to capture the true motion, the “local motion complexity” around the target block C 0 can be evaluated to evaluate the target than in the case of focusing only on the block C 0, easily capture the presence of motion in more sensitive. That is, accurate motion type prediction is possible, and high robustness can be obtained even when the video content shows complex motion. Since the block search method is adaptively selected according to the captured movement, the residual prediction error can be further reduced and the video compression rate can be improved.

以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図3は一般の映像符号化装置1の全体構成を表す図である(非特許文献11参照)。尚、図3の映像符号化装置1は、一般に広く使用されているものであるため、ここでの説明は、その概略説明のみにとどめる。   FIG. 3 is a diagram illustrating the overall configuration of a general video encoding device 1 (see Non-Patent Document 11). Since the video encoding device 1 of FIG. 3 is generally widely used, the description here is limited to the outline description.

映像符号化装置1は、フレームメモリ2、差分器3、離散コサイン変換器(DCT)4、量子化器5、エントロピ符号器6、局所復号器7、動き推定装置8、及び動き補償器9から構成されている。   The video encoding device 1 includes a frame memory 2, a difference unit 3, a discrete cosine transformer (DCT) 4, a quantizer 5, an entropy encoder 6, a local decoder 7, a motion estimation device 8, and a motion compensator 9. It is configured.

フレームメモリ2は、撮像素子等から入力される映像フレームを一時的に記憶するメモリである。差分器3は、フレームメモリ2が出力する対象フレームfから、動き補償器9が出力する予測フレームf’を差し引いた差分画像Δfを出力する。DCT4は、差分画像Δfに対して離散コサイン変換を施す。量子化器5は、DCT4により出力されるDCT係数を量子化する。エントロピ符号器6は、量子化器5が出力する量子化されたDCT係数と動き推定装置8が出力する動きベクトルMVとをエントロピ符号化して、符号化映像のビット列として出力する。 The frame memory 2 is a memory that temporarily stores a video frame input from an image sensor or the like. The difference unit 3 outputs a difference image Δf T obtained by subtracting the predicted frame f T ′ output from the motion compensator 9 from the target frame f T output from the frame memory 2. The DCT 4 performs a discrete cosine transform on the difference image Δf T. The quantizer 5 quantizes the DCT coefficient output by the DCT 4. The entropy encoder 6 entropy-encodes the quantized DCT coefficient output from the quantizer 5 and the motion vector MV output from the motion estimation device 8 and outputs the result as a bit string of encoded video.

局所復号器7は、量子化器5が出力するDCT係数を再度もとのフレーム画像に復元する。そして、復元したフレーム画像を一時的に記憶し、対象フレームfよりも前の参照フレームfT−1”を出力する。動き推定装置8は、この参照フレームfT−1”と対象フレームfとを用いて、動きベクトルMVを推定し出力する。動き補償器9は、参照フレームfT−1”と動きベクトルMVを用いて、対象フレームfの予測値である予測フレームf’を生成し出力する。この予測フレームf’が、前記差分器3において差分画像Δfを生成する際に使用される。 The local decoder 7 restores the DCT coefficient output from the quantizer 5 back to the original frame image. Then, the restored frame image is temporarily stored, and the reference frame f T-1 ″ before the target frame f T is output. The motion estimation device 8 uses the reference frame f T-1 ″ and the target frame f. The motion vector MV is estimated and output using T. Motion compensator 9 uses the reference frame f T-1 "and the motion vector MV, 'to generate the output. The prediction frame f T' predicted frame f T is a prediction value of the target frame f T is the It is used when the difference image Δf T is generated in the difference unit 3.

ここで、動き推定装置8において動きベクトルMVを生成するとき、及び動き補償器9において参照フレームとして、入力された映像からそのまま得られるフレームfT−1を使用せず、局所復号器7で復元されたフレームfT−1”を使用しているのは、映像復号側において復号画像に量子化誤差が蓄積することによりドリフトが生じることを防止するためである。 Here, when generating the motion vector MV in the motion estimation device 8 and in the motion compensator 9, the frame f T−1 obtained from the input video as it is is not used as a reference frame, but is restored by the local decoder 7. The reason why the frame f T-1 ″ is used is to prevent drift caused by accumulation of quantization errors in the decoded image on the video decoding side.

尚、局所復号器7は、逆量子化器10、逆離散コサイン変換器(逆DCT)11、加算器12、フレームメモリ13から構成されている。量子化器5が出力するDCT係数は、逆量子化器10に入力され逆量子化が施された後に、逆DCT11において逆離散コサイン返還が施され、差分画像Δf”が復元される。加算器12において、この差分画像Δf”と動き補償器9が出力する予測フレームf’とが加算されて、復元された対象フレームf”がフレームメモリ13に格納される。これらの構成は、一般的な映像復号器と同様である。 The local decoder 7 includes an inverse quantizer 10, an inverse discrete cosine transformer (inverse DCT) 11, an adder 12, and a frame memory 13. The DCT coefficient output from the quantizer 5 is input to the inverse quantizer 10 and subjected to inverse quantization, and then subjected to inverse discrete cosine return in the inverse DCT 11 to restore the difference image Δf T ″. In the unit 12, the difference image Δf T ″ and the predicted frame f T ′ output from the motion compensator 9 are added, and the restored target frame f T ″ is stored in the frame memory 13. These configurations are used. This is the same as a general video decoder.

次に、本発明に係る動き推定装置8について説明する。図4は、本発明の実施例1に係る動き推定装置8の構成を表すブロック図である。   Next, the motion estimation device 8 according to the present invention will be described. FIG. 4 is a block diagram illustrating the configuration of the motion estimation apparatus 8 according to the first embodiment of the invention.

動き推定装置8は、動きベクトル記憶手段20、動きベクトル仮推定手段21、代表値演算手段22,23、探索方法選択手段24、動きベクトル決定手段25、及び探索中心決定手段26を備えている。   The motion estimation device 8 includes a motion vector storage unit 20, a motion vector temporary estimation unit 21, representative value calculation units 22, 23, a search method selection unit 24, a motion vector determination unit 25, and a search center determination unit 26.

動きベクトル記憶手段20は、参照フレームfT−1”及び対象フレームfの各ブロックに対する動きベクトルMV’,MVを記憶するメモリである。 The motion vector storage means 20 is a memory for storing motion vectors MV ′ and MV for each block of the reference frame f T−1 ”and the target frame f T.

動きベクトル仮推定手段21は、動きベクトル記憶手段20に記憶されている動きベクトルMVに基づき、対象フレームf内のブロックであって動きベクトル推定の対象となるブロック(対象ブロック)Cの動きベクトルMVの仮推定値MV”を演算する。 Motion vector temporary estimator 21, a motion based on the motion vector MV that is stored in the vector storage means 20, subject to the block (target block) motion C 0 of a by motion vector estimation block in the target frame f T A temporary estimated value MV 0 ″ of the vector MV 0 is calculated.

代表値演算手段22は、対象ブロックCの第1隣接の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVと、仮推定値MV”との間の距離の代表値δを算出する。 The representative value calculator 22 is a block within the first adjacent range R 1 of the target block C 0 and the motion vector MV j of each block C j (j∈R 1 ) whose motion vector has already been determined. calculates a representative value [delta] T of the distance between the temporary estimated value MV 0 ".

代表値演算手段23は、対象ブロックCに対応する参照フレームfT−1”内のブロックC’の動きベクトルMV’と、ブロックC’の第1隣接の範囲R内にある参照フレームfT−1”内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する。 Representative value calculating means 23, the 'motion vector MV 0' of the block C 0 in the reference frame f T-1 ", corresponding to the target block C 0, in a first range of adjacent R 2 blocks C 0 ' A representative value δ T-1 of the distance between each block C i ′ (iεR 2 ) and the motion vector MV i ′ in the reference frame f T-1 ″ is calculated.

探索方法選択手段24は、代表値δ及び代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、代表値演算手段22,23により算出された代表値δ及び代表値δT−1の値に対応するブロック探索方法を選択する。 Search method selecting means 24, from various block search method is determined in advance in correspondence with the representative value [delta] T and the value of the representative values [delta] T-1, calculated by the representative value calculating means 22 Representative selecting a block search method corresponding to the value [delta] T and the value of the representative values [delta] T-1.

探索中心決定手段26は、動きベクトル決定手段25が探索を行う際の探索中心のオフセットを決定する。   The search center determining unit 26 determines an offset of the search center when the motion vector determining unit 25 performs a search.

動きベクトル決定手段25は、探索方法選択手段24により選択された探索方法に従って、探索中心決定手段26により決定された探索中心を中心として、対象ブロックCとの相関が最大である参照フレームfT−1”内のブロックの探索を行い、動きベクトルMVを決定し、動きベクトル記憶手段20に保存する。 The motion vector determination unit 25 has the reference frame f T having the maximum correlation with the target block C 0 around the search center determined by the search center determination unit 26 according to the search method selected by the search method selection unit 24. −1 ″ is searched for a block, a motion vector MV 0 is determined, and stored in the motion vector storage means 20.

探索方法選択手段24は、動きタイプ決定手段31,32、及び探索方法選択手段33を備えている。動きタイプ決定手段31は、代表値演算手段22が出力する代表値δの値を閾値判定し、対象ブロックCの近傍の局所的な動きタイプTYPEを決定する。動きタイプ決定手段32は、代表値演算手段22が出力する代表値δT−1の値を閾値判定し、対象ブロックC’の近傍の局所的な動きタイプTYPEを決定する。そして、探索方法選択手段33は、局所的な動きタイプTYPE,TYPEによって、探索方法の選択を行う。 The search method selection unit 24 includes motion type determination units 31 and 32 and a search method selection unit 33. Motion type determining means 31, the value of the representative values [delta] T to the representative value calculating unit 22 outputs determined threshold, to determine the local motion type TYPE 1 in the vicinity of the target block C 0. The motion type determining unit 32 determines the threshold value of the value of the representative value δ T-1 output from the representative value calculating unit 22, and determines the local motion type TYPE 2 near the target block C 0 ′. Then, the search method selection unit 33 selects a search method according to the local motion types TYPE 1 and TYPE 2 .

以上のように構成された本実施例に係る動き推定装置8について、以下その動き推定方法について説明する。動きベクトルの推定は、ラスタ走査の走査線に沿って、対象フレームの右上のブロックから左下のブロックに向かって行われるものとする。また、対象フレームの端に位置するブロックについては、全域探索法を用いて動きベクトルの推定が行われるものとする。以下では、対象フレームの端に位置するブロック以外の対象ブロックに対する動き推定動作について説明する。   The motion estimation method of the motion estimation apparatus 8 according to the present embodiment configured as described above will be described below. The estimation of the motion vector is performed from the upper right block of the target frame toward the lower left block along the scanning line of the raster scan. In addition, for the block located at the end of the target frame, the motion vector is estimated using the whole area search method. Hereinafter, a motion estimation operation for a target block other than the block located at the end of the target frame will be described.

図5は本発明の実施例1に係る動き推定方法を表すフローチャートである。まず、動きベクトル仮推定手段21は、動きベクトル記憶手段20から図2に示したコンテキストTの各ブロックの動きベクトルMV,MV,MVを読み出す。そして、対象ブロックCの動きベクトルの仮推定値MV”を(数20)により算出する(S1)。 FIG. 5 is a flowchart showing the motion estimation method according to the first embodiment of the present invention. First, the motion vector temporary estimation means 21 reads the motion vectors MV 1 , MV 2 , and MV 3 of each block of the context T shown in FIG. 2 from the motion vector storage means 20. Then, a temporary estimated value MV 0 ″ of the motion vector of the target block C 0 is calculated by (Equation 20) (S1).

Figure 2006033433
Figure 2006033433

次に、代表値演算手段22は、動きベクトル記憶手段20から図2に示したコンテキストTの各ブロックの動きベクトルMV,MV,MVを読み出す。そして、先に算出された動きベクトルの仮推定値MV”と動きベクトルMV,MV,MVとに基づき、対象フレームf内における対象ブロックC近傍の局所的な動き複雑性を算出する(S2)。ここでは、局所的な動き複雑性として、各ブロックC(j∈R)の動きベクトルMVと、仮推定値MV”との間の距離の代表値δを用いる。従って、代表値演算手段22は(数21)により対象ブロックC近傍の局所的な動き複雑性である代表値δを算出する。 Next, the representative value calculation means 22 reads the motion vectors MV 1 , MV 2 , MV 3 of each block of the context T shown in FIG. 2 from the motion vector storage means 20. Then, the local motion complexity in the vicinity of the target block C 0 in the target frame f T is calculated based on the previously calculated temporary estimated value MV 0 ″ of the motion vector and the motion vectors MV 1 , MV 2 , and MV 3. Here, as a local motion complexity, a representative value δ T of the distance between the motion vector MV j of each block C j (jεR 1 ) and the temporary estimated value MV 0 ″. Is used. Accordingly, the representative value calculating unit 22 calculates a representative value [delta] T is a local motion complexity of the current block C 0 near by (Expression 21).

Figure 2006033433
Figure 2006033433

一方、代表値演算手段23は、動きベクトル記憶手段20から図2に示したコンテキストT−1の各ブロックの動きベクトルMV’〜MV’を読み出す。そして、これらの動きベクトルMV’〜MV’に基づき、参照フレームfT−1”内におけるブロックC’近傍の局所的な動き複雑性を算出する(S3)。ここでは、局所的な動き複雑性として、各ブロックC’(i∈R)の動きベクトルMV’と、ブロックC’の動きベクトルMV’との間の距離の代表値δT−1を用いる。従って、代表値演算手段23は(数22)により対象ブロックC近傍の局所的な動き複雑性である代表値δT−1を算出する。 On the other hand, the representative value calculation means 23 reads the motion vectors MV 0 ′ to MV 8 ′ of each block of the context T-1 shown in FIG. Based on these motion vectors MV 0 ′ to MV 8 ′, the local motion complexity in the vicinity of the block C 0 ′ in the reference frame f T−1 ″ is calculated (S3). Here, the local motion complexity is calculated. as the motion complexity, and 'motion vector MV i of (i∈R 2)' each block C i, using a representative value [delta] T-1 of the distance between the 'motion vector MV 0' of the block C 0. Thus The representative value calculation means 23 calculates a representative value δ T-1 that is a local motion complexity in the vicinity of the target block C 0 by (Equation 22).

Figure 2006033433
Figure 2006033433

次に、探索方法選択手段24は、代表値δ及び代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、代表値演算手段22,23により算出された代表値δ及び代表値δT−1の値に対応するブロック探索方法を選択する(S4)。具体的には、まず、動きタイプ決定手段31が、代表値δに基づき、(数9)に従って動きタイプTYPEを決定する。また、動きタイプ決定手段32が、代表値δT−1に基づき、(数8)に従って動きタイプTYPET−1を決定する。探索方法選択手段33は、動きタイプTYPE,TYPET−1により、(表1)に従って対象ブロックCの動きタイプを決定する。そして、対象ブロックCの動きタイプに基づき、(表2)に従って探索方法の選択を行う。このようにして、局所的な動き複雑性に従って、ブロックマッチングにおける探索戦略が適応的に決定される。 Next, the search method selection means 24, calculates from various block search method is determined in advance in correspondence with the representative value [delta] T and the value of the representative values [delta] T-1, by the representative value calculating means 22, 23 representative value [delta] T and block search method corresponding to the value of the representative value [delta] T-1 selecting (S4). Specifically, first, the motion type decision unit 31, based on the representative value [delta] T, determining the motion type TYPE T according equation (9). Further, the motion type determination means 32 determines the motion type TYPE T-1 according to (Equation 8) based on the representative value δT -1 . The search method selection means 33 determines the motion type of the target block C 0 according to (Table 1) based on the motion types TYPE T and TYPE T-1 . Then, based on the motion type of the target block C 0, the search method is selected according to (Table 2). In this way, the search strategy in block matching is adaptively determined according to the local motion complexity.

次に、探索中心決定手段26は、動きベクトル決定手段25が探索を行う際の探索中心のオフセットVを、(数10)〜(数12)に従って決定する(S5)。   Next, the search center determining means 26 determines the search center offset V when the motion vector determining means 25 performs the search according to (Equation 10) to (Equation 12) (S5).

次に、動きベクトル決定手段25は、探索方法選択手段24により選択された探索方法に従って、対象ブロックCとの相関が最大である参照フレームfT−1”内のブロックの探索を行う(S6)。このとき、ブロック探索は、ブロックC”の位置から、ステップS5において決定されたオフセットVだけ平行移動した位置を中心として行われる。これにより、対象ブロックCの動きベクトルMVが決定される。 Next, the motion vector determination unit 25 searches for a block in the reference frame f T-1 ″ having the maximum correlation with the target block C 0 according to the search method selected by the search method selection unit 24 (S6). At this time, the block search is performed around the position translated from the position of the block C 0 ″ by the offset V determined in step S5. Thus, the motion vector MV 0 of a target block C 0 is determined.

最後に、動きベクトル決定手段25は、動きベクトルMVを動きベクトル記憶手段20に保存して(S7)、対象ブロックCの動きベクトル推定動作を終了する。 Finally, the motion vector determination unit 25 stores the motion vector MV 0 in the motion vector storage unit 20 (S7), and ends the motion vector estimation operation of the target block C 0 .

このような動きベクトル推定動作を、ラスタ走査の走査線に沿って、対象ブロックCを移動させながら順次行うことにより、対象フレームfの動きベクトル推定を行うことができる。 Such motion vector estimation operation, along a scan line of the raster scan by sequentially be performed while moving the current block C 0, it is possible to perform the motion vector estimation target frame f T.

尚、本実施例の動き推定装置は、映像の性質により適応的に探索戦略を変更できるため、映像内容が複雑な動きを示す場合であっても高い頑健性を得ることができるとともに、ハードウェア実装することもソフトウェア実装することも可能である。また、コンピュータ・プログラムとして構成し、汎用コンピュータによって実現することも可能である。   Note that the motion estimation apparatus of the present embodiment can adaptively change the search strategy depending on the nature of the video, so that even when the video content shows complex motion, high robustness can be obtained, and the hardware It can be implemented as well as software. It can also be configured as a computer program and realized by a general-purpose computer.

テスト映像(CIF)から得られたフレーム内の動きベクトルマップを表す図である。It is a figure showing the motion vector map in the frame obtained from the test image | video (CIF). ブロックマッチングを行うために使用されるコンテキストの一例である。It is an example of the context used in order to perform block matching. 一般の映像符号化装置の全体構成を表す図である。It is a figure showing the whole structure of a general video coding apparatus. 本発明の実施例1に係る動き推定装置8の構成を表すブロック図である。It is a block diagram showing the structure of the motion estimation apparatus 8 which concerns on Example 1 of this invention. 本発明の実施例1に係る動き推定方法を表すフローチャートである。It is a flowchart showing the motion estimation method which concerns on Example 1 of this invention.

符号の説明Explanation of symbols

1 映像符号化装置
2 フレームメモリ
3 差分器
4 離散コサイン変換器(DCT)
5 量子化器
6 エントロピ符号器
7 局所復号器
8 動き推定装置
9 動き補償器
10 逆量子化器
11 逆離散コサイン変換器(逆DCT)
12 加算器
13 フレームメモリ
20 動きベクトル記憶手段
21 動きベクトル仮推定手段
22,23 代表値演算手段
24 探索方法選択手段
25 動きベクトル決定手段
26 探索中心決定手段
31,32 動きタイプ決定手段
33 探索方法選択手段

DESCRIPTION OF SYMBOLS 1 Video coding apparatus 2 Frame memory 3 Differentiator 4 Discrete cosine transformer (DCT)
5 Quantizer 6 Entropy Encoder 7 Local Decoder 8 Motion Estimation Device 9 Motion Compensator 10 Inverse Quantizer 11 Inverse Discrete Cosine Transformer (Inverse DCT)
DESCRIPTION OF SYMBOLS 12 Adder 13 Frame memory 20 Motion vector storage means 21 Motion vector temporary estimation means 22, 23 Representative value calculation means 24 Search method selection means 25 Motion vector determination means 26 Search center determination means 31, 32 Motion type determination means 33 Search method selection means

Claims (19)

複数のフレームから構成される動画像において、参照フレームに対する対象フレーム内の各ブロックの動きベクトルを推定する動き推定方法であって、前記対象フレーム内における動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cとの相関が最大である前記参照フレーム内のブロックの探索を、以下の各ステップを有する選択手順で選択されたブロック探索方法に従って行うことにより、前記対象ブロックCの動きベクトルMVを決定することを特徴とする動き推定方法:
前記参照フレーム又は前記対象フレームの各ブロックの動きベクトルであって既に決定されているものに基づき、前記対象ブロックCの動きベクトルMVの仮推定値MV”を決定する第1ステップ;
前記仮推定値MV”と、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVとの間の距離の代表値δを算出する第2ステップ;
前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第3ステップ;
前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第2ステップ及び前記第3ステップで算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する第4ステップ。
A motion estimation method for estimating a motion vector of each block in a target frame with respect to a reference frame in a moving image composed of a plurality of frames, the block being a target of motion vector estimation in the target frame (hereinafter, “ It is referred to as “target block”.) By searching for the block in the reference frame having the maximum correlation with C 0 according to the block search method selected by the selection procedure having the following steps, the target block C 0 is obtained. A motion estimation method characterized by determining a motion vector MV 0 of:
A first step of determining a temporary estimated value MV 0 ″ of the motion vector MV 0 of the target block C 0 based on a motion vector of each block of the reference frame or the target frame that has already been determined;
The temporary estimated value MV 0 ″ and each block C j (j∈R 1 ) that is within a predetermined range R 1 around the target block C 0 in the target frame and for which a motion vector has already been determined. A second step of calculating a representative value δ T of the distance from the motion vector MV j
Wherein the current block C 0 'motion vector MV 0' of the block C 0 in the reference frame corresponding to each block C i of the reference frame in the predetermined range R 2 of the periphery of said block C 0 ' A third step of calculating a representative value δ T-1 of a distance between '(iεR 2 ) and the motion vector MV i ';
From various block search method is determined in advance in correspondence with the representative value [delta] T and the value of the representative value [delta] T-1, wherein the representative value calculated in the second step and the third step [delta] A fourth step of selecting a block search method corresponding to T and the value of the representative value δT −1 .
前記第4ステップにおいて、
前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択すること
を特徴とする請求項1記載の動き推定方法。
In the fourth step,
If the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is a block search method, select the multi-stage search method in a given search area,
Wherein the value of the representative value [delta] T is in the case of predetermined threshold value Th 1 or less, where the block search method, and selects the full search method in a narrow search region than the search area of the multi-stage search method Item 2. The motion estimation method according to Item 1.
前記第4ステップにおいて、
前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合においては、
前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、
前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択すること
を特徴とする請求項1又は2記載の動き推定方法。
In the fourth step,
In the case the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is a block search method, select the multi-stage search method in a given search area S 0,
In the case the value of the representative values [delta] T is a predetermined threshold value Th 1 or less,
If the value of the representative values [delta] T-1 is greater than a predetermined threshold Th 2 is a block search method, the entire search method in the multi-stage search method of the search area S 0 and the same or narrower search area S 1 Select
Wherein when the value of the representative value [delta] T-1 is in a predetermined threshold value Th 2 or less, as the block search method, and selects the full search method in a narrow search region S 2 than the search region R1 The motion estimation method according to claim 1 or 2.
前記第1ステップにおいて、前記仮推定値MV”は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて決定されることを特徴とする請求項1乃至3の何れか一記載の動き推定方法。 In the first step, the temporary estimated value MV 0 ″ is a block within a predetermined range R 3 around the target block C 0 in the target frame, and each block C for which a motion vector has already been determined. The motion estimation method according to claim 1, wherein the motion estimation method is determined based on a motion vector MV k of k (k∈R 3 ). 前記仮推定値MV”は、(数1)により計算されることを特徴とする請求項4記載の動き推定方法。
Figure 2006033433
The motion estimation method according to claim 4, wherein the temporary estimated value MV 0 ″ is calculated by (Equation 1).
Figure 2006033433
第2ステップにおいて、所定の範囲Rは、前記対象ブロックCに対し第1隣接のブロックであって、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであること
を特徴とする請求項1乃至5の何れか一記載の動き推定方法。
In the second step, the predetermined range R 1 is a block adjacent to the target block C 0 and a part or all of the four blocks whose motion vectors have already been determined. 6. The motion estimation method according to claim 1, wherein the motion estimation method is provided.
第2ステップにおいて、代表値δは、(数2)により計算されることを特徴とする請求項1乃至5の何れか一記載の動き推定方法。
Figure 2006033433
In a second step, the representative value [delta] T, the motion estimation method of any one of claims 1 to 5, characterized in that is calculated by (Equation 2).
Figure 2006033433
前記第3ステップにおいて、前記所定の範囲Rは、前記ブロックC’に対して隣接する8つのブロックの範囲であることを特徴とする請求項1乃至7の何れか一記載の動き推定方法。 The motion estimation method according to claim 1, wherein, in the third step, the predetermined range R 2 is a range of eight blocks adjacent to the block C 0 ′. . 前記第3ステップにおいて、前記代表値δT−1は、(数3)により計算されることを特徴とする請求項1乃至7の何れか一記載の動き推定方法。
Figure 2006033433
The motion estimation method according to claim 1, wherein, in the third step, the representative value δT −1 is calculated by (Equation 3).
Figure 2006033433
複数のフレームから構成される動画像において、参照フレームに対する、対象フレームにおける各ブロックの動きベクトルを推定する動き推定装置であって、
前記参照フレーム及び前記対象フレームの各ブロックに対する動きベクトルを記憶する動きベクトル記憶手段と、
前記動きベクトル記憶手段に記憶されている動きベクトルに基づき、前記対象フレーム内のブロックであって動きベクトル推定の対象となるブロック(以下、「対象ブロック」という。)Cの動きベクトルMVの仮推定値MV”を演算する動きベクトル仮推定手段と、
前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(j∈R)の動きベクトルMVと、前記仮推定値MV”との間の距離の代表値δを算出する第1の代表値演算手段と、
前記対象ブロックCに対応する前記参照フレーム内のブロックC’の動きベクトルMV’と、前記ブロックC’の周囲の所定の範囲R内にある前記参照フレーム内の各ブロックC’(i∈R)の動きベクトルMV’との間の距離の代表値δT−1を算出する第2の代表値演算手段と、
前記代表値δ及び前記代表値δT−1の各値に対応して予め決められている各種ブロック探索方法の中から、前記第1及び前記第2の代表値演算手段により算出された前記代表値δ及び前記代表値δT−1の値に対応するブロック探索方法を選択する探索方法選択手段と、
前記探索方法選択手段により選択された探索方法に従って、前記対象ブロックCとの相関が最大である前記参照フレーム内のブロックの探索を行い、前記動きベクトルMVを決定し、前記動きベクトル記憶手段に保存する動きベクトル決定手段と、
を備えていることを特徴とする動き推定装置。
A motion estimation device that estimates a motion vector of each block in a target frame with respect to a reference frame in a moving image composed of a plurality of frames,
Motion vector storage means for storing a motion vector for each block of the reference frame and the target frame;
Based on the motion vector stored in the motion vector storage means, a block in the target frame that is a target of motion vector estimation (hereinafter referred to as “target block”) C 0 motion vector MV 0 Motion vector temporary estimation means for calculating a temporary estimated value MV 0 ″;
A motion vector MV j of each block C j (jεR 1 ) that is in a predetermined range R 1 around the target block C 0 and for which a motion vector has already been determined, and the temporary estimated value MV 0 a first representative value calculating means for calculating a representative value [delta] T of the distance between the "
Wherein the current block C 0 'motion vector MV 0' of the block C 0 in the reference frame corresponding to each block C i of the reference frame in the predetermined range R 2 of the periphery of said block C 0 ' Second representative value calculating means for calculating a representative value δ T-1 of a distance between the motion vector MV i 'of (iεR 2 );
From various block search method is determined in advance in correspondence with the representative value [delta] T and the value of the representative value [delta] T-1, calculated by the first and the second representative value calculating means and the a search method selection means for selecting a block search method corresponding to the representative values [delta] T and the value of the representative values [delta] T-1,
According to the search method selected by the search method selection means, the block in the reference frame having the maximum correlation with the target block C 0 is searched, the motion vector MV 0 is determined, and the motion vector storage means Motion vector determination means to be stored in
A motion estimation apparatus comprising:
前記探索方法選択手段は、
前記代表値δの値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、所定の探索領域における多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合には、ブロック探索方法として、前記多段探索法の探索領域よりも狭い探索領域での全域探索法を選択すること
を特徴とする請求項10記載の動き推定装置。
The search method selection means includes
If the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is a block search method, select the multi-stage search method in a given search area,
Wherein the value of the representative value [delta] T is in the case of predetermined threshold value Th 1 or less, where the block search method, and selects the full search method in a narrow search region than the search area of the multi-stage search method Item 11. The motion estimation apparatus according to Item 10.
前記探索方法選択手段は、
前記代表値δの値が所定の閾値Thよりも大きい場合においては、ブロック探索方法として、所定の探索領域Sにおける多段探索法を選択し、
前記代表値δの値が所定の閾値Th以下の場合においては、
前記代表値δT−1の値が所定の閾値Thよりも大きい場合には、ブロック探索方法として、前記多段探索法の探索領域Sと同じ又はより狭い探索領域Sでの全域探索法を選択し、
前記代表値δT−1の値が所定の閾値Th以下の場合には、ブロック探索方法として、前記探索領域R1よりも狭い探索領域Sでの全域探索法を選択すること
を特徴とする請求項10又は11記載の動き推定装置。
The search method selection means includes
In the case the value of the representative values [delta] T is greater than a predetermined threshold value Th 1 is a block search method, select the multi-stage search method in a given search area S 0,
In the case the value of the representative values [delta] T is a predetermined threshold value Th 1 or less,
If the value of the representative values [delta] T-1 is greater than a predetermined threshold Th 2 is a block search method, the entire search method in the multi-stage search method of the search area S 0 and the same or narrower search area S 1 Select
Wherein when the value of the representative value [delta] T-1 is in a predetermined threshold value Th 2 or less, as the block search method, and selects the full search method in a narrow search region S 2 than the search region R1 The motion estimation apparatus according to claim 10 or 11.
前記動きベクトル仮推定手段は、前記対象フレーム内における前記対象ブロックC周囲の所定の範囲R内にあるブロックであって既に動きベクトルが決定されている各ブロックC(k∈R)の動きベクトルMVに基づいて前記仮推定値MV”を決定することを特徴とする請求項10乃至12の何れか一記載の動き推定装置。 The motion vector temporary estimation means is a block C k (kεR 3 ) that is in a predetermined range R 3 around the target block C 0 in the target frame and for which a motion vector has already been determined. The motion estimation apparatus according to claim 10, wherein the temporary estimated value MV 0 ″ is determined based on a motion vector MV k of the first motion vector MV k . 前記仮推定値MV”は、(数4)により計算されることを特徴とする請求項13記載の動き推定装置。
Figure 2006033433
14. The motion estimation apparatus according to claim 13, wherein the temporary estimated value MV 0 ″ is calculated by (Equation 4).
Figure 2006033433
前記所定の範囲Rは、前記対象ブロックCに上下左右及び斜め方向に隣接し、かつ既に動きベクトルが決定されている4つのブロックの内の一部又は全部のブロックであること
を特徴とする請求項10乃至14の何れか一記載の動き推定装置。
The predetermined range R 1 is a part or all of the four blocks that are adjacent to the target block C 0 in the up / down / left / right and diagonal directions and whose motion vectors have already been determined. The motion estimation device according to claim 10.
前記第1の代表値演算手段は、(数5)により代表値δを計算することを特徴とする請求項10乃至14の何れか一記載の動き推定装置。
Figure 2006033433
It said first representative value computation means (5) by the motion estimation apparatus as claimed in claim 10 to 14, wherein the calculating a representative value [delta] T.
Figure 2006033433
前記所定の範囲Rは、前記ブロックC’に対して上下左右及び斜め方向に隣接する8つのブロックの範囲であることを特徴とする請求項10乃至16の何れか一記載の動き推定装置。 The motion estimation apparatus according to claim 10, wherein the predetermined range R 2 is a range of eight blocks adjacent to the block C 0 ′ in the up / down / left / right and diagonal directions. . 前記第2の代表値演算手段は、(数6)により代表値δT−1を計算することを特徴とする請求項10乃至16の何れか一記載の動き推定方法。
Figure 2006033433
The motion estimation method according to any one of claims 10 to 16, wherein the second representative value calculation means calculates a representative value δT -1 according to (Equation 6).
Figure 2006033433
コンピュータに請求項1乃至9の何れか一記載の方法を実行させるためのプログラム。
A program for causing a computer to execute the method according to any one of claims 1 to 9.
JP2004209614A 2004-07-16 2004-07-16 Motion estimation method, motion estimation device, and program Expired - Fee Related JP4537136B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004209614A JP4537136B2 (en) 2004-07-16 2004-07-16 Motion estimation method, motion estimation device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004209614A JP4537136B2 (en) 2004-07-16 2004-07-16 Motion estimation method, motion estimation device, and program

Publications (2)

Publication Number Publication Date
JP2006033433A true JP2006033433A (en) 2006-02-02
JP4537136B2 JP4537136B2 (en) 2010-09-01

Family

ID=35899246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004209614A Expired - Fee Related JP4537136B2 (en) 2004-07-16 2004-07-16 Motion estimation method, motion estimation device, and program

Country Status (1)

Country Link
JP (1) JP4537136B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011091794A (en) * 2009-10-20 2011-05-06 Intel Corp Method and apparatus for adaptively choosing a search range for motion estimation
US8724704B2 (en) 2010-02-17 2014-05-13 Samsung Electronics Co., Ltd. Apparatus and method for motion estimation and image processing apparatus
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US9509995B2 (en) 2010-12-21 2016-11-29 Intel Corporation System and method for enhanced DMVD processing
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US10250885B2 (en) 2000-12-06 2019-04-02 Intel Corporation System and method for intracoding video data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11239354A (en) * 1998-02-23 1999-08-31 Mitsubishi Electric Corp Motion vector detector

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11239354A (en) * 1998-02-23 1999-08-31 Mitsubishi Electric Corp Motion vector detector

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6009016800, Jong−Hyun Lim, Hae−Wook Choi, "Adaptive motion estimation algorithm using spatial and temporal correlation", 2001 IEEE Pacific Rim Conference on Communications, Computers and signal Processing, 20010826, 473−476, US, IEEE *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10250885B2 (en) 2000-12-06 2019-04-02 Intel Corporation System and method for intracoding video data
US10701368B2 (en) 2000-12-06 2020-06-30 Intel Corporation System and method for intracoding video data
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US9445103B2 (en) 2009-07-03 2016-09-13 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9538197B2 (en) 2009-07-03 2017-01-03 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US9955179B2 (en) 2009-07-03 2018-04-24 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US10404994B2 (en) 2009-07-03 2019-09-03 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US10863194B2 (en) 2009-07-03 2020-12-08 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US11765380B2 (en) 2009-07-03 2023-09-19 Tahoe Research, Ltd. Methods and systems for motion vector derivation at a video decoder
JP2011091794A (en) * 2009-10-20 2011-05-06 Intel Corp Method and apparatus for adaptively choosing a search range for motion estimation
US8724704B2 (en) 2010-02-17 2014-05-13 Samsung Electronics Co., Ltd. Apparatus and method for motion estimation and image processing apparatus
US9509995B2 (en) 2010-12-21 2016-11-29 Intel Corporation System and method for enhanced DMVD processing

Also Published As

Publication number Publication date
JP4537136B2 (en) 2010-09-01

Similar Documents

Publication Publication Date Title
US20200014952A1 (en) Device and method for fast block-matching motion estimation in video encoders
JP5044568B2 (en) Motion estimation using predictive guided decimation search
JP5277257B2 (en) Video decoding method and video encoding method
EP1430724B1 (en) Motion estimation and/or compensation
US8040948B2 (en) Method and system for coding moving image signals, corresponding computer program product
Chang et al. A novel approach to fast multi-frame selection for H. 264 video coding
JP2005535228A (en) Method and apparatus for performing high quality fast predictive motion search
JP2010524383A (en) Video signal processing method and apparatus
KR20040062331A (en) Method of Motion Estimation for Video Coding in MPEG-4/H.263 Standards
JP2012034225A (en) Motion vector detection device, motion vector detection method and computer program
KR20040089163A (en) Method and Apparatus for Determining Search Range for Adaptive Motion Vector for Use in Video Encoder
JP4537136B2 (en) Motion estimation method, motion estimation device, and program
KR100229803B1 (en) Method and apparatus for detecting motion vectors
JP5639444B2 (en) Motion vector generation apparatus, motion vector generation method, and computer program
JP5407974B2 (en) Video encoding apparatus and motion vector detection method
Lee Fast motion estimation based on search range adjustment and matching point decimation
US11528485B2 (en) Encoding apparatus and program
Guo et al. Homography-based block motion estimation for video coding of PTZ cameras
US6788741B1 (en) Device and method of retrieving high-speed motion
JP3941921B2 (en) Video encoding device
Shinde Adaptive pixel-based direction oriented fast motion estimation for predictive coding
KR100987581B1 (en) Method of Partial Block Matching for Fast Motion Estimation
JP2006254347A (en) Image encoding device
JP5970507B2 (en) Video encoding apparatus and video encoding program
JP2004260251A (en) Apparatus and program of detecting motion vector

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091120

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: 20100602

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: 20100617

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees