• 沒有找到結果。

Packet-Level Naïve JPEG2000 Information Hiding Using Redundant Packet Insertion Technique

N/A
N/A
Protected

Academic year: 2021

Share "Packet-Level Naïve JPEG2000 Information Hiding Using Redundant Packet Insertion Technique"

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)

Packet-Level Naïve JPEG2000 Information Hiding Using Redundant

Packet Insertion Technique

Chiang-Lung Liu, Chien-Chung Lee, and Shih-Wei Lin

Department of Electrical and Electronic Engineering

Chung Cheng Institute of Technology

National Defense University

Tahsi, Taoyuan 33509, Taiwan, ROC

E-mail: chianglung.liu@gmail.com

Abstract

-Naïve information hiding embeds

information data in cover carrier for practical applications such as error correction or image authentication. The positions the information data resides in are not necessarily kept secret. Direct insertion of information data into JPEG2000 codestream can effectively reduce the processing time of information embedding and extraction. However, it may also result in decoding failure for a standard JPEG2000 image viewer. In this paper, we propose a packet-level naïve JPEG2000 information hiding method that uses a redundant packet insertion technique to solve these problems simultaneously. Experimental results show that the full or truncated information-embedded codestream can be correctly decoded by several JPEG2000 Part-1 compliant decoders. That is, the proposed method can meet both the syntax compliance and scalability requirements. Moreover, because the proposed information embedding and extraction processes are performed in packet level, very few decoding operations are involved in the proposed method. That is, the proposed method can meet the simplicity requirement. Therefore, the proposed naïve JPEG2000 information hiding method is very effective and practical for various JPEG2000 applications.

Keywords: JPEG2000, naïve information hiding, redundant packet insertion, syntax compliant, scalable.

1. Introduction

Information hiding is a technique that can hide secret information into cover carriers for various applications. There have been different kinds of information hiding methods [1] proposed in the literature. Among them, digital images may be the

most popular cover carriers because they can be easily accessed on the Internet. JPEG2000 [2-4] is the latest standard for still image compression and provides excellent performance under low-bit-rate compression. Therefore, JPEG2000 is fast becoming the solution of choice for modern multimedia applications. According to the types of application, JPEG2000 information hiding techniques can be broadly divided into two categories: steganography [5-12] and digital watermarking [13-16].

Steganography is referred to as covered writing that embeds secret information in innocuous-looking cover carriers for covert communication. In this type of application, the positions of the cover carrier the secret information resides in should be only shared by the communication parties. For robust digital watermarking, the information (called watermark) is embedded in the protected image to be a proof of ownership. The embedded watermark should be robust enough to resist various kinds of image processing operations. On the other hand, fragile watermarks are embedded to detect any modifications to the protect images.

Recently, the information hiding concept has been adopted by several JPEG2000 related applications to convey the required information between the sender and receiver. In these applications, the positions the information data resides in are not necessarily kept secret. For example, error correction codes [17] can be embedded in the JPEG2000 frame to recover the corrupted data resulted from the transmission error. For the application of image authentication, the encrypted hash code can be embedded into JPEG2000 codestream for verifying the integrity of the protected image [18]. We call this kind of applications the naïve information hiding. Intuitively, most of the steganographic methods can be used for naïve information hiding. However, because the methods used for secret

(2)

communication aim at hiding the existence of secret information, the payload provided by these methods is quite limited. Moreover, to avoid being detected by steganalytical detectors, most of JPEG2000 steganography embeds the secret information in discrete wavelet transform (DWT) domain. It means that the information extractor should reverse most of the encoding processes to retrieve the embedded information. It may not be practical for naïve information hiding of time demand such as error correction of video stream. One of the solutions to solve this problem is to directly embed the information data into the JPEG2000 codesteam. However, direct insertion of information data in a JPEG2000 codestream may break the format of the codestream and result in decoding failure for standard JPEG2000 image viewer. It means that the information data embedded JPEG2000 codestream should be still decoded by JPEG2000 Part-1 compliant decoder. In this paper, this is referred to as syntax

compliance requirement. In practical applications,

JPEG2000 codestreams may be truncated to meet lower-bit-rate requirement. That is, the information data embedded in JPEG2000 codestream should survive the truncation operation. This is an important JPEG2000 feature and is referred to as

scalability requirement in this paper. According to

the description provided above, we conclude that a naïve JPEG2000 information hiding method should possess the following properties:

(1) Syntax compliance: the information embedded codestream should be correctly decoded by any JPEG2000 Part-1 compliant decoder without causing decoding failure.

(2) Scalability: the information embedded codestream can be directly truncated for lower-bit-rate applications.

(3) Simplicity: the information hiding method should be simple and effective so that the embedded information can be easily accessed by the communication party.

In this paper, we propose a naïve JPEG2000 information hiding method to meet these requirements simultaneously. The proposed method uses a redundant packet insertion (RPI) technique to elegantly insert information data into the JPEG2000 codestream. More specifically, the information data are packed as several redundant packets which are further embedded right behind the selected packet(s). Because these redundant packets will be skipped in the decoding process, the information embedded codestream can be correctly decoded by a JPEG2000 Part-1 compliant decoder. That is, the proposed method can meet the syntax compliance requirement. It

should be noted that, to our knowledge, the proposed RPI technique is the first packet-level information hiding technique that can achieve this purpose. To meet the scalability requirement, the redundant packets can be inserted in the significant part of the codestream to avoid being truncated even in a very low-bit-rate application. In Section 3, we will show that the proposed RPI technique is simple enough to meet the simplicity requirement. To completely describe the proposed naïve information hiding method, the rest of this paper is organized as follows. In Section 2, we briefly introduce the JPEG2000 coding scheme. The internal structure of JPEG2000 codestream is then concisely described. In Section 3, the proposed information embedding and extraction processes is first detailed, followed by an example of the proposed RPI technique. Several experimental results are demonstrated in Section 4 to show the effectiveness of the proposed method. Section 5 concludes this work.

2. Overview of the JPEG2000 coding

scheme

JPEG2000 refers to all parts of the standard. Part 1 (the core coding system) is now published as an International Standard. Parts 2 - 12, except Part 7, are complete or nearly complete. In this paper, we focus on the introduction of the first part of the standard. The overview of the JPEG2000 coding scheme in this section is restricted to application of the proposed RPI technique, especially the format of JPEG2000 codestream. Interested readers may refer to [2-4] for details of JPEG2000.

JPEG2000 is a wavelet-based image coding standard. In JPEG2000, an image can be partitioned into smaller rectangular regions called tiles. Each tile is encoded independently as through they were entirely distinct images and can be divided into several color components. Each tile-component can be further decomposed into different resolution-levels using a 2-dimension DWT. Applying the DWT continuously on each lowest frequency sub-band (usually referred to as LL sub-band) generates a series of sub-bands belonging to different transform levels.

After wavelet decomposition, each sub-band is divided into rectangular blocks called precincts. Each precinct is further divided into smaller blocks called code-blocks. Each code-block is individually quantized and entropy-encoded to generate a bit-stream which consists of a number of bit-plane coding passes. All the data assembled during a coding pass in a tile forms a layer which

(3)

represents an image quality increment. Within the precinct, all the spatially consistent code-blocks are grouped together into a packet.

A JPEG2000 codestream is composed of a main header and a set of packets. Figure 1 shows the structure of a JPEG2000 codestream. The main header stores the information for decoding the codestream. Packets are the fundamental building blocks in JPEG2000 codestream. A packet comprises a packet header and the compressed bit-stream from code-blocks belonging to a specific component, resolution level, precinct, and layer. The order in which packets appear in the codestream is called the progression order. JPEG2000 supports progression in four dimensions: layer (L), resolution level (R), precinct (P), and component (C). That is, the packets in the codestream are arranged according to the selected progression order so that the image quality can be constructed in the same order. JPEG2000 supports five progression orders: LRCP, RLCP, RPCL, PCRL, and CPRL.

