[ieee 2009 second international conference on environmental and computer science - dubai, uae...

3
Performance evaluation of motion estimation on TMS320DM642 Sarika Chaudhary Lecturer, CSE Department Guru Jambheshwar University of Science & Technology, Hisar (125001) Haryana, India [email protected] Abstract- Motion Estimation is a well-studied problem and researchers are coming up with new algorithms. The aim of this paper is to implement a Motion Estimation algorithm on a Embedded Device and to evaluate the performance. For this purpose a Texas Instrument TMS320DM642 evaluation module with TVP video decoder is being explored, and motion estimation algorithm based on “Three Step Search” is to be implemented on DM642 platform. Windows XP is chosen as the Operating System and Code Composer Studio is chosen as the software platform for the development of the algorithm on DM642 EVM. DSP-BIOS link is used for inter-processor communication. Keywords: Reference frame, Current frame, Motion vector, Error measure, Macroblock, Search space, Luminance, Chrominance. I. INTRODUCTION Digital video technology has been characterized by a steady growth in the last decade. New applications like video e-mail, third generation mobile phones video communications, videoconferencing, video streaming on the web continuously push for further evolution of research in digital video coding. In order to be sent over the internet or even wireless networks, video information clearly needs compression to meet bandwidth requirements. In video compression the knowledge of motion helps remove temporal data redundancy and therefore attains high compression ratios; motion estimation became a fundamental components of such standards as H.261, H.263, and the MPEG family [2] [3] [7] [8]. Compression is mainly realized by exploiting the redundancy present in the data. A sequence of images contains an intrinsic, intuitive and simple idea of redundancy: two successive images are very similar (temporal redundancy). The idea is to exploit the temporal redundancy completely. Motion estimation and compensation techniques have shown their efficiency to reduce the temporal redundancy in this respect. The principle behind this techniques is: The displacement of objects between successive frames is estimated (motion estimation). The resulting motion information is then exploited for an efficient interframe coding (motion compensation). Consequently the motion information along with the prediction error is transmitted instead of the frame itself. This paper deals with the development of a methodology to estimate the motion field between two frames for video coding applications block matching techniques are generally used for motion estimation in video coding. Several methods have been designed to face the problem of estimating motion in image sequence [1] [4] [5] [6]. They can be classified in five groups, depending on the way they approach the problem: a) Feature/region matching methods. b) Pel-recursive methods. c) Deterministic model based method. d) Stochastic model based methods. e) Optical flow based methods. II. MOTION ESTIMATION: A BRIEF DESCRIPTION One of the key elements of many video compression schemes is motion estimation. A video sequence consists of a series of frames. To achieve compression, the temporal redundancy between adjacent frames can be exploited. That is, a frame is selected as a reference, and subsequent frames are predicted from the reference using a technique known as motion estimation. The process of video compression using motion estimation is also known as interframe coding. When using motion estimation, an assumption is made that the objects in the scene have only translational motion. This assumption holds as long as there is no camera pan, zoom, changes in luminance, or rotational motion. However, for scene changes, interframe coding does not work well, because the temporal correlation between frames from different scenes is low. In these cases, a second compression technique is used, known as intraframe coding. III. ALGORITHM USED FOR BLOCK MATCHING The following algorithm is used for the purpose of block matching: a) Divide the previous frame to small rectangular blocks. b) Find the best match for the reference block in current frame. c) Calculate motion vector between the previous block and its counterpart in the current frame. d) Typical size for a block: 16x16 pixels. e) Error Measures: 2009 Second International Conference on Environmental and Computer Science 978-0-7695-3937-9/09 $26.00 © 2009 IEEE DOI 10.1109/ICECS.2009.63 93

Upload: sarika

Post on 04-Mar-2017

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE 2009 Second International Conference on Environmental and Computer Science - Dubai, UAE (2009.12.28-2009.12.30)] 2009 Second International Conference on Environmental and Computer

