What this article covers
- Introduces the core characteristics, compression ratio range, typical use cases and FPGA resource differences of each codec.
- Compares the two across latency, image quality, compression efficiency and deployment cost.
- Provides a clear selection guide so you can quickly decide which codec to use based on real-time requirements, compression ratio needs and hardware budget.
This article analyzes two image codecs, JPEG XS and JPEG 2000. Both run on FPGA and are delivered as IP cores, yet they differ significantly in design philosophy, compression efficiency, resource footprint and target scenarios. As an FPGA IP vendor, we are often asked: "What exactly is the difference between the two, and which one should my project use?"
1. Design Principles and Performance Differences
To understand the performance gap between JPEG XS and JPEG 2000, you have to start with their coding architectures. Although both are built on the discrete wavelet transform (DWT), their design goals are completely different: JPEG XS is a mezzanine codec born for "ultra-low latency, ultra-low resources", while JPEG 2000 is built for precise bit allocation — a globally rate-distortion-optimal scheme that squeezes the highest image quality out of a given compression ratio.
1.1 JPEG XS — Built for Speed
- Wavelet decomposition levels: only 0–2 levels vertically (1–2 levels are common; Subline mode uses 0), and up to 5 levels horizontally. Fewer vertical decomposition levels means only a small number of lines need to be buffered, dramatically saving BRAM and achieving line-level latency.
- Coding granularity (Precinct): each Precinct maps to a few lines of the original image (typically 2 lines). The rate controller independently adjusts the quantization step within each Precinct, outputting a constant bitrate (CBR) with extremely low latency and simple hardware; however, rate allocation lacks global coordination.
- Entropy coding: bitplane counting, encoding coefficients in groups of 4 — an extremely simple design with very low resource usage, but limited compression efficiency.
- Rate control: local, coarse allocation. Each Precinct has an independent fixed length and need not wait for the full frame, giving latency ≤32 lines. The downside: when regions vary widely in complexity, complex regions lose noticeable detail while simple regions waste bitrate, even padding data to keep the rate constant. This line-level constant bitrate behavior makes JPEG XS extremely well suited to IP-based production scenarios such as SMPTE ST 2110 that require real-time CBR transport.
- External memory requirement: baseline configurations (High/Light/Main, etc.) require no external DDR and work using internal BRAM alone. However, the 3rd-generation TDC Profile requires a compressed frame buffer (FBB) for interframe prediction and therefore needs additional DDR to store the reference frame.
1.2 JPEG 2000 — Built for Image Quality
- Wavelet decomposition levels: both horizontal and vertical can support 3–6 levels or even more, giving a more thorough frequency-domain decomposition and higher compression efficiency; but BRAM usage is heavy and the scheduling logic between bands is complex.
- Coding granularity (Code-Block): the entropy coding unit is the Code-Block (e.g. 32×32, 64×64), which can be processed in parallel. The wavelet transform and coding can be pipelined without waiting for the full-frame transform to complete.
- Entropy coding: EBCOT + MQ arithmetic coding. Context modeling and arithmetic coding are complex, consuming substantial logic resources and making timing closure difficult, but delivering high compression efficiency.
- Rate control: post-compression rate-distortion optimization (PCRD-opt) searches for the optimal truncation point of each code-block across the whole frame, minimizing total image distortion at a given bitrate to maximize PSNR. JPEG 2000 itself has no constant bitrate (CBR) control mechanism; its output is a variable bitrate (VBR) stream.
- External memory requirement: always requires external DDR to store the full-frame wavelet coefficients, intermediate code-block coding results and the information needed for rate-distortion optimization.
2. Core Feature Overview
| Dimension | JPEG XS | JPEG 2000 |
|---|---|---|
| Positioning | Mezzanine codec replacing uncompressed video; ultra-low latency + low complexity + visually lossless | High-fidelity still-image compression; supports lossless/lossy, pure intra-frame coding |
| Compression ratio range | Typically 2:1–10:1 (visually lossless); 3rd-gen TDC Profile up to 20:1 (graphics-type content can reach about 36:1 via the Flawless Imaging Profile) | Mathematically lossless ~2–3:1; for typical images still visually lossless at 15:1, and good quality is maintained up to 50:1 |
| Latency | ≤32 lines (encode + decode combined, corresponding to <1ms) | About 1–1.5 frames (typically 20ms, can be optimized to 8.5ms); pure intra-frame with no GOP buffering — far lower than interframe codecs such as H.264 |
| Visual quality | Visually lossless (typically within 10:1), as defined by ISO/IEC 29170-2 | Typically visually lossless within 15:1; at the same compression ratio JPEG 2000 has higher PSNR |
| Mathematically lossless support | Supported. 2nd-gen MLS profile, pixel-perfect reconstruction | Natively supported. The Part 1 core supports lossless (5/3 wavelet) |
| Interframe compression support | Natively supported (3rd-gen TDC Profile), wavelet-domain interframe prediction | Not supported by the standard, but BergLogic FPGA IP extends it to implement interframe compression |
| Profile system | 18 Profiles in total: High, MLS, TDC, Light/Main, RAW Bayer, etc. | Multiple Parts (Part 1 core, Part 2 extensions, etc.) |
| External memory requirement | Baseline needs no DDR; TDC Profile needs DDR (frame buffer) | Always requires DDR |
| Rate control characteristics | Line-level CBR, suited to SMPTE ST 2110 | No built-in CBR, outputs a VBR stream |
| Encode/decode symmetry | Essentially symmetric | Asymmetric |
| Patent fees | Vectis IP patent pool (FRAND) | Part 1 core is royalty-free |
| Software support | FFmpeg 8.1, GStreamer, intoPIX SDK, Intel SVT-JPEG-XS, Adobe Premiere plugin | OpenJPEG, FFmpeg, ImageMagick, Photoshop plugin, macOS Preview, etc. |
| Core strengths | Lowest resources, lowest latency, robust across generations, no DDR for baseline | Highest compression efficiency, low latency, supports lossless/ROI/progressive transmission |
| Core limitations | Image quality drops noticeably above ~10:1; mathematically lossless mode reaches only a low compression ratio (~2:1) | Heavy FPGA resources, requires external DDR |
3. Key Technical Parameters
3.1 JPEG XS Tunable Parameters
| Parameter | Description |
|---|---|
| Wavelet transform type | Fixed LeGall–Tabatabai (LGT) 5/3 integer reversible wavelet |
| Wavelet decomposition levels | Up to 5 horizontally, up to 2 vertically; directly affects latency (about 5–32 lines) |
| Coding granularity (Precinct) | Each Precinct maps to a few lines of the original image (typically 2 lines) |
| Entropy coding | Bitplane Counting |
| Rate control | Local constant bitrate (CBR), end-to-end latency ≤32 lines |
| Profile selection | High, Light, Main, MLS, TDC, RAW Bayer, etc. |
| Slice size | Configurable (typically 16 lines/slice) |
| Color space transform | Supports RCT and the Star-Tetrix transform for Bayer RAW |
| Compression ratio configuration | Range 1/2 – 1/20 |
3.2 JPEG 2000 Tunable Parameters
| Parameter | Description |
|---|---|
| Wavelet transform type | Supports 5/3 integer (lossless) and 9/7 floating-point (lossy) |
| Wavelet decomposition levels | Configurable 1–5 levels or higher |
| Code-Block size | Supports 8×8, 16×16, 32×32, 64×64, etc. |
| Tile size | Image can be split into independent Tiles for parallel coding |
| Number of quality layers | Configurable (e.g. 25 layers), supports progressive transmission |
| ROI coding | Natively supports region-of-interest coding |
| Entropy coding | EBCOT + MQ arithmetic coding |
| Rate control | Post-compression rate-distortion optimization (PCRD-opt), outputs a VBR stream |
| Progressive transmission | Supports resolution, SNR and position progression |
4. FPGA Resource Comparison Under a Typical Configuration
This section uses 4096×2160@60fps, RGB 8-bit as the typical configuration. The data is based on BergLogic IP measurements (JPEG XS as the Main Profile baseline version, no DDR; JPEG 2000 as standard lossy mode, 5 wavelet decomposition levels, 64×64 code-blocks). For LUT, BRAM and DSP the table below uses relative ratings (★) — the lightest case, the JPEG XS decoder, is the 1★ baseline, and more ★ means higher resource usage; exact absolute figures are sensitive and available on request.
| Resource | JPEG XS Encoder | JPEG XS Decoder | JPEG 2000 Encoder | JPEG 2000 Decoder |
|---|---|---|---|---|
| LUT | 1.5★ | 1★ | 5.5★ | 4.5★ |
| Block RAM (BRAM) | 1.5★ | 1★ | 8.5★ | 5★ |
| DSP | 1★ | 1★ | 4.5★ | 7★ |
| External memory bandwidth (DDR) | 0 (no DDR) | 0 | ≈40 Gbps (5 GB/s) | ≈26 Gbps (3.25 GB/s) |
5. Measured Data Comparison
To intuitively illustrate the performance difference between JPEG XS and JPEG 2000 in real applications, this section selects four typical test images and independently measures the PSNR of both across 23 integer compression ratios from 3:1 to 25:1.
5.1 Test Image Set
| Test Image | Content | Test Purpose |
|---|---|---|
| test_pic1 (autumn canopy, 1024×683) | Upward shot of an autumn canopy: golden and green leaves interwoven against a blue sky, with dense high-frequency branch-and-leaf texture | Evaluate the ability to preserve dense natural high-frequency texture and color gradients |
| test_pic2 (coral aquarium, 960×640) | Underwater coral reef scene: anemones, clownfish and purple coral under soft diffuse light | Evaluate coding efficiency on soft color transitions and moderate detail |
| test_pic3 (macro insect, 1920×1280) | Macro photography: an insect resting on a dew-covered petal, with a large blurred bokeh background | Evaluate the image-quality ceiling at high resolution with large smooth areas (very easy to compress) |
| test_pic4 (mint foliage, 960×640) | Top-down shot of mint/nettle foliage: overall deep-green monochrome with regular leaf-vein texture | Evaluate coding performance on single-tone, regularly textured content |
5.2 Objective Quality Comparison (PSNR Charts)
The PSNR-vs-compression-ratio curves for each test image are shown below (x-axis: compression ratio R; y-axis: PSNR in dB). Each chart has four series: jxs_main / jxs_high (JPEG XS MAIN / HIGH) and j2k_97 / j2k_53 (JPEG 2000, both 5-level decomposition, 9/7 irreversible and 5/3 reversible respectively); 5/3 reaches mathematically lossless (∞) at low compression ratios on easy-to-compress images, where the curve breaks.
5.3 Analysis of Measured Results
(1) Overall pattern (regular natural images)
On regular natural images such as test_pic1, test_pic2 and test_pic4, at the same compression ratio JPEG 2000 (both 9/7 and 5/3) leads JPEG XS throughout, and the lead grows more stable as the compression ratio increases. This stems from its higher compression efficiency: EBCOT two-tier entropy coding combined with post-compression rate-distortion optimization (PCRD-opt) finds a rate-distortion-optimal bitrate allocation across all code-blocks over the whole image, whereas JPEG XS — to minimize latency — performs only heuristic rate allocation at precinct granularity.
(2) 9/7 vs 5/3 (uniform 5-level decomposition)
On regular images, 9/7 is generally slightly better than 5/3 (about 0.5–3.4 dB, with a larger gap at low compression ratios). The 9/7 irreversible transform paired with quantization is a better fit for lossy coding, while the 5/3 reversible transform achieves lossy compression through stream truncation and is slightly less efficient.
(3) Even at the same 5/3, JPEG 2000 still beats JPEG XS
Even when both use the 5/3 wavelet, JPEG 2000 (j2k_53) is still about 1–2 dB higher than JPEG XS on regular images, proving the gap mainly comes from the encoder mechanism — EBCOT+PCRD whole-image-optimal rate allocation vs. precinct-level heuristic allocation.
(4) Within JPEG XS (MAIN vs HIGH)
HIGH is consistently about 0.3–1.9 dB better than MAIN because of one extra vertical wavelet decomposition level (ndecomp_v=2).
(5) Constant bitrate (CBR) characteristic
JPEG XS is strict CBR — the compressed size is constant and the bitrate, buffering and latency are fully controllable, which is precisely its core feature for real-time video links.
(6) Key special case — very easy-to-compress content (test_pic3)
9/7 is an irreversible (floating-point) wavelet with a "precision ceiling" (about 53.41 dB, ≈13:1): it is clamped from 3:1 to 13:1 and only breaks through from 14:1; 5/3 is an integer reversible transform and reaches mathematically lossless (∞) at 3:1–5:1. Because the 9/7 ceiling is relatively low, at low compression ratios it is even overtaken by the constant-bitrate JPEG XS.
(7) Effect of rate-allocation granularity on local image quality
JPEG 2000 allocates bitrate uniformly across the entire image via PCRD-opt, so bitrate saved on smooth backgrounds can be concentrated on complex regions such as the insect; JPEG XS works at precinct granularity and cannot schedule across precincts over a wide range, so high-frequency information in complex regions is lost to a relatively greater extent.
(8) Average trend (4-image summary)
| Compression Ratio | jxs_main | jxs_high | j2k_97 | j2k_53 |
|---|---|---|---|---|
| 3:1 | 50.97 | 51.53 | 49.62 | 55.42 |
| 4:1 | 46.64 | 47.23 | 47.63 | 52.50 |
| 6:1 | 41.68 | 42.41 | 43.94 | 43.91 |
| 8:1 | 38.64 | 39.43 | 41.57 | 40.77 |
| 10:1 | 36.50 | 37.38 | 39.95 | 38.82 |
| 12:1 | 34.84 | 35.79 | 38.66 | 37.27 |
| 14:1 | 33.63 | 34.55 | 37.65 | 36.22 |
| 16:1 | 32.66 | 33.57 | 36.68 | 35.40 |
| 18:1 | 31.78 | 32.71 | 35.95 | 34.70 |
| 20:1 | 30.99 | 31.96 | 35.26 | 34.09 |
| 21:1 | 30.64 | 31.62 | 34.98 | 33.82 |
| 22:1 | 30.31 | 31.31 | 34.72 | 33.58 |
| 23:1 | 30.00 | 31.02 | 34.49 | 33.36 |
| 24:1 | 29.71 | 30.75 | 34.28 | 33.13 |
| 25:1 | 29.44 | 30.51 | 34.07 | 32.92 |
6. Application Scenario Selection Guide
6.1 Core Selection Logic: Compression Ratio as the Primary Decision Factor
① No interframe compression (single images, frequent scene cuts, high demands on image-quality stability)
| Required Compression Ratio | Recommended | Rationale |
|---|---|---|
| ≤10:1 | JPEG XS baseline | Visually lossless, lowest resources, no DDR, ultra-low latency |
| >10:1 | JPEG 2000 lossy | Above 10:1 JPEG XS quality drops noticeably, while JPEG 2000 keeps good quality at 10–50:1 |
② Interframe compression allowed (video scenarios that can tolerate quality fluctuation on scene cuts, typically AV over IP)
| Required Compression Ratio | Recommended | Rationale |
|---|---|---|
| ≤20:1 | JPEG XS TDC | The 3rd-gen TDC raises visually lossless compression to 20:1 via interframe prediction |
| >20:1 | JPEG 2000 lossy | Beyond 20:1 JPEG 2000's compression efficiency advantage is significant (BergLogic interframe-prediction version) |
6.2 Secondary Considerations
(1) FPGA resources and hardware cost: see Section 4. If hardware cost is sensitive and the compression ratio is ≤10:1, prefer the JPEG XS baseline version.
(2) Software compatibility and industry standards
| Aspect | JPEG XS | JPEG 2000 |
|---|---|---|
| Software ecosystem | Native support in FFmpeg/GStreamer, Adobe Premiere plugin | Native support in almost all image software; the most mature ecosystem |
| Encode/decode asymmetry | PC-side playback may require installing the appropriate decoder | Plays directly on PCs without extra plugins |
| Industry standards | SMPTE ST 2110-22 (mandatory for broadcast IP), mainstream in IPMX/AVoIP | Mandatory for DCI digital cinema, the DICOM medical imaging standard |
6.3 Overall Selection Decision Matrix (by Scenario)
| Application | Typical Ratio | Interframe Allowed? | Recommended | Rationale |
|---|---|---|---|---|
| Broadcast professional production (ST 2110) | 2:1–8:1 | No | JPEG XS High/Light | Mandated by industry standard, line-level CBR |
| AV over IP (static images) | 10:1–20:1 | Yes | JPEG XS TDC | High compression efficiency, far lower resources than JPEG 2000 |
| Automotive sensors / embedded | 2:1–10:1 | No | JPEG XS baseline | No DDR, cost-sensitive |
| Medical imaging archiving (DICOM) | 2–3:1 (lossless) | No | JPEG 2000 lossless | Mandated by standard, ROI required |
| Digital cinema distribution (DCI) | about 20:1 | No | JPEG 2000 lossy | Mandated by standard |
| Satellite remote sensing / archival storage | 20:1–50:1 | No | JPEG 2000 lossy | High compression ratio, progressive transmission |
| Desktop remote control / cloud desktop | 10:1–20:1 | Yes | JPEG XS TDC | Many static frames, large gains |
| Mathematically lossless + low latency | about 2–3:1 | No | JPEG XS MLS | No DDR, perfect reconstruction |
| High precision + interframe gain | 10:1–30:1 | Yes | BergLogic JPEG 2000 interframe extension | Lower latency, high image quality |
7. BergLogic Codec IP Products
7.1 Product Line Overview
BergLogic offers both the JPEG XS IP and the JPEG 2000 IP codec families, covering the compression needs of different applications. Both families are written in RTL (Verilog) and can be deployed on FPGAs from AMD (Xilinx), Altera (Intel), Pango and others.
| Product Family | Version | Core Features | Typical Applications |
|---|---|---|---|
| JPEG XS IP | Baseline version (High/Light/Main) | No DDR, compact resources, line-level CBR latency, supports multiple Profiles | Broadcast ST 2110, automotive sensors, ProAV/KVM |
| TDC version | Requires DDR for interframe prediction, compression efficiency up to 20:1 | AV over IP | |
| JPEG 2000 IP | Standard version | Fully compliant with Part 1 Amd1, interoperable with the official reference software | Digital cinema, medical imaging archiving, satellite remote sensing |
| Low-latency enhanced version | BergLogic proprietary interframe coding mechanism, latency <8.5ms, supports progressive transmission | AV over IP |
7.2 Core Advantages
- Compact resources: a deeply engineering-optimized compact design uses significantly fewer logic resources than comparable solutions. The JPEG XS baseline works without DDR; the JPEG 2000 IP keeps resource usage low while maintaining high image quality, suitable for small FPGAs.
- Thoroughly validated: the JPEG 2000 IP has been fully validated and volume-deployed on Xilinx Kintex-7 and UltraScale/UltraScale+ FPGAs, reaching stable commercial status; a Xilinx KU3P FPGA hardware platform is available to demonstrate the codec. The JPEG XS IP is also in mature commercial use.
- Flexible customization: custom development for special resolutions, frame rates and bit depths, with versions from 720P to 8K so customers can choose by FPGA capacity.
- Complete ecosystem: beyond the codec IP, BergLogic also offers a matching VPSS video processing subsystem (cropping, scaling, windowing, layer overlay for up to 16 video sources), network transport modules (UDP/IP, multicast, clock sync) and the White Tiger Z1 core board — a complete solution for quickly building distributed video systems.
7.3 Core Board and Reference Design
White Tiger Z1 is a codec core board BergLogic built specifically for distributed video applications. Based on a Kintex UltraScale+ FPGA, it supports 4K@60fps real-time encoding/decoding, and a single core board can deliver 1–25x compression. JPEG 2000 end-to-end latency can be kept within 10ms, and JPEG XS end-to-end latency within 1ms.
Need help choosing for your project, or want the full datasheet?
Our engineering team can provide custom recommendations based on your resolution, frame rate, FPGA platform and latency budget.
Contact BergLogicSummary
JPEG XS and JPEG 2000 are not a simple better-or-worse substitution; they are two specialized tools aimed at different scenarios:
JPEG XS
- Core idea: real-time, lightweight, near-lossless transport
- Latency: ultra-low (<1ms, ≤32 lines)
- FPGA resources: low (no DDR)
- Typical scenarios: Broadcast ST 2110, AV over IP, sensors
JPEG 2000
- Core idea: high-fidelity archiving, maximum compression efficiency
- Latency: low (about 10–20ms)
- FPGA resources: high (requires DDR)
- Typical scenarios: digital cinema DCI, medical imaging DICOM, archival storage
