JP5248632B2 - Techniques for motion estimation - Google Patents

Techniques for motion estimation Download PDF

Info

Publication number
JP5248632B2
JP5248632B2 JP2011004871A JP2011004871A JP5248632B2 JP 5248632 B2 JP5248632 B2 JP 5248632B2 JP 2011004871 A JP2011004871 A JP 2011004871A JP 2011004871 A JP2011004871 A JP 2011004871A JP 5248632 B2 JP5248632 B2 JP 5248632B2
Authority
JP
Japan
Prior art keywords
motion vector
metric
reference frame
current block
block
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.)
Active
Application number
JP2011004871A
Other languages
Japanese (ja)
Other versions
JP2011147130A (en
Inventor
チウ イー−ジェン
シュイ リードーン
ジャーン ウエンハオ
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/657,168 external-priority patent/US20110002387A1/en
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2011147130A publication Critical patent/JP2011147130A/en
Application granted granted Critical
Publication of JP5248632B2 publication Critical patent/JP5248632B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Advanced Video Codec(AVC)としても知られているH.264及びMPEG−4 Part 10は、産業界で広く追求されることが期待されているITU−T/ISOビデオ圧縮規格である。H.264規格は、Joint Video Team(JVT)により準備され、VCEG(Video Coding Expert Group)として知られているITU−T SG16 Q.6を有し、また、MPEG(Motion Picture Wxpert Group)として知られているISO/IEC JTC1/SC29/WG11も有する。H.264は、デジタルテレビDigital TV(DTV)放送、Direct Broadcast Satellite(DBS)ビデオ、Digital Subscriber Line(DSL)ビデオ、Interactive Storage Media(ISM)、Multimedia Messaging(MMM)、Digital Terrestrial TV Broadcast(DTTB)及びRemote Video Surveillance(RVS)の領域におけるアプリケーションのためにデザインされる。   H. also known as Advanced Video Codec (AVC). H.264 and MPEG-4 Part 10 are ITU-T / ISO video compression standards that are expected to be widely pursued in the industry. H. The H.264 standard is prepared by the Joint Video Team (JVT) and is known as VCEG (Video Coding Expert Group) ITU-T SG16 Q.264. 6 and ISO / IEC JTC1 / SC29 / WG11 known as MPEG (Motion Picture Wxpert Group). H. H.264 is a digital TV Digital TV (DTV) broadcast, Direct Broadcast Satelite (DBS) video, Digital Subscriber Line (DSL) video, Interactive Storage Media (ISM), Multimedia Digital TV (DSM), Multimedia Media Designed for applications in the area of Video Surveillance (RVS).

ビデオ符号化における動き推定は、ビデオフレーム間の時間的冗長性を除去又は低減することにより、ビデオ圧縮性能を改善するように用いられることが可能である。   Motion estimation in video coding can be used to improve video compression performance by removing or reducing temporal redundancy between video frames.

入力ブロックを符号化するために、従来の動き推定は、参照フレームの特定の検索ウィンドウにおけるエンコーダにおいて実行されることが可能である。これは、入力ブロックと参照フレームにおける参照フレームとの間の差分絶対値の和(SAD)を最小化する動きベクトルの決定を可能にする。動きベクトル(MV)情報は、その場合、動き補償のためのデコーダに送信されることが可能である。その動きベクトルは、端数画素単位について決定されることが可能であり、補間フィルタが端数画素値を計算するように用いられることが可能である。   To encode the input block, conventional motion estimation can be performed at the encoder in a particular search window of the reference frame. This allows the determination of a motion vector that minimizes the sum of absolute differences (SAD) between the input block and the reference frame in the reference frame. Motion vector (MV) information can then be sent to a decoder for motion compensation. The motion vector can be determined on a fractional pixel basis and an interpolation filter can be used to calculate the fractional pixel value.

元の入力フレームがデコーダで有効でない場合、デコーダにおける動き推定(ME)は、再構成された参照フレームを用いて実行されることが可能である。予測フレーム(Pフレーム)を符号化するとき、順方向の参照バッファにおいて複数の参照フレームが存在することが可能である。双予測フレーム(Bフレーム)を符号化するとき、順方向のバッファにおいて複数の参照フレームが、そして逆方向の参照バッファにおいて少なくとも1つの参照フレームが存在することが可能である。Bフレーム符号化のために、ミラー動き推定(ME)又は投影動き推定(ME)が、動きベクトル(MV)を得るように実行されることが可能である。予測フレーム(Pフレーム)符号化のために、投影動き推定(ME)が、動きベクトルを得るように実行されることが可能である。   If the original input frame is not valid at the decoder, motion estimation (ME) at the decoder can be performed using the reconstructed reference frame. When encoding a predicted frame (P frame), there can be multiple reference frames in the forward reference buffer. When encoding a bi-predictive frame (B frame), there can be multiple reference frames in the forward buffer and at least one reference frame in the reverse reference buffer. For B-frame coding, mirror motion estimation (ME) or projected motion estimation (ME) can be performed to obtain a motion vector (MV). For predictive frame (P-frame) encoding, projected motion estimation (ME) can be performed to obtain motion vectors.

他のコンテキストでは、1つ又はそれ以上のフレームにおけるブロックに関して、前に復号化された有効な画素において動き推定を実行することにより、ブロックに基づいた動きベクトルがビデオデコーダにおいて生成されることが可能である。有効な画素は、例えば、現在のフレームの一連の走査符号化順序における空間的に隣接するブロック、前に復号化されたフレームにおけるブロック、又は階層符号化が用いられたときの低階層においてダウンサンプリングされたフレームにおけるブロック等であることが可能である。有効な画素は代替として、上記のブロックの組み合わせであることが可能である。   In other contexts, block-based motion vectors can be generated at the video decoder by performing motion estimation on previously decoded valid pixels for a block in one or more frames. It is. Valid pixels can be, for example, spatially contiguous blocks in the current frame's series of scan coding orders, blocks in previously decoded frames, or down-sampled in lower layers when hierarchical coding is used It can be a block or the like in a frame that has been recorded. Effective pixels can alternatively be a combination of the above blocks.

従来のビデオ符号化システムにおいては、動き推定は、現在の符号化ブロックの予測のための動きベクトルを決定するようにエンコーダ側で実行され、それらの動きベクトルは、バイナリストリームに対して符号化され、現在の復号化ブロックの動き補償のためにデコーダ側に送信される必要がある。一部の最新のビデオ符号化規格、例えば、H.264/AVCにおいては、マクロブロック(MB)は符号化のためにより小さいブロックに区分されることが可能であり、動きベクトルは各々の副区分されたブロックに割り当てられることが可能である。その結果、マクロブロックが4x4ブロックに区分される場合、予測符号化マクロブロックについては最大16個の動きベクトルまで、双予測符号化マクロブロック(MB)については最大32個の動きベクトルまで存在する。その結果、実質的な帯域幅は、エンコーダからデコーダに動きベクトル情報を送信するように用いられる。   In conventional video coding systems, motion estimation is performed at the encoder side to determine motion vectors for prediction of the current coding block, and these motion vectors are encoded on the binary stream. It needs to be transmitted to the decoder side for motion compensation of the current decoding block. Some modern video coding standards, such as H.264. In H.264 / AVC, a macroblock (MB) can be partitioned into smaller blocks for encoding, and a motion vector can be assigned to each sub-partitioned block. As a result, when a macroblock is partitioned into 4 × 4 blocks, there are up to 16 motion vectors for predictive coding macroblocks and up to 32 motion vectors for bi-predictive coding macroblocks (MB). As a result, substantial bandwidth is used to transmit motion vector information from the encoder to the decoder.

ミラー動き推定MEを用いて双予測フレームにおける現在のブロックについての動きベクトルを決定する実施形態の実施例を示す図である。FIG. 6 is a diagram illustrating an example of an embodiment for determining a motion vector for a current block in a bi-predicted frame using mirror motion estimation ME. 2つの順方向の参照フレームに基づいて予測フレームにおける現在のブロックについての動きベクトルを決定する投影動き推定の実施例を示す図である。FIG. 10 is a diagram illustrating an example of projection motion estimation that determines a motion vector for a current block in a prediction frame based on two forward reference frames. 拡張された参照ブロックを示す図である。It is a figure which shows the extended reference block. 現在のブロックの空間的に隣接するブロックを示す図である。It is a figure which shows the block which adjoins the present block spatially. 実施形態に従った処理を示す図である。It is a figure which shows the process according to embodiment. 動きベクトルを決定するように用いられる実施形態を示す図である。FIG. 6 illustrates an embodiment used to determine a motion vector. 自己動きベクトル導出モジュールを有する例示としてのH.264ビデオエンコーダアーキテクチャを示す図である。An exemplary H.264 having a self-motion vector derivation module. 1 illustrates a H.264 video encoder architecture. FIG. 自己動きベクトル導出モジュールを有するH.264ビデオデコーダを示す図である。H. having self-motion vector derivation module. 2 is a diagram illustrating a H.264 video decoder. FIG.

ディジタルビデオクリップは複数の連続的なビデオフレームを有する。連続的なフレームにおけるオブジェクト又は背景の動きが滑らかな軌道を描くことが可能であり、連続的なフレームにおける動きは比較的強い時間的相関性を有することが可能である。この相関性を用いることにより、動きベクトルが、再構成された参照ピクチャから動きを推定することによって現在の符号化ブロックについて導出されることが可能である。デコーダにおける動きベクトルの決定は、エンコーダにおいて実行される動き推定と比較して、送信帯域幅を低減することが可能である。   A digital video clip has a plurality of consecutive video frames. The motion of an object or background in successive frames can follow a smooth trajectory, and the motion in successive frames can have a relatively strong temporal correlation. Using this correlation, a motion vector can be derived for the current coding block by estimating motion from the reconstructed reference picture. Motion vector determination at the decoder can reduce the transmission bandwidth compared to motion estimation performed at the encoder.

元の入力画素情報がデコーダにおいて有効でない場合、デコーダにおける動き推定は、再構成された参照フレームと、現在のフレームの有効な再構成されたブロックとを用いて実行されることが可能である。ここで、用語“有効な”は、ブロックが現在のブロックに先行して再構成されていることを意味する。予測フレームを符号化するとき、順方向の参照バッファには複数の参照フレームが存在し得る。双予測フレームを符号化するとき、順方向の参照バッファにおいて複数の参照フレームと、逆方向の参照バッファにおいて少なくとも1つの参照フレームとが存在し得る。   If the original input pixel information is not valid at the decoder, motion estimation at the decoder can be performed using the reconstructed reference frame and a valid reconstructed block of the current frame. Here, the term “valid” means that the block has been reconstructed prior to the current block. When encoding a predicted frame, there may be multiple reference frames in the forward reference buffer. When encoding a bi-predicted frame, there may be multiple reference frames in the forward reference buffer and at least one reference frame in the backward reference buffer.

次に、一実施形態に従って、現在のブロックについて動きベクトルを得るように、デコーダにおいて動き推定を実行することについて説明する。双予測フレーム符号化のために、ミラー動き推定又は投影動き推定が、動きベクトルを決定するように実行されることが可能である。予測フレーム符号化のために、投影動き推定が、動きベクトルを決定するように実行されることが可能である。用語“フレーム”及び“ピクチャ”は、当業者が理解できるように、ここでは置き換え可能であるように用いられることに留意されたい。   Next, performing motion estimation at the decoder to obtain a motion vector for the current block according to one embodiment will be described. For bi-predictive frame coding, mirror motion estimation or projected motion estimation can be performed to determine a motion vector. For predictive frame coding, projected motion estimation can be performed to determine a motion vector. Note that the terms “frame” and “picture” are used interchangeably herein, as will be appreciated by those skilled in the art.

エンコーダから動きベクトルを受信することに代えて、復号化ブロックについて動きベクトルを決定するように、デコーダについての種々の実施形態を提供する。デコーダ側の動き推定は、時間的フレーム相関性、及び参照ブロックの空間的に隣接するブロック及び現在のブロックの空間的に隣接するブロックに基づいて実行されることが可能である。例えば、動きベクトルは、参照バッファにおける2つの再構成されたピクチャ間でデコーダ側動き探索を実行することにより決定されることが可能である。予測ピクチャにおけるブロックについて、投影動き推定(ME)が用いられ、双予測ピクチャにおけるブロックについて、投影動き推定及びミラー動き推定の両方が用いられることが可能である。また、動き推定は、ブロックタイプの副区分に関して実行されることが可能である。符号化効率は、デコーダ側動き探索についての適応的な探索領域を適用することにより効果を上げることが可能である。例えば、探索領域を決定する技術について、2009年10月20日に出願された米国特許出願公開第12/582,061号明細書において開示されている。   Instead of receiving a motion vector from an encoder, various embodiments are provided for a decoder to determine a motion vector for a decoded block. Decoder side motion estimation may be performed based on temporal frame correlation and spatially adjacent blocks of the reference block and spatially adjacent blocks of the current block. For example, the motion vector can be determined by performing a decoder-side motion search between two reconstructed pictures in the reference buffer. Projection motion estimation (ME) can be used for blocks in the predicted picture, and both projection motion estimation and mirror motion estimation can be used for blocks in the bi-predictive picture. Also, motion estimation can be performed on block type subdivisions. Coding efficiency can be improved by applying an adaptive search region for decoder side motion search. For example, a technique for determining a search area is disclosed in US Patent Application Publication No. 12 / 582,061 filed on October 20, 2009.

図1は、ミラー動き推定を用いて、双予測フレームにおいて現在のブロックについての動きベクトルを決定する実施形態の実施例を示している。図1の実施形態においては、順方向参照フレーム120と逆方向参照フレーム130との間の2つの双予測フレーム110及び115が存在し得る。フレーム110は現在の符号化フレームであり得る。現在のブロック140を符号化するときに、ミラー動き推定が、参照フレーム120及び130の探索ウィンドウ160及び170のそれぞれにおいて探索を実行することにより動きベクトルを得るように実行されることが可能である。上記のように、現在の入力ブロックがデコーダにおいて有効でない場合、ミラー動き推定が、それら2つの参照フレームにより実行されることが可能である。   FIG. 1 shows an example of an embodiment that uses mirror motion estimation to determine a motion vector for the current block in a bi-predictive frame. In the embodiment of FIG. 1, there may be two bi-prediction frames 110 and 115 between the forward reference frame 120 and the backward reference frame 130. Frame 110 may be the current encoded frame. When encoding the current block 140, mirror motion estimation can be performed to obtain a motion vector by performing a search in each of the search windows 160 and 170 of the reference frames 120 and 130, respectively. . As mentioned above, if the current input block is not valid at the decoder, mirror motion estimation can be performed with these two reference frames.

図2は、2つの順方向参照フレーム、即ち、順方向Ref0(参照フレーム220として示されている)及び順方向Ref1(参照フレーム230として示されている)に基づいて、予測フレームにおいて現在のブロックについての動きベクトルを決定する投影動き推定の実施例を示している。それらの参照フレームは、現在のフレーム210における目的ブロック240についての動きベクトルを導出するように用いられることが可能である。探索ウィンドウ270は参照フレーム220において指定されることが可能であり、探索経路は探索ウィンドウ270において指定されることが可能である。探索経路における各々の動きベクトルMV0について、その投影動きベクトルMV1は、参照フレーム230の探索ウィンドウ260において決定されることが可能である。動きベクトル、即ち、MV0及びその関連動きベクトルMV1の各々の対について、差分絶対値の和等のメトリックが、(1)参照フレーム220においてMV0が向いている参照ブロック280と、(2)参照フレーム230においてMV1が向いている参照ブロック250との間で計算されることが可能である。そのメトリックについての最適値、例えば、最小のSAD(差分絶対値の和)を得る動きベクトルMV0が、その場合、目的ブロック240についての動きベクトルとして選択されることが可能である。   FIG. 2 shows the current block in the prediction frame based on two forward reference frames: forward Ref0 (shown as reference frame 220) and forward Ref1 (shown as reference frame 230). 3 shows an example of projection motion estimation that determines a motion vector for. Those reference frames can be used to derive a motion vector for the target block 240 in the current frame 210. The search window 270 can be specified in the reference frame 220 and the search path can be specified in the search window 270. For each motion vector MV 0 in the search path, its projected motion vector MV 1 can be determined in the search window 260 of the reference frame 230. For each pair of motion vectors, ie, MV0 and its associated motion vector MV1, the metric such as the sum of absolute differences is (1) a reference block 280 in which MV0 is oriented in the reference frame 220, and (2) a reference frame. 230 can be calculated with reference block 250 facing MV1. The motion vector MV0 that obtains the optimal value for that metric, eg, the smallest SAD (sum of absolute differences), can then be selected as the motion vector for the target block 240.

図1及び2に関して説明しているシナリオについての動きベクトルを決定する技術については、2009年9月25日に出願された米国特許出願公開第121/566,823号明細書の図2及び4に示されている。   Techniques for determining motion vectors for the scenario described with respect to FIGS. 1 and 2 are shown in FIGS. 2 and 4 of US Patent Application Publication No. 121 / 566,823, filed September 25, 2009. It is shown.

動きベクトルの例示としての探索については、米国特許出願公開第121/566,823号明細書の処理300及び500に示されているように処理することが可能である。次に、本明細書の図1のシナリオについての動きベクトルを決定する処理の要約を提供する。探索ウィンドウは順方向参照フレームにおいて指定されることが可能である。この探索ウィンドウは、エンコーダ及びデコーダの両方において同じであることが可能である。探索経路は、順方向探索ウィンドウにおいて指定されることが可能である。エンコーダ及びデコーダが同じ探索経路を辿る限り、ここでは、フル探索スキーム又は何れかの高速探索スキームが用いられることが可能である。探索経路におけるMV0について、そのミラー動きベクトルMV1は、逆方向探索ウィンドウで得られることが可能である。ここでは、関連時間期間中に動き軌道が相対的に短い直線であることを前提としている。差分絶対値の和(SAD)等のメトリックが、(i)順方向参照フレームにおいてMV0が向いている参照ブロックと、(ii)逆方向参照フレームにおいてMV1が向いている参照ブロックとの間で計算されることが可能である。それらの参照ブロックは、図1に参照番号150及び180のそれぞれで示されている。何れかの付加的な動きベクトルMV0がその探索経路に存在するかどうかについての判定が行われることが可能である。それが好適である場合、その処理は繰り返され、各々のMV0が関連するMV1を有する場合に、2つ以上のMV0が得られる。更に、各々のそのような関連する対について、例えば、差分絶対値の和(SAD)等のメトリックが得られる。そのメトリック、即ち、最小のSAD等について所望の値を生成するMV0が選択されることが可能であるが、それに限定されるものではない。このMV0は、その場合、現在のブロックについての動きを予測するように用いられることが可能である。   An exemplary search for motion vectors can be processed as shown in processes 300 and 500 of U.S. Patent Application Publication No. 121 / 566,823. Next, a summary of the process for determining motion vectors for the scenario of FIG. 1 herein is provided. A search window can be specified in the forward reference frame. This search window can be the same in both the encoder and the decoder. The search path can be specified in the forward search window. As long as the encoder and decoder follow the same search path, a full search scheme or any fast search scheme can be used here. For MV0 in the search path, its mirror motion vector MV1 can be obtained in the backward search window. Here, it is assumed that the motion trajectory is a relatively short straight line during the relevant time period. Metrics such as the sum of absolute differences (SAD) are calculated between (i) a reference block facing MV0 in a forward reference frame and (ii) a reference block facing MV1 in a backward reference frame. Can be done. These reference blocks are indicated in FIG. 1 by reference numerals 150 and 180, respectively. A determination can be made as to whether any additional motion vector MV0 is present in the search path. If it is preferred, the process is repeated and more than one MV0 is obtained if each MV0 has an associated MV1. In addition, for each such associated pair, a metric such as, for example, the sum of absolute differences (SAD) is obtained. The MV0 that produces the desired value for that metric, ie, the smallest SAD, can be selected, but is not limited thereto. This MV0 can then be used to predict the motion for the current block.

次に、本明細書の図2のシナリオについての動きベクトルを決定する処理の要約を提供する。探索ウィンドウが、第1順方向参照フレームにおいて指定されることが可能である。このウィンドウは、エンコーダ及びデコーダの両方において同じであることが可能である。探索経路はこの探索ウィンドウで指定されることが可能である。例えば、ここでは、フル探索スキーム又は高速探索スキームが用いられ、従って、エンコーダ及びデコーダは同じ探索経路を辿ることが可能である。探索経路における動きベクトルMV0について、その投影動きベクトルMV1は、第2探索ウィンドウで得られることが可能である。ここでは、動き軌道はこの短い経路において直線であることを前提としている。SAD等のメトリックが、(i)第1参照フレームにおいてMV0が向いている参照ブロックと、(ii)第2参照フレームにおいてMV1が向いている参照ブロックとの間で計算されることが可能である。探索経路に残っていて、未だに考慮されていない、何れかの付加的な動きベクトルMV0が存在するかどうかについての判定が行われることが可能である。少なくとも1つのMV0が残っている場合、その処理が繰り返され、他のMV0については、対応する投影動きベクトルMV1が決定されることが可能である。このようにして、MV0及びMV1の対の集合が決定され、メトリック、例えば、SADが各々の対について計算されることが可能である。複数のMV0の1つが選択され、その選択されたMV0は、そのメトリックについて望ましい値、例えば、最小のSADを得るが、それに限定されるものではない。SADメトリックが0であることが理論的に最適な値であるため、SADメトリックについての最小の有効な値、即ち、0に近い値は好適なモードを示す。このMV0は、その場合、現在のブロックについての動きを予測するように用いられる。   Next, a summary of the process for determining the motion vector for the scenario of FIG. 2 herein is provided. A search window can be specified in the first forward reference frame. This window can be the same in both the encoder and the decoder. The search path can be specified in this search window. For example, a full search scheme or a fast search scheme is used here, so that the encoder and decoder can follow the same search path. For the motion vector MV0 in the search path, the projected motion vector MV1 can be obtained in the second search window. Here, it is assumed that the motion trajectory is a straight line in this short path. Metrics such as SAD can be calculated between (i) a reference block that faces MV0 in the first reference frame and (ii) a reference block that faces MV1 in the second reference frame. . A determination can be made as to whether there are any additional motion vectors MV0 that remain in the search path and have not yet been considered. If at least one MV0 remains, the process is repeated, and for the other MV0, the corresponding projected motion vector MV1 can be determined. In this way, a set of MV0 and MV1 pairs can be determined and a metric, eg, SAD, can be calculated for each pair. One of the plurality of MV0s is selected, and the selected MV0 obtains a desired value for the metric, eg, the minimum SAD, but is not limited thereto. Since a SAD metric of 0 is a theoretically optimal value, a minimum effective value for the SAD metric, i.e., a value close to 0, indicates a preferred mode. This MV0 is then used to predict the motion for the current block.

種々の実施形態においては、動きベクトルを決定するように、2つの参照フレームにおける2つのミラーブロック間の又は2つの投影ブロック間の差分絶対値の和が決定される。現在のブロックのサイズはMxN個の画素であり、現在のブロックの位置は、現在のブロックの最左上画素の座標により表される。種々の実施形態においては、参照フレームRにおける動きベクトルがMV=(mv_x,mv_y)であり、他の参照フレームRにおける対応する動きベクトルがMV=(mv_x,mv_y)であるとき、動き探索メトリックは、次式(1)を用いて決定される。
J=J+α+α (1)
ここで、Jは、(i)順方向参照フレームにおいてMV0が向いている参照ブロックと、逆方向参照フレーム(又は、図2のシナリオにおける第2順方向参照フレーム)においてMV1が向いている参照ブロックとの間で計算され、2009年9月25日に出願された米国特許出願公開第12/566,823号明細書において開示されている差分絶対値の和を表し、
は、参照ブロックの空間的に隣接するブロックに基づく拡張されたメトリックであり、Jは、現在のブロックの空間的に隣接するブロックに基づく拡張されたメトリックであり、この場合、α及びαは2つの重み係数である。重み係数α及びαは、シミュレーションにより決定されることが可能であり、デフォルトは1に設定される。
In various embodiments, the sum of absolute differences between two mirror blocks or between two projection blocks in two reference frames is determined to determine a motion vector. The size of the current block is M × N pixels, and the position of the current block is represented by the coordinates of the upper left pixel of the current block. In various embodiments, the motion vector in reference frame R 0 is MV 0 = (mv 0 _x, mv 0 _y), and the corresponding motion vector in other reference frame R 1 is MV 1 = (mv 1 _x, mv 1 _y), the motion search metric is determined using the following equation (1).
J = J 0 + α 1 J 1 + α 2 J 2 (1)
Here, J 0 is the reference that the reference block MV0 is facing, the backward reference frame (or the second forward reference frame in the scenario of FIG. 2) is MV1 in facing in (i) a forward reference frame Represents the sum of absolute difference values calculated between the blocks and disclosed in US patent application Ser. No. 12 / 566,823, filed Sep. 25, 2009,
J 1 is an expanded metric based on spatially adjacent blocks of the reference block, and J 2 is an expanded metric based on spatially adjacent blocks of the current block, where α 1 And α 2 are two weighting factors. The weighting factors α 1 and α 2 can be determined by simulation and the default is set to 1.

式(1)により値J、例えば、最小値のSADについての最適値を得る動きベクトルMV0が、その場合、現在のブロックについての動きベクトルとして選択されることが可能である。動きベクトルMV0は、次式
MV1=(d/d)xMV0
に従って定義される関連動きベクトルMV1を有し、
ここで、現在のブロックが双予測ピクチャ内にあるとき、dは、現在のフレームのピクチャと図1に示されている順方向参照フレームとの間の距離を表し、
現在のブロックが予測ピクチャ内にあるとき、dは、現在のフレームのピクチャと図2に示されている第1順方向参照フレームとの間の距離を表し、
現在のブロックが双予測ピクチャ内にあるとき、dは、現在のフレームのピクチャと図1に示されている逆方向参照フレームとの間の距離を表し、そして
現在のブロックが予測ピクチャ内にあるとき、dは、現在のフレームのピクチャと図2に示されている第2順方向参照フレームとの間の距離を表す。
The motion vector MV0 that obtains the optimal value for the value J, eg, the minimum value SAD, according to equation (1) can then be selected as the motion vector for the current block. The motion vector MV0 is expressed by the following equation MV1 = (d 1 / d 0 ) × MV0
Has an associated motion vector MV1 defined according to
Here, when the current block is in a bi-predictive picture, d 0 represents the distance between the picture of the current frame and the forward reference frame shown in FIG.
When the current block is in the predicted picture, d 0 represents the distance between the picture of the current frame and the first forward reference frame shown in FIG.
When the current block is in the bi-predictive picture, d 1 represents the distance between the picture of the current frame and the backward reference frame shown in FIG. 1, and the current block is in the predictive picture At some point, d 1 represents the distance between the picture of the current frame and the second forward reference frame shown in FIG.

図1のシナリオについては、現在のブロックについて得られた動きベクトルMV0及びMV1の対が与えられる場合、順方向予測P0(MV0)はMV0により得られることが可能であり、逆方向予測P1(MV1)はMV1により得られることが可能であり、そして双方向予測がMV0及びMV1の両方により得られることが可能である。双方向予測は、例えば、P0(MV0)及びP1(MV1)の平均、又は重み付け平均(P0(MV0)*d1+P1(MV1)*d0)/(d0+d1)であることが可能である。代替機能が、双方向予測を得るように用いられることが可能である。実施形態においては、エンコーダ及びデコーダは同じ予測方法を用いることが可能である。実施形態においては、選択される予測方法は、規格仕様において識別される又は符号化されたビットストリームにおいて信号が送られることが可能である。   For the scenario of FIG. 1, given the pair of motion vectors MV0 and MV1 obtained for the current block, the forward prediction P0 (MV0) can be obtained by MV0 and the backward prediction P1 (MV1 ) Can be obtained by MV1 and bi-directional prediction can be obtained by both MV0 and MV1. The bi-directional prediction can be, for example, the average of P0 (MV0) and P1 (MV1), or the weighted average (P0 (MV0) * d1 + P1 (MV1) * d0) / (d0 + d1). Alternative functions can be used to obtain bi-directional prediction. In an embodiment, the encoder and decoder can use the same prediction method. In an embodiment, the selected prediction method can be signaled in a bitstream identified or encoded in the standard specification.

図2のシナリオにおいては、現在のブロックについての予測が異なる方法で得られることが可能である。それらの予測は、例えば、P0(MV0)、P1(MV1)、(P0(MV0)+P1(MV1))/2又は(P0(MV0)*d1+P1(MV1)*d0/(d0+d1)であることが可能である。他の実施形態においては、他の機能が用いられることが可能である。それらの予測は、エンコーダ及びデコーダの両方において同じ方法で得られることが可能である。実施形態においては、予測方法は、規格仕様において識別される又は符号化ビットストリームにおいて信号が送られることが可能である。   In the scenario of FIG. 2, the prediction for the current block can be obtained in different ways. These predictions may be, for example, P0 (MV0), P1 (MV1), (P0 (MV0) + P1 (MV1)) / 2 or (P0 (MV0) * d1 + P1 (MV1) * d0 / (d0 + d1)) In other embodiments, other functions can be used, and their predictions can be obtained in the same way in both the encoder and decoder. The prediction method can be identified in the standard specification or signaled in the encoded bitstream.

種々の実施形態においては、Jは次式を用いて決定されることが可能である。 In various embodiments, J 0 can be determined using the following equation:

Figure 0005248632
ここで、N及びMは現在のブロックのx寸法及びy寸法のそれぞれであり、
は第1順方向参照フレームであり、R(x+mv_x+i,y+mv_y+j)は位置(x+mv_x+i,y+mv_y+j)のRにおける画素値であり、
は、ミラー動き推定(ME)についての第1逆方向参照フレーム又は投影動き推定についての第2順方向参照フレームであり、R(x+mv_x+i,y+mv_y+j)は位置(x+mv_x+i,y+mv_y+j)のRにおける画素値であり、
mv_xは、参照フレームRのx方向における現在のブロックについての動きベクトルであり、
mv_yは、参照フレームRのy方向における現在のブロックについての動きベクトルであり、
mv_xは、参照フレームRのx方向における現在のブロックについての動きベクトルであり、
mv_yは、参照フレームRのy方向における現在のブロックについての動きベクトルである。
Figure 0005248632
Where N and M are the x and y dimensions of the current block, respectively.
R 0 is the first forward reference frame, R 0 (x + mv 0 _x + i, y + mv 0 _y + j) is the pixel value in R 0 at position (x + mv 0 _x + i, y + mv 0 _y + j),
R 1 is a first backward reference frame for mirror motion estimation (ME) or a second forward reference frame for projection motion estimation, and R 1 (x + mv 1 _x + i, y + mv 1 _y + j) is a position (x + mv 1 _x + i). , Y + mv 1 _y + j) at R 1 ,
mv 0 — x is the motion vector for the current block in the x direction of the reference frame R 0 ,
mv 0 _y is a motion vector for the current block in the y direction of reference frame R 0 ,
mv 1 — x is the motion vector for the current block in the x direction of the reference frame R 1 ,
mv 1 _y is a motion vector for the current block in the y direction of the reference frame R 1 .

動きベクトルが端数画素位置の方を向いているとき、画素値が、補間により、例えば、H.264/AVC規格仕様において規定されている双一次補間又は6タップ補間により得られる。   When the motion vector is directed toward the fractional pixel position, the pixel value is obtained by interpolation, for example H.264. It is obtained by bilinear interpolation or 6-tap interpolation specified in the H.264 / AVC standard specification.

変数Jの説明は、図3を参照して行う。図3は、拡張された参照ブロックを示している。MxN個の参照ブロック302が、W、W、H及びHのそれぞれである拡張された縁サイズにより4つの縁において拡張されている。従って、図1及び2のシナリオで動きベクトルを決定するように用いられる参照フレームR及びRにおける参照ブロックの各々は、図3の実施例に従って拡張される。一部の実施形態においては、メトリックJは次式を用いて計算される。 Description of variables J 1 is made with reference to FIG. FIG. 3 shows the expanded reference block. M × N reference blocks 302 are extended at four edges with an extended edge size that is W 0 , W 1 , H 0 and H 1 respectively. Accordingly, each of the reference blocks in reference frames R 0 and R 1 used to determine the motion vector in the scenario of FIGS. 1 and 2 is extended according to the embodiment of FIG. In some embodiments, the metric J 1 is calculated using the following equation:

Figure 0005248632
ここで、M及びNは元の参照ブロックの寸法である。拡張された参照ブロックの寸法は(M+W+W)x(N+H+H)であることに留意されたい。
Figure 0005248632
Here, M and N are the dimensions of the original reference block. Note that the dimensions of the expanded reference block are (M + W 0 + W 1 ) × (N + H 0 + H 1 ).

変数Jの説明は、図4を参照して行う。図4は、現在のブロック402の空間的に隣のブロックを示している。変数Jについては、参照ブロックとは対照的である現在のブロックを参照して説明されることに留意されたい。現在のブロックは新しいピクチャに位置付けられる。ブロック402はMxN個の画素の現在のブロックである。ブロックの復号化はラスタ走査順序にあるため、復号化された4つの有効な空間的に隣の領域、即ち、左隣領域A、上隣領域A、左上隣領域A及び右上隣領域Aを有することが可能である。現在のブロックが複数のフレーム境界にあるとき又は親マクロブロック(MB)の上境界又は左境界にないとき、空間的に隣接する領域の一部は現在のブロックについて有効でない。有効性フラグが、4つの領域についてγ、γ、γ及びγとして定義される。領域のフラグが1に等しい場合には、その領域は有効であり、領域のフラグが0に等しい場合には、その領域は有効でない。その場合、有効な空間領域は、次式のように、現在のブロックについてAavailと定義される。
avail=γ+γ+γ+γ
従って、メトリックJは次式のように計算される。
Description of variables J 2 is made with reference to FIG. FIG. 4 shows a block that is spatially next to the current block 402. The variable J 2, the reference block is noted that as described with reference to the current block in contrast. The current block is positioned in the new picture. Block 402 is the current block of M × N pixels. Since the decoding of the blocks is in raster scan order, the four decoded spatially neighboring areas, namely the left neighbor area A 0 , the top neighbor area A 1 , the top left neighbor area A 2 and the top right neighbor area it is possible to have a 3. When the current block is at multiple frame boundaries or not at the upper or left boundary of the parent macroblock (MB), some of the spatially adjacent regions are not valid for the current block. Validity flags are defined as γ 0 , γ 1 , γ 2 and γ 3 for the four regions. If the region flag is equal to 1, the region is valid; if the region flag is equal to 0, the region is not valid. In that case, the valid spatial region is defined as A avail for the current block as follows:
A avail = γ 0 A 0 + γ 1 A 1 + γ 2 A 2 + γ 3 A 3
Therefore, the metric J 2 is calculated as follows.

Figure 0005248632
ここで、C(x,y)は、現在のブロックを境界付ける領域内の現在のフレームにおける画素であり、ω及びωは、新しいピクチャと、参照フレーム0及び1との間のフレーム距離に従って設定される、若しくは0.5に設定されることが可能である2つの重み係数である。
Figure 0005248632
Where C (x, y) is the pixel in the current frame in the region that bounds the current block, and ω 0 and ω 1 are the frame distances between the new picture and the reference frames 0 and 1 Are two weighting factors that can be set according to or can be set to 0.5.

Rxが新しいピクチャを表す場合、等しい重みは、RからRまでの距離がRからRまでの距離に等しい場合に生じる。RからRまでの距離がRからRまでの距離と異なる場合、重み係数は、それに応じて、重み付けの違いに基づいて設定される。 When Rx represents a new picture, equal weight occurs when the distance from R 0 to R x is equal to the distance from R 1 to R x . If the distance from R 0 to R x is different from the distance from R 1 to R x , the weighting factor is set accordingly based on the weighting difference.

実施形態においては、図4のパラメータが、次式のように設定されるが、それらに限定されるものではない。   In the embodiment, the parameters in FIG. 4 are set as shown in the following equation, but are not limited thereto.

Figure 0005248632
図5は、実施形態に従った処理を表している。ブロック502は、現在のブロックが双予測ピクチャ内にあるときの順方向参照フレームにおける、又は現在のブロックが予測ピクチャ内にあるときの第1順方向参照フレームにおける、探索ウィンドウを指定する段階である。この探索ウィンドウは、エンコーダ及びデコーダの両方において同じであることが可能である。
Figure 0005248632
FIG. 5 shows processing according to the embodiment. Block 502 is the step of specifying a search window in the forward reference frame when the current block is in the bi-predictive picture or in the first forward reference frame when the current block is in the predicted picture. . This search window can be the same in both the encoder and the decoder.

ブロック504は、順方向探索ウィンドウにおける探索経路を指定する段階を有する。ここでは、エンコーダ及びデコーダが同じ探索経路を辿る限り、フル探索スキーム又は何れかの高速探索スキームが用いられる。   Block 504 includes specifying a search path in the forward search window. Here, a full search scheme or any fast search scheme is used as long as the encoder and decoder follow the same search path.

ブロック506は、探索経路における各々のMV0について、(1)第2参照フレームについての探索ウィンドウにおける動きベクトルMV1と、(2)第1参照フレームにおける参照ブロック及びMV1が向いている第2参照フレームにおける参照ブロックに基づくメトリックとを決定する段階を有する。探索経路におけるMV0について、現在のブロックが双予測ピクチャ内にあるとき、ミラー動きベクトルMV1は、逆方向探索ウィンドウにおいて得られる。探索経路におけるMV0について、現在のブロックが予測ピクチャ内にあるとき、投影動きベクトルMV1は、第2順方向参照フレームについての探索ウィンドウにおいて得られる。ここで、動き軌道は関連時間期間中、相対的に短い直線であることを前提とすることが可能である。MV1は、MV0の次式の関数として得られ、ここでは、d0及びd1は、現在のフレームとそれぞれの参照フレームの各々との間の距離である。
MV1=(d/d)xMV0
ブロック508は、最も好ましいメトリックを有する動きベクトルMV0を選択することを有する。例えば、上記のメトリックJが決定され、メトリックJの最小値に関連するMV0が選択される。このMV0は、その場合、現在のブロックについての動きを予測するように用いられることが可能である。
Block 506 includes, for each MV0 in the search path, (1) a motion vector MV1 in the search window for the second reference frame and (2) a reference block in the first reference frame and a second reference frame to which MV1 is directed. Determining a metric based on the reference block. For MV0 in the search path, when the current block is in the bi-predictive picture, the mirror motion vector MV1 is obtained in the backward search window. For MV0 in the search path, when the current block is in the predicted picture, the projected motion vector MV1 is obtained in the search window for the second forward reference frame. Here, it is possible to assume that the motion trajectory is a relatively short straight line during the relevant time period. MV1 is obtained as a function of the following equation for MV0, where d0 and d1 are the distances between the current frame and each of the respective reference frames.
MV1 = (d 1 / d 0 ) × MV0
Block 508 comprises selecting a motion vector MV0 having the most favorable metric. For example, the above metric J is determined, and MV0 associated with the minimum value of the metric J is selected. This MV0 can then be used to predict the motion for the current block.

図6は、動きベクトルを決定するように用いられる実施形態を示している。システム600は、コンピュータプログラムロジック640を記憶することが可能である1つ又はそれ以上のコンピュータ読み出し可能媒体を有することが可能であるメモリの本体610及びプロセッサ620を有することが可能である。メモリ610は、例えば、ハードディスクドライブ、コンパクトディスクドライブ等の取り外し可能媒体、又は読み出し専用メモリ(ROM)ドライブとして実施されることが可能である。メモリは、プロセッサ620によりネットワークを介して遠隔的にアクセスされることが可能である。プロセッサ620及びメモリ610は、バス等の当業者に知られている複数の技術のうちの何れかを用いる通信におけるものであることが可能である。メモリ610に含まれている論理は、プロセッサ620により読み出されて、実行されることが可能である。I/O630として集合的に示されている1つ又はそれ以上のI/Oポート及び/又はI/O装置はまた、プロセッサ620及びメモリ610に接続されることが可能である。I/Oポートは、無線通信インタフェースのための1つ又はそれ以上のアンテナを有することが可能であり、又は有線通信インタフェースを有することが可能である。   FIG. 6 illustrates an embodiment used to determine motion vectors. System 600 can include a body of memory 610 and a processor 620 that can have one or more computer-readable media capable of storing computer program logic 640. The memory 610 can be implemented, for example, as a removable medium such as a hard disk drive, a compact disk drive, or a read only memory (ROM) drive. The memory can be accessed remotely over the network by the processor 620. The processor 620 and the memory 610 can be in communication using any of a number of techniques known to those skilled in the art, such as a bus. The logic contained in memory 610 can be read and executed by processor 620. One or more I / O ports and / or I / O devices, collectively shown as I / O 630, can also be connected to processor 620 and memory 610. The I / O port can have one or more antennas for a wireless communication interface, or can have a wired communication interface.

コンピュータプログラム論理640は動き推定論理660を有することが可能である。動き推定論理は、実行されるときに、上記の動き推定処理を実行することが可能である。動き推定論理660は、例えば、実行されるときに、上記の動作を実行する投影動き推定論理を有することが可能である。論理660は、例えば、ミラー動き推定論理、現在のブロックの時間的又は空間的隣接ブロックに基づいて動き推定を実行する論理、又は現在のブロックに対応する下層ブロックに基づいて動き推定を実行する論理、も有する、又は代替として有することが可能である。   Computer program logic 640 may include motion estimation logic 660. When motion estimation logic is executed, it is possible to perform the motion estimation process described above. The motion estimation logic 660 can include, for example, projection motion estimation logic that, when executed, performs the above operations. Logic 660 may be, for example, mirror motion estimation logic, logic that performs motion estimation based on temporal or spatial neighboring blocks of the current block, or logic that performs motion estimation based on underlying blocks corresponding to the current block. , Or as an alternative.

その処理を実行する動き推定論理660に先行して、探索範囲ベクトルが生成されることが可能である。この探索範囲ベクトルは、探索範囲計算論理650により上記のように実行されることが可能である。探索計算のために実行される技術については、例えば、2009年10月20日に出願された米国出願公開第12/582,061号明細書に記載されている。一旦、探索範囲ベクトルが生成されると、このベクトルは、動き推定論理660により実行される探索を境界付けるように用いられることが可能である。   A search range vector may be generated prior to motion estimation logic 660 that performs the process. This search range vector can be executed as described above by the search range calculation logic 650. The technique executed for the search calculation is described in, for example, US Application Publication No. 12 / 582,061 filed on October 20, 2009. Once the search range vector is generated, this vector can be used to demarcate the search performed by motion estimation logic 660.

探索範囲ベクトルの決定を実行する論理は、より大きいコーデックアーキテクチャで用いられる自己動きベクトル導出モジュールに組み込まれることが可能である。図7は、自己動きベクトル導出モジュール740を有することが可能である例示としてのH.264ビデオエンコーダアーキテクチャ700を示していて、ここで、H.264haビデオコーデック規格である。現在のビデオ情報は、複数のフレームの形で現在のビデオブロック710から提供されることが可能である。現在のビデオは、差分ユニット711に渡されることが可能である。差分ユニット711は、動き補償段階722及び動き推定段階718を有することが可能である差分パルスコード変調(Differential Pulse Code Modulation:DPCM)(コアビデオ符号化とも呼ばれる)ループの一部であることが可能である。そのループはまた、イントラ予測段階720及びイントラ補間段階724を有することが可能である。一部の場合、インループデブロッキングフィルタ726も、そのループで用いられることが可能である。   The logic that performs the search range vector determination can be incorporated into a self-motion vector derivation module used in larger codec architectures. FIG. 7 illustrates an exemplary H.264 that may have a self motion vector derivation module 740. H.264 video encoder architecture 700, where H.264 video encoder architecture 700 is shown. H.264ha video codec standard. Current video information can be provided from the current video block 710 in the form of multiple frames. The current video can be passed to the difference unit 711. The difference unit 711 may be part of a Differential Pulse Code Modulation (DPCM) (also called core video coding) loop that may have a motion compensation stage 722 and a motion estimation stage 718. It is. The loop may also have an intra prediction stage 720 and an intra interpolation stage 724. In some cases, an in-loop deblocking filter 726 can also be used in the loop.

現在のビデオ710は、差分ユニット711及び動き推定段階718に供給されることが可能である。動き補償段階722又はイントラ補間段階724は、その場合に、残り(residual)を生成するように現在のビデオから減算されることが可能である、スイッチ723を介しての出力を生成することが可能である。その残りは、その場合、変換/量子化段階712で変換されて、量子化され、そしてブロック714におけるエントロピー符号化を受ける。その結果、チャネル出力がブロック716で得られる。   The current video 710 can be provided to the difference unit 711 and the motion estimation stage 718. Motion compensation stage 722 or intra-interpolation stage 724 can then produce an output via switch 723 that can be subtracted from the current video to produce a residual. It is. The remainder is then transformed and quantized in transform / quantization stage 712 and subjected to entropy coding in block 714. As a result, a channel output is obtained at block 716.

動き補償段階722又は内部補間段階724の出力が、逆量子化ユニット730及び逆変換ユニット732からの入力を受け入れることも可能である加算器733に供給されることが可能である。後者の2つのユニットは、変換/量子化段階712の変換及び量子化を取り消す。逆変換ユニット732は、逆量子化されて、逆変換された情報をそのループに戻すように供給することが可能である。   The output of motion compensation stage 722 or internal interpolation stage 724 can be provided to an adder 733 that can also accept inputs from inverse quantization unit 730 and inverse transform unit 732. The latter two units cancel the transformation and quantization of the transformation / quantization stage 712. Inverse transform unit 732 may be dequantized and provide the inverse transformed information back to the loop.

自己動きベクトル導出モジュール740は、動きベクトルの導出のために上記の処理を実行することが可能である。自己動きベクトル導出モジュール740は、インループデブロッキングフィルタ726の出力を受け入れることが可能であり、動き補償段階722に出力を供給することが可能である。   The self-motion vector deriving module 740 can perform the above processing for deriving a motion vector. Self-motion vector derivation module 740 can accept the output of in-loop deblocking filter 726 and can provide an output to motion compensation stage 722.

図8は、自己動きベクトル導出モジュール810を備えたH.264ビデオデコーダ800を示している。ここでは、図7のエンコーダ700のためのデコーダ800は、エントロピー復号化ユニット840に結合されたチャネル入力838を有することが可能である。復号化ユニット840からの出力は、逆量子化ユニット842及び逆変換ユニット844に、並びに自己動きベクトル導出モジュール810に供給されることが可能である。自己動きベクトル導出モジュール810は動き補償ユニット848に結合されることが可能である。エントロピー復号化ユニット840の出力は、切り換えスイッチ823に供給することが可能であるイントラ補間ユニット854にも供給されることが可能である。逆変換ユニット844と、スイッチ823により選択される動き補償ユニット848かイントラ補間ユニット854のどちらかとからの情報は、その場合、まとめられ、インループデブロッキングユニット846に供給され、イントラ補間ユニットに戻るように供給されることが可能である。インループデブロッキングユニット846の出力は、その場合、自己動きベクトル導出モジュール810に供給されることが可能である。   FIG. 8 shows the H.264 with self-motion vector derivation module 810. A H.264 video decoder 800 is shown. Here, the decoder 800 for the encoder 700 of FIG. 7 may have a channel input 838 coupled to the entropy decoding unit 840. The output from the decoding unit 840 can be provided to the inverse quantization unit 842 and the inverse transform unit 844 and to the self motion vector derivation module 810. Self-motion vector derivation module 810 can be coupled to motion compensation unit 848. The output of the entropy decoding unit 840 can also be supplied to an intra interpolation unit 854 that can be supplied to a changeover switch 823. Information from the inverse transform unit 844 and either the motion compensation unit 848 selected by the switch 823 or the intra interpolation unit 854 is then combined and supplied to the in-loop deblocking unit 846 and back to the intra interpolation unit. Can be supplied as follows. The output of the in-loop deblocking unit 846 can then be provided to the self motion vector derivation module 810.

自己動きベクトル導出モジュールはビデオエンコーダに位置付けられ、ビデオデコーダ側と同期することが可能である。自己動きベクトル導出モジュールは、代替として、一般ビデオコーデックアーキテクチャに適用されることが可能であり、H.264符号化アーキテクチャに限定されるものではない。従って、動きベクトルは、エンコーダからデコーダに送信されるのではなく、そのことは送信帯域幅を節約することができる。   The self motion vector deriving module is positioned in the video encoder and can be synchronized with the video decoder side. The self-motion vector derivation module can alternatively be applied to a general video codec architecture, It is not limited to the H.264 encoding architecture. Thus, motion vectors are not transmitted from the encoder to the decoder, which can save transmission bandwidth.

種々の実施形態は、ビデオコーデックシステムの符号化効率を改善するように自己動きベクトル(MV)導出モジュールのデコーダ側動き推定(ME)のための空間的−時間的組み合わせ動き探索を用いる。   Various embodiments use a combined spatial-temporal motion search for decoder-side motion estimation (ME) of the self-motion vector (MV) derivation module to improve the coding efficiency of the video codec system.

本明細書で述べているグラフィクス技術及び/又は処理技術は、種々のハードウェアアーキテクチャにおいて実施されることが可能である。例えば、グラフィクス機能及び/又はビデオ機能は、チップセット内に統合されることが可能である。代替として、別個のグラフィクスプロセッサ及び/又はビデオプロセッサが用いられることが可能である。他の実施形態においては、グラフィクス機能及び/又はビデオ機能は、マルチコアプロセッサを有する汎用目的のプロセッサにより実施されることが可能である。他の実施形態においては、それらの機能は、消費者のエレクトロニクス装置で実施されることが可能である。   The graphics and / or processing techniques described herein can be implemented in various hardware architectures. For example, graphics functions and / or video functions can be integrated into the chipset. Alternatively, a separate graphics processor and / or video processor can be used. In other embodiments, the graphics functions and / or video functions can be implemented by a general purpose processor having a multi-core processor. In other embodiments, these functions can be implemented in a consumer electronics device.

本発明の実施形態は、マザーボード、ハードワイヤード論理、メモリ装置により記憶されているソフトウェアを用いて、そしてマイクロプロセッサ、ファームウェア、ASIC(特定用途向け集積回路)及び/又はFPGA(Field Programmable Gate Array)により実行される1つ又はそれ以上のマイクロチップ又は集積回路の何れか又はそれらの組み合わせとして実施されることが可能である。用語“論理(ロジック)”は、例示として、ソフトウェア又はハードウェア並びに/若しくはソフトウェア及びハードウェアの組み合わせを有することが可能である。 Embodiments of the present invention use software stored by a motherboard, hardwired logic, memory device, and by a microprocessor, firmware, ASIC (application specific integrated circuit) and / or FPGA (Field Programmable Gate Array). It can be implemented as any one or more of microchips or integrated circuits that are implemented or a combination thereof. The term "logic (logic)" may be as exemplified, with a combination of software or hardware and / or software and hardware.

本発明の実施形態は、例えば、コンピュータ、複数のコンピュータのネットワーク又は他の電子装置等の1つ又はそれ以上の機械により実行されるときに、本発明の実施形態に従った動作を実行する1つ又はそれ以上の機械においてもたらされる機器実行可能命令が記憶されている1つ又はそれ以上の機械読み出し可能媒体を有することが可能であるコンピュータプログラムプロダクトとして提供されることが可能である。機械読み出し可能媒体には、フロッピー(登録商標)ディスク、光ディスク、CD−ROM(Compact Disc−Read Only Memories)、光磁気ディスク、ROM(読み出し専用メモリ)、RAM(ランダムアクセスメモリ)、EPROM(消去可能プログラマブルROM)、EEPROM(電気的消却・プログラマブルROM)、磁気カード又は光カード、フラッシュメモリ、若しくは他の種類の機械実行可能命令を記憶するために適切な媒体又は機械読み出し可能媒体があるが、それらに限定されるものではない。   Embodiments of the present invention perform operations according to embodiments of the present invention when executed by one or more machines, such as, for example, a computer, a network of computers, or other electronic devices. It can be provided as a computer program product that can have one or more machine-readable media on which device-executable instructions provided in one or more machines are stored. Machine-readable media include floppy (registered trademark) disk, optical disk, CD-ROM (Compact Disc-Read Only Memories), magneto-optical disk, ROM (read-only memory), RAM (random access memory), EPROM (erasable) Programmable ROM), EEPROM (electrical extinguishable / programmable ROM), magnetic card or optical card, flash memory, or other type of machine-executable medium suitable for storing machine-executable instructions, such as It is not limited to.

