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)
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.