A Robust Oblivious Watermark System base on

0 downloads 0 Views 764KB Size Report
A Robust Oblivious Watermark System base on. Hybrid Error Correct Code. C. M. Kung. Department of Information Technology and Communication. Shin-Chien ...
232

JOURNAL OF MULTIMEDIA, VOL. 5, NO. 3, JUNE 2010

A Robust Oblivious Watermark System base on Hybrid Error Correct Code C. M. Kung Department of Information Technology and Communication Shin-Chien University Kaohsiung, Taiwan, R.O.C. Email:[email protected] Abstract - Due to the rapid development of computer networks and data communication technologies, communication using digital media (text, picture, sound, video, etc.) has become more and more frequent. Digital media can be readily duplicated, modified, and transmitted, making them easy for people to create, manipulate, and enjoy. Thus the protection of the intellectual property rights of digital images becomes an important issue. Watermark is an effective and popular technique for discouraging illegal copying and distribution of copyrighted digital image information. In this paper, we proposed the method for robust watermarking. First, the robust watermarking scheme performed in the frequency domain. It can be used to prove the ownership. Second, we can provide a high degree of robustness against JPEG compression attacks by the source coding, and protect the transmit information by channel coding. We adopt the data distribution idea to avoid the continue information attack, because it will destroy the entire error correction scheme. Experimental results are also presented to demonstrate the validity and robustness of the approach. Index Terms - Watermark, Robust, ECC, RS code, Golay code

I.

INTRODUCTION

The digital data can be easily reproduced, such that copyright protection becomes an imperative requirement to prevent piracy. To prevent data piracy and plagiarism, digital watermarking has been proposed. There is an urgent need for copyright protection against unauthorized data reproduction. The conventional copyright protection technologies such as enciphering, authentication, and pulse marking mechanisms that are employed for digital content applications are handicapped by a common drawback. That is, as long as the protection mechanism has been deciphered, the illegal reproduction of the copyrighted material can no longer be prevented such that using single enciphering mechanism for the copyright protection is not sufficient. Digital watermarking is a set of information which is embedded in the data robustly and imperceptibly, and it could be applied on copyright protection and authentication. A number of methods have been proposed

© 2010 ACADEMY PUBLISHER doi:10.4304/jmm.5.3.232-239

in recent years to embed watermarks in images for various applications. The watermark is an owner–designed logo or trademark, which can be hidden in the owner’s image products and makes claiming legitimate usage, authentication of authorized users, and providing extra information for digital contents become possible. [1, 2]. When the watermarked images are distributed via public channels such as the internet, it can discourage unauthorized copying. This is because the owner can prove his ownership by extracting the watermark using open methods and some security keys. Recently, A variety of digital watermarking schemes have been reported as a means to provide copyright protection of multimedia data against unauthorized uses [3, 4]. In most cases the research was focused on un-oblivious watermarking [5, 6, 7]. And most of them are based on ideas known from spread spectrum communication. In practice, spread spectrum watermarks in their most simple form are vulnerable to a variety of attacks and modifications. To improve the robustness of the spread spectrum watermarking, several methods have been proposed, exploiting results and concepts from digital communication theory. For instance, in [8-16], the authors adopt an error control coding (ECC) technique to generate

the watermark, which in turn makes it possible to correct and detect the changes from the extracted watermarks. In [10], ECC techniques, such as binary BCH and convolution codes, are used advantageously for watermarking. The Reed Solomon code and Hamming code are the most convincing error correction code. In [13], the authors show that the (15, 7)-RS code is the most convincing error correction code. Most of the research is based on the grayscale raw image. II.

LOGISTIC MAP FUNCTION

Before the binary watermark is embedded, it is first scrambled such that the amount of 0 and 1 is nearly the same. This scrambling is performed through an 1-dim map given in [17], which is the logistic map from the unit interval [0,1] into [0,1] defined by

f µ ( x) = µ x (1 − x)

(1)

JOURNAL OF MULTIMEDIA, VOL. 5, NO. 3, JUNE 2010

233

In Eq. (1), the parameter µ can be chosen with 0 ≤ µ ≤ 4 . This map constitutes a discrete-time dynamic system in the sense that the map generates a semi-group through the operation of composition of functions. The state evolution is described by xn = f µ ( xn−1 ) and

would serve the receiver for correct interpretations when the channel garbles some of our bits. The idea to protect our data in a digital manner was quite revolutionary and enabled the development of many advance communication systems such as cellular modems.

is denoted as (n) xn = µ xn−1 (1 − xn−1 ) = f µ ( x0 )

