
Demonstration of Modified WebP
Gurulogic experimentally added couple of different technologies to WebP solution for improving compression performance by reducing encoded file sizes without deteriorating encoding and decoding times.
Next demonstration shows results of 22786 (all non HDR) Android repository images that are encoded and decoded with WebP that uses “near lossless” option vs. WebP that is modified by Gurulogic.
File size reduction is about 30 % with similar image quality that is measured by using Mean Square Error (MSE) criteria. The average quality in the demo corresponds to 47 dB PSNR (= very high quality)
Note! We recommend to switch the video to fullscreen mode after clicking play.
Lossless image compression performance
To test lossless image compression performance, we have encoded an image set called "android_master_5000" with various image codecs. The image set was selected by taking the first 5000 PNG images from the Android source repository, in alphabetical order, and excluding 10 images that have 16 bit color component depth, which WebP does not support losslessly. So the test set consists of 4990 PNG images we call "PNG_orig".
The graph below represents the distribution of image file size ratios of three codecs compared to the original PNG files. The ratio B/A means, how large the original PNG file is relative to the re-encoded file. The larger the B/A ratio, the smaller codec A's encoded file is compared to the original. For example, ratio 1.5 means that the original image file is 50 % larger than the re-encoded image file. Ratios below 1.0 mean that the re-encoded file is larger than the original source file.
Date of results: 2018-08-24

The table below shows more detailed numerical data from the distribution graph. "Better count" means the number of images for which codec A performed better than codec B (PNG_orig). "Worse count" means the number of images for which codec A performed worse than codec B (PNG_orig). Decoding time tests were performed on a Samsung Galaxy S6 phone.
Codec name | Encoded file size ratio | Encoded file size sum | Decoding time | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Minimum Higher=better |
Median Higher=better |
Average Higher=better |
Maximum Higher=better |
Better count Higher=better |
Worse count Lower=better |
File size sum Lower=better |
Ratio B/A Higher=better |
Decoding time sum Lower=better |
Ratio A/B Lower=better |
|
GMVC_CS (Codec A1) | 0.959 | 2.019 | 3.133 | 239.358 | 4989 (99.98 %) | 1 (0.02 %) | 49969043 | 1.805 | 10581767 | 1.207 |
GMVC_C (Codec A2) | 0.924 | 1.952 | 3.021 | 239.358 | 4987 (99.94 %) | 3 (0.06 %) | 51132769 | 1.764 | 7698004 | 0.878 |
GMVC_SP (Codec A3) | 0.790 | 1.662 | 2.607 | 217.843 | 4836 (96.91 %) | 153 (3.07 %) | 60792782 | 1.484 | 4353866 | 0.497 |
WebP100_z9 (Codec A4) | 0.390 | 1.759 | 2.659 | 255.105 | 4983 (99.86 %) | 7 (0.14 %) | 51595760 | 1.748 | 5545688 | 0.633 |
PNG95 (Codec A5) | 0.150 | 0.961 | 1.124 | 55.025 | 2064 (41.36 %) | 2919 (58.5 %) | 83599727 | 1.079 | 8478602 | 0,967 |
PNG_orig (Codec B) | 1.000 | 1.000 | 1.000 | 1.000 | 0 (0 %) | 0 (0 %) | 90186206 | 1.000 | 8767622 | 1.000 |
GMVC® has been intensively tested with e.g. various still image, video and audio types. Please contact us for more information.
Lossless relative sizes
Date of results:
Lossless sizes, relative to - lower is better
As it can be seen from the table above, on worst case, WebP consumes over 9 bytes and PNG over 53 bytes per one GMVC® CH encoded byte.
Brief explanation of codec titles used above.
Codec | Explanation |
PNG orig | PNG files as they have been downloaded from Android repository. |
PNG95 | PNG file, encoded with highest PNG compression "95" of ImageMagick 6.7.7-10, libpng 1.2.50, Ubuntu 14.04.03 LTS. |
WebP100 z9 | Images encoded to WebP using lossless preset 9, cwebp 1.0.0, in Windows 7 64-bit. |
GMVC® CS |
Gurulogic® MultiVariate Codec (GMVC®), Compression Super Profile. |
GMVC® CH | Gurulogic® MultiVariate Codec (GMVC®), Compression High Profile. |
GMVC® C | Gurulogic® MultiVariate Codec (GMVC®), Compression Profile. |
GMVC® BC | Gurulogic® MultiVariate Codec (GMVC®), Balanced Compression Profile. |
GMVC® B | Gurulogic® MultiVariate Codec (GMVC®), Balanced Profile. |
GMVC® BSP | Gurulogic® MultiVariate Codec (GMVC®), Balanced Speed Profile. |
GMVC® SP |
Gurulogic® MultiVariate Codec (GMVC®), Speed Profile. |
Examples of lossy compression
Date of results: 2016-05-25
Following test images are compressed with JPG, JPG2000, WebP (0.4.3) and GMVC® C profile using both lossless and different lossy quality ratios, and with PNG using lossless quality. Analysis graphs, below each test image, represent PSNR (in dB) against compression ratio.
echo.png: 800x600, 8 bit colors (Y)
deer.png: 4043x2641, 24 bit colors (RGB)
zone_plate.png: 3000x2000, 8 bit colors (Y)
Faster decoding time
Date of results:
This test was executed on deer.png image (4043x2641, 24 bit colors RGB)
Decoding times - lower is better
Brief explanation of codec titles used above.
Codec | Explanation |
PNG95 | PNG file, encoded with highest PNG compression "95" of ImageMagick 6.7.7-10, libpng 1.2.50, Ubuntu 14.04.03 LTS. |
WebP100 z9 | Images encoded to WebP using lossless preset 9, cwebp 1.0.0, in Windows 7 64-bit. |
WebP (0.4.3) |
Images encoded to WebP using Method 6 for the lossless point, cwebp 0.4.3, in Ubuntu 14.04.03 LTS. |
GMVC® CS |
Gurulogic® MultiVariate Codec (GMVC®), Compression Super Profile. |
GMVC® CH | Gurulogic® MultiVariate Codec (GMVC®), Compression High Profile. |
GMVC® C | Gurulogic® MultiVariate Codec (GMVC®), Compression Profile. |
GMVC® BC | Gurulogic® MultiVariate Codec (GMVC®), Balanced Compression Profile. |
GMVC® B | Gurulogic® MultiVariate Codec (GMVC®), Balanced Profile. |
GMVC® BSP | Gurulogic® MultiVariate Codec (GMVC®), Balanced Speed Profile. |
GMVC® SP |
Gurulogic® MultiVariate Codec (GMVC®), Speed Profile. |