Anda di halaman 1dari 7

242

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

REFERENCES
[1] S. Wolfram, Computational theory of cellular automata, Commun. Math. Phys., vol. 96, pp. 1557, 1984. [2] P. Grassberger, Toward a quantitative theory of self-generated complexity, Int. J. Theor. Phys., vol. 25, pp. 907938, 1986. [3] J. P. Crutchfield and K. Young, Computation at the onset of chaos, in Complexity, Entropy and Physics of Information, SFI Studies in the Sciences of Complexity, W. H. Zurek, Ed. Reading, MA: Addison-Wesley, 1990, vol. 8, pp. 223267. [4] D. Auerbach and I. Procaccia, Grammatical complexity of strange sets, Phys. Rev., vol. A41, pp. 66026614, 1990. [5] G. Troll, Formal languages in dynamical systems, Acta Univ. Carolina Math. Phys., vol. 34, p. 117, 1993. [6] H. Xie, On formal languages in one-dimensional dynamical systems, Nonlinearity, vol. 6, pp. 9971007, 1993. [7] Y. Wang and H. Xie, Grammatical complexity of unimodal maps with eventually periodic kneading sequences, Nonlinearity, vol. 7, pp. 14191436, 1994. [8] P. Collet, A. Galves, and A. Lopes, Maximum likelihood and minimum entropy identification of grammars, Random Computat. Dyn., vol. 3, p. 241, 1995. [9] P. Lakdawala, The computational complexity of symbolic dynamics at the onset of chaos, Phys. Rev., vol. E53, pp. 44774485, 1996. [10] C. Moore, Dynamical recognizers: Real-time language recognition by analog computers, Santa Fe Inst., Santa Fe, NM, working paper 96-05-023. [11] N. Chomsky, On certain formal properties of grammar, Inform. Contr., vol. 2, pp. 137167, 1959. , Aspects of the Theory of Syntax. Cambridge, MA: MIT Press, [12] 1965. [13] R. N. Moll, M. A. Arbib, and A. J. Kfoury, An Introduction to Formal Language Theory. New York: Springer-Verlag, 1988. [14] G. Rozenberg and A. Salomaa, Handbook of Formal Languages. New York: Springer-Verlag, 1997. [15] E. M. Gold, Language identification in the limit, Inform. Contr., vol. 10, pp. 447474, 1967. [16] D. Angluin, Inductive inference of formal languages from positive data, Inform. Contr., vol. 45, pp. 117135, 1980. [17] K. S. Fu and T. L. Booth, Grammatical inference: Introduction and surveyPart I, IEEE Trans. Syst., Man, Cybern., vol. SMC-5, pp. 95111, Jan. 1975. [18] Y. Sakakibara, Recent advances in grammatical inference, Theoretical Comput. Sci., vol. 185, pp. 1545, 1997. [19] A. E. Fitzgerald, C. Kingsley, and S. D. Umans, Electric Machinery, 4th ed. New York: McGraw-Hill, 1985. [20] J. F. Martins, A. J. Pires, and J. F. Silva, A novel and simple current controller for three-phase PWM power inverters, IEEE Trans. Ind. Electron., vol. 45, pp. 802805, Oct. 1998. [21] J. F. Martins, A. J. Pires, and J. A. Dente, Automatic input/output modeling of a squirrel cage induction motor drive system using a neural network, in Proc. EPE, Trondheim, Norway, 1997, pp. 4.6324.637. [22] , A choice of variables in automatic modeling of AC drive systems, in Proc. PEMC, Prague, Czech Republic, 1998, pp. 5.75.12. [23] T.-S. Low, T. H. Lee, and H. K. Lim, A methodology for neural network training from control of drives with nonlinearities, IEEE Trans. Ind. Electron., vol. 40, pp. 243249, Apr. 1993. [24] H. Bunke, String matching for structural pattern recognition, in Syntactic and Structural Pattern Recognition. Theory and Applications, Series in Computer Science, H. Bunke and A. Sanfelui, Eds. Singapore: World Scientific, 1990. [25] K. S. Fu and T. L. Booth, Grammatical inference: Introduction and surveyPart II, IEEE Trans. Syst., Man, Cybern., vol. SMC-5, pp. 409423, Apr. 1975.