C. Golay Code Algorithm Error Correcting codes were discovered in mid-20th century. A systematic generator matrix for the (24,12,8) G24 is a binary Golay code (24,12,8) is a code of length 24, dimension 12, and minimal distance 8 over the binary field. In Figure 1, G24 is the 12×24 matrix, I12 is the 12×12 identity matrix and B is the 12×12 matrix. By the use of such a generator matrix mentioned previously, the binary Golay codeword Cg is constructed by Cg=m ×G24, where m is the message vector which is a 1 × 12 matrix.

where



(n)

= f µ o f µ o f µ ..... o f µ 1 4 44 2 4 4 43

(2)

o is

and

n

function composition. The preceding eight bits below the decimal point of the binary representation of xn, n=1,2,… are extracted to constitute the chaotic binary sequence c . Let xn = (0.xn (1) xn ( 2)... xn (8) xn (9)...)2 . The relations of the binary sequence c(j), j=1,2,…and xn can be represented by xn = (0.x n (1) xn ( 2)... xn (8) x n (9)...)2

= (0.c (8n − 8)c (8n − 7)...c (8n − 1) x n (9)...)2 III.

.

ERROR CORRECTING CODE

In communication, it is well known that the error correcting code (ECC) can be utilized to correct the distortion of transmitted information. The inserted watermark is regarded as transmitted information and encoded by ECC before insertion. We provided a high degree of robustness against JPEG compression attacks by source coding scheme. And against sharp and blur attacks by channel coding scheme in this paper. Recently, Lee et. al [14] used a RS encoder to generate all of error correcting codewords, such that the parity-check bits of these codewords can be regarded as a watermark. They showed that the watermark can be used to recover the damaged image. More recently, the researches are proposed two kinds of error correcting codes that are the repetition coding and the BCH coding. We presented an oblivious digital watermarking scheme which is robust to withstand the attacks of standard image processing.

A. Source Coding This component converts analog signal into bit stream. The goal is to produce bit stream that carries maximum information, or entropy, that allows reconstruction of the original analog signal with minimal distortion. Information theory's result shows that maximum bit stream entropy achieved by a uniform independent identically distribution (iid). That means that each bit has a 50% probability to be 0 or 1, with no correlation to the other bits in the stream. Well designed source encoders produce such bit streams. B. Channel Coding This component converts bit stream into stream of messages, or source symbols. As we already saw, the channel may cause the receiver to interpret wrong the transmitted source symbols. This component offers more protection for our information, which represented by the bit stream, by adding redundancy to the bit stream and defining source symbols. This additional redundancy

© 2010 ACADEMY PUBLISHER

Figure 1. A Systematic Generator Matrix for the (24,12,8)

Given the Golay generator matrix G24, the decoding algorithm for a (24,12,8) Golay code is illustrated and summarized the following algorithm:

Algorithm: Step 1. Step 2.

Calculate S = G24 × r T Calculate w ( S ) , If w ( S ) ≤ 3 , then set

e = ( S T ,0) and go to Step 8. Step 3.

Calculate w ( S + Ci ) for some column vector Ci , If w ( S + Ci ) ≤ 2 , then

e = (( S + Ci )T , yi ) and go to Step 8. Step 4. Step 5.

Calculate S ′ = BT S . Calculate w ( S ′) , If w ( S ′) ≤ 3 , then set

e = (0, ( S ′)T ) and go to Step 8. Step 6.

Calculate

w ( S ′ + RiT ) for some row

vector Ri , If w ( S ′ + RiT ) ≤ 2 , then set Step 7. Step 8.

e = ( xi , ( S ′)T + Ri ) and go to Step 8. r is corrupted by an uncorrectable error pattern (i.e., w (e) ≥ 4 ) and STOP. Set c = r + e and STOP.

D. Reed Solomon Code Reed-Solomon code is based on Galois Field, which is defined by a generator polynomial and a primitive element. Many sets of polynomials and primitive elements can be used to correct errors. The encoder and decoder

234

JOURNAL OF MULTIMEDIA, VOL. 5, NO. 3, JUNE 2010

must use the same set, which is user-defined ReedSolomon code. The maximum length of codeword for Reed-Solomon code is determined by the size of the Galois field. If there are 2m elements in the field, the maximum length of codeword will be 2m-1, where m is the number of bits for each symbol. Such a field is referred as GF(2m) . ReedSolomon code is a non-binary multi-symbol code. It means that it operates based on blocks of m-bit symbols from GF(2m). A Reed-Solomon code is specified as (n,k) RS with m -bit symbols over GF(2m) with efficiency being k/n. The encoder takes k symbols from the original message sequence as an input and adds n − k parity check symbols to obtain the codeword with n symbols in length, where n=2m-1 . The term d=n-k+1 is the minimum distance of this RS code, which ensures the maximum correctability of t symbols, where t = (d − 1 − s ) / 2 . RS decoder takes a block of n symbols from the received sequence as an input and generates corrected k symbols of m -bit message if s + 2v ≤ d − 1 . Here s and v denote the number of erasures and errors, respectively. Errors have unknown locations and unknown amplitudes while erasures have known error locations. The number of erasures can be corrected is twice the number of errors. The block diagram of typical error correcting codec is depicted in Figure 2.

