H.264/AVC 基於影像複雜度與提早結束之快速 階層運動估計方法 Content-Based Hierarchical Fast Motion Estimation with Early Termination in H.264/AVC 研究生:何銘哲 指導教授:蔣依吾博士 中山大學資訊工程學系
Terms FME = Fast Motion Estimation MB = Macroblock MVCOST = Motion Vector Cost PSNR = Peak Signal-to-Noise Ratio RDO = Rate Distortion Optimization
Video Compression Intro.
Video Compression Intro. (cont.) ITU-T –H.26x ISO –Mpeg-x
Video Compression Indicator PSNR (dB) – Bit Rate (kbit/s) – Time (msec, sec) – Quality Compression ratio Encoding time
Level Two Level One H.264 vs previous standards Variable block size 16x1616x88x168x8 8x44x84x4
H.264 vs previous standards Quarter-pel motion compensation
H.264 vs previous standards Multiple reference picture motion compensation
H.264 vs previous standards Directional spatial prediction for intra coding 1.INTRA_4x4 2.INTRA_16x16
H.264 vs previous standards In-the-loop deblocking filtering
Visual Comparison (MPEG-4 Simple Profile VS JVT/H.264)
H.264 Encoder Dataflow
Motion Estimation
Block-based Matching Algorithms Full Search (Exhaustive Search) –Exhaustively searching each pixel in the search range. Current Block Search range Minimum MSE
Block-based FME in H.264 Why FME? Spatial and Temporal analysis –Spatial Homogeneity and Temporal Stationarity [Pan, 2005] –Motion Vector Merging [Chen, 2005]
Block-based FME in H.264 (cont.) Early Termination –Predicted Vector Block [Yang, 2005]
Block-based FME in H.264 (cont.) Adaptive Search Pattern –Adaptive Search Window [Bailo, 2004] –UMHS(Uneven Multi-Hexagon Search) & CBDS(Center-Biased Diamond Search) [Chen, 2002][Tham, 1998]
Proposed Algorithm Fast Hierarchical Motion Search (FHMS) Early Termination Encode one MB Mode Decision Motion Estimation RDO FHMS
Hierarchical Motion Search (HMS) Sub-sampling
Pre-processing We apply our sub-sampling algorithm to only four larger block types to prevent imprecision.
Pre-processing (cont.) Start FHMS Satisfy ? YesNo Fast Sub-sampling SearchFast Integer-pel Search 16x1616x88x168x8
Proposed Algorithm (cont.) Step 1: Utilize spatial median prediction schemes for initial search point prediction Current MB bc a
Step 2-1: After the initial search point is found, two local search patterns, namely, diamond and cross search, are initiated.
Step 2-2: After local search is finished, we come across a complex search condition which indicates that if current MVCOST is below some empirical threshold T, the search process is terminated immediately. complex_offset[blocktype] = {0, 0, 1, 1, 2, 3, 3, 1}
Step 3: If the complex search condition is satisfied, continue other search patterns as in the data flow diagram below.
No Yes No STOP Satisfy Complex Search Condition Need Refinement? Start : Check Predictors Small Local Search Cross Search Multi big Hexagon Search Hexagon search Small Local Search Refinement Search
Step 4: After all search patterns are performed, if the current block type belongs to fast sub- sampling search, a further refinement stage proceeds. Otherwise, the motion search is terminated.
Proposed Search Patterns
Test Parameters (JM10.2)
Experimental Results PSNR
Experimental Results (cont.) Motion Estimation Time
Experimental Results (cont.) Bit Rate
Diagram of Stefan
Conclusion Our proposed algorithm makes H.264/AVC feasible for real-time applications. Adaptively choosing the proper block type to further improve the bit rate and ME time will be the focus of the following research efforts.