Skip to content

aryan1113/compressify

Repository files navigation

Compressify

Implementing the JPEG file compression scheme Here's a rough outline of all the process required

  1. Convert color space from RGB to Y, Cb, Cr
  2. Subsample the Cb and Cr space
  3. Split image into smaller blocks
  4. Fourier Transform, more precisely Discrete Cosine Transform
  5. Mute higher frequency patterns
  6. Zig Zag scan on resultant matrix
  7. Run Length Encoding
  8. Huffmann Encoding
  9. Calculate Compression Ratio

Size of sub-image ?

Size of sub-image affects transform coding performance. Compression ability and computational complexity increases as sub-image size increases making it a double-edged sword. Most popular sub-image sizes are 8x8 and 16x16

References

College of Redwoods

Future Scope

  1. Add a logger, to store intermediate results with timestamps, to trace execution flow.

  2. Wrap this into a package

  3. Containerize using Docker

  4. Deploy on AWS (EC2 as a virtual server, store computational files on a S3 bucket)

  5. Create API endpoint

About

Encoder part of the JPEG compression scheme

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages