JP5248632B2 - Techniques for motion estimation - Google Patents
Techniques for motion estimation Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders 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.
ディジタルビデオクリップは複数の連続的なビデオフレームを有する。連続的なフレームにおけるオブジェクト又は背景の動きが滑らかな軌道を描くことが可能であり、連続的なフレームにおける動きは比較的強い時間的相関性を有することが可能である。この相関性を用いることにより、動きベクトルが、再構成された参照ピクチャから動きを推定することによって現在の符号化ブロックについて導出されることが可能である。デコーダにおける動きベクトルの決定は、エンコーダにおいて実行される動き推定と比較して、送信帯域幅を低減することが可能である。 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
図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
図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
次に、本明細書の図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個の画素であり、現在のブロックの位置は、現在のブロックの最左上画素の座標により表される。種々の実施形態においては、参照フレームR0における動きベクトルがMV0=(mv0_x,mv0_y)であり、他の参照フレームR1における対応する動きベクトルがMV1=(mv1_x,mv1_y)であるとき、動き探索メトリックは、次式(1)を用いて決定される。
J=J0+α1J1+α2J2 (1)
ここで、J0は、(i)順方向参照フレームにおいてMV0が向いている参照ブロックと、逆方向参照フレーム(又は、図2のシナリオにおける第2順方向参照フレーム)においてMV1が向いている参照ブロックとの間で計算され、2009年9月25日に出願された米国特許出願公開第12/566,823号明細書において開示されている差分絶対値の和を表し、
J1は、参照ブロックの空間的に隣接するブロックに基づく拡張されたメトリックであり、J2は、現在のブロックの空間的に隣接するブロックに基づく拡張されたメトリックであり、この場合、α1及びα2は2つの重み係数である。重み係数α1及びα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=(d1/d0)xMV0
に従って定義される関連動きベクトルMV1を有し、
ここで、現在のブロックが双予測ピクチャ内にあるとき、d0は、現在のフレームのピクチャと図1に示されている順方向参照フレームとの間の距離を表し、
現在のブロックが予測ピクチャ内にあるとき、d0は、現在のフレームのピクチャと図2に示されている第1順方向参照フレームとの間の距離を表し、
現在のブロックが双予測ピクチャ内にあるとき、d1は、現在のフレームのピクチャと図1に示されている逆方向参照フレームとの間の距離を表し、そして
現在のブロックが予測ピクチャ内にあるとき、d1は、現在のフレームのピクチャと図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.
種々の実施形態においては、J0は次式を用いて決定されることが可能である。 In various embodiments, J 0 can be determined using the following equation:
R0は第1順方向参照フレームであり、R0(x+mv0_x+i,y+mv0_y+j)は位置(x+mv0_x+i,y+mv0_y+j)のR0における画素値であり、
R1は、ミラー動き推定(ME)についての第1逆方向参照フレーム又は投影動き推定についての第2順方向参照フレームであり、R1(x+mv1_x+i,y+mv1_y+j)は位置(x+mv1_x+i,y+mv1_y+j)のR1における画素値であり、
mv0_xは、参照フレームR0のx方向における現在のブロックについての動きベクトルであり、
mv0_yは、参照フレームR0のy方向における現在のブロックについての動きベクトルであり、
mv1_xは、参照フレームR1のx方向における現在のブロックについての動きベクトルであり、
mv1_yは、参照フレームR1のy方向における現在のブロックについての動きベクトルである。
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.
変数J1の説明は、図3を参照して行う。図3は、拡張された参照ブロックを示している。MxN個の参照ブロック302が、W0、W1、H0及びH1のそれぞれである拡張された縁サイズにより4つの縁において拡張されている。従って、図1及び2のシナリオで動きベクトルを決定するように用いられる参照フレームR0及びR1における参照ブロックの各々は、図3の実施例に従って拡張される。一部の実施形態においては、メトリックJ1は次式を用いて計算される。 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:
変数J2の説明は、図4を参照して行う。図4は、現在のブロック402の空間的に隣のブロックを示している。変数J2については、参照ブロックとは対照的である現在のブロックを参照して説明されることに留意されたい。現在のブロックは新しいピクチャに位置付けられる。ブロック402はMxN個の画素の現在のブロックである。ブロックの復号化はラスタ走査順序にあるため、復号化された4つの有効な空間的に隣の領域、即ち、左隣領域A0、上隣領域A1、左上隣領域A2及び右上隣領域A3を有することが可能である。現在のブロックが複数のフレーム境界にあるとき又は親マクロブロック(MB)の上境界又は左境界にないとき、空間的に隣接する領域の一部は現在のブロックについて有効でない。有効性フラグが、4つの領域についてγ0、γ1、γ2及びγ3として定義される。領域のフラグが1に等しい場合には、その領域は有効であり、領域のフラグが0に等しい場合には、その領域は有効でない。その場合、有効な空間領域は、次式のように、現在のブロックについてAavailと定義される。
Aavail=γ0A0+γ1A1+γ2A2+γ3A3
従って、メトリックJ2は次式のように計算される。
Description of variables J 2 is made with reference to FIG. FIG. 4 shows a block that is spatially next to the
A avail = γ 0 A 0 + γ 1 A 1 + γ 2 A 2 + γ 3 A 3
Therefore, the metric J 2 is calculated as follows.
Rxが新しいピクチャを表す場合、等しい重みは、R0からRxまでの距離がR1からRxまでの距離に等しい場合に生じる。R0からRxまでの距離がR1からRxまでの距離と異なる場合、重み係数は、それに応じて、重み付けの違いに基づいて設定される。 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.
ブロック504は、順方向探索ウィンドウにおける探索経路を指定する段階を有する。ここでは、エンコーダ及びデコーダが同じ探索経路を辿る限り、フル探索スキーム又は何れかの高速探索スキームが用いられる。
ブロック506は、探索経路における各々のMV0について、(1)第2参照フレームについての探索ウィンドウにおける動きベクトルMV1と、(2)第1参照フレームにおける参照ブロック及びMV1が向いている第2参照フレームにおける参照ブロックに基づくメトリックとを決定する段階を有する。探索経路におけるMV0について、現在のブロックが双予測ピクチャ内にあるとき、ミラー動きベクトルMV1は、逆方向探索ウィンドウにおいて得られる。探索経路におけるMV0について、現在のブロックが予測ピクチャ内にあるとき、投影動きベクトルMV1は、第2順方向参照フレームについての探索ウィンドウにおいて得られる。ここで、動き軌道は関連時間期間中、相対的に短い直線であることを前提とすることが可能である。MV1は、MV0の次式の関数として得られ、ここでは、d0及びd1は、現在のフレームとそれぞれの参照フレームの各々との間の距離である。
MV1=(d1/d0)xMV0
ブロック508は、最も好ましいメトリックを有する動きベクトルMV0を選択することを有する。例えば、上記のメトリックJが決定され、メトリックJの最小値に関連するMV0が選択される。このMV0は、その場合、現在のブロックについての動きを予測するように用いられることが可能である。
MV1 = (d 1 / d 0 ) × MV0
図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.
コンピュータプログラム論理640は動き推定論理660を有することが可能である。動き推定論理は、実行されるときに、上記の動き推定処理を実行することが可能である。動き推定論理660は、例えば、実行されるときに、上記の動作を実行する投影動き推定論理を有することが可能である。論理660は、例えば、ミラー動き推定論理、現在のブロックの時間的又は空間的隣接ブロックに基づいて動き推定を実行する論理、又は現在のブロックに対応する下層ブロックに基づいて動き推定を実行する論理、も有する、又は代替として有することが可能である。
その処理を実行する動き推定論理660に先行して、探索範囲ベクトルが生成されることが可能である。この探索範囲ベクトルは、探索範囲計算論理650により上記のように実行されることが可能である。探索計算のために実行される技術については、例えば、2009年10月20日に出願された米国出願公開第12/582,061号明細書に記載されている。一旦、探索範囲ベクトルが生成されると、このベクトルは、動き推定論理660により実行される探索を境界付けるように用いられることが可能である。
A search range vector may be generated prior to
探索範囲ベクトルの決定を実行する論理は、より大きいコーデックアーキテクチャで用いられる自己動きベクトル導出モジュールに組み込まれることが可能である。図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
現在のビデオ710は、差分ユニット711及び動き推定段階718に供給されることが可能である。動き補償段階722又はイントラ補間段階724は、その場合に、残り(residual)を生成するように現在のビデオから減算されることが可能である、スイッチ723を介しての出力を生成することが可能である。その残りは、その場合、変換/量子化段階712で変換されて、量子化され、そしてブロック714におけるエントロピー符号化を受ける。その結果、チャネル出力がブロック716で得られる。
The
動き補償段階722又は内部補間段階724の出力が、逆量子化ユニット730及び逆変換ユニット732からの入力を受け入れることも可能である加算器733に供給されることが可能である。後者の2つのユニットは、変換/量子化段階712の変換及び量子化を取り消す。逆変換ユニット732は、逆量子化されて、逆変換された情報をそのループに戻すように供給することが可能である。
The output of
自己動きベクトル導出モジュール740は、動きベクトルの導出のために上記の処理を実行することが可能である。自己動きベクトル導出モジュール740は、インループデブロッキングフィルタ726の出力を受け入れることが可能であり、動き補償段階722に出力を供給することが可能である。
The self-motion
図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
自己動きベクトル導出モジュールはビデオエンコーダに位置付けられ、ビデオデコーダ側と同期することが可能である。自己動きベクトル導出モジュールは、代替として、一般ビデオコーデックアーキテクチャに適用されることが可能であり、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メトリック、前記第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.
次式
を有する方法。 3. A method as claimed in claim 1 or 2, wherein the step of determining a metric is:
Next formula
Having a method.
次式
を有する方法。 4. A method as claimed in any preceding claim, wherein the steps of determining a metric are:
Next formula
Having a method.
次式
を有する方法。 5. A method as claimed in any preceding claim, wherein the step of determining a metric is:
Next formula
Having a method.
エンコーダにおいて、第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:
第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.
前記第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.
次式
ビデオデコーダ。 12. A video decoder according to claim 10 or 11, wherein the logic means is to determine a metric:
Next formula
Video decoder.
次式
方法。 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
Method.
次式
ビデオデコーダ。 14. A method as claimed in any one of claims 10 to 13, wherein the logic means is to determine a metric:
Next formula
Video decoder.
メモリ;並びに
前記ディスプレイに通信可能に結合されたプロセッサであって、該プロセッサは、
各々の動きベクトル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.
前記プロセッサに通信可能に結合された無線ネットワークインタフェース;
を更に有する、システム。 The system of claim 17, wherein:
A wireless network interface communicatively coupled to the processor;
Further comprising a system.
次式
次式
次式
ここで、N及びMは前記現在のブロックのy寸法及びx寸法のそれぞれであり、mv0_xは参照フレームR0のx方向における現在のブロックについての動きベクトルを有し、mv0_yは参照フレームR0のy方向における現在のブロックについての動きベクトルを有し、mv1_xは参照フレームR1のx方向における現在のブロックについての動きベクトルを有し、mv1_yは参照フレームR1のy方向における現在のブロックについての動きベクトルを有し、
W0,W1,H0及びH1は、拡張された縁サイズであり、拡張された参照ブロックの寸法は、(M+W0+W1)×(N+H0+H1)であり、
Aavailは前記現在のブロックの周囲の領域を有し、C(x,y)は前記現在のブロックを境界付ける領域内の現在のフレームにおける画素を有し、ω0及びω1は、新しいピクチャと参照フレーム0及び1との間のフレーム距離に従って設定される2つの重み係数である;
システム。 19. A system as claimed in claim 17 or 18, wherein the processor:
Next formula
Next formula
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.
前記現在のブロックが双予測ピクチャ内にあるとき、前記第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.
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)
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)
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 |
-
2011
- 2011-01-13 TW TW100101277A patent/TW201204054A/en unknown
- 2011-01-13 JP JP2011004871A patent/JP5248632B2/en active Active
- 2011-01-14 KR KR1020110004254A patent/KR101388902B1/en active IP Right Grant
- 2011-01-14 CN CN201110056040.4A patent/CN102340664B/en not_active Expired - Fee Related
- 2011-01-14 DE DE102011008630A patent/DE102011008630A1/en not_active Ceased
-
2012
- 2012-08-13 KR KR1020120088259A patent/KR20120105396A/en not_active Application Discontinuation
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 |