Inclusive & Assistive Products
ISDN2001/2002: Second Year Design Project

Exploring lossy compression/filtering algorithms designed for display on e-ink displays
Candbot
Objectives
-
Different algorithms have different kinds of trade-offs in terms of color accuracy.
-
E-paper displays are not at all accurate at displaying colors and likely already makes some trade-offs.
-
We would want an algorithm that has the same or similar trade-off as the screen itself so that the file size can be reduced with minimal difference when displayed on the frame.
Comparing Method
Image quality is something that could be subjective. How should we compare it? Luckily, there is a metircs in Matlab called PIQE (Perception based Image Quality Evaluator), which estimates block-wise distortion and measures the local variance of perceptibly distorted blocks to compute the quality score.

Testing Procedures
Step 1
Display images compressed from lossless onto picture frame
Step 2
Put photo onto picture frame and take a picture
Step 3
Compare with a photo comparison algorithm
Technical details
-
The images are compressed to 20KB to the best of our abilities.
-
We used ImageMagick, OpenJPEG and libjxl.
-
For JPEG XL, effort is set as 7 as it is the default option and it provides good result at a reasonable time (a few seconds).
-
(For reference, compression time for an image is around seven minutes if we set it to 10, and the reduction is around -20%.)
-
We have only selected easily reproducible options. Neural compression, for example, are not included due to their unpredictable nature and high computational cost.
-
We are comparing with SSIM which is often used for benchmarking compression algorithms.
Test Images
Output images


Final scores

Possible reasons for discrepancy
-
Environmental variables.
-
Artifacts created by JPEG XL is weighted higher by SSIM.
-
JPEG XL’s adaptive encoding may not be advantageous
when compared using SSIM. -
JPEG XL is only better at higher efficiency using more computational power.
-
JPEG 2000 is optimized for SSIM for a better benchmark.
Action Taken After the Test
We ended up using JPEG 2000 as our compression algorithm and put it as part of our image processing pipeline.