
 
(JASTEG2000 website) and experimentally 
evaluated. In the worst cases, it gets up to 35%-45% 
embedding rate with approximately 2 dB of 
distortion, and up to 30%-40% embedding rate with 
less than 4 dB of distortion, when applied on 
benchmarks coded at 0.5 bpp and 1.0 bpp, 
respectively. These results outperform those 
achieved by other existing methods. In particular, we 
will show that our method produces much less post-
embedding growth, getting a considerably lower 
distortion, than JPEG2000-BPCS.  
2  JPEG2000 STANDARD  
JPEG2000 is a powerful coding technique for still 
images, standardized as ISO 15444 in 2001. It 
achieves impressive compression ratios even holding 
a good image quality, overcoming the classical 
JPEG. The key of this performance are the wavelets, 
which constitute, in JPEG2000, the counterpart of 
the Discrete Cosine Transform (DCT) in JPEG. 
Wavelets (S. G. Mallat, 1989) use complex base 
functions, with some coarse features akin to sine 
waves. They also contain some detailed features like 
pulse codes, thereby creating a set of fuzzy pixels 
with variable-sized features, as opposed to DCT's 
one-size-fits-all sine waves. Other interesting 
(sometimes innovative) features of JPEG2000 are: 
-  it offers both lossless and lossy coding; 
- it allows of modifying and coding any region of 
the image, directly working on the compressed data 
stream; 
- it introduces the concept of Region of Interest 
(ROI) of an image; 
-  it allows a flexible bitstream ordering; 
- it has an improved error resilience of the 
codestream; 
- it provides a localized random access into an 
image; 
-  it grants an efficient and accurate rate control. 
More in detail, the processing steps of JPEG2000 
are:  
(a) DC-Shifting
: This step is applied on the 
components having only positive values. It shifts the 
range of these components from [0, 2
n
-1] to [-2
n-1
+1, 
2
n-1
],  n  being the number of bits used for that 
component. 
(b) Multi-Component Transform
: This step is 
needed in case of color images. It un-correlates the 
color components either into YUV space (in case of 
lossless coding) or into YCbCr space (in case of 
lossy coding). 
(c) Discrete Wavelet Transform (DWT)
: DWT is 
the cornerstone of JPEG2000. The best way to 
represent a signal using wavelets is to scan the entire 
image for the “mother wave” that best represents 
that particular image. However, this “mother wave” 
would have to be attached to the image data, thereby 
increasing the size of the compressed file. Instead, 
JPEG2000 adopts an universal mother wave ahead 
of time, eliminating the need to send it along with 
the file. These ones are LeGall 5/3 (for lossless 
coding) and Daubechies 9/7 (for “lossy” coding). 
(d) Quantization
: Scalar and uniform 
quantization is applied on DWT coefficients. The 
standard does not specify thresholds values, since 
these ones can be decided by the user, basing on the 
particular case. Anyway, the standard proposes a 
method for determining them. 
(e) ROI Scaling
: This is an optional functionality 
in which, the wavelet coefficients related to regions 
that the user has indicated as “relevant” are scaled 
up. By this way, these Regions Of Interest (ROI) 
gain quality during the next coding steps. 
(f) EBCOT (Tier 1)
: In JPEG 2000, coding is 
performed in two steps (tiers). In tier 1, the 
quantized coefficients of each subband are 
partitioned into codeblocks. These ones are 
independently coded using an Embedded Bit-planes 
Coding with Optimized Truncation (EBCOT).  
(g) EBCOT (Tier2)
: Tier 2 optimally truncates 
the bit-stream of each codeblock minimizing the 
distortion due to the bit-rate constraint. Firstly, 
candidate truncation points are selected in the 
convex hull of the rate-distortion curve. Afterward, 
when some codeblocks are collected, and a statistic 
is available, the truncation point is selected among 
these candidates in order to minimize the distortion. 
In JPEG2000, this step produces information loss, 
as well as quantization. 
3 A STEGANOGRAPHIC 
METHOD FOR JPEG2000 
When steganography is applied to classical codecs 
(e.g., JPEG), the embedding is generally cascaded to 
the quantization, since this one is the main (and 
often, the unique) lossy step. Nevertheless, this 
approach is unsuitable for JPEG2000. In fact, in this 
standard, the quantized coefficients can successively 
be truncated in EBCOT Tier 2 in order to match a 
particular bit rate, that the user could have required. 
Therefore, steganography when applied to 
JPEG2000 cover images needs a “down-coding/up-
decoding” scheme, as that one shown in Fig. 1. In it, 
SECRYPT 2006 - INTERNATIONAL CONFERENCE ON SECURITY AND CRYPTOGRAPHY
330