PNG Lossless Compression Decoder

Overview

The PNG-D core implements a lossless image decompression engine compliant with the Portable Network Graphics (PNG) file format specified in the ISO/IEC 15948 and RFC 2083 standards.

The decoder core can decompress greyscale, truecolor, and palette-based PNG images with 8 and 16 bits per color. The core supports alpha channel transparency¬ and all the filters and DEFLATE compression options specified by the PNG standard. The core does not currently support interlaced mode and images with under 8 bits per color, but these can be added on request.

The easy-to-use PNG-D core operates on a standalone basis, parsing the image header and decompressing image data without a host processor's assistance. PNG-D accepts compressed data and outputs pixel data via AXI4-Stream interfaces. A separate dedicated interface provides the system with the image header and any ancillary chunks to prepare the decoded images for further processing and/or display. Moreover, the core detects, reports, and automatically recovers from various errors in the input files.

The core is designed with industry best practices, and its reliability has been proven through rigorous verification. The deliverables include a complete verification environment and a bit-accurate software model.

Key Features

  • PNG Image Format Support
    • Compliant with the ISO/IEC 15948 and RFC 2083 standards
    • All chunk types
      • Ancillary chunks are extracted and broadcasted to the system
    • All color types
      • Greyscale with or without alpha
      • Truecolor with or without alpha
      • Indexed (Palette-Based)
    • 8-bit & 16-bit per color channel
      • Support for under 8 bits per color channel available on request
    • All five filters: Paeth, Average, Up, Sub and None
    • Both Dynamic and Static Huffman Tables
    • Interlacing and less than 8-bit per color can be added on request
  • Easy to Use and Integrate
    • Requires no programming or control from the host
    • AXI4-Stream Interfaces for image and compressed data
    • Dedicated AXI4-Stream interface for passing image format information and ancillary chunks to the system
    • Detects, reports, and automatically recovers from the following error types: CRC or Adler mismatch, image or zlib header syntax error, and unsupported image format
    • Optional wrappers bridge the AXI4-Stream to AXI4 memory-mapped interfaces
  • High-Throughput
    • Over 100 Mpixels/s in mid-range FPGAs, and several hundreds of Mpixels/s on modern ASIC technologies
    • Nominal throughput:
      • 1 pixel/cycle for 8-bit greyscale
      • 0.33 pixels/cycle for 24-bit RGB
      • 0.25 pixels/cycle for 32-bit RGBA
      • Half the number of pixels per cycle for 16 bits per channel
    • Worst case throughput is 89% of nominal.

Block Diagram

PNG Lossless Compression Decoder Block Diagram

Applications

  • A wide range of SoC designs using PNG files can benefit from this custom-hardware decompression engine's high performance and lower power. End applications range from wearables to data-center acceleration and aerospace imaging.

Deliverables

  • Verilog RTL source code or targeted FPGA netlist
  • Verilog can be made available on request
  • Integration Test-Bench
  • Simulation & synthesis scripts

Technical Specifications

×
Semiconductor IP