An Efficient Gray Search Algorithm for the Estimation of Motion Vectors


Jau-Ling Chen and Pei-Yin Chen
AbstractMotion vector estimation plays an important role in motion compensated video coding. An efficient and fast search algorithm is proposed for the estimation of motion vector. With the help of gray prediction, the algorithm can determine the motion vectors of image blocks quickly and correctly. Since the proposed algorithm performs better than other search algorithms, such as three-step search (TSS), cross search (CS), new three-step search (NTSS), four-step search (FSS), block-based gradient descent search (BBGDS), simple and efficient search (SES), prediction search (PS), and gray prediction search (GPS), it is very beneficial in applications where video coding speed is important. Index TermsBlock motion estimation, gray prediction.

I. INTRODUCTION Recently, several video compression standards, such as H.263 and MPEG, have been proposed for different applications. The standards use motion estimation to reduce the temporal redundancy and use DCT to reduce the spatial redundancy. A block-matching algorithm (BMA) is often used to find the motion vectors of image blocks for its simplicity and regularity. In a typical BMA, a frame is divided into nonoverlapped square blocks of 2 pels. Then for a maximum motion displacement of pels per frame, the block of pels in the current frame (called a reference block) is matched against the corresponding blocks (called the candidate blocks) within the square search area of width + 2 in the previous frame. A straightforward BMA is the full search (FS) algorithm, which exhaustively searches for the best-matched block within the search area to get the optimal motion vector. Due to the high computation requirement of FS, many efficient and fast search algorithms [1][8] have been developed in the past. The motion vector of a block is highly related to the motion vectors of its adjacent blocks in the same image frame due to the spatial (interblock) correlation. In addition, the motion vectors of the currently coding frame are highly related to the motion vectors of the previously processed image frames because of the temporal (interframe) correlation of the image sequences. Using the interblock and interframe correlations, we present an efficient predictive search algorithm for block motion estimation in this paper. The gray theory, applicable to the prediction problem of a timevarying nonlinear system, was first proposed by Deng [9]. Since the gray model (GM) can make excellent predictions, it has been successfully and widely used in many fields [9][11]. The relations among the spatial adjacent motion vectors and among the temporal adjacent motion vectors are neither deterministic nor totally unknown but is partially known (gray). Since the characteristic is very similar to that of a GM, we adopt GM (1, 1), a kind of single variable and first-order linear dynamic GM to implement the interblock and interframe prediction. The experimental results show that the proposed algorithm performs better than other search algorithms, such as the three-step search (TSS) algorithm [1], the cross search (CS) algorithm [2], the new three-step search (NTSS) algorithm [3], the four-step search (FSS) algorithm [4],

M M

M d

Manuscript received September 15, 2000; revised May 15, 2001. This work was supported in part by the National Science Council, R.O.C., under Grant NSC-89-2213-E-218-036. This paper was recommended by Associate Editor I. Gu. The authors are with the Department of Electronic Engineering, Southern Taiwan University of Technology, Tainan, Taiwan, R.O.C. Publisher Item Identifier S 1094-6977(01)06492-6. 10946977/01$10.00 2001 IEEE

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

243

the block-based gradient descent search (BBGDS) algorithm [5], the simple and efficient search (SES) algorithm [6], the prediction search (PS) algorithm [7], and the gray prediction search (GPS) algorithm [8] in terms of five different measures: 1) average absolute prediction errors per pixel; 2) average mean square error (MSE) per pixel; 3) average PSNR; 4) average search points per block; 5) average number of bits per frame for encoding the motion vector differentials.

Fig. 1. Positionrelation of reference block and four neighboring blocks.

determine the blocks final motion vector. In the following sections all details about the proposed algorithm are described. A. Finding the Predicted Displacement
i Let Br represent the current reference block in frame i. In order i to find the MV of Br , the search algorithm first determines the prei i dicted displacement of Br . The predicted displacement of Br , denoted i x; y , is obtained by using interblock and interframe as Dr prediction. Let Vri ; Vri01 , and Vri01 represent the predicted vector of i i01 , and the motion vector of B i01 , reBr , the predicted vector of Br r i is given as spectively. The Dr

