[Interpretation of the paper] A Fast Sub-pixel Motion Estimation Algorithm for H.264/AVC Video Coding

Introduction

Title : A Fast Sub-pixel Motion Estimation Algorithm for H.264/AVC Video Coding
Original : https://ieeexplore.ieee.org/document/5688303
Level : SCI
Year : 2011
Institution : Shanghai Jiao Tong University
Conclusion : Sub-pixel Search The computational complexity is greatly reduced, reducing sub-pixel search points by more than 50%, while the quality degradation is negligible;
resource download: https://download.csdn.net/download/yanceyxin/88036738

Interpretation of thesis

Summary

Motion estimation is one of the most time-consuming modules of video coding. Compared with ME in traditional video coding standards, the use of multiple partition sizes in H264 makes motion estimation more time-consuming; the fast algorithm reduces the complexity of integer pixel searches, and sub-pixel The computational overhead of the search becomes quite large, and the paper proposes a "coarse" sub-pixel selection before block selection, and then a "fine" sub-pixel search for the best block, which can be reduced by 50% compared to traditional algorithms subpixel search points with negligible quality degradation.

core principle

Most sub-pixel ME optimization methods are based on the assumption of a unimodal surface, and perform a sub-pixel search in two steps: predict a sub-pixel MV (SPMV), and search for the final sub-pixel MV in a small area of ​​the SPMV; these methods It can be summarized into two types, that is, spatial information and SAD surface modeling;

Two methods of obtaining SPMV: spatio-temporal information (such as formula 1 where β=4 is in 1/4 pixel, β=8 is in 1/8 pixel), SAD modeling (such as formula 4)
insert image description here
fast sub-pixel ME method comparison: practice proves , only the best partition of MB needs accurate sub-pixel MV, and other partitions are only used for selection between modes; if the sub-pixel SAD is sufficient to select the best partition, there is no need to search for more precise sub-pixel points in the first stage. Integer-pixel SAD plane information can be used to decide whether to turn off sub-pixel SAD, so the article proposes a Rough-strategy-based Fast Sub-pixel Motion Estimation algorithm (RFSME). The overall process of
insert image description here
the RFSME algorithm: use the number of bits of SAD and MV as COST: ■ step1: the best COST position of an integer pixel and the two average COSTs (horizontal average, vertical average) of its 4 adjacent integer pixel positions, if the difference is small, It means that the COST plane is very flat, and the optimal integer pixel COST at this time is close to the optimal sub-pixel COST, so the optimal integer pixel COST at this time is enough to estimate the optimal sub-pixel COST. At this time, the sub-pixel COST of the current block The pixel ME can be skipped; the optimal block position of the whole pixel at this time is used in step4; as follows, where blocktype (i) includes 8x8, 8x4, 4x8, 4x4, blocktype (ii) includes 16x16, 8x16, 8x16; th1, th2, and rF are 10, 20, and 5/4, respectively. ■ step2:

insert image description here

insert image description here

insert image description here
If the COST plane is not flat in step1, then two sub-pixel MV prediction methods are used to get two SPMVs, the minimum COST is selected and named as COSTstep2, and the corresponding MV is defined as MVstep2. Table 1 lists the absolute distance between the best subpixel MV and MVstep2, which can show that MVstep2 can provide a good prediction for the best subpixel. The absolute difference between COSTstep2 and the best full pixel COST (COSTbest_full_pixel is defined as D=|COSTstep2 - COSTbest_full_pixel|; if D is small, it means that COST has not been reduced too much, then COSTstep2 is close enough to the best sub-pixel COST as a model Selected. At this time, COSTstep2 is applied to the position selection in step4. In the following formula, rD takes the value of 3/2, and COSTmin_step2 = min(COSTstep2, COSTbest_full_pixel). ■ step3: If D is large,
insert image description here
COSTstep2 may not be close to the optimal sub-pixel Pixel COST, at this time, two adjacent vertical points and two vertical points adjacent to MVstep2 are detected, and the final 1/4 pixel point is determined and selected by formula 8-9. ■ step4
insert image description here
: COSTrough selected from step1, 2, and 3 It is used to select the best block position;
■ step5: A small range of sub-pixel further refinement search is applied around COSTrough, and 8 1/4 pixels are selected to search around COSTrough, because at this time only the best partition is performed, So the average search points per location is reduced compared to traditional fast sub-pixel search algorithms.

result

insert image description here

Guess you like

Origin blog.csdn.net/yanceyxin/article/details/131667892