In this project, you will implement the technique of motion compensation and you will consider how it affects the forecasting errors. Sample video files, along with the relevant configuration information, are provided to the section file to fetch www.cengage.com. There, you'll find a code to read and display an image. Modify the code to read and display video frames. Suppose that the first frame will always be a frame I and that the remaining frames
will be type P. This case upheld in the case of short sequences of video editing, having a length at most 100 frames.
1)In the first part of this exercise, assume that you want to foresee whole P frames and not split. The prediction of each whole frame is based on the previous frame. Implement a procedure that accepts two input frames, calculates the difference and returns an error frame. Do not calculate motion vector. Show the error frames. Note that the content information of the error frame should be smaller, compared with that of frames.
2)In the second step, you will implement the technique of traffic forecast, which calculates motion vectors per block. Each block will have the typical MPEG size [url removed, login to view] a function that accepts two input frames: a reference frame, which will be used during the searching of motion vectors, and a target vector, which will be predicted. Divide the target frame into macroblocks of size 16x16. If the width and height of the frames are not multiples of 16, fill the frame with appropriate black pixels. For each
block in target frames, refer to the appropriate position in the reference frame and find the area that gives the best fit. Use metric SAD in search areas obtained for k = 16, so the motion vectors are of size at most 16 pixel in each direction. Based to block prediction, calculate the error block as the difference between the original block and the predicted one.
Once this process is completed for all blocks,it will occur an error frame. Show all the error frames. You will find out that the error frames show significantly, less entropy compared to the previous case, even though is required more time for their calculation.
(Note:This is an undergraduate level project,so the implementation is preferred to be as simple as it can be,and needs to be done using MATLAB)