Write a program that implements forward and backward DCT, using floatingpoint arithmetic. Run the program on a sample grayscale image. Since DCT is lossless, the image output by the program should match the input. Now modify your program so that it zeroes some of the higher-frequency components and see how the output image is affected. How is this different from what JPEG does?