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 Decoder

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 decompressions
  • Parametric number of parallel entropy chains for improved compressed data throughput
  • Dynamically configurable decoder parameters, including:
    • Wavelet filter type: 5/3 or 9/7
    • Number of wavelet recompositions from zero to five levels
    • Tile size of 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 decoder with full support of JPEG2000 options
    • One quantization factor per subband under mantissa/exponent format
  • High-speed pixel interface allowing the transfer of one pixel per clock cycle on a whole tile component
  • Easy interface-to-pixel output
  • Compressed data input through simple synchronous protocol
  • Decoder parameterization and control via synchronous host interface to external CPU
  • Command and control interface for driving the decoder 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
  • Throughputs ranging from sub CIF 25 Hz to SDTV to HDTV 1280 x 720 50 Hz

Block Diagram

Figure 1 shows a block diagram of the megafunction.

Figure 1. Block Diagram

Figure 1 Decoder
Figure 1 DecoderView full detail (138KB)

Description

Figure 1 illustrates a simplified block diagram of the BA111JPEG2000D intellectual property (IP) showing the internal modules and the interfaces. The BA111JPEG2000D IP is a tile-level decoder, processing each tile component independently from its neighbors. Tile components are rectangular areas of the source image. The size of the tile components depends on the partitioning of a given component plane; however, the size of the tile component processed by the IP core is dynamically configurable, with a limit of 128 x 128 pixels.

The JPEG2000 Decoder's process flow consists of these three steps:

  1. The IP core receives the compressed data interface. Each code stream represents code blocks of a given tile component of the image to reconstruct. The compressed data interface can then feature several channels in parallel.
  2. The IP core generates reconstructed pixels of the tile component at its pixel interface (with a throughput of one pixel per clock cycle) without any interruption throughout the entire tile component.
  3. Finally, if necessary, the pixel interface can be stalled by the peripheral device connected to it.

The decoder has a simple generic interface to an external CPU to configure the various parameters and to monitor the status of the decoding process.

Modeler and Arithmetic Decoder

The modeler gives the sequencing of the entropy decoding. It reconstructs the code block bit-plane by bit-plane, and places relevant bits in a zigzag pattern in each one. It also computes the context information that the arithmetic decoder needs. The contexts and input code stream that are read at the compressed interface are then processed by the arithmetic decoder. The decoder then generates the decoded bits that are placed in the correct location by the modeler.

Ancillary information, read at the compressed interface, specifies code-block coordinates and allows the IP core to locate the code blocks in the current tile component. This also allows several entropy channels to work in parallel.

The BA111JPEG2000D core features a configurable number of entropy decoders placed in parallel to sustain high decoding rates. Each entropy chain then processes a code block independently from neighbor chains.

Tile Composer

This unit reconstructs quantized sub-bands based on the code blocks coming from the entropy decoding channels. The tile composer module arbitrates between the available chains, gathering the various decoded code blocks. The tile composer reads the code blocks from local code block buffers.

Inverse Quantizer

The quantized sub-bands available from the tile composer are further processed by the inverse quantizer that applies a programmable inverse quantization step. A different inverse quantization step can be programmed for each sub-band, weighting lower-frequency sub-bands differently than higher-frequency ones. The inverse quantizer stores the resultant sub-bands into an on-chip tile buffer. The inverse quantizer can be bypassed for lossless mode.

2D Inverse Discrete Wavelet Transform

The last module of the IP core is the inverse discrete wavelet transform (IDWT) engine. This module processes tiles of pixels up to 128 x 128 pixels. The module performs bidimensional wavelet recomposition on the sub-bands located in the on-chip tile buffer, with up to five programmable recomposition levels. The wavelet transform can be programmed to be lossy, lossless, or bypassed. The IDWT module generates reconstructed pixels of any size up to 12 bits (10 for lossy) at the pixel interface. It performs level shifting as required by the JPEG2000 standard.

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 decoding progress. An active-low interrupt line signals selectable events during the decompression 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 BA111JPEG2000D IP 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 24,950 2 262 97 MHz 8 channels
HC1S40F780 HardCopy®
Structured ASIC
- - - 138 MHz 8 channels
EP1S20FC484C5 -5 8,372 2 122 111 MHz 1 channel
HC1S40F780 HardCopy
Structured ASIC
- - - 160 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

E-mail: barco-silex@barco.com
URL: www.barco-silex.com

  Please Give Us Feedback