When the EBCOT coding was introduced?

 

What does EBCOT mean?

 

How does the EBCOT coding work?

 

What is the Rate-Allocation?

 

How is the Rate-Allocation problem handled?

 

How does PRCD work?

 

Which are the advantages of the PRCD?

 

Which is the benefit of block coding?

 

What kind of encoder is used?

 

What is the advantage of this kind of encoder?

 

How is the process of encoding/decoding organized?

 

Which is the advantage of the subdivision into steps?

 

Which is the role of Arithmetic coding?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

When the EBCOT coding was introduced?

 

In JPEG2000 the entropy coding of information is committed to the EBCOT algorithm introduced in 1998 by David Taubman.

 

 

What does EBCOT mean?

 

EBCOT stands for Embedded Block Coding with Optimal Truncation:

Every subband is partitioned into little blocks (for example 64x64 o 32x32), called code-blocks.

Every code-block is codified independently from the other ones thus producing an elementary embedded bit-stream. The algorithm can find some points of optimal truncation in order to minimize the distortion and support its scalability.

 

 

How does the EBCOT coding work?

 

It uses the wavelet transform to subdivide the energy of the original image into subbands. Coefficients are coded after having done an appropriate quantization specified by the standard. Each subband is divided into code-blocks before being compressed. 

 

 

What is the Rate-Allocation?

 

As every code-block is codified independently from the other ones, Rate-Allocation has the aim of choosing the contributions of each code-block at any resolution level in order to obtain the aimed bit-rate by minimizing the distortion.

 

 

How is the Rate-Allocation problem handled?

 

EBCOT algorithm carries out the Rate-Allocation by the means of a particular method called PRCD (Post Compression Rate Distortion).

 

 

How does PRCD work?

 

We choose a maximum bit rate as our target, and then it is possible to search for the set of truncation points that minimize the total distortion.

The name of the PCRD method is due to the fact that the optimization of the Rate-Allocation is done on compressed data.

 

 

Which are the advantages of the PRCD?

 

 

 

Which is the benefit of block coding?

 

As each block-code is coded independently form the others, block coding is in particular suitable for parallel implementations, in which more units process code-blocks simultaneously.

 

 

What kind of encoder is used?

 

A bit-plane encoder is used; it encodes the information belonging to a code-block by grouping it in bit-planes, starting form the most significant one. After that, less significant bit-planes will be encoded.

 

 

What is the advantage of this kind of encoder?

 

The main advantage is the possibility of decoding only some bit-planes during the decompression. Obviously during the reconstruction, the larger the number of discarded bit-planes, the higher the distortion due to a larger quantization error.

Besides, the possibility of cutting off arbitrarily the stream makes possible the use of the PRCD algorithm for rate-allocation.

 

 

How is the process of encoding/decoding organized?

 

Inside each bit-plane the codification is made in three different steps that are called fractional bit-plane.

The truncation points that can be used by the PRCD coincide with the extremes of fractional bit-plane.

The steps are:

 

§         Significance Propagation Pass

§         Magnitude Refinement Pass

§         Cleanup Pass

 

The same steps are used during the decodification.

 

 

Which is the advantage of the subdivision into steps?

 

A similar approach leads to a more precise and refined support for SNR-scalability.

 

 

Which is the role of Arithmetic coding?

 

The information coming from the EBCOT block is coded by a particular adaptive arithmetic encoder, called MQ-coder, whose main peculiarities are the use of finite precision arithmetic and the capability to compress without using multiplications and/or divisions, thus avoiding an excessive computational load.