Skip to content

LOCO-ANS: An optimization of JPEG-LS using an efficient and low complexity coder based on ANS

License

Notifications You must be signed in to change notification settings

hpcn-uam/LOCO-ANS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LOCO-ANS CODEC

alt text

This repository contains the source code resulting from the development of an ANS based coder for JPEG-LS.

In this work we propose enhancements to the JPEG-LS standard, aimed at improving its coding efficiency at a low computational overhead, particularly for hardware implementations. The main contribution is a low complexity and efficient coder, based on Tabled Asymmetric Numeral Systems (tANS), well suited for a wide range of entropy sources and with a simple hardware implementation. This coder enables further optimizations, resulting in great compression ratio improvements. When targeting photographic images,the proposed system is capable of achieving, in mean, 1.6%, 6% and 37.6% better compression for error tolerances of 0, 1 and 10, respectively. Additional improvements are achieved increasing the context size and image tiling, obtaining 2.3% lower bpp for lossless compression. Our results also show that LOCO-ANS compares favorably against state-of-the-art codecs like JPEG-XL and WebP, particularly in near-lossless, where it achieves higher compression ratios with a faster coding speed.

Publication

This work has an associated publication (currently under revision):

Title: "LOCO-ANS: An optimization of JPEG-LS using an efficient and low complexity coder based on ANS"

Authors: Tobías Alonso, Gustavo Sutter, and Jorge E. López de Vergara

Submitted to IEEE Access

Contents:

  • codec: source code of LOCO-ANS codec
  • notebooks:
    • coder_config_gen.ipynb: Jupyter notebook to select coder parameters and generate the configuration file and tANS tables
  • results_images
  • Test: test code
  • tools: auxiliary tools

Test

A quick test can be run using the BASH script under the Test folder. To run the test, the codec and auxiliary tools need to be built (run make in the repo root)

Prerequisites:

Compression comparison vs JPEG_LS

Dataset: Rawzor Gray 8 bit images where used

Complete dataset: alt text

Photographic images of the dataset: alt text

Speed-compression comparison

Dataset: CLIC images subset

Encoder side

alt text Average encoder MiPixels/s versus average bpp for software implementations of different compression algorithms. Numbers next to each point indicate the corresponding peak error. Pareto frontier is drawn with a solid line for error tolerances in [0,1,2]

Decoder side

alt text Average decoder MiPixels/s versus average bpp for software implementations of different compression algorithms. Numbers next to each point indicate the corresponding peak error. Pareto frontier is drawn with a solid line for error tolerances in [0,1,2]

About

LOCO-ANS: An optimization of JPEG-LS using an efficient and low complexity coder based on ANS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published