$25
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 and?1 × 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.