This project aimed to compress the video for following reasons:
- To reduce the space required for the purpose of storage.
- To achieve the compression in the range of 10-30% to save transmission bandwidth.
- To implement modules in parallel wherever possible to minimize the execution time.
- To maintain the quality of the video after compression.
This repository consists of compression, decompression and PSNR calculation algorithms
- RGB to YUV conversion
- Motion estimation
- Simple difference
- Run length encoding / pack bits. After this compression system will generate compressed data of video as output.
This compressed data will act as the input for decompression system and again following steps are performed on the data.
- Reverse of pack bits
- Simple difference
- YUV to RGB And output of this will be the video frames and again video is reconstructed.