联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> OS作业OS作业

日期:2018-09-09 05:37


Submission: Via MyUni as a single PDF.

This is a coding assignment which will give you some experience in some of the principles behind

video compression. Your answers should include images.

Language: Use Matlab. Do not use functions provided by the image processing toolbox – you don’t

need them and you won’t learn as much. Make sure your code is commented or easy to follow.

Include your code in your answers. Keep your code brief – if any question requires more than a page

of code, consider that you may not be answering the question.

What to submit

• Your Matlab code

• Images generated by your Matlab code

• 30% of your marks will be allocated to discussion, insight and original experimentation or

analysis. Your report is expected to be written to a professional standard and show original

critical insight.

The purpose of this question is to implement and measure the performance of one of five fast blockmatching

algorithms for video coding. As a class exercise, we will then compare the performance of

the algorithms.

Which algorithm do I use?

Algorithm Student ID last digit

2-D log search 0 or 5

N-steps search 1 or 6

1-at-a-time search 2 or 7

Cross search 3 or 8

Diamond search 4 or 9

Which video frame pair do I use?

Add the digits of your student ID to identify which frames to use (if you get a two digit number, add

these digits together, etc, until you get a single digit). This the number of the first frame (Reference

Frame). The next consecutive frame is your Prediction Frame. You will perform motion estimation

according to your specified algorithm to create a predicted version of your Prediction Frame

Example: Student ID is 1022609. Sum of digits = 1+0+2+2+6+0+9=20; 2+0=2. Use frames 2

(reference) and 3 (prediction).

Your code should do the following:

1. Read in your Reference Frame and Prediction Frame. These images are in RGB. Convert the

images to Y (luminance) only, and discard chrominance. The rest of this question will only

consider the luminance (grey scale) image.

2. Calculate the total Sum of Absolute Differences (SAD) between the two frames. This is a

measure of the prediction error using just the reference frame as an estimate of the next

frame.

3. Using SAD and macroblocks of 16x16 pixels, implement an exhaustive search with a search

window of ±32 pixels. Show your predicted frame and calculate the total SAD between your

predicted frame and the original second frame. This is a measure of the minimum

prediction error using just SAD block matching motion compensation.

4. Count the number of SAD operations you used, in order to estimate how many arithmetic

operations were required to complete the exhaustive search for one frame.

5. Using SAD and macroblocks of 16x16 pixels, implement the fast block matching algorithm

with a search window of approximately ±32 pixels. Show your predicted frame and calculate

the total SAD between your predicted frame and the original second frame. This is a

measure of the prediction error using SAD and a fast but sub-optimal matching algorithm.

6. Estimate how many arithmetic operations were required to complete the fast search for one

frame.

7. To simplify the problem, do not attempt to search outside of the original reference frame.

In comparing the prediction errors in parts 2, 3 and 5, consider the total sum of absolute

differences for the entire frames.

The fast matching algorithms are detailed in Lecture 2.

Your answers should include:

• Your code

• The original reference and second frame images

• Your predicted second frames using both the exhaustive search and fast search algorithms

• The total Sum of Absolute Difference errors as detailed above.

• Estimates of the computational requirements as detailed above.

• Any relevant comments

• A discussion of how well your algorithm and video frame pair perform compared with other

algorithms (you will need to share information on the discussion board to do this)

As you are all doing slightly different questions, you are strongly encouraged to collaborate and

share your questions, problems and hints with your colleagues. Use the bulletin board. Coding hints

for speeding up some operations are welcome, but please don’t post large chunks of code (I’ll

remove inappropriate posts)


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp