CAN/CSA-ISO/IEC 15444-5-16 – Reference Software for JPEG 2000 Image Coding System

Technical Overview of the Canadian Adoption of the International Standard for JPEG 2000 Reference Software

Introduction

CAN/CSA-ISO/IEC 15444-5-16 (also referred to as IEC 15444-5-16) is the Canadian Standards Association (CSA) adoption of the international standard ISO/IEC 15444-5:2015, Information technology — JPEG 2000 image coding system — Part 5: Reference software. This standard provides a formal specification of reference software implementations for the JPEG 2000 image coding system, ensuring a common basis for evaluating conformance of commercial and open-source JPEG 2000 codecs.

JPEG 2000 (ISO/IEC 15444) is a wavelet-based image compression standard designed to deliver superior compression efficiency, progressive transmission, and region-of-interest access. Part 5 of this series supplies the source code and documentation for two reference software packages: JJ2000 (written in Java) and JasPer (written in C). CAN/CSA-ISO/IEC 15444-5-16 adopts the international text without technical deviations, making it the definitive reference for conformance testing and implementation guidance in Canada.

Scope and Applicability

What the Standard Covers

CAN/CSA-ISO/IEC 15444-5-16 covers the complete JPEG 2000 reference software, including:

  • JJ2000 – A Java-based encoder and decoder that implements the core coding system defined in ISO/IEC 15444-1 (JPEG 2000 Part 1) and the extended capabilities of ISO/IEC 15444-2 (Part 2 – Extensions).
  • JasPer – A C-based implementation providing encoder, decoder, and utility tools for JPEG 2000 Part 1 and Part 2.
  • Conformance testing material – A standardized set of test images and bitstreams used to validate implementation correctness.

The standard is intended for developers of JPEG 2000 codecs, test laboratories, and any organization that needs to verify compliance with the JPEG 2000 family of standards. It is equally relevant for software integrators who wish to embed reliable JPEG 2000 capabilities into larger imaging workflows (e.g., medical imaging, digital cinema, remote sensing).

Relationship to Other Standards

CAN/CSA-ISO/IEC 15444-5-16 is part of a larger suite of JPEG 2000 standards:

  • ISO/IEC 15444-1 – Core coding system
  • ISO/IEC 15444-2 – Extensions
  • ISO/IEC 15444-4 – Conformance testing
  • ISO/IEC 15444-5 – Reference software (this standard)

The reference software is explicitly designed to implement the requirements of Parts 1 and 2, and it delivers the test bitstreams required by Part 4. As such, it forms the practical backbone for verifying conformance.

Tip: When developing a commercial JPEG 2000 codec, use the reference software as a “golden” encoder/decoder to verify your implementation’s output against the expected results. This is especially important when supporting advanced Part 2 features such as variable DC offset, multiple component transforms, or extended precinct sizes.

Technical Requirements

Software Architecture and Supported Features

The standard prescribes that the reference software must correctly implement all mandatory and informative coding tools of JPEG 2000 Part 1 and Part 2. The table below summarises the key characteristics of the two provided software packages.

FeatureJJ2000JasPer
LanguageJava (JDK 1.4+)C (ANSI C / C99)
EncoderYesYes
DecoderYesYes
Part 1 supportFullFull
Part 2 supportFullFull
Multi-component transformsMCT, RCT, ICTMCT, RCT, ICT
Region-of-interest (ROI)Maxshift methodMaxshift method
Progression ordersLRCP, RLCP, RPCL, PCRL, CPRLLRCP, RLCP, RPCL, PCRL, CPRL
File I/O formatsRAW, PGM, PPM, BMP, JP2, J2CRAW, PGM, PPM, PNM, JP2, J2C
Conformance test harnessIncludedIncluded

Both packages must produce bitstreams that comply with the JPEG 2000 codestream syntax defined in Part 1 and Part 2. The standard also requires that the source code be accompanied by documentation covering compilation, usage, and interpretation of test results.

Conformance Assertion

Implementations that claim conformance to CAN/CSA-ISO/IEC 15444-5-16 must demonstrate that they can correctly encode and decode every test image and bitstream supplied with the standard. The conformance testing process involves:

  1. Encoding a set of reference images with default parameters to verify correct codestream generation.
  2. Decoding the supplied reference bitstreams and comparing the output pixel-by-pixel against the expected uncompressed images.
  3. Executing the provided test harness to automatically pass/fail each conformance point.

The standard defines a conformance log format and pass/fail criteria, which are used by certification bodies (e.g., CSA, DigiCert) when validating third-party products.

Important: The reference software is not intended for production use where performance or memory efficiency is critical. Its primary role is to serve as a trusted oracle for conformance evaluation. Developers should optimise their own codecs separately and compare outputs against the reference during development.

Implementation Highlights

Organisations adopting CAN/CSA-ISO/IEC 15444-5-16 typically use the reference software in one of three ways:

  • As a validation tool – Run the reference encoder/decoder on known test inputs and verify that your own codec produces identical or equivalent outputs.
  • As a learning resource – Study the source code to understand complex JPEG 2000 algorithms (e.g., precinct-based compression, tier-2 packetisation, arithmetic coding).
  • As a baseline for performance tuning – Profile the reference to identify bottlenecks and then compare the speed/memory improvements of your own implementation while maintaining correctness.

Portability and Integration

JJ2000 runs on any platform with a Java Virtual Machine, making it easy to integrate into cross-platform testing frameworks. JasPer is written in portable C and compiles on Linux, macOS, and Windows (with minimal library dependencies). Both packages are distributed under permissive open-source licenses (JasPer: MIT-like; JJ2000: BSD-like), which facilitates use in commercial environments without royalty obligations.

Compliance Quick Check: A product that passes all conformance tests from CAN/CSA-ISO/IEC 15444-5-16 can be declared “conformant to JPEG 2000 Part 1 and Part 2” with high confidence. Many regulatory bodies (e.g., for medical image interchange under DICOM) require this level of compliance.

Compliance Notes

  • Certification Path: In Canada, CSA Group offers certification programs that refer directly to CAN/CSA-ISO/IEC 15444-5-16. Manufacturers seeking to market JPEG 2000 products in Canada are strongly encouraged to obtain CSA certification, which includes testing using the reference software.
  • Year of Adoption: The “-16” suffix indicates that CSA adopted this standard in 2016. Although the international edition is ISO/IEC 15444-5:2015, the Canadian version carries a different year to reflect national adoption. Users should verify that any later amendments (e.g., ISO/IEC 15444-5:2015/Amd 1:2019) have been incorporated by searching for the current CSA publication status.
  • Deviation from International Text: CAN/CSA-ISO/IEC 15444-5-16 is identical to the ISO/IEC 15444-5:2015 text, except for minimal editorial changes required by CSA’s drafting rules. There are no technical deviations, so compliance with this Canadian standard implies compliance with the international reference software specification.
  • Documentation and Source Code: The standard document includes the full source code in annexes (1094 pages) as well as a description of the file organisation. It is essential to purchase the official CSA publication to obtain the exact source code versions and test images; online redistributions may be outdated or incomplete.
Warning: Using a non‑conformant JPEG 2000 codec in regulated environments (e.g., medical imaging, law enforcement archival) can lead to data loss or legal liability. Always verify that your codec passes the conformance tests defined in CAN/CSA-ISO/IEC 15444-5-16 before deployment.

Frequently Asked Questions

Q: Is CAN/CSA-ISO/IEC 15444-5-16 identical to ISO/IEC 15444-5:2015?
A: Yes. The Canadian standard adopts the international text verbatim, with no technical changes. Only minor editorial modifications related to CSA formatting have been applied. Therefore, products that comply with either version are interchangeable in terms of conformance testing.
Q: Which reference software package should I use for conformance testing?
A: Both JJ2000 and JasPer are equivalent from a conformance perspective. JasPer is generally faster and more suitable for automated batch testing, while JJ2000 offers platform independence and is easier to integrate into Java-based test harnesses. You may use either; the standard specifies that both must produce identical outputs for all test streams.
Q: Does the standard also cover JPEG 2000 Part 6 (Compound Image File Format) or Part 9 (JPIP)?
A: No. CAN/CSA-ISO/IEC 15444-5-16 is strictly limited to Part 5 reference software, which implements the core coding system (Part 1) and its extensions (Part 2). Other parts of the JPEG 2000 family have their own reference software or are covered by separate conformance documents.
Q: How can I obtain the official test images and source code?
A: The complete package (standard document, source code annexes, and test images) must be purchased from the CSA Group website or from ISO/IEC national member bodies. Some historical test images are available from the JPEG website (jpeg.org), but for certification purposes, you should use the exact version distributed with the official standard.

Copyright © 2026 – Published for informational purposes. This article is not a substitute for the official standard document. Always refer to the authoritative publication by CSA Group for compliance and certification matters.

📥 Standard Documents Download

🔒
Please wait 10 seconds, the download links will appear after the ad loads

Leave a Reply

Your email address will not be published. Required fields are marked *