where α is a primitive element in GF (2 m ) . Let m(x) be a message with k symbols length as follows: m( x) = mk −1 x k −1 + mk −2 x k −2 + ... + m1 x1 + m0 k −1

= ∑ mi x i , mi ∈ GF (2 m ) i =0

The codeword c( x) = cn−1 x n−1 + mn−2 x n−2 + ... + c1 x1 + c0 n−1

= ∑ ci x i , ci ∈ GF (2m ) i =0

is computed from m(x) and g (x) by

c( x) = x n−k m( x) + s ( x) = Qm ( x ) g ( x) = x n−k m( x) + [ x n−k m( x) mod g ( x)] where [ x n− k m( x) mod g ( x)] is referred to as the parity check symbols s (x)

Figure 3. Encoder Process of RS Codes

2) Decoder of RS Codes

The major purpose of RS decoder is as far as possible to correct any error and erasure, which occur over transmission channel to be added on codeword, which are c (x) r (x) m(x) c′(x) message sequence after encoding. The decoder of (n, k ) RS code over takes a block (as a received codeword) with n symbols in length from the Figure 2. Block Diagram of Error Correcting Codec received sequence as an input and outputs a corrected codeword with n symbols length, where n=2m-1. Then 1) Encoder of RS Codes takes k symbols from the corrected codeword out. It is known that the k symbols will equal to the original m m For (n,k) RS codes over GF(2 ) with n=2 -1, the message exactly if no any errata is added or the decoding encoder maps the message block with k symbols to the is successful completely when the errata number to occur codeword block with n symbols. Figure 3 shows the over the transmission channel satisfying s + 2v ≤ d − 1 , encoder process of Reed-Solomon codes. The minimum where s is the number of erasures and the v is the number distance d of this RS code is related to n and k by of errors occur. d = n − k + 1 . It is also known that the number of parity Let C be a (n,k) RS code with minimum distance d check symbols is d -1 and the maximum number of errors over GF(2m), where n=2m-1 is the block length, k is the can be corrected is given by t = (d − 1 − s ) / 2 , where number of m-bit message symbols and d-1 is the number x  denotes the greatest integer less than or equal to x and of parity symbols. Now denote the codeword polynomial, the error polynomial, and the erasure polynomial by s is the number of erasures. c( x) = ∑in=−01 ci x i , e( x) = ∑in=−01 ei x i , and τ ( x) = ∑in=−01τ i x i , The basic principle of RS encoder is to find the parity check symbols which is the remainder computed by respectively. polynomial division of the term xn-km(x) being divided by Then the received polynomial can be expressed as a generator polynomial g(x), where m(x) denotes the r ( x) = ∑in=−01 ri x i = c( x) + e( x) + τ ( x) . The RS decoder is polynomial form of the message. utilized to compute the error polynomial e(x) and erasure The generator polynomial is defined as follows: 2t 2 t −1 1 0 polynomial τ (x) . Once these polynomials are found, the g ( x) = g 2t x + g 2 t −1 x + ... + g1 x + g 0 x 2t corrected codeword cˆ( x) can be obtained by subtracting j

e( x )

= ∑gjx j =0

= ( x − α 2t −1 )( x − α 2t −2 )...( x − α 1 )( x − α 0 ), g j ∈ GF (2 m )

© 2010 ACADEMY PUBLISHER

e(x) and τ (x) from the received polynomial r(x). Suppose that v errors and s erasures occur in the received word r(x)

JOURNAL OF MULTIMEDIA, VOL. 5, NO. 3, JUNE 2010

235

and assume that s + 2v ≤ d − 1 . Then, the maximum number of errors that can be corrected is t = (d − 1 − s ) / 2 , where x denotes the greatest integer less than or equal to x. The syndromes, which are computed from the received polynomial τ (x) can be expressed as

has been distributed into the bit stream. The system could rebuild the original image information by RS error correction mechanism. Figure 6 is the architecture of oblivious watermark system using hybrid error correct code. Digital watermark system used source coding and channel coding for robust watermarking.

S j = r (α j ) = c(α j ) + e(α j ) + τ (α j ) = e(α j ) + τ (α j ) v

s

i =1

k =1

= ∑ (Yi ⋅ X i j ) + ∑ (Wi ⋅ Z i j ), for 0 ≤ j ≤ d − 2