JPEG2000 codestream

Main header

Packet 1 Packet 2 Packet n

Packet header Packet body Figure 1. Structure of JPEG2000 codestream

3. The proposed method

The proposed naïve information hiding method is performed in the packet level and comprises information embedding and extraction stages. 3.1. Information embedding

The proposed naïve information hiding method embeds information data right behind the selected packet(s) in JPEG2000 codestream. However, direct insertion of the information data in a JPEG2000 codestream may break the format of the codestream and result in decoding failure. The proposed method uses the redundant packet insertion (RPI) technique to solve this problem. In this section, we first introduce the concept of the RPI. Detailed description of the proposed information embedding process is then followed.

JPEG2000 uses the first bit of the packet header to indicate whether the packet contains data or not. If the first bit of the packet header is 1, the packet is non-empty and the other bits of the packet

represent the real data and will be processed in the decoding process. On the other hand, if the first bit of the packet header is 0, the packet is an empty packet. In this case, the packet is considered as a one-byte packet and will be skipped in the decoding stage. In this paper, this kind of packets is specially referred to as zero packets. The proposed RPI technique uses zero packets to embed the information data. More specifically, the information data is first partitioned into 7-bit information blocks. Each information block is then stuffed into the 7 least significant bits (LSBs) of a zero packet. In this paper, we call the zero packets stuffed with information bits the information packets, and the zero packets stuffed with 0’s the empty packets.

For JPEG2000 codestream, a packet can be identified by four factors: component (C), precinct (P), resolution level (R), and layer (L). Once a JPEG2000 codestream is generated, only the layer factor can be changed without causing a decoding failure. The proposed RPI technique takes advantages of this property to insert information packets and some necessary empty packets right behind the selected packet(s) as if the codestream has originally been encoded with such many layers.

Figure 2 shows the concept of the proposed information embedding process. The detailed steps of the proposed information insertion process are as follows:

Step 1. Select n packets from the codestream to be attached with information packets. Step 2. Let NM denote the number of bits of the

information data. Partition the information data into NI 7-bit information

blocks, i.e.,

NI = ⎡NM / 7⎤. (1)

Step 3. Divide NI information blocks into n

information sections and calculate the number of information blocks, NS, for

each information section according to the following formula:

NS = ⎡NI / n⎤, (2)

where ⎡x⎤ rounds x to the nearest integer towards infinity.

Step 4. Create n×NS zero packets. Replace the 7

LSBs of the first NI zero packets with the

corresponding information block and leave the 7 LSBs of the other zero packets empty. That is, we create n information groups each with NS information packets.

Step 5. Determine the progression order of the original codestream by decoding the main header. If the progression order is LRCP, Step 6 is performed. Otherwise, if the

(4)

progression order is RLCP, Step 7 is performed. Otherwise, Step 8 is performed.

Step 6. (Redundant packet insertion for progression order LRCP)

Step 6.1. Perform the following calculations:

q = ⎡NS / (NR × NC × NP)⎤, (3)

r = MOD(NS, NR × NC × NP), (4)

where NR, NC, and NP denote respectively

the number of resolution levels, the number of components, and the number of precincts, and MOD(x,y) operation takes the remainder of x/y.

Step 6.2. If r is 0, attach NS information packets of

ith information group to the end of ith

selected packet and NS empty packets to

the end of each unselected packet, where 1 ≤ i ≤ n. Otherwise, attach NS

information packets of ith information group and NR×NC×NP–r empty packets to

the end of ith selected packet and

q×NR×NC×NP empty packets to the end of

each unselected packet, where 1 ≤ i ≤ n. Step 6.3. Modify the number of layer in the main

header with q N N N N N NL′ = L+ L× R× C× P× , (4) where NL and L denote the original and the modified number of layer, respectively.

N ′

Step 7. (Redundant packet insertion for progression order RLCP)

Step 7.1. Perform the following calculations:

q = ⎡NS / (NC × NP)⎤, (5)

r = MOD(NS, NC × NP), (6)

where NC and NP denote respectively the

