Ser-Gen / lossy-compression-test

A system for testing lossy image compression.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What Is This

This is a collection of software that can test the compression efficiency of various lossy compressed image formats, according to various quality metrics. It can create graphs of the test data.

Supported Formats

  • JPEG (via libjpeg-turbo)
  • JPEG (via mozjpeg)
  • WebP
  • HEVC-MSP
  • JPEG XR

Supported Quality Metrics

  • PSNR-HVS-M (luma-only)
  • Y-SSIM (luma-only SSIM)
  • RGB-SSIM (average of SSIM applied to R, G, and B channels)
  • MS-SSIM (luma-only)

Supported Operating Systems

This test suite is developed and tested on Linux (Ubuntu 16.04) and OS X (10.11). It's probably easy to get things working on other versions of Linux and OS X. Little to no effort has gone into getting this working on Windows.

Prerequisites

Usage

Common Requirements

  1. Install required software
  2. Build included encoder/decoder wrappers and metrics programs
  • OS X: $ ./build-osx.sh
  • Linux: $ ./build-linux.sh

Manual Operation

  1. Collect data for desired format and images
  • $ ./rd_collect.py jpeg images/kodak/*.png
  • $ ./rd_collect.py mozjpeg images/kodak/*.png
  1. Average data from images
  • $ ./rd_average.py images/kodak/*.jpeg.out > jpeg.out
  • $ ./rd_average.py images/kodak/*.mozjpeg.out > mozjpeg.out
  1. Generate graphs
  • $ ./rd_plot.py Kodak jpeg.out mozjpeg.out

Full Automatic Run

  1. $ ./run_all.py
  • Note that this can take a long time to complete, ~9 hours with a 6-core (12 w/hyperthreading) Intel i7 6850k with 32GB RAM and NVRAM disk.

About

A system for testing lossy image compression.


Languages

Language:C 83.5%Language:MATLAB 7.8%Language:Python 6.8%Language:Shell 1.4%Language:Makefile 0.4%Language:HTML 0.1%