where α is a primitive element in GF(2m) and Yi, Xi, Wk and Zk are elements of GF(2m) . Yi and Xi are the ith unknown error value and unknown error location, respectively. Also, Wk and Zk are kth unknown error value and known error location, respectively. The syndrome polynomial has the form d −2

S ( x) = ∑ S j x j

(3)

j =0

Figure 4. Mapper Scheme

m

where Si ∈ GF (2 ) . If S(x)=0, then r(x) is a codeword and no further decoding is necessary. Otherwise, the RS decoder is needed to determine the error polynomial and erasure polynomial from the received polynomial r(x). Next, let ρ (x ) be the error locator polynomial with zeros at the inverse error locations, namely v

v

i =1

i =0

ρ ( x) = ∏ (1 + X i x) = ∑ ρ i x i

(4)

where ρi ∈ GF (2m ) , ρ0 = 1 , and deg{ρ ( x )} = v . Also, let σ (x) be the erasure locator polynomial with zeros at the inverse erasure locations. That is, s

s

j =1

j =0

σ ( x) = ∏ (1 + Z j x ) = ∑ σ j x j

(5)

where σ j ∈ GF (2 m ) , σ 0 = 1 , and deg{σ ( x)} = s . Finally, the errata locator polynomial Λ (x) is computed as s +v

Λ ( x ) = ρ ( x) ⋅ σ ( x ) = ∑ Λ i x i

(6)

Figure 5. Demapper and Error Corrected Scheme

i =0

where Λ i ∈ GF (2 m ) for 0 ≤ i ≤ s + v , Λ 0 = 1 , and

deg{Λ ( x)} = s + v . 3) Mapper and De-mapper Scheme In this paper, an innovative approach to enhance the robustness of the transmission using the mapper and error corrected scheme is developed. To resist attacks such as JPEG compression, highpass, lowpass and noise, so using mapper and de-mapper scheme is shown as Figure 4 and Figure 5. Thus it may avoid simultaneously reducing the same information. The mapper transmits the original image information from the vertical direction which orthogonal with the RS code as Figure 4. When the demapper receives the image stream, it recomposes these byte streams and obtains the original image information using the error correction procedure. The advantage of these scheme is that when the bite stream were attacked during the transmitting period. The original image information © 2010 ACADEMY PUBLISHER

Figure 6. The Architecture of Oblivious Watermark System using Hybrid Error Correct Code

236

JOURNAL OF MULTIMEDIA, VOL. 5, NO. 3, JUNE 2010

IV.

WATERMARK EMBEDING AND EXTRACTING SCHEME

The block diagram of watermark embedding scheme is given in Figure 7. The proposed watermarking scheme comprises the following nine steps: Step 1: Scramble Perform the scrambling operation on the watermark w to obtain ws by ws = w ⊕ c , where c is the chaotic binary sequence of size N2 given in Section II.

adapt the JPEG compression standard. The transformed blocks are sequentially labeled as Bk for 0 ≤ k < M 2 64 .

Step 6: Collect This step collects the middle frequency coefficients. For each 8 × 8 block Bk select 16 elements out of the middle frequency coefficients according to the positions. From experience, the middle frequency coefficients are given in Figure 8.

Step 2: Permutation Perform the permuting operation on the scrambled watermark ws to obtain wp by: wP ( x' , y ' ) = ws ( x, y ) where [x' y']T = TKα [x y]T (mod NP ) for 0 ≤ x, y < N , N P is some integer with N P ≥ N and α < ρ (K ) .

q0

q1

q2

q3

q4

q5

q6

q7

q8

q9

q10

q11

q12

q13

q14

q15

q(u, v)

Figure 8. The Selected Coefficients of Middle Frequency

Step 3: Golay Encode Use the Golay encoder to encode the watermark w p to obtain wg by wg = Golay ( w p ) Step 4: Bipolar Transform the watermark value using the bipolar function. The watermark value is defined in the bipolar form {-1,1}, namely,  1, if w g ( x , y ) = 1 wb ( x , y ) =  elsewhere  − 1,

The order of these elements is sorted by the values of quantization table. It can be easily seen from the quantization formula bq(u,v)=round(b(u,v)/q(u,v)) and dequantization formula b’(u,v)=bq(u,v) × q(u,v) that higher values of q(u,v) will produce more loss of b(u,v) at the position (u,v). Therefore, if the information is hidden in high frequency region which divide higher quantization values, it will be easily erased by JPEG attack. In order to resist the attack, we must embed the watermark into the important position in the host media. On the other hand, if it is hidden in the low frequency region, the host image will be damaged seriously. Thus, in the proposed scheme, the information is hidden in the middle frequency region which is selected according to the values of q (u, v ) as shown is Figure 8. Each entry is sequentially labeled as bk (l ) for 0 l