CS2108

Course Title

Introduction to Media Computing

Grade

A

Semester

AY22/23 S2

Review

The course is all about signal processing and how to compress data. This is pretty important in the real world, as we need to be able to send data over the internet quickly and efficiently. The first part is all about the Fourier Transform, which basically converts signal data from the spatial/time domain into the frequency domain. Lots of math, but the prof emphasises that you mainly need to understand the concept and no need to prove or be able to derive the math. The course teaches us that high frequency components are relatively hard to detect, so even if we remove them from our signal, we can't really tell the difference. This makes a huge difference in image processing, as our eyes can't really detect pixel-to-pixel differences, but we are able to tell when a large portion of the image is distorted or warped.

This is the basis for the JPEG compression algorithm, which takes out most of these high frequency components and compresses the image. I'd say that is the biggest part of the course.

Of course, there are many more smaller compression algorithms, like the LZW, Run Length Encoding and the famous Huffman Coding, which all have their strengths and weaknesses. These are algorithms that you have to know by heart, as cheatsheets are not allowed in this course. These algorithms are the ones that you can and have to do manually. You are the computer. Be the computer.

In terms of workload, it's quite low. You are basically implementing certain algorithms using MATLAB. Around 6 MATLAB worksheets in total, to accomplish tasks like convolution and fourier transforms. MATLAB is also one of the most unintuitive languages to learn. They start their index at 1, and use round brackets for indexing. Very weird, and you'll never get used to it.