Bit-Plane Decomposition Steganography Combined with JPEG2000 Compression Hideki Noda1 , Jeremiah Spaulding1 , Mahdad N. Shirazi2 , Michiharu Niimi1 , and Eiji Kawaguchi1 1
Kyushu Institute of Technology Dept. of Electrical, Electronic and Computer Engineering 1-1 Sensui-cho, Tobata-ku, Kitakyushu, 804-8550 Japan {noda,jerry,niimi,kawaguch}@know.comp.kyutech.ac.jp http://www.know.comp.kyutech.ac.jp/ 2 Communications Research Laboratory Keihanna Human Info-Communications Research Center 2-2-2 Hikaridai, Seika-cho, Soraku-gun, Kyoto, 619-0289 Japan
[email protected]
Abstract. This paper presents a steganography method based on JPEG2000 lossy compression scheme and bit-plane complexity segmentation (BPCS) steganography. In JPEG2000 compression, wavelet coefficients of an image are quantized into a bit-plane structure and therefore BPCS steganography can be applied in the wavelet domain. The proposed JPEG2000-BPCS steganography was implemented using JJ2000 Java software of JPEG2000 compression, with which the program module for BPCS steganography was integrated. The proposed steganography enables us to use JPEG2000 lossy compressed images as dummy files for embedding secret data. Embedding rates of around 15% of the compressed image size were achieved for pre-embedding 1.0bpp compressed images with no visually noticeable degradation in image quality.
1
Introduction
Communication between two parties over long distances has always been subject to interception. This led to the development of encryption schemes and there are many good encryption protocols in use today. Encryption schemes achieve security basically through a process of making a message unintelligible so that those who do not possess necessary keys cannot recover the message. Though encryption can hide the content of a message, the existence of an encrypted communication in progress can not be hidden from a third party. Also if the third party discovers the encrypted communication, they might be able to decipher the message. The need to avoid this led to the development of steganography schemes which compensate encryption by hiding the existence of a secret communication. Steganography provides good security in itself and when combined with encryption becomes an extremely powerful security tool. All steganographic techniques share the same basic premise: they take a media and by modifying it in a subtle way, create meaning in it that can only be F.A.P. Petitcolas (Ed.): IH 2002, LNCS 2578, pp. 295–309, 2003. c Springer-Verlag Berlin Heidelberg 2003
296
Hideki Noda et al.
understood after a knowledgeable party examines it in a special way. The media that is to be modified is usually referred to as container, or dummy. This container may be a digital still image, an audio file, a video file, or even a printed image. Once the data has been embedded, it may be transferred across insecure lines or posted in public places. The most important properties of steganography schemes are undetectability, perceptual transparency, and capacity. The challenge is to embed as much data as possible with no noticeable degradation of the dummy media and/or with undetectable statistical changes of the dummy media under possibly attempted statistical tests. Among various steganographic techniques, the least significant bit (LSB) embedding technique is the simplest and the most commonly used one [1, 2]. It is based on bit-plane decomposition1 of the dummy image and replacement of the binary data in the least significant bit-planes with secret binary data. In a previous work, we presented a sophisticated steganography method, called bit-plane complexity segmentation (BPCS) steganography, which makes use of bit-plane decomposition and the characteristics of the human vision system [4]. Noting that the human eye cannot perceive any shape information in a complex binary pattern, we can replace noise-like regions in the bit-planes of a dummy image with secret data without visually noticeable deterioration of image quality. BPCS steganography has proven to be very effective in embedding data into many classes of dummy files including 8-bit gray images [4], 24-bit true color images [5] and 8-bit indexed color images [6]. BPCS steganography has also been successfully applied to mono and stereo digital audio files [7]. The benefits of this technique over the traditional steganography techniques are the very large percentage (30%-50%) of the dummy file that can be replaced with secret data and the lower occurrence of visual artifacts in the post-embedding image. In reality, most media files are stored and transmitted in lossy compressed formats and so there is a need for steganography techniques which are capable of hiding data in compressed dummy files. There have been very few steganographic techniques which consider compression of dummy files, i.e., steganography applicable to lossy compressed images [8, 9, 10]. Kataoka et al. [8] presented a data embedding method which is based on an adaptive discrete cosine transform (ADCT) encoding of images. Kobayashi et al. [9] presented a method for embedding data into JPEG bitstreams through a scheme which modifies the quantization phase of JPEG algorithm. However the embedding rate ((embedded data size)/(compressed image file size)) of these methods is very limited (around 2%). Chung et al. [10] presented an image hiding scheme based on singular value decomposition (SVD) and vector quantization (VQ) methods. However it is effective only for hiding one image’s data in a dummy image. Moreover, SVD and VQ are not viable techniques for compressing images. BPCS steganography, though promising due to its high data embedding capability, is not robust with respect to lossy compression of dummy image, as are all other bit-plane-based steganography methods. Lossy compression of an embed1
For example, an n-bit image can be decomposed into a set of n binary images by bit-slicing operations [3].
Bit-Plane Decomposition Steganography
297
ded dummy image can easily lead to destruction of the embedded information. To deploy the merits of BPCS steganography technique, in a practical scenario where the dummy image should be compressed before being transmitted over the network, we propose a steganography technique which is based on JPEG2000 lossy compression standard [11, 12] and BPCS steganography scheme. In the JPEG2000 compression, wavelet coefficients of an image are quantized into a bit-plane structure and therefore BPCS steganography can be applied in the wavelet domain. The proposed method provides a significant integration noting that the JPEG2000 lossy compression scheme forms the state-of-the-art standard for image compression, the BPCS steganography method has a noticeably large capacity as compared to alternative steganography methods, and that it provides a solution to the aforementioned problem associated with bitplane-based steganography methods. We call the proposed method JPEG2000BPCS steganography. A rich set of features that only JPEG2000 can provide brings additional benefits to the JPEG2000-BPCS steganography. Note that JPEG2000 lossy compressed images become available as dummy data in the proposed method but another lossy compression applied to an already embedded dummy image can still easily destroy the embedded information. The rest of this paper is organized as follows. In Section 2, necessary background on BPCS steganography is given, followed by information on JPEG2000 compression standard in Section 3. In Section 4, BPCS steganography combined with JPEG2000 compression scheme is presented. The paper continues with experiments done with an implementation of the JPEG2000-BPCS steganography in Section 5. Conclusions are addressed in Section 6.
2
BPCS Steganography
BPCS steganography addresses the embedding limit by working to disguise the visual artifacts that are produced by the steganographic process. Optometric studies have shown that the human vision system is very good at spotting anomalies in areas of homogenous color, but less adept at seeing them in visually complex areas. When an image is decomposed into bit-planes, the complexity of each region can be measured. Areas of low complexity such as homogenous color or simple shapes appear as uniform areas with very few changes between 1 and 0. Complex areas such as a picture of a forest would appear as noise-like regions with many changes between 1 and 0. These random-seeming regions in each bit-plane can then be replaced with hidden data, which is ideally also noiselike. Because it is difficult for the human eye to distinguish differences between the two noise-like areas, we are able to disguise the changes to the image. Additionally, since complex areas of an image tend to be complex through many of their bit-planes, much more data can be embedded with this technique than with those that are limited to only the lowest planes. In BPCS steganography, the complexity of each subsection of a bit-plane is defined as the number of non-edge transitions from 1 to 0 and 0 to 1, both horizontally and vertically. For any square of n × n pixels, the maximum complexity
298
Hideki Noda et al.
(a)
(b)
Fig. 1. Noise-like patch (a) and informative patch (b): (a) complexity 68, (b) complexity 29 is 2n(n − 1) and the minimum is of course 0. In Fig. 1, white represents a one and black a zero. Both squares, or patches, have the same number of ones and zeros, but very different complexities. This shows that one contains much more visual information than the other. The complex patch (a) has very little visually informative information, therefore it can be replaced with secret data and have a very small effect on the image’s quality. However, if the more visually informative patch (b) was replaced, it would cause noise-like distortion of the definite edges and shapes. A typical procedure for data hiding in BPCS steganography is summarized as follows. (1) Segment each bit-plane of a dummy image into small size, for example 8 × 8, blocks. Then classify these blocks into informative and noise-like blocks using a threshold of the complexity denoted by α0 . A typical value of α0 is 0.3αmax , where αmax is the maximum possible complexity value. (2) Segment a secret file into a series of blocks each containing 8 bytes of data. These blocks (which we call secret blocks) are regarded as 8 × 8 binary images. (3) If a secret block is less complex than the threshold α0 , conjugate it to make it more complex. Here the process called conjugation, which guarantees that any secret data can be embedded, is the exclusive OR operation with a checkerboard pattern. The relation α∗ = αmax − α holds true [4], where α and α∗ are the complexity of a given image and that of the conjugated image, respectively. (4) Replace each noise-like block in the bit-planes with a block of secret data. If the block is conjugated, then record this fact in a conjugation map. (5) Also embed the conjugation map in the same way as the secret blocks. The decoding procedure to extract the embedded secret data is just the reverse of the embedding procedure. In the decoding process, the complexity threshold α0 and the amount of secret data need to be known. The amount of secret data can be embedded into a specific place in the dummy file.
Bit-Plane Decomposition Steganography
299
This technique works very well with natural images, as they tend to have many areas of high complexity. Images with many complex textures and well shaded objects usually have a high embedded data capacity. BPCS steganography works much less well with computer generated images and line art, as those classes of images tend to have large areas of uniformity and sharply defined border areas. With these types of images, there is very little complexity to exploit and any changes tend to generate very visible artifacts. This is one of the flaws that BPCS steganography shares with traditional steganography. Another shared flaw is the fragility of the secret data with respect to changes in the post-embedding image. Any lossy compression will corrupt the hidden data, as will most transformations and filters. Since this makes the hidden data very vulnerable to any destructive attack, BPCS steganography is almost useless for watermarking purposes. However, depending on the desired application, this property may actually be a benefit. In the realm of data hiding, it can be a good thing, allowing for easy destruction of the secret message after completing the extraction of the embedded message. This allows retention of the dummy image, which is now completely innocent.
3
JPEG2000 Compression Standard
JPEG2000 encoder consists of several fundamental components: pre-processing, discrete wavelet transform (DWT), quantization, arithmetic coding (tier-1 coding), and bit-stream organization (tier-2 coding) [11, 12] (see the left part of Fig. 2). JPEG2000 can handle input images with an arbitrary number of components (1 to 16384). Pre-processing includes intercomponent transformation for multi-component images, typically color images. After the DWT is applied to each component, wavelet coefficients are quantized uniformly with deadzone. After the quantization step, an optional step to realize a functionality called region of interest (ROI) can be added. The ROI is realized by scaling up the wavelet coefficients in the relevant regions. The quantized wavelet coefficients are then bit-plane encoded by arithmetic coding. In JPEG2000, each subband of the wavelet transformed image is encoded independently of the other subbands. Furthermore, each subband is partitioned into small blocks called codeblocks, and each codeblock is independently encoded by the embedded block coding with optimized truncation (EBCOT) algorithm [13]. This procedure is absolutely different from other well-known embedded wavelet coders such as EZW [14] and SPIHT [15]. The independent encoding of codeblocks provides many advantages such as localized random access into image, improved error resilience, efficient rate control, and flexible bit-stream ordering. The quantized wavelet coefficients in a codeblock are bit-plane encoded in the way that each bit-plane is encoded by three passes with arithmetic coding: significance propagation pass, refinement pass, and cleanup pass. This arithmetic coding of the bit-plane data is referred to as tier-1 coding. The compressed data from the codeblocks are organized into units called packets and layers in tier-2 coding. A precinct is a collection of spatially con-
300
Hideki Noda et al.
tiguous codeblocks from all subbands at a resolution level. The compressed data from the codeblocks in a precinct constitutes a packet. A collection of packets from all resolution levels constitutes a layer. Therefore a layer corresponds to one quality increment for the entier full resolution image. In JPEG2000, different types of progression orders are possible and a typical one is layer-resolutioncomponent-position progression. Once the entire image has been compressed, a rate-distortion optimized bit-stream is generated for a target file size (bit rate).
4 4.1
BPCS Steganography Combined with JPEG2000 Compression BPCS Steganography in Wavelet Domain
This paper proposes a method of embedding secret data into JPEG2000 lossy compressed images using the previously described BPCS steganography. In the JPEG2000 compression, the wavelet coefficients of an image are quantized into a bit-plane structure and therefore BPCS steganography can be applied in the wavelet domain. The wavelet coefficients have many image-like properties, and BPCS steganography is ideal for exploiting them. The main properties leveraged for BPCS steganography are: – Correspondence: Spatial areas in each section of the coefficient subbands correspond directly to areas in the original image. – Complexity: The bit-planes at corresponding significance levels of the wavelet coefficients and the original image are usually proportionally complex. – Resilience: Changes in the values of the wavelet coefficients do not create disproportionately large changes in the reconstructed image. The property of correspondence states that in each subband of the wavelet coefficients, any subsection of that subband directly corresponds to a section of the original image. This is a scaled relationship, as the subbands decrease in size by a factor of two with each iteration of the multi-scale DWT. For example, an 8 × 8 patch of pixels in the original image corresponds to a 4 × 4 patch of pixels in the finest (first scale) subband. This allows the same complexity metrics to be used on the wavelet coefficients as are used on the original image. In the wavelet coefficients, the complexity of any subsection is related to the complexity of the corresponding subsection of the original image. While the amount of complexity in the wavelet coefficients is very important, the distribution of the complexity is also important. In the wavelet coefficients, the bits are ordered in decreasing significance, just as in the original image. Because of this, bit-planes tend to become more complex towards the least significant bits. This is good for BPCS steganography because this is where changes will have the smallest impact. The capacity of a container image is limited not only by its complexity, but by the decoder’s resilience to changes made in the coefficients. Resilience indicates
Bit-Plane Decomposition Steganography
301
Image Data
Pre-Processing
DWT Secret Data
Secret Data
Quantization
BPCS (Extraction)
BPCS (Embedding)
ROI Scaling
ROI Descaling
ROI Scaling
Arithmetic Encoder (Tier-1 Coding)
Arithmetic Decoder (Tier-1 Decoding)
Arithmetic Encoder (Tier-1 Coding)
Bit-Stream Organization (Tier-2 Coding)
Bit-Stream Unorganization (Tier-2 Decoding)
Bit-Stream Organization (Tier-2 Coding)
Bit-Stream
Bit-Stream (Embedded)
Fig. 2. A flowchart of data embedding and extraction in JPEG2000-BPCS steganography
the ability of the wavelet coefficients to absorb changes in value without changing the final image. The more resilient they are, the more changes that can be made and thus the more data that can be embedded. The inverse DWT is quite resilient to small changes in the coefficient values, and large changes experience a blending and blurring effect. This property is extremely useful for BPCS steganography, as many slight changes in the coefficients are blended out and result in little visual impact on the reconstructed image.
302
4.2
Hideki Noda et al.
JPEG2000-BPCS Steganography
Basically, secret data can be embedded in the bit-plane representation of the quantized wavelet coefficients after quantization step, provided that the ratedistortion optimization of JPEG2000 is bypassed. However, this procedure, which determines the optimal number of bit-planes for a given bit rate, is an essential part of the codec which contributes to its high compression efficiency. Thus, to avoid compromising the compression efficiency of JPEG2000, data embedding by BPCS is decided to be performed right after ROI descaling in decoding process where the optimal bit-plane structure for a given bit rate is available. The procedure for data embedding and extraction in JPEG2000-BPCS steganography is shown in Fig. 1. The entire process to embed data in JPEG2000-BPCS steganography follows the solid line arrows shown in Fig. 2. An image is encoded into JPEG2000 bitstream, whose size can be set almost exactly to a target bit rate (bit per pixel; bpp). The encoding process is shown in the left part of Fig. 2; from pre-processing to bit-stream organization. The JPEG2000 bit-stream (compressed image file) is then decoded, but decoding is halted right after ROI descaling (see steps from bit-stream unorganization to ROI descaling in the middle part of Fig. 2). The data at this point is a set of quantized wavelet coefficients. Using these quantized wavelet coefficients, bit-planes for the wavelet coefficients can be constructed and used to embed secret data with BPCS steganography (see the top box of the right part in Fig. 2). The quantized wavelet coefficients modified by embedding are then subjected to JPEG2000 encoding again (see steps from ROI scaling to bit-stream organization in the right part of Fig. 2), which produces secret-dataembedded JPEG2000 bit-stream. Data embedding into an already compressed JPEG2000 file is also possible. In this case, the process starts with a JPEG2000 compressed image, i.e., a bit-stream from the bottom of the middle part in Fig. 2 and follows the same process as the aforementioned one. The data extraction procedure follows the dashed arrows in the middle part of Fig. 2. JPEG2000 decoding of the secret-data-embedded bit-stream starts from bit-stream unorganization and is halted right after ROI descaling. At this point, extraction of secret data is carried out by the BPCS method using quantized wavelet coefficients. That is, the BPCS method can extract secret data from the bit-planes of the quantized wavelet coefficients. Generally the data extraction starts after the entire file of the bit-stream has been received. Error detection measures, such as embedding the amount of secret data as described in Section 2, can be used to check whether the bit-stream has been truncated in transit.
5
Experimental Results
We implemented the JPEG2000-BPCS steganography algorithm by integrating our program module for BPCS steganography with the Java implementation of JPEG2000 compression standard produced by JJ2000 [16]. The algorithm was tested on several standard images including “Lena”, “Barbara” and “Mandrill”. “Lena” and “Barbara” are 8bpp gray images and “Mandrill” 24bpp true color
Bit-Plane Decomposition Steganography
303
image, all of which were 512 × 512 pixels in size. A 5-scale wavelet transform with the Daubechies 9/7 filter was applied to images. Here 4 × 4 patch size was used as an embedding unit and random binary data was used as secret data. In the implementation of JPEG2000-BPCS steganography, an error correction scheme was devised to decrease the distortion of a data-embedded image. As data is being embedded into the wavelet coefficients, each bit that is used for embedding is recorded. After all the data has been embedded, the bits of each coefficient that have not been used are changed to bring the new value of the coefficient as close to the original value as possible. The change of bits is only allowed unless the change makes the complexity value for the relevant patch larger than the complexity threshold for embedding. The effectiveness of the error correction scheme is shown in Fig. 3, which was obtained by experiments using 1.0bpp compressed “Barbara” as a dummy data and using the first three least significant bit-planes for embedding. 9 data points within each line in Fig. 3 were obtained by changing the complexity threshold α0 from 2 to 10. The PSNR with the error correction increased by about 1.7 dB. In the following embedding experiments, the error correction was always applied.
40
with error correction without error correction 35
1 plane
PSNR(dB)
1 plane 2 planes 30
2 planes
3 planes
3 planes
25
20
0
5
10
15 20 25 Embedding Rate (%)
30
35
40
Fig. 3. Effectiveness of error correction scheme in JPEG2000-BPCS steganography
304
Hideki Noda et al.
Experimental results are shown in Fig. 4 and Table 1 for “Lena”, Fig. 5 and Table 2 for “Barbara”, and Fig. 6 and Table 3 for “Mandrill”. In these figures and tables, (a)s are 0.5bpp JPEG2000 compressed images, (b)s are embedding results using (a)s with no noticeable degradation in image quality. Similarly, (c)s and (d)s are relevant results, using 1.0bpp compressed images. Note that the compression rate for color “Mandrill” image is in fact three times less than those for the other gray images. Generally, the proposed JPEG2000-BPCS steganography was able to achieve embedding rates of around 9% of the final compressed image size for pre-embedding 0.5bpp compressed images, and 15% for pre-embedding 1.0bpp compressed images with no noticeable degradation in image quality.
Table 1. Experimental results for “Lena” image # planes used complexity embedded data compressed file PSNR (bytes) (bytes) (dB) for embedding threshold α0 (a) 16381 37.2 (b) 1 8 1724 20359 36.0 (c) 33745 40.5 (d) 2 8 6062 43419 37.1
Table 2. Experimental results for “Barbara” image # planes used complexity embedded data compressed file PSNR (bytes) (bytes) (dB) for embedding threshold α0 (a) 16588 32.3 (b) 1 8 2412 21532 30.7 (c) 32581 37.1 (d) 2 8 7332 43283 31.9
Table 3. Experimental results for “Mandrill” image # planes used complexity embedded data compressed file PSNR (bytes) (bytes) (dB) for embedding threshold α0 (a) 16344 23.1 (b) 1 8 1464 20238 22.5 (c) 32580 25.1 (d) 2 8 6698 43797 23.3
Bit-Plane Decomposition Steganography
(a)
(b)
(c)
(d)
305
Fig. 4. Experimental results for “Lena”: (a) JPEG2000 compressed image (0.5bpp), (b) 8% embedded into (a), (c) JPEG2000 compressed image (1bpp), (d) 14% embedded into (c)
306
Hideki Noda et al.
(a)
(b)
(c)
(d)
Fig. 5. Experimental results for “Barbara”: (a) JPEG2000 compressed image (0.5bpp), (b) 11% embedded into (a), (c) JPEG2000 compressed image (1bpp), (d) 17% embedded into (c)
Bit-Plane Decomposition Steganography
(a)
(b)
(c)
(d)
307
Fig. 6. Experimental results for “Mandrill”: (a) JPEG2000 compressed image (0.5bpp), (b) 7% embedded into (a), (c) JPEG2000 compressed image (1bpp), (d) 15% embedded into (c)
308
6
Hideki Noda et al.
Conclusions
This paper presented a solution to the problem of hiding data into compressed media files, an issue which can not be ignored noting that most media are stored and transmitted over networks in compressed formats. The proposed scheme is based on a seamless integration of BPCS steganography technique with the JPEG2000 image compression standard, while keeping untouched all the features of the standard. The JPEG2000-BPCS steganography will allow the access of many more people to the benefits of BPCS steganography due to the success and popularity of the JPEG2000 which has many desirable features including high compression rates and scalability. Embedding rates of around 15% of the compressed image size were achieved for pre-embedding 1.0bpp compressed images with no noticeable degradation in image quality. We should note that the JPEG2000-BPCS scheme is not robust with respect to lossy compression in the sense that lossy compression of an already embedded and compressed dummy image can still easily destroy the embedded information. Works are under progress to address this issue as well as the extension of the proposed method to motion JPEG2000 compressed video.
Acknowledgement This work was partly supported by the Mazda Foundation’s Research Grant.
References [1] Katzenbeisser, S., Petitcolas F. A. P.: Information Hiding Techniques for Steganography and Digital Watermarking. Artech House (2000) 296 [2] Wang, R. Z., Lin, C. F., Lin, J. C.: Image Hiding by Optimal LSB Substitution and Genetic Algorithm. Pattern Recognition, Vol. 34 (2001) 671-683 296 [3] Jain, A. K.: Fundamentals of Digital Image Processing. Prentice Hall (1989) 296 [4] Niimi, M., Noda, H., Kawaguchi, E.: A Steganography Based on Region Segmentation by Using Complexity Measure. Trans. of IEICE, Vol. J81-D-II (1998) 1132-1140 296, 298 [5] Kawaguchi, E., Eason, R. O.: Principle and applications of BPCS-steganography. Proc. of SPIE, Vol. 3528 (1998) 464-473 296 [6] Ouellette, R., Noda, H., Niimi, M., Kawaguchi, E.: Topological Ordered Color Table for BPCS Steganography Using Indexed Color Images. IPSJ Journal, Vol. 42 (2000) 110-113 296 [7] Kusatsu, I., Niimi, M., Noda, H., Kawaguchi, E.: A Large Capacity Steganography Using Acoustic Dummy Data. Technical Report of IEICE, EA98-69-78 (1998) 27-32 296 [8] Kataoka, T., Tanaka, K., Nakamura, Y., Matsui, K.: Embedding a Document into Color Picture Data under Adaptive Discrete Cosine Transform Coding. Trans. of IEICE, Vol. J72-B-I (1989) 1210-1216 296 [9] Kobayashi, H., Noguchi, Y., Kiya, H.: A Method of Embedding Binary Data into JPEG Bitstreams. Trans. of IEICE, Vol. J83-D-II (2000) 1469-1476 296
Bit-Plane Decomposition Steganography
309
[10] Chung, K. L., Shen, C. H., Chang, L. C.: A Novel SVD- and VQ-based Image Hiding Scheme. Pattern Recognition Letters, Vol. 22 (2001) 1051-1058 296 [11] Rabbani, M., Joshi R.: An Overview of JPEG 2000 Still Image Compression Standard. Signal Processing: Image Communication, Vol. 17 (2002) 3-48 297, 299 [12] Skodras, A., Christopoulis, C., Ebrahimi, T.: The JPEG 2000 Still Image Compression Standard. IEEE Signal Process. Magazine, Vol. 18 (2001) 36-58 297, 299 [13] Taubman, D.: High Performance Scalable Image Compression with EBCOT. IEEE Trans. Image Process., Vol. 9 (2000) 1158-1170 299 [14] Shapiro, J. M.: Embedded Image Coding Using Zerotrees of Wavelet Coefficients. IEEE Trans. Signal Process., Vol. 41 (1993) 3445-3462 299 [15] Said, A., Pearlman, W. A.: A New, Fast, and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees. IEEE Trans. Circuits and Systems for Video Technology, Vol. 6 (1996) 243-250 299 [16] http://jj2000.epfl.ch/index.html 302