NOVEL WORD-LEVEL ALGORITHM OF EMBEDDED BLOCK CODING IN JPEG
2000
Hung-Chi Fang, Tu-Chih Wang, Yu- Wei Chang, Ya-Yun Shih, and Liang-Gee Chen
DSP/IC Design Lab
Graduate Institute of Electronics Eng. and
Dept. of
Electrical Eng.
National Taiwan University
NO.
1,
Sec.
4,Roosevelt Road, Taipei 106, Taiwan
Phone: +886-2-23635251-332, Fax: +886-2-23681679
Email: {honchi, eric, Wayne, yayun, Igchen}@video.ee.ntu.edu.tw
ABSTRACT
In this work, a novel word-level algorithm of the embed- ded block codingin P E G 2000 is proposed. Unlike con- ventional approaches, all bitplanes of coefficients are pro- cessed in parallel in the proposed algorithm. The algorithm is based on the observations and the analysis of the signifi- cant state of a coefficient and its contribution to neighbors. As a result of the analysis, there is only the coding pass of the MSB of a coefficient is the required information for the word-level processing. An algorithm for finding the coding pass of the MSB of a coefficient is also proposed. The num- ber of scans ofthe entire code block is reduced to two scans and is independent of the number of bit planes.
1. INTRODUCTION
JPEG 2000 [I], [2] is the latest image coding standard. It
is well known by its state-of-the-art compression ability as well as its abundant features such as regionof interest (ROI), spatial scalability, signal to noise ratio (SNR) scalability and error resilience. Furthermore, it can support hi-level, gray-level, color or multiple component images and lossy or lossless coding in an unified algorithm. Although some features are also supported by JPEG [3] standard, they are provided by altering the coding algorithm to a certain ex- tent. All the features in JPEG 2000 are provided in an
unified algorithm by the arrangement of the embedded bit- streams. There are three major factors that make it possible
to combine all features together. They are discrete wavelet transform (DWT), embedded block coding with optimized truncation (EBCOT) and the JPEG 2000 syntax.
D. Tauhman proposed the EBCOT [4], [ 5 ] algorithm as the entropy coding engine for P E G 2000 coding system. A fractional bit plane coding scheme is used in EBCOT that a bit plane is divided into three coding passes. EBCOT is a two tiered coding algorithm that the embedded block coding is called tier-1 and the rate-distortion optimized rate con-
trol is called tier-2. The embedded block coding is further divided into two major parts: context formation (CF) and arithmetic encoder (AE). For each sample coefficient, some context decision pairs (XD) are generated by C F engine and coded by the AE to form the embedded bitstream.
EBCOT accounts for the most computational load in JPEG 2000 coding system [6]. There are some software implementations of JPEG 2000 coding system. Both the verification model of P E G 2000 standard [2] and Jasper [7] implement the EBCOT-tier1 algorithm in a hit plane by bit plane manner. Three scans are needed to code the three coding passes in a bit plane except the MSB bit plane of
a code block. This is not an efficient way since the central processing unit (CPU) is not good at bit-level computations. In this work, we propose a novel word-level algorithm for EBCOT tier-1. Unlike theconventional approaches, con- texts of all bitplanes of a coefficient are done in parallel and saved. After all coefficients of a code block are scanned, the embedded bitstream are formed at a time.
This paper is organized as follows. Sec. 2 explains how to do the context formation without state variables. The pro- posed word-level EBCOT algorithm is described in Sec. 3.
We compare our approach with conventional ones in Sec. 4.
Finally, we conclude this paper in Sec. 5.
2. CONTEXT FORMATION WITHOUT STATE VARIABLES
EBCOT is a fractional bit plane coding algorithm that a bit plane is divided into three coding passes. The three coding passes are called significant propagation pass (pass I), mag- nitude refinement pass (pass 2) and clean up pass (pass 3).
An n x n code block is divided into 4 x n stripes and the scan order of the coefficients is shown in Fig. 1. In the conven- tional approach, the first nonzero bit plane of the code block is scanned first, then the second one and so on. For each bit plane, three scans are needed to encode the three coding
On the other hand, the contribution of neighbor scanned prior to the central coefficient is
k
<
m,1, k = m , n p ? a = 1 . ( 3 )
{
0 , l ' otherwise4:
=Note that. p? .~ is available because s is scanned prior c. The sample coefficients located on hO, v0, dO are always scanned prior to the central coefficient while those on h I, VI and d 3 are always posterior to the central coefficient. The scan orders of sample coefficient at d l and d2 relative to the central coefficient are not always fixed. When the central coefficient is the first one in a column of the stripe, it is scanned posterior to the sample coefficient at d l ; otherwise, it is scanned prior to the one at d l . On the other hand, the central coefficient is scanned prior to the coefficient at d 2 when it is the last one in a column; otherwise, it is scanned posterior to the one at d2.
The coding pass of the k-th bit plane of the central co- efficient is
~ i1, ~
scan
. order of stripes in a of columns in a stripe.block and Scan order
Fig. 2. Context window for context formation 2, k < m ,
1, otherwise
P E = {
3, k > m , n C & = O (4) passes except the MSB which has only pass 3. Therefore,the number of scans required to finish a code block with n where m, denotes the bit plane number of MSB of c
nonzero bitplanes is 3 x (n - 1)
+
1. To explore detailed operation of the M Q coder, the reader is referred to [51. We elaborate how to find the coding pass and d o the context formation without State variables in the following sections,2.2. Context Formation
The context are formed according to the contributions of
significant states of the neighboringcoefficients. These con-
tributions
are
abbreviated as H V D . We define twonew
variables, A i and!ct,
as2.1. Coding Pass Classification
Let ps denote the DWT coefficient where the suffix denotes its position as shown in Fig. 2. The sample coefficient lies at c i s the one to be coded. Let pk be the coding pass of the k- th bit plane of the central coefficient. It is determined by the contributions of its neighbors at bit plane k and the relative position of the MSB and k. The contribution of a neighbor- ing coefficient at s to the k-th bit plane is represented by
4:.
For the neighbor whose scan order is posterior to the cen- tral coefficient, its contribution is determined on the related position of k and its MSBwhere
where m, is defined in ( 3 ) .
2.2. I . Magnitude coding
Let
crt
denote the contribution of the k-th bit plane of the sample coefficient located at s with respect to the central co- efficient. The group contribution data, H V D , for the con- text modelling can be obtained byH' =
For the sample coefficient scanned prior to the central coef- ficient, the contribution is given by
For the sample coefficient scanned posterior to the central coefficient, the contribution is given by
2.2.2. Sign Coding
Let
x.
denote the sign of the sample p s , where “I” stands for negativecoefficient. We define two variables, a. and08,
ask
where A t and K: are defined in ( 5 ) and (6), respectively. Note that the value of a, or
p.
is either zero or one because there is at most one nonzero tct9 which is one. The contri- bution of the coefficient prior to the central coefficient for sign coding is03
= 0otherwise
U: =
{
’:p 8 = i n p p = 3 n p ? = i
(14) where m, denotes the MSB of the central coefficient. The contribution of the coefficient posterior to the central coef- ficient for sign coding isP.
= 0U : =
{
1, p s = i n p p = i n p y c = 3.
(15);
’
otherwisecoding,
HX
or V x , is shown in table 1.The truth table of the group contribution data for sign
3. NOVEL WORD-LEVEL EBCOT ALGORITHM
Based on the equations derived in previous section, a new word-level EBCOT algorithm is proposed. The coding flow is shown in Fig. 3. All the coefficients in the code block are pre-scanned before context formation. The coding pass of the MSB of every coefficient is found and stored during pre-scan. Note that the MSB will be coded only in pass
1 or pass 3. We use a binary flag, say p y a , to represent whether it belongs to pass 1. The context of all bitplanes of a coefficient is formed at the same time when it is scanned. Finally, all contexts are processed by the arithmetic encoder at a time.
Table 1. Truth table of H X and V x for sign coding.
” 1 0
0
X 1 0 X 1 0 1 1 I 1 0 0 I 0 1 1 0 0 X 0 X 0 1 1 1 I - 1 1 I 0x
- 1 0 X I I -1 3.1. PrescanThe coding pass of MSB of the central coefficient is deter- mined by
0 m,
5
m,,Vs 1 otherwise When p? is found, m, must he updated asm, = ( p y == l)?m,
+
1 : m, (17) for future references. The updating process simplifies the computations of the pmc of coefficients scanned after this coefficient.3.2. Context Formation
The pseudo-code for computing the H contribution is shown in Fig. 4. The number N represents the number of non-zero bitplanes of the code block. The approaches to get V and
D
contributions are similar to H. The pseudo-code for com- puting the H contribution of sign coding is shown in FigS. It is exactly the same for computing the V contribution. Af-
ter the HVD data of the four coefficients in a column is acquired, the contexts are formed.
Fig. 3. Flow chart of the proposed word-level EBCOT tier- 1
algorithm.
I* hO does not contribute to c at bit plane > % *I
for ( k = N-1; k > q. ; k-- )
h[kl P 0;
I* conditions that hO contributes to c at % *I
if else
( p”’ I = 0 h h RO”.O I = 0 ) //Onleanspass3
h[kl = 0;
hIkl = 1;
I* hO contributes to c at every bit plane < Q *I
for ( k = q o - l ; k >= 0 ; k-- )
hIkl = 1;
I* conditions that h l contributes to c at q, *I
if ( p=-= I = 1 h h %x”” == 1 )
hIkl++;
/* h l contributes to c a t every bit plane < q, *I
for ( k = s - 1 ; k Z = 0 , ; k - - , ) hIkl++;
Fig. 5. Pseudo-code for computing the H contribution of sign coding.
4. COMPARISONS
The proposed word-level EBCOT tier- 1 algorithm needs only two scans for every coefficient to finish a code block while it needs 3 x (N- 1)
+
1 scans in conventional approaches. Al- though there are some fast algorithms proposed, the lower bound is N for bit-level algorithm. The memory require-ment of the proposed algorithm is higher than that of con- ventional approaches. The state variables in conventional approaches are not required in the proposed algorithm. The only state variable of the proposed algorithm is p i , which is an one-bit flag. The additional memory requirement comes from the context-decision pairs since AE must processes them bit plane by hit plane. We can prevent from storing these information by choosing parallel mode. The perfor- mance of parallel mode is about 0.2dB lower than that of default mode. However, code-stream
of
parallel mode is more robust to errors than default mode.5. CONCLUSIONS
In this paper, we proposed a novel word-level EBCOT tier- I algorithm of P E G 2000. By analyzing the significant state of a coefficient, a fast algorithm to find the coding pass of the MSB of a coefficient is proposed. The proposed algo- rithm can finish encoding a code block by only two scans of code block coefficients. The memory requirement of the proposed algorithm is higher than that in others. However, the size of memory is not critical in software implementa- tion in today’s technology.
6. REFERENCES
[l] ISOIIEC JTClISC29IWGI N1855, JPEG 2000 Part I: Final Draji International Standard (ISO/IEC FDIS15444-1), Aug. 2000.
[2] ISOIIEC JTCIISC291WGI N1646, JPEG2000 Verif- [3]
W.
Pennebaker and J. Mitchell, JPEG: Stiff Image Data Compression Standard.. New York: Van Nostrand Reinhold, 1992.cation Model 5.2 (Technical Description), Oct. 1999.
[4] D. Taubman, “High Performance Scalable Image Com- pression with EBCOT,” IEEE Trans. Image Processing,
pp. 1158-1 170, July 2000.
(51 D. Taubman, E. Ordentlich. M. Weinberger, and G. Serourssi, “Embedded Block Coding in P E G 2oOO:’ in Pmc. IEEE Int. Conf Image Processing ( K I P 2000). 2000, pp. 33-36.
[6] K. E Chen, C. J. Lian, H. H. Chen, and L. G. Chen, “‘Analysis and Architecture Design of EBCOT for PEG-2000,” in IEEEE Int. Symp. Circuits and Sys-
tems (ISCAS 2001). 2001, pp. 765-768.
[7] M. D. A d a m and E Kossentini, “Jasper: A software- based jpeg-2000 codec implementation,” in Proc. IEEE Int. Conf Image Processing ( K I P 2000). 2000, pp.