number of components and the number of precincts, and MOD(x,y) operation takes the remainder of x/y.

Step 7.2. If r is 0, attach NS information packets of

ith information group to the end of ith

selected packet and NS empty packets to

the end of each unselected packet, where 1 ≤ i ≤ n. Otherwise, attach NS

information packets of ith information group and NC×NP–r empty packets to the

end of ith selected packet and q×NC×NP

empty packets to the end of each unselected packet, where 1 ≤ i ≤ n.

Step 7.3. Modify the number of layer in the main header with q N N N N NL = L+ L× C× P×

,

(7) where NL and denote the original

and the modified number of layer, respectively.

L

N ′

Step 8. (Redundant packet insertion for progression orders RPCL, PCRL, and CPRL)

Step 8.1. Attach NS information packets of ith

information group to the end of ith selected packet and NS empty packets to

the end of each unselected packet, where 1 ≤ i ≤ n.

Step 8.2. Modify the number of layer in the main header with S L L L N N N N′ = + ×

,

(8) where NL and N ′L denote the original

and the modified number of layer, respectively. 0 0 0 0 00 Information data Information packets

Codestream Selected packet

Empty packets 7-bit information block

Unselected packet

Empty packets

Figure 2. Concept of the proposed information embedding process

3.2. Information extraction

The way to extract the information data is very simple and straightforward. Figure 3 shows the concept of the proposed information extraction process. The information packets are first extracted from the back of the selected packet(s). Each 7-bit information block is then extracted from the corresponding information packet and attached to the former information block to form the final information data.

Codestream Selected packet

0 0 0 0 00 Information packets Information data

7-bit information block

Unselected packet

Figure 3. Concept of the proposed information extraction process

3.3. Example of redundant packet insertion This section presents an example of the proposed redundant packet insertion technique

(5)

using various progression orders. Assume that the information data is of 1024 bits and the first two packets are selected to be attached with the information data. Therefore, the information data can be partitioned into ⎡1024/7⎤=147 information blocks which can be further portioned into 2 information sections each with ⎡147/2⎤=74 information blocks. Therefore, there are totally 74×2=148 information blocks that have been generated to be stuffed into 148 zero packets to form 148 information packets. The first to 74th information packets belongs to first information group and the 75th to last information packets belongs to the second group.

Assume that an image is encoded with 3 layers (i.e., NL=3), 2 resolution levels (i.e., NR=2), 1

component (i.e., NC=1), and 2 precincts (i.e., NP=2).

For progression order LRCP, both the 74 information packets can be attached to the end of the first two packets. The insertion of information packets will virtually add ⎡74/(2×1×2)⎤=19 layers to the original codestream. Because MOD(74,2×1×2)=2 is not 0, additional 2×1×2–2=2 empty packets should be attached to the end of information packets to make up the required number of packets of 19 layers. To maintain the synchronization of the packets, there are totally 19×(2×1×2)=76 empty packets that should be attached to the end of each unselected packet. Moreover, the number of layer recorded in the main header should be changed to 3+3×2×1×2×19=231. Figure 4 shows the structure of the original codestream and the information-embedded codestream. Packet 1 L1R1C1P1 Main header NL = 3 Packet 2 L1R1C1P2 Packet 3 L1R2C1P1 ... Original codestream 74 Information packets 2 Empty packets Packet 1 L1R1C1P1 Main header NL = 231 Packet 78 L20R1C1P2 Packet 155 L39R2C1P1 ... Information-embedded codestream 76 Empty packets 74 Information packets 2 Empty packets Selected packets Unselected packets

Figure 4. Example of the proposed redundant packet insertion for progression order LRCP

4. Experimental results

Various experiments have been performed to

demonstrate the effectiveness of the proposed naïve information hiding method. A standard 256×256 gray image, Lena, was taken as the original image and was divided into 1 tile and 1 component. Each component was decomposed into 3-level DWT coefficients through our experiments. The DWT coefficients were divided into 64×64 code-blocks which was then encoded to form a JPEG2000 codestream. We also randomly generated a 1024-bit message as the information data.