添付図及び上記の詳述は、本発明の実施例を与えるものである。それらにおいては異なる機能要素として示されているが、当業者は、それらの要素の1つ又はそれ以上が単一の機能要素にうまく組み合わされることが可能であることを理解することができる。代替として、特定の要素は複数の機能要素に分割されることが可能である。1つの実施形態における要素が他の実施形態に付加されることが可能である。更に、何れかのフローチャートの段階は、示されている順序で実行される必要はなく、それらの段階の全てが実行される必要はない。また、他の段階に依存しない段階は、他の段階と並列して実行されることが可能である。しかしながら、本発明の範囲は、それらの特定の実施例に決して限定されるものではない。明細書に明示的に記載されているか否かに拘わらず、構造、寸法、材料使用等の種々の変形が可能である。本発明の範囲については、同日提出の特許請求の範囲に記載されている。   The accompanying drawings and detailed description above provide examples of the invention. Although shown as different functional elements in them, one skilled in the art can appreciate that one or more of those elements can be successfully combined into a single functional element. Alternatively, a particular element can be divided into a plurality of functional elements. Elements in one embodiment can be added to other embodiments. Further, the steps of any flowchart need not be performed in the order shown, and not all of those steps need be performed. In addition, a stage that does not depend on another stage can be executed in parallel with the other stage. However, the scope of the invention is in no way limited to those specific examples. Regardless of whether it is explicitly described in the specification, various modifications such as structure, dimensions, and material use are possible. The scope of the present invention is described in the claims filed on the same day.

