JPEG lossy compression is still used on most photos in the Internet, while PNG is still the preferred format for lossless compressions. Back in 2010, Google unveiled WebP to improve on both, but that’s only very recently that I started to see a few webp image on the Internet.
The company has been working on yet another image for with Pik lossy/lossless image format designed for high quality and fast decoding.
Some of the features enabling high quality:
- Built-in support for psychovisual modeling via adaptive quantization and XYB color space
- 4×4..32×32 DCT, AC/DC predictors, chroma from luma, nonlinear loop filter, enhanced DC precision
- Full-precision (32-bit float) processing, plus support for wide gamut and high dynamic range
Features allowing faster decoding over 1 GB/s multi-threaded:
- Parallel processing of large images
- SIMD/GPU-friendly, benefits from SSE4 or AVX2
- Cache-friendly layout
- Fast and effective entropy coding: context modeling with clustering, rANS
Google Pik is royalty-free, and is said to achieve perceptually lossless encodings at about 40% of the JPEG bitrate, and store fully lossless at about 75% of 8-bit PNG size, or 60% of 16-bit PNG size.
The SIMD readme explains Pik leverages SSE4, AVX2, and ARMv8 instructions to improve performance.
You can give it a try by checkout the source code on Github. It should be noted that it’s pretty hard to change standards on the Internet, as shown by WebP, HEIF, and FLIF projects all of which are said to be technically superior to JPEG.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.