II. GRAY MODEL GM (1, 1) Instead of forming a knowledge base, the GM constructs some differential equations to characterize the controlled system behavior. By using a few past output data and solving the differential equations, the GM can predict the future behavior of the system accurately. In most cases, the raw data obtained by measuring the system is lack of interrelations and is insufficient to establish a GM. Some manipulation on the raw data is needed to get a more regular data sequence. As most gray systems do, the accumulated generating operation (AGO) is used (0) (0) (0) x ; x ; ;x n be the origin the design. Let X (0) (0) inal data sequence, where x i represents the system output at time (1) (1) (1) (1) i. The new sequence X x ; x ; ;x n generated with the AGO is derived as follows:

= ( (1) (2) . . . ( )) () = ( (1) (2) . . . ( ))


k m=1
x

^ = [1^ 1^] ^ ^ ^ i ^ r = 2 ^ri + 2 ^ri0 + 2


D w1 V w2 V

w3

Vr

i01

(7)

(1)

( )=
k

(0)

( ) 2 f1 . . . g
m ; k ;

; n :

(1)

According to GM (1, 1), we can form the following first-order gray differential equation:
dX

(1)

dt

aX

(1)

b:

By solving the differential equation, we can get the prediction function for the gray system
x

^ ( + 1) =
(1)
k a b

(0)

(1) 0
T

b a

0ak +

b a

(2)

where w1 ; w2 , and w3 mean the weighting vectors of the three vector components. The Vri01 is obtained in the previously estimating process, and both Vri and Vri01 are determined by using the gray prediction process described below. Since the current frame is i, Vri i can provide more contribution to determine Dr  Thus, its weighting vector w1 should be larger than others. After many experiments, we let w1 : , w2 : , and w3 : . Fig. 1 shows the positionrelation of the reference block and the four i neighboring blocks used for interblock prediction. The Br is located at m; n , where m n is the column (row) number. Its four neighboring blocks, at location m 0 ; n , m 0 ; n , m; n 0 , i and m ; n 0 , are denoted as Bk for k 2 f ; ; ; g. Let i i i i Vk mxk ; myk represent the MV of Bk (obtained in a previously i i ; y i mean the predicted vector of estimating process) and Vr xr r i i Br . Then, xr is calculated by using the following gray prediction steps. Step 1) Construct the original data sequence

=05

=02

=03

) ( + 16 =[ ^
x

() ( 32 ) ( 16) ] ^ = [^ ^ ]

16 ) ( 16) 1234

where x denotes the prediction of x, and a and b are determined by


a

(0) (0)
; x

^= =

=(

)0

yn

(3)

= (1) (2) = ( i + 200) (


(0)
mx1 ;

; x

(0)

mx2

(3) (4) i + 200) ( i + 200) (


; x

(0)

mx3

mx4

+ 200) ^

00 5 00 5
: :

x x

(1) (1)

00 5
: yn x

(1)

111 ( 0 1) +
n ;

(1) + (2) +

x x

(1) (1)

(2) (3)
n

1 1
T

(4)

Step 2) Generate the new data sequence X (1) with AGO [see (1)]. Step 3) Determine a and b using (3)(5). Step 4) Calculate x(0) using (2) and (6). Then, determine xi as r follows:

^ (3)
xr

(1)

= (2) (3) . . . Hence, ^ ( + 1) is given as ^ ( + 1) = ^ ( + 1) 0 ^ ( )


(0)
; x

(0)

;x

(0)

() 1 ()
n : x

^i = ^ (3) 0 200
x

(0)

(5)

(0)

(0)

(1)

(1)

k :

(6)

In order to smooth the gray prediction curve, we generate the data i i sequence X (0) by adding 200 to each mxk . Similarly, yr is calculated i i through the same four steps by replacing the mxk with myk . Thus, the i can be determined. Fig. 2 shows the procedure to determine V i in Vr r the flow-chart form. With the same steps, we can calculate Vri01 by i i i replacing the Vk with Vk 01 . Thus, Dr x; y can be obtained using (7).

^ = [1^ 1^] [1^ 1^]

III. PROPOSED SEARCH ALGORITHM In the algorithm, an image frame is processed from a topleft block to a bottomright block. For each block, two procedures are used to obtain its motion vector (MV). The first procedure is to find its predicted displacement by using gray prediction. The second process is to B. Determining the Final Motion Vector Using the predicted displacement x; y determined in the first procedure, the search algorithm sets the initial search center at m x; n y and starts searching the whole search area with a 2