Claims (20)

コンピュータにより実行される方法であって:
ビデオデコーダにおいて、第1参照フレームにおける探索ウィンドウを指定する段階;
前記第1参照フレームの前記探索ウィンドウにおける探索経路を指定する段階;
各々の動きベクトルMV0が現在のブロックから前記探索ウィンドウにおける参照ブロックの方を向いている、前記探索経路における各々の動きベクトルMV0について、第2参照フレームにおいて参照ブロックの方を向いている対応する第2の動きベクトルMV1を決定する段階であって、前記対応する第2の動きベクトルMV1は前記動きベクトルMV0の関数である、段階;
前記探索経路にある前記動きベクトルMV0及び前記第2の動きベクトルMV1の対の各々についてのメトリックを決定する段階であって、前記メトリックは第1メトリック、第2メトリック及び第3メトリックの組み合わせを有し、前記第1メトリックは時間的フレーム相関性に基づき、前記第2メトリックは前記参照ブロックの空間的に隣接するブロックに基づき、そして前記第3メトリックは前記現在のブロックの空間的に隣接するブロックに基づいている、段階;
前記メトリックについての前記動きベクトルMV0の対応する値が所望の値である前記動きベクトルMV0を選択する段階であって、前記選択された動きベクトルMV0は現在のブロックについての動きベクトルとして用いられる、段階;並びに
表示のためのピクチャを備える段階であって、表示のための前記ピクチャは前記選択された動きベクトルMV0の一部に基づいている、段階;
を有する方法。
A method performed by a computer comprising:
Designating a search window in a first reference frame in a video decoder;
Designating a search path in the search window of the first reference frame;
Each motion vector MV0 is directed from the current block toward the reference block in the search window. For each motion vector MV0 in the search path, the corresponding first in the second reference frame is directed toward the reference block. Determining a second motion vector MV1, wherein the corresponding second motion vector MV1 is a function of the motion vector MV0;
Determining a metric for each pair of the motion vector MV0 and the second motion vector MV1 in the search path, the metric having a combination of a first metric, a second metric, and a third metric. The first metric is based on temporal frame correlation, the second metric is based on spatially adjacent blocks of the reference block, and the third metric is spatially adjacent blocks of the current block. Based on the stage;
Selecting the motion vector MV0 for which the corresponding value of the motion vector MV0 for the metric is a desired value, wherein the selected motion vector MV0 is used as a motion vector for the current block; And providing a picture for display, wherein the picture for display is based on a portion of the selected motion vector MV0;
Having a method.
請求項1に記載の方法であって、メトリックを決定する前記段階は:
前記第1メトリック、前記第2メトリック及び前記第3メトリックの重み平均を決定する段階;
を有する方法。
The method of claim 1, wherein the steps of determining a metric are:
Determining a weighted average of the first metric, the second metric, and the third metric;
Having a method.
請求項1又は2に記載の方法であって、メトリックを決定する前記段階は:
次式
Figure 0005248632
に基づいて前記第1メトリックを決定する段階であって、ここで、N及びMは前記現在のブロックのy寸法及びx寸法のそれぞれであり、Rは第1順方向参照フレームを有し、R(x+mv_x+i,y+mv_y+j)は位置(x+mv_x+i,y+mv_y+j)のRにおける画素値であり、Rはミラー動き推定についての第1逆方向参照フレーム又は投影動き推定についての第2順方向参照フレームを有し、R(x+mv_x+i,y+mv_y+j)は位置(x+mv_x+i,y+mv_y+j)のRにおける画素値を有し、mv_xは参照フレームRのx方向における現在のブロックについての動きベクトルを有し、mv_yは参照フレームRのy方向における現在のブロックについての動きベクトルを有し、mv_xは参照フレームRのx方向における現在のブロックについての動きベクトルを有し、mv_yは参照フレームRのy方向における現在のブロックについての動きベクトルを有する、段階;
を有する方法。
3. A method as claimed in claim 1 or 2, wherein the step of determining a metric is:
Next formula
Figure 0005248632
Determining the first metric based on where N and M are the y and x dimensions of the current block, respectively, and R 0 has a first forward reference frame; R 0 (x + mv 0 _x + i, y + mv 0 _y + j) is the pixel value at R 0 at position (x + mv 0 _x + i, y + mv 0 _y + j), and R 1 is the first reverse reference frame or projection motion estimation for mirror motion estimation R 1 (x + mv 1 _x + i, y + mv 1 _y + j) has a pixel value in R 1 at position (x + mv 1 _x + i, y + mv 1 _y + j), and mv 0 _x is a reference frame R has a motion vector for the current block in the 0 in the x-direction, mv 0 _y is present in the y-direction of the reference frame R 0 Has a motion vector for the block, mv 1 _x has a motion vector for the current block in the x direction of the reference frame R 1, mv 1 _y is for the current block in the y direction of the reference frame R 1 Having a motion vector, stage;
Having a method.
請求項1乃至3の何れか一項に記載の方法であって、メトリックを決定する前記段階は:
次式
Figure 0005248632
に基づいて前記第2メトリックを決定する段階であって、ここで、W,W,H及びHは、拡張された縁サイズであり、拡張された参照ブロックの寸法は、(M+W+W)×(N+H+H)である、段階;
を有する方法。
4. A method as claimed in any preceding claim, wherein the steps of determining a metric are:
Next formula
Figure 0005248632
Determining the second metric based on, where W 0 , W 1 , H 0 and H 1 are expanded edge sizes, and the expanded reference block dimensions are (M + W 0 + W 1 ) × (N + H 0 + H 1 ), steps;
Having a method.
請求項1乃至4の何れか一項に記載の方法であって、メトリックを決定する前記段階は:
次式
Figure 0005248632
に基づいて前記第3メトリックを決定する段階であって、ここで、Aavailは前記現在のブロックの周囲の領域を有し、C(x,y)は前記現在のブロックを境界付ける領域内の現在のフレームにおける画素を有し、ω及びωは、新しいピクチャと参照フレーム0及び1との間のフレーム距離に従って設定される2つの重み係数である、段階;
を有する方法。
5. A method as claimed in any preceding claim, wherein the step of determining a metric is:
Next formula
Figure 0005248632
Determining the third metric based on where A avail has an area around the current block and C (x, y) is in the area bounding the current block Having pixels in the current frame, ω 0 and ω 1 are two weighting factors set according to the frame distance between the new picture and the reference frames 0 and 1;
Having a method.
請求項1乃至5の何れか一項に記載の方法であって、前記現在のブロックは双予測ピクチャ内にあり、前記第1順方向参照フレームは順方向参照フレームを有し、前記第2順方向参照フレームは逆方向参照フレームを有する、方法。   6. The method according to any one of claims 1 to 5, wherein the current block is in a bi-predictive picture, the first forward reference frame comprises a forward reference frame, and the second forward The method, wherein the direction reference frame comprises a reverse reference frame. 請求項1乃至6の何れか一項に記載の方法であって、前記現在のブロックは予測ピクチャ内にあり、前記第1順方向参照フレームは第1順方向参照フレームを有し、前記第2順方向参照フレームは第2順方向参照フレームを有する、方法。   7. A method as claimed in any preceding claim, wherein the current block is in a predicted picture, the first forward reference frame comprises a first forward reference frame, and the second The method wherein the forward reference frame comprises a second forward reference frame. 請求項1乃至7の何れか一項に記載の方法であって、前記メトリックは差分絶対値の和であり、前記所望の値は差分絶対値の最小の和である、方法。   8. A method according to any one of the preceding claims, wherein the metric is a sum of absolute differences and the desired value is a minimum sum of absolute differences. 請求項1乃至8の何れか一項に記載の方法であって:
エンコーダにおいて、第3参照フレームにおいて第2探索ウィンドウを指定し、前記第3参照フレームの前記第2探索ウィンドウにおいて第2探索経路を指定することにより、前記現在のブロックについての動きベクトルを決定する段階;
各々の動きベクトルMV2が前記現在のブロックから前記第2探索ウィンドウにおける参照ブロックの方を向いている、前記第2探索経路における各々の動きベクトルMV2について、第4参照フレームにおける参照ブロックの方を向いている対応する第2動きベクトルMV3を決定する段階;
前記第2探索経路にある動きベクトルMV2及び前記第2動きベクトルMV3の各々の対についてのメトリックを決定する段階であって、前記メトリックは第1メトリック、第2メトリック及び第3メトリックの組み合わせを有する、段階;並びに
前記メトリックについての前記動きベクトルMV2の対応する値が所望の値である前記動きベクトルMV2を選択する段階であって、前記選択された動きベクトルMV2は前記現在のブロックについての動きベクトルとして用いられる、段階;
を更に有する、方法。
A method according to any one of the preceding claims, wherein:
In the encoder, determining a motion vector for the current block by designating a second search window in a third reference frame and designating a second search path in the second search window of the third reference frame. ;
Each motion vector MV2 is directed from the current block toward the reference block in the second search window, and for each motion vector MV2 in the second search path, is directed toward the reference block in the fourth reference frame. Determining a corresponding second motion vector MV3;
Determining a metric for each pair of motion vector MV2 and second motion vector MV3 in the second search path, the metric comprising a combination of a first metric, a second metric, and a third metric Selecting the motion vector MV2 for which the corresponding value of the motion vector MV2 for the metric is a desired value, the selected motion vector MV2 being a motion vector for the current block Used as a stage;
The method further comprising:
探索経路において各々の動きベクトルMV0を決定する論理手段であって、各々のMV0は現在のブロックから探索ウィンドウにおける参照ブロックの方を向いている、論理手段
第2参照フレームにおいて参照ブロックの方を向いている対応する第2の動きベクトルMV1を決定する論理手段であって、前記対応する第2の動きベクトルMV1はMV0の関数である、論理手段
前記探索経路にある動きベクトルMV0及び前記対応する第2の動きベクトルMV1の各々の対についてのメトリックを決定する論理手段であって、前記メトリックは、第1メトリック、第2メトリック及び第3メトリックの組み合わせを有し、前記第1メトリックは時間的フレーム相関性に基づき、第2メトリックは前記参照ブロックの空間的に隣接するブロックに基づき、そして第3メトリックは前記現在のブロックの空間的に隣接するブロックに基づく、論理手段;並びに
前記メトリックの前記動きベクトルMV0の対応する値が所望の値である前記MV0を選択する論理手段であって、前記選択された動きベクトルMV0は、前記現在のブロックについての動きベクトルとして用いられる、論理手段
を有するビデオデコーダ。
A logic means for determining the respective motion vector MV0 in the search path, each MV0 is facing towards the current block of the reference block in the search window, the logic means;
A logic means for determining the second motion vector MV1 corresponding facing towards the reference block in the second reference frame, the corresponding second motion vector MV1 is a function of MV0, logic means;
Logic means for determining a metric for each pair of motion vector MV0 and corresponding second motion vector MV1 in the search path, the metric comprising a first metric, a second metric and a third metric The first metric is based on temporal frame correlation, the second metric is based on spatially adjacent blocks of the reference block, and the third metric is spatially adjacent to the current block based on the block, the logic means; a logic means corresponding value of the motion vector MV0 of and the metric to select the MV0 is the desired value, the motion vector MV0 said selected, said the current block Logical means used as a motion vector of
A video decoder.
請求項10に記載のビデオデコーダであって:
前記第1参照フレームにおいて前記探索ウィンドウを指定する論理手段
前記第1参照フレームの前記探索ウィンドウにおいて前記探索経路を指定する論理手段;及び
前記第2参照フレームにおいて探索ウィンドウを指定する論理手段
を更に有する、ビデオデコーダ。
The video decoder according to claim 10, wherein:
Logic means for designating the search window in the first reference frame;
Logic means for designating a search window in and the second reference frame; logic means for specifying the searched route in the search window of the first reference frame;
A video decoder.
請求項10又は11に記載のビデオデコーダであって、メトリックを決定するように、前記論理手段は:
次式
Figure 0005248632
に基づいて前記第1メトリックを決定するためのものであって、ここで、N及びMは前記現在のブロックのy寸法及びx寸法のそれぞれであり、mv_xは参照フレームRのx方向における現在のブロックについての動きベクトルを有し、mv_yは参照フレームRのy方向における現在のブロックについての動きベクトルを有し、mv_xは参照フレームRのx方向における現在のブロックについての動きベクトルを有し、mv_yは参照フレームRのy方向における現在のブロックについての動きベクトルを有する;
ビデオデコーダ。
12. A video decoder according to claim 10 or 11, wherein the logic means is to determine a metric:
Next formula
Figure 0005248632
To determine the first metric, where N and M are the y and x dimensions of the current block, respectively, and mv 0 _x is the x direction of the reference frame R 0 Mv 0 _y has a motion vector for the current block in the y direction of reference frame R 0 , and mv 1 _x is a current block in the x direction of reference frame R 1 Mv 1 _y has a motion vector for the current block in the y direction of reference frame R 1 ;
Video decoder.
請求項10乃至12の何れか一項に記載のビデオデコーダであって、メトリックを決定するように、前記論理手段は:
次式
Figure 0005248632
に基づいて前記第2メトリックを決定するものであって、ここで、W,W,H及びHは、拡張された縁サイズであり、拡張された参照ブロックの寸法は、(M+W+W)×(N+H+H)である;
方法。
13. A video decoder as claimed in any one of claims 10 to 12, wherein the logic means is for determining a metric:
Next formula
Figure 0005248632
To determine the second metric, where W 0 , W 1 , H 0 and H 1 are extended edge sizes, and the expanded reference block dimensions are (M + W 0 + W 1 ) × (N + H 0 + H 1 );
Method.
請求項10乃至13の何れか一項に記載の方法であって、メトリックを決定するように、前記論理手段は:
次式
Figure 0005248632
に基づいて前記第3メトリックを決定するものであって、ここで、Aavailは前記現在のブロックの周囲の領域を有し、C(x,y)は前記現在のブロックを境界付ける領域内の現在のフレームにおける画素を有し、ω及びωは、新しいピクチャと参照フレーム0及び1との間のフレーム距離に従って設定される2つの重み係数である;
ビデオデコーダ。
14. A method as claimed in any one of claims 10 to 13, wherein the logic means is to determine a metric:
Next formula
Figure 0005248632
, Wherein A avail has an area around the current block and C (x, y) is in the area bounding the current block With pixels in the current frame, ω 0 and ω 1 are two weighting factors set according to the frame distance between the new picture and reference frames 0 and 1;
Video decoder.
請求項10乃至14の何れか一項に記載のビデオデコーダであって、前記現在のブロックは双予測ピクチャ内にあり、前記第1順方向参照フレームは順方向参照フレームを有し、前記第2順方向参照フレームは逆方向参照フレームを有する、ビデオデコーダ。   15. A video decoder according to any one of claims 10 to 14, wherein the current block is in a bi-predictive picture, the first forward reference frame comprises a forward reference frame, and the second A video decoder, wherein the forward reference frame comprises a backward reference frame. 請求項10乃至15の何れか一項に記載のビデオデコーダであって、前記現在のブロックは予測ピクチャ内にあり、前記第1順方向参照フレームは第1順方向参照フレームを有し、前記第2順方向参照フレームは第2順方向参照フレームを有する、ビデオデコーダ。   16. The video decoder according to any one of claims 10 to 15, wherein the current block is in a predicted picture, the first forward reference frame comprises a first forward reference frame, The video decoder, wherein the two forward reference frames comprise a second forward reference frame. ディスプレイ;
メモリ;並びに
前記ディスプレイに通信可能に結合されたプロセッサであって、該プロセッサは、
各々の動きベクトルMV0が現在のブロックから探索ウィンドウにおける参照ブロックの方を向いていて、探索経路において各々の動きベクトルMV0を決定し、
第2参照フレームにおいて参照ブロックの方を向いている対応する第2の動きベクトルMV1が動きベクトルMV0の関数であり、前記対応する第2の動きベクトルMV1を決定し、
前記探索経路にある動きベクトルMV0及び前記対応する第2の動きベクトルMV1の対の各々についてのメトリックは、第1メトリック、第2メトリック及び第3メトリックの組み合わせを有し、前記第1メトリックは時間的フレーム相関性に基づき、前記第2メトリックは前記参照ブロックの空間的に隣接するブロックに基づき、そして前記第3メトリックは前記現在のブロックの空間的に隣接するブロックに基づいていて、前記メトリックを決定し、
前記メトリックについての前記動きベクトルMV0の対応する値が所望の値である前記動きベクトルMV0が選択され、前記選択された動きベクトルMV0は前記現在のブロックについての動きベクトルとして用いられる、プロセッサ;
を有するシステム。
display;
A processor communicatively coupled to the display, the processor comprising:
Each motion vector MV0 is directed from the current block toward the reference block in the search window, and determines each motion vector MV0 in the search path;
A corresponding second motion vector MV1 facing the reference block in the second reference frame is a function of the motion vector MV0, determining the corresponding second motion vector MV1;
The metric for each pair of motion vector MV0 and corresponding second motion vector MV1 in the search path has a combination of a first metric, a second metric, and a third metric, wherein the first metric is time. The second metric is based on spatially neighboring blocks of the reference block, and the third metric is based on spatially neighboring blocks of the current block, Decide
A processor in which the motion vector MV0 is selected whose corresponding value of the motion vector MV0 for the metric is a desired value, and the selected motion vector MV0 is used as a motion vector for the current block;
Having a system.
請求項17に記載のシステムであって:
前記プロセッサに通信可能に結合された無線ネットワークインタフェース;
を更に有する、システム。
The system of claim 17, wherein:
A wireless network interface communicatively coupled to the processor;
Further comprising a system.
請求項17又は18に記載のシステムであって、メトリックを決定するように、前記プロセッサは:
次式
Figure 0005248632
に基づいて前記第1メトリックを決定し、
次式
Figure 0005248632
に基づいて前記第2メトリックを決定し、そして
次式
Figure 0005248632
に基づいて前記第3メトリックを決定し、
ここで、N及びMは前記現在のブロックのy寸法及びx寸法のそれぞれであり、mv_xは参照フレームRのx方向における現在のブロックについての動きベクトルを有し、mv_yは参照フレームRのy方向における現在のブロックについての動きベクトルを有し、mv_xは参照フレームRのx方向における現在のブロックについての動きベクトルを有し、mv_yは参照フレームRのy方向における現在のブロックについての動きベクトルを有し、
,W,H及びHは、拡張された縁サイズであり、拡張された参照ブロックの寸法は、(M+W+W)×(N+H+H)であり、
availは前記現在のブロックの周囲の領域を有し、C(x,y)は前記現在のブロックを境界付ける領域内の現在のフレームにおける画素を有し、ω及びωは、新しいピクチャと参照フレーム0及び1との間のフレーム距離に従って設定される2つの重み係数である;
システム。
19. A system as claimed in claim 17 or 18, wherein the processor:
Next formula
Figure 0005248632
Determining the first metric based on:
Next formula
Figure 0005248632
And determining the second metric based on:
Figure 0005248632
Determining the third metric based on:
Where N and M are the y and x dimensions of the current block, respectively, mv 0 _x has a motion vector for the current block in the x direction of the reference frame R 0 , and mv 0 _y is a reference has a motion vector for the current block in the y direction of the frame R 0, mv 1 _x has a motion vector for the current block in the x direction of the reference frame R 1, mv 1 _y the reference frame R 1 has a motion vector for the current block in the y direction;
W 0 , W 1 , H 0 and H 1 are expanded edge sizes, and the dimensions of the expanded reference block are (M + W 0 + W 1 ) × (N + H 0 + H 1 )
A avail has an area around the current block, C (x, y) has pixels in the current frame in the area that bounds the current block, and ω 0 and ω 1 are the new pictures And two weighting factors set according to the frame distance between and reference frames 0 and 1;
system.
請求項17乃至19の何れか一項に記載のシステムであって:
前記現在のブロックが双予測ピクチャ内にあるとき、前記第1順方向参照フレームは順方向参照フレームを有し、前記第2順方向参照フレームは逆方向参照フレームを有し、
前記現在のブロックが予測ピクチャ内にあるとき、前記第1順方向参照フレームは第1順方向参照フレームを有し、前記第2順方向参照フレームは第2順方向参照フレームを有する、
システム。
20. A system according to any one of claims 17 to 19, comprising:
When the current block is in a bi-predictive picture, the first forward reference frame has a forward reference frame and the second forward reference frame has a backward reference frame;
When the current block is in a predicted picture, the first forward reference frame has a first forward reference frame and the second forward reference frame has a second forward reference frame;
system.
JP2011004871A 2010-01-14 2011-01-13 Techniques for motion estimation Active JP5248632B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/657,168 2010-01-14
US12/657,168 US20110002387A1 (en) 2009-07-03 2010-01-14 Techniques for motion estimation

