The JPEG2000 standard (ISO/IEC 15444-1)

Vicente González Ruiz

January 21, 2023

Contents

 1 JPEG 2000 features [3]
 2 Intro [?]
 3 The JPEG2000 algorithm
 4 DC level offset (step 1/6)
 5 Component decorrelation (step 2/6)
 6 The 2D DWT (step 3/6)
 7 Quantization (step 4/6)
 8 ROI definition (step 5/6)
 9 Entropy encoding (step 6/6)
 10 Motion JPEG 2000
 References

1 JPEG 2000 features [3]

  1. Improved compression efficiency (compared to JPEG).
  2. Lossy to lossless compression.
  3. Multiple resolution representation.
  4. Progressive (quality) decoding.
  5. Tiling.
  6. Region-of-interest (ROI) coding.
  7. Error resilience.
  8. Random code-stream access and processing.

2 Intro [?]

3 The JPEG2000 algorithm

  1. Color component DC level offset (optional).
  2. Intercomponent decorrelation (optional).
  3. Spatial decorrelation (2D-DWT).
  4. Quantization (only in the lossy path).
  5. ROI definition.
  6. Entropy coding (tier-1 coding).
  7. Bit-stream organization (tier-2 coding).

4 DC level offset (step 1/6)

5 Component decorrelation (step 2/6)

6 The 2D DWT (step 3/6)

7 Quantization (step 4/6)

Irreversible path

\begin {equation} q_b = \text {sign}(y_b)\Big \lfloor \frac {\displaystyle |y_b|}{\displaystyle \Delta _b}\Big \rfloor \tag {J2KQuant} \end {equation} where \(q_b\) is the quantized coefficient, \(y_b\in [-0.5,0.5]\) is a wavelet coefficient in the subband \(b\) and \(\Delta _b\) is the quantizer step size for the subband \(b\), whose value depends on \(y_b\) as it is shown in the next figure (deathzone scalar quantizer):

Reversible path

There is no quantization: \begin {equation} q_b = y_b \tag {J2KRanging} \end {equation}

8 ROI definition (step 5/6)

9 Entropy encoding (step 6/6)

  1. EBCOT (Embedded Block Coding with Optimal Truncation).
  2. PCRD-opt (Post Compression Rate Distortion optimization).

EBCOT [?]

PCRD-opt

The precinct partition

Reduction of the distortion of a coding pass

Progressions of JPEG2000

LRCP or quality progression

RLCP or spatial progression

PCRL or sequential progression

Rudimentary ROI definition at decoding time

“Lena” at \(0.1\) bpp

JPEG (\(21.29\) dB) JPEG2000 (\(27.03\) dB)

“Lena” at \(0.2\) bpp

JPEG (\(26.64\) dB) JPEG2000 (\(29.22\) dB)

“Lena” at \(0.3\) bpp

JPEG (\(28.97\) dB) JPEG2000 (\(30.71\) dB)

“Lena” at \(0.4\) bpp

JPEG (\(30.09\) dB) JPEG2000 (\(31.58\) dB)

“Lena” at \(0.5\) bpp

JPEG (\(30.91\) dB) JPEG2000 (\(32.24\) dB)

“Cat” at \(0.1\) bpp

JPEG (\(17.79\) dB) JPEG2000 (\(23.33\) dB)

“Cat” at \(0.2\) bpp

JPEG (\(23.59\) dB) JPEG2000 (\(25.97\) dB)

“Cat” at \(0.3\) bpp

JPEG (\(25.63\) dB) JPEG2000 (\(27.60\) dB)

“Cat” at \(0.4\) bpp

JPEG (\(27.10\) dB) JPEG2000 (\(28.97\) dB)

“Cat” at \(0.5\) bpp

JPEG (\(28.23\) dB) JPEG2000 (\(30.08\) dB)

10 Motion JPEG 2000

In the III... (or Intra video) coding, the 2D block-DWT, the 2D DWT, or any other spatial transform, is used on sequences of frames (images) to exploit the spatial correlation. This is achieved by simply iterating the spatial decorrelation as it is described in the Algorithm 1 [4], where \(V\) in the input sequence and \(S\) controls the number of SRLs (Spatial Resolution Levels)1. The synthesis transform is computed using the Algorithm 2. In the Fig. 1 there is an example of the decomposition generated for three frames \(V_0\), \(V_1\) and \(V_2\).

Algorithm 1: III-coding(\(\mathbf {V}\) /* original video sequence */, \(S\) /* Number of extra levels */) \(\rightarrow \) (\(\mathbf {O}\) /* transformed video sequence */)

  1. \({\mathbf O}=\{\}\) /* empty sequence */.
  2. for \({\mathbf V}_i\in {\mathbf V}\):

    1. \({\mathbf O}_i\leftarrow \text {2D-T}^{S}({\mathbf V}_i)\) /* 2D analysis spatial transform */.

Algorithm 2: III-decoding(\(\mathbf {O}\) /* transformed video sequence */, \(S\) /* Number of extra levels */) \(\rightarrow \) (\(\mathbf {V}\) /* original video sequence */)

  1. \({\mathbf V}=\{\}\) /* empty sequence */.
  2. for \({\mathbf O}_i\in {\mathbf O}\):

    1. \({\mathbf V}_i\leftarrow \text {2D-T}^{-S}({\mathbf O}_i)\) /* 2D synthesis spatial transform */.

Figure 1: Decomposition generated by 1-levels (\(S=1\)) 2D-DWT and the 2x2-DCT (block size is equal to \(S+1\)).

Lab

[1]   ISO. Information Technology - JPEG 2000 Image Coding System: Motion JPEG 2000. ISO/IEC 15444-3:2007, May 2007.

[2]   ITU. Information Technology - JPEG 2000 Image Coding System: Interactivity Tools, APIs and Protocols. http://www.itu.int/rec/T-REC-T.808-200501-I, 2005.

[3]   Majid Rabbani, Rajan L. Joshi, and Paul W. Jones. JPEG 2000 core coding system (part 1). The JPEG 2000 Suite, pages 1–69, 2009.

[4]   D.S. Taubman and W.M. Marcellin. JPEG2000. Image Compression Fundamentals, Standards and Practice. Kluwer Academic Publishers, 2002.

1Notice that at least one SRL is always available for each image or video sequence