Transcript 下載/瀏覽
Motion Adaptive Search for Fast Motion Estimation 授課老師:王立洋 老師 製作學生:M9535204 蔡鐘葳 1/39 Outline ▓ Introduction ▓ Motion Activity ▓ Motion Adaptive Search Algorithm ▓ Experimental Results ▓ Reference 2/39 Introduction This paper presents the motion adaptive search (MAS) that effectively utilizes the motion activity information to improve The speed The accuracy of motion search 3/39 Motion Activity Different sets of frames in a video have different motion activities corresponding to various scenes We use the term Global motion activity (GMA) to characterize motion activity over an entire video frame Local motion activity (LMA) to characterize motion activity within a small region 4/39 LMA The motion vectors of spatially neighboring macroblocks are highly correlated Therefore, We compute the LMA at a macroblock position based on The knowledge of the motion vectors of its neighboring macroblocks 5/39 Region of Support (ROS) Let MBi, j be the (i, j)th macroblock in a frame i and j indicate the horizontal and vertical positions We define the region of support (ROS) of MBi, j , denoted by Ri, j As the set of macroblocks to the left, above, and above right of MBi, j , respectively. That is 6/39 The City-block Lengths We compute the LMA at MBi, j based on the information of city-block lengths of motion vectors of the macroblocks in Ri, j Let Vi. j≡ (xi, j ,y i, j ) be the motion vector of MBi, j The city city-block length of Vi, j, denoted by LVi j, is given by 7/39 The Grade of LMA The grade of LMA at MBi, j , denoted by GLMA (i, j) , is defined as the maximum city-block length of the motion vectors of all macroblocks in Ri, j . Mathematically, 8/39 Example for LMA Let LMA(i, j) denote the LMA at MBi, j . Based on GLMA (i, j) , we categorize LMA(i, j) into two classes as follows Fig. 1 depicts an example of distribution of GLMA The LMA=Low at most of the macroblocks belonging to the background object The LMA=High at most of the macroblocks belonging to 9/39 the foreground object Fig. 1 10/39 LMA and Motion Vector Bias When LMA(i, j) is Low, all the neighborhood motion vectors of MBi, j are close to (0,0) LMA(i, j)=High the motion vector of MBi, j is away from (0,0) The motion vector histogram commonly observed in most video sequences reveals the link between local motion activity and motion vector bias 11/39 Fig. 2 12/39 CMV and SAD Consider the candidate motion vector set, denoted by CMV given as follows We define the predicted motion vector, denoted Vi, j As the vector in CMV that yields minimum sum of absolute difference (SAD). Mathematically, 13/39 The Differential Motion Vector Consider the differential motion vector The differential motion vector dv is computed for each macroblock at which LMA=High The histogram of dv is shown in Fig. 3 14/39 Fig. 3 15/39 LMA and Camera Motion The camera motions can be divided into two categories Nontranslational (e.g., zoom and rotation) Translational (e.g., pan and tilt) Translational camera motion is the most often encountered camera motion in the real world 16/39 Translational Camera Motion (1/3) The translational camera motion introduces High LMA over the entire frame Thus, the presence of translational camera motion is detected by first investigating Whether the LMA is High at a majority of the macroblocks Whether a high peak occurs at a point away from (0,0) 17/39 Translational Camera Motion (2/3) Let H be the set of motion vectors of those macroblocks, at which LMA = High Consider a subset of H, denoted by H1, whose cityblock lengths are greater than one Let C be the motion vector at which the histogram of H1 has a peak The cardinalities of H and H1 are denoted by |H| and |H1| 18/39 Translational Camera Motion (3/3) We declare that translational camera motion is present in the frame if the following two conditions are satisfied |H| is greater than or equal to 25% of the total number of macroblocks The peak value of H1 is greater than or equal to 0.1× |H1| Then C is assigned as the candidate motion vector representing the camera motion 19/39 Global Motion Activity (GMA) The GMA is estimated based on the motion vectors of all the macroblocks in a frame to characterize the overall motion activity in the entire frame We define the grade of GMA, denoted by GGMA 20/39 Example for GMA (1/2) An example of variation of GGMA obtained with FS over the 300 frames of the Foreman video sequence is shown in Fig. 4 21/39 Example for GMA (2/2) From 0 to 150 An unstable camera is focused (a moderate value) From 150 to 225 The camera pans to the right (the sudden increase due to the high motion activity caused by the camera motion) From 225 to 300 The camera focuses on a building under construction (low 22/39 value) Motion Adaptive Search Algorithm (1/2) The current frame are estimated from the motion vector field of the immediately previous predicted frame (P-frame) The LMA and GMA information is used to adjust the search range for each macroblock The estimated camera motion vector is used as a point on one of the search patterns The search patterns are switched intelligently to suit 23/39 the LMA Motion Adaptive Search Algorithm (2/2) Before the motion search begins, the current macroblock is first tested to determine if it is a stationary macroblock by comparing its SAD at (0,0) If yes, the search is terminated immediately and its motion vector is assigned to be (0,0) Otherwise, an initial motion vector is predicted based on the LMA and local search is performed to obtain the final motion vector A detailed technical description of MAS is provided 24/39 in the following Estimation of Camera Motion Vector and Grade of GMA Let C and GGMA denote the estimated values and the grade of GMA in the current frame C' and G'GMA be the true values and the grade of GMA If the current frame is the very first inter-frame We set C equal to (0,0) and GGMA equal to 16 times the temporal distance between the current frame and its reference frame Otherwise, GGMA = G'GMA and C = C' 25/39 Adaptation of Search Range The maximum search range for each macroblock in the current frame srmax is given by We adapt the search range for a as follows sr i, j is the search range LMA(i, j) is the LMA at MBi, j 26/39 Early Elimination of Search for Stationary Macroblocks We compare the SAD of a macroblock MBi, j at (0,0), denoted by SADi, j (0,0) , with a threshold value T If SADi, j (0,0) ≤ T The motion search is terminated immediately Assigning its motion vector as (0,0) We call this process early elimination of search (EES) 27/39 Search Patterns The two search patterns employed in the MAS are The diamond search pattern (DSP) The elastic search pattern (ESP) as shown in Fig. 5 28/39 Prediction of Initial Motion Vector The initial motion vector at MBi, j , denoted by Ii, j, is expressed as follows 29/39 Intelligent Local Search (1/5) We categorize the moves of DSP into three types, Type-1, Type-2 and Type-3 We make use of the vector cross product between ck −1ck and ckck +1 to determine the type 30/39 Fig. 6 31/39 Intelligent Local Search (2/5) From vector algebra, we have Where ‘⊗’ represents the vector cross product uz is the unit vector perpendicular to both ck −1ck and ck ck +1 32/39 Intelligent Local Search (3/5) Another definition of cross product is The value of sinθ is equal to zero when θ= 0o The value of sinθ is equal to 1 when θ= 90o The value of sinθ is equal to -1 when θ= 270o Therefore, the value of Z distinguishes the types of moves of the DSP Z=0 (Type-1), Z>0 (Type-2 ) and Z<0 (Type-3) 33/39 Intelligent Local Search (4/5) If the move of Dk +1 is of Type-1 The other non-overlapping points are the two points on either side of dnk+1 If the move of Dk +1 is of Type-2 The point next to dnk+1 is the other non-overlapping point If the move of Dk +1 is of Type-3 The other non-overlapping points is the point previous to 34/39 dnk+1 Intelligent Local Search (5/5) Thus, the sets of non-overlapping points of Dk +1 are for Type-1 move for Type-2 move for Type-2 move 35/39 The intelligent local search algorithm (1/2) 36/39 The intelligent local search algorithm (2/2) 37/39 Experimental Results 38/39 Reference [1] Prabhudev Irappa Hosur, Member, IEEE, “Motion Adaptive Search for Fast Motion Estimation,” IEEE Signal Processing Lett. Volume 49, No. 4, Nov. 2003 Page(s):1330 - 1340. 39/39