Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

C code for fractional motion estimation (FME)

Status
Not open for further replies.

Dilon

Newbie level 1
Newbie level 1
Joined
May 17, 2013
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,301
Hi ,

I have to write this problem in C .

But My teacher said that you could find MATLAB code and then you had to write C code .

He said you had to write an optimize code . It means that I have to find an optimze code in MATLAB and then translate it to c . But my HW is write the C code and we have not learned MATLAB at all . ( MATLAB code is not my HW )

Problem :

In this assignment you are going to write a C code for fractional motion estimation (FME). The steps are as follows:
a) The FME process will be done after the IME of each macroblock (MB), so after finding best MVx and MVy for a MB you have to find the fractional movement of the current MB. In order to find the fractional movement you need to interpolate an area around the best MV. The interpolation has to be implemented as shown below:
(A to L are integer pixels. X,Y and Z are the interpolated one)

<a href="http://picturepush.com/public/13059307" target="_blank"><img src="http://www4.picturepush.com/photo/a/13059307/220/13059307.png" border="0" alt="Image Hosted by PicturePush - Photo Sharing" /></a>

Below figure shows the interpolated pixels in a 4x4 area (I: integer pixels. X,Y and Z: interpolated pixels)
13058990



As you may noticed you need a 20x20 area to interpolate a 16x16 MB.
b) Define a 40x40 matrix and fill (odd, odd) (i.e. (1,1), (3,3) ...) locations with the integer
values. The (even, odd) locations have to be interpolated using horizontal filter, the (odd, even) locations have to be interpolated using vertical filter and the (even, even) locations have to be interpolated using cross filter.
c) Apply a clip operation on all the interpolated values such that the pixels be in (0,255) range.
d) Perform the motion estimation around the best (MVx, MVy) for eight neighboring fractional pixels, as shown in below figure. Report the best fractional MV (FMVx, FMVy) for each MB.
e) Compare the resulted FMVs with the IMVs generated by integer motion estimation process.

<a href="http://picturepush.com/public/13058997" target="_blank"><img src="http://www4.picturepush.com/photo/a/13058997/220/13058997.png" border="0" alt="Image Hosted by PicturePush - Photo Sharing" /></a>

Thks.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top