Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Devices   |   Design Software   |   Intellectual Property   |   Design Services   |   Dev. Kits/Cables   |   Literature  

 IP Products
   Embedded Processors
   Interfaces & Peripherals
   DSP
          Filtering
          Modulation/Demodulation
          Transforms
          Encryption/Decryption
          Error Detection/Correction
          Video & Image Processing
          Audio Processing
          Arithmetic
          Signal Generation
          Additional Functions
          Consortiums
          Literature
   Communications
  
 About IP
      Designing with IP
      Evaluate and Download IP
      IP Certifications
      System Design
      Request IP
  
 IP Industry Partners
      About AMPP Program
      AMPP Core Partners
  

JPEG2000 Encoder

from Barco Silex

Request Free Evaluation



AMPP Approved
OpenCore Support



Get More With Integration - Solution

Features

  • Compliance with ISO/IEC 15444-1 Information Technology: JPEG2000 Image Coding System
  • Support for lossless and lossy compressions
  • Parametric number of parallel entropy chains for improved compressed data throughput
  • Rate and distortion metrics provided for rate allocation (tier 2)
  • Dynamically configurable encoder parameters, including:
    • Wavelet filter type: 5/3 or 9/7
    • Tile size up to 128 x 128 pixels and tile offset
    • Code block size up to 32 x 32 samples
    • Pixel depth of up to 12 bits in lossless mode (10 bits in lossy) pixel sign
    • Entropy encoder with full support of JPEG2000 options
    • One quantization factor per sub-band under mantissa/exponent format
  • High-speed pixel interface allowing the transfer of 1 pixel per clock cycle on an entire tile component
  • Easy interface-to-pixel input
  • Compressed data output through simple synchronous protocol
  • Encoder parameterization and control via synchronous host interface to external CPU
  • Command and control interface for driving the encoder with limited or no CPU intervention
  • Independent pixel and compressed interface clock domains for easy integration
  • Fully synchronous design
  • On-chip tile buffer for increased efficiency and reduced pinout

Block Diagram

Figure 1 shows a block diagram of the megafunction.

Figure 1. JPEG2000 Encoder

Figure

 1 Encoder
 Figure 1 EncoderView full detail (138 KB)

Description

Figure 1 illustrates a simplified block diagram of the BA112JPEG2000E intellectual property (IP) showing the internal modules and the interfaces. The BA112JPEG2000E IP is a tile-level encoder processing each tile component independently from its neighbors. Each color component of the source image is encoded separately and is decomposed into tile components, or rectangular tiles of 128 x 128 pixels maximum, to be read by the encoder. The BA112JPEG2000E pixel interface can accept an entire tile component at a high speed without any interruption. It generates the compressed codes at its compressed data interface (featuring several channels in parallel) with distortion and rate metrics, which can then be used for tier 2. This enables precise control of the bit rate by the CPU, and the various progressive order modes foreseen in the standard. The encoder has a simple generic interface to an external CPU to configure the various parameters the IP core can handle and to monitor the status of the encoding process.

The following sections describe the modules of the BA112JPEG2000E IP core as depicted in Figure 1.

2D Discrete Wavelet Transform

The first module of the core is the discrete wavelet transform (DTW) engine. This module accepts tiles of up to 128 x 128 pixels and performs bidimensional wavelet decomposition on the incoming data with up to five decomposition levels. The wavelet transform can be programmed to be lossy, lossless, or bypassed. The DWT module accepts incoming pixels of up to 12 bits (10 for lossy) and performs level-shifting as required by the JPEG2000 standard. It finally stores its results into the on-chip tile buffer, ready for quantization and code block decomposition.

Quantizer

The quantizer fetches the sub-bands available from the tile buffer and applies a programmable quantization step. A different quantization step can be programmed for each sub-band, allowing lower-frequency sub-bands to weight differently than higher-frequency ones. The quantizer can be bypassed for lossless mode.

Tile Splitter

This unit divides the quantized sub-bands into rectangular code blocks of up to 32 x 32 samples to make them ready for entropy encoding. The BA112JPEG2000E IP core features a configurable number of entropy encoders placed in parallel configuration to sustain high encoding rates. Each entropy chain processes a code block independently from neighbor chains. The tile splitter module arbitrates between the available chains, dispatching the various code blocks to be encoded. The tile splitter stores the code blocks into local code block buffers.

Modeler and Arithmetic Encoder

The modeler performs the first part of the entropy encoding. It parses the code block bit-plane by bit-plane, from most significant bit (MSB) to least-significant bit (LSB) and places relevant bits in a zigzag pattern in each bit plane. It also computes the context information that the arithmetic decoder needs. The distortion metrics are then available at the compressed interface to be used for the tier-2 part of the JPEG2000 algorithm. Distortion is based on an MSE criterion and measures the amount of error introduced by truncating the code block at each truncation point. The bits and contexts are then processed by the arithmetic encoder that generates the stream available at the compressed interface. Ancillary information reporting code-block coordinates allows the tier 2 encoder to re-order the output of the entropy channels.

Host Interface Module

This module allows the IP core to interface with a CPU. It contains configuration registers for the various modules and gives status information about the encoding progress. An active-low interrupt line signals selectable events during the compression process. The host interface module also features a separate command and control interface that allows fast control of the IP core with minimal or no CPU intervention. Together, with the simplicity of the CPU interface, the command and control interface allows you to build a system where the BA112JPEG2000E core is not directly connected to a host CPU and is driven by a small amount of logic. This increases the integration flexibility of the IP core.

Device Utilization & Performance

Table 1 lists the typical device utilization results for the megafunction.

Table 1. Typical Device Utilization
Target Device Speed Grade Utilization Performance
(fMAX)
Parameter Setting
Logic Cells Memory I/O Pins
EP1S30FC780C5 -5 23,372 2 MRAM
124 M4K
542 114 MHz 8 channels
HC1S40F780 HardCopy® Structured ASIC - - - 140 MHz 8 channels
EP1S20FC484C5 -5 9,445 2 MRAM
40 M4K
157 118 MHz 1 channel
HC1S40F780 HardCopy Structured ASIC - - - 140 MHz 1 channel

Deliverables

  • Encrypted netlist with license file
  • Data sheet
  • Testbench

Related Links

Contact Information

For additional information, contact Barco Silex at:

Barco Silex
Scientific Park
Rue du Bosquet 7
B-1348 Louvain-la-Neuve
Belgium

Tel: +32 10 486 403
Fax: +32 10 454 636

Email: barco-silex@barco.com
URL: www.barco-silex.com

  Please Give Us Feedback