[SOLVED] SOLVED:CSE 408 Multimedia Information Systems Phase #2

39.99 $

Programming resource
Digital learning resource
Category:
Practical programming resource
Suitable for guided study and reference
Tutor guidance available when needed

Description

Rate this product

CSE 408 Multimedia Information SystemsPhase #2(Due November 1 2015, midnight)Description: In this project, you will• experiment with video data• experiment with lossy and lossless encoding techniquesTasks:The input to the project will be a video file and a 10 pixel by 10 pixel region. You will operate only on the Y channel.Task I (Temporal Predictive coding): Implement a program which treats the video region as 100 separate signals(one for each pixel) and includes the following predictive coding (PC) schemes (that will be applied separately oneach signal):• PC Option 1: No PC (use original values).• PC Option 2: Predictive encoding with the predictor si[t] = si[t − 1].• PC Option 3: Predictive encoding with the predictor si[t] = si[t−1]+si[t−2]2 .• PC Option 4: Predictive encoding with the predictor si[t] = 1 × si[t − 1] + 2 × si[t − 2], where 1 and 2are two non-negative values such that 1 + 2 = 1.0 and1 × si[t − 2] + 2 × si[t − 3] = si[t − 1]1 × si[t − 3] + 2 × si[t − 4] = si[t − 2]In case there are not sufficient observations to compute 1 and 2, use 1 = 2 = 0.5 as default.The program should output its result into a text file named asX Y.tpcwhere X is the name of the video file and y is the option number. The program should output the total (absolute)prediction error.Task II (Spatial Predictive coding): Implement a program which treats the video as numframes separate2D signals (one for each frame) and includes the following predictive coding (PC) schemes (that will be appliedseparately on each 2D signal):• PC Option 1: No PC (use original values).• PC Option 2: Predictive encoding with the predictor A.• PC Option 3: Predictive encoding with the predictor B.• PC Option 4: Predictive encoding with the predictor C.• PC Option 5: Predictive encoding with the predictor a×A+b×B+c×C, where 1, 2, and 3 are threenon-negative values such that 1 + 2 + 3 = 1.0 and would correspond to zero-error predictions for the mostrecent three past predictions.In case there are not sufficient observations to compute 1, 2, and 3 use 1 = 2 = 3 = 13 as default.The program should output its result into a text file named asX Y.spcwhere X is the name of the video file and y is the option number. The program should also output the total (absolute)prediction error.Task III: You will implement the following error quantization schemes (that will be applied after temporal or spatialpredictive coding):• Error Quantization Option 1: No quantization.• Error Quantization Option 2: Quantization of the error into 2m uniform bins for a given m 1.The program should output its result into a text file labeled asX Y Z.tpqorX Y Z.spqwhere for option 1, Z = 0 and for option 2, Z = m.Task IV: You will implement the following encoding schemes that generates a bit stream given the output of TaskIII:• Encoding Option 1: No compression (non-integer entries should be stored as double),• Encoding Option 2: Variable-length encoding with Shannon-Fano coding• Encoding Option 3: Dictionary encoding with LZW coding (for a given dictionary bit length)• Encoding Option 4: Arithmetic codingThe result should be written into a binary output fileX Y Z C.tpvorX Y Z C.spvwhere C is the compression option. The total amount of distortion (signal-to-noise ratio) between the original videoand the encoded video and the size of the encoded video should also be printed.Task V: Implement also a viewer that reads the given binary file and displays the decoded video.Deliverables:• Your code (properly commented) and a README file.• A report describing your work and the results on a sample image.Please place your code in a directory titled “Code”, the outputs to a directory called “Outputs”, and your report ina directory called “Report”; zip or tar all off them together and submit it through the Blackboard.

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.