JPEG-LS-E
Lossless & Near-Lossless JPEG-LS Encoder

The JPEG-LS-E core implements a highly-efficient, low-power, lossless and near-lossless image compression engine that is compliant to the JPEG-LS, ISO/IEC 14495-1 standard.  

Based on LOCO-I (LOw COmplexity LOssless COmpression for Images), the JPEG-LS algorithm leads in numerically lossless compression efficiency, attaining compression ratios similar or superior to those obtained with more advanced algorithms such as JPEG 2000. JPEG-LS also enables hardware implementations with a much smaller silicon footprint and lower memory requirements, thanks to its lower computational complexity and line-based processing. Further, the Near-Lossless mode of the JPEG-LS standard makes higher compression ratios and visually lossless compressed images feasible, allowing the user to set the maximum acceptable difference between a reconstructed and an original image sample.  

The JPEG-LS-E core delivers the full compression efficiency of the standard in a compact and easy-to-use hardware block. The core interfaces to the system via standardized AMBA® interfaces: it accepts images and outputs compressed data via AXI4-Stream interfaces, and provides access to its control and status registers via a 32-bit APB interface. After its registers are programmed, the core can encode an arbitrary number of images without requiring any further assistance or action from the system. Users can optionally insert timestamps or other metadata in the compressed stream using a dedicated AXI Streaming interface. 

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

Despite its lower computational complexity JPEG-LS offers exceptionally high lossless compression efficiency. JPEG-LS is expected to outperform PNG, and to provide similar compression ratios as lossless JPEG 2000 for both color and greyscale images.   

The following shows the lossless compression advantage of JPEG-LS over other, more complex algorithms using several indicative example images. 

Compression results for JPEG-LS versus PNG and JPEG2000

 

The JPEG-LS-E is suitable for systems requiring numerically or visually lossless compression of images or video of potentially high color or greyscale accuracy. Application areas include medical Imaging (DICOM), aerospace imaging or surveillance, and advanced driver assistance systems.

The core is available in two versions: size-optimized JPEG-LS-ES and scalable throughput JPEG-LS-EF.

The JPEG-LS-ES version uses just 40K gates, provides a throughput of one sample per cycle, and requires only one image line of buffering. A single JPEG-LS-ES core can compress several hundreds of Msamples per second when mapped on an ASIC technology.

The scalable-throughput JPEG-LS-EF version can process multiple samples per cycle by internally aggregating a user-defined number of JPEG-LS-ES cores. It is suitable for compressing images or video with ultra-high resolutions and/or frame rates. 

Support 

The core as delivered is warranted against defects for ninety days from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available. 

Deliverables 

The core is available in source code RTL (Verilog) or as an FPGA netlist, and its deliverables include everything required for successful implementation:

  • Sophisticated self-checking Testbench    
  • Software (C++) Bit-Accurate Model  
  • Sample simulation and synthesis scripts 
  • Comprehensive user documentation Applications 

The JPEG-LS-E can be mapped to any ASIC technology or FPGA device (provided sufficient silicon resources are available).  The JPEG-LS-ES version requires about 40k gates and can run up to 500MHz in a typical 28nm technology. The size of a JPEG-LS-EF version depends on its configuration. Please contact CAST to get characterization data for your target configuration and technology.

The JPEG-LS-E can be mapped to any Intel FPGA device, provided sufficient silicon resources are available. The following table provides sample performance and resource utilization data for different Xilinx device families for the JPEGLS-E-S version of the core.  

 

720p30
4:2:2

1080p25
4:2:0

720p60
4:4:4

1080p30
4:4:4

Arria 10

       

Cyclone 10

       

Max 10

       
Logic 1

9.3K LEs or 3.6K ALMs (for max bits/sampe:8)
12.3K LEs or 4.9K ALMs (for max bits/sampe:16)

Memory Bits 1

54K (for max bits/sampe:8)
95K (for max bits/sampe:16)

DSPs / MULTs 0

Notes
1: Exact resource utilization and max performance depend on target device and core configuration
2: List of video formats is not exhaustive. Indicated video formats may not be supported at devices of all speed grades

The JPEG-LS-E can be mapped to any Xilinx device, provided sufficient silicon resources are available. The following table provides sample performance and resource utilization data for different Xilinx device families for the JPEGLS-ES version of the core.  

 

720p30
4:4:4

720p50
4:2:2

720p60
4:4:4

1080p30
4:4:4

KINTEX ULTRASCALE

       

KINTEX-7

       

ARTIX-7

       
LUTs 1

5.6k (for max bits/sampe:8)
5.6k (for max bits/sampe:16)

BRAMs 1

2.5 Block RAM Tiles (for max bits/sampe:8)
4 Block RAM Tiles (for max bits/sampe:16)

DSPs 0

 

Note
1: Exact resource utilization and max performance depend on target device and core configuration
2: List of video formats is not exhaustive. Indicated video formats may not be supported at devices of all speed grades

Related Content

Features List

JPEG-LS Encoder  

  • Highly Efficient Numerically Lossless Compression  
    • Better compression ratio than most lossless compression algorithms (JPEG2000, PNG, etc.) 
  • Near-Lossless Compression 
    • Enables greater compression with visually lossless quality by constraining the maximum difference between reconstructed and original image samples 
  • Maximum image resolution of 64Kx64K, or higher via support for oversize image dimension parameters  
  • Up to 16 bits per color sample; up to four color components 

Easy to Use and Integrate 

  • Run-time programmable input and encoding parameters 
    • Image resolution, number of color components, color depth 
    • Maximum reconstruction error, Point-Transform, Local Gradient, Reset Frequency
  • Automatic program-once encode-many operation  
  • AXI4-Stream interfaces for image and compressed data, and 32-bit wide APB for register access
  • Dedicated, easy-to-use timestamps interface 

Versions and Throughput 

  • Area-optimized JPEG-LS-ES: one sample per cycle 
    • 40,000 eq. gates and up to 500 Msamples/sec on a typical 28nm technology 
  • Throughput optimized JPEG-LS-EF:  synthesis-configurable number of samples per cycle 

Deliverables 

  • Source code RTL (Verilog) or Targeted FPGA Netlist 
  • Bit Accurate Model 
  • Sample simulation and synthesis scripts 
  • Verification testbenches 
  • Comprehensive documentation 

Resources

HP Labs LOCO-I/JPEG-LS Home Page
    JPEG-LS file viewers: ffplay, IrfanView, XnView
    SDKs supporting JPEG-LS:
    –  ffmpeg
    –  PICTools,
    –  VintaSoft Imaging .NET SDK,
    –  LEADTOOLS imaging tool kits
    JPEG-LS software implementations:
    UBC, ChartLS, Clunie
    Comparison paper (PDF): Lossless Compression of Grayscale Medical Images - Effectiveness of Traditional and State of the Art Approaches

Let's talk about your project and our IP solutions

Request Info