1^ + 1^)

( + 3 3

244

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

Fig. 3. Four search patterns for the next search iteration when the minimum BDM point is located at the middle of the boundary column (row) of the present search window.

Fig. 4. Four search patterns for the next search iteration when the minimum BDM point is located at the corner of the present search window.

Fig. 2.

^ Procedure to determine V .

movable search window until the local minimum BDM (block distortion measure) block lies in the center of the present search window or until the number of search iterations is larger than seven. The procedure is summarized as follows. Step 1) Set the initial center of the search area at the coordinate m x ; n y , and the loop counter C to 1. Step 2) Find the minimum BDM point among the nine checking points on a 2 movable search window. Step 3) If C > or the minimum BDM point is located at the center of the present search window, go to Step 4; otherwise,

(( + 1^) ( + 1^)) 3 3 7

( )

increase C by 1, perform the search process with the following two search patterns, and then repeat this step. a) If the minimum BDM point is located at the middle of the boundary column (row) of the present search window, the center of the next search window is shifted to the minimum BDM point, and three additional vertical (horizontal) adjacent checking points as shown in Fig. 3 are used. b) If the minimum BDM point is located at the corner of the present search window, the center of the next search window is shifted to the minimum BDM point, and five additional checking points as shown in Fig. 4 are used. Step 4) Stop the search and calculate the final motion vector. With the help of the halfway-stop technique, the proposed algorithm can stop the search process as soon as the minimum BDM point is found at the center of the present search window. Since we make good prediction with GM, according to our experiments the minimum BDM point

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

245

TABLE I COMPARISON OF PREDICTION ERRORS OF THE SEARCH ALGORITHMS (BDM

= SAD)

TABLE II COMPARISON OF MSE OF THE SEARCH ALGORITHMS (BDM

= SAD)

TABLE III COMPARISON OF PSNR OF THE SEARCH ALGORITHMS (BDM

= SAD)

is usually found at the center of the present search window either after the first search iteration (C = 1) or after the second search iteration (C = 2). IV. EXPERIMENTAL RESULTS Since the gray prediction procedure requires complex computations, the table-lookup approach is applied to reduce the implementation complexity and to prompt the prediction speed. Four adjacent motion vectors are used for gray prediction and a table with 2424 entries must be constructed, in which each entry needs four bits to store a predicted vector value between 07 and 7. Thus, the prediction table needs 32K bytes of memory. In our experiments, the block size is fixed at 16 2 16. The first 100 frames of the Football, Tennis, Flower, Mobile, Windmill, Miss America, and Salesman sequences are used to test the proposed algorithm. The comparisons are made by using ten search algorithms:

1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 1) 2) 3) 4) 5)

FS; TSS [1]; CS [2]; NTSS [3]; FSS [4]; BBGDS [5]; SES [6]; PSA [7]; GPS [8]; OUR (the proposed algorithm); average absolute prediction errors per pixel; average MSE per pixel; average PSNR; average search points per block; average number of bits per frame for encoding the motion vector differentials.

in terms of five measures. These measures include:

246

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

TABLE IV COMPARISON OF SEARCH POINTS OF THE SEARCH ALGORITHMS (BDM

= SAD)

TABLE V COMPARISON OF CODING BITS OF THE SEARCH ALGORITHMS (BDM

= SAD)

TABLE VI COMPARISON OF PREDICTION ERRORS OF THE SEARCH ALGORITHMS (BDM

= MSE)

TABLE VII COMPARISON OF MSE OF THE SEARCH ALGORITHMS (BDM

= MSE)

In MPEG, the motion vector differentials, obtained from spatially adjacent blocks, are encoded and transmitted instead of the motion vectors. By spatial ordering, we use the block at the top-left corner as the

reference block and order the blocks from top-left to top-right and then go to the next row of blocks and so on. Thus, the bits per frame used for encoding the motion vector differentials can be calculated.

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

247

TABLE VIII COMPARISON OF PSNR OF THE SEARCH ALGORITHMS (BDM

= MSE)

TABLE IX COMPARISON OF SEARCH POINTS OF THE SEARCH ALGORITHMS (BDM

= MSE)