Performance evaluation of motion estimation on TMS320DM642

Sarika Chaudhary Lecturer, CSE Department

Guru Jambheshwar University of Science & Technology, Hisar (125001) Haryana, India

[email protected]

Abstract- Motion Estimation is a well-studied problem and researchers are coming up with new algorithms. The aim of this paper is to implement a Motion Estimation algorithm on a Embedded Device and to evaluate the performance. For this purpose a Texas Instrument TMS320DM642 evaluation module with TVP video decoder is being explored, and motion estimation algorithm based on “Three Step Search” is to be implemented on DM642 platform. Windows XP is chosen as the Operating System and Code Composer Studio is chosen as the software platform for the development of the algorithm on DM642 EVM. DSP-BIOS link is used for inter-processor communication.

Keywords: Reference frame, Current frame, Motion vector, Error measure, Macroblock, Search space, Luminance, Chrominance.

I. INTRODUCTION Digital video technology has been characterized by a

steady growth in the last decade. New applications like video e-mail, third generation mobile phones video communications, videoconferencing, video streaming on the web continuously push for further evolution of research in digital video coding. In order to be sent over the internet or even wireless networks, video information clearly needs compression to meet bandwidth requirements. In video compression the knowledge of motion helps remove temporal data redundancy and therefore attains high compression ratios; motion estimation became a fundamental components of such standards as H.261, H.263, and the MPEG family [2] [3] [7] [8]. Compression is mainly realized by exploiting the redundancy present in the data. A sequence of images contains an intrinsic, intuitive and simple idea of redundancy: two successive images are very similar (temporal redundancy). The idea is to exploit the temporal redundancy completely. Motion estimation and compensation techniques have shown their efficiency to reduce the temporal redundancy in this respect.

The principle behind this techniques is: The displacement of objects between successive frames is estimated (motion estimation). The resulting motion information is then exploited for an efficient interframe coding (motion compensation). Consequently the motion information along with the prediction error is transmitted

instead of the frame itself. This paper deals with the development of a methodology to estimate the motion field between two frames for video coding applications block matching techniques are generally used for motion estimation in video coding.

Several methods have been designed to face the problem of estimating motion in image sequence [1] [4] [5] [6]. They can be classified in five groups, depending on the way they approach the problem:

a) Feature/region matching methods. b) Pel-recursive methods. c) Deterministic model based method. d) Stochastic model based methods. e) Optical flow based methods.

II. MOTION ESTIMATION: A BRIEF DESCRIPTION

One of the key elements of many video compression schemes is motion estimation. A video sequence consists of a series of frames. To achieve compression, the temporal redundancy between adjacent frames can be exploited. That is, a frame is selected as a reference, and subsequent frames are predicted from the reference using a technique known as motion estimation. The process of video compression using motion estimation is also known as interframe coding.

When using motion estimation, an assumption is made that the objects in the scene have only translational motion. This assumption holds as long as there is no camera pan, zoom, changes in luminance, or rotational motion. However, for scene changes, interframe coding does not work well, because the temporal correlation between frames from different scenes is low. In these cases, a second compression technique is used, known as intraframe coding. III. ALGORITHM USED FOR BLOCK MATCHING The following algorithm is used for the purpose of block matching:

a) Divide the previous frame to small rectangular blocks.

b) Find the best match for the reference block in current frame.

c) Calculate motion vector between the previous block and its counterpart in the current frame.

d) Typical size for a block: 16x16 pixels. e) Error Measures:

2009 Second International Conference on Environmental and Computer Science

978-0-7695-3937-9/09 $26.00 © 2009 IEEE

DOI 10.1109/ICECS.2009.63

93

Page 2: [IEEE 2009 Second International Conference on Environmental and Computer Science - Dubai, UAE (2009.12.28-2009.12.30)] 2009 Second International Conference on Environmental and Computer

