1 Project Summary

Under Apertus Association in Google Summer of Code 2019, I worked in implementing lossless JPEG 1992 core and it’s supporting software. While raw images provide high quality, raw huge size limit FPS and cause difficulties in transition and storing.

My task was to implement lossless JPEG 1992 core to be placed in Axiom Beta and Axiom Micro FPGAs, the core will compress the sensor data (raw stream) with no loss in quality what so ever. This will enable higher FPS and/or lower bandwidth.

I have completed the main core that will compress the stream of data, I have also wrote software to control the core and the DMA and wrote several tools to manipulate, generate and analyze raw and lossless files. I have also worked in an open source DMA for the core, and tested open source library that can decode resulting files.

Google Summer of Code 2019 project.

Mentored by: A1ex and Bertl.

Implemented by: Fares Mehanna.


2 Important URLs

- Lab Task [1]

- Proposal [2]

- Report [3]

- Project at Google Summer of Code [4]

- Code and documentation [5]


3 References

- Lossless JPEG [wikipedia.org] [6]

- How DNG compresses raw data with lossless JPEG92 [thndl.com] [7]

- CCITT Rec. T.81 (1992 E) - PDF [w3.org] [8]

- aaalgo/ljpeg [github.com] [9]

- ilia3101/MLV-App/liblj92 [github.com] [10]

- FaresMehanna/MLV-File-Format/LJPEG-1992 [github.com] [11]

- FaresMehanna/RAW-Image-Tools [github.com] [12]

- FaresMehanna/JPEG-1992-lossless-encoder-core [github.com] [13]