When the EBCOT
coding was introduced?
How does the EBCOT coding work?
How is the Rate-Allocation
problem handled?
Which are the advantages of
the PRCD?
Which is the benefit of block
coding?
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.
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.
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).
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.
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.
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.