a. Mean Absolute Error (MAE) b. Mean Square Error (MSE) c. Sum of the Absolute Difference (SAD).

f) MAE is used in this paper.

Figure1. Block Matching Algorithm

IV. THREE STEP SEARCH ALGORITHM The three step search algorithm is as follows:

a) 1st Step: a. Search 8 surroundings and the central

point b. Distance = w/2 pixels c. Find the best match

b) 2nd Step: a. Use previous best match as center b. Repeat 1st step with distance = w/4

pixels c) 3th Step:

a. Repeat 1st step with distance = w/8 pixels

d) Searched only 25 points

Figure2. Representation of three step search algorithm.

V. RESULTS & ANALYSIS

A) Frames obtained from video sequence:

(a) (b)

(c) (d)

(e) (f)

(g) (h)

(i) (j)

(k) (k)

Figure3. Fig. (a - k) frames obtained from video sequence.

B) Frames used for motion estimation:

(a) (b)

94

Page 3: [IEEE 2009 Second International Conference on Environmental and Computer Science - Dubai, UAE (2009.12.28-2009.12.30)] 2009 Second International Conference on Environmental and Computer

(c) (d)

(f)

Figure4. Fig(a - f) frames used for motion estimation.

Table1. Mean Absolute Error

Average prediction error over all the blocks = 2520 Time taken to process = 0.062000 sec C) Reference frame:

Figure5. Reference frame used.

D) Error frame:

Figure6. Resulting error frame.

VI. CONCLUSION & FUTURE WORK

The main concentration of the paper was the programming of DM642 processor, its hardware setup. At first Code Composer Studio was installed on the Windows XP. Then all the drivers of JTAG XDS510-USB are installed. The “Three Step Search” algorithm was evaluated in Visual Studio and after that the code was loaded on to the DSP to evaluate the performance, it was successfully linked and build but a problem occurs i.e. its shows that “some part of the program is going into that section of memory which is not writable”.

Even though the motion estimation algorithm was implemented and loaded on the DSP but still some problem is occurring in loader section.

Real time implementation of the motion estimation can be done on the DSP innovator platform. Since the camera interface is also present and one can take inputs from the camera and display it on LCD. This device driver can be used for implementing a real time motion estimation algorithm.

VII. REFERENCES [1] Black M.J., Robust Incremental Optical Flow, Ph.D. Thesis, Yale University, Department of Computer Science. Research Report YALEU-DCS-RR-923, 1992. [2] Shi Q., Sun H., “Image and Video Compression for Multimedia Engineering: Fundamentals, Algorithms, and Standards”, CRC Press . [3] Stiller C. and Konrad J., "Estimating motion in image sequences: A tutorial on modeling and computation of 2D motion" IEEE Signal Process. Mag., vol. 16, pp. 70-91,July 1999. [4] 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. 438- 442, Aug. 1994. [5] B. Zeng, R. Li, and M. L. Liou, “Optimization of fast block motion estimation algorithms,” IEEE Trans. Circuits Syst. Video Technol., vol. 7, pp. 833-844, Dec. 1997. [6] M. R. Pickering, J. F. Arnold, and M. R. Frater, “An adaptive search length algorithm for block matching motion estimation,” IEEE Trans. Circuits Syst. Video Technol., vol. 7, pp. 906-912, Dec. 1997. pp.153-155, 1997. [7] TMS320DM642 Technical Overview; spru615.pdf- September2002 Application Report. [8]“TMS320DM642 EVM Reference Guide”, Texas Instrument Technical Documentation, May 2002, spru281.pdf [27] “TMS320C6000 Peripherals Reference Guide” ,spru190.pdf. [9] “TMS320C64x DSP Two Level Internal Memory Reference Guide” ,spru610.pdf. [10] “TMS320C6000 DSP Ethernet Media Access Controller (EMAC)/Management DATA input/Output (MDIO) module Reference Guide”,spru629.pdf.

95