TABLE X COMPARISON OF CODING BITS OF THE SEARCH ALGORITHMS (BDM

= MSE)

TABLE XI COMPARISON OF THE SEARCH ALGORITHMS FOR FRAME SKIPPING

= 2 (BDM = SAD)

The results obtained from the different algorithms are reported in Tables IV where the sum of absolute difference (SAD) is used as the BDM. Tables VIX show the results when the BDM is defined to be the MSE. According to the experimental results, the proposed algorithm

performs better than such algorithms as TSS, CS, NTSS, FSS, BBGDS, SES, PSA, and GPS in terms of the five measures. To further demonstrate the robustness of the algorithm, a skipping of two frames is enforced to test the algorithms. Frame skipping is a

248

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART C: APPLICATIONS AND REVIEWS, VOL. 31, NO. 2, MAY 2001

TABLE XII COMPARISON OF THE SEARCH ALGORITHMS FOR FRAME SKIPPING

= 2 (BDM = MSE)

strategy used by H.263 to control the bit rate and adjust coding to specific bandwidth limitations. Table XI gives the average results when SAD is adopted as the BDM and a skipping of two frames is used. Similarly, Table XII gives the results for using MSE. Obviously, the results indicate that the proposed algorithm consistently produces better performance and more reliable MVs. This illustrates the capability of our algorithm to cope with larger movements.

[9] J. Deng, Control problems of gray system, Syst. Contr. Lett., vol. 5, pp. 288294, 1982. [10] Y.-P. Huang and C.-C. Huang, The integration and application of fuzzy and gray modeling methods, Fuzzy Sets Syst., vol. 78, no. 1, pp. 107119, 1996. [11] Y.-P. Huang and T.-M. Yu, The hybrid gray-based models for temperature prediction, IEEE Trans. Syst., Man, Cybern. B, vol. 27, pp. 284292, Apr. 1997.

V. CONCLUSION Most previous search algorithms [1][6] did not consider the relation of adjacent motion vectors. Using the spatial correlation obtained from the adjacent motion vectors in the current image frame, two recent search algorithms PSA [7] and GPS [8] can achieve better results. Using the spatial correlation in the current image frame and the temporal correlation obtained from the motion vectors in the previous image frame, we present a more efficient predictive search algorithm for block motion estimation in this paper. The experimental results show that the proposed algorithm works better than other search algorithms in term of five different measures and can be very beneficial in applications where video coding speed is important. The drawback of the proposed method is that the gray prediction table needs 32K bytes of memory. That might increase the cost when the method is implemented by hardware circuits.

REFERENCES
[1] T. Koga et al., Motion-compensated interframe coding for video conferencing, in Proc. NTC, New Orleans, LA, 1981, pp. C9.6.19.6.5. [2] N. Ghanbari, The cross-search algorithm for motion estimation, IEEE Trans. Commun., vol. 38, pp. 950953, July 1990. [3] R. Li, B. Zeng, and M. L. Liou, A new three-step search algorithm for block motion estimation, IEEE Trans. Circuits Syst. Video Technol., vol. 4, pp. 438442, Apr. 1994. [4] L.-M. Po and W.-C. Ma, A novel four-step search algorithm for fast block motion estimation, IEEE Trans. Circuits Syst. Video Technol., vol. 6, pp. 313317, Mar. 1996. [5] L.-K. Liu and E. Feig, A block-based gradient descent search algorithm for block motion estimation in video coding, IEEE Trans. Circuits Syst. Video Technol., vol. 6, pp. 419422, Apr. 1996. [6] J. Lu and M. L. Liou, A simple and efficient search algorithm for blockmatching motion estimation, IEEE Trans. Circuits Syst. Video Technol., vol. 7, pp. 429433, Feb. 1997. [7] L. Luo et al., A new prediction search algorithm for block motion estimation in video coding, IEEE Trans. Consumer Electron., vol. 43, pp. 5661, Feb. 1997. [8] J. M. Jou, P.-Y. Chen, and J.-M. Sun, The gray prediction search algorithm for block motion estimation, IEEE Trans. Circuits Syst. Video Technol., vol. 9, pp. 843848, June 1999.

Anda mungkin juga menyukai