Download (direct link):
188.8.131.52 Tier-1 Coding In Tier-1 coding, the code-blocks are encoded independently. If the precision of the elements in the code-block is p, then the code-block is decomposed into p bit-planes and they are encoded from the most significant bit-plane to the least significant bit-plane sequentially. Each bit-plane is first encoded by a fractional bit-plane coding (BPC) mechanism to generate intermediate data in the form of a context and a binary decision value for each bit position. In JPEG2000 the embedded block coding with optimized truncation (EBCOT) algorithm  has been adopted for the BPC. EBCOT encodes each bit-plane in three coding passes, with a part of a bit-plane being coded in each coding pass without any overlapping with the other two coding passes. That is the reason why the BPC is also called fractional bit-plane coding. The three coding passes in the order in which they are performed on each bit-plane are significant propagation pass, magnitude refinement pass, and cleanup pass. The algorithm is very complex and we have devoted a complete chapter on this with a number of examples to aid the reader in better understanding of the algorithm. The details of these coding passes and the EBCOT algorithm are dealt with in Chapter 7.
158 JPEG2000 STANDARD
The binary decision values generated by the EBCOT are encoded using a variation of binary arithmetic coding (BAC) to generate compressed codes for each code-block. The variation of the binary arithmetic coder is a context adaptive BAC called the MQ-coder, which is the same coder used in the JBIG2 standard to compress bi-level images . The context information generated by EBCOT is used to select the estimated probability value from a lookup table and this probability value is used by the MQ-coder to adjust the intervals and generate the compressed codes. JPEG2000 standard uses a predefined lookup table with 47 entries for only 19 possible different contexts for each bit type depending on the coding passes. This facilitates rapid probability adaptation in the MQ-coder and produces compact bitstreams.
The basic principles behind arithmetic coding and binary arithmetic coding are given in greater detail in Chapter 2. The working principles and detail flowchart (algorithm) for implementation of the MQ-coder are presented in Chapter 7.
6.7 TIER-2 CODING AND BITSTREAM FORMATION
After the compressed bits for each code-block are generated by Tier-1 coding, the Tier-2 coding engine efficiently represents the layer and block summary information for each code-block. A layer consists of consecutive bit-plane coding passes from each code-block in a tile, including all the subbands of all the components in the tile. The concept of layer and other constructs used in the JPEG2000 standard is discussed with examples in Chapter 7. The block summary information consists of length of compressed code words of the codeblock, the most significant magnitude bit-plane at which any sample in the code-block is nonzero, as well as the truncation point between the bitstream layers, among others. The decoder receives this information in an encoded manner in the form of two tag trees. This encoding helps to represent this information in a very compact form without incurring too much overhead in the final compressed file. The encoding process is popularly known as Tag Tree coding. The details of this Tag Tree coding algorithm with examples and further details of the bitstream formation methodology are discussed in Chapter 7.
Details of the code-stream organization and the file format for JPEG2000 Part 1 are discussed in Chapter 8.
In this chapter, we presented an overview of the JPEG2000 standard for image compression. We discussed different salient features of the new JPEG2000 standard and how they influence vast applications areas. We introduced different parts of the standard. The core coding system in JPEG2000 has been
defined in Part 1 of the standard. We dealt in great length with the underlying principles and algorithms for the Part 1 core coding system for JPEG2000 standard. The whole compression system can be divided into three phases— image preprocessing, compression, and compressed bitstream formation. In this chapter, we first discussed the concepts behind the preprocessing functionalities, including tiling of the input image, DC level shifting, and multicomponent transformation, before the actual compression takes place. We discussed the implementation issues of the discrete wavelet transform supported by the JPEG2000 Part 1 standard including the symmetric extension at the boundary of the signals both for lossless and lossy compression. Theoretical foundation of the discrete wavelet transform and its implementation issues were elaborated on earlier in Chapter 4. In lossy compression mode, a dead-zone scalar quantization technique is applied on the wavelet coefficients. The concept of region of interest coding allows one to encode different regions of the input image with different fidelity. We discussed the region of interesting coding can be achieved in terms of simply scaling the wavelet coefficients, and demonstrated some examples. The entropy coding and the generation of compressed bitstream in JPEG2000 are divided into two coding steps: Tier-1 and Tier-2 coding. We introduced the Tier-1 coding step in entropy encoding based on a fractional bit-plane coding scheme (EBCOT) and an adaptive binary arithmetic coding (MQ-coder). The Tier-2 coding and the bitstream formation concept was introduced in this chapter. The details of the algorithms for both the Tier-1 coding and the Tier-2 coding are presented in greater detail in Chapter 7. In Chapter 8, we discuss the actual code-stream organization and file format for the JPEG2000 Part 1 standard. We introduce other parts of the standard in Chapter 10.