Publications (2)

Publication Number Publication Date
JP2011147130A JP2011147130A (en) 2011-07-28
JP5248632B2 true JP5248632B2 (en) 2013-07-31

Family

ID=44461814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011004871A Active JP5248632B2 (en) 2010-01-14 2011-01-13 Techniques for motion estimation

Country Status (5)

Country Link
JP (1) JP5248632B2 (en)
KR (2) KR101388902B1 (en)
CN (1) CN102340664B (en)
DE (1) DE102011008630A1 (en)
TW (1) TW201204054A (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. 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
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
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
KR101422422B1 (en) 2010-12-21 2014-07-23 인텔 코오퍼레이션 System and method for enhanced dmvd processing
TWI476640B (en) 2012-09-28 2015-03-11 Ind Tech Res Inst Smoothing method and apparatus for time data sequences
JP6549516B2 (en) * 2016-04-27 2019-07-24 日本電信電話株式会社 Video coding apparatus, video coding method and video coding program
WO2019001741A1 (en) * 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. Motion vector refinement for multi-reference prediction
US11025947B2 (en) * 2018-11-29 2021-06-01 Mediatek Inc. Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100508798B1 (en) * 2002-04-09 2005-08-19 엘지전자 주식회사 Method for predicting bi-predictive block
HUE044616T2 (en) 2002-04-19 2019-11-28 Panasonic Ip Corp America Motion vector calculating method
KR20050122496A (en) * 2004-06-24 2005-12-29 삼성전자주식회사 Method for encoding/decoding b-picture
KR101201930B1 (en) * 2004-09-16 2012-11-19 톰슨 라이센싱 Video codec with weighted prediction utilizing local brightness variation
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
US20090323807A1 (en) * 2008-06-30 2009-12-31 Nicholas Mastronarde Enabling selective use of fractional and bidirectional video motion estimation
JP5216710B2 (en) * 2009-07-24 2013-06-19 日立コンシューマエレクトロニクス株式会社 Decryption processing method

Also Published As

Publication number Publication date
CN102340664A (en) 2012-02-01
TW201204054A (en) 2012-01-16
DE102011008630A1 (en) 2011-09-01
KR101388902B1 (en) 2014-04-24
JP2011147130A (en) 2011-07-28
CN102340664B (en) 2014-11-26
KR20120105396A (en) 2012-09-25
KR20110083567A (en) 2011-07-20

Similar Documents

Publication Publication Date Title
JP5248632B2 (en) Techniques for motion estimation
JP5061179B2 (en) Illumination change compensation motion prediction encoding and decoding method and apparatus
US8462852B2 (en) Methods and apparatus for adaptively choosing a search range for motion estimation
US8094714B2 (en) Speculative start point selection for motion estimation iterative search
US9172973B2 (en) Method and system for motion estimation in a video encoder
EP1993292B1 (en) Dynamic image encoding method and device and program using the same
US20110002387A1 (en) Techniques for motion estimation
JP4685636B2 (en) Decoding device, encoding device, interpolation frame generation system, integrated circuit device, decoding program, and encoding program
CN113784132B (en) Method and apparatus for motion vector rounding, truncation, and storage for inter prediction
US20060222074A1 (en) Method and system for motion estimation in a video encoder
JP2007329693A (en) Image encoding device and method
GB2477033A (en) Decoder-side motion estimation (ME) using plural reference frames
US8144766B2 (en) Simple next search position selection for motion estimation iterative search
KR20130119465A (en) Block based sampling coding systems
JP2009027759A (en) Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and communication apparatus
KR101623064B1 (en) Video encoding device, video encoding method and video encoding program
JP2024016288A (en) Method and apparatus for decoder side motion vector correction in video coding
Kamp et al. Fast decoder side motion vector derivation for inter frame video coding
Lee et al. Motion estimation in low-delay hierarchical p-frame coding using motion vector composition
JP4697802B2 (en) Video predictive coding method and apparatus
WO2011099242A1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
WO2012090425A1 (en) Moving image encoding device, moving image encoding method, and moving image encoding program, as well as moving image decoding device, moving image decoding method, and moving image decoding program
JP2020053725A (en) Predictive image correction device, image encoding device, image decoding device, and program
Klomp et al. Decoder-Side Motion Estimation Assuming Temporally or Spatially Constant Motion.
TW202145783A (en) Inter-frame prediction method, encoder, decoder, and computer storage medium capable of enhancing variety of motion information from a list of candidate motion information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250