QOI Image Decompressor IP Core

Overview

This core implements the QOI lossless image compression algorithm decompressing QOI header-less files and producing RGB 24 bits pixels. Simple, fully synchronous design with low gate count.

OL_QOID is a fast, low complexity implementation of the compression algorithm that decompresses one 24 bits RGB pixel per clock cycle.

The QOI Lossless Image Compression Algorithm

QOI stands for Quite OK Image Format and it is a fast, simple lossless image compression algorithm.

As it can be seen in these benchmarks, the performance of the algorithm is usually somewhere in between two well known image compression libraries (like libpng and stb) but at a much lower computational cost.

QOI uses a combination of some well known image compression techniques and innovative ideas.

Pixels are compressed as:

  •   runs of identical pixels
  •   an index to a 64 pixel cache of previously encountered pixels
  •   a difference to the previous pixel
  •   a full RGB pixel

The QOI algorithm is an excellent compromise between compression performance and low algorithmic complexity.

Key Features

  • Implemented according to the QOI image format.
  • Decompresses one 24 bits pixel per clock cycle.
  • High throughput : up to 800 Mpixles/s in high end, 4K@30 in low end FPGAs.
  • Optional header processing available.
  • Fully synchronous design.
  • Available as fully functional and synthesizable VHDL or Verilog soft-core.
  • Test benches provided.

Block Diagram

QOI Image Decompressor IP Core Block Diagram

Applications

  • Bandwidth and storage reduction.
  • Lossless compressed frame store.
  • Space imaging applications.
  • SoC to SoC image transmission.

Technical Specifications

×
Semiconductor IP