considering how accurately estimate the threshold for a given video sequence. The search window adjustment proposed by Feng, et al., has some problems.
Block-Matching Algorithm Based on Dynamic Search Window Adjustment Hwang-Seok Oh* Gunhan Park Heung-Kyu Lee Dept. of CS, KAIST, 373-1 Kusong-dong, Yusong-gu, Taejon, Korea, 305-701 E-mail)fhsoh,gunhan,hkleegcasaturn.kaist.ac.kr
Abstract
Dynamic search window adjustment for block-matching algorithm(BMA) based on the block similarity to overcome the computational complexity of full search BMA is presented. The proposed method for adjustment of the size of search window is performed with three steps:(1)Set new search origin based on block similarity and displaced block dierence(DBD), as a displacement of the block which has smaller DBD between the zero displaced and the displaced as much as adjacent block's motion vector that has maximum block similarity. (2)Adjust the size of search window in inverse proportion to block similarity, and (3)Update the thresholds for accommodation to a given image sequence. The technique can be easily applied for full search BMA or several fast search algorithms to get more eciency and less falling into localminimum. Experimental results show that the proposed technique has good performance in terms of the number of matching blocks, and sum of absolute error for each block, compared with an adjustment of search window using initial set and using adaptive adjustment scheme proposed by [13], when these techniques for search window adjustment are applied for full search(FS), threestep search(TSS), new three-step search(NTSS).
1. Introduction
Motion compensated prediction plays a very important role in the ecient coding of video sequences. MPEG1,2[1], ITU-T H.261[2] and H.263[3] adopted the motion compensated prediction to reduce temporal redundancy which resides in successive frames. Most of the algorithms developed for motion estimation are block based techniques called block-matching algorithm(BMA). The most general approach for BMA is to use full search block-matching algorithm(FSBMA) or exhaustive search. In FSBMA, all possible (2w + 1)2 candidate blocks are searched to obtain the best matched block, where w is a maximum displacement of motion vector(MV)[4]. Because of the intensive computation to get MV, or displacement of the block that has the smallest distortion function of matching criterion in FSBMA, many fast search algorithms such as three step search(TSS)[5], new three step search(NTSS)[6], 2-D logarithm search[7], one at a time search algorithm(OTS)[8], 1-D full search[9], cross search algorithm(CSA)[10], parallel hierarchical 1D search(PHODS)[11], etc., are presented. But there is a critical problem on these techniques: falling into local-
minimum, due to the assumption that the distortion increases monotonically as the searched point moves away from the position of minimum distortion[5, 6, 7, 9, 11]. In particular, this assumption is not true in some cases, that is, there is an aperture problem, a textured local image content, an inconsistent block segmentation of moving object and background, or the luminance change between frames in image sequences. Another approach for reduction of computational complexity is the dynamic adjustment the size of search window w, which is suggested by [12, 13]. In [13]'s approach, the size of search window is determined in proportion to the displaced block dierence(DBD) of blocks. [12] presented the dynamic search window reduction in TSS according to the magnitude of DBD. The method, called adaptive block-matching algorithm(ABMA) by Feng, et al.[13], exploits the motion correlation of spatially neighboring blocks to determine the search origin and adjust the search range according to the dierent motion content of the block. The scheme is performed with three stages, (1)Set search origin, (2)Determine the size of search window, and (3)Update the thresholds for classi cation of motion contents of block at frame by frame. As shown in Figure 1, rstly, the search origin is determined with motion vectors of the adjacent blocks in the left, upper-left, and upper directions together with zero displacement to predict the motion vector of a current block; then, the vector that has minimum DBD is selected as a predicted motion vector. The location pointed to by the predicted motion vector is used as a search origin for the FSBMA. After setting the search origin, the size of search area is determined by considering the DBD in a position of new search origin. They use DBD as a indicator of the degree of motion for a given block. They proposed to use the DBD at the starting search point as a criterion to identify the motion class of the block. Three motion classes - low-motion, medium-motion, and high-motion are de ned as(follows: high-motion if DBD > T1 the block is a medium-motion if T1 DBD > T2 (1) low-motion if DBD T2 where T1 and T2 are two threshold values. The maximum displacements for high-motion, medium-motion and lowmotion blocks are set to w, w=2, w=4, respectively. Also, they use the update method of the threshold T1 , T2 according to the change of motion eld of the sequence by considering how accurately estimate the threshold for a given video sequence. The search window adjustment proposed by Feng, et al., has some problems. First, they assume that the mag-
Algorithm : Adaptive BMA Step 1 : Find the motion vector of each block in the
rst frame using the FSBMA. Step 2 : Calculate the DBD at the search origin of each block and sort them according to the descending order of the DBD values. Step 3 : Find the number of blocks having displacements larger than w=2(N ), w=4(N ). Step 4 : Set T 1 equal to the N -th largest DBD value and T 2 equal to the N -th largest DBD value. Step 5 : Set the size of search window to w, w=2, w=4 for high-motion(if DBD > T1 ), medium-motion(if T1 DBD > T2), and low-motion(if DBD T2 ) blocks, respectively, where w is initial displacement. Step 6 : Perform the BMA with the displacement determined in Step 5. Step 7 : Update the threshold T1; T2 according to the change of motion eld of the sequence. a
b
DBD
A B C local minimum global minimum 1-D motion vector
a
b
Figure 1: Adaptive block-matching algorithm suggested by Feng, et al.[13] nitude of MV is proportional to the magnitude of DBD. That is, if the best matched candidate block in a reference block is far away from the search origin, DBD becomes very large. But, with the real test images, we can see that there is not a signi cant correlation between them(see Figure 2). Distribution of DBD
Distribution of DBD "DBDmiss.dat"
DBD
"DBDcar.dat"
DBD 15000
8000 7000 6000 5000 4000 3000 2000 1000
10000 5000
15
15
10
10
5 -15
-10
0 -5
0
5
10
15
-15
-10
0 -5
0
Y displacement
(a) Miss America
X displacement
5 -15
-5 -10
-5 5
-10 10
15
-15
Y displacement
(b) Carphone
X displacement
Figure 2: Distribution of DBD along the x, y components of MV. In Figure 2, we can see that video sequences for low bit-rate applications such as video-phone or videoconferencing are gentle, smooth, and vary slowly. As a consequence, the minimum distribution of distortion function is center-biased, instead of being distributed uniformly. And, the distribution of DBD does not have any correlation of magnitude of x, y components of MV. Therefore, in case of setting search origin using minimum DBD of adjacent blocks, they have a chance of falling into local-minimum depicted in Figure 3. If we make use of the above two facts, a good adjustment of search window for BMA will be achieved. So, we proposed a new search window adjustment algorithm to reduce the computational complexity and to overcome the property of converging on the local-minimum. In this paper, to overcome the complexity of FSBMA and converging to a local optimum problem in several fast algorithms, we propose BMA with dynamic search window adjustment for video coding. In the proposed algorithm, the size of search area or maximum displacement
Figure 3: Illustration of falling into local-minimum in case of setting the search origin using only DBD magnitude. X-axis shows the displacement of MV in one dimension and Y-axis shows the magnitude of DBD at given MV. In the gure A is DBD of zero displaced block, B and C are DBD of blocks displaced as much as MVs of adjacent blocks. Only considering the DBD magnitude, C is selected as predicted MV for current block and set the search origin as MV of block C. The thick intervals on the X-axis represent the displacement of search windows with centering C and B. When C is selected for the search origin, BMA results in conversing local-minimum. of MV and the search origin for current block are determined by considering block similarity, MV correlation of adjacent blocks, and DBD. Then, the general mechanism of FSA or other several fast search algorithms can be applied within determined displacement. This paper is organized as follows. In section 2, we describe the detailed algorithm of our approach to determine the size of search window for each block. In section 3, experimental results are presented with several test video sequences for low bit-rate video applications such as video-phone or video-conferencing. In experiments, we present comparative results of several methods for search window decision schemes.
2. Block-Matching Algorithm with Dynamic Size of Search Window 2.1 Block-Matching Algorithm
Block-matching algorithm(BMA) estimates the motion vector in a block-by-block. In BMA, a frame is divided into non-overlapping blocks with (N N ) pixel size. The block of pixels (called a current block) in a current frame is compared with the corresponding blocks (called candidate blocks) within a search area of size (N + 2w) (N + 2w) pixels in the previous or reference frame, where w is the maximum displacement allowed. The motion vector of the current block is obtained when the best matched candidate block is found. We brie y describe the operation of BMA between two adjacent frames in Figure 4. Formally speaking, the BMA is described as shown in equation (2). Motion vector MV for a given current block C (x; y) in a current frame, is the displacement of best matched block which has the smallest of the cost function among all of the candidate blocks R(x; y), in a reference frame within maximum displacement w in the direction of horizontal and vertical.
Search area Motion vector (x,y)
w
w (x,y)
Reference frame
Current frame
Figure 4: Block-matching algorithm Dist(u; v) =
XX N
N
i=1 j =1
Dist(C (i; j ); R(i ? u; j ? v)) (2)
where ? w u; v w MV = min Dist(u; v) u;v
where Dist(u; v) is a sum of dierence between two blocks with given distortion function Dist(), Dist() is a distance measure function or a cost function, C (i; j ) is the current block of size N N at coordinate (i; j ), R(i ? u; j ? v) is the candidate block as much as (u; v) displaced from the position (i; j ) within a search area in the reference frame, and MV is a motion vector (u; v) where u is horizontal displacement and v is vertical one, which has the smallest sum of distance among the candidate blocks. To nd the best matched motion vector, there have been developed several searching methods in the literature. Among the searching methods, the full search BMA gives the optimal solution and the lower control overhead. The full search method exhaustively matches all possible candidates to nd the motion vector with a minimal distortion. We use FSA, TSS[7], and NTSS[6] algorithms to present the comparative results with several methods for adjustment of the search window.
2.2 Dynamic Adjustment of a Search Window
In video sequences, especially for low bit-rate applications such as video-phone or video-conferencing, motion eld is smooth and is changed slowly frame by frame. And, the correlation between MVs for adjacent blocks is very high if each block belongs to same object because some objects span several blocks. Also, as shown in Figure 2, there are many blocks that their MV is near the search origin in video sequences. Based on these facts, we present a new BMA with dynamic search window adjustment, which exploits motion structures of objects to reduce the number of matching blocks(candidate blocks). As performed in [13], the proposed algorithm, shown in Figure 5, is performed through the stages: (1)Set a new search origin of motion estimation, (2)Adjust the size w of search window, (3)Perform BMA with the search origin and displacement w, and (4)Update the thresholds. Because each motion displacement of block is greatly related to the moving objects
in successive video frame, if some blocks belong to the same object region, they have similar motion displacement and DBD. In the proposed algorithm, we take advantage of motion structures of objects to determine the size of search window by considering the block similarity which is computed using segmented information of a given frame. Set new search origin : In our approach, we consider block similarity of spatially adjacent blocks to determine the search window. In video sequence, if some adjacent blocks contain the same object, the motion structures of the blocks are very similar. So, we can predict the initial MV as MV of adjacent block that is signi cant related to the current block and re ne MV at that position with a small displacement. To determine the block similarity of adjacent blocks, we use the segmented information of a given current frame. In general, segmented regions are expected to have homogeneous characteristics such as intensity, texture that are dierent in each region. These characteristics form the feature vectors that are used to discriminate one region from the others. The features are employed during the segmentation procedure in the checking region homogeneity. Geometrical proximity plays an important role in image segmentation. Pixels lying to the same neighborhood tend to have similar statistical properties and belong to the same image region. Therefore, segmentation algorithms must incorporate, if possible, both proximity and homogeneity to produce connected image regions. Many techniques for image segmentation have been studied[18]. In our method, we apply simple method using histogram, region split and merge algorithm[18]. In proposed scheme, we use the segmented frame information together with MVs of adjacent blocks and their DBDs. First, a new search origin is selected among blocks which are displaced as much as zero or MV of its neighboring block by considering the block similarity in contrast to magnitude of DBD presented in [13]. Block similarity is calculated by using the segmented information of whole current frame as how many pixels in two blocks belong to the same region over the number of pixels in a block. New search origin is set as either the zero displaced block or the displaced as much as MV magnitude of an adjacent block that has maximum block similarity. In two candidates of search origin, the block that has smaller DBD is regarded as the new search origin. That is, let DBD(0 0) is the DBD of zero displaced block and DBD is the DBD of block that has maximum block similarity to current block. If DBD(0 0) is smaller than DBD , the zero displaced block is set to the search origin, otherwise, the location pointed to by the MV of adjacent block that has maximum block similarity is used as the search origin for block-matching. In presented method, by taking the direction of object's motion we can reduce the possibility of falling into local-minimum. If the adjacent blocks contain the same object as current block has, a block which contains the largest part of the same object is selected and the search origin is set by its MV. By taking advantages of the adjacent block correlations, the search area can be reduced, i.e. cutting down the number of matching candidate ;
adj
;
adj
blocks with opposite motion direction.
Adaptive adjustment of search window : After
set the search origin, the size of search window of each block is determined by considering the block similarity and its displacement. In Figure 5 step 4, we describe the algorithm to determine the size of search window for each block. The maximum displacement of MV is determined in some different ways according to the new search origin at step 3. In case new search origin is set by MV of the adjacent block(DBD < DBD(0 0) ), the displacement of MV is adjusted only considering the block similarity. In our work, we identify how the new search origin is well predicted. Three classes, poor-, medium-, and wellpredicted, are de ned as follows 8 w poor-predicted, or > > block similarity T > < w=2 medium-predicted, or (3) displacement = T < block similarity > T > > : w=4 well-predicted, or block similarity > T Where w is initial set displacement of MV. In each class, the allowable displacements of MV for poor-, medium-, well-predicted block are set to w, w=2, w=4, respectively. For well-predicted block, the current block is very similar to adjacent block, and so does their motion displacement. The best matched block, therefore, is placed near the new search origin. This can be used to reduce the size of search window. In poor-predicted case, we can derive an opposite results. Secondly, if new search origin is set by zero displaced block(DBD(0 0) < DBD ), the displacement of MV is determined as follows adj
;
low
low
high
high
;
adj
displacement = (block similarity) Maxfx; yjMV component of adjacent blockg + (4) w (1 ? block similarity) In this case, motion vector lies on between 0 and Maxfx; yg + , where (x; y) is MV for adjacent block that has the largest block similarity, and is dependent on the block similarity. DBD(0 0) < DBD means that the best matched candidate block maybe exist in centerbiased location. The block similarity shows that two adjacent blocks have the same motion structures and are displaced as much as one another in proportion to block similarity. For each block, the size of search window is determined, and then BMA is performed as conventional one. This strategy, also, can be applied for some fast search algorithms such as TSS, NTSS, 2D-LOG, etc. Update the thresholds : In the algorithm for search window adjustment, there are three thresholds, T , T for identifying the prediction of initial MV, and T for image segmentation. Each threshold is closely related to the computational complexity and performance of the proposed algorithm. In our algorithm, we xed the T and T to 30% and 70%, respectively. The threshold T for image segmentation, is adaptively changed by considering the computational complexity, that is, the number of matching candidate blocks. If computational ;
adj
low
high
seg
low
high
seg
Algorithm : Dynamic Search Window Adjustment step 1 : Segment current frame using simple split and
merge algorithm; step 2 : For each block of current frame, DBD of current block computed at displacement MV of adjacent block which has the largest block similarity and DBD(0 0) at search origin (0,0) are calculated; Step 3 : New search origin is set as displacement of block which has smaller DBD between DBD and DBD(0 0) ; Step 4 : Set the size of search window as Step 4.1 : If new search origin is set by adjacent block's MV(DBD(0 0) > DBD ), the allowable displacement is adjusted by considering of block similarity, i.e. inversely proportional to block similarity; step 4.2 : If new search origin is set as search origin, the size of search window is set as (block similarity) Maxfx; yj MV component of adjacent block g + w (1 ? (block similarity)). Where, w is the initial maximum displacement; Step 5 : Perform BMA at new search origin with adjusted displacement; Step 6 : Update the thresholds frame by frame; adj
;
adj
;
;
adj
Figure 5: Algorithm for determination the size of search window based on block similarity and DBD. complexity is higher than that of expected number of matching blocks, the threshold is increased in proportion to the rate of increasing computational complexity such as T = T ?1 + M f(Number of matching blocks) ? (Number of expected matching blocks)g= (Number of expected matching blocks) (5) where, M is the mean of a given frame. With this updating policy, we can get MV within expected computational complexity approximately. n seg
n seg
3. Experimental Results
In the experiments, we use Carphone and Miss America sequences of size 352 288 pixels quantized to 8 bits of luminance/pixel. The Miss America sequence has slowto-moderate motion with a uniform background, but Carphone sequence has some fast-motion with non-uniform background. To evaluate the performance, we compare the results in terms of the sum of absolute errors(SAE) for each block and the number of search points(NSP) per block. With the test image sequences, we perform fullsearch block-matching algorithm with the size of search window determined by initially set w, by search window adjustment algorithm[13], and by proposed one at displacement w = 8; 16, respectively. Also, to show the effectiveness of the search window adjustment in some fast search algorithms, especially, TSS and NTSS, some experimental results are presented in this section. We call the full-search block-matching algorithms with the size of
340000
700000 "fsbma.mis.sae" "abma.mis.sae" "pbma.mis.sae"
320000
"fsbma.car.sae" "abma.car.sae" "pbma.car.sae"
650000
300000
600000
280000
550000
SAE
search window of conventional method, the size of search window adjusted by [13] and the size of search window adjusted by proposed one as FSBMA, ABMA, PBMA, respectively. Also, TSS is an algorithm by [5], ATSS is TSS with search window adjustment scheme by [13], PTSS is TSS with proposed search window adjustment method. As similarly, NTSS is a new search step search algorithm by [6], ANTSS is NTSS with search window adjustment scheme by [13], and PNTSS is NTSS with proposed search window adjustment method. The average performances are presented in Table 1, 2, 3 with the test image sequences, maximum displacement w = 8; 16. The presented method has good SAE results compared with that of conventional and ABMA which only considers the allowable displacement based on the block dierence. Especially, with 'Carphone' video sequences, the comparison results are noticeable. BMA, TSS, NTSS with our presented scheme for search window adjustment have better SAE performance conventional FS, TSS, NTSS with the computational complexity from a third to a half. In TSS algorithm, the search window adjustment eect are larger than that of NTSS because NTSS is developed based on the center-biased motion vector in smoothly varying image sequences. In Figure from 6 to 8, some detailed SAE results are shown along the frame numbers with displacement w =
260000
500000
240000
450000
220000
400000
200000
350000
180000
300000 0
20
40 60 Frame number
80
100
0
20
40 60 Frame number
80
100
(a) Miss America (b) Carphone Figure 6: SAE performances of FSBMA, ABMA, PBMA schemes with maximum displacement w = 16 360000
750000 "tss.mis.sae" "atss.mis.sae" "ptss.mis.sae"
340000
"tss.car.sae" "atss.car.sae" "ptss.car.sae"
700000
320000
650000
300000
600000
SAE
Table 2: Average SAE and NSP performances per block for each methods applied for TSS. (a) Maximum displacement w = 8 ME Method Miss America Carphone SAE NSP SAE NSP TSS 744 23 1563 23 ATSS 725 17 1569 13 Proposed 758 13 1515 16 (b) Maximum displacement w = 16 ME Method Miss America Carphone SAE NSP SAE NSP TSS 749 31 1561 31 ATSS 751 25 1582 23 Proposed 708 19 1528 21
16. In our scheme, an object with high motion is very well predicted since block similarity is calculated from the object-based region which is preprocessed for BMA. And falling into local-minimum is overcame by using of object based motion structures, too. Finally, a good the subject quality can be achieved by using motion structure rather than using only DBD of each search point. The proposed scheme prefers to a block with the highest block similarity as candidate block for the best matching. So, as coding progress of successive frames, motion structures within sequences are preserved. Simulation results show that the proposed motion estimation with dynamic adjustment of search window is promised that it can be used for low complexity video coding applications such as video-phone or videoconferencing because of low computational complexity.
SAE
(b) Maximum displacement w = 16 ME Method Miss America Carphone SAE NSP SAE NSP FSBMA 686 984 1354 984 ABMA 714 432 1439 243 Proposed 701 353 1375 275
Table 3: Average SAE and NSP performances per block for each methods applied for NTSS. (a) Maximum displacement w = 8 ME Method Miss America Carphone SAE NSP SAE NSP NTSS 704 21 1517 21 ANTSS 703 24 1497 23 Proposed 709 22 1489 22 (b) Maximum displacement w = 16 ME Method Miss America Carphone SAE NSP SAE NSP NTSS 703 22 1486 22 ANTSS 701 25 1517 23 Proposed 709 22 1474 22
SAE
Table 1: Average SAE and NSP performances per block for each methods applied for FSBMA. (a) Maximum displacement w = 8 ME Method Miss America Carphone SAE NSP SAE NSP FSBMA 691 262 1407 262 ABMA 714 105 1496 147 Proposed 701 121 1375 163
280000
550000
260000
500000
240000
450000
220000
400000
200000
350000 0
20
40 60 Frame number
80
100
0
20
40 60 Frame number
80
100
(a) Miss America (b) Carphone Figure 7: SAE performance of TSS, ATSS, PTSS schemes with maximum displacement w = 16
4. Conclusion
In this paper, we proposed a dynamic search window adjustment algorithm for BMA based on the block similarity to overcome the computational complexity of FSBMA, and the problem of falling into local-minimum in
340000
750000 "ntss.mis.sae" "antss.mis.sae" "pntss.mis.sae"
320000
"ntss.car.sae" "antss.car.sae" "pntss.car.sae"
700000 650000
300000
600000
SAE
SAE
280000 260000
550000 500000
240000 450000 220000
400000
200000
350000
180000
300000 0
20
40 60 Frame number
80
100
0
20
40 60 Frame number
80
100
(a) Miss America (b) Carphone Figure 8: SAE performance of NTSS, ANTSS, PNTSS schemes with maximum displacement w = 16 several fast search algorithms. The proposed method for adjustment of the size of search window is performed through the steps:(1)Set new search origin based on block similarity and DBD, (2)Adjust the size of search window, and (3)Update the thresholds for accommodation to a given image sequence. The technique can be easily applied for full search BMA or several fast search algorithms to get more eciency and less falling into local-minimum. The experimental results show that the proposed technique has a good performance in terms of the number of matching blocks, and the sum of absolute errors for each block, compared with FSBMA and ABMA.
References
[1] D. L. Gall, \MPEG: A Video Compression Standard for Multimedia Application," Communication of the ACM, 34(4) 46{58, (Apr. 1991). [2] M. Liou, \Overview of the Px64 kbit/s Video Coding Standard," Communication of the ACM, 34(4) 59{ 63, (Apr. 1991). [3] R. Schaphorst and Rapporteur, \Draft Recommendation H.263(Video coding for low bitrate communication)," ITU-T SG15 WP15/1, (Jul. 1995). [4] Y. Baek, H. -S. Oh, and H. -K Lee, \Block-matching criterion for ecient VLSI implementation," Electronic Letters, 32(13), 1184-1185, (Jun. 1996). [5] J. R. Jain, and A. K. Jain, "Displacement Measurement and Its Application in Interframe Image Coding," IEEE Trans. On Communications, Com29(12), 1799{1808, (Dec.1981). [6] R. Li, B. Zeng, and M. L. Liou, "A New ThreeStep Search Algorithm for Block Motion Estimation," IEEE Trans. On Circuits and Systems for Video Technology, 4(4), 438{441, (Aug. 1994). [7] T. Koga, K. linuma, A. Hirano, Y. Iijima, and T. Ishiguro, "Motion-compensated Interframe Coding for Video Conferencing," Proc. NTC81, G5.3.1{ G5.3.5, (Dec. 1981). [8] R. Srinivasan and K. R. Rao, "Predictive Coding Based On Ecient Motion Estimation," IEEE Trans. On Communications, vol. 33, no. 8, pp. 888{ 896, August 1985. [9] M. -J. Chen, L. -G. Chen and T. -D. Chiueh, \OneDimensional Full Search Motion Estimation Algorithm for Video Coding," IEEE Trans. On Circuits and Systems for Video Technology, 4(5), 504{509, (Oct. 1994).
[10] Ghanbari, "The Cross-Search Algorithm for Motion Estimation," IEEE Trans. On Communications, 38(7), 950{953, (Jul. 1990). [11] L. -G Chen, W. -T Chen, Y. -S Jehng, and T. D. Chiueh, "An Ecient Parallel Motion Estimation Algorithm for Digital Image Processing," IEEE Trans. On Circuits and Systems for Video Technology, 1(4), 378{385, (Dec. 1991). [12] L. -W Lee, J. -F Wang, J. -Y. Lee, and J. -D. Shie, "Dynamic Search-Window Adjustment and Interlaced Search for Block-Matching Algorithm," IEEE Trans. On Circuits and Systems for Video Technology, 3(1), 85{87, (Feb. 1993). [13] Feng, K.-T. Lo, H. Mehrpour and A.E. Karbowiak, "Adaptive Block Matching Motion Estimation Algorithm for Video Coding," Electronics letters, 32(18), 1542{1543, (Aug. 1995). [14] S. Kappagantula and K. R. Rao, "Motion Compensated Interframe Image Prediction," IEEE Trans. On Communications, Com-33(9), 1011{1015, (Sep. 1985). [15] B. Liu and A. Zaccarin, "New Fast Algorithms for the Estimation of Block Motion Vectors," IEEE Trans. On Circuits and Systems for Video Technology, 3(2), 148{157, (Apr. 1993). [16] V. Seferidsi and M. Ghanbari, \General Approach to Block-Matching Motion Estimation," Optical Engineering, 32(7), 1464{1474, (Jul. 1993). [17] ITU-T Recommendation H.261, "Video Codec For Audiovisual Services at Px64 kbit/s," (1993). [18] I. Pitas, "Digital Image Processing Algorithm,", Prentice Hall International Ltd., 254-297, (1993). [19] E. Chan, A. A. Rodringuez, R. Gandhi, and S. Panchanathan, \Experiments On block-matching techniques for video coding," ACM Multimedia Systems, 2(5), 228{241, (1994). [20] W. Li and E. Salari, "Successive Elimination Algorithm for Motion Estimation," IEEE Trans. Circuits and Systems for Video Technology, 4(1), 105{107, (Jan. 1995). [21] M. -J. Chen, L. -G. Chen, T. -D. Chiueh, and Y. -P. Lee, "A New Block-Matching Criterion for Motion Estimation and Its Implementation," IEEE Trans. Circuits and Systems for Video Technology, 5(3), 231{236, (Jun. 1995). [22] L. -M. Po and W. -C. Ma, \A Novel Four-Step Search Algorithm for Fast Block Motion Estimation," IEEE Trans. On Circuits and Systems for Video Technology, 6(3), 313{317, (Jun. 1996).