Computation-efficient FPGA implementation for flexible triangle search block-based motion estimation algorithm

In this paper, a computation-efficient implementation of the flexible triangle (FTS) search algorithm is presented. The FTS is a fast block-matching algorithm for motion estimation proposed in previous work. The FTS is used for block-based motion estimation where it can locate the best matching blocks between two frames using a search triangle of flexible size and orientation. This flexibility provide the triangle with the high efficiency to locate the best matching block in fewer number of search iterations. Further analyses of the FTS performance indicates that more computation efficiency can be achieved in loading the search area and the computing the matching criterion between two macroblocks. Adjacent search areas are overlapped and consequently, the loading mechanism can be modified to load only the non-overlapped sections In addition, loading of search area and other data can start earlier parallel with the algorithm initialization. Finally, the computed SAD results can be stored and then later used instead of re-computing them again. The proposed implementation in this paper reduces the average number of cycles required to finish one macroblock search by around 26% and thus enable the video encoder to support higher frequencies or larger resolutions. The proposed technique was implemented in FPGA as part of the flexible triangle search (FTS) motion estimation algorithm. The proposed design was implemented, simulated, and tested using VHDL and synthesized using Xilinx ISE for the Xilinx Spartan3 device. The results obtained were compared to an FPGA implementation of the FTS algorithm published in previous work.

[1]  Fayez Gebali,et al.  An FPGA implementation of the flexible triangle search algorithm for block based motion estimation , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[2]  Kai-Kuang Ma,et al.  A new diamond search algorithm for fast block-matching motion estimation , 2000, IEEE Trans. Image Process..

[3]  R. Nashed,et al.  Efficient search area loading technique for block-based motion estimation and its FPGA implementation using flexible triangle search algorithm , 2009, 2009 International Conference on Computer Engineering & Systems.

[4]  Peter Kuhn,et al.  Algorithms, Complexity Analysis and VLSI Architectures for MPEG-4 Motion Estimation , 1999, Springer US.

[5]  Yao Wang,et al.  Video Processing and Communications , 2001 .

[6]  P. Agathoklis,et al.  Block-based motion estimation using an enhanced flexible triangle search algorithm , 2005, Canadian Conference on Electrical and Computer Engineering, 2005..

[7]  D. Samanta,et al.  VLSI architecture for multi-resolution three step search algorithm , 2003, ASIC, 2003. Proceedings. 5th International Conference on.

[8]  V. Kamakoti,et al.  A parallel architectural implementation of the New Three-Step Search algorithm for block motion estimation , 2004, 17th International Conference on VLSI Design. Proceedings..

[9]  Cedric Nishan Canagarajah,et al.  Simplex minimization for single- and multiple-reference motion estimation , 2001, IEEE Trans. Circuits Syst. Video Technol..

[10]  Bing Zeng,et al.  A new three-step search algorithm for block motion estimation , 1994, IEEE Trans. Circuits Syst. Video Technol..

[11]  Tihao Chiang,et al.  A hierarchical N-Queen decimation lattice and hardware architecture for motion estimation , 2004, IEEE Transactions on Circuits and Systems for Video Technology.

[12]  G. Morrison Video coding standards for multimedia: JPEG, H.261, MPEG , 1992 .

[13]  K. Wiatr,et al.  Motion estimation operation implemented in FPGA chips for real-time image compression , 2001, ISPA 2001. Proceedings of the 2nd International Symposium on Image and Signal Processing and Analysis. In conjunction with 23rd International Conference on Information Technology Interfaces (IEEE Cat..

[14]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[15]  Sang-Seol Lee,et al.  A 4-way pipelined processing architecture for three step search block-matching motion estimation , 2004, 2004 IEEE International Conference on Multimedia and Expo (ICME) (IEEE Cat. No.04TH8763).

[16]  Liang-Gee Chen,et al.  A novel hybrid motion estimator supporting diamond search and fast full search , 2002, 2002 IEEE International Symposium on Circuits and Systems. Proceedings (Cat. No.02CH37353).

[17]  Eric Viscito,et al.  Hierarchical motion estimation with 2-scale tilings , 1994, Proceedings of 1st International Conference on Image Processing.

[18]  P. Agathoklis,et al.  Flexible triangle search algorithm for block based motion estimation , 2003, 2003 IEEE Pacific Rim Conference on Communications Computers and Signal Processing (PACRIM 2003) (Cat. No.03CH37490).

[19]  Kai-Kuang Ma,et al.  Correction to "a new diamond search algorithm for fast block-matching motion estimation" , 2000, IEEE Trans. Image Process..

[20]  Lap-Pui Chau,et al.  Hexagon-based search pattern for fast block motion estimation , 2002, IEEE Trans. Circuits Syst. Video Technol..

[21]  M. Mohammadzadeh,et al.  An optimized systolic array architecture for full search block matching algorithm and its implementation on FPGA chips , 2005, The 3rd International IEEE-NEWCAS Conference, 2005..

[22]  P. Gács,et al.  Algorithms , 1992 .