For my final project in DSA, I do a Simple PNG Decoder which concentrates on deflate/inflate algorithms used in PNG data (de)compression. This is just a simple project for study purpose.
RFC 1950: ZLIB Compressed Data Format Specification version 3.3
RFC 1951: DEFLATE Compressed Data Format Specification version 1.3
PNG Specification: File Structure (libpng.org)
Writing a (simple) PNG decoder might be easier than you think