Block matching algorithm (BMA) for motion estimation (ME) is the heart to many motion-compensated video-coding techniques/standards, such as ISO MPEG-1/2/4 and ITU-T H.261/262/263/264/265, to reduce the temporal redundancy between different frames. During the last three decades, hundreds of fast block matching algorithms have been proposed. The shape and size of search patterns in motion estimation will influence more on the searching speed and quality of performance. This article provides an overview of the famous block matching algorithms and compares their computational complexity and motion prediction quality.
Keyword:Block
INTRODUCTIONThe main objective of block matching algorithms is to determine the direction and magnitude of motion (motion vector) for a macroblock in the current frame relative to the best matched candidate block in the reference frame. The search for the best matching candidate block may be carried out by comparing the macroblock in the current frame with some or all the possible candidate blocks in a search window. FullSearch (FS) is an exhaustive search algorithm and it is the simplest method to find the optimal motion vectors for each macroblock. It determines the best matched candidate block through calculating the Sum of Absolute Difference (SAD) for all candidate blocks in the search window. Although Full-Search can obtain the global optimal result, it has very intensive computations.To reduce the complexity of Full-Search, several fast search motion estimation algorithms have been proposed at the price of slightly impaired Peak Signal-to-Noise Ratio (PSNR) performance. A possible classification of these fast search motion estimation algorithms into the following categories: reduction in search positions [1][2][3][4][5][6][7][8][9], predictive search [10][11][12][13][14], search pattern switching [15], [16], multi-resolution search [17][18][19][20] and Fractional-Pixel Interpolation [21][22]. Existing fast search motion estimation algorithms use one or a combination of these categories. A popular example is the three-step search (TSS) algorithm [1]. However, its uniformly spaced search pattern is not well matched to most real-world video sequences in which the motion vector distribution is non-uniformly biased toward the zero vector. Such an observation inspired the new three-step search (NTSS) which has a centre-biased search pattern and supports a halfwaystop technique [2]. The centre-biased NTSS algorithm is an improved version of TSS, tends to achieve much superior performance with fewer number of search points on average. The search pattern has an important influence on speed and distortion performance in block motion estimation.In TSS and NTSS algorithms square-shaped search patterns of different sizes are employed. The Diamond search (DS) algorithm adopts a diamond-shaped search pattern [3], which is more efficient than