4.1. Syntax compliance test

To show the proposed RPI technique can meet the syntax compliance requirement, we first generated five standard JPEG2000 codestreams for the original image using five different progression orders respectively. The information data was then inserted into each codestream using the proposed RPI technique. It should be noted that there were 4 selected packets in each codestream used to be attached with information packets. Several JPEG2000 compliant decoders, including IrfanView 3.91 [19], JJ2000 [20], PhotoImpact 10 [21], and ACDSee 7.0 [22], were used to decode the information-embedded codestreams. Experimental results show that all the information-embedded codestreams can be successfully decoded by these image viewers. It means that the proposed RPI technique can meet the syntax compliance requirement.

4.2. Scalability test

To show the proposed RPI technique can meet the scalability requirement, a JPEG2000 codestream was generated with the progression order LRCP and then inserted with information data using the proposed PRI technique. The information-embedded codestream was then truncated with various lower bit-rates and then decoded using different JPEG2000 Part-1 compliant decoders. Experimental results show that all the truncated codestreams can be successfully decoded. That is, the proposed RPI technique can meet the scalability requirement.

5. Conclusions

In this paper, we propose a packet-level naïve JPEG2000 information hiding method which allows the information data to be directly inserted into a JPEG2000 codestream. The information data is first partitioned into 7-bit information blocks and then stuffed into several zero packets to form information packets. An RPI technique is also proposed to elegantly attach the information

(6)

packets and some empty packets to the end of the selected packet(s).

Experimental results show that all the information-embedded codestream can be correctly decoded by several JPEG2000 Part-1 compliant decoders. It means that the proposed method can meet the syntax compliance requirement. Experimental results also show that the information-embedded codestream can also be correctly decoded after truncating some packets. That is, the proposed method can also meet the scalability requirement.

It is worth mentioning that the operations of information embedding and extraction are performed at packet level. It means that very few decoding operations are involved in the proposed method. That is, the proposed method can meet the simplicity requirement for naïve information hiding. With these advantages, the proposed naïve JPEG2000 information hiding method can be used to embed useful information for practical JPEG2000 applications.

Acknowledgements

This work was supported partially by the National Science Council of Republic of China under grant NSC 97-2221-E-606-017.

References

[1] S. Katzenbeisser and F.A.P. Petitcolas, Information hiding techniques for steganography and digital watermarking, Artech House, Boston, 2000. [2] D.S. Taubman and M.W. Marcellin, JPEG2000 -

Image Compression Fundamentals, Standards and Practice, Kluwer Academic Publishers, Boston, 2001.

[3] M. Rabbani and R. Joshi, “An overview of the JPEG 2000 still image compression standard,” Signal Processing: Image Communication, vol. 17, no. 1, pp. 3-48, 2002.

[4] Information technology - JPEG 2000 image coding system, ISO/IEC International Standard 15444-1, ITU Recommendation T.00, 2000.

[5] H. Noda, J. Spaulding, M.N. Shirazi, and E. Kawaguch, “Application of bit-plane decomposition steganography to JPEG2000 encoded images,” Proceedings of the 2002 IEEE International Conference on Image Processing, vol. 2, pp. II-909 - II-912, Sept. 2002.

[6] H. Noda, J. Spaulding, M.N. Shirazi, and E. Kawaguchi, “Application of bit-plane decomposition steganography to JPEG2000 encoded images,” IEEE Signal Processing Letters, vol. 9, no. 12, pp. 410-413, Dec. 2002.

[7] P.-C. Su and C.-C. J. Kuo, “Steganography in JPEG2000 compressed images,” IEEE

Transactions on Consumer Electronics, vol. 49, no. 4, pp. 824-832, Nov. 2003.

[8] J. Chen, T.-S. Chen, and C.-Y. Cheng, “A new scheme of image data hiding based on EBCOT of JPEG2000 lossy compression,” Proceedings of the 2004 IEEE International Conference on Networking, Sensing and Control, vol. 2, pp. 990-995, 2004.

[9] H. Noda, T. Furuta, M. Niimi, and E. Kawaguchi, “Application of BPCS steganography to wavelet compressed video,” Proceedings of the 2004 IEEE International Conference on Image Processing, vol. 4, pp. 2147-2150, Oct. 2004.

[10] W. Liu, “Data hiding in JPEG 2000 code streams,” Proceedings of the 2004 IEEE International Conference on Image Processing, Vol. 3, Oct. 2004, pp. 1557 – 1560.

[11] G. Xuan, D. Jiang, H. Ji, Y.Q. Shi, D. Zou, L. Liu, H. Liu, and W. Bai, “Identity verification system using data hiding and fingerprint recognition,” Proceedings of the 2005 IEEE 7th Workshop on Multimedia Signal Processing, pp. 1-4, Oct. 2005. [12] Z. Liang, “Wavelet domain steganography for

JPEG2000,” Proceedings of the 2006 IEEE International Conference on Communications, Circuits and Systems, vol. 1, pp. 40-43, Jun. 2006. [13] R. Grosbois and T. Ebrahimi, “Watermarking in the

JPEG 2000 domain,” Proceedings of the 2001 IEEE Fourth Workshop on Multimedia Signal Processing, pp. 339-344, Oct. 2001.

[14] P.-C. Su, H.-j. M. Wang, and C.-C. J. Kuo, “An integrated approach to image watermarking and JPEG-2000 compression,” Journal of VLSI Signal Processing, vol. 27, pp. 35-53, 2001.

[15] K. Li and X.-P. Zhang, “An image watermarking method integrating with JPEG-2000 still image compression standard,” Proceedings of the 2003 IEEE Canadian Conference on Electrical and Computer Engineering, vol. 3, pp. 2051-2054, May 2003.

[16] A. Makhloufi, A.O. Zaid, R. Bouallegue, and A. Bouallegue, “Watermark integration to wavelet image coding scheme,” Proceedings of the Eighth IEEE International Symposium on Multimedia, , pp. 685-689, Dec. 2006.

[17] M. Kurosaki, K. Munadi, and H. Kiya, “Error correction using data hiding technique for JPEG2000 images,” Proceedings of the 2003 IEEE International Conference on Image Processing, vol. 3, Sept. pp. III-473-III-46, 2003.

[18] R. Grosbois, P. Gerbelot, and T. Ebrahimi, “Authentication and access control in the JPEG 2000 compressed domain,” Proceedings of the SPIE 46th Annual Meeting, Applications of Digital Image Processing XXIV 4472, pp. 95–104, 2001. [19] IrfanView, http://www.irfanview.com/

[20] JJ2000, http://jj2000.epfl.ch/

[21] PhotoImpact 10, http://www.ulead.com.tw/ [22] ACDSee 7.0, http://www.acdsee.com/.

數據

Figure 1. Structure of JPEG2000  codestream
Figure 2. Concept of the proposed  information embedding process
Figure 4. Example of the proposed  redundant packet insertion for progression  order LRCP

參考文獻

相關文件

 Sender Report: used by active session participants to relay transmission and reception statistics.  Receiver Report: used to send reception statistics from those

Data on visitor arrivals are provided by the Public Security Police Force on a monthly basis, while information on package tour visitors and outbound Macao residents using services

An information literate person is able to recognise that information processing skills and freedom of information access are pivotal to sustaining the development of a

H..  In contrast to the two traditional mechanisms which all involve evanescent waves, this mechanism employs propagating waves.  This mechanism features high transmission and

Official Statistics --- Reproduction of these data is allowed provided the source is quoted.. Further information can be obtained from the Documentation and Information Centre

– S+U can also preserve annotations of synthetic images – Refined images really help improving the testing result – Generate > 1 images for each synthetic

Remote root compromise Web server defacement Guessing/cracking passwords Copying databases containing credit card numbers Viewing sensitive data without authorization Running a

Since the FP-tree reduces the number of database scans and uses less memory to represent the necessary information, many frequent pattern